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