]> git.proxmox.com Git - mirror_frr.git/blob - redhat/frr.spec.in
zebra: create zebra_cumulus_mlag module
[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_cumulus_mlag.so
637 %{_libdir}/frr/modules/zebra_irdp.so
638 %{_libdir}/frr/modules/bgpd_bmp.so
639 %{_bindir}/*
640 %config(noreplace) %{configdir}/[!v]*.conf*
641 %config(noreplace) %attr(750,%{frr_user},%{frr_user}) %{configdir}/daemons
642 %if "%{initsystem}" == "systemd"
643 %{_unitdir}/frr.service
644 %else
645 %{_initddir}/frr
646 %endif
647 %config(noreplace) %{_sysconfdir}/pam.d/frr
648 %config(noreplace) %{_sysconfdir}/logrotate.d/frr
649 %{_sbindir}/frr-reload
650 %{_sbindir}/frrcommon.sh
651 %{_sbindir}/frrinit.sh
652 %{_sbindir}/watchfrr.sh
653
654
655 %files contrib
656 %doc tools
657
658
659 %files pythontools
660 %{_sbindir}/generate_support_bundle.py
661 %{_sbindir}/generate_support_bundle.pyc
662 %{_sbindir}/generate_support_bundle.pyo
663 %{_sbindir}/frr-reload.py
664 %{_sbindir}/frr-reload.pyc
665 %{_sbindir}/frr-reload.pyo
666
667
668 %files devel
669 %{_libdir}/lib*.so
670 %dir %{_includedir}/%{name}
671 %{_includedir}/%{name}/*.h
672 %dir %{_includedir}/%{name}/ospfd
673 %{_includedir}/%{name}/ospfd/*.h
674 %if %{with_ospfapi}
675 %dir %{_includedir}/%{name}/ospfapi
676 %{_includedir}/%{name}/ospfapi/*.h
677 %endif
678 %if %{with_eigrpd}
679 %dir %{_includedir}/%{name}/eigrpd
680 %{_includedir}/%{name}/eigrpd/*.h
681 %endif
682
683
684 %changelog
685 * Sun May 28 2018 Rafael Zalamena <rzalamena@opensourcerouting.org> - %{version}
686 - Add BFDd support
687
688 * Sun May 20 2018 Martin Winter <mwinter@opensourcerouting.org>
689 - Fixed RPKI RPM build
690
691 * Sun Mar 4 2018 Martin Winter <mwinter@opensourcerouting.org>
692 - Add option to build with RPKI (default: disabled)
693
694 * Tue Feb 20 2018 Martin Winter <mwinter@opensourcerouting.org>
695 - Adapt to new documentation structure based on Sphinx
696
697 * Fri Oct 20 2017 Martin Winter <mwinter@opensourcerouting.org>
698 - Fix script location for watchfrr restart functions in daemon config
699 - Fix postun script to restart frr during upgrade
700
701 * Mon Jun 5 2017 Martin Winter <mwinter@opensourcerouting.org>
702 - added NHRP and EIGRP daemon
703
704 * Mon Apr 17 2017 Martin Winter <mwinter@opensourcerouting.org>
705 - new subpackage frr-pythontools with python 2.7 restart script
706 - remove PIMd from CentOS/RedHat 6 RPM packages (won't work - too old)
707 - converted to single frr init script (not per daemon) based on debian init script
708 - created systemd service file for systemd based systems (which uses init script)
709 - Various other RPM package fixes for FRR 2.0
710
711 * Fri Jan 6 2017 Martin Winter <mwinter@opensourcerouting.org>
712 - Renamed to frr for FRRouting fork of Quagga
713
714 * Thu Feb 11 2016 Paul Jakma <paul@jakma.org>
715 - remove with_ipv6 conditionals, always build v6
716 - Fix UTF-8 char in spec changelog
717 - remove quagga.pam.stack, long deprecated.
718
719 * Thu Oct 22 2015 Martin Winter <mwinter@opensourcerouting.org>
720 - Cleanup configure: remove --enable-ipv6 (default now), --enable-nssa,
721 --enable-netlink
722 - Remove support for old fedora 4/5
723 - Fix for package nameing
724 - Fix Weekdays of previous changelogs (bogus dates)
725 - Add conditional logic to only build tex footnotes with supported texi2html
726 - Added pimd to files section and fix double listing of /var/lib*/quagga
727 - Numerous fixes to unify upstart/systemd startup into same spec file
728 - Only allow use of watchfrr for non-systemd systems. no need with systemd
729
730 * Fri Sep 4 2015 Paul Jakma <paul@jakma.org>
731 - buildreq updates
732 - add a default define for with_pimd
733
734 * Mon Sep 12 2005 Paul Jakma <paul@dishone.st>
735 - Steal some changes from Fedora spec file:
736 - Add with_rtadv variable
737 - Test for groups/users with getent before group/user adding
738 - Readline need not be an explicit prerequisite
739 - install-info delete should be postun, not preun
740
741 * Wed Jan 12 2005 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
742 - on package upgrade, implement careful, phased restart logic
743 - use gcc -rdynamic flag when linking for better backtraces
744
745 * Wed Dec 22 2004 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
746 - daemonv6_list should contain only IPv6 daemons
747
748 * Wed Dec 22 2004 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
749 - watchfrr added
750 - on upgrade, all daemons should be condrestart'ed
751 - on removal, all daemons should be stopped
752
753 * Mon Nov 08 2004 Paul Jakma <paul@dishone.st>
754 - Use makeinfo --html to generate quagga.html
755
756 * Sun Nov 07 2004 Paul Jakma <paul@dishone.st>
757 - Fix with_ipv6 set to 0 build
758
759 * Sat Oct 23 2004 Paul Jakma <paul@dishone.st>
760 - Update to 0.97.2
761
762 * Sat Oct 23 2004 Andrew J. Schorr <aschorr@telemetry-investments.com>
763 - Make directories be owned by the packages concerned
764 - Update logrotate scripts to use correct path to killall and use pid files
765
766 * Fri Oct 08 2004 Paul Jakma <paul@dishone.st>
767 - Update to 0.97.0
768
769 * Wed Sep 15 2004 Paul Jakma <paul@dishone.st>
770 - build snmp support by default
771 - build irdp support
772 - build with shared libs
773 - devel subpackage for archives and headers
774
775 * Thu Jan 08 2004 Paul Jakma <paul@dishone.st>
776 - updated sysconfig files to specify local dir
777 - added ospf_dump.c crash quick fix patch
778 - added ospfd persistent interface configuration patch
779
780 * Tue Dec 30 2003 Paul Jakma <paul@dishone.st>
781 - sync to CVS
782 - integrate RH sysconfig patch to specify daemon options (RH)
783 - default to have vty listen only to 127.1 (RH)
784 - add user with fixed UID/GID (RH)
785 - create user with shell /sbin/nologin rather than /bin/false (RH)
786 - stop daemons on uninstall (RH)
787 - delete info file on preun, not postun to avoid deletion on upgrade. (RH)
788 - isisd added
789 - cleanup tasks carried out for every daemon
790
791 * Sun Nov 2 2003 Paul Jakma <paul@dishone.st>
792 - Fix -devel package to include all files
793 - Sync to 0.96.4
794
795 * Tue Aug 12 2003 Paul Jakma <paul@dishone.st>
796 - Renamed to Quagga
797 - Sync to Quagga release 0.96
798
799 * Thu Mar 20 2003 Paul Jakma <paul@dishone.st>
800 - zebra privileges support
801
802 * Tue Mar 18 2003 Paul Jakma <paul@dishone.st>
803 - Fix mem leak in 'show thread cpu'
804 - Ralph Keller's OSPF-API
805 - Amir: Fix configure.ac for net-snmp
806
807 * Sat Mar 1 2003 Paul Jakma <paul@dishone.st>
808 - ospfd IOS prefix to interface matching for 'network' statement
809 - temporary fix for PtP and IPv6
810 - sync to zebra.org CVS
811
812 * Mon Jan 20 2003 Paul Jakma <paul@dishone.st>
813 - update to latest cvs
814 - Yon's "show thread cpu" patch - 17217
815 - walk up tree - 17218
816 - ospfd NSSA fixes - 16681
817 - ospfd nsm fixes - 16824
818 - ospfd OLSA fixes and new feature - 16823
819 - KAME and ifindex fixes - 16525
820 - spec file changes to allow redhat files to be in tree
821
822 * Sat Dec 28 2002 Alexander Hoogerhuis <alexh@ihatent.com>
823 - Added conditionals for building with(out) IPv6, vtysh, RIP, BGP
824 - Fixed up some build requirements (patch)
825 - Added conditional build requirements for vtysh / snmp
826 - Added conditional to files for _bindir depending on vtysh
827
828 * Mon Nov 11 2002 Paul Jakma <paulj@alphyra.ie>
829 - update to latest CVS
830 - add Greg Troxel's md5 buffer copy/dup fix
831 - add RIPv1 fix
832 - add Frank's multicast flag fix
833
834 * Wed Oct 09 2002 Paul Jakma <paulj@alphyra.ie>
835 - update to latest CVS
836 - timestamped crypt_seqnum patch
837 - oi->on_write_q fix
838
839 * Mon Sep 30 2002 Paul Jakma <paulj@alphyra.ie>
840 - update to latest CVS
841 - add vtysh 'write-config (integrated|daemon)' patch
842 - always 'make rebuild' in vtysh/ to catch new commands
843
844 * Fri Sep 13 2002 Paul Jakma <paulj@alphyra.ie>
845 - update to 0.93b
846
847 * Wed Sep 11 2002 Paul Jakma <paulj@alphyra.ie>
848 - update to latest CVS
849 - add "/sbin/ip route flush proto zebra" to zebra RH init on startup
850
851 * Sat Aug 24 2002 Paul Jakma <paulj@alphyra.ie>
852 - update to current CVS
853 - add OSPF point to multipoint patch
854 - add OSPF bugfixes
855 - add BGP hash optimisation patch
856
857 * Fri Jun 14 2002 Paul Jakma <paulj@alphyra.ie>
858 - update to 0.93-pre1 / CVS
859 - add link state detection support
860 - add generic PtP and RFC3021 support
861 - various bug fixes
862
863 * Thu Aug 09 2001 Elliot Lee <sopwith@redhat.com> 0.91a-6
864 - Fix bug #51336
865
866 * Wed Aug 1 2001 Trond Eivind Glomsrød <teg@redhat.com> 0.91a-5
867 - Use generic initscript strings instead of initscript specific
868 ( "Starting foo: " -> "Starting $prog:" )
869
870 * Fri Jul 27 2001 Elliot Lee <sopwith@redhat.com> 0.91a-4
871 - Bump the release when rebuilding into the dist.
872
873 * Tue Feb 6 2001 Tim Powers <timp@redhat.com>
874 - built for Powertools
875
876 * Sun Feb 4 2001 Pekka Savola <pekkas@netcore.fi>
877 - Hacked up from PLD Linux 0.90-1, Mandrake 0.90-1mdk and one from zebra.org.
878 - Update to 0.91a
879 - Very heavy modifications to init.d/*, .spec, pam, i18n, logrotate, etc.
880 - Should be quite Red Hat'isque now.