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