summaryrefslogtreecommitdiff
path: root/redhat
diff options
context:
space:
mode:
authorLou Berger <lberger@labn.net>2025-01-08 00:16:10 +0000
committerLou Berger <lberger@labn.net>2025-01-08 12:47:34 +0000
commitd89f21fc0602761f5adb0dd82b8c6e24a5636a20 (patch)
treed706e6f203408f4dbd110ac542ff7c5d2399c402 /redhat
parent21fe1f4d83502ac1c2262913c1a98441ea89bf24 (diff)
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 1ba8f043b2..4c0a654c8e 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}