Thanks. A follow-up NMU has been uploaded to experimental; attached is the combined NMU patch.
On Sat, Feb 03, 2024 at 12:11:10PM +0100, Helmut Grohne wrote: > Package: libsigrok4t64 > Version: 0.5.2-5.1~exp1 > Severity: serious > Tags: patch > User: helm...@debian.org > Usertags: dep17p1 > Control: affects -1 + libsigrok4 > X-Debbugs-Cc: vor...@debian.org > > Hi Steve, > > this NMU also introduces a DEP17 P1 problem. To make matters worse, the > affected file already is being mitigated for DEP17 P7. Mitigating both > problems at the same time is "interesting". I think I found a solution > and it passes piuparts. As I do not want to interfere with the time64 > transition, I am not uploading this and merely attaching a patch. > > For P7 mitigations, the diversion must not be owned by the causing > package. Hence these diversions are assigned to usr-is-merged and must > remain there. We're also dealing with the problem that these mitigations > now have to move from libsigrok4 to libsigrok4t64. I'd appreciate > another pair of eyeballs double checking this. > > Helmut > diff --minimal -Nru libsigrok-0.5.2/debian/changelog > libsigrok-0.5.2/debian/changelog > --- libsigrok-0.5.2/debian/changelog 2024-02-02 08:36:33.000000000 +0100 > +++ libsigrok-0.5.2/debian/changelog 2024-02-03 11:50:34.000000000 +0100 > @@ -1,3 +1,10 @@ > +libsigrok (0.5.2-5.1~exp1.1) UNRELEASED; urgency=medium > + > + * Non-maintainer upload. > + * Extend /usr-move mitigation for package rename. (Closes: #-1) > + > + -- Helmut Grohne <hel...@subdivi.de> Sat, 03 Feb 2024 11:50:34 +0100 > + > libsigrok (0.5.2-5.1~exp1) experimental; urgency=medium > > * Non-maintainer upload. > diff --minimal -Nru libsigrok-0.5.2/debian/libsigrok4t64.postinst > libsigrok-0.5.2/debian/libsigrok4t64.postinst > --- libsigrok-0.5.2/debian/libsigrok4t64.postinst 2024-02-02 > 08:36:33.000000000 +0100 > +++ libsigrok-0.5.2/debian/libsigrok4t64.postinst 1970-01-01 > 01:00:00.000000000 +0100 > @@ -1,23 +0,0 @@ > -#!/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/60-libsigrok.rules.usr-is-merged \ > - --remove /lib/udev/rules.d/60-libsigrok.rules > - dpkg-divert --package usr-is-merged --no-rename \ > - --divert /lib/udev/rules.d/61-libsigrok-plugdev.rules.usr-is-merged \ > - --remove /lib/udev/rules.d/61-libsigrok-plugdev.rules > - dpkg-divert --package usr-is-merged --no-rename \ > - --divert /lib/udev/rules.d/61-libsigrok-uaccess.rules.usr-is-merged \ > - --remove /lib/udev/rules.d/61-libsigrok-uaccess.rules > -fi > -# end-remove-after > - > -#DEBHELPER# > - > -exit 0 > diff --minimal -Nru libsigrok-0.5.2/debian/libsigrok4t64.postrm > libsigrok-0.5.2/debian/libsigrok4t64.postrm > --- libsigrok-0.5.2/debian/libsigrok4t64.postrm 2024-02-02 > 08:36:33.000000000 +0100 > +++ libsigrok-0.5.2/debian/libsigrok4t64.postrm 2024-02-03 > 11:50:16.000000000 +0100 > @@ -1,9 +1,7 @@ > #!/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 \ > @@ -16,7 +14,6 @@ > --divert /lib/udev/rules.d/61-libsigrok-uaccess.rules.usr-is-merged \ > --remove /lib/udev/rules.d/61-libsigrok-uaccess.rules > fi > -# end-remove-after > > #DEBHELPER# > > diff --minimal -Nru libsigrok-0.5.2/debian/libsigrok4t64.preinst > libsigrok-0.5.2/debian/libsigrok4t64.preinst > --- libsigrok-0.5.2/debian/libsigrok4t64.preinst 2024-02-02 > 08:36:33.000000000 +0100 > +++ libsigrok-0.5.2/debian/libsigrok4t64.preinst 2024-02-03 > 11:50:34.000000000 +0100 > @@ -1,10 +1,10 @@ > #!/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 > +# These protect both from M-A:same shared file loss and from loss due to > moving > +# from libsigrok4 to libsigrok4t64. > +if [ "$1" = upgrade ] || [ "$1" = install ]; then > dpkg-divert --package usr-is-merged --no-rename \ > --divert /lib/udev/rules.d/60-libsigrok.rules.usr-is-merged \ > --add /lib/udev/rules.d/60-libsigrok.rules > @@ -14,8 +14,11 @@ > dpkg-divert --package usr-is-merged --no-rename \ > --divert /lib/udev/rules.d/61-libsigrok-uaccess.rules.usr-is-merged \ > --add /lib/udev/rules.d/61-libsigrok-uaccess.rules > + > + # These diversions are supposed to be taken over from libsigrok4, which > + # will attempt to remove them in postinst and postrm. Prevent that. > + rm -f /var/lib/dpkg/libsigrok4:*.postinst > /var/lib/dpkg/libsigrok4:*.postrm > fi > -# end-remove-after > > #DEBHELPER# > -- 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 libsigrok-0.5.2/debian/changelog libsigrok-0.5.2/debian/changelog --- libsigrok-0.5.2/debian/changelog 2023-12-03 19:43:23.000000000 +0000 +++ libsigrok-0.5.2/debian/changelog 2024-02-18 07:59:53.000000000 +0000 @@ -1,3 +1,19 @@ +libsigrok (0.5.2-5.1~exp2) experimental; urgency=medium + + * Non-maintainer upload. + + [ Helmut Grohne ] + * Extend /usr-move mitigation for package rename. (Closes: #1062803) + + -- Steve Langasek <vor...@debian.org> Sun, 18 Feb 2024 07:59:53 +0000 + +libsigrok (0.5.2-5.1~exp1) experimental; urgency=medium + + * Non-maintainer upload. + * Rename libraries for 64-bit time_t transition. + + -- Steve Langasek <vor...@debian.org> Fri, 02 Feb 2024 07:36:33 +0000 + libsigrok (0.5.2-5) unstable; urgency=medium [ Debian Janitor ] diff -Nru libsigrok-0.5.2/debian/control libsigrok-0.5.2/debian/control --- libsigrok-0.5.2/debian/control 2023-12-03 18:34:52.000000000 +0000 +++ libsigrok-0.5.2/debian/control 2024-02-02 07:36:33.000000000 +0000 @@ -26,7 +26,7 @@ Section: libdevel Architecture: any Multi-Arch: same -Depends: libsigrok4 (= ${binary:Version}), ${misc:Depends}, +Depends: libsigrok4t64 (= ${binary:Version}), ${misc:Depends}, libbluetooth-dev, libftdi1-dev, libglib2.0-dev, @@ -40,7 +40,10 @@ . This package contains the header files and other development files. -Package: libsigrok4 +Package: libsigrok4t64 +Provides: ${t64:Provides} +Replaces: libsigrok4 +Breaks: libsigrok4 (<< ${source:Version}) Architecture: any Multi-Arch: same Pre-Depends: ${misc:Pre-Depends} @@ -55,7 +58,7 @@ Section: libdevel Architecture: any Multi-Arch: same -Depends: libsigrokcxx4 (= ${binary:Version}), +Depends: libsigrokcxx4t64 (= ${binary:Version}), libsigrok-dev (= ${binary:Version}), ${misc:Depends} Description: sigrok C++ bindings - development files @@ -64,7 +67,10 @@ . This package contains the C++ header files and other development files. -Package: libsigrokcxx4 +Package: libsigrokcxx4t64 +Provides: ${t64:Provides} +Replaces: libsigrokcxx4 +Breaks: libsigrokcxx4 (<< ${source:Version}) Architecture: any Multi-Arch: same Pre-Depends: ${misc:Pre-Depends} diff -Nru libsigrok-0.5.2/debian/libsigrok4.dirs libsigrok-0.5.2/debian/libsigrok4.dirs --- libsigrok-0.5.2/debian/libsigrok4.dirs 2023-12-03 18:34:52.000000000 +0000 +++ libsigrok-0.5.2/debian/libsigrok4.dirs 1970-01-01 00:00:00.000000000 +0000 @@ -1,2 +0,0 @@ -usr/lib -usr/share diff -Nru libsigrok-0.5.2/debian/libsigrok4.docs libsigrok-0.5.2/debian/libsigrok4.docs --- libsigrok-0.5.2/debian/libsigrok4.docs 2023-12-03 18:34:52.000000000 +0000 +++ libsigrok-0.5.2/debian/libsigrok4.docs 1970-01-01 00:00:00.000000000 +0000 @@ -1,3 +0,0 @@ -NEWS -README -README.devices diff -Nru libsigrok-0.5.2/debian/libsigrok4.install libsigrok-0.5.2/debian/libsigrok4.install --- libsigrok-0.5.2/debian/libsigrok4.install 2023-12-03 18:34:52.000000000 +0000 +++ libsigrok-0.5.2/debian/libsigrok4.install 1970-01-01 00:00:00.000000000 +0000 @@ -1,4 +0,0 @@ -usr/lib/udev/rules.d/*sigrok* -usr/lib/*/libsigrok.so.* -usr/share/icons/hicolor/*/mimetypes/libsigrok.* -usr/share/mime/packages/*sigrok* diff -Nru libsigrok-0.5.2/debian/libsigrok4.lintian-overrides libsigrok-0.5.2/debian/libsigrok4.lintian-overrides --- libsigrok-0.5.2/debian/libsigrok4.lintian-overrides 2023-12-03 18:34:52.000000000 +0000 +++ libsigrok-0.5.2/debian/libsigrok4.lintian-overrides 1970-01-01 00:00:00.000000000 +0000 @@ -1,6 +0,0 @@ -# begin-remove-after: released:forky -# protective diversion for upgrades of files moved from / to /usr -libsigrok4: diversion-for-unknown-file lib/udev/rules.d/60-libsigrok.rules [preinst:*] -libsigrok4: diversion-for-unknown-file lib/udev/rules.d/61-libsigrok-plugdev.rules [preinst:*] -libsigrok4: diversion-for-unknown-file lib/udev/rules.d/61-libsigrok-uaccess.rules [preinst:*] -# end-remove-after diff -Nru libsigrok-0.5.2/debian/libsigrok4.postinst libsigrok-0.5.2/debian/libsigrok4.postinst --- libsigrok-0.5.2/debian/libsigrok4.postinst 2023-12-03 18:34:52.000000000 +0000 +++ libsigrok-0.5.2/debian/libsigrok4.postinst 1970-01-01 00:00:00.000000000 +0000 @@ -1,23 +0,0 @@ -#!/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/60-libsigrok.rules.usr-is-merged \ - --remove /lib/udev/rules.d/60-libsigrok.rules - dpkg-divert --package usr-is-merged --no-rename \ - --divert /lib/udev/rules.d/61-libsigrok-plugdev.rules.usr-is-merged \ - --remove /lib/udev/rules.d/61-libsigrok-plugdev.rules - dpkg-divert --package usr-is-merged --no-rename \ - --divert /lib/udev/rules.d/61-libsigrok-uaccess.rules.usr-is-merged \ - --remove /lib/udev/rules.d/61-libsigrok-uaccess.rules -fi -# end-remove-after - -#DEBHELPER# - -exit 0 diff -Nru libsigrok-0.5.2/debian/libsigrok4.postrm libsigrok-0.5.2/debian/libsigrok4.postrm --- libsigrok-0.5.2/debian/libsigrok4.postrm 2023-12-03 18:34:52.000000000 +0000 +++ libsigrok-0.5.2/debian/libsigrok4.postrm 1970-01-01 00:00:00.000000000 +0000 @@ -1,23 +0,0 @@ -#!/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/60-libsigrok.rules.usr-is-merged \ - --remove /lib/udev/rules.d/60-libsigrok.rules - dpkg-divert --package usr-is-merged --no-rename \ - --divert /lib/udev/rules.d/61-libsigrok-plugdev.rules.usr-is-merged \ - --remove /lib/udev/rules.d/61-libsigrok-plugdev.rules - dpkg-divert --package usr-is-merged --no-rename \ - --divert /lib/udev/rules.d/61-libsigrok-uaccess.rules.usr-is-merged \ - --remove /lib/udev/rules.d/61-libsigrok-uaccess.rules -fi -# end-remove-after - -#DEBHELPER# - -exit 0 diff -Nru libsigrok-0.5.2/debian/libsigrok4.preinst libsigrok-0.5.2/debian/libsigrok4.preinst --- libsigrok-0.5.2/debian/libsigrok4.preinst 2023-12-03 18:34:52.000000000 +0000 +++ libsigrok-0.5.2/debian/libsigrok4.preinst 1970-01-01 00:00:00.000000000 +0000 @@ -1,22 +0,0 @@ -#!/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/60-libsigrok.rules.usr-is-merged \ - --add /lib/udev/rules.d/60-libsigrok.rules - dpkg-divert --package usr-is-merged --no-rename \ - --divert /lib/udev/rules.d/61-libsigrok-plugdev.rules.usr-is-merged \ - --add /lib/udev/rules.d/61-libsigrok-plugdev.rules - dpkg-divert --package usr-is-merged --no-rename \ - --divert /lib/udev/rules.d/61-libsigrok-uaccess.rules.usr-is-merged \ - --add /lib/udev/rules.d/61-libsigrok-uaccess.rules -fi -# end-remove-after - -#DEBHELPER# - -exit 0 diff -Nru libsigrok-0.5.2/debian/libsigrok4t64.dirs libsigrok-0.5.2/debian/libsigrok4t64.dirs --- libsigrok-0.5.2/debian/libsigrok4t64.dirs 1970-01-01 00:00:00.000000000 +0000 +++ libsigrok-0.5.2/debian/libsigrok4t64.dirs 2024-02-02 07:36:33.000000000 +0000 @@ -0,0 +1,2 @@ +usr/lib +usr/share diff -Nru libsigrok-0.5.2/debian/libsigrok4t64.docs libsigrok-0.5.2/debian/libsigrok4t64.docs --- libsigrok-0.5.2/debian/libsigrok4t64.docs 1970-01-01 00:00:00.000000000 +0000 +++ libsigrok-0.5.2/debian/libsigrok4t64.docs 2024-02-02 07:36:33.000000000 +0000 @@ -0,0 +1,3 @@ +NEWS +README +README.devices diff -Nru libsigrok-0.5.2/debian/libsigrok4t64.install libsigrok-0.5.2/debian/libsigrok4t64.install --- libsigrok-0.5.2/debian/libsigrok4t64.install 1970-01-01 00:00:00.000000000 +0000 +++ libsigrok-0.5.2/debian/libsigrok4t64.install 2024-02-02 07:36:33.000000000 +0000 @@ -0,0 +1,4 @@ +usr/lib/udev/rules.d/*sigrok* +usr/lib/*/libsigrok.so.* +usr/share/icons/hicolor/*/mimetypes/libsigrok.* +usr/share/mime/packages/*sigrok* diff -Nru libsigrok-0.5.2/debian/libsigrok4t64.lintian-overrides libsigrok-0.5.2/debian/libsigrok4t64.lintian-overrides --- libsigrok-0.5.2/debian/libsigrok4t64.lintian-overrides 1970-01-01 00:00:00.000000000 +0000 +++ libsigrok-0.5.2/debian/libsigrok4t64.lintian-overrides 2024-02-02 07:36:33.000000000 +0000 @@ -0,0 +1,7 @@ +# begin-remove-after: released:forky +# protective diversion for upgrades of files moved from / to /usr +libsigrok4t64: diversion-for-unknown-file lib/udev/rules.d/60-libsigrok.rules [preinst:*] +libsigrok4t64: diversion-for-unknown-file lib/udev/rules.d/61-libsigrok-plugdev.rules [preinst:*] +libsigrok4t64: diversion-for-unknown-file lib/udev/rules.d/61-libsigrok-uaccess.rules [preinst:*] +# end-remove-after +libsigrok4t64: package-name-doesnt-match-sonames libsigrok4 diff -Nru libsigrok-0.5.2/debian/libsigrok4t64.postrm libsigrok-0.5.2/debian/libsigrok4t64.postrm --- libsigrok-0.5.2/debian/libsigrok4t64.postrm 1970-01-01 00:00:00.000000000 +0000 +++ libsigrok-0.5.2/debian/libsigrok4t64.postrm 2024-02-18 07:59:32.000000000 +0000 @@ -0,0 +1,20 @@ +#!/bin/sh +set -e + +# protective diversion of files moved from / to /usr, to avoid file loss. +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-libsigrok.rules.usr-is-merged \ + --remove /lib/udev/rules.d/60-libsigrok.rules + dpkg-divert --package usr-is-merged --no-rename \ + --divert /lib/udev/rules.d/61-libsigrok-plugdev.rules.usr-is-merged \ + --remove /lib/udev/rules.d/61-libsigrok-plugdev.rules + dpkg-divert --package usr-is-merged --no-rename \ + --divert /lib/udev/rules.d/61-libsigrok-uaccess.rules.usr-is-merged \ + --remove /lib/udev/rules.d/61-libsigrok-uaccess.rules +fi + +#DEBHELPER# + +exit 0 diff -Nru libsigrok-0.5.2/debian/libsigrok4t64.preinst libsigrok-0.5.2/debian/libsigrok4t64.preinst --- libsigrok-0.5.2/debian/libsigrok4t64.preinst 1970-01-01 00:00:00.000000000 +0000 +++ libsigrok-0.5.2/debian/libsigrok4t64.preinst 2024-02-18 07:59:32.000000000 +0000 @@ -0,0 +1,25 @@ +#!/bin/sh +set -e + +# protective diversion of files moved from / to /usr, to avoid file loss. +# These protect both from M-A:same shared file loss and from loss due to moving +# from libsigrok4 to libsigrok4t64. +if [ "$1" = upgrade ] || [ "$1" = install ]; then + dpkg-divert --package usr-is-merged --no-rename \ + --divert /lib/udev/rules.d/60-libsigrok.rules.usr-is-merged \ + --add /lib/udev/rules.d/60-libsigrok.rules + dpkg-divert --package usr-is-merged --no-rename \ + --divert /lib/udev/rules.d/61-libsigrok-plugdev.rules.usr-is-merged \ + --add /lib/udev/rules.d/61-libsigrok-plugdev.rules + dpkg-divert --package usr-is-merged --no-rename \ + --divert /lib/udev/rules.d/61-libsigrok-uaccess.rules.usr-is-merged \ + --add /lib/udev/rules.d/61-libsigrok-uaccess.rules + + # These diversions are supposed to be taken over from libsigrok4, which + # will attempt to remove them in postinst and postrm. Prevent that. + rm -f /var/lib/dpkg/libsigrok4:*.postinst /var/lib/dpkg/libsigrok4:*.postrm +fi + +#DEBHELPER# + +exit 0 diff -Nru libsigrok-0.5.2/debian/libsigrokcxx4.dirs libsigrok-0.5.2/debian/libsigrokcxx4.dirs --- libsigrok-0.5.2/debian/libsigrokcxx4.dirs 2023-12-03 18:34:52.000000000 +0000 +++ libsigrok-0.5.2/debian/libsigrokcxx4.dirs 1970-01-01 00:00:00.000000000 +0000 @@ -1 +0,0 @@ -usr/lib diff -Nru libsigrok-0.5.2/debian/libsigrokcxx4.install libsigrok-0.5.2/debian/libsigrokcxx4.install --- libsigrok-0.5.2/debian/libsigrokcxx4.install 2023-12-03 18:34:52.000000000 +0000 +++ libsigrok-0.5.2/debian/libsigrokcxx4.install 1970-01-01 00:00:00.000000000 +0000 @@ -1 +0,0 @@ -usr/lib/*/libsigrokcxx.so.* diff -Nru libsigrok-0.5.2/debian/libsigrokcxx4t64.dirs libsigrok-0.5.2/debian/libsigrokcxx4t64.dirs --- libsigrok-0.5.2/debian/libsigrokcxx4t64.dirs 1970-01-01 00:00:00.000000000 +0000 +++ libsigrok-0.5.2/debian/libsigrokcxx4t64.dirs 2024-02-02 07:36:33.000000000 +0000 @@ -0,0 +1 @@ +usr/lib diff -Nru libsigrok-0.5.2/debian/libsigrokcxx4t64.install libsigrok-0.5.2/debian/libsigrokcxx4t64.install --- libsigrok-0.5.2/debian/libsigrokcxx4t64.install 1970-01-01 00:00:00.000000000 +0000 +++ libsigrok-0.5.2/debian/libsigrokcxx4t64.install 2024-02-02 07:36:33.000000000 +0000 @@ -0,0 +1 @@ +usr/lib/*/libsigrokcxx.so.* diff -Nru libsigrok-0.5.2/debian/libsigrokcxx4t64.lintian-overrides libsigrok-0.5.2/debian/libsigrokcxx4t64.lintian-overrides --- libsigrok-0.5.2/debian/libsigrokcxx4t64.lintian-overrides 1970-01-01 00:00:00.000000000 +0000 +++ libsigrok-0.5.2/debian/libsigrokcxx4t64.lintian-overrides 2024-02-02 07:36:33.000000000 +0000 @@ -0,0 +1 @@ +libsigrokcxx4t64: package-name-doesnt-match-sonames libsigrokcxx4
signature.asc
Description: PGP signature