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