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