Package: libhamlib4t64 Version: 4.5.5-3.1~exp1 Severity: serious Tags: patch User: helm...@debian.org Usertags: dep17p1 Control: affects -1 + libhamlib4 X-Debbugs-Cc: vor...@debian.org, mwhud...@debian.org
libhamlib4t64 introduced Replaces for libhamlib4 to take over its files and in that process it also takes over /usr/lib/udev/rules.d/60-libhamlib4.rules. This file also is in libhamlib4 in an aliased location. Moving a file from / to /usr and between packages causes file loss (DEP17 P1). Hence, I'm extending the existing mitigation for DEP17 P7 (M-A:same shared file loss) to cover the new P1 problem introduced by time64. See my attched patch. The protective diversion will be kept beyond postinst and stay around. Since the earlier diversion in libhamlib4 was removed in postinst, there cannot be any conflict on diversions. I tested the upgrade using piuparts. Helmut
diff --minimal -Nru hamlib-4.5.5/debian/changelog hamlib-4.5.5/debian/changelog --- hamlib-4.5.5/debian/changelog 2024-02-17 04:43:05.000000000 +0100 +++ hamlib-4.5.5/debian/changelog 2024-02-19 19:50:40.000000000 +0100 @@ -1,3 +1,11 @@ +hamlib (4.5.5-3.1~exp1.1) UNRELEASED; urgency=medium + + * Non-maintainer upload. + * Extend DEP17 P7 mitigation (protective diversion for udev rules) to also + cover P1 (package rename). (Closes: #-1) + + -- Helmut Grohne <hel...@subdivi.de> Mon, 19 Feb 2024 19:50:40 +0100 + hamlib (4.5.5-3.1~exp1) experimental; urgency=medium * Non-maintainer upload. diff --minimal -Nru hamlib-4.5.5/debian/libhamlib4t64.lintian-overrides hamlib-4.5.5/debian/libhamlib4t64.lintian-overrides --- hamlib-4.5.5/debian/libhamlib4t64.lintian-overrides 2024-02-17 04:43:05.000000000 +0100 +++ hamlib-4.5.5/debian/libhamlib4t64.lintian-overrides 2024-02-19 19:50:40.000000000 +0100 @@ -1,4 +1,4 @@ # protective diversion for upgrades of files moved from / to /usr # see: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1056692 -libhamlib4t64: diversion-for-unknown-file lib/udev/rules.d/60-libhamlib4t64.rules [preinst:14] +libhamlib4t64: diversion-for-unknown-file lib/udev/rules.d/60-libhamlib4.rules [preinst:*] libhamlib4t64: package-name-doesnt-match-sonames libhamlib4 diff --minimal -Nru hamlib-4.5.5/debian/libhamlib4t64.postinst hamlib-4.5.5/debian/libhamlib4t64.postinst --- hamlib-4.5.5/debian/libhamlib4t64.postinst 2024-02-17 04:43:05.000000000 +0100 +++ hamlib-4.5.5/debian/libhamlib4t64.postinst 2024-02-19 13:56:14.000000000 +0100 @@ -7,17 +7,6 @@ rm -f /etc/udev/rules.d/60-libhamlib4.rules -# 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-libhamlib4.rules.usr-is-merged \ - --remove /lib/udev/rules.d/60-libhamlib4.rules -fi -# end-remove-after - #DEBHELPER# exit 0 diff --minimal -Nru hamlib-4.5.5/debian/libhamlib4t64.postrm hamlib-4.5.5/debian/libhamlib4t64.postrm --- hamlib-4.5.5/debian/libhamlib4t64.postrm 2024-02-17 04:43:05.000000000 +0100 +++ hamlib-4.5.5/debian/libhamlib4t64.postrm 2024-02-19 13:56:50.000000000 +0100 @@ -5,16 +5,13 @@ dpkg-maintscript-helper rm_conffile /etc/udev/60-libhamlib4.rules -- "$@" -# 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-libhamlib4.rules.usr-is-merged \ --remove /lib/udev/rules.d/60-libhamlib4.rules fi -# end-remove-after #DEBHELPER# diff --minimal -Nru hamlib-4.5.5/debian/libhamlib4t64.preinst hamlib-4.5.5/debian/libhamlib4t64.preinst --- hamlib-4.5.5/debian/libhamlib4t64.preinst 2024-02-17 04:43:05.000000000 +0100 +++ hamlib-4.5.5/debian/libhamlib4t64.preinst 2024-02-19 13:55:31.000000000 +0100 @@ -5,15 +5,13 @@ dpkg-maintscript-helper rm_conffile /etc/udev/60-libhamlib4.rules -- "$@" -# begin-remove-after: released:forky # protective diversion of files moved from / to /usr, to avoid file loss. -# Only for upgrades. -if [ "$1" = "upgrade" ]; then +if [ "$1" = upgrade ] || [ "$1" = install ]; then + # The diversion should be removed after trixie is released. dpkg-divert --package usr-is-merged --no-rename \ --divert /lib/udev/rules.d/60-libhamlib4.rules.usr-is-merged \ --add /lib/udev/rules.d/60-libhamlib4.rules fi -# end-remove-after #DEBHELPER#