From ab140d61cdd04db03ef597f645e601429396d3c8 Mon Sep 17 00:00:00 2001 From: David Lamparter Date: Mon, 19 Apr 2021 10:35:53 +0200 Subject: [PATCH] build, doc: extricate `--enable-systemd` Ouch, that is a *lot* of places to update... Signed-off-by: David Lamparter --- alpine/APKBUILD.in | 1 - configure.ac | 15 --------------- debian/README.Debian | 8 -------- debian/control | 1 - debian/rules | 13 +------------ doc/developer/building-frr-for-archlinux.rst | 4 ++-- doc/developer/building-frr-for-centos7.rst | 3 +-- doc/developer/building-frr-for-centos8.rst | 3 +-- doc/developer/building-frr-for-debian8.rst | 2 +- doc/developer/building-frr-for-debian9.rst | 2 +- doc/developer/building-frr-for-fedora.rst | 2 +- doc/developer/building-frr-for-opensuse.rst | 2 +- doc/developer/building-frr-for-ubuntu1604.rst | 4 ++-- doc/developer/building-frr-for-ubuntu1804.rst | 4 ++-- doc/developer/building-frr-for-ubuntu2004.rst | 4 ++-- doc/developer/include-compile.rst | 5 ----- doc/developer/packaging-debian.rst | 10 +--------- doc/developer/packaging-redhat.rst | 4 ---- doc/user/installation.rst | 11 ++++++----- docker/centos-7/Dockerfile | 2 +- docker/centos-8/Dockerfile | 2 +- docker/ubuntu18-ci/Dockerfile | 4 ++-- docker/ubuntu20-ci/Dockerfile | 4 ++-- redhat/frr.spec.in | 5 ----- 24 files changed, 28 insertions(+), 87 deletions(-) diff --git a/alpine/APKBUILD.in b/alpine/APKBUILD.in index dfedf0b52b..e6776cb3a2 100644 --- a/alpine/APKBUILD.in +++ b/alpine/APKBUILD.in @@ -41,7 +41,6 @@ build() { --sysconfdir=$_sysconfdir \ --libdir=$_libdir \ --localstatedir=$_localstatedir \ - --enable-systemd=no \ --enable-rpki \ --enable-vtysh \ --enable-multipath=64 \ diff --git a/configure.ac b/configure.ac index 0ea209bbfa..a39549cdb7 100644 --- a/configure.ac +++ b/configure.ac @@ -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 diff --git a/debian/README.Debian b/debian/README.Debian index a23a0efcac..53fb6c9d0e 100644 --- a/debian/README.Debian +++ b/debian/README.Debian @@ -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 will at some @@ -43,10 +39,6 @@ point be replaced with . 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 ================================ diff --git a/debian/control b/debian/control index 0bbe99b312..0e67ff3730 100644 --- a/debian/control +++ b/debian/control @@ -22,7 +22,6 @@ Build-Depends: bison, librtr-dev , libsnmp-dev, libssh-dev , - libsystemd-dev , libyang2-dev, lsb-base, pkg-config, diff --git a/debian/rules b/debian/rules index 93d0cdb2a0..0fa9c3a3b0 100755 --- a/debian/rules +++ b/debian/rules @@ -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 diff --git a/doc/developer/building-frr-for-archlinux.rst b/doc/developer/building-frr-for-archlinux.rst index e589a9f724..af1677e89e 100644 --- a/doc/developer/building-frr-for-archlinux.rst +++ b/doc/developer/building-frr-for-archlinux.rst @@ -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 diff --git a/doc/developer/building-frr-for-centos7.rst b/doc/developer/building-frr-for-centos7.rst index 93b9993a38..ce11126f70 100644 --- a/doc/developer/building-frr-for-centos7.rst +++ b/doc/developer/building-frr-for-centos7.rst @@ -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 \ diff --git a/doc/developer/building-frr-for-centos8.rst b/doc/developer/building-frr-for-centos8.rst index 65c93286b7..109a7866d9 100644 --- a/doc/developer/building-frr-for-centos8.rst +++ b/doc/developer/building-frr-for-centos8.rst @@ -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 \ diff --git a/doc/developer/building-frr-for-debian8.rst b/doc/developer/building-frr-for-debian8.rst index 475e0303fc..5e58854ed7 100644 --- a/doc/developer/building-frr-for-debian8.rst +++ b/doc/developer/building-frr-for-debian8.rst @@ -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 diff --git a/doc/developer/building-frr-for-debian9.rst b/doc/developer/building-frr-for-debian9.rst index 1981127b3d..f8d8025f62 100644 --- a/doc/developer/building-frr-for-debian9.rst +++ b/doc/developer/building-frr-for-debian9.rst @@ -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 diff --git a/doc/developer/building-frr-for-fedora.rst b/doc/developer/building-frr-for-fedora.rst index 5fecd8a826..6ce76ba158 100644 --- a/doc/developer/building-frr-for-fedora.rst +++ b/doc/developer/building-frr-for-fedora.rst @@ -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 diff --git a/doc/developer/building-frr-for-opensuse.rst b/doc/developer/building-frr-for-opensuse.rst index 4e886e9c25..ee6a36a14b 100644 --- a/doc/developer/building-frr-for-opensuse.rst +++ b/doc/developer/building-frr-for-opensuse.rst @@ -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 diff --git a/doc/developer/building-frr-for-ubuntu1604.rst b/doc/developer/building-frr-for-ubuntu1604.rst index 2cb9536f9b..d79545c859 100644 --- a/doc/developer/building-frr-for-ubuntu1604.rst +++ b/doc/developer/building-frr-for-ubuntu1604.rst @@ -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 diff --git a/doc/developer/building-frr-for-ubuntu1804.rst b/doc/developer/building-frr-for-ubuntu1804.rst index eb3991c139..39a17fc01c 100644 --- a/doc/developer/building-frr-for-ubuntu1804.rst +++ b/doc/developer/building-frr-for-ubuntu1804.rst @@ -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 diff --git a/doc/developer/building-frr-for-ubuntu2004.rst b/doc/developer/building-frr-for-ubuntu2004.rst index 58d72e2891..92ddead4a5 100644 --- a/doc/developer/building-frr-for-ubuntu2004.rst +++ b/doc/developer/building-frr-for-ubuntu2004.rst @@ -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 diff --git a/doc/developer/include-compile.rst b/doc/developer/include-compile.rst index d9fa260221..513cac6179 100644 --- a/doc/developer/include-compile.rst +++ b/doc/developer/include-compile.rst @@ -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 diff --git a/doc/developer/packaging-debian.rst b/doc/developer/packaging-debian.rst index b57286d5a1..be05d599ef 100644 --- a/doc/developer/packaging-debian.rst +++ b/doc/developer/packaging-debian.rst @@ -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 diff --git a/doc/developer/packaging-redhat.rst b/doc/developer/packaging-redhat.rst index 458cfa0ad4..9e64b912f3 100644 --- a/doc/developer/packaging-redhat.rst +++ b/doc/developer/packaging-redhat.rst @@ -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:: diff --git a/doc/user/installation.rst b/doc/user/installation.rst index 63254555d9..fdf5bab9c9 100644 --- a/doc/user/installation.rst +++ b/doc/user/installation.rst @@ -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 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ diff --git a/docker/centos-7/Dockerfile b/docker/centos-7/Dockerfile index 303a33fe4a..73097df8fa 100644 --- a/docker/centos-7/Dockerfile +++ b/docker/centos-7/Dockerfile @@ -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 \ diff --git a/docker/centos-8/Dockerfile b/docker/centos-8/Dockerfile index 8a0c28e13b..71378c2451 100644 --- a/docker/centos-8/Dockerfile +++ b/docker/centos-8/Dockerfile @@ -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 \ diff --git a/docker/ubuntu18-ci/Dockerfile b/docker/ubuntu18-ci/Dockerfile index 680b9172ad..766f06dfc2 100644 --- a/docker/ubuntu18-ci/Dockerfile +++ b/docker/ubuntu18-ci/Dockerfile @@ -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 && \ diff --git a/docker/ubuntu20-ci/Dockerfile b/docker/ubuntu20-ci/Dockerfile index 8b7557db1d..c94a31173a 100644 --- a/docker/ubuntu20-ci/Dockerfile +++ b/docker/ubuntu20-ci/Dockerfile @@ -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 \ diff --git a/redhat/frr.spec.in b/redhat/frr.spec.in index e24a84d1e4..fbe4c4a1f1 100644 --- a/redhat/frr.spec.in +++ b/redhat/frr.spec.in @@ -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 \ -- 2.39.5