Please find the patch attached.

Chris

>From ac698d36e0ee4bbe082d40d786e9a906610ae42d Mon Sep 17 00:00:00 2001
From: Chris Hofstaedtler <z...@debian.org>
Date: Sun, 26 Nov 2023 17:32:36 +0100
Subject: [PATCH] Move udev files from /lib to /usr/lib

Including protective diversion against Multi-Arch: same file loss scenario
(DEP17 P7 M10).
---
 debian/changelog                   |  8 ++++++++
 debian/libffado2.install           |  2 +-
 debian/libffado2.lintian-overrides |  4 ++++
 debian/libffado2.postinst          | 16 ++++++++++++++++
 debian/libffado2.postrm            | 16 ++++++++++++++++
 debian/libffado2.preinst           | 15 +++++++++++++++
 debian/rules                       |  1 +
 7 files changed, 61 insertions(+), 1 deletion(-)
 create mode 100644 debian/libffado2.lintian-overrides
 create mode 100644 debian/libffado2.postinst
 create mode 100644 debian/libffado2.postrm
 create mode 100644 debian/libffado2.preinst

diff --git a/debian/changelog b/debian/changelog
index 028b0e8..ace26e2 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,11 @@
+libffado (2.4.7-1.1) UNRELEASED; urgency=medium
+
+  * Non-maintainer upload.
+  * Move udev files from /lib to /usr/lib, including protective diversion
+    against Multi-Arch: same file loss scenario (DEP17 P7 M10). (Closes: #-1)
+
+ -- Chris Hofstaedtler <z...@debian.org>  Sun, 26 Nov 2023 17:31:51 +0100
+
 libffado (2.4.7-1) unstable; urgency=medium
 
   * New upstream version 2.4.7
diff --git a/debian/libffado2.install b/debian/libffado2.install
index 42cc806..0ac4e1c 100644
--- a/debian/libffado2.install
+++ b/debian/libffado2.install
@@ -1,3 +1,3 @@
-lib/udev
+usr/lib/udev
 usr/lib/*/libffado.so.*
 usr/share/libffado2/configuration
diff --git a/debian/libffado2.lintian-overrides 
b/debian/libffado2.lintian-overrides
new file mode 100644
index 0000000..7d6e5c5
--- /dev/null
+++ b/debian/libffado2.lintian-overrides
@@ -0,0 +1,4 @@
+# begin-remove-after: released:forky
+# protective diversion for upgrades of files moved from / to /usr
+libffado2: diversion-for-unknown-file lib/udev/rules.d/60-ffado.rules 
[preinst:*]
+# end-remove-after
diff --git a/debian/libffado2.postinst b/debian/libffado2.postinst
new file mode 100644
index 0000000..da321c3
--- /dev/null
+++ b/debian/libffado2.postinst
@@ -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" = "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/60-ffado.rules.usr-is-merged \
+        --remove /lib/udev/rules.d/60-ffado.rules
+fi
+# end-remove-after
+
+#DEBHELPER#
diff --git a/debian/libffado2.postrm b/debian/libffado2.postrm
new file mode 100644
index 0000000..468eed6
--- /dev/null
+++ b/debian/libffado2.postrm
@@ -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" = "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/60-ffado.rules.usr-is-merged \
+        --remove /lib/udev/rules.d/60-ffado.rules
+fi
+# end-remove-after
+
+#DEBHELPER#
+
diff --git a/debian/libffado2.preinst b/debian/libffado2.preinst
new file mode 100644
index 0000000..7c88026
--- /dev/null
+++ b/debian/libffado2.preinst
@@ -0,0 +1,15 @@
+#!/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/60-ffado.rules.usr-is-merged \
+        --add /lib/udev/rules.d/60-ffado.rules
+fi
+# end-remove-after
+
+#DEBHELPER#
+
diff --git a/debian/rules b/debian/rules
index 57c831f..f5c2218 100755
--- a/debian/rules
+++ b/debian/rules
@@ -10,6 +10,7 @@ FLAGS= \
                        PREFIX=/usr \
                        DESTDIR=$(CURDIR)/debian/tmp \
                        LIBDIR=/usr/lib/$(DEB_HOST_MULTIARCH) \
+                       UDEVDIR=/usr/lib/udev/rules.d/ \
                        SHAREDIR=/usr/share/libffado2/ \
                        MANDIR=/usr/share/man/ \
                        PYPKGDIR=/usr/share/ffado-mixer-qt4/ \
-- 
2.39.2

Reply via email to