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