Bug#1063323: libiw30t64: file loss due to /usr-move (DEP17)
Thanks, I've uploaded an updated NMU to experimental. Attached is the consolidated patch. On Tue, Feb 06, 2024 at 07:42:48AM +0100, Helmut Grohne wrote: > Package: libiw30t64 > Provides: ${t64:Provides} > -Replaces: libiw30 > -Breaks: libiw30 (<< ${source:Version}) > +Conflicts: libiw30 > Section: libs > Architecture: linux-any > Multi-Arch: same I think this still needs to be a versioned Conflicts to avoid breaking multiarch coinstallability (after all the package is marked Multi-Arch: same). -- Steve Langasek Give me a lever long enough and a Free OS Debian Developer to set it on, and I can move the world. Ubuntu Developer https://www.debian.org/ slanga...@ubuntu.com vor...@debian.org diff -Nru wireless-tools-30~pre9/debian/changelog wireless-tools-30~pre9/debian/changelog --- wireless-tools-30~pre9/debian/changelog 2023-12-05 23:04:39.0 + +++ wireless-tools-30~pre9/debian/changelog 2024-02-17 17:01:16.0 + @@ -1,3 +1,17 @@ +wireless-tools (30~pre9-16.1~exp2) experimental; urgency=medium + + * Fix /usr-move file loss. Thanks to Helmut Grohne . +(Closes: #1063323) + + -- Steve Langasek Sat, 17 Feb 2024 17:01:16 + + +wireless-tools (30~pre9-16.1~exp1) experimental; urgency=medium + + * Non-maintainer upload. + * Rename libraries for 64-bit time_t transition. + + -- Steve Langasek Sun, 04 Feb 2024 20:34:45 + + wireless-tools (30~pre9-16) unstable; urgency=medium * QA upload. diff -Nru wireless-tools-30~pre9/debian/clean wireless-tools-30~pre9/debian/clean --- wireless-tools-30~pre9/debian/clean 1970-01-01 00:00:00.0 + +++ wireless-tools-30~pre9/debian/clean 2024-02-17 16:59:10.0 + @@ -0,0 +1,2 @@ +debian/libiw30t64.preinst +debian/libiw30t64.postinst diff -Nru wireless-tools-30~pre9/debian/control wireless-tools-30~pre9/debian/control --- wireless-tools-30~pre9/debian/control 2022-11-12 11:58:45.0 + +++ wireless-tools-30~pre9/debian/control 2024-02-17 17:00:10.0 + @@ -29,7 +29,9 @@ the network interfaces on the system, the most common selector is the interface MAC address. -Package: libiw30 +Package: libiw30t64 +Provides: ${t64:Provides} +Conflicts: libiw30 (<< ${source:Version}) Section: libs Architecture: linux-any Multi-Arch: same @@ -46,7 +48,7 @@ Section: libdevel Architecture: linux-any Multi-Arch: same -Depends: libiw30 (= ${binary:Version}), libc6-dev, ${misc:Depends} +Depends: libiw30t64 (= ${binary:Version}), libc6-dev, ${misc:Depends} Description: Wireless tools - development files Wireless tools are used to manipulate the Linux Wireless Extensions. The Wireless Extension is an interface allowing you to set Wireless LAN specific diff -Nru wireless-tools-30~pre9/debian/libiw30.install wireless-tools-30~pre9/debian/libiw30.install --- wireless-tools-30~pre9/debian/libiw30.install 2023-11-28 00:07:13.0 + +++ wireless-tools-30~pre9/debian/libiw30.install 1970-01-01 00:00:00.0 + @@ -1 +0,0 @@ -/usr/lib/*/libiw.so.30 diff -Nru wireless-tools-30~pre9/debian/libiw30.shlibs wireless-tools-30~pre9/debian/libiw30.shlibs --- wireless-tools-30~pre9/debian/libiw30.shlibs2020-03-07 20:56:23.0 + +++ wireless-tools-30~pre9/debian/libiw30.shlibs1970-01-01 00:00:00.0 + @@ -1,2 +0,0 @@ -libiw 30 libiw30 (>= 30~pre1) -udeb: libiw 30 libiw30-udeb (>= 30~pre1) diff -Nru wireless-tools-30~pre9/debian/libiw30t64.install wireless-tools-30~pre9/debian/libiw30t64.install --- wireless-tools-30~pre9/debian/libiw30t64.install1970-01-01 00:00:00.0 + +++ wireless-tools-30~pre9/debian/libiw30t64.install2024-02-04 20:34:45.0 + @@ -0,0 +1 @@ +/usr/lib/*/libiw.so.30 diff -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 1970-01-01 00:00:00.0 + +++ wireless-tools-30~pre9/debian/libiw30t64.lintian-overrides 2024-02-17 16:59:10.0 + @@ -0,0 +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 -Nru wireless-tools-30~pre9/debian/libiw30t64.postinst.in wireless-tools-30~pre9/debian/libiw30t64.postinst.in --- wireless-tools-30~pre9/debian/libiw30t64.postinst.in1970-01-01 00:00:00.0 + +++ wireless-tools-30~pre9/debian/libiw30t64.postinst.in2024-02-17 16:59:10.0 + @@ -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"
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.0 +0100 +++ wireless-tools-30~pre9/debian/changelog 2024-02-06 07:33:48.0 +0100 @@ -1,3 +1,9 @@ +wireless-tools (30~pre9-16.1~exp2) UNRELEASED; urgency=medium + + * Fix /usr-move file loss. (Closes: #-1) + + -- Helmut Grohne 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.0 +0100 +++ wireless-tools-30~pre9/debian/clean 2024-02-06 07:33:30.0 +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.0 +0100 +++ wireless-tools-30~pre9/debian/control 2024-02-06 07:31:36.0 +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.0 +0100 +++ wireless-tools-30~pre9/debian/libiw30t64.lintian-overrides 2024-02-06 07:33:48.0 +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.in1970-01-01 01:00:00.0 +0100 +++ wireless-tools-30~pre9/debian/libiw30t64.postinst.in2024-02-06 07:29:28.0 +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.0 +0100 +++ wireless-tools-30~pre9/debian/libiw30t64.preinst.in 2024-02-06 07:29:30.0 +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.0 +0100 +++ wireless-tools-30~pre9/debian/rules 2024-02-06 07:33:39.0 +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
Bug#1063323: libiw30t64: file loss due to /usr-move (DEP17)
Package: libiw30t64 Version: 30~pre9-16.1~exp1 Severity: serious Tags: patch User: helm...@debian.org Usertags: dep17p1 Control: affects -1 + libiw30 X-Debbugs-Cc: vor...@debian.org Installing libiw30t64 may cause file loss in an upgrade scenario. Reproducer: mmdebstrap --variant=apt --verbose bookworm /dev/null "deb http://deb.debian.org/debian bookworm main" "deb http://deb.debian.org/debian experimental main" --include=wireless-tools --chrooted-customize-hook="apt-get download libiw30t64" --chrooted-customize-hook="echo libiw30 deinstall | dpkg --set-selections" --chrooted-customize-hook="dpkg --auto-deconfigure --unpack *.deb" --chrooted-customize-hook="dpkg --configure -a" --chrooted-customize-hook="dpkg -r libiw30" --chrooted-customize-hook="! dpkg --verify | grep ." 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. 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.0 +0100 +++ wireless-tools-30~pre9/debian/changelog 2024-02-06 07:33:48.0 +0100 @@ -1,3 +1,9 @@ +wireless-tools (30~pre9-16.1~exp2) UNRELEASED; urgency=medium + + * Fix /usr-move file loss. (Closes: #-1) + + -- Helmut Grohne 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.0 +0100 +++ wireless-tools-30~pre9/debian/clean 2024-02-06 07:33:30.0 +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.0 +0100 +++ wireless-tools-30~pre9/debian/control 2024-02-06 07:31:36.0 +0100 @@ -31,8 +31,7 @@ Package: libiw30t64 Provides: ${t64:Provides} -Replaces: libiw30 -Breaks: libiw30 (<< ${source:Version}) +Conflicts: libiw30 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.0 +0100 +++ wireless-tools-30~pre9/debian/libiw30t64.lintian-overrides 2024-02-06 07:33:48.0 +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.in1970-01-01 01:00:00.0 +0100 +++ wireless-tools-30~pre9/debian/libiw30t64.postinst.in2024-02-06 07:29:28.0 +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.0 +0100 +++ wireless-tools-30~pre9/debian/libiw30t64.preinst.in 2024-02-06 07:29:30.0 +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.0 +0100 +++ wireless-tools-30~pre9/debian/rules 2024-02-06 07:33:39.0 +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