1: # configure options
2: #
3: # Some can be overriden on rpmbuild commandline with:
4: # rpmbuild --define 'variable value'
5: # (use any value, ie 1 for flag "with_XXXX" definitions)
6: #
7: # E.g. rpmbuild --define 'release_rev 02' may be useful if building
8: # rpms again and again on the same day, so the newer rpms can be installed.
9: # bumping the number each time.
10:
11: ####################### Quagga configure options #########################
12: # with-feature options
13: %{!?with_snmp: %global with_snmp 1 }
14: %{!?with_vtysh: %global with_vtysh 1 }
15: %{!?with_tcp_zebra: %global with_tcp_zebra 0 }
16: %{!?with_vtysh: %global with_vtysh 1 }
17: %{!?with_pam: %global with_pam 1 }
18: %{!?with_ospfclient: %global with_ospfclient 1 }
19: %{!?with_ospfapi: %global with_ospfapi 1 }
20: %{!?with_irdp: %global with_irdp 1 }
21: %{!?with_rtadv: %global with_rtadv 1 }
22: %{!?with_isisd: %global with_isisd 1 }
23: %{!?with_pimd: %global with_pimd 1 }
24: %{!?with_shared: %global with_shared 1 }
25: %{!?with_multipath: %global with_multipath 64 }
26: %{!?quagga_user: %global quagga_user quagga }
27: %{!?vty_group: %global vty_group quaggavt }
28: %{!?with_fpm: %global with_fpm 0 }
29: %{!?with_watchquagga: %global with_watchquagga 1 }
30:
31: # path defines
32: %define _sysconfdir /etc/quagga
33: %define zeb_src %{_builddir}/%{name}-%{quaggaversion}
34: %define zeb_rh_src %{zeb_src}/redhat
35: %define zeb_docs %{zeb_src}/doc
36:
37: # defines for configure
38: %define _localstatedir /var/run/quagga
39: ############################################################################
40:
41: #### Version String tweak
42: # Remove invalid characters form version string and replace with _
43: %{expand: %%define rpmversion %(echo '1.0.20160315' | tr [:blank:]- _ )}
44: %define quaggaversion 1.0.20160315
45:
46: #### Check version of texi2html
47: # Old versions don't support "--number-footnotes" option.
48: %{expand: %%global texi2htmlversion %(rpm -q --qf '%%{VERSION}' texi2html | cut -d. -f1 )}
49:
50: #### Check for systemd or init.d (upstart)
51: # Check for init.d (upstart) as used in CentOS 6 or systemd (ie CentOS 7)
52: %{expand: %%global initsystem %(if [[ `/sbin/init --version 2> /dev/null` =~ upstart ]]; then echo upstart; elif [[ `systemctl` =~ -\.mount ]]; then echo systemd; fi)}
53: #
54: # If init system is systemd, then always disable watchquagga
55: #
56: %if "%{initsystem}" == "systemd"
57: # Note: For systems with systemd, watchquagga will NOT be built. Systemd
58: # takes over the role of restarting crashed processes. Value will
59: # be overwritten with 0 below for systemd independent on the setting here
60: %global with_watchquagga 0
61: %endif
62:
63: # if FPM is enabled, then enable tcp_zebra as well
64: #
65: %if %{with_fpm}
66: %global with_tcp_zebra 1
67: %endif
68:
69: # misc internal defines
70: %{!?quagga_uid: %define quagga_uid 92 }
71: %{!?quagga_gid: %define quagga_gid 92 }
72: %{!?vty_gid: %define vty_gid 85 }
73:
74: %define daemon_list zebra ripd ospfd bgpd
75:
76: %define daemonv6_list ripngd ospf6d
77:
78: %if %{with_isisd}
79: %define daemon_isisd isisd
80: %else
81: %define daemon_isisd ""
82: %endif
83:
84: %if %{with_pimd}
85: %define daemon_pimd pimd
86: %else
87: %define daemon_pimd ""
88: %endif
89:
90: %if %{with_watchquagga}
91: %define daemon_watchquagga watchquagga
92: %else
93: %define daemon_watchquagga ""
94: %endif
95:
96: %define all_daemons %{daemon_list} %{daemonv6_list} %{daemon_isisd} %{daemon_pimd} %{daemon_watchquagga}
97:
98: # allow build dir to be kept
99: %{!?keep_build: %global keep_build 0 }
100:
101: #release sub-revision (the two digits after the CONFDATE)
102: %{!?release_rev: %define release_rev 01 }
103:
104: Summary: Routing daemon
105: Name: quagga
106: Version: %{rpmversion}
107: Release: 20160315%{release_rev}%{?dist}
108: License: GPLv2+
109: Group: System Environment/Daemons
110: Source0: http://download.savannah.gnu.org/releases/quagga/%{name}-%{quaggaversion}.tar.gz
111: URL: http://www.quagga.net
112: Requires: ncurses
113: Requires(pre): /sbin/install-info
114: Requires(preun): /sbin/install-info
115: Requires(post): /sbin/install-info
116: BuildRequires: texi2html texinfo autoconf patch libcap-devel groff
117: %if %{with_snmp}
118: BuildRequires: net-snmp-devel
119: Requires: net-snmp
120: %endif
121: %if %{with_vtysh}
122: BuildRequires: readline readline-devel ncurses ncurses-devel
123: Requires: ncurses
124: %endif
125: %if %{with_pam}
126: BuildRequires: pam-devel
127: Requires: pam
128: %endif
129: %if "%{initsystem}" == "systemd"
130: BuildRequires: systemd
131: Requires(post): systemd
132: Requires(preun): systemd
133: Requires(postun): systemd
134: %else
135: # Initscripts > 5.60 is required for IPv6 support
136: Requires(pre): initscripts >= 5.60
137: %endif
138: Provides: routingdaemon = %{version}-%{release}
139: BuildRoot: %{_tmppath}/%{name}-%{version}-root
140: Obsoletes: bird gated mrt zebra quagga-sysvinit
141:
142: %description
143: Quagga is a free software that manages TCP/IP based routing
144: protocol. It takes multi-server and multi-thread approach to resolve
145: the current complexity of the Internet.
146:
147: Quagga supports BGP4, OSPFv2, OSPFv3, ISIS, RIP, RIPng and PIM.
148:
149: Quagga is intended to be used as a Route Server and a Route Reflector. It is
150: not a toolkit, it provides full routing power under a new architecture.
151: Quagga by design has a process for each protocol.
152:
153: Quagga is a fork of GNU Zebra.
154:
155: %package contrib
156: Summary: contrib tools for quagga
157: Group: System Environment/Daemons
158:
159: %description contrib
160: Contributed/3rd party tools which may be of use with quagga.
161:
162: %package devel
163: Summary: Header and object files for quagga development
164: Group: System Environment/Daemons
165: Requires: %{name} = %{version}-%{release}
166:
167: %description devel
168: The quagga-devel package contains the header and object files neccessary for
169: developing OSPF-API and quagga applications.
170:
171: %prep
172: %setup -q -n quagga-%{quaggaversion}
173:
174: %build
175:
176: # For standard gcc verbosity, uncomment these lines:
177: #CFLAGS="%{optflags} -Wall -Wsign-compare -Wpointer-arith"
178: #CFLAGS="${CFLAGS} -Wbad-function-cast -Wwrite-strings"
179:
180: # For ultra gcc verbosity, uncomment these lines also:
181: #CFLAGS="${CFLAGS} -W -Wcast-qual -Wstrict-prototypes"
182: #CFLAGS="${CFLAGS} -Wmissing-declarations -Wmissing-noreturn"
183: #CFLAGS="${CFLAGS} -Wmissing-format-attribute -Wunreachable-code"
184: #CFLAGS="${CFLAGS} -Wpacked -Wpadded"
185:
186: %configure \
187: --sysconfdir=%{_sysconfdir} \
188: --libdir=%{_libdir} \
189: --libexecdir=%{_libexecdir} \
190: --localstatedir=%{_localstatedir} \
191: --disable-werror \
192: %if !%{with_shared}
193: --disable-shared \
194: %endif
195: %if %{with_snmp}
196: --enable-snmp \
197: %endif
198: %if %{with_multipath}
199: --enable-multipath=%{with_multipath} \
200: %endif
201: %if %{with_tcp_zebra}
202: --enable-tcp-zebra \
203: %endif
204: %if %{with_vtysh}
205: --enable-vtysh \
206: %endif
207: %if %{with_ospfclient}
208: --enable-ospfclient=yes \
209: %else
210: --enable-ospfclient=no\
211: %endif
212: %if %{with_ospfapi}
213: --enable-ospfapi=yes \
214: %else
215: --enable-ospfapi=no \
216: %endif
217: %if %{with_irdp}
218: --enable-irdp=yes \
219: %else
220: --enable-irdp=no \
221: %endif
222: %if %{with_rtadv}
223: --enable-rtadv=yes \
224: %else
225: --enable-rtadv=no \
226: %endif
227: %if %{with_isisd}
228: --enable-isisd \
229: %else
230: --disable-isisd \
231: %endif
232: %if %{with_pam}
233: --with-libpam \
234: %endif
235: %if 0%{?quagga_user:1}
236: --enable-user=%quagga_user \
237: --enable-group=%quagga_user \
238: %endif
239: %if 0%{?vty_group:1}
240: --enable-vty-group=%vty_group \
241: %endif
242: %if %{with_fpm}
243: --enable-fpm \
244: %else
245: --disable-fpm \
246: %endif
247: %if %{with_watchquagga}
248: --enable-watchquagga \
249: %else
250: --disable-watchquagga \
251: %endif
252: --enable-gcc-rdynamic
253:
254: make %{?_smp_mflags} MAKEINFO="makeinfo --no-split"
255:
256: pushd doc
257: %if %{texi2htmlversion} < 5
258: texi2html --number-sections quagga.texi
259: %else
260: texi2html --number-footnotes --number-sections quagga.texi
261: %endif
262: popd
263:
264: %install
265: mkdir -p %{buildroot}/etc/{quagga,sysconfig,logrotate.d,pam.d} \
266: %{buildroot}/var/log/quagga %{buildroot}%{_infodir}
267: make DESTDIR=%{buildroot} INSTALL="install -p" CP="cp -p" install
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: %else
501: %dir %attr(750,root,root) %{_sysconfdir}
502: %dir %attr(750,root,root) /var/log/quagga
503: %dir %attr(750,root,root) /var/run/quagga
504: %endif
505: %if 0%{?vty_group:1}
506: %attr(750,%quagga_user,%vty_group) %{_sysconfdir}/vtysh.conf.sample
507: %endif
508: %{_infodir}/quagga.info.gz
509: %{_mandir}/man*/*
510: %{_sbindir}/zebra
511: %{_sbindir}/ospfd
512: %{_sbindir}/ripd
513: %{_sbindir}/bgpd
514: %if %{with_watchquagga}
515: %{_sbindir}/watchquagga
516: %endif
517: %{_sbindir}/ripngd
518: %{_sbindir}/ospf6d
519: %if %{with_pimd}
520: %{_sbindir}/pimd
521: %endif
522: %if %{with_isisd}
523: %{_sbindir}/isisd
524: %endif
525: %if %{with_shared}
526: %attr(755,root,root) %{_libdir}/lib*.so
527: %attr(755,root,root) %{_libdir}/lib*.so.*
528: %endif
529: %if %{with_vtysh}
530: %{_bindir}/*
531: %endif
532: %config /etc/quagga/[!v]*
533: %if "%{initsystem}" == "systemd"
534: %config %{_unitdir}/*.service
535: %else
536: %config /etc/rc.d/init.d/zebra
537: %if %{with_watchquagga}
538: %config /etc/rc.d/init.d/watchquagga
539: %endif
540: %config /etc/rc.d/init.d/ripd
541: %config /etc/rc.d/init.d/ospfd
542: %config /etc/rc.d/init.d/bgpd
543: %config /etc/rc.d/init.d/ripngd
544: %config /etc/rc.d/init.d/ospf6d
545: %if %{with_isisd}
546: %config /etc/rc.d/init.d/isisd
547: %endif
548: %if %{with_pimd}
549: %config /etc/rc.d/init.d/pimd
550: %endif
551: %endif
552: %config(noreplace) /etc/sysconfig/quagga
553: %config(noreplace) /etc/pam.d/quagga
554: %config(noreplace) %attr(640,root,root) /etc/logrotate.d/*
555:
556: %files contrib
557: %defattr(-,root,root)
558: %doc tools
559:
560: %files devel
561: %defattr(-,root,root)
562: %if %{with_ospfclient}
563: %{_sbindir}/ospfclient
564: %endif
565: %{_libdir}/*.a
566: %{_libdir}/*.la
567: %dir %attr(755,root,root) %{_includedir}/%{name}
568: %{_includedir}/%name/*.h
569: %dir %attr(755,root,root) %{_includedir}/%{name}/ospfd
570: %{_includedir}/%name/ospfd/*.h
571: %if %{with_ospfapi}
572: %dir %attr(755,root,root) %{_includedir}/%{name}/ospfapi
573: %{_includedir}/%name/ospfapi/*.h
574: %endif
575:
576: %changelog
577: * Thu Feb 11 2016 Paul Jakma <paul@jakma.org> - %{version}
578: - remove with_ipv6 conditionals, always build v6
579: - Fix UTF-8 char in spec changelog
580: - remove quagga.pam.stack, long deprecated.
581:
582: * Thu Oct 22 2015 Martin Winter <mwinter@opensourcerouting.org>
583: - Cleanup configure: remove --enable-ipv6 (default now), --enable-nssa,
584: --enable-netlink
585: - Remove support for old fedora 4/5
586: - Fix for package nameing
587: - Fix Weekdays of previous changelogs (bogus dates)
588: - Add conditional logic to only build tex footnotes with supported texi2html
589: - Added pimd to files section and fix double listing of /var/lib*/quagga
590: - Numerous fixes to unify upstart/systemd startup into same spec file
591: - Only allow use of watchquagga for non-systemd systems. no need with systemd
592:
593: * Fri Sep 4 2015 Paul Jakma <paul@jakma.org>
594: - buildreq updates
595: - add a default define for with_pimd
596:
597: * Mon Sep 12 2005 Paul Jakma <paul@dishone.st>
598: - Steal some changes from Fedora spec file:
599: - Add with_rtadv variable
600: - Test for groups/users with getent before group/user adding
601: - Readline need not be an explicit prerequisite
602: - install-info delete should be postun, not preun
603:
604: * Wed Jan 12 2005 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
605: - on package upgrade, implement careful, phased restart logic
606: - use gcc -rdynamic flag when linking for better backtraces
607:
608: * Wed Dec 22 2004 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
609: - daemonv6_list should contain only IPv6 daemons
610:
611: * Wed Dec 22 2004 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
612: - watchquagga added
613: - on upgrade, all daemons should be condrestart'ed
614: - on removal, all daemons should be stopped
615:
616: * Mon Nov 08 2004 Paul Jakma <paul@dishone.st>
617: - Use makeinfo --html to generate quagga.html
618:
619: * Sun Nov 07 2004 Paul Jakma <paul@dishone.st>
620: - Fix with_ipv6 set to 0 build
621:
622: * Sat Oct 23 2004 Paul Jakma <paul@dishone.st>
623: - Update to 0.97.2
624:
625: * Sat Oct 23 2004 Andrew J. Schorr <aschorr@telemetry-investments.com>
626: - Make directories be owned by the packages concerned
627: - Update logrotate scripts to use correct path to killall and use pid files
628:
629: * Fri Oct 08 2004 Paul Jakma <paul@dishone.st>
630: - Update to 0.97.0
631:
632: * Wed Sep 15 2004 Paul Jakma <paul@dishone.st>
633: - build snmp support by default
634: - build irdp support
635: - build with shared libs
636: - devel subpackage for archives and headers
637:
638: * Thu Jan 08 2004 Paul Jakma <paul@dishone.st>
639: - updated sysconfig files to specify local dir
640: - added ospf_dump.c crash quick fix patch
641: - added ospfd persistent interface configuration patch
642:
643: * Tue Dec 30 2003 Paul Jakma <paul@dishone.st>
644: - sync to CVS
645: - integrate RH sysconfig patch to specify daemon options (RH)
646: - default to have vty listen only to 127.1 (RH)
647: - add user with fixed UID/GID (RH)
648: - create user with shell /sbin/nologin rather than /bin/false (RH)
649: - stop daemons on uninstall (RH)
650: - delete info file on preun, not postun to avoid deletion on upgrade. (RH)
651: - isisd added
652: - cleanup tasks carried out for every daemon
653:
654: * Sun Nov 2 2003 Paul Jakma <paul@dishone.st>
655: - Fix -devel package to include all files
656: - Sync to 0.96.4
657:
658: * Tue Aug 12 2003 Paul Jakma <paul@dishone.st>
659: - Renamed to Quagga
660: - Sync to Quagga release 0.96
661:
662: * Thu Mar 20 2003 Paul Jakma <paul@dishone.st>
663: - zebra privileges support
664:
665: * Tue Mar 18 2003 Paul Jakma <paul@dishone.st>
666: - Fix mem leak in 'show thread cpu'
667: - Ralph Keller's OSPF-API
668: - Amir: Fix configure.ac for net-snmp
669:
670: * Sat Mar 1 2003 Paul Jakma <paul@dishone.st>
671: - ospfd IOS prefix to interface matching for 'network' statement
672: - temporary fix for PtP and IPv6
673: - sync to zebra.org CVS
674:
675: * Mon Jan 20 2003 Paul Jakma <paul@dishone.st>
676: - update to latest cvs
677: - Yon's "show thread cpu" patch - 17217
678: - walk up tree - 17218
679: - ospfd NSSA fixes - 16681
680: - ospfd nsm fixes - 16824
681: - ospfd OLSA fixes and new feature - 16823
682: - KAME and ifindex fixes - 16525
683: - spec file changes to allow redhat files to be in tree
684:
685: * Sat Dec 28 2002 Alexander Hoogerhuis <alexh@ihatent.com>
686: - Added conditionals for building with(out) IPv6, vtysh, RIP, BGP
687: - Fixed up some build requirements (patch)
688: - Added conditional build requirements for vtysh / snmp
689: - Added conditional to files for _bindir depending on vtysh
690:
691: * Mon Nov 11 2002 Paul Jakma <paulj@alphyra.ie>
692: - update to latest CVS
693: - add Greg Troxel's md5 buffer copy/dup fix
694: - add RIPv1 fix
695: - add Frank's multicast flag fix
696:
697: * Wed Oct 09 2002 Paul Jakma <paulj@alphyra.ie>
698: - update to latest CVS
699: - timestamped crypt_seqnum patch
700: - oi->on_write_q fix
701:
702: * Mon Sep 30 2002 Paul Jakma <paulj@alphyra.ie>
703: - update to latest CVS
704: - add vtysh 'write-config (integrated|daemon)' patch
705: - always 'make rebuild' in vtysh/ to catch new commands
706:
707: * Fri Sep 13 2002 Paul Jakma <paulj@alphyra.ie>
708: - update to 0.93b
709:
710: * Wed Sep 11 2002 Paul Jakma <paulj@alphyra.ie>
711: - update to latest CVS
712: - add "/sbin/ip route flush proto zebra" to zebra RH init on startup
713:
714: * Sat Aug 24 2002 Paul Jakma <paulj@alphyra.ie>
715: - update to current CVS
716: - add OSPF point to multipoint patch
717: - add OSPF bugfixes
718: - add BGP hash optimisation patch
719:
720: * Fri Jun 14 2002 Paul Jakma <paulj@alphyra.ie>
721: - update to 0.93-pre1 / CVS
722: - add link state detection support
723: - add generic PtP and RFC3021 support
724: - various bug fixes
725:
726: * Thu Aug 09 2001 Elliot Lee <sopwith@redhat.com> 0.91a-6
727: - Fix bug #51336
728:
729: * Wed Aug 1 2001 Trond Eivind Glomsrød <teg@redhat.com> 0.91a-5
730: - Use generic initscript strings instead of initscript specific
731: ( "Starting foo: " -> "Starting $prog:" )
732:
733: * Fri Jul 27 2001 Elliot Lee <sopwith@redhat.com> 0.91a-4
734: - Bump the release when rebuilding into the dist.
735:
736: * Tue Feb 6 2001 Tim Powers <timp@redhat.com>
737: - built for Powertools
738:
739: * Sun Feb 4 2001 Pekka Savola <pekkas@netcore.fi>
740: - Hacked up from PLD Linux 0.90-1, Mandrake 0.90-1mdk and one from zebra.org.
741: - Update to 0.91a
742: - Very heavy modifications to init.d/*, .spec, pam, i18n, logrotate, etc.
743: - Should be quite Red Hat'isque now.
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>