Package: debhelper
Version: 13.3.4
Severity: normal
Tags: patch
Recently we decided to ship two binary versions of squid, one compiled with
gnutls and the other with openssl, as the code provides different features
depending with what is compiled.
I decided to produce two binary packages conflicting with each other, squid
and squid-openssl but that provide the same service squid.service
The problem comes when we purge one that is removed when the other is
installed, I see the problem on the automatic added sections of the postrm
script.
I have filled a bug on squid explaining the problem (#984880) and tried to
explain this here:
https://lists.debian.org/debian-mentors/2021/03/msg00022.html
The problem is with both dh_installinit and dh_installsystemd, I have
prepared a patch based on the dh_apparmor's code which does have checks for
this.
I don't know debhelper's code, and even tough this patch works ok for me,
the plural of #UNITFILES# makes me think that it can have several files on
it wich would make my patch fail on this case, I hope the patch gives you
the idea of what would be needed.
Fixing this bug would be needed to fix bug #984880 on squid for Bullseye, I
don't know if it is possible to have a fix for this on debhelper or if we
should try to woraround this on squid's postrm script, I hope that you can
have a look at this and let me know.
Regards.
-- System Information:
Debian Release: bullseye/sid
APT prefers testing
APT policy: (990, 'testing'), (500, 'unstable'), (500, 'stable'), (101,
'experimental')
Architecture: amd64 (x86_64)
Kernel: Linux 5.10.0-4-amd64 (SMP w/4 CPU threads)
Kernel taint flags: TAINT_WARN, TAINT_FIRMWARE_WORKAROUND, TAINT_OOT_MODULE,
TAINT_UNSIGNED_MODULE
Locale: LANG=gl_ES.UTF-8, LC_CTYPE=gl_ES.UTF-8 (charmap=UTF-8), LANGUAGE not set
Shell: /bin/sh linked to /bin/dash
Init: systemd (via /run/systemd/system)
LSM: AppArmor: enabled
Versions of packages debhelper depends on:
ii autotools-dev20180224.1+nmu1
ii dh-autoreconf20
ii dh-strip-nondeterminism 1.11.0-1
ii dpkg 1.20.7.1
ii dpkg-dev 1.20.7.1
ii dwz 0.13+20210201-1
ii file 1:5.39-3
ii libdebhelper-perl13.3.4
ii libdpkg-perl 1.20.7.1
ii man-db 2.9.4-2
ii perl 5.32.1-3
ii po-debconf 1.0.21+nmu1
debhelper recommends no packages.
Versions of packages debhelper suggests:
ii dh-make 2.202003
-- no debconf information
diff --git a/autoscripts/postrm-init b/autoscripts/postrm-init
index 1c292982..acd7dc76 100644
--- a/autoscripts/postrm-init
+++ b/autoscripts/postrm-init
@@ -1,3 +1,3 @@
-if [ "$1" = "purge" ] ; then
+if [ "$1" = "purge" ] && ! [ -e "/etc/init.d/#SCRIPT#" ]; then
update-rc.d #SCRIPT# remove >/dev/null
fi
diff --git a/autoscripts/postrm-systemd b/autoscripts/postrm-systemd
index d95013b6..3850e016 100644
--- a/autoscripts/postrm-systemd
+++ b/autoscripts/postrm-systemd
@@ -4,7 +4,8 @@ if [ "$1" = "remove" ]; then
fi
fi
-if [ "$1" = "purge" ]; then
+UNITFILES=#UNITFILES#
+if [ "$1" = "purge" ] && ! [ -e "/lib/systemd/system/$UNITFILES" ]; then
if [ -x "/usr/bin/deb-systemd-helper" ]; then
deb-systemd-helper purge #UNITFILES# >/dev/null || true
deb-systemd-helper unmask #UNITFILES# >/dev/null || true