[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#1063323: libiw30t64: file loss due to /usr-move (DEP17)



On Tue, Feb 06, 2024 at 07:42:49AM +0100, Helmut Grohne wrote:
> I'm attaching a patch for your convenience. I consider that libiw30 is
> not as central as other packages and hence propose employing Conflicts
> here. Conflicts allow removing the protective diversion in trixie's
> postinst rather than forky's postinst already.

Steve made me aware that such Conflicts and Breaks should be versioned
as they may otherwise interact with Provides and multiarch. Updated
patch attached.

Helmut
diff --minimal -Nru wireless-tools-30~pre9/debian/changelog wireless-tools-30~pre9/debian/changelog
--- wireless-tools-30~pre9/debian/changelog	2024-02-04 21:34:45.000000000 +0100
+++ wireless-tools-30~pre9/debian/changelog	2024-02-06 07:33:48.000000000 +0100
@@ -1,3 +1,9 @@
+wireless-tools (30~pre9-16.1~exp2) UNRELEASED; urgency=medium
+
+  * Fix /usr-move file loss. (Closes: #-1)
+
+ -- Helmut Grohne <helmut@subdivi.de>  Tue, 06 Feb 2024 07:33:48 +0100
+
 wireless-tools (30~pre9-16.1~exp1) experimental; urgency=medium
 
   * Non-maintainer upload.
diff --minimal -Nru wireless-tools-30~pre9/debian/clean wireless-tools-30~pre9/debian/clean
--- wireless-tools-30~pre9/debian/clean	1970-01-01 01:00:00.000000000 +0100
+++ wireless-tools-30~pre9/debian/clean	2024-02-06 07:33:30.000000000 +0100
@@ -0,0 +1,2 @@
+debian/libiw30t64.preinst
+debian/libiw30t64.postinst
diff --minimal -Nru wireless-tools-30~pre9/debian/control wireless-tools-30~pre9/debian/control
--- wireless-tools-30~pre9/debian/control	2024-02-04 21:34:45.000000000 +0100
+++ wireless-tools-30~pre9/debian/control	2024-02-06 07:31:36.000000000 +0100
@@ -31,8 +31,7 @@
 
 Package: libiw30t64
 Provides: ${t64:Provides}
-Replaces: libiw30
-Breaks: libiw30 (<< ${source:Version})
+Conflicts: libiw30 (<< ${source:Version})
 Section: libs
 Architecture: linux-any
 Multi-Arch: same
diff --minimal -Nru wireless-tools-30~pre9/debian/libiw30t64.lintian-overrides wireless-tools-30~pre9/debian/libiw30t64.lintian-overrides
--- wireless-tools-30~pre9/debian/libiw30t64.lintian-overrides	2024-02-04 21:34:45.000000000 +0100
+++ wireless-tools-30~pre9/debian/libiw30t64.lintian-overrides	2024-02-06 07:33:48.000000000 +0100
@@ -1 +1,5 @@
 libiw30t64: package-name-doesnt-match-sonames libiw30
+# begin-remove-after: released:trixie
+# DEP17 protective diversion
+diversion-for-unknown-file lib/x86_64-linux-gnu/libiw.so.30 [preinst:*]
+# end-remove-after
diff --minimal -Nru wireless-tools-30~pre9/debian/libiw30t64.postinst.in wireless-tools-30~pre9/debian/libiw30t64.postinst.in
--- wireless-tools-30~pre9/debian/libiw30t64.postinst.in	1970-01-01 01:00:00.000000000 +0100
+++ wireless-tools-30~pre9/debian/libiw30t64.postinst.in	2024-02-06 07:29:28.000000000 +0100
@@ -0,0 +1,13 @@
+#!/bin/sh
+
+set -e
+
+# begin-remove-after: released:trixie
+if [ "$1" = configure ]; then
+	dpkg-divert --package libiw30t64 --no-rename --remove --divert "/lib/#DEB_HOST_MULTIARCH#/libiw.so.30.usr-is-merged" "/lib/#DEB_HOST_MULTIARCH#/libiw.so.30"
+fi
+# end-remove-after
+
+#DEBHELPER#
+
+exit 0
diff --minimal -Nru wireless-tools-30~pre9/debian/libiw30t64.preinst.in wireless-tools-30~pre9/debian/libiw30t64.preinst.in
--- wireless-tools-30~pre9/debian/libiw30t64.preinst.in	1970-01-01 01:00:00.000000000 +0100
+++ wireless-tools-30~pre9/debian/libiw30t64.preinst.in	2024-02-06 07:29:30.000000000 +0100
@@ -0,0 +1,13 @@
+#!/bin/sh
+
+set -e
+
+# begin-remove-after: released:trixie
+if [ "$1" = install ]; then
+	dpkg-divert --package libiw30t64 --no-rename --add --divert "/lib/#DEB_HOST_MULTIARCH#/libiw.so.30.usr-is-merged" "/lib/#DEB_HOST_MULTIARCH#/libiw.so.30"
+fi
+# end-remove-after
+
+#DEBHELPER#
+
+exit 0
diff --minimal -Nru wireless-tools-30~pre9/debian/rules wireless-tools-30~pre9/debian/rules
--- wireless-tools-30~pre9/debian/rules	2023-11-28 01:03:11.000000000 +0100
+++ wireless-tools-30~pre9/debian/rules	2024-02-06 07:33:39.000000000 +0100
@@ -19,3 +19,8 @@
 
 override_dh_installudev:
 	dh_installudev --priority=19
+
+debian/%:debian/%.in
+	sed -e 's/#DEB_HOST_MULTIARCH#/$(DEB_HOST_MULTIARCH)/g' $< > $@
+
+execute_before_dh_installdeb:debian/libiw30t64.preinst debian/libiw30t64.postinst

Reply to: