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