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 '@VERSION@' | tr [:blank:]- _ )}
47%define		quaggaversion	@VERSION@
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
115Summary: Routing daemon
116Name:			quagga
117Version:		%{rpmversion}
118Release:		@CONFDATE@%{release_rev}%{?dist}
119License:		GPLv2+
120Group:			System Environment/Daemons
121Source0:		https://download.savannah.gnu.org/releases/quagga/%{name}-%{quaggaversion}.tar.gz
122URL:			https://www.quagga.net
123Requires:		ncurses
124Requires(pre):	/sbin/install-info
125Requires(preun): /sbin/install-info
126Requires(post):	/sbin/install-info
127BuildRequires:	autoconf patch libcap-devel groff
128BuildRequires:	perl-generators pkgconfig
129%if %{with_texi2html}
130BuildRequires:	texi2html
131%endif
132%if %{with_snmp}
133BuildRequires:	net-snmp-devel
134Requires:	net-snmp
135%endif
136%if %{with_vtysh}
137BuildRequires:	readline readline-devel ncurses ncurses-devel
138Requires:	ncurses
139%endif
140%if %{with_pam}
141BuildRequires:	pam-devel
142Requires:	pam
143%endif
144%if %{with_nhrpd}
145BuildRequires:	c-ares-devel
146Requires:	c-ares
147%endif
148%if "%{initsystem}" == "systemd"
149BuildRequires:		systemd
150Requires(post):		systemd
151Requires(preun):	systemd
152Requires(postun):	systemd
153%else
154# Initscripts > 5.60 is required for IPv6 support
155Requires(pre):		initscripts >= 5.60
156%endif
157Provides:			routingdaemon = %{version}-%{release}
158BuildRoot:			%{_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
164Quagga is a free software routing protocol suite.
165
166Quagga supports BGP, OSPFv2, OSPFv3, ISIS, RIP, RIPng, PIM-SSM and NHRP.
167
168%package contrib
169Summary: contrib tools for quagga
170Group: System Environment/Daemons
171
172%description contrib
173Contributed/3rd party tools which may be of use with quagga.
174
175%package devel
176Summary: Header and object files for quagga development
177Group: System Environment/Daemons
178Requires: %{name} = %{version}-%{release}
179
180%description devel
181The quagga-devel package contains the header and object files neccessary for
182developing 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
262make %{?_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
275mkdir -p %{buildroot}/etc/{quagga,sysconfig,logrotate.d,pam.d} \
276	%{buildroot}/var/log/quagga %{buildroot}%{_infodir}
277make 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
280rm -rf %{buildroot}/usr/share/info/dir
281
282# install /etc sources
283%if "%{initsystem}" == "systemd"
284mkdir -p %{buildroot}%{_unitdir}
285for 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
290done
291%else
292mkdir -p %{buildroot}/etc/rc.d/init.d
293for 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
298done
299%endif
300
301install -m644 %{zeb_rh_src}/quagga.pam \
302	%{buildroot}/etc/pam.d/quagga
303install -m644 %{zeb_rh_src}/quagga.logrotate \
304	%{buildroot}/etc/logrotate.d/quagga
305install -m644 %{zeb_rh_src}/quagga.sysconfig \
306	%{buildroot}/etc/sysconfig/quagga
307install -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}
319if 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
326if getent group %quagga_user >/dev/null; then : ; else \
327	/usr/sbin/groupadd -g %quagga_gid %quagga_user > /dev/null || : ; \
328fi
329if 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 || : ; \
333fi
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
340zebra_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
349zebra_spec_add_service zebrasrv 2600/tcp "zebra service"
350zebra_spec_add_service zebra	2601/tcp "zebra vty"
351zebra_spec_add_service ripd	2602/tcp "RIPd vty"
352zebra_spec_add_service ripngd	2603/tcp "RIPngd vty"
353zebra_spec_add_service ospfd	2604/tcp "OSPFd vty"
354zebra_spec_add_service bgpd	2605/tcp "BGPd vty"
355zebra_spec_add_service ospf6d	2606/tcp "OSPF6d vty"
356%if %{with_ospfapi}
357zebra_spec_add_service ospfapi	2607/tcp "OSPF-API"
358%endif
359%if %{with_isisd}
360zebra_spec_add_service isisd	2608/tcp "ISISd vty"
361%endif
362%if %{with_pimd}
363zebra_spec_add_service pimd	2611/tcp "PIMd vty"
364%endif
365%if %{with_nhrpd}
366zebra_spec_add_service nhrpd	2612/tcp "NHRPd vty"
367%endif
368
369%if "%{initsystem}" == "systemd"
370for daemon in %all_daemons ; do
371	%systemd_post ${daemon}.service
372done
373%else
374for daemon in %all_daemons ; do
375	/sbin/chkconfig --add ${daemon}
376done
377%endif
378
379if [ -f %{_infodir}/%{name}.inf* ]; then
380	/sbin/install-info %{_infodir}/quagga.info %{_infodir}/dir
381fi
382
383# Create dummy files if they don't exist so basic functions can be used.
384if [ ! -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
390fi
391for 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
398done
399%if %{with_watchquagga}
400	# No config for watchquagga - this is part of /etc/sysconfig/quagga
401	rm -f %{_sysconfdir}/watchquagga.*
402%endif
403
404if [ ! -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
410fi
411
412%postun
413if [ "$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
482fi
483
484if [ -f %{_infodir}/%{name}.inf* ]; then
485	/sbin/install-info --delete %{_infodir}/quagga.info %{_infodir}/dir
486fi
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}
512rm -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.
800