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