Package: init-system-helpers Version: 1.69+nmu1 Severity: serious Justification: non-declared dependency; fails on systemd upgrades if procps is missing
Dear Maintainer,
I have been see has been causing this issue all over jobs on Debian
CI: when upgrading from testing, it causes the apt upgrade to fail like
this:
----------------8<----------------8<----------------8<-----------------
Setting up systemd (262~rc1-2) ...
Can't exec "kill": No such file or directory at /usr/bin/deb-systemd-invoke
line 179.
Job for systemd-journald.service failed because the control process exited with
error code.
See "systemctl status systemd-journald.service" and "journalctl -xeu
systemd-journald.service" for details.
Job for systemd-networkd.service failed because the control process exited with
error code.
See "systemctl status systemd-networkd.service" and "journalctl -xeu
systemd-networkd.service" for details.
Setting up systemd-resolved (262~rc1-2) ...
Could not execute systemctl: at /usr/bin/deb-systemd-invoke line 148.
----------------8<----------------8<----------------8<-----------------
I can reproduce this locally with autopkgtest, like this:
autopkgtest --no-built-binaries --apt-upgrade --add-apt-release=unstable
--pin-packages=unstable=src:systemd debian-security-support -- incus
autopkgtest/debian/testing/arm64
This is caused by an implicit dependeny on procps (for /usr/bin/kill).
The code around deb-systemd-invoke line 179 is:
178 if ($is_system) {
179 system('kill', '-s', $signal, '1');
180 } else {
181 system('systemctl', '--quiet', 'kill', '--kill-whom=main',
'--signal', $signal, 'user@*.servic e');
182 }
The attached patch (against git master) fixes the issue, i.e. if I have
the package with this patch installed, then upgrading systemd works.
From 9ef0e143ee5a68620f2bb98e68e6c3ee037620b3 Mon Sep 17 00:00:00 2001 From: Antonio Terceiro <[email protected]> Date: Sat, 5 Sep 2026 13:46:50 -0300 Subject: [PATCH] deb-systemd-invoke: don't assume `kill` is available /usr/bin/kill is provided by procps, which is not a dependency, and might not be installed. For example, recent Debian CI containers do not include `procps`, and this revealed an implicit dependency in procps by init-system-helpers. Given Perl has a kill() function, we can just use that instead of shelling out to /usr/bin/kill. --- script/deb-systemd-invoke | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/script/deb-systemd-invoke b/script/deb-systemd-invoke index c94d47a..adfac93 100755 --- a/script/deb-systemd-invoke +++ b/script/deb-systemd-invoke @@ -371,7 +371,7 @@ sub reload_reexec_signal { } if ($is_system) { - system('kill', '-s', $signal, '1'); + kill($signal, 1); } else { system('systemctl', '--quiet', 'kill', '--kill-whom=main', '--signal', $signal, 'user@*.service'); } -- 2.53.0
signature.asc
Description: PGP signature

