* Chris Hofstaedtler <z...@debian.org> [231126 19:17]: > You will find a patch attached to move the udev files, including the > mitigation for the file loss scenario.
Please find the patch attached. Chris
>From 1ebec5c13e777a9ebf08a23082ddb29f5abf40f1 Mon Sep 17 00:00:00 2001 From: Chris Hofstaedtler <z...@debian.org> Date: Sun, 26 Nov 2023 15:58:01 +0100 Subject: [PATCH] Move udev files from /lib to /usr/lib Including protective diversion against Multi-Arch: same file loss scenario (DEP17 P7 M10). Closes: #-1 --- debian/changelog | 8 ++++++++ debian/libfreenect0.5.lintian-overrides | 4 ++++ debian/libfreenect0.5.postinst | 16 ++++++++++++++++ debian/libfreenect0.5.postrm | 16 ++++++++++++++++ debian/libfreenect0.5.preinst | 15 +++++++++++++++ debian/rules | 5 +++++ 6 files changed, 64 insertions(+) create mode 100644 debian/libfreenect0.5.lintian-overrides create mode 100644 debian/libfreenect0.5.postinst create mode 100644 debian/libfreenect0.5.postrm create mode 100644 debian/libfreenect0.5.preinst diff --git a/debian/changelog b/debian/changelog index c522c56..8a4be24 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,11 @@ +libfreenect (1:0.5.3-3.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 15:57:36 +0100 + libfreenect (1:0.5.3-3) unstable; urgency=medium * debian/control diff --git a/debian/libfreenect0.5.lintian-overrides b/debian/libfreenect0.5.lintian-overrides new file mode 100644 index 0000000..da45f8d --- /dev/null +++ b/debian/libfreenect0.5.lintian-overrides @@ -0,0 +1,4 @@ +# begin-remove-after: released:forky +# protective diversion for upgrades of files moved from / to /usr +libfreenect0.5: diversion-for-unknown-file lib/udev/rules.d/60-libfreenect0.5.rules [preinst:*] +# end-remove-after diff --git a/debian/libfreenect0.5.postinst b/debian/libfreenect0.5.postinst new file mode 100644 index 0000000..40074e3 --- /dev/null +++ b/debian/libfreenect0.5.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-libfreenect0.5.rules.usr-is-merged \ + --remove /lib/udev/rules.d/60-libfreenect0.5.rules +fi +# end-remove-after + +#DEBHELPER# diff --git a/debian/libfreenect0.5.postrm b/debian/libfreenect0.5.postrm new file mode 100644 index 0000000..20645b8 --- /dev/null +++ b/debian/libfreenect0.5.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-libfreenect0.5.rules.usr-is-merged \ + --remove /lib/udev/rules.d/60-libfreenect0.5.rules +fi +# end-remove-after + +#DEBHELPER# + diff --git a/debian/libfreenect0.5.preinst b/debian/libfreenect0.5.preinst new file mode 100644 index 0000000..896e975 --- /dev/null +++ b/debian/libfreenect0.5.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-libfreenect0.5.rules.usr-is-merged \ + --add /lib/udev/rules.d/60-libfreenect0.5.rules +fi +# end-remove-after + +#DEBHELPER# + diff --git a/debian/rules b/debian/rules index d5ba96d..8809d11 100755 --- a/debian/rules +++ b/debian/rules @@ -23,6 +23,11 @@ endif override_dh_installdocs: dh_installdocs --all CONTRIB +override_dh_installudev: + dh_installudev + set -e; if test -d debian/libfreenect0.5/lib/udev/rules.d; then mv debian/libfreenect0.5/lib/udev debian/libfreenect0.5/usr/lib; fi + set -e; if test -d debian/libfreenect0.5/lib; then rmdir debian/libfreenect0.5/lib; fi + override_dh_makeshlibs: dh_makeshlibs -Xfakenect -- 2.39.2