From 321d384a54e9cb357447e471ec7b20e47e830ad9 Mon Sep 17 00:00:00 2001 From: Koen van Hove Date: Mon, 11 Aug 2025 13:55:32 +0200 Subject: [PATCH] Do not include systemd unit files in `krillta` and `krillup` (#1313) This PR prevents older versions of deb packages from including systemd-unit files. Because of the way Krill is set up, this requires both Ubuntu 20.04 and Debian 11 to have usrmerge (which both have by default, only if upgraded from an older version it might be missing). --- Cargo.toml | 8 ----- ...er-aarch64-unknown-linux-gnu.krill.service | 1 - ...-arm-unknown-linux-gnueabihf.krill.service | 1 - pkg/common/krill-debian-buster.krill.service | 1 - pkg/common/krill-debian-stretch.krill.service | 1 - .../krill-debian-trixie-x86_64.krill.service | 1 + pkg/common/krill-ubuntu-bionic.krill.service | 34 ------------------- pkg/common/krill-ubuntu-xenial.krill.service | 17 ---------- pkg/rules/packages-to-build.yml | 25 +++++--------- pkg/rules/packages-to-test.yml | 18 ---------- 10 files changed, 9 insertions(+), 98 deletions(-) delete mode 120000 pkg/common/krill-debian-buster-aarch64-unknown-linux-gnu.krill.service delete mode 120000 pkg/common/krill-debian-buster-arm-unknown-linux-gnueabihf.krill.service delete mode 120000 pkg/common/krill-debian-buster.krill.service delete mode 120000 pkg/common/krill-debian-stretch.krill.service create mode 120000 pkg/common/krill-debian-trixie-x86_64.krill.service delete mode 100644 pkg/common/krill-ubuntu-bionic.krill.service delete mode 100644 pkg/common/krill-ubuntu-xenial.krill.service diff --git a/Cargo.toml b/Cargo.toml index 0075d050..d6238610 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -236,16 +236,9 @@ assets = [ # OpenSSL >= 1.1.0. # b) uses a simpler systemd service unit file because Ubuntu 16.04 doesn't # support newer features supported by Ubuntu 18.04 and 20.04. -[package.metadata.deb.variants.ubuntu-focal] -systemd-units = { unit-name = "krill", unit-scripts = "pkg/common", enable = false, usr-merge = false } - [package.metadata.deb.variants.ubuntu-jammy] -systemd-units = { unit-name = "krill", unit-scripts = "pkg/common", enable = false, usr-merge = false } depends = "$auto, passwd, libssl3" -[package.metadata.deb.variants.debian-bullseye] -systemd-units = { unit-name = "krill", unit-scripts = "pkg/common", enable = false, usr-merge = false } - [package.metadata.deb.variants.debian-bookworm] depends = "$auto, passwd, libssl3" @@ -260,7 +253,6 @@ depends = "$auto, passwd, libssl3" # on the target platform and so it cannot determine the dependencies correctly # for us. [package.metadata.deb.variants.debian-bullseye-armv7-unknown-linux-gnueabihf] -systemd-units = { unit-name = "krill", unit-scripts = "pkg/common", enable = false, usr-merge = false } depends = "adduser, passwd, libc6 (>= 2.28), libssl1.1" # END DEBIAN PACKAGING diff --git a/pkg/common/krill-debian-buster-aarch64-unknown-linux-gnu.krill.service b/pkg/common/krill-debian-buster-aarch64-unknown-linux-gnu.krill.service deleted file mode 120000 index 78830a3d..00000000 --- a/pkg/common/krill-debian-buster-aarch64-unknown-linux-gnu.krill.service +++ /dev/null @@ -1 +0,0 @@ -krill-debian-buster.krill.service \ No newline at end of file diff --git a/pkg/common/krill-debian-buster-arm-unknown-linux-gnueabihf.krill.service b/pkg/common/krill-debian-buster-arm-unknown-linux-gnueabihf.krill.service deleted file mode 120000 index 78830a3d..00000000 --- a/pkg/common/krill-debian-buster-arm-unknown-linux-gnueabihf.krill.service +++ /dev/null @@ -1 +0,0 @@ -krill-debian-buster.krill.service \ No newline at end of file diff --git a/pkg/common/krill-debian-buster.krill.service b/pkg/common/krill-debian-buster.krill.service deleted file mode 120000 index 96d40eca..00000000 --- a/pkg/common/krill-debian-buster.krill.service +++ /dev/null @@ -1 +0,0 @@ -krill-ubuntu-bionic.krill.service \ No newline at end of file diff --git a/pkg/common/krill-debian-stretch.krill.service b/pkg/common/krill-debian-stretch.krill.service deleted file mode 120000 index f0435f7d..00000000 --- a/pkg/common/krill-debian-stretch.krill.service +++ /dev/null @@ -1 +0,0 @@ -krill-ubuntu-xenial.krill.service \ No newline at end of file diff --git a/pkg/common/krill-debian-trixie-x86_64.krill.service b/pkg/common/krill-debian-trixie-x86_64.krill.service new file mode 120000 index 00000000..bb91c484 --- /dev/null +++ b/pkg/common/krill-debian-trixie-x86_64.krill.service @@ -0,0 +1 @@ +krill-ubuntu-focal.krill.service \ No newline at end of file diff --git a/pkg/common/krill-ubuntu-bionic.krill.service b/pkg/common/krill-ubuntu-bionic.krill.service deleted file mode 100644 index abadc832..00000000 --- a/pkg/common/krill-ubuntu-bionic.krill.service +++ /dev/null @@ -1,34 +0,0 @@ -[Unit] -Description=Krill -Documentation=man:krill(1) -After=network.target - -[Service] -ExecStart=/usr/bin/krill --config=/etc/krill.conf -Type=simple -Restart=on-failure -User=krill -AmbientCapabilities=CAP_NET_BIND_SERVICE -CapabilityBoundingSet=CAP_NET_BIND_SERVICE -LockPersonality=yes -MemoryDenyWriteExecute=yes -PrivateDevices=yes -PrivateTmp=yes -ProtectControlGroups=yes -ProtectHome=yes -ProtectKernelModules=yes -ProtectKernelTunables=yes -ProtectSystem=strict -ReadWritePaths=/var/lib/krill/ -RestrictAddressFamilies=AF_UNIX AF_INET AF_INET6 -RestrictNamespaces=yes -RestrictRealtime=yes -StateDirectory=krill -SystemCallArchitectures=native -SystemCallErrorNumber=EPERM -RestartSec=10 -StartLimitInterval=10m -StartLimitBurst=5 - -[Install] -WantedBy=multi-user.target diff --git a/pkg/common/krill-ubuntu-xenial.krill.service b/pkg/common/krill-ubuntu-xenial.krill.service deleted file mode 100644 index fd9e741e..00000000 --- a/pkg/common/krill-ubuntu-xenial.krill.service +++ /dev/null @@ -1,17 +0,0 @@ -[Unit] -Description=Krill -Documentation=man:krill(1) -After=network.target - -[Service] -ExecStart=/usr/bin/krill --config=/etc/krill.conf -Type=simple -Restart=on-failure -User=krill -RestartSec=10 -StartLimitInterval=10m -StartLimitBurst=5 -WorkingDirectory=/var/lib/krill - -[Install] -WantedBy=multi-user.target diff --git a/pkg/rules/packages-to-build.yml b/pkg/rules/packages-to-build.yml index beba2fe8..cefefcb4 100644 --- a/pkg/rules/packages-to-build.yml +++ b/pkg/rules/packages-to-build.yml @@ -39,29 +39,20 @@ include: - image: "almalinux:10" rpm_systemd_service_unit_file: "pkg/common/krill-ubuntu-focal.krill.service" + - image: "debian:bullseye" + deb_extra_lintian_args: "--suppress-tags systemd-service-file-outside-lib" + + - image: "ubuntu:focal" + deb_extra_lintian_args: "--suppress-tags systemd-service-file-outside-lib" + # package for the Raspberry Pi 4b as an ARMv7 cross compiled variant of the Debian Bullseye upon which # Raspbian 11 is based. - pkg: "krill" image: "debian:bullseye" target: "armv7-unknown-linux-gnueabihf" + deb_extra_lintian_args: "--suppress-tags systemd-service-file-outside-lib" - pkg: "krillup" image: "debian:bullseye" target: "armv7-unknown-linux-gnueabihf" + deb_extra_lintian_args: "--suppress-tags systemd-service-file-outside-lib" - # package for the Raspberry Pi 1b as an ARMv6 cross compiled variant of the Debian Buster upon which - # Raspbian 10 is based. - - pkg: "krill" - image: "debian:buster" - target: "arm-unknown-linux-gnueabihf" - - pkg: "krillup" - image: "debian:buster" - target: "arm-unknown-linux-gnueabihf" - - # package for the ROCK64 as an AARCH64 cross compiled variant of Debian Buster upon which Armbian 21 is - # based. - - pkg: "krill" - image: "debian:buster" - target: "aarch64-unknown-linux-gnu" - - pkg: "krillup" - image: "debian:buster" - target: "aarch64-unknown-linux-gnu" diff --git a/pkg/rules/packages-to-test.yml b/pkg/rules/packages-to-test.yml index 3438907c..228cb09e 100644 --- a/pkg/rules/packages-to-test.yml +++ b/pkg/rules/packages-to-test.yml @@ -48,24 +48,6 @@ include: image: "debian:bullseye" target: "armv7-unknown-linux-gnueabihf" - # package for the Raspberry Pi 1b as an ARMv6 cross compiled variant of the Debian Buster upon which - # Raspbian 10 is based. - - pkg: "krill" - image: "debian:buster" - target: "arm-unknown-linux-gnueabihf" - - pkg: "krillup" - image: "debian:buster" - target: "arm-unknown-linux-gnueabihf" - - # package for the ROCK64 as an AARCH64 cross compiled variant of Debian Buster upon which Armbian 21 is - # based. - - pkg: "krill" - image: "debian:buster" - target: "aarch64-unknown-linux-gnu" - - pkg: "krillup" - image: "debian:buster" - target: "aarch64-unknown-linux-gnu" - # Exclude upgrade testing on Ubuntu Noble as no prior released versions exist to upgrade from. exclude: - image: "almalinux:9"