]> git.puffer.fish Git - matthieu/frr.git/commitdiff
redhat: Make docs and rpki optional for RPM package build
authorMartin Winter <mwinter@opensourcerouting.org>
Wed, 19 Mar 2025 06:21:37 +0000 (07:21 +0100)
committerMartin Winter <mwinter@opensourcerouting.org>
Wed, 19 Mar 2025 12:51:47 +0000 (13:51 +0100)
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>
redhat/frr.spec.in

index 96e20054d668f2a8111053e11b4b8587db01548d..6cf75de31c2ded2c3da4692ed316ebb83ff90009 100644 (file)
@@ -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 <jafar@atcorp.com> - %{version}
+* Wed Mar 19 2025 Jafar Al-Gharaibeh <jafar@atcorp.com> - %{version}
+
+* Tue Mar 18 2025 Martin Winter <mwinter@opensourcerouting.org> 10.4-dev
+- Change docs and rpki to conditional package builds
 
 * Thu Oct 10 2024 Jafar Al-Gharaibeh <jafar@atcorp.com> - 10.3-dev
 - FRR 10.3 Development