]> git.proxmox.com Git - mirror_frr.git/blob - redhat/frr.spec.in
redhat: systemd file should not be executable
[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_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
127 Summary: Routing daemon
128 Name: frr
129 Version: %{rpmversion}
130 Release: @CONFDATE@%{release_rev}%{?dist}
131 License: GPLv2+
132 Group: System Environment/Daemons
133 Source0: http://www.frrouting.org/releases/frr/%{name}-%{frrversion}.tar.gz
134 URL: http://www.frrouting.org
135 Requires(pre): /sbin/install-info
136 Requires(preun): /sbin/install-info
137 Requires(post): /sbin/install-info
138 BuildRequires: gcc texi2html texinfo patch libcap-devel groff
139 BuildRequires: readline readline-devel ncurses ncurses-devel
140 BuildRequires: 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
143 BuildRequires: python27-devel
144 %else
145 BuildRequires: python-devel >= 2.7
146 %endif
147 Requires: ncurses json-c initscripts
148 %if %{with_pam}
149 BuildRequires: pam-devel
150 Requires: pam
151 %endif
152 %if "%{initsystem}" == "systemd"
153 BuildRequires: systemd systemd-devel
154 Requires(post): systemd
155 Requires(preun): systemd
156 Requires(postun): systemd
157 %else
158 # Initscripts > 5.60 is required for IPv6 support
159 Requires(pre): initscripts >= 5.60
160 %endif
161 Provides: routingdaemon = %{version}-%{release}
162 BuildRoot: %{_tmppath}/%{name}-%{version}-root
163 Obsoletes: gated mrt zebra frr-sysvinit
164 Conflicts: bird
165
166 %description
167 FRRouting is a free software that manages TCP/IP based routing
168 protocol. It takes multi-server and multi-thread approach to resolve
169 the current complexity of the Internet.
170
171 FRRouting supports BGP4, OSPFv2, OSPFv3, ISIS, RIP, RIPng, PIM, LDP
172 NHRP and EIGRP.
173
174 FRRouting is a fork of Quagga.
175
176 %package contrib
177 Summary: contrib tools for frr
178 Group: System Environment/Daemons
179
180 %description contrib
181 Contributed/3rd party tools which may be of use with frr.
182
183 %package pythontools
184 Summary: python tools for frr
185 BuildRequires: python
186 Requires: python python-ipaddr
187 Group: System Environment/Daemons
188
189 %description pythontools
190 Contributed python 2.7 tools which may be of use with frr.
191
192 %package devel
193 Summary: Header and object files for frr development
194 Group: System Environment/Daemons
195 Requires: %{name} = %{version}-%{release}
196
197 %description devel
198 The frr-devel package contains the header and object files neccessary for
199 developing 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
302 make %{?_smp_mflags} MAKEINFO="makeinfo --no-split"
303
304 pushd doc
305 if [ $(texi2html --version | cut -d. -f1) -lt 5 ]; then
306 texi2html --number-sections frr.texi
307 else
308 texi2html --number-footnotes --number-sections frr.texi
309 fi
310 popd
311
312 %install
313 mkdir -p %{buildroot}/etc/{frr,sysconfig,logrotate.d,pam.d,default} \
314 %{buildroot}/var/log/frr %{buildroot}%{_infodir}
315 make 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
318 rm -rf %{buildroot}/usr/share/info/dir
319
320 # Remove debian init script if it was installed
321 rm -f %{buildroot}%{_sbindir}/frr
322
323 # kill bogus libtool files for modules
324 rm -f %{buildroot}%{_libdir}/frr/modules/*.la
325
326 # install /etc sources
327 %if "%{initsystem}" == "systemd"
328 mkdir -p %{buildroot}%{_unitdir}
329 install -m644 %{zeb_rh_src}/frr.service \
330 %{buildroot}%{_unitdir}/frr.service
331 install %{zeb_rh_src}/frr.init \
332 %{buildroot}%{_sbindir}/frr
333 %else
334 mkdir -p %{buildroot}/etc/rc.d/init.d
335 install %{zeb_rh_src}/frr.init \
336 %{buildroot}%{_sbindir}/frr
337 ln -s %{_sbindir}/frr \
338 %{buildroot}/etc/rc.d/init.d/frr
339 %endif
340
341 install %{zeb_rh_src}/daemons %{buildroot}/etc/frr
342 install -m644 %{zeb_rh_src}/frr.pam \
343 %{buildroot}/etc/pam.d/frr
344 install -m644 %{zeb_rh_src}/frr.logrotate \
345 %{buildroot}/etc/logrotate.d/frr
346 install -d -m750 %{buildroot}/var/run/frr
347
348 %pre
349 # add vty_group
350 %if 0%{?vty_group:1}
351 if 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
358 if getent group %frr_user >/dev/null; then : ; else \
359 /usr/sbin/groupadd -g %frr_gid %frr_user > /dev/null || : ; \
360 fi
361 if 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 || : ; \
365 fi
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
376 zebra_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
385 zebra_spec_add_service zebrasrv 2600/tcp "zebra service"
386 zebra_spec_add_service zebra 2601/tcp "zebra vty"
387 zebra_spec_add_service ripd 2602/tcp "RIPd vty"
388 zebra_spec_add_service ripngd 2603/tcp "RIPngd vty"
389 zebra_spec_add_service ospfd 2604/tcp "OSPFd vty"
390 zebra_spec_add_service bgpd 2605/tcp "BGPd vty"
391 zebra_spec_add_service ospf6d 2606/tcp "OSPF6d vty"
392 %if %{with_ospfapi}
393 zebra_spec_add_service ospfapi 2607/tcp "OSPF-API"
394 %endif
395 zebra_spec_add_service isisd 2608/tcp "ISISd vty"
396 %if %{with_babeld}
397 zebra_spec_add_service babeld 2609/tcp "BABELd vty"
398 %endif
399 %if %{with_nhrpd}
400 zebra_spec_add_service nhrpd 2610/tcp "NHRPd vty"
401 %endif
402 %if %{with_pimd}
403 zebra_spec_add_service pimd 2611/tcp "PIMd vty"
404 %endif
405 %if %{with_ldpd}
406 zebra_spec_add_service ldpd 2612/tcp "LDPd vty"
407 %endif
408 %if %{with_eigrpd}
409 zebra_spec_add_service eigrpd 2613/tcp "EIGRPd vty"
410 %endif
411
412 %if "%{initsystem}" == "systemd"
413 for daemon in %all_daemons ; do
414 %systemd_post frr.service
415 done
416 %else
417 /sbin/chkconfig --add frr
418 %endif
419
420 /sbin/install-info %{_infodir}/frr.info.gz %{_infodir}/dir
421
422 # Create dummy files if they don't exist so basic functions can be used.
423 if [ ! -e %{_sysconfdir}/zebra.conf ]; then
424 echo "hostname `hostname`" > %{_sysconfdir}/zebra.conf
425 %if 0%{?frr_user:1}
426 chown %frr_user:%frr_user %{_sysconfdir}/zebra.conf*
427 %endif
428 chmod 640 %{_sysconfdir}/zebra.conf*
429 fi
430 for daemon in %{all_daemons} ; do
431 if [ x"${daemon}" != x"" ] ; then
432 if [ ! -e %{_sysconfdir}/${daemon}.conf ]; then
433 touch %{_sysconfdir}/${daemon}.conf
434 %if 0%{?frr_user:1}
435 chown %frr_user:%frr_user %{_sysconfdir}/${daemon}.conf*
436 %endif
437 fi
438 fi
439 done
440 %if 0%{?frr_user:1}
441 chown %frr_user:%frr_user %{_sysconfdir}/daemons
442 %endif
443
444 %if %{with_watchfrr}
445 # No config for watchfrr - this is part of /etc/sysconfig/frr
446 rm -f %{_sysconfdir}/watchfrr.*
447 %endif
448
449 if [ ! -e %{_sysconfdir}/vtysh.conf ]; then
450 touch %{_sysconfdir}/vtysh.conf
451 chmod 640 %{_sysconfdir}/vtysh.conf
452 %if 0%{?frr_user:1}
453 %if 0%{?vty_group:1}
454 chown %{frr_user}:%{vty_group} %{_sysconfdir}/vtysh.conf*
455 %endif
456 %endif
457 fi
458
459 %postun
460 if [ "$1" -ge 1 ]; then
461 #
462 # Upgrade from older version
463 #
464 %if "%{initsystem}" == "systemd"
465 ##
466 ## Systemd Version
467 ##
468 %systemd_postun frr.service
469 %else
470 ##
471 ## init.d Version
472 ##
473 /etc/rc.d/init.d/frr restart >/dev/null 2>&1
474 %endif
475 :
476 fi
477
478 %preun
479 %if "%{initsystem}" == "systemd"
480 ##
481 ## Systemd Version
482 ##
483 if [ "$1" = "0" ]; then
484 for daemon in %all_daemons ; do
485 if [ x"${daemon}" != x"" ] ; then
486 %systemd_preun frr.service
487 fi
488 done
489 fi
490 %else
491 ##
492 ## init.d Version
493 ##
494 if [ "$1" = "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}
503 rm -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 * Mon Jun 5 2017 Martin Winter <mwinter@opensourcerouting.org> - %{version}
603 - added NHRP and EIGRP daemon
604
605 * Mon Apr 17 2017 Martin Winter <mwinter@opensourcerouting.org>
606 - new subpackage frr-pythontools with python 2.7 restart script
607 - remove PIMd from CentOS/RedHat 6 RPM packages (won't work - too old)
608 - converted to single frr init script (not per daemon) based on debian init script
609 - created systemd service file for systemd based systems (which uses init script)
610 - Various other RPM package fixes for FRR 2.0
611
612 * Fri Jan 6 2017 Martin Winter <mwinter@opensourcerouting.org>
613 - Renamed to frr for FRRouting fork of Quagga
614
615 * Thu Feb 11 2016 Paul Jakma <paul@jakma.org>
616 - remove with_ipv6 conditionals, always build v6
617 - Fix UTF-8 char in spec changelog
618 - remove quagga.pam.stack, long deprecated.
619
620 * Thu Oct 22 2015 Martin Winter <mwinter@opensourcerouting.org>
621 - Cleanup configure: remove --enable-ipv6 (default now), --enable-nssa,
622 --enable-netlink
623 - Remove support for old fedora 4/5
624 - Fix for package nameing
625 - Fix Weekdays of previous changelogs (bogus dates)
626 - Add conditional logic to only build tex footnotes with supported texi2html
627 - Added pimd to files section and fix double listing of /var/lib*/quagga
628 - Numerous fixes to unify upstart/systemd startup into same spec file
629 - Only allow use of watchfrr for non-systemd systems. no need with systemd
630
631 * Fri Sep 4 2015 Paul Jakma <paul@jakma.org>
632 - buildreq updates
633 - add a default define for with_pimd
634
635 * Mon Sep 12 2005 Paul Jakma <paul@dishone.st>
636 - Steal some changes from Fedora spec file:
637 - Add with_rtadv variable
638 - Test for groups/users with getent before group/user adding
639 - Readline need not be an explicit prerequisite
640 - install-info delete should be postun, not preun
641
642 * Wed Jan 12 2005 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
643 - on package upgrade, implement careful, phased restart logic
644 - use gcc -rdynamic flag when linking for better backtraces
645
646 * Wed Dec 22 2004 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
647 - daemonv6_list should contain only IPv6 daemons
648
649 * Wed Dec 22 2004 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
650 - watchfrr added
651 - on upgrade, all daemons should be condrestart'ed
652 - on removal, all daemons should be stopped
653
654 * Mon Nov 08 2004 Paul Jakma <paul@dishone.st>
655 - Use makeinfo --html to generate quagga.html
656
657 * Sun Nov 07 2004 Paul Jakma <paul@dishone.st>
658 - Fix with_ipv6 set to 0 build
659
660 * Sat Oct 23 2004 Paul Jakma <paul@dishone.st>
661 - Update to 0.97.2
662
663 * Sat Oct 23 2004 Andrew J. Schorr <aschorr@telemetry-investments.com>
664 - Make directories be owned by the packages concerned
665 - Update logrotate scripts to use correct path to killall and use pid files
666
667 * Fri Oct 08 2004 Paul Jakma <paul@dishone.st>
668 - Update to 0.97.0
669
670 * Wed Sep 15 2004 Paul Jakma <paul@dishone.st>
671 - build snmp support by default
672 - build irdp support
673 - build with shared libs
674 - devel subpackage for archives and headers
675
676 * Thu Jan 08 2004 Paul Jakma <paul@dishone.st>
677 - updated sysconfig files to specify local dir
678 - added ospf_dump.c crash quick fix patch
679 - added ospfd persistent interface configuration patch
680
681 * Tue Dec 30 2003 Paul Jakma <paul@dishone.st>
682 - sync to CVS
683 - integrate RH sysconfig patch to specify daemon options (RH)
684 - default to have vty listen only to 127.1 (RH)
685 - add user with fixed UID/GID (RH)
686 - create user with shell /sbin/nologin rather than /bin/false (RH)
687 - stop daemons on uninstall (RH)
688 - delete info file on preun, not postun to avoid deletion on upgrade. (RH)
689 - isisd added
690 - cleanup tasks carried out for every daemon
691
692 * Sun Nov 2 2003 Paul Jakma <paul@dishone.st>
693 - Fix -devel package to include all files
694 - Sync to 0.96.4
695
696 * Tue Aug 12 2003 Paul Jakma <paul@dishone.st>
697 - Renamed to Quagga
698 - Sync to Quagga release 0.96
699
700 * Thu Mar 20 2003 Paul Jakma <paul@dishone.st>
701 - zebra privileges support
702
703 * Tue Mar 18 2003 Paul Jakma <paul@dishone.st>
704 - Fix mem leak in 'show thread cpu'
705 - Ralph Keller's OSPF-API
706 - Amir: Fix configure.ac for net-snmp
707
708 * Sat Mar 1 2003 Paul Jakma <paul@dishone.st>
709 - ospfd IOS prefix to interface matching for 'network' statement
710 - temporary fix for PtP and IPv6
711 - sync to zebra.org CVS
712
713 * Mon Jan 20 2003 Paul Jakma <paul@dishone.st>
714 - update to latest cvs
715 - Yon's "show thread cpu" patch - 17217
716 - walk up tree - 17218
717 - ospfd NSSA fixes - 16681
718 - ospfd nsm fixes - 16824
719 - ospfd OLSA fixes and new feature - 16823
720 - KAME and ifindex fixes - 16525
721 - spec file changes to allow redhat files to be in tree
722
723 * Sat Dec 28 2002 Alexander Hoogerhuis <alexh@ihatent.com>
724 - Added conditionals for building with(out) IPv6, vtysh, RIP, BGP
725 - Fixed up some build requirements (patch)
726 - Added conditional build requirements for vtysh / snmp
727 - Added conditional to files for _bindir depending on vtysh
728
729 * Mon Nov 11 2002 Paul Jakma <paulj@alphyra.ie>
730 - update to latest CVS
731 - add Greg Troxel's md5 buffer copy/dup fix
732 - add RIPv1 fix
733 - add Frank's multicast flag fix
734
735 * Wed Oct 09 2002 Paul Jakma <paulj@alphyra.ie>
736 - update to latest CVS
737 - timestamped crypt_seqnum patch
738 - oi->on_write_q fix
739
740 * Mon Sep 30 2002 Paul Jakma <paulj@alphyra.ie>
741 - update to latest CVS
742 - add vtysh 'write-config (integrated|daemon)' patch
743 - always 'make rebuild' in vtysh/ to catch new commands
744
745 * Fri Sep 13 2002 Paul Jakma <paulj@alphyra.ie>
746 - update to 0.93b
747
748 * Wed Sep 11 2002 Paul Jakma <paulj@alphyra.ie>
749 - update to latest CVS
750 - add "/sbin/ip route flush proto zebra" to zebra RH init on startup
751
752 * Sat Aug 24 2002 Paul Jakma <paulj@alphyra.ie>
753 - update to current CVS
754 - add OSPF point to multipoint patch
755 - add OSPF bugfixes
756 - add BGP hash optimisation patch
757
758 * Fri Jun 14 2002 Paul Jakma <paulj@alphyra.ie>
759 - update to 0.93-pre1 / CVS
760 - add link state detection support
761 - add generic PtP and RFC3021 support
762 - various bug fixes
763
764 * Thu Aug 09 2001 Elliot Lee <sopwith@redhat.com> 0.91a-6
765 - Fix bug #51336
766
767 * Wed Aug 1 2001 Trond Eivind Glomsrød <teg@redhat.com> 0.91a-5
768 - Use generic initscript strings instead of initscript specific
769 ( "Starting foo: " -> "Starting $prog:" )
770
771 * Fri Jul 27 2001 Elliot Lee <sopwith@redhat.com> 0.91a-4
772 - Bump the release when rebuilding into the dist.
773
774 * Tue Feb 6 2001 Tim Powers <timp@redhat.com>
775 - built for Powertools
776
777 * Sun Feb 4 2001 Pekka Savola <pekkas@netcore.fi>
778 - Hacked up from PLD Linux 0.90-1, Mandrake 0.90-1mdk and one from zebra.org.
779 - Update to 0.91a
780 - Very heavy modifications to init.d/*, .spec, pam, i18n, logrotate, etc.
781 - Should be quite Red Hat'isque now.