summaryrefslogtreecommitdiffstats
path: root/redhat
diff options
context:
space:
mode:
authorLou Berger <lberger@labn.net>2025-01-08 01:16:10 +0100
committerLou Berger <lberger@labn.net>2025-01-08 13:47:34 +0100
commitd89f21fc0602761f5adb0dd82b8c6e24a5636a20 (patch)
treed706e6f203408f4dbd110ac542ff7c5d2399c402 /redhat
parentMerge pull request #17707 from gromit1811/pr16811_rebased (diff)
downloadfrr-d89f21fc0602761f5adb0dd82b8c6e24a5636a20.tar.xz
frr-d89f21fc0602761f5adb0dd82b8c6e24a5636a20.zip
redhat: Add option to build pkg without docs and rpki support, allow for different system environments by including all built .so files
Simplify file list by using wildcards to include any built %{_libdir}/frr/modules/*.so and +%{_libdir}/libfrr*.so* Signed-off-by: Lou Berger <lberger@labn.net>
Diffstat (limited to 'redhat')
-rw-r--r--redhat/frr.spec.in54
1 files changed, 26 insertions, 28 deletions
diff --git a/redhat/frr.spec.in b/redhat/frr.spec.in
index 1ba8f043b..4c0a654c8 100644
--- a/redhat/frr.spec.in
+++ b/redhat/frr.spec.in
@@ -31,6 +31,8 @@
%{!?with_watchfrr: %global with_watchfrr 1 }
%{!?with_pathd: %global with_pathd 1 }
%{!?with_grpc: %global with_grpc 0 }
+%{!?with_rpki: %global with_rpki 1 }
+%{!?with_docs: %global with_docs 1 }
# user and group
%{!?frr_user: %global frr_user frr }
@@ -193,16 +195,22 @@ BuildRequires: pcre2-devel
%if 0%{?rhel} && 0%{?rhel} < 7
#python27-devel is available from ius community repo for RedHat/CentOS 6
BuildRequires: python27-devel
+%if %{with_docs}
BuildRequires: python27-sphinx
+%endif
%else
%if %{use_python2}
BuildRequires: python-devel >= 2.7
+%if %{with_docs}
BuildRequires: python-sphinx
+%endif
%else
BuildRequires: python3-devel
+%if %{with_docs}
BuildRequires: python3-sphinx
%endif
%endif
+%endif
%if %{with_grpc}
BuildRequires: grpc-devel >= 1.16.1
BuildRequires: protobuf-devel >= 3.6.1
@@ -283,6 +291,7 @@ The frr-devel package contains the header and object files necessary for
developing OSPF-API and frr applications.
+%if %{with_rpki}
%package rpki-rtrlib
Summary: BGP RPKI support (rtrlib)
Group: System Environment/Daemons
@@ -295,6 +304,7 @@ against cryptographic information stored in WHOIS databases. This is
used to prevent hijacking of networks on the wider internet. It is only
relevant to internet service providers using their own autonomous system
number.
+%endif
%package snmp
@@ -433,7 +443,9 @@ Adds GRPC support to the individual FRR daemons.
--disable-bgp-vnc \
%endif
--enable-isisd \
+%if %{with_rpki}
--enable-rpki \
+%endif
%if %{with_bfdd}
--enable-bfdd \
%else
@@ -465,9 +477,11 @@ sed -e '1c #!/usr/bin/python3' -i %{zeb_src}/tools/frr-reload.py
sed -e '1c #!/usr/bin/python3' -i %{zeb_src}/tools/generate_support_bundle.py
%endif
+%if %{with_docs}
pushd doc
make info
popd
+%endif
%install
@@ -605,7 +619,9 @@ zebra_spec_add_service fabricd 2618/tcp "Fabricd vty"
%__sed -i 's|watchfrr_enable=no|watchfrr_enable=yes|g' %{configdir}/daemons 2> /dev/null || true
%endif
+%if %{with_docs}
/sbin/install-info %{_infodir}/frr.info.gz %{_infodir}/dir
+%endif
# Create dummy config file if they don't exist so basic functions can be used.
if [ ! -e %{configdir}/frr.conf ] && [ ! -e %{configdir}/zebra.conf ]; then
@@ -673,7 +689,9 @@ fi
/sbin/chkconfig --del frr
fi
%endif
+%if %{with_docs}
/sbin/install-info --delete %{_infodir}/frr.info.gz %{_infodir}/dir
+%endif
%files
@@ -690,8 +708,10 @@ fi
%dir %attr(755,root,root) %{_localstatedir}/log/frr
%dir %attr(750,root,root) %{_runstatedir}/frr
%endif
-%{_infodir}/frr.info.gz
-%{_mandir}/man*/*
+%if %{with_docs}
+ %{_infodir}/frr.info.gz
+ %{_mandir}/man*/*
+%endif
%{_sbindir}/zebra
%{_sbindir}/staticd
%{_sbindir}/ospfd
@@ -739,19 +759,9 @@ fi
%endif
%if %{with_pathd}
%{_sbindir}/pathd
- %{_libdir}/frr/modules/pathd_pcep.so
%endif
-%{_libdir}/libfrr.so*
-%{_libdir}/libfrrcares*
-%{_libdir}/libfrrospf*
-%if %{with_fpm}
- %{_libdir}/frr/modules/zebra_fpm.so
-%endif
-%{_libdir}/frr/modules/zebra_cumulus_mlag.so
-%{_libdir}/frr/modules/dplane_fpm_nl.so
-%{_libdir}/frr/modules/bgpd_bmp.so
-%{_libdir}/libfrr_pb.so*
-%{_libdir}/libfrrfpm_pb.so*
+%{_libdir}/libfrr*.so*
+%{_libdir}/frr/modules/*.so
%{_libdir}/libmgmt_be_nb.so*
%{_bindir}/*
%config(noreplace) %{configdir}/[!v]*.conf*
@@ -791,6 +801,7 @@ fi
%endif
+%if %{with_rpki}
%post rpki-rtrlib
# add rpki module to daemons
sed -i -e 's/^\(bgpd_options=\)\(.*\)\(".*\)/\1\2 -M rpki\3/' %{_sysconfdir}/frr/daemons
@@ -798,22 +809,9 @@ sed -i -e 's/^\(bgpd_options=\)\(.*\)\(".*\)/\1\2 -M rpki\3/' %{_sysconfdir}/frr
%postun rpki-rtrlib
# remove rpki module from daemons
sed -i 's/ -M rpki//' %{_sysconfdir}/frr/daemons
-
-%files rpki-rtrlib
-%{_libdir}/frr/modules/bgpd_rpki.so
-
-
-%files snmp
-%{_libdir}/libfrrsnmp.so*
-%{_libdir}/frr/modules/*snmp.so
-
-
-%if %{with_grpc}
-%files grpc
-%{_libdir}/libfrrgrpc_pb.*
-%{_libdir}/frr/modules/grpc.so
%endif
+
%files devel
%{_libdir}/lib*.so
%dir %{_includedir}/%{name}