Bug#1056724: #1056724: libsane-hpaio: Move files into /usr (incl. DEP17 P7 mitigation)
Please find the patch attached.
Chris
>From c42e9092bb2d0df2f99d582444c7a08021be00b0 Mon Sep 17 00:00:00 2001
From: Chris Hofstaedtler <zeha@debian.org>
Date: Wed, 22 Nov 2023 12:55:30 +0100
Subject: [PATCH] libsane-hpaio: move 56-hpmud.rules to /usr
---
debian/changelog | 8 ++++++++
debian/libsane-hpaio.install | 2 +-
debian/libsane-hpaio.lintian-overrides | 4 ++++
debian/libsane-hpaio.postinst | 17 +++++++++++++++++
debian/libsane-hpaio.postrm | 17 +++++++++++++++++
debian/libsane-hpaio.preinst | 16 ++++++++++++++++
6 files changed, 63 insertions(+), 1 deletion(-)
create mode 100644 debian/libsane-hpaio.lintian-overrides
create mode 100755 debian/libsane-hpaio.postinst
create mode 100755 debian/libsane-hpaio.postrm
create mode 100755 debian/libsane-hpaio.preinst
diff --git a/debian/changelog b/debian/changelog
index da43728f..ab9d56c6 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,11 @@
+hplip (3.22.10+dfsg0-4~) UNRELEASED; urgency=medium
+
+ * libsane-hpaio: move 56-hpmud.rules to /usr, with protective diversion
+ against m-a: same file loss on upgrades. Diversion can be removed in
+ forky+1. (Closes: #-1)
+
+ -- Chris Hofstaedtler <zeha@debian.org> Wed, 22 Nov 2023 12:54:13 +0100
+
hplip (3.22.10+dfsg0-3) unstable; urgency=medium
* debian/control: replace policykit-1 by pkexec, polkitd
diff --git a/debian/libsane-hpaio.install b/debian/libsane-hpaio.install
index 7b69d842..4ac7256f 100644
--- a/debian/libsane-hpaio.install
+++ b/debian/libsane-hpaio.install
@@ -1,5 +1,5 @@
etc/hp
etc/sane.d/dll.d
-etc/udev/rules.d/56-hpmud.rules lib/udev/rules.d
+etc/udev/rules.d/56-hpmud.rules usr/lib/udev/rules.d
usr/lib/*-*/sane/libsane*.so.*
usr/share/hplip/data/models/models.dat
diff --git a/debian/libsane-hpaio.lintian-overrides b/debian/libsane-hpaio.lintian-overrides
new file mode 100644
index 00000000..30ec6f9e
--- /dev/null
+++ b/debian/libsane-hpaio.lintian-overrides
@@ -0,0 +1,4 @@
+# begin-remove-after: released:forky
+# protective diversion for upgrades of files moved from / to /usr
+libsane-hpaio: diversion-for-unknown-file lib/udev/rules.d/56-hpmud.rules [preinst:*]
+# end-remove-after
diff --git a/debian/libsane-hpaio.postinst b/debian/libsane-hpaio.postinst
new file mode 100755
index 00000000..23e390b7
--- /dev/null
+++ b/debian/libsane-hpaio.postinst
@@ -0,0 +1,17 @@
+#!/bin/sh
+
+set -e
+
+# begin-remove-after: released:forky
+# protective diversion of files moved from / to /usr, to avoid file loss.
+# Only for upgrades.
+if [ "$1" = "configure" ]; then
+ # At this point, the package will have installed the same file in */usr*.
+ dpkg-divert --package usr-is-merged --no-rename \
+ --divert /lib/udev/rules.d/56-hpmud.rules.usr-is-merged \
+ --remove /lib/udev/rules.d/56-hpmud.rules
+fi
+# end-remove-after
+
+#DEBHELPER#
+
diff --git a/debian/libsane-hpaio.postrm b/debian/libsane-hpaio.postrm
new file mode 100755
index 00000000..2517a8c3
--- /dev/null
+++ b/debian/libsane-hpaio.postrm
@@ -0,0 +1,17 @@
+#!/bin/sh
+
+set -e
+
+# begin-remove-after: released:forky
+# protective diversion of files moved from / to /usr, to avoid file loss.
+# Only for upgrades.
+if [ "$1" = "remove" ] && [ "$DPKG_MAINTSCRIPT_PACKAGE_REFCOUNT" = "1" ]; then
+ # Cleanup in case package is removed before upgrade is finished (postinst ran).
+ dpkg-divert --package usr-is-merged --no-rename \
+ --divert /lib/udev/rules.d/56-hpmud.rules.usr-is-merged \
+ --remove /lib/udev/rules.d/56-hpmud.rules
+fi
+# end-remove-after
+
+#DEBHELPER#
+
diff --git a/debian/libsane-hpaio.preinst b/debian/libsane-hpaio.preinst
new file mode 100755
index 00000000..2fe90a48
--- /dev/null
+++ b/debian/libsane-hpaio.preinst
@@ -0,0 +1,16 @@
+#!/bin/sh
+
+set -e
+
+# begin-remove-after: released:forky
+# protective diversion of files moved from / to /usr, to avoid file loss.
+# Only for upgrades.
+if [ "$1" = "upgrade" ]; then
+ dpkg-divert --package usr-is-merged --no-rename \
+ --divert /lib/udev/rules.d/56-hpmud.rules.usr-is-merged \
+ --add /lib/udev/rules.d/56-hpmud.rules
+fi
+# end-remove-after
+
+#DEBHELPER#
+
--
2.39.2
Reply to: