Package: libxtrxl0 Version: 0.0.1+git20201202.1b6eddf-1 Severity: important Tags: patch User: helm...@debian.org Usertags: dep17p7 X-Debbugs-Cc: helm...@debian.org
Dear Maintainer, libxtrxl0 contains udev files which are installed to /lib; these files need to be moved to /usr/lib as part of Debian's usr-merge effort. Because your package is Multi-Arch: same, an unfortunate corner-case can occur whereby shared files (such as the udev rules) may be erroneously removed on upgrades (please see DEP17[1] P7: Shared multiarch file loss). You will find a patch attached to move the udev files, including the mitigation for the file loss scenario. Please consider applying this patch at your earliest convenience. This bug will be upgraded to release critical soon, as it blocks the overall usr-merge effort which is being undertaken for the trixie release. Many thanks, Chris [1] https://wiki.debian.org/UsrMerge
diff -Nru libxtrxll-0.0.1+git20201202.1b6eddf/debian/changelog libxtrxll-0.0.1+git20201202.1b6eddf/debian/changelog --- libxtrxll-0.0.1+git20201202.1b6eddf/debian/changelog 2022-11-09 10:26:52.000000000 +0100 +++ libxtrxll-0.0.1+git20201202.1b6eddf/debian/changelog 2023-11-26 20:43:51.000000000 +0100 @@ -1,3 +1,11 @@ +libxtrxll (0.0.1+git20201202.1b6eddf-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 20:43:51 +0100 + libxtrxll (0.0.1+git20201202.1b6eddf-1) unstable; urgency=low * Team upload. diff -Nru libxtrxll-0.0.1+git20201202.1b6eddf/debian/libxtrxll0.lintian-overrides libxtrxll-0.0.1+git20201202.1b6eddf/debian/libxtrxll0.lintian-overrides --- libxtrxll-0.0.1+git20201202.1b6eddf/debian/libxtrxll0.lintian-overrides 1970-01-01 01:00:00.000000000 +0100 +++ libxtrxll-0.0.1+git20201202.1b6eddf/debian/libxtrxll0.lintian-overrides 2023-11-26 20:43:34.000000000 +0100 @@ -0,0 +1,4 @@ +# begin-remove-after: released:forky +# protective diversion for upgrades of files moved from / to /usr +libxtrxll0: diversion-for-unknown-file lib/udev/rules.d/50-libxtrxll0.rules [preinst:*] +# end-remove-after diff -Nru libxtrxll-0.0.1+git20201202.1b6eddf/debian/libxtrxll0.postinst libxtrxll-0.0.1+git20201202.1b6eddf/debian/libxtrxll0.postinst --- libxtrxll-0.0.1+git20201202.1b6eddf/debian/libxtrxll0.postinst 1970-01-01 01:00:00.000000000 +0100 +++ libxtrxll-0.0.1+git20201202.1b6eddf/debian/libxtrxll0.postinst 2023-11-26 20:43:34.000000000 +0100 @@ -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/50-libxtrxll0.rules.usr-is-merged \ + --remove /lib/udev/rules.d/50-libxtrxll0.rules +fi +# end-remove-after + +#DEBHELPER# diff -Nru libxtrxll-0.0.1+git20201202.1b6eddf/debian/libxtrxll0.postrm libxtrxll-0.0.1+git20201202.1b6eddf/debian/libxtrxll0.postrm --- libxtrxll-0.0.1+git20201202.1b6eddf/debian/libxtrxll0.postrm 1970-01-01 01:00:00.000000000 +0100 +++ libxtrxll-0.0.1+git20201202.1b6eddf/debian/libxtrxll0.postrm 2023-11-26 20:43:34.000000000 +0100 @@ -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/50-libxtrxll0.rules.usr-is-merged \ + --remove /lib/udev/rules.d/50-libxtrxll0.rules +fi +# end-remove-after + +#DEBHELPER# + diff -Nru libxtrxll-0.0.1+git20201202.1b6eddf/debian/libxtrxll0.preinst libxtrxll-0.0.1+git20201202.1b6eddf/debian/libxtrxll0.preinst --- libxtrxll-0.0.1+git20201202.1b6eddf/debian/libxtrxll0.preinst 1970-01-01 01:00:00.000000000 +0100 +++ libxtrxll-0.0.1+git20201202.1b6eddf/debian/libxtrxll0.preinst 2023-11-26 20:43:34.000000000 +0100 @@ -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/50-libxtrxll0.rules.usr-is-merged \ + --add /lib/udev/rules.d/50-libxtrxll0.rules +fi +# end-remove-after + +#DEBHELPER# + diff -Nru libxtrxll-0.0.1+git20201202.1b6eddf/debian/rules libxtrxll-0.0.1+git20201202.1b6eddf/debian/rules --- libxtrxll-0.0.1+git20201202.1b6eddf/debian/rules 2022-11-09 10:26:52.000000000 +0100 +++ libxtrxll-0.0.1+git20201202.1b6eddf/debian/rules 2023-11-26 20:43:51.000000000 +0100 @@ -14,6 +14,9 @@ override_dh_installudev: cp mod_usb3380/udev/50-xtrx-usb3380.rules debian/libxtrxll0.udev dh_installudev --priority=50 + # This should be harmless after dh_installudev changes its default install path. + set -e; if test -d debian/libxtrxll0/lib/udev/rules.d; then mv debian/libxtrxll0/lib/udev debian/libxtrxll0/usr/lib; fi + set -e; if test -d debian/libxtrxll0/lib; then rmdir debian/libxtrxll0/lib; fi override_dh_clean: rm -f debian/libxtrxll0.udev