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#
 

Reply via email to