Updates documentation for Fraser release
[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: %%global 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:         %global         quagga_uid      92 }
71 %{!?quagga_gid:         %global         quagga_gid      92 }
72 %{!?vty_gid:            %global         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:        %global         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 texi2html --number-footnotes  --number-sections quagga.texi
261 popd
262
263 %install
264 mkdir -p %{buildroot}/etc/{quagga,sysconfig,logrotate.d,pam.d} \
265         %{buildroot}/var/log/quagga %{buildroot}%{_infodir}
266 make DESTDIR=%{buildroot} INSTALL="install -p" CP="cp -p" install
267 install %{SOURCE1} %{buildroot}/etc/quagga/bgpd.conf
268
269 # Remove this file, as it is uninstalled and causes errors when building on RH9
270 rm -rf %{buildroot}/usr/share/info/dir
271
272 # install /etc sources
273 %if "%{initsystem}" == "systemd"
274 mkdir -p %{buildroot}%{_unitdir}
275 for daemon in %{all_daemons} ; do
276         if [ x"${daemon}" != x"" ] ; then
277                 install %{zeb_rh_src}/${daemon}.service \
278                         %{buildroot}%{_unitdir}/${daemon}.service
279         fi
280 done
281 %else
282 mkdir -p %{buildroot}/etc/rc.d/init.d
283 for daemon in %{all_daemons} ; do
284         if [ x"${daemon}" != x"" ] ; then
285                 install %{zeb_rh_src}/${daemon}.init \
286                         %{buildroot}/etc/rc.d/init.d/${daemon}
287         fi
288 done
289 %endif
290
291 install -m644 %{zeb_rh_src}/quagga.pam \
292         %{buildroot}/etc/pam.d/quagga
293 install -m644 %{zeb_rh_src}/quagga.logrotate \
294         %{buildroot}/etc/logrotate.d/quagga
295 install -m644 %{zeb_rh_src}/quagga.sysconfig \
296         %{buildroot}/etc/sysconfig/quagga
297 install -d -m750  %{buildroot}/var/run/quagga
298
299 %pre
300 # add vty_group
301 %if 0%{?vty_group:1}
302 if getent group %vty_group > /dev/null ; then : ; else \
303  /usr/sbin/groupadd -r -g %vty_gid %vty_group > /dev/null || : ; fi
304 %endif
305
306 # add quagga user and group
307 %if 0%{?quagga_user:1}
308 # Ensure that quagga_gid gets correctly allocated
309 if getent group %quagga_user >/dev/null; then : ; else \
310  /usr/sbin/groupadd -g %quagga_gid %quagga_user > /dev/null || : ; \
311 fi
312 if getent passwd %quagga_user >/dev/null ; then : ; else \
313  /usr/sbin/useradd  -u %{quagga_uid} -g %quagga_gid \
314   -M -r -s /sbin/nologin -c "Quagga routing suite" \
315   -d %_localstatedir %quagga_user 2> /dev/null || : ; \
316 fi
317 %endif
318
319 %post
320 # zebra_spec_add_service <service name> <port/proto> <comment>
321 # e.g. zebra_spec_add_service zebrasrv 2600/tcp "zebra service"
322
323 zebra_spec_add_service ()
324 {
325   # Add port /etc/services entry if it isn't already there
326   if [ -f /etc/services ] && \
327       ! %__sed -e 's/#.*$//' /etc/services | %__grep -wq $1 ; then
328     echo "$1            $2                      # $3"  >> /etc/services
329   fi
330 }
331
332 zebra_spec_add_service zebrasrv 2600/tcp "zebra service"
333 zebra_spec_add_service zebra    2601/tcp "zebra vty"
334 zebra_spec_add_service ripd     2602/tcp "RIPd vty"
335 zebra_spec_add_service ripngd   2603/tcp "RIPngd vty"
336 zebra_spec_add_service ospfd    2604/tcp "OSPFd vty"
337 zebra_spec_add_service bgpd     2605/tcp "BGPd vty"
338 zebra_spec_add_service ospf6d   2606/tcp "OSPF6d vty"
339 %if %{with_ospfapi}
340 zebra_spec_add_service ospfapi  2607/tcp "OSPF-API"
341 %endif
342 %if %{with_isisd}
343 zebra_spec_add_service isisd    2608/tcp "ISISd vty"
344 %endif
345 %if %{with_pimd}
346 zebra_spec_add_service pimd     2611/tcp "PIMd vty"
347 %endif
348
349 %if "%{initsystem}" == "systemd"
350 for daemon in %all_daemons ; do
351         %systemd_post ${daemon}.service
352 done
353 %else
354 for daemon in %all_daemons ; do
355         /sbin/chkconfig --add ${daemon}
356 done
357 %endif
358
359 /sbin/install-info %{_infodir}/quagga.info.gz %{_infodir}/dir
360
361 # Create dummy files if they don't exist so basic functions can be used.
362 if [ ! -e %{_sysconfdir}/zebra.conf ]; then
363         echo "hostname `hostname`" > %{_sysconfdir}/zebra.conf
364 %if 0%{?quagga_user:1}
365         chown %quagga_user:%quagga_user %{_sysconfdir}/zebra.conf*
366 %endif
367         chmod 640 %{_sysconfdir}/zebra.conf
368 fi
369 for daemon in %{all_daemons} ; do
370         if [ ! -e %{_sysconfdir}/${daemon}.conf ]; then
371                 touch %{_sysconfdir}/${daemon}.conf
372                 %if 0%{?quagga_user:1}
373                         chown %quagga_user:%quagga_user %{_sysconfdir}/${daemon}.conf*
374                 %endif
375         fi
376 done
377 %if %{with_watchquagga}
378         # No config for watchquagga - this is part of /etc/sysconfig/quagga
379         rm -f %{_sysconfdir}/watchquagga.*
380 %endif
381
382 if [ ! -e %{_sysconfdir}/vtysh.conf ]; then
383         touch %{_sysconfdir}/vtysh.conf
384         chmod 640 %{_sysconfdir}/vtysh.conf
385 %if 0%{?vty_group:1}
386     chown quagga:%{vty_group} %{_sysconfdir}/vtysh.conf*
387 %endif
388 fi
389
390 %postun
391 if [ "$1" -ge 1 ]; then
392         # Find out which daemons need to be restarted.
393         for daemon in %all_daemons ; do
394                 if [ -f /var/lock/subsys/${daemon} ]; then
395                         eval restart_${daemon}=yes
396                 else
397                         eval restart_${daemon}=no
398                 fi
399         done
400         # Rename restart flags for daemons handled specially.
401         running_zebra="$restart_zebra"
402         restart_zebra=no
403         %if %{with_watchquagga}
404                 running_watchquagga="$restart_watchquagga"
405                 restart_watchquagga=no
406         %endif
407
408         %if "%{initsystem}" == "systemd"
409                 ##
410                 ## Systemd Version
411                 ##
412                 # No watchquagga for systemd version
413                 #
414                 # Stop all daemons other than zebra.
415                 for daemon in %all_daemons ; do
416                         eval restart=\$restart_${daemon}
417                         [ "$restart" = yes ] && \
418                                 %systemd_postun ${daemon}.service
419                 done
420                 # Restart zebra.
421                 [ "$running_zebra" = yes ] && \
422                         %systemd_postun_with_restart $daemon.service
423                 # Start all daemons other than zebra.
424                 for daemon in %all_daemons ; do
425                         eval restart=\$restart_${daemon}
426                         [ "$restart" = yes ] && \
427                                 %systemd_post ${daemon}.service
428                 done
429         %else
430                 ##
431                 ## init.d Version
432                 ##
433                 %if %{with_watchquagga}
434                         # Stop watchquagga first.
435                         [ "$running_watchquagga" = yes ] && \
436                                 /etc/rc.d/init.d/watchquagga stop >/dev/null 2>&1
437                 %endif
438                 # Stop all daemons other than zebra and watchquagga.
439                 for daemon in %all_daemons ; do
440                         eval restart=\$restart_${daemon}
441                         [ "$restart" = yes ] && \
442                                 /etc/rc.d/init.d/${daemon} stop >/dev/null 2>&1
443                 done
444                 # Restart zebra.
445                 [ "$running_zebra" = yes ] && \
446                         /etc/rc.d/init.d/zebra restart >/dev/null 2>&1
447                 # Start all daemons other than zebra and watchquagga.
448                 for daemon in %all_daemons ; do
449                         eval restart=\$restart_${daemon}
450                         [ "$restart" = yes ] && \
451                                 /etc/rc.d/init.d/${daemon} start >/dev/null 2>&1
452                 done
453                 %if %{with_watchquagga}
454                         # Start watchquagga last.
455                         # Avoid postun scriptlet error if watchquagga is not running.
456                         [ "$running_watchquagga" = yes ] && \
457                                 /etc/rc.d/init.d/watchquagga start >/dev/null 2>&1 || :
458                 %endif
459         %endif
460 fi
461
462 %preun
463 %if "%{initsystem}" == "systemd"
464         ##
465         ## Systemd Version
466         ##
467         if [ "$1" = "0" ]; then
468                 for daemon in %all_daemons ; do
469                         %systemd_preun ${daemon}.service
470                 done
471         fi
472 %else
473         ##
474         ## init.d Version
475         ##
476         if [ "$1" = "0" ]; then
477                 for daemon in %all_daemons ; do
478                         /etc/rc.d/init.d/${daemon} stop >/dev/null 2>&1
479                         /sbin/chkconfig --del ${daemon}
480                 done
481         fi
482 %endif
483 /sbin/install-info --delete %{_infodir}/quagga.info.gz %{_infodir}/dir
484
485 %clean
486 %if !0%{?keep_build:1}
487 rm -rf %{buildroot}
488 %endif
489
490 %files
491 %defattr(-,root,root)
492 %doc */*.sample* AUTHORS COPYING
493 %doc doc/quagga.html
494 %doc doc/mpls
495 %doc ChangeLog INSTALL NEWS README REPORTING-BUGS SERVICES TODO
496 %if 0%{?quagga_user:1}
497 %dir %attr(751,%quagga_user,%quagga_user) %{_sysconfdir}
498 %dir %attr(750,%quagga_user,%quagga_user) /var/log/quagga
499 %dir %attr(751,%quagga_user,%quagga_user) /var/run/quagga
500 %attr(750,%quagga_user,%quagga_user) %{_sysconfdir}/bgpd.conf
501 %else
502 %dir %attr(750,root,root) %{_sysconfdir}
503 %dir %attr(750,root,root) /var/log/quagga
504 %dir %attr(750,root,root) /var/run/quagga
505 %endif
506 %if 0%{?vty_group:1}
507 %attr(750,%quagga_user,%vty_group) %{_sysconfdir}/vtysh.conf.sample
508 %endif
509 %{_infodir}/quagga.info.gz
510 %{_mandir}/man*/*
511 %{_sbindir}/zebra
512 %{_sbindir}/ospfd
513 %{_sbindir}/ripd
514 %{_sbindir}/bgpd
515 %if %{with_watchquagga}
516         %{_sbindir}/watchquagga
517 %endif
518 %{_sbindir}/ripngd
519 %{_sbindir}/ospf6d
520 %if %{with_pimd}
521 %{_sbindir}/pimd
522 %endif
523 %if %{with_isisd}
524 %{_sbindir}/isisd
525 %endif
526 %if %{with_shared}
527 %attr(755,root,root) %{_libdir}/lib*.so
528 %attr(755,root,root) %{_libdir}/lib*.so.*
529 %endif
530 %if %{with_vtysh}
531 %{_bindir}/*
532 %endif
533 %config /etc/quagga/[!v]*
534 %if "%{initsystem}" == "systemd"
535         %config %{_unitdir}/*.service
536 %else
537         %config /etc/rc.d/init.d/zebra
538         %if %{with_watchquagga}
539                 %config /etc/rc.d/init.d/watchquagga
540         %endif
541         %config /etc/rc.d/init.d/ripd
542         %config /etc/rc.d/init.d/ospfd
543         %config /etc/rc.d/init.d/bgpd
544         %config /etc/rc.d/init.d/ripngd
545         %config /etc/rc.d/init.d/ospf6d
546         %if %{with_isisd}
547                 %config /etc/rc.d/init.d/isisd
548         %endif
549         %if %{with_pimd}
550                 %config /etc/rc.d/init.d/pimd
551         %endif
552 %endif
553 %config(noreplace) /etc/sysconfig/quagga
554 %config(noreplace) /etc/pam.d/quagga
555 %config(noreplace) %attr(640,root,root) /etc/logrotate.d/*
556
557 %files contrib
558 %defattr(-,root,root)
559 %doc tools
560
561 %files devel
562 %defattr(-,root,root)
563 %if %{with_ospfclient}
564 %{_sbindir}/ospfclient
565 %endif
566 %{_libdir}/*.a
567 %{_libdir}/*.la
568 %dir %attr(755,root,root) %{_includedir}/%{name}
569 %{_includedir}/%name/*.h
570 %dir %attr(755,root,root) %{_includedir}/%{name}/ospfd
571 %{_includedir}/%name/ospfd/*.h
572 %if %{with_ospfapi}
573 %dir %attr(755,root,root) %{_includedir}/%{name}/ospfapi
574 %{_includedir}/%name/ospfapi/*.h
575 %endif
576
577 %changelog
578 * Thu Feb 11 2016 Paul Jakma <paul@jakma.org>
579 - remove with_ipv6 conditionals, always build v6
580 - Fix UTF-8 char in spec changelog
581 - remove quagga.pam.stack, long deprecated.
582
583 * Thu Oct 22 2015 Martin Winter <mwinter@opensourcerouting.org>
584 - Cleanup configure: remove --enable-ipv6 (default now), --enable-nssa,
585     --enable-netlink
586 - Remove support for old fedora 4/5
587 - Fix for package nameing
588 - Fix Weekdays of previous changelogs (bogus dates)
589 - Add conditional logic to only build tex footnotes with supported texi2html
590 - Added pimd to files section and fix double listing of /var/lib*/quagga
591 - Numerous fixes to unify upstart/systemd startup into same spec file
592 - Only allow use of watchquagga for non-systemd systems. no need with systemd
593
594 * Fri Sep  4 2015 Paul Jakma <paul@jakma.org>
595 - buildreq updates
596 - add a default define for with_pimd
597
598 * Mon Sep 12 2005 Paul Jakma <paul@dishone.st>
599 - Steal some changes from Fedora spec file:
600 - Add with_rtadv variable
601 - Test for groups/users with getent before group/user adding
602 - Readline need not be an explicit prerequisite
603 - install-info delete should be postun, not preun
604
605 * Wed Jan 12 2005 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
606 - on package upgrade, implement careful, phased restart logic
607 - use gcc -rdynamic flag when linking for better backtraces
608
609 * Wed Dec 22 2004 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
610 - daemonv6_list should contain only IPv6 daemons
611
612 * Wed Dec 22 2004 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
613 - watchquagga added
614 - on upgrade, all daemons should be condrestart'ed
615 - on removal, all daemons should be stopped
616
617 * Mon Nov 08 2004 Paul Jakma <paul@dishone.st>
618 - Use makeinfo --html to generate quagga.html
619
620 * Sun Nov 07 2004 Paul Jakma <paul@dishone.st>
621 - Fix with_ipv6 set to 0 build
622
623 * Sat Oct 23 2004 Paul Jakma <paul@dishone.st>
624 - Update to 0.97.2
625
626 * Sat Oct 23 2004 Andrew J. Schorr <aschorr@telemetry-investments.com>
627 - Make directories be owned by the packages concerned
628 - Update logrotate scripts to use correct path to killall and use pid files
629
630 * Fri Oct 08 2004 Paul Jakma <paul@dishone.st>
631 - Update to 0.97.0
632
633 * Wed Sep 15 2004 Paul Jakma <paul@dishone.st>
634 - build snmp support by default
635 - build irdp support
636 - build with shared libs
637 - devel subpackage for archives and headers
638
639 * Thu Jan 08 2004 Paul Jakma <paul@dishone.st>
640 - updated sysconfig files to specify local dir
641 - added ospf_dump.c crash quick fix patch
642 - added ospfd persistent interface configuration patch
643
644 * Tue Dec 30 2003 Paul Jakma <paul@dishone.st>
645 - sync to CVS
646 - integrate RH sysconfig patch to specify daemon options (RH)
647 - default to have vty listen only to 127.1 (RH)
648 - add user with fixed UID/GID (RH)
649 - create user with shell /sbin/nologin rather than /bin/false (RH)
650 - stop daemons on uninstall (RH)
651 - delete info file on preun, not postun to avoid deletion on upgrade. (RH)
652 - isisd added
653 - cleanup tasks carried out for every daemon
654
655 * Sun Nov 2 2003 Paul Jakma <paul@dishone.st>
656 - Fix -devel package to include all files
657 - Sync to 0.96.4
658
659 * Tue Aug 12 2003 Paul Jakma <paul@dishone.st>
660 - Renamed to Quagga
661 - Sync to Quagga release 0.96
662
663 * Thu Mar 20 2003 Paul Jakma <paul@dishone.st>
664 - zebra privileges support
665
666 * Tue Mar 18 2003 Paul Jakma <paul@dishone.st>
667 - Fix mem leak in 'show thread cpu'
668 - Ralph Keller's OSPF-API
669 - Amir: Fix configure.ac for net-snmp
670
671 * Sat Mar 1 2003 Paul Jakma <paul@dishone.st>
672 - ospfd IOS prefix to interface matching for 'network' statement
673 - temporary fix for PtP and IPv6
674 - sync to zebra.org CVS
675
676 * Mon Jan 20 2003 Paul Jakma <paul@dishone.st>
677 - update to latest cvs
678 - Yon's "show thread cpu" patch - 17217
679 - walk up tree - 17218
680 - ospfd NSSA fixes - 16681
681 - ospfd nsm fixes - 16824
682 - ospfd OLSA fixes and new feature - 16823
683 - KAME and ifindex fixes - 16525
684 - spec file changes to allow redhat files to be in tree
685
686 * Sat Dec 28 2002 Alexander Hoogerhuis <alexh@ihatent.com>
687 - Added conditionals for building with(out) IPv6, vtysh, RIP, BGP
688 - Fixed up some build requirements (patch)
689 - Added conditional build requirements for vtysh / snmp
690 - Added conditional to files for _bindir depending on vtysh
691
692 * Mon Nov 11 2002 Paul Jakma <paulj@alphyra.ie>
693 - update to latest CVS
694 - add Greg Troxel's md5 buffer copy/dup fix
695 - add RIPv1 fix
696 - add Frank's multicast flag fix
697
698 * Wed Oct 09 2002 Paul Jakma <paulj@alphyra.ie>
699 - update to latest CVS
700 - timestamped crypt_seqnum patch
701 - oi->on_write_q fix
702
703 * Mon Sep 30 2002 Paul Jakma <paulj@alphyra.ie>
704 - update to latest CVS
705 - add vtysh 'write-config (integrated|daemon)' patch
706 - always 'make rebuild' in vtysh/ to catch new commands
707
708 * Fri Sep 13 2002 Paul Jakma <paulj@alphyra.ie>
709 - update to 0.93b
710
711 * Wed Sep 11 2002 Paul Jakma <paulj@alphyra.ie>
712 - update to latest CVS
713 - add "/sbin/ip route flush proto zebra" to zebra RH init on startup
714
715 * Sat Aug 24 2002 Paul Jakma <paulj@alphyra.ie>
716 - update to current CVS
717 - add OSPF point to multipoint patch
718 - add OSPF bugfixes
719 - add BGP hash optimisation patch
720
721 * Fri Jun 14 2002 Paul Jakma <paulj@alphyra.ie>
722 - update to 0.93-pre1 / CVS
723 - add link state detection support
724 - add generic PtP and RFC3021 support
725 - various bug fixes
726
727 * Thu Aug 09 2001 Elliot Lee <sopwith@redhat.com> 0.91a-6
728 - Fix bug #51336
729
730 * Wed Aug  1 2001 Trond Eivind Glomsrød <teg@redhat.com> 0.91a-5
731 - Use generic initscript strings instead of initscript specific
732   ( "Starting foo: " -> "Starting $prog:" )
733
734 * Fri Jul 27 2001 Elliot Lee <sopwith@redhat.com> 0.91a-4
735 - Bump the release when rebuilding into the dist.
736
737 * Tue Feb  6 2001 Tim Powers <timp@redhat.com>
738 - built for Powertools
739
740 * Sun Feb  4 2001 Pekka Savola <pekkas@netcore.fi>
741 - Hacked up from PLD Linux 0.90-1, Mandrake 0.90-1mdk and one from zebra.org.
742 - Update to 0.91a
743 - Very heavy modifications to init.d/*, .spec, pam, i18n, logrotate, etc.
744 - Should be quite Red Hat'isque now.