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