* Michael Biebl [Fri Jan 22, 2016 at 03:08:32PM +0100]:

> I'm going to clone this bug report for file-rc, since it is equally
> affected.

[...]

I've worked on a patch for file-rc which takes care of diverting the
relevant invoke-rc.d. + update-rc.d files (following instructions as
documented at
https://www.debian.org/doc/debian-policy/ap-pkg-diversions.html), so
file-rc can be co-installed with init-system-helpers >=1.25.

I'd highly appreciate a review and if there are no objections I'd
upload this then.

regards,
-mika-
From 091a11db2ee9be93270d48c67ca413b1bc7e1121 Mon Sep 17 00:00:00 2001
From: Michael Prokop <m...@debian.org>
Date: Sat, 23 Jan 2016 00:01:20 +0100
Subject: [PATCH] divert update-rc.d + invoke-rc.d files to cooperate with
 init-system-helpers >=1.25

Closes: #285835, #812337
---
 debian/postrm  | 22 +++++++++++++++++++++-
 debian/preinst | 16 ++++++++++++++++
 2 files changed, 37 insertions(+), 1 deletion(-)

diff --git a/debian/postrm b/debian/postrm
index 018fd04..ad83e2c 100644
--- a/debian/postrm
+++ b/debian/postrm
@@ -17,12 +17,32 @@ set -e
 # for details, see http://www.debian.org/doc/debian-policy/ or
 # the debian-policy package
 
+# see #812337 + #285835, #805487
+undivert() {
+  dpkg-divert --package file-rc --remove --rename \
+    --divert /usr/sbin/update-rc.d.real /usr/sbin/update-rc.d
+
+  dpkg-divert --package file-rc --remove --rename \
+    --divert /usr/sbin/invoke-rc.d.real /usr/sbin/invoke-rc.d
+
+  dpkg-divert --package file-rc --remove --rename \
+    --divert /usr/share/man/man8/update-rc.d.8.gz.real /usr/share/man/man8/update-rc.d.8.gz
+
+  dpkg-divert --package file-rc --remove --rename \
+    --divert /usr/share/man/man8/invoke-rc.d.8.gz.real /usr/share/man/man8/invoke-rc.d.8.gz
+}
 
 case "$1" in
-    upgrade|failed-upgrade|abort-install|abort-upgrade|disappear)
+    upgrade|failed-upgrade|abort-upgrade)
+    ;;
+
+    abort-install|disappear)
+        undivert
     ;;
 
     remove)
+        undivert
+
 	if [ ! -e /usr/sbin/update-rc.d ] ; then
 		ln -sf /usr/share/sysvinit/update-rc.d /usr/sbin/update-rc.d
 	fi
diff --git a/debian/preinst b/debian/preinst
index 9b3a1f0..0d9e962 100644
--- a/debian/preinst
+++ b/debian/preinst
@@ -14,12 +14,28 @@ set -e
 # for details, see http://www.debian.org/doc/debian-policy/ or
 # the debian-policy package
 
+# see #812337 + #285835, #805487
+divert() {
+  dpkg-divert --package file-rc --add --rename \
+    --divert /usr/sbin/update-rc.d.real /usr/sbin/update-rc.d
+
+  dpkg-divert --package file-rc --add --rename \
+    --divert /usr/sbin/invoke-rc.d.real /usr/sbin/invoke-rc.d
+
+  dpkg-divert --package file-rc --add --rename \
+    --divert /usr/share/man/man8/update-rc.d.8.gz.real /usr/share/man/man8/update-rc.d.8.gz
+
+  dpkg-divert --package file-rc --add --rename \
+    --divert /usr/share/man/man8/invoke-rc.d.8.gz.real /usr/share/man/man8/invoke-rc.d.8.gz
+}
 
 case "$1" in
     install)
+      divert
     ;;
 
     upgrade)
+      divert
     ;;
 
     abort-upgrade)
-- 
2.1.4

Attachment: signature.asc
Description: Digital signature

Reply via email to