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