[debhelper-devel] Bug#837528: debhelper: dh_installinit --no-restart-on-upgrade now restarts after upgrade
Simon McVittie
smcv at debian.org
Mon Sep 12 08:19:38 UTC 2016
Package: debhelper
Version: 10
Severity: normal
dbus contains a service that explicitly does not support being restarted
without a reboot (it would require an init-style stateful re-exec with a
lot of state to be transferred, which hasn't been implemented), so for a
long time we've used
dh_installinit -pdbus -r
(where -r is the short form of --no-restart-on-upgrade) to suppress the
restart that debhelper would normally put in the maintainer scripts.
After upgrading dbus to compat level 10, I see this:
--- /var/lib/dpkg/info/dbus.postinst 2016-08-15 22:05:45.000000000 +0100
+++ dbus_1.10.10-2_amd64/DEBIAN/postinst 2016-08-26 11:07:56.000000000 +0100
@@ -97,15 +97,18 @@
if [ "$1" = "configure" ] || [ "$1" = "abort-upgrade" ]; then
if [ -x "/etc/init.d/dbus" ]; then
update-rc.d dbus defaults >/dev/null
- invoke-rc.d dbus start || exit $?
+ if [ -n "$2" ]; then
+ _dh_action=restart
+ else
+ _dh_action=start
+ fi
+ invoke-rc.d dbus $_dh_action || exit $?
fi
fi
# End automatically added section
i.e. the change of default in compat level 10 has meant we would now
restart the service. Is this intended?
It looks as though it'll be possible to work around this with
dh_installinit -pdbus --no-restart-on-upgrade --no-restart-after-upgrade
but that seems counter-intuitive: I would have expected
dh_installinit -pdbus --no-restart-on-upgrade
to be enough?
I think this pseudo-patch would do what I expect:
if (! $dh{NO_START}) {
- if ($dh{RESTART_AFTER_UPGRADE}) {
+ if ($dh{RESTART_AFTER_UPGRADE} && ! $dh{R_FLAG}) {
On the other hand, this change would likely also affect compat
levels < 10 if they did
dh_installinit -pdbus --no-restart-on-upgrade --restart-after-upgrade
which has an unclear meaning: it isn't obvious what that should do, and
which of the two contradictory-looking options should "win".
Regards,
S
-- System Information:
Debian Release: stretch/sid
APT prefers unstable
APT policy: (500, 'unstable'), (500, 'testing'), (500, 'stable'), (1, 'experimental')
Architecture: amd64 (x86_64)
Foreign Architectures: i386
Kernel: Linux 4.7.0-1-amd64 (SMP w/4 CPU cores)
Locale: LANG=en_GB.utf8, LC_CTYPE=en_GB.utf8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
Init: systemd (via /run/systemd/system)
Versions of packages debhelper depends on:
ii autotools-dev 20160430.1
ii binutils 2.27-8
ii dh-autoreconf 12
ii dh-strip-nondeterminism 0.027-1
ii dpkg 1.18.10
ii dpkg-dev 1.18.10
ii file 1:5.28-4
ii libdpkg-perl 1.18.10
ii man-db 2.7.5-1
ii perl 5.22.2-5
ii po-debconf 1.0.19
debhelper recommends no packages.
Versions of packages debhelper suggests:
pn dh-make <none>
-- no debconf information
More information about the debhelper-devel
mailing list