[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

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: