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