From 972ec6fd8cef920d2da95fde34a492629b38eb6a Mon Sep 17 00:00:00 2001 From: Martin Winter Date: Wed, 19 Mar 2025 07:21:37 +0100 Subject: [PATCH] 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 --- redhat/frr.spec.in | 48 ++++++++++++++++++++++++++++++++++++++++------ 1 file changed, 42 insertions(+), 6 deletions(-) diff --git a/redhat/frr.spec.in b/redhat/frr.spec.in index 96e20054d6..6cf75de31c 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 -* Thu Oct 10 2024 Jafar Al-Gharaibeh - %{version} +* Wed Mar 19 2025 Jafar Al-Gharaibeh - %{version} + +* Tue Mar 18 2025 Martin Winter 10.4-dev +- Change docs and rpki to conditional package builds * Thu Oct 10 2024 Jafar Al-Gharaibeh - 10.3-dev - FRR 10.3 Development -- 2.39.5