summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMartin Winter <mwinter@opensourcerouting.org>2025-03-19 07:21:37 +0100
committerJafar Al-Gharaibeh <jafar@atcorp.com>2025-03-20 00:16:09 -0500
commitb097db27bf39a571e8617e350aac9b786cb06e54 (patch)
tree1eb565df482be03c084c735d2ab746c932fb6865
parentc6c70c570680c7741228337fd8be725de205354d (diff)
redhat: Make docs and rpki optional for RPM package build
Adding options to disable docs and rpki during the build. By default they are always built. RPKI sub-package will not be built (and not available) if built without the RPKI support. Signed-off-by: Martin Winter <mwinter@opensourcerouting.org>
-rw-r--r--redhat/frr.spec.in48
1 files changed, 42 insertions, 6 deletions
diff --git a/redhat/frr.spec.in b/redhat/frr.spec.in
index f31d04d01b..ee5d03c12a 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 }
@@ -196,16 +198,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
@@ -286,6 +294,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
@@ -298,7 +307,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
Summary: SNMP support
@@ -403,9 +412,9 @@ Adds GRPC support to the individual FRR daemons.
--disable-babeld \
%endif
%if %{with_vrrpd}
- --enable-vrrpd \
+ --enable-vrrpd \
%else
- --disable-vrrpd \
+ --disable-vrrpd \
%endif
%if %{with_pam}
--with-libpam \
@@ -436,7 +445,16 @@ Adds GRPC support to the individual FRR daemons.
--disable-bgp-vnc \
%endif
--enable-isisd \
+%if %{with_docs}
+ --enable-doc \
+%else
+ --disable-doc \
+%endif
+%if %{with_rpki}
--enable-rpki \
+%else
+ --disable-rpki \
+%endif
%if %{with_bfdd}
--enable-bfdd \
%else
@@ -468,9 +486,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
@@ -608,7 +628,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
@@ -676,7 +698,9 @@ fi
/sbin/chkconfig --del frr
fi
%endif
+%if %{with_docs}
/sbin/install-info --delete %{_infodir}/frr.info.gz %{_infodir}/dir
+%endif
%files
@@ -693,8 +717,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
@@ -794,16 +820,22 @@ 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
+%endif
+%if %{with_rpki}
%postun rpki-rtrlib
# remove rpki module from daemons
sed -i 's/ -M rpki//' %{_sysconfdir}/frr/daemons
+%endif
+%if %{with_rpki}
%files rpki-rtrlib
%{_libdir}/frr/modules/bgpd_rpki.so
+%endif
%files snmp
@@ -817,6 +849,7 @@ sed -i 's/ -M rpki//' %{_sysconfdir}/frr/daemons
%{_libdir}/frr/modules/grpc.so
%endif
+
%files devel
%{_libdir}/lib*.so
%dir %{_includedir}/%{name}
@@ -839,7 +872,10 @@ sed -i 's/ -M rpki//' %{_sysconfdir}/frr/daemons
%changelog
-* Mon Mar 10 2025 Jafar Al-Gharaibeh <jafar@atcorp.com> - %{version}
+* Thu Mar 20 2025 Jafar Al-Gharaibeh <jafar@atcorp.com> - %{version}
+
+* Tue Mar 18 2025 Martin Winter <mwinter@opensourcerouting.org> 10.3.0-1
+- Change docs and rpki to conditional package builds
* Mon Mar 10 2025 Jafar Al-Gharaibeh <jafar@atcorp.com> - 10.3
- Major highlights: