build, doc: extricate `--enable-systemd`

Ouch, that is a *lot* of places to update...

Signed-off-by: David Lamparter <equinox@diac24.net>
This commit is contained in:
David Lamparter 2021-04-19 10:35:53 +02:00 committed by David Lamparter
parent 247898d5d2
commit ab140d61cd
24 changed files with 28 additions and 87 deletions

View File

@ -41,7 +41,6 @@ build() {
--sysconfdir=$_sysconfdir \
--libdir=$_libdir \
--localstatedir=$_localstatedir \
--enable-systemd=no \
--enable-rpki \
--enable-vtysh \
--enable-multipath=64 \

View File

@ -668,8 +668,6 @@ AC_ARG_ENABLE([fpm],
AS_HELP_STRING([--enable-fpm], [enable Forwarding Plane Manager support]))
AC_ARG_ENABLE([pcep],
AS_HELP_STRING([--enable-pcep], [enable PCEP support for pathd]))
AC_ARG_ENABLE([systemd],
AS_HELP_STRING([--enable-systemd], [enable Systemd support]))
AC_ARG_ENABLE([werror],
AS_HELP_STRING([--enable-werror], [enable -Werror (recommended for developers only)]))
AC_ARG_ENABLE([cumulus],
@ -764,19 +762,6 @@ case "${enable_cpu_time}" in
;;
esac
case "${enable_systemd}" in
"no") ;;
"yes")
AC_CHECK_LIB([systemd], [sd_notify], [LIBS="$LIBS -lsystemd"])
if test "$ac_cv_lib_systemd_sd_notify" = "no"; then
AC_MSG_ERROR([enable systemd has been specified but systemd development env not found on your system])
else
AC_DEFINE([HAVE_SYSTEMD], [1], [Compile systemd support in])
fi
;;
"*") ;;
esac
if test "$enable_rr_semantics" != "no" ; then
AC_DEFINE([HAVE_V6_RR_SEMANTICS], [1], [Compile in v6 Route Replacement Semantics])
fi

View File

@ -31,10 +31,6 @@ The following Build Profiles have been added:
controls whether the RPKI module is built.
Will be enabled by default at some point, adds some extra dependencies.
- pkg.frr.nosystemd
Disables both systemd unit file installation as well as watchfrr sd_notify
support at startup. Removes libsystemd dependency.
Note that all options have a "no" form; if you want to have your decision
be sticky regardless of changes to what it defaults to, then always use one
of the two. For example, all occurrences of <pkg.frr.rtrlib> will at some
@ -43,10 +39,6 @@ point be replaced with <!pkg.frr.nortrlib>.
The main frr package has the exact same contents regardless of rtrlib or snmp
choices. The options only control frr-snmp and frr-rpki-rtrlib packages.
The main frr package does NOT have the same contents if pkg.frr.nosystemd is
used. This option should only be used for systems that do not have systemd,
e.g. Ubuntu 14.04.
* Debian Policy compliance notes
================================

1
debian/control vendored
View File

@ -22,7 +22,6 @@ Build-Depends: bison,
librtr-dev <!pkg.frr.nortrlib>,
libsnmp-dev,
libssh-dev <!pkg.frr.nortrlib>,
libsystemd-dev <!pkg.frr.nosystemd>,
libyang2-dev,
lsb-base,
pkg-config,

13
debian/rules vendored
View File

@ -21,14 +21,6 @@ else
CONF_RPKI=--disable-rpki
endif
ifeq ($(filter pkg.frr.nosystemd,$(DEB_BUILD_PROFILES)),)
DH_WITHOUT_SYSTEMD=
CONF_SYSTEMD=--enable-systemd=yes
else
DH_WITHOUT_SYSTEMD=--without=systemd
CONF_SYSTEMD=--enable-systemd=no
endif
ifeq ($(filter pkg.frr.lua,$(DEB_BUILD_PROFILES)),)
CONF_LUA=--disable-scripting
else
@ -38,7 +30,7 @@ endif
export PYTHON=python3
%:
dh $@ $(DH_WITHOUT_SYSTEMD)
dh $@
override_dh_auto_configure:
$(shell dpkg-buildflags --export=sh); \
@ -52,7 +44,6 @@ override_dh_auto_configure:
LIBTOOLFLAGS="-rpath /usr/lib/$(DEB_HOST_MULTIARCH)/frr" \
--disable-dependency-tracking \
\
$(CONF_SYSTEMD) \
$(CONF_RPKI) \
$(CONF_LUA) \
--with-libpam \
@ -80,9 +71,7 @@ override_dh_auto_install:
sed -e '1c #!/usr/bin/python3' -i debian/tmp/usr/lib/frr/generate_support_bundle.py
# let dh_systemd_* and dh_installinit do their thing automatically
ifeq ($(filter pkg.frr.nosystemd,$(DEB_BUILD_PROFILES)),)
cp tools/frr.service debian/frr.service
endif
cp tools/frrinit.sh debian/frr.init
-rm -f debian/tmp/usr/lib/frr/frr

View File

@ -10,8 +10,8 @@ Installing Dependencies
sudo pacman -S \
git autoconf automake libtool make cmake pcre readline texinfo \
pkg-config pam json-c bison flex python-pytest \
c-ares python systemd python2-ipaddress python-sphinx \
systemd-libs net-snmp perl libcap libelf
c-ares python python2-ipaddress python-sphinx \
net-snmp perl libcap libelf
.. include:: building-libyang.rst

View File

@ -21,7 +21,7 @@ Add packages:
sudo yum install git autoconf automake libtool make \
readline-devel texinfo net-snmp-devel groff pkgconfig \
json-c-devel pam-devel bison flex pytest c-ares-devel \
python-devel systemd-devel python-sphinx libcap-devel \
python-devel python-sphinx libcap-devel \
elfutils-libelf-devel
.. include:: building-libyang.rst
@ -66,7 +66,6 @@ an example.)
--enable-user=frr \
--enable-group=frr \
--enable-vty-group=frrvty \
--enable-systemd=yes \
--disable-ldpd \
--enable-fpm \
--with-pkg-git-version \

View File

@ -14,7 +14,7 @@ Add packages:
sudo dnf install --enablerepo=PowerTools git autoconf pcre-devel \
automake libtool make readline-devel texinfo net-snmp-devel pkgconfig \
groff pkgconfig json-c-devel pam-devel bison flex python2-pytest \
c-ares-devel python2-devel systemd-devel libcap-devel \
c-ares-devel python2-devel libcap-devel \
elfutils-libelf-devel
.. include:: building-libyang.rst
@ -59,7 +59,6 @@ an example.)
--enable-user=frr \
--enable-group=frr \
--enable-vty-group=frrvty \
--enable-systemd=yes \
--disable-ldpd \
--enable-fpm \
--with-pkg-git-version \

View File

@ -17,7 +17,7 @@ Add packages:
sudo apt-get install git autoconf automake libtool make \
libreadline-dev texinfo libjson-c-dev pkg-config bison flex python3-pip \
libc-ares-dev python3-dev python3-sphinx build-essential libsystemd-dev \
libc-ares-dev python3-dev python3-sphinx build-essential \
libsnmp-dev libcap-dev libelf-dev
Install newer pytest (>3.0) from pip

View File

@ -11,7 +11,7 @@ Add packages:
sudo apt-get install git autoconf automake libtool make \
libreadline-dev texinfo libjson-c-dev pkg-config bison flex \
libc-ares-dev python3-dev python3-pytest python3-sphinx build-essential \
libsnmp-dev libsystemd-dev libcap-dev libelf-dev
libsnmp-dev libcap-dev libelf-dev
.. include:: building-libyang.rst

View File

@ -14,7 +14,7 @@ Installing Dependencies
sudo dnf install git autoconf automake libtool make \
readline-devel texinfo net-snmp-devel groff pkgconfig json-c-devel \
pam-devel python3-pytest bison flex c-ares-devel python3-devel \
python3-sphinx perl-core patch systemd-devel libcap-devel \
python3-sphinx perl-core patch libcap-devel \
elfutils-libelf-devel
.. include:: building-libyang.rst

View File

@ -13,7 +13,7 @@ Installing Dependencies
zypper in git autoconf automake libtool make \
readline-devel texinfo net-snmp-devel groff pkgconfig libjson-c-devel\
pam-devel python3-pytest bison flex c-ares-devel python3-devel\
python3-Sphinx perl patch systemd-devel libcap-devel libyang-devel \
python3-Sphinx perl patch libcap-devel libyang-devel \
libelf-devel
Building & Installing FRR

View File

@ -13,8 +13,8 @@ Installing Dependencies
apt-get install \
git autoconf automake libtool make libreadline-dev texinfo \
pkg-config libpam0g-dev libjson-c-dev bison flex python3-pytest \
libc-ares-dev python3-dev libsystemd-dev python-ipaddress python3-sphinx \
install-info build-essential libsystemd-dev libsnmp-dev perl libcap-dev \
libc-ares-dev python3-dev python-ipaddress python3-sphinx \
install-info build-essential libsnmp-dev perl libcap-dev \
libelf-dev
.. include:: building-libyang.rst

View File

@ -13,8 +13,8 @@ Installing Dependencies
sudo apt-get install \
git autoconf automake libtool make libreadline-dev texinfo \
pkg-config libpam0g-dev libjson-c-dev bison flex python3-pytest \
libc-ares-dev python3-dev libsystemd-dev python-ipaddress python3-sphinx \
install-info build-essential libsystemd-dev libsnmp-dev perl libcap-dev \
libc-ares-dev python3-dev python-ipaddress python3-sphinx \
install-info build-essential libsnmp-dev perl libcap-dev \
libelf-dev
.. include:: building-libyang.rst

View File

@ -13,8 +13,8 @@ Installing Dependencies
sudo apt-get install \
git autoconf automake libtool make libreadline-dev texinfo \
pkg-config libpam0g-dev libjson-c-dev bison flex python3-pytest \
libc-ares-dev python3-dev libsystemd-dev python-ipaddress python3-sphinx \
install-info build-essential libsystemd-dev libsnmp-dev perl \
libc-ares-dev python3-dev python-ipaddress python3-sphinx \
install-info build-essential libsnmp-dev perl \
libcap-dev python2 libelf-dev
Note that Ubuntu 20 no longer installs python 2.x, so it must be

View File

@ -2,11 +2,6 @@ Clone the FRR git repo and use the included ``configure`` script to configure
FRR's build time options to your liking. The full option listing can be
obtained by running ``./configure -h``. The options shown below are examples.
.. note::
If your platform uses ``systemd``, please make sure to add
``--enable-systemd=yes`` to your configure options.
.. code-block:: console
git clone https://github.com/frrouting/frr.git frr

View File

@ -56,7 +56,7 @@ buster.)
Where `$options` may contain any or all of the following items:
* build profiles specified with ``-P``, e.g.
``-Ppkg.frr.nortrlib,pkg.frr.nosystemd``.
``-Ppkg.frr.nortrlib,pkg.frr.rtrlib``.
Multiple values are separated by commas and there must not be a space
after the ``-P``.
@ -67,14 +67,6 @@ buster.)
+================+===================+=========================================+
| pkg.frr.rtrlib | pkg.frr.nortrlib | builds frr-rpki-rtrlib package (or not) |
+----------------+-------------------+-----------------------------------------+
| n/a | pkg.frr.nosystemd | removes libsystemd dependency and |
| | | disables unit file installation |
+----------------+-------------------+-----------------------------------------+
.. note::
The ``pkg.frr.nosystemd`` option is only intended to support Ubuntu
14.04 (and should be enabled when building for that.)
* the ``-uc -us`` options to disable signing the packages with your GPG key

View File

@ -18,10 +18,6 @@ Tested on CentOS 6, CentOS 7, CentOS 8 and Fedora 24.
yum install rpm-build net-snmp-devel pam-devel libcap-devel
If your platform uses systemd::
yum install systemd-devel
For CentOS 7 and CentOS 8, the package will be built using python3
and requires additional python3 packages::

View File

@ -146,11 +146,6 @@ options from the list below.
software available on your machine. This is needed for systemd integration, if you
disable watchfrr you cannot have any systemd integration.
.. option:: --enable-systemd
Build watchfrr with systemd integration, this will allow FRR to communicate with
systemd to tell systemd if FRR has come up properly.
.. option:: --enable-werror
Build with all warnings converted to errors as a compile option. This
@ -404,6 +399,12 @@ options to the configuration script.
Set StrongSWAN vici interface socket path [/var/run/charon.vici].
.. note::
The former ``--enable-systemd`` option does not exist anymore. Support for
systemd is now always available through built-in functions, without
depending on libsystemd.
Python dependency, documentation and tests
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

View File

@ -4,7 +4,7 @@ RUN yum install -y epel-release
RUN yum install -y rpm-build autoconf automake libtool make \
readline-devel texinfo net-snmp-devel groff pkgconfig \
json-c-devel pam-devel bison flex pytest c-ares-devel \
python3-devel python3-sphinx systemd-devel libcap-devel \
python3-devel python3-sphinx libcap-devel \
https://ci1.netdef.org/artifact/LIBYANG-LIBYANGV2/shared/build-2/CentOS-7-x86_64-Packages/libyang2-2.0.0.10.g2eb910e4-1.el7.x86_64.rpm \
https://ci1.netdef.org/artifact/LIBYANG-LIBYANGV2/shared/build-2/CentOS-7-x86_64-Packages/libyang2-devel-2.0.0.10.g2eb910e4-1.el7.x86_64.rpm \
https://ci1.netdef.org/artifact/RPKI-RTRLIB/shared/build-110/CentOS-7-x86_64-Packages/librtr-0.7.0-1.el7.centos.x86_64.rpm \

View File

@ -4,7 +4,7 @@ FROM centos:centos8 as centos-8-builder
RUN dnf install --enablerepo=powertools -y rpm-build git autoconf pcre-devel \
automake libtool make readline-devel texinfo net-snmp-devel pkgconfig \
groff pkgconfig json-c-devel pam-devel bison flex python3-pytest \
c-ares-devel python3-devel python3-sphinx systemd-devel libcap-devel platform-python-devel \
c-ares-devel python3-devel python3-sphinx libcap-devel platform-python-devel \
https://ci1.netdef.org/artifact/LIBYANG-LIBYANGV2/shared/build-2/CentOS-8-x86_64-Packages/libyang2-2.0.0.10.g2eb910e4-1.el8.x86_64.rpm \
https://ci1.netdef.org/artifact/LIBYANG-LIBYANGV2/shared/build-2/CentOS-8-x86_64-Packages/libyang2-devel-2.0.0.10.g2eb910e4-1.el8.x86_64.rpm \
https://ci1.netdef.org/artifact/RPKI-RTRLIB/shared/build-110/CentOS-7-x86_64-Packages/librtr-0.7.0-1.el7.centos.x86_64.rpm \

View File

@ -7,8 +7,8 @@ RUN apt update && \
apt-get install -y \
git autoconf automake libtool make libreadline-dev texinfo \
pkg-config libpam0g-dev libjson-c-dev bison flex python3-pytest \
libc-ares-dev python3-dev libsystemd-dev python-ipaddress python3-sphinx \
install-info build-essential libsystemd-dev libsnmp-dev perl libcap-dev \
libc-ares-dev python3-dev python-ipaddress python3-sphinx \
install-info build-essential libsnmp-dev perl libcap-dev \
libelf-dev \
sudo gdb iputils-ping time \
mininet python-pip iproute2 iperf && \

View File

@ -7,8 +7,8 @@ RUN apt update && \
apt-get install -y \
git autoconf automake libtool make libreadline-dev texinfo \
pkg-config libpam0g-dev libjson-c-dev bison flex python3-pytest \
libc-ares-dev python3-dev libsystemd-dev python-ipaddress python3-sphinx \
install-info build-essential libsystemd-dev libsnmp-dev perl \
libc-ares-dev python3-dev python-ipaddress python3-sphinx \
install-info build-essential libsnmp-dev perl \
libcap-dev python2 libelf-dev \
sudo gdb curl iputils-ping time \
libgrpc++-dev libgrpc-dev protobuf-compiler-grpc \

View File

@ -199,8 +199,6 @@ Requires: initscripts
BuildRequires: pam-devel
%endif
%if "%{initsystem}" == "systemd"
BuildRequires: systemd
BuildRequires: systemd-devel
Requires(post): systemd
Requires(preun): systemd
Requires(postun): systemd
@ -396,9 +394,6 @@ routing state through standard SNMP MIBs.
--disable-bgp-vnc \
%endif
--enable-isisd \
%if "%{initsystem}" == "systemd"
--enable-systemd \
%endif
--enable-rpki \
%if %{with_bfdd}
--enable-bfdd \