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