Adding Quagga to build
[apex.git] / build / rpm_specs / quagga.spec
1 # configure options
2 #
3 # Some can be overriden on rpmbuild commandline with:
4 # rpmbuild --define 'variable value'
5 #   (use any value, ie 1 for flag "with_XXXX" definitions)
6 #
7 # E.g. rpmbuild --define 'release_rev 02' may be useful if building
8 # rpms again and again on the same day, so the newer rpms can be installed.
9 # bumping the number each time.
10
11 ####################### Quagga configure options #########################
12 # with-feature options
13 %{!?with_snmp:                  %global with_snmp               1 }
14 %{!?with_vtysh:                 %global with_vtysh              1 }
15 %{!?with_tcp_zebra:             %global with_tcp_zebra          0 }
16 %{!?with_vtysh:                 %global with_vtysh              1 }
17 %{!?with_pam:                   %global with_pam                1 }
18 %{!?with_ospfclient:            %global with_ospfclient         1 }
19 %{!?with_ospfapi:               %global with_ospfapi            1 }
20 %{!?with_irdp:                  %global with_irdp               1 }
21 %{!?with_rtadv:                 %global with_rtadv              1 }
22 %{!?with_isisd:                 %global with_isisd              1 }
23 %{!?with_pimd:                  %global with_pimd               1 }
24 %{!?with_shared:                %global with_shared             1 }
25 %{!?with_multipath:             %global with_multipath          64 }
26 %{!?quagga_user:                %global quagga_user             quagga }
27 %{!?vty_group:                  %global vty_group               quaggavt }
28 %{!?with_fpm:                   %global with_fpm                0 }
29 %{!?with_watchquagga:           %global with_watchquagga        1 }
30
31 # path defines
32 %define         _sysconfdir     /etc/quagga
33 %define         zeb_src         %{_builddir}/%{name}-%{quaggaversion}
34 %define         zeb_rh_src      %{zeb_src}/redhat
35 %define         zeb_docs        %{zeb_src}/doc
36
37 # defines for configure
38 %define         _localstatedir  /var/run/quagga
39 ############################################################################
40
41 #### Version String tweak
42 # Remove invalid characters form version string and replace with _
43 %{expand: %%define rpmversion %(echo '1.1.0-dev' | tr [:blank:]- _ )}
44 %define         quaggaversion   1.1.0-dev
45
46 #### Check version of texi2html
47 # Old versions don't support "--number-footnotes" option.
48 %{expand: %%global texi2htmlversion %(rpm -q --qf '%%{VERSION}' texi2html | cut -d. -f1 )}
49
50 #### Check for systemd or init.d (upstart)
51 # Check for init.d (upstart) as used in CentOS 6 or systemd (ie CentOS 7)
52 %{expand: %%global initsystem %(if [[ `/sbin/init --version 2> /dev/null` =~ upstart ]]; then echo upstart; elif [[ `systemctl` =~ -\.mount ]]; then echo systemd; fi)}
53 #
54 # If init system is systemd, then always disable watchquagga
55 #
56 %if "%{initsystem}" == "systemd"
57         # Note: For systems with systemd, watchquagga will NOT be built. Systemd
58         # takes over the role of restarting crashed processes. Value will
59         # be overwritten with 0 below for systemd independent on the setting here
60         %global with_watchquagga 0
61 %endif
62
63 # if FPM is enabled, then enable tcp_zebra as well
64 #
65 %if %{with_fpm}
66         %global with_tcp_zebra  1
67 %endif
68
69 # misc internal defines
70 %{!?quagga_uid:         %define         quagga_uid      92 }
71 %{!?quagga_gid:         %define         quagga_gid      92 }
72 %{!?vty_gid:            %define         vty_gid         85 }
73
74 %define         daemon_list     zebra ripd ospfd bgpd
75
76 %define         daemonv6_list   ripngd ospf6d
77
78 %if %{with_isisd}
79 %define         daemon_isisd    isisd
80 %else
81 %define         daemon_isisd    ""
82 %endif
83
84 %if %{with_pimd}
85 %define         daemon_pimd     pimd
86 %else
87 %define         daemon_pimd     ""
88 %endif
89
90 %if %{with_watchquagga}
91 %define         daemon_watchquagga      watchquagga
92 %else
93 %define         daemon_watchquagga      ""
94 %endif
95
96 %define         all_daemons     %{daemon_list} %{daemonv6_list} %{daemon_isisd} %{daemon_pimd} %{daemon_watchquagga}
97
98 # allow build dir to be kept
99 %{!?keep_build:         %global         keep_build      0 }
100
101 #release sub-revision (the two digits after the CONFDATE)
102 %{!?release_rev:        %define         release_rev     01 }
103
104 Summary: Routing daemon
105 Name:                   quagga
106 Version:                %{rpmversion}
107 Release:                20170120%{release_rev}%{?dist}
108 License:                GPLv2+
109 Group:                  System Environment/Daemons
110 Source0:                quagga-1.1.0-dev.tar.gz
111 Source1:                bgpd.conf
112 URL:                    http://www.quagga.net
113 Requires:               ncurses
114 Requires(pre):  /sbin/install-info
115 Requires(preun): /sbin/install-info
116 Requires(post): /sbin/install-info
117 BuildRequires:  texi2html texinfo autoconf patch libcap-devel groff
118 %if %{with_snmp}
119 BuildRequires:  net-snmp-devel
120 Requires:               net-snmp
121 %endif
122 %if %{with_vtysh}
123 BuildRequires:  readline readline-devel ncurses ncurses-devel
124 Requires:               ncurses
125 %endif
126 %if %{with_pam}
127 BuildRequires:  pam-devel
128 Requires:               pam
129 %endif
130 %if "%{initsystem}" == "systemd"
131 BuildRequires:          systemd
132 Requires(post):         systemd
133 Requires(preun):        systemd
134 Requires(postun):       systemd
135 %else
136 # Initscripts > 5.60 is required for IPv6 support
137 Requires(pre):          initscripts >= 5.60
138 %endif
139 Provides:                       routingdaemon = %{version}-%{release}
140 BuildRoot:                      %{_tmppath}/%{name}-%{version}-root
141 Obsoletes:                      bird gated mrt zebra quagga-sysvinit
142
143 %description
144 Quagga is a free software that manages TCP/IP based routing
145 protocol. It takes multi-server and multi-thread approach to resolve
146 the current complexity of the Internet.
147
148 Quagga supports BGP4, OSPFv2, OSPFv3, ISIS, RIP, RIPng and PIM.
149
150 Quagga is intended to be used as a Route Server and a Route Reflector. It is
151 not a toolkit, it provides full routing power under a new architecture.
152 Quagga by design has a process for each protocol.
153
154 Quagga is a fork of GNU Zebra.
155
156 %package contrib
157 Summary: contrib tools for quagga
158 Group: System Environment/Daemons
159
160 %description contrib
161 Contributed/3rd party tools which may be of use with quagga.
162
163 %package devel
164 Summary: Header and object files for quagga development
165 Group: System Environment/Daemons
166 Requires: %{name} = %{version}-%{release}
167
168 %description devel
169 The quagga-devel package contains the header and object files neccessary for
170 developing OSPF-API and quagga applications.
171
172 %prep
173 %setup  -q -n quagga-%{quaggaversion}
174
175 %build
176
177 # For standard gcc verbosity, uncomment these lines:
178 #CFLAGS="%{optflags} -Wall -Wsign-compare -Wpointer-arith"
179 #CFLAGS="${CFLAGS} -Wbad-function-cast -Wwrite-strings"
180
181 # For ultra gcc verbosity, uncomment these lines also:
182 #CFLAGS="${CFLAGS} -W -Wcast-qual -Wstrict-prototypes"
183 #CFLAGS="${CFLAGS} -Wmissing-declarations -Wmissing-noreturn"
184 #CFLAGS="${CFLAGS} -Wmissing-format-attribute -Wunreachable-code"
185 #CFLAGS="${CFLAGS} -Wpacked -Wpadded"
186
187 %configure \
188     --sysconfdir=%{_sysconfdir} \
189     --libdir=%{_libdir} \
190     --libexecdir=%{_libexecdir} \
191     --localstatedir=%{_localstatedir} \
192         --disable-werror \
193 %if !%{with_shared}
194         --disable-shared \
195 %endif
196 %if %{with_snmp}
197         --enable-snmp \
198 %endif
199 %if %{with_multipath}
200         --enable-multipath=%{with_multipath} \
201 %endif
202 %if %{with_tcp_zebra}
203         --enable-tcp-zebra \
204 %endif
205 %if %{with_vtysh}
206         --enable-vtysh \
207 %endif
208 %if %{with_ospfclient}
209         --enable-ospfclient=yes \
210 %else
211         --enable-ospfclient=no\
212 %endif
213 %if %{with_ospfapi}
214         --enable-ospfapi=yes \
215 %else
216         --enable-ospfapi=no \
217 %endif
218 %if %{with_irdp}
219         --enable-irdp=yes \
220 %else
221         --enable-irdp=no \
222 %endif
223 %if %{with_rtadv}
224         --enable-rtadv=yes \
225 %else
226         --enable-rtadv=no \
227 %endif
228 %if %{with_isisd}
229         --enable-isisd \
230 %else
231         --disable-isisd \
232 %endif
233 %if %{with_pam}
234         --with-libpam \
235 %endif
236 %if 0%{?quagga_user:1}
237         --enable-user=%quagga_user \
238         --enable-group=%quagga_user \
239 %endif
240 %if 0%{?vty_group:1}
241         --enable-vty-group=%vty_group \
242 %endif
243 %if %{with_fpm}
244         --enable-fpm \
245 %else
246         --disable-fpm \
247 %endif
248 %if %{with_watchquagga}
249         --enable-watchquagga \
250 %else
251         --disable-watchquagga \
252 %endif
253         --enable-gcc-rdynamic \
254         --with-ccapnproto \
255         --with-zeromq
256
257 make %{?_smp_mflags} MAKEINFO="makeinfo --no-split"
258
259 pushd doc
260 %if %{texi2htmlversion} < 5
261 texi2html --number-sections quagga.texi
262 %else
263 texi2html --number-footnotes  --number-sections quagga.texi
264 %endif
265 popd
266
267 %install
268 mkdir -p %{buildroot}/etc/{quagga,sysconfig,logrotate.d,pam.d} \
269          %{buildroot}/var/log/quagga %{buildroot}%{_infodir}
270 make DESTDIR=%{buildroot} INSTALL="install -p" CP="cp -p" install
271 install %{SOURCE1} %{buildroot}/etc/quagga/bgpd.conf
272
273 # Remove this file, as it is uninstalled and causes errors when building on RH9
274 rm -rf %{buildroot}/usr/share/info/dir
275
276 # install /etc sources
277 %if "%{initsystem}" == "systemd"
278 mkdir -p %{buildroot}%{_unitdir}
279 for daemon in %{all_daemons} ; do
280         if [ x"${daemon}" != x"" ] ; then
281                 install %{zeb_rh_src}/${daemon}.service \
282                         %{buildroot}%{_unitdir}/${daemon}.service
283         fi
284 done
285 %else
286 mkdir -p %{buildroot}/etc/rc.d/init.d
287 for daemon in %{all_daemons} ; do
288         if [ x"${daemon}" != x"" ] ; then
289                 install %{zeb_rh_src}/${daemon}.init \
290                         %{buildroot}/etc/rc.d/init.d/${daemon}
291         fi
292 done
293 %endif
294
295 install -m644 %{zeb_rh_src}/quagga.pam \
296         %{buildroot}/etc/pam.d/quagga
297 install -m644 %{zeb_rh_src}/quagga.logrotate \
298         %{buildroot}/etc/logrotate.d/quagga
299 install -m644 %{zeb_rh_src}/quagga.sysconfig \
300         %{buildroot}/etc/sysconfig/quagga
301 install -d -m750  %{buildroot}/var/run/quagga
302
303 %pre
304 # add vty_group
305 %if 0%{?vty_group:1}
306 if getent group %vty_group > /dev/null ; then : ; else \
307  /usr/sbin/groupadd -r -g %vty_gid %vty_group > /dev/null || : ; fi
308 %endif
309
310 # add quagga user and group
311 %if 0%{?quagga_user:1}
312 # Ensure that quagga_gid gets correctly allocated
313 if getent group %quagga_user >/dev/null; then : ; else \
314  /usr/sbin/groupadd -g %quagga_gid %quagga_user > /dev/null || : ; \
315 fi
316 if getent passwd %quagga_user >/dev/null ; then : ; else \
317  /usr/sbin/useradd  -u %quagga_uid -g %quagga_gid \
318   -M -r -s /sbin/nologin -c "Quagga routing suite" \
319   -d %_localstatedir %quagga_user 2> /dev/null || : ; \
320 fi
321 %endif
322
323 %post
324 # zebra_spec_add_service <service name> <port/proto> <comment>
325 # e.g. zebra_spec_add_service zebrasrv 2600/tcp "zebra service"
326
327 zebra_spec_add_service ()
328 {
329   # Add port /etc/services entry if it isn't already there
330   if [ -f /etc/services ] && \
331       ! %__sed -e 's/#.*$//' /etc/services | %__grep -wq $1 ; then
332     echo "$1            $2                      # $3"  >> /etc/services
333   fi
334 }
335
336 zebra_spec_add_service zebrasrv 2600/tcp "zebra service"
337 zebra_spec_add_service zebra    2601/tcp "zebra vty"
338 zebra_spec_add_service ripd     2602/tcp "RIPd vty"
339 zebra_spec_add_service ripngd   2603/tcp "RIPngd vty"
340 zebra_spec_add_service ospfd    2604/tcp "OSPFd vty"
341 zebra_spec_add_service bgpd     2605/tcp "BGPd vty"
342 zebra_spec_add_service ospf6d   2606/tcp "OSPF6d vty"
343 %if %{with_ospfapi}
344 zebra_spec_add_service ospfapi  2607/tcp "OSPF-API"
345 %endif
346 %if %{with_isisd}
347 zebra_spec_add_service isisd    2608/tcp "ISISd vty"
348 %endif
349 %if %{with_pimd}
350 zebra_spec_add_service pimd     2611/tcp "PIMd vty"
351 %endif
352
353 %if "%{initsystem}" == "systemd"
354 for daemon in %all_daemons ; do
355         %systemd_post ${daemon}.service
356 done
357 %else
358 for daemon in %all_daemons ; do
359         /sbin/chkconfig --add ${daemon}
360 done
361 %endif
362
363 /sbin/install-info %{_infodir}/quagga.info.gz %{_infodir}/dir
364
365 # Create dummy files if they don't exist so basic functions can be used.
366 if [ ! -e %{_sysconfdir}/zebra.conf ]; then
367         echo "hostname `hostname`" > %{_sysconfdir}/zebra.conf
368 %if 0%{?quagga_user:1}
369         chown %quagga_user:%quagga_user %{_sysconfdir}/zebra.conf*
370 %endif
371         chmod 640 %{_sysconfdir}/zebra.conf
372 fi
373 for daemon in %{all_daemons} ; do
374         if [ ! -e %{_sysconfdir}/${daemon}.conf ]; then
375                 touch %{_sysconfdir}/${daemon}.conf
376                 %if 0%{?quagga_user:1}
377                         chown %quagga_user:%quagga_user %{_sysconfdir}/${daemon}.conf*
378                 %endif
379         fi
380 done
381 %if %{with_watchquagga}
382         # No config for watchquagga - this is part of /etc/sysconfig/quagga
383         rm -f %{_sysconfdir}/watchquagga.*
384 %endif
385
386 if [ ! -e %{_sysconfdir}/vtysh.conf ]; then
387         touch %{_sysconfdir}/vtysh.conf
388         chmod 640 %{_sysconfdir}/vtysh.conf
389 %if 0%{?vty_group:1}
390     chown quagga:%{vty_group} %{_sysconfdir}/vtysh.conf*
391 %endif
392 fi
393
394 %postun
395 if [ "$1" -ge 1 ]; then
396         # Find out which daemons need to be restarted.
397         for daemon in %all_daemons ; do
398                 if [ -f /var/lock/subsys/${daemon} ]; then
399                         eval restart_${daemon}=yes
400                 else
401                         eval restart_${daemon}=no
402                 fi
403         done
404         # Rename restart flags for daemons handled specially.
405         running_zebra="$restart_zebra"
406         restart_zebra=no
407         %if %{with_watchquagga}
408                 running_watchquagga="$restart_watchquagga"
409                 restart_watchquagga=no
410         %endif
411
412         %if "%{initsystem}" == "systemd"
413                 ##
414                 ## Systemd Version
415                 ##
416                 # No watchquagga for systemd version
417                 #
418                 # Stop all daemons other than zebra.
419                 for daemon in %all_daemons ; do
420                         eval restart=\$restart_${daemon}
421                         [ "$restart" = yes ] && \
422                                 %systemd_postun ${daemon}.service
423                 done
424                 # Restart zebra.
425                 [ "$running_zebra" = yes ] && \
426                         %systemd_postun_with_restart $daemon.service
427                 # Start all daemons other than zebra.
428                 for daemon in %all_daemons ; do
429                         eval restart=\$restart_${daemon}
430                         [ "$restart" = yes ] && \
431                                 %systemd_post ${daemon}.service
432                 done
433         %else
434                 ##
435                 ## init.d Version
436                 ##
437                 %if %{with_watchquagga}
438                         # Stop watchquagga first.
439                         [ "$running_watchquagga" = yes ] && \
440                                 /etc/rc.d/init.d/watchquagga stop >/dev/null 2>&1
441                 %endif
442                 # Stop all daemons other than zebra and watchquagga.
443                 for daemon in %all_daemons ; do
444                         eval restart=\$restart_${daemon}
445                         [ "$restart" = yes ] && \
446                                 /etc/rc.d/init.d/${daemon} stop >/dev/null 2>&1
447                 done
448                 # Restart zebra.
449                 [ "$running_zebra" = yes ] && \
450                         /etc/rc.d/init.d/zebra restart >/dev/null 2>&1
451                 # Start all daemons other than zebra and watchquagga.
452                 for daemon in %all_daemons ; do
453                         eval restart=\$restart_${daemon}
454                         [ "$restart" = yes ] && \
455                                 /etc/rc.d/init.d/${daemon} start >/dev/null 2>&1
456                 done
457                 %if %{with_watchquagga}
458                         # Start watchquagga last.
459                         # Avoid postun scriptlet error if watchquagga is not running.
460                         [ "$running_watchquagga" = yes ] && \
461                                 /etc/rc.d/init.d/watchquagga start >/dev/null 2>&1 || :
462                 %endif
463         %endif
464 fi
465
466 %preun
467 %if "%{initsystem}" == "systemd"
468         ##
469         ## Systemd Version
470         ##
471         if [ "$1" = "0" ]; then
472                 for daemon in %all_daemons ; do
473                         %systemd_preun ${daemon}.service
474                 done
475         fi
476 %else
477         ##
478         ## init.d Version
479         ##
480         if [ "$1" = "0" ]; then
481                 for daemon in %all_daemons ; do
482                         /etc/rc.d/init.d/${daemon} stop  >/dev/null 2>&1
483                         /sbin/chkconfig --del ${daemon}
484                 done
485         fi
486 %endif
487 /sbin/install-info --delete %{_infodir}/quagga.info.gz %{_infodir}/dir
488
489 %clean
490 %if !0%{?keep_build:1}
491 rm -rf %{buildroot}
492 %endif
493
494 %files
495 %defattr(-,root,root)
496 %doc */*.sample* AUTHORS COPYING
497 %doc doc/quagga.html
498 %doc doc/mpls
499 %doc ChangeLog INSTALL NEWS README REPORTING-BUGS SERVICES TODO
500 %if 0%{?quagga_user:1}
501 %dir %attr(751,%quagga_user,%quagga_user) %{_sysconfdir}
502 %dir %attr(750,%quagga_user,%quagga_user) /var/log/quagga
503 %dir %attr(751,%quagga_user,%quagga_user) /var/run/quagga
504 %attr(750,%quagga_user,%quagga_user) %{_sysconfdir}/bgpd.conf
505 %else
506 %dir %attr(750,root,root) %{_sysconfdir}
507 %dir %attr(750,root,root) /var/log/quagga
508 %dir %attr(750,root,root) /var/run/quagga
509 %endif
510 %if 0%{?vty_group:1}
511 %attr(750,%quagga_user,%vty_group) %{_sysconfdir}/vtysh.conf.sample
512 %endif
513 %{_infodir}/quagga.info.gz
514 %{_mandir}/man*/*
515 %{_sbindir}/zebra
516 %{_sbindir}/ospfd
517 %{_sbindir}/ripd
518 %{_sbindir}/bgpd
519 %if %{with_watchquagga}
520         %{_sbindir}/watchquagga
521 %endif
522 %{_sbindir}/ripngd
523 %{_sbindir}/ospf6d
524 %if %{with_pimd}
525 %{_sbindir}/pimd
526 %endif
527 %if %{with_isisd}
528 %{_sbindir}/isisd
529 %endif
530 %if %{with_shared}
531 %attr(755,root,root) %{_libdir}/lib*.so
532 %attr(755,root,root) %{_libdir}/lib*.so.*
533 %endif
534 %if %{with_vtysh}
535 %{_bindir}/*
536 %endif
537 %config /etc/quagga/[!v]*
538 %if "%{initsystem}" == "systemd"
539         %config %{_unitdir}/*.service
540 %else
541         %config /etc/rc.d/init.d/zebra
542         %if %{with_watchquagga}
543                 %config /etc/rc.d/init.d/watchquagga
544         %endif
545         %config /etc/rc.d/init.d/ripd
546         %config /etc/rc.d/init.d/ospfd
547         %config /etc/rc.d/init.d/bgpd
548         %config /etc/rc.d/init.d/ripngd
549         %config /etc/rc.d/init.d/ospf6d
550         %if %{with_isisd}
551                 %config /etc/rc.d/init.d/isisd
552         %endif
553         %if %{with_pimd}
554                 %config /etc/rc.d/init.d/pimd
555         %endif
556 %endif
557 %config(noreplace) /etc/sysconfig/quagga
558 %config(noreplace) /etc/pam.d/quagga
559 %config(noreplace) %attr(640,root,root) /etc/logrotate.d/*
560
561 %files contrib
562 %defattr(-,root,root)
563 %doc tools
564
565 %files devel
566 %defattr(-,root,root)
567 %if %{with_ospfclient}
568 %{_sbindir}/ospfclient
569 %endif
570 %{_libdir}/*.a
571 %{_libdir}/*.la
572 %dir %attr(755,root,root) %{_includedir}/%{name}
573 %{_includedir}/%name/*.h
574 %dir %attr(755,root,root) %{_includedir}/%{name}/ospfd
575 %{_includedir}/%name/ospfd/*.h
576 %if %{with_ospfapi}
577 %dir %attr(755,root,root) %{_includedir}/%{name}/ospfapi
578 %{_includedir}/%name/ospfapi/*.h
579 %endif
580
581 %changelog
582 * Thu Feb 11 2016 Paul Jakma <paul@jakma.org> - %{version}
583 - remove with_ipv6 conditionals, always build v6
584 - Fix UTF-8 char in spec changelog
585 - remove quagga.pam.stack, long deprecated.
586
587 * Thu Oct 22 2015 Martin Winter <mwinter@opensourcerouting.org>
588 - Cleanup configure: remove --enable-ipv6 (default now), --enable-nssa,
589     --enable-netlink
590 - Remove support for old fedora 4/5
591 - Fix for package nameing
592 - Fix Weekdays of previous changelogs (bogus dates)
593 - Add conditional logic to only build tex footnotes with supported texi2html
594 - Added pimd to files section and fix double listing of /var/lib*/quagga
595 - Numerous fixes to unify upstart/systemd startup into same spec file
596 - Only allow use of watchquagga for non-systemd systems. no need with systemd
597
598 * Fri Sep  4 2015 Paul Jakma <paul@jakma.org>
599 - buildreq updates
600 - add a default define for with_pimd
601
602 * Mon Sep 12 2005 Paul Jakma <paul@dishone.st>
603 - Steal some changes from Fedora spec file:
604 - Add with_rtadv variable
605 - Test for groups/users with getent before group/user adding
606 - Readline need not be an explicit prerequisite
607 - install-info delete should be postun, not preun
608
609 * Wed Jan 12 2005 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
610 - on package upgrade, implement careful, phased restart logic
611 - use gcc -rdynamic flag when linking for better backtraces
612
613 * Wed Dec 22 2004 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
614 - daemonv6_list should contain only IPv6 daemons
615
616 * Wed Dec 22 2004 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
617 - watchquagga added
618 - on upgrade, all daemons should be condrestart'ed
619 - on removal, all daemons should be stopped
620
621 * Mon Nov 08 2004 Paul Jakma <paul@dishone.st>
622 - Use makeinfo --html to generate quagga.html
623
624 * Sun Nov 07 2004 Paul Jakma <paul@dishone.st>
625 - Fix with_ipv6 set to 0 build
626
627 * Sat Oct 23 2004 Paul Jakma <paul@dishone.st>
628 - Update to 0.97.2
629
630 * Sat Oct 23 2004 Andrew J. Schorr <aschorr@telemetry-investments.com>
631 - Make directories be owned by the packages concerned
632 - Update logrotate scripts to use correct path to killall and use pid files
633
634 * Fri Oct 08 2004 Paul Jakma <paul@dishone.st>
635 - Update to 0.97.0
636
637 * Wed Sep 15 2004 Paul Jakma <paul@dishone.st>
638 - build snmp support by default
639 - build irdp support
640 - build with shared libs
641 - devel subpackage for archives and headers
642
643 * Thu Jan 08 2004 Paul Jakma <paul@dishone.st>
644 - updated sysconfig files to specify local dir
645 - added ospf_dump.c crash quick fix patch
646 - added ospfd persistent interface configuration patch
647
648 * Tue Dec 30 2003 Paul Jakma <paul@dishone.st>
649 - sync to CVS
650 - integrate RH sysconfig patch to specify daemon options (RH)
651 - default to have vty listen only to 127.1 (RH)
652 - add user with fixed UID/GID (RH)
653 - create user with shell /sbin/nologin rather than /bin/false (RH)
654 - stop daemons on uninstall (RH)
655 - delete info file on preun, not postun to avoid deletion on upgrade. (RH)
656 - isisd added
657 - cleanup tasks carried out for every daemon
658
659 * Sun Nov 2 2003 Paul Jakma <paul@dishone.st>
660 - Fix -devel package to include all files
661 - Sync to 0.96.4
662
663 * Tue Aug 12 2003 Paul Jakma <paul@dishone.st>
664 - Renamed to Quagga
665 - Sync to Quagga release 0.96
666
667 * Thu Mar 20 2003 Paul Jakma <paul@dishone.st>
668 - zebra privileges support
669
670 * Tue Mar 18 2003 Paul Jakma <paul@dishone.st>
671 - Fix mem leak in 'show thread cpu'
672 - Ralph Keller's OSPF-API
673 - Amir: Fix configure.ac for net-snmp
674
675 * Sat Mar 1 2003 Paul Jakma <paul@dishone.st>
676 - ospfd IOS prefix to interface matching for 'network' statement
677 - temporary fix for PtP and IPv6
678 - sync to zebra.org CVS
679
680 * Mon Jan 20 2003 Paul Jakma <paul@dishone.st>
681 - update to latest cvs
682 - Yon's "show thread cpu" patch - 17217
683 - walk up tree - 17218
684 - ospfd NSSA fixes - 16681
685 - ospfd nsm fixes - 16824
686 - ospfd OLSA fixes and new feature - 16823
687 - KAME and ifindex fixes - 16525
688 - spec file changes to allow redhat files to be in tree
689
690 * Sat Dec 28 2002 Alexander Hoogerhuis <alexh@ihatent.com>
691 - Added conditionals for building with(out) IPv6, vtysh, RIP, BGP
692 - Fixed up some build requirements (patch)
693 - Added conditional build requirements for vtysh / snmp
694 - Added conditional to files for _bindir depending on vtysh
695
696 * Mon Nov 11 2002 Paul Jakma <paulj@alphyra.ie>
697 - update to latest CVS
698 - add Greg Troxel's md5 buffer copy/dup fix
699 - add RIPv1 fix
700 - add Frank's multicast flag fix
701
702 * Wed Oct 09 2002 Paul Jakma <paulj@alphyra.ie>
703 - update to latest CVS
704 - timestamped crypt_seqnum patch
705 - oi->on_write_q fix
706
707 * Mon Sep 30 2002 Paul Jakma <paulj@alphyra.ie>
708 - update to latest CVS
709 - add vtysh 'write-config (integrated|daemon)' patch
710 - always 'make rebuild' in vtysh/ to catch new commands
711
712 * Fri Sep 13 2002 Paul Jakma <paulj@alphyra.ie>
713 - update to 0.93b
714
715 * Wed Sep 11 2002 Paul Jakma <paulj@alphyra.ie>
716 - update to latest CVS
717 - add "/sbin/ip route flush proto zebra" to zebra RH init on startup
718
719 * Sat Aug 24 2002 Paul Jakma <paulj@alphyra.ie>
720 - update to current CVS
721 - add OSPF point to multipoint patch
722 - add OSPF bugfixes
723 - add BGP hash optimisation patch
724
725 * Fri Jun 14 2002 Paul Jakma <paulj@alphyra.ie>
726 - update to 0.93-pre1 / CVS
727 - add link state detection support
728 - add generic PtP and RFC3021 support
729 - various bug fixes
730
731 * Thu Aug 09 2001 Elliot Lee <sopwith@redhat.com> 0.91a-6
732 - Fix bug #51336
733
734 * Wed Aug  1 2001 Trond Eivind Glomsrød <teg@redhat.com> 0.91a-5
735 - Use generic initscript strings instead of initscript specific
736   ( "Starting foo: " -> "Starting $prog:" )
737
738 * Fri Jul 27 2001 Elliot Lee <sopwith@redhat.com> 0.91a-4
739 - Bump the release when rebuilding into the dist.
740
741 * Tue Feb  6 2001 Tim Powers <timp@redhat.com>
742 - built for Powertools
743
744 * Sun Feb  4 2001 Pekka Savola <pekkas@netcore.fi>
745 - Hacked up from PLD Linux 0.90-1, Mandrake 0.90-1mdk and one from zebra.org.
746 - Update to 0.91a
747 - Very heavy modifications to init.d/*, .spec, pam, i18n, logrotate, etc.
748 - Should be quite Red Hat'isque now.