]> git.proxmox.com Git - mirror_frr.git/blob - redhat/frr.spec.in
redhat: Always reference main frr start/stop script in /usr/lib/frr
[mirror_frr.git] / redhat / frr.spec.in
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_tcp_zebra: %global with_tcp_zebra 0 }
14 %{!?with_pam: %global with_pam 0 }
15 %{!?with_ospfclient: %global with_ospfclient 1 }
16 %{!?with_ospfapi: %global with_ospfapi 1 }
17 %{!?with_irdp: %global with_irdp 1 }
18 %{!?with_rtadv: %global with_rtadv 1 }
19 %{!?with_ldpd: %global with_ldpd 1 }
20 %{!?with_nhrpd: %global with_nhrpd 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 version of texi2html
48 # Old versions don't support "--number-footnotes" option.
49 %{expand: %%global texi2htmlversion %(if [[ -f /usr/bin/texi2html ]]; then /usr/bin/texi2html --version | cut -d. -f1; else echo 0; fi)}
50
51 #### Check for systemd or init.d (upstart)
52 # Check for init.d (upstart) as used in CentOS 6 or systemd (ie CentOS 7)
53 %{expand: %%global initsystem %(if [[ `/sbin/init --version 2> /dev/null` =~ upstart ]]; then echo upstart; elif [[ `file /sbin/init` =~ "symbolic link to \`../lib/systemd/systemd'" ]]; then echo systemd; elif [[ `systemctl` =~ -\.mount ]]; then echo systemd; fi)}
54 #
55 # If init system is systemd, then always disable watchfrr
56 #
57 %if "%{initsystem}" == "systemd"
58 # Note: For systems with systemd, watchfrr will NOT be built. Systemd
59 # takes over the role of restarting crashed processes. Value will
60 # be overwritten with 0 below for systemd independent on the setting here
61 %global with_watchfrr 1
62 %endif
63
64 #### Check for RedHat 6.x or CentOS 6.x - they are too old to support PIM.
65 #### Always disable it on these old systems unconditionally
66 %{expand: %%global redhat6 %(if [[ `cat /etc/redhat-release 2> /dev/null` =~ release\ 6\. ]]; then echo 6; else echo 0; fi)}
67 #
68 # if CentOS 6 / RedHat 6, then disable PIMd
69 %if "%{redhat6}" == "6"
70 %global with_pimd 0
71 %endif
72
73 # if FPM is enabled, then enable tcp_zebra as well
74 #
75 %if %{with_fpm}
76 %global with_tcp_zebra 1
77 %endif
78
79 # misc internal defines
80 %{!?frr_uid: %global frr_uid 92 }
81 %{!?frr_gid: %global frr_gid 92 }
82 %{!?vty_gid: %global vty_gid 85 }
83
84 %define daemon_list zebra ripd ospfd bgpd isisd ripngd ospf6d
85
86 %if %{with_ldpd}
87 %define daemon_ldpd ldpd
88 %else
89 %define daemon_ldpd ""
90 %endif
91
92 %if %{with_pimd}
93 %define daemon_pimd pimd
94 %else
95 %define daemon_pimd ""
96 %endif
97
98 %if %{with_nhrpd}
99 %define daemon_nhrpd nhrpd
100 %else
101 %define daemon_nhrpd ""
102 %endif
103
104 %if %{with_watchfrr}
105 %define daemon_watchfrr watchfrr
106 %else
107 %define daemon_watchfrr ""
108 %endif
109
110 %define all_daemons %{daemon_list} %{daemon_ldpd} %{daemon_pimd} %{daemon_nhrpd} %{daemon_watchfrr}
111
112 # allow build dir to be kept
113 %{!?keep_build: %global keep_build 0 }
114
115 #release sub-revision (the two digits after the CONFDATE)
116 %{!?release_rev: %global release_rev 01 }
117
118 Summary: Routing daemon
119 Name: frr
120 Version: %{rpmversion}
121 Release: @CONFDATE@%{release_rev}%{?dist}
122 License: GPLv2+
123 Group: System Environment/Daemons
124 Source0: http://www.frrouting.org/releases/frr/%{name}-%{frrversion}.tar.gz
125 URL: http://www.frrouting.org
126 Requires(pre): /sbin/install-info
127 Requires(preun): /sbin/install-info
128 Requires(post): /sbin/install-info
129 BuildRequires: gcc texi2html texinfo patch libcap-devel groff
130 BuildRequires: readline readline-devel ncurses ncurses-devel
131 BuildRequires: json-c-devel bison >= 2.7 flex make
132 Requires: ncurses json-c initscripts
133 %if %{with_pam}
134 BuildRequires: pam-devel
135 Requires: pam
136 %endif
137 %if "%{initsystem}" == "systemd"
138 BuildRequires: systemd systemd-devel
139 Requires(post): systemd
140 Requires(preun): systemd
141 Requires(postun): systemd
142 %else
143 # Initscripts > 5.60 is required for IPv6 support
144 Requires(pre): initscripts >= 5.60
145 %endif
146 Provides: routingdaemon = %{version}-%{release}
147 BuildRoot: %{_tmppath}/%{name}-%{version}-root
148 Obsoletes: bird gated mrt zebra frr-sysvinit
149
150 %description
151 FRRouting is a free software that manages TCP/IP based routing
152 protocol. It takes multi-server and multi-thread approach to resolve
153 the current complexity of the Internet.
154
155 FRRouting supports BGP4, OSPFv2, OSPFv3, ISIS, RIP, RIPng, PIM, LDP
156 NHRP and EIGRP.
157
158 FRRouting is a fork of Quagga.
159
160 %package contrib
161 Summary: contrib tools for frr
162 Group: System Environment/Daemons
163
164 %description contrib
165 Contributed/3rd party tools which may be of use with frr.
166
167 %package pythontools
168 Summary: python tools for frr
169 BuildRequires: python
170 Requires: python python-ipaddr
171 Group: System Environment/Daemons
172
173 %description pythontools
174 Contributed python 2.7 tools which may be of use with frr.
175
176 %package devel
177 Summary: Header and object files for frr development
178 Group: System Environment/Daemons
179 Requires: %{name} = %{version}-%{release}
180
181 %description devel
182 The frr-devel package contains the header and object files neccessary for
183 developing OSPF-API and frr applications.
184
185 %prep
186 %setup -q -n frr-%{frrversion}
187
188 %build
189
190 # For standard gcc verbosity, uncomment these lines:
191 #CFLAGS="%{optflags} -Wall -Wsign-compare -Wpointer-arith"
192 #CFLAGS="${CFLAGS} -Wbad-function-cast -Wwrite-strings"
193
194 # For ultra gcc verbosity, uncomment these lines also:
195 #CFLAGS="${CFLAGS} -W -Wcast-qual -Wstrict-prototypes"
196 #CFLAGS="${CFLAGS} -Wmissing-declarations -Wmissing-noreturn"
197 #CFLAGS="${CFLAGS} -Wmissing-format-attribute -Wunreachable-code"
198 #CFLAGS="${CFLAGS} -Wpacked -Wpadded"
199
200 %configure \
201 --sbindir=%{_sbindir} \
202 --sysconfdir=%{_sysconfdir} \
203 --libdir=%{_libdir} \
204 --libexecdir=%{_libexecdir} \
205 --localstatedir=%{_localstatedir} \
206 --disable-werror \
207 %if !%{with_shared}
208 --disable-shared \
209 %endif
210 %if %{with_multipath}
211 --enable-multipath=%{with_multipath} \
212 %endif
213 %if %{with_tcp_zebra}
214 --enable-tcp-zebra \
215 %endif
216 --enable-vtysh \
217 %if %{with_ospfclient}
218 --enable-ospfclient \
219 %else
220 --disable-ospfclient\
221 %endif
222 %if %{with_ospfapi}
223 --enable-ospfapi=yes \
224 %else
225 --enable-ospfapi=no \
226 %endif
227 %if %{with_irdp}
228 --enable-irdp=yes \
229 %else
230 --enable-irdp=no \
231 %endif
232 %if %{with_rtadv}
233 --enable-rtadv=yes \
234 %else
235 --enable-rtadv=no \
236 %endif
237 %if %{with_ldpd}
238 --enable-ldpd \
239 %else
240 --disable-ldpd \
241 %endif
242 %if %{with_pimd}
243 --enable-pimd \
244 %else
245 --disable-pimd \
246 %endif
247 %if %{with_nhrpd}
248 --enable-nhrpd \
249 %else
250 --disable-nhrpd \
251 %endif
252 %if %{with_pam}
253 --with-libpam \
254 %endif
255 %if 0%{?frr_user:1}
256 --enable-user=%frr_user \
257 --enable-group=%frr_user \
258 %endif
259 %if 0%{?vty_group:1}
260 --enable-vty-group=%vty_group \
261 %endif
262 %if %{with_fpm}
263 --enable-fpm \
264 %else
265 --disable-fpm \
266 %endif
267 %if %{with_watchfrr}
268 --enable-watchfrr \
269 %else
270 --disable-watchfrr \
271 %endif
272 %if %{with_bgp_vnc}
273 --enable-bgp-vnc \
274 %else
275 --disable-bgp-vnc \
276 %endif
277 --enable-gcc-rdynamic \
278 --enable-isisd=yes \
279 %if "%{initsystem}" == "systemd"
280 --enable-systemd=yes \
281 %endif
282 --enable-poll=yes
283
284 make %{?_smp_mflags} MAKEINFO="makeinfo --no-split"
285
286 pushd doc
287 %if %{texi2htmlversion} < 5
288 texi2html --number-sections frr.texi
289 %else
290 texi2html --number-footnotes --number-sections frr.texi
291 %endif
292 popd
293
294 %install
295 mkdir -p %{buildroot}/etc/{frr,sysconfig,logrotate.d,pam.d,default} \
296 %{buildroot}/var/log/frr %{buildroot}%{_infodir}
297 make DESTDIR=%{buildroot} INSTALL="install -p" CP="cp -p" install
298
299 # Remove this file, as it is uninstalled and causes errors when building on RH9
300 rm -rf %{buildroot}/usr/share/info/dir
301
302 # Remove debian init script if it was installed
303 rm -f %{buildroot}%{_sbindir}/frr
304
305 # install /etc sources
306 %if "%{initsystem}" == "systemd"
307 mkdir -p %{buildroot}%{_unitdir}
308 install %{zeb_rh_src}/frr.service \
309 %{buildroot}%{_unitdir}/frr.service
310 install %{zeb_rh_src}/frr.init \
311 %{buildroot}%{_sbindir}/frr
312 %else
313 mkdir -p %{buildroot}/etc/rc.d/init.d
314 install %{zeb_rh_src}/frr.init \
315 %{buildroot}%{_sbindir}/frr
316 ln -s %{_sbindir}/frr \
317 %{buildroot}/etc/rc.d/init.d/frr
318 %endif
319
320 install %{zeb_rh_src}/daemons %{buildroot}/etc/frr
321 install -m644 %{zeb_rh_src}/frr.pam \
322 %{buildroot}/etc/pam.d/frr
323 install -m644 %{zeb_rh_src}/frr.logrotate \
324 %{buildroot}/etc/logrotate.d/frr
325 install -d -m750 %{buildroot}/var/run/frr
326
327 %pre
328 # add vty_group
329 %if 0%{?vty_group:1}
330 if getent group %vty_group > /dev/null ; then : ; else \
331 /usr/sbin/groupadd -r -g %vty_gid %vty_group > /dev/null || : ; fi
332 %endif
333
334 # add frr user and group
335 %if 0%{?frr_user:1}
336 # Ensure that frr_gid gets correctly allocated
337 if getent group %frr_user >/dev/null; then : ; else \
338 /usr/sbin/groupadd -g %frr_gid %frr_user > /dev/null || : ; \
339 fi
340 if getent passwd %frr_user >/dev/null ; then : ; else \
341 /usr/sbin/useradd -u %frr_uid -g %frr_gid \
342 -M -r -s /sbin/nologin -c "FRRouting suite" \
343 -d %_localstatedir %frr_user 2> /dev/null || : ; \
344 fi
345 %if 0%{?vty_group:1}
346 /usr/sbin/usermod -a -G %vty_group %frr_user
347 %endif
348 %endif
349
350
351 %post
352 # zebra_spec_add_service <service name> <port/proto> <comment>
353 # e.g. zebra_spec_add_service zebrasrv 2600/tcp "zebra service"
354
355 zebra_spec_add_service ()
356 {
357 # Add port /etc/services entry if it isn't already there
358 if [ -f /etc/services ] && \
359 ! %__sed -e 's/#.*$//' /etc/services | %__grep -wq $1 ; then
360 echo "$1 $2 # $3" >> /etc/services
361 fi
362 }
363
364 zebra_spec_add_service zebrasrv 2600/tcp "zebra service"
365 zebra_spec_add_service zebra 2601/tcp "zebra vty"
366 zebra_spec_add_service ripd 2602/tcp "RIPd vty"
367 zebra_spec_add_service ripngd 2603/tcp "RIPngd vty"
368 zebra_spec_add_service ospfd 2604/tcp "OSPFd vty"
369 zebra_spec_add_service bgpd 2605/tcp "BGPd vty"
370 zebra_spec_add_service ospf6d 2606/tcp "OSPF6d vty"
371 %if %{with_ospfapi}
372 zebra_spec_add_service ospfapi 2607/tcp "OSPF-API"
373 %endif
374 zebra_spec_add_service isisd 2608/tcp "ISISd vty"
375 %if %{with_nhrpd}
376 zebra_spec_add_service nhrpd 2610/tcp "NHRPd vty"
377 %endif
378 %if %{with_pimd}
379 zebra_spec_add_service pimd 2611/tcp "PIMd vty"
380 %endif
381 %if %{with_ldpd}
382 zebra_spec_add_service ldpd 2612/tcp "LDPd vty"
383 %endif
384
385 %if "%{initsystem}" == "systemd"
386 for daemon in %all_daemons ; do
387 %systemd_post frr.service
388 done
389 %else
390 /sbin/chkconfig --add frr
391 %endif
392
393 /sbin/install-info %{_infodir}/frr.info.gz %{_infodir}/dir
394
395 # Create dummy files if they don't exist so basic functions can be used.
396 if [ ! -e %{_sysconfdir}/zebra.conf ]; then
397 echo "hostname `hostname`" > %{_sysconfdir}/zebra.conf
398 %if 0%{?frr_user:1}
399 chown %frr_user:%frr_user %{_sysconfdir}/zebra.conf*
400 %endif
401 chmod 640 %{_sysconfdir}/zebra.conf*
402 fi
403 for daemon in %{all_daemons} ; do
404 if [ x"${daemon}" != x"" ] ; then
405 if [ ! -e %{_sysconfdir}/${daemon}.conf ]; then
406 touch %{_sysconfdir}/${daemon}.conf
407 %if 0%{?frr_user:1}
408 chown %frr_user:%frr_user %{_sysconfdir}/${daemon}.conf*
409 %endif
410 fi
411 fi
412 done
413 %if 0%{?frr_user:1}
414 chown %frr_user:%frr_user %{_sysconfdir}/daemons
415 %endif
416
417 %if %{with_watchfrr}
418 # No config for watchfrr - this is part of /etc/sysconfig/frr
419 rm -f %{_sysconfdir}/watchfrr.*
420 %endif
421
422 if [ ! -e %{_sysconfdir}/vtysh.conf ]; then
423 touch %{_sysconfdir}/vtysh.conf
424 chmod 640 %{_sysconfdir}/vtysh.conf
425 %if 0%{?frr_user:1}
426 %if 0%{?vty_group:1}
427 chown %{frr_user}:%{vty_group} %{_sysconfdir}/vtysh.conf*
428 %endif
429 %endif
430 fi
431
432 %postun
433 if [ "$1" -ge 1 ]; then
434 #
435 # Upgrade from older version
436 #
437 %if "%{initsystem}" == "systemd"
438 ##
439 ## Systemd Version
440 ##
441 %systemd_postun frr.service
442 %else
443 ##
444 ## init.d Version
445 ##
446 /etc/rc.d/init.d/frr restart >/dev/null 2>&1
447 %endif
448 :
449 fi
450
451 %preun
452 %if "%{initsystem}" == "systemd"
453 ##
454 ## Systemd Version
455 ##
456 if [ "$1" = "0" ]; then
457 for daemon in %all_daemons ; do
458 if [ x"${daemon}" != x"" ] ; then
459 %systemd_preun frr.service
460 fi
461 done
462 fi
463 %else
464 ##
465 ## init.d Version
466 ##
467 if [ "$1" = "0" ]; then
468 /etc/rc.d/init.d/frr stop >/dev/null 2>&1
469 /sbin/chkconfig --del frr
470 fi
471 %endif
472 /sbin/install-info --delete %{_infodir}/frr.info.gz %{_infodir}/dir
473
474 %clean
475 %if !0%{?keep_build:1}
476 rm -rf %{buildroot}
477 %endif
478
479 %files
480 %defattr(-,root,root)
481 %doc */*.sample* AUTHORS COPYING
482 %doc doc/frr.html
483 %doc doc/mpls
484 %doc ChangeLog INSTALL NEWS README REPORTING-BUGS SERVICES
485 %if 0%{?frr_user:1}
486 %dir %attr(751,%frr_user,%frr_user) %{_sysconfdir}
487 %dir %attr(750,%frr_user,%frr_user) /var/log/frr
488 %dir %attr(751,%frr_user,%frr_user) /var/run/frr
489 %else
490 %dir %attr(750,root,root) %{_sysconfdir}
491 %dir %attr(750,root,root) /var/log/frr
492 %dir %attr(750,root,root) /var/run/frr
493 %endif
494 %if 0%{?vty_group:1}
495 %attr(750,%frr_user,%vty_group) %{_sysconfdir}/vtysh.conf.sample
496 %endif
497 %{_infodir}/frr.info.gz
498 %{_mandir}/man*/*
499 %{_sbindir}/zebra
500 %{_sbindir}/ospfd
501 %{_sbindir}/ripd
502 %{_sbindir}/bgpd
503 %exclude %{_sbindir}/ssd
504 %if %{with_watchfrr}
505 %{_sbindir}/watchfrr
506 %endif
507 %{_sbindir}/ripngd
508 %{_sbindir}/ospf6d
509 %if %{with_pimd}
510 %{_sbindir}/pimd
511 %endif
512 %{_sbindir}/isisd
513 %if %{with_ldpd}
514 %{_sbindir}/ldpd
515 %endif
516 %if %{with_nhrpd}
517 %{_sbindir}/nhrpd
518 %endif
519 %if %{with_shared}
520 %{_libdir}/lib*.so
521 %{_libdir}/lib*.so.0
522 %attr(755,root,root) %{_libdir}/lib*.so.0.*
523 %endif
524 %{_bindir}/*
525 %config(noreplace) /etc/frr/[!v]*.conf*
526 %config(noreplace) %attr(750,%frr_user,%frr_user) /etc/frr/daemons
527 %if "%{initsystem}" == "systemd"
528 %{_unitdir}/frr.service
529 %{_sbindir}/frr
530 %else
531 /etc/rc.d/init.d/frr
532 %{_sbindir}/frr
533 %endif
534 %config(noreplace) /etc/pam.d/frr
535 %config(noreplace) %attr(640,root,root) /etc/logrotate.d/*
536
537 %files contrib
538 %defattr(-,root,root)
539 %doc tools
540
541 %files pythontools
542 %defattr(-,root,root)
543 %{_sbindir}/frr-reload.py
544 %{_sbindir}/frr-reload.pyc
545 %{_sbindir}/frr-reload.pyo
546
547 %files devel
548 %defattr(-,root,root)
549 %if %{with_ospfclient}
550 %{_sbindir}/ospfclient
551 %endif
552 %{_libdir}/*.a
553 %{_libdir}/*.la
554 %dir %attr(755,root,root) %{_includedir}/%{name}
555 %{_includedir}/%name/*.h
556 %dir %attr(755,root,root) %{_includedir}/%{name}/ospfd
557 %{_includedir}/%name/ospfd/*.h
558 %if %{with_ospfapi}
559 %dir %attr(755,root,root) %{_includedir}/%{name}/ospfapi
560 %{_includedir}/%name/ospfapi/*.h
561 %endif
562
563 %changelog
564 * Mon Jun 5 2017 Martin Winter <mwinter@opensourcerouting.org> - %{version}
565 - added NHRP daemon
566
567 * Mon Apr 17 2017 Martin Winter <mwinter@opensourcerouting.org>
568 - new subpackage frr-pythontools with python 2.7 restart script
569 - remove PIMd from CentOS/RedHat 6 RPM packages (won't work - too old)
570 - converted to single frr init script (not per daemon) based on debian init script
571 - created systemd service file for systemd based systems (which uses init script)
572 - Various other RPM package fixes for FRR 2.0
573
574 * Fri Jan 6 2017 Martin Winter <mwinter@opensourcerouting.org>
575 - Renamed to frr for FRRouting fork of Quagga
576
577 * Thu Feb 11 2016 Paul Jakma <paul@jakma.org>
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 watchfrr 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 - watchfrr 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.