Thorsten, Helmut, On Mon, Jul 15, 2024 at 01:09:09PM +0200, Helmut Grohne wrote: > Package: libplayeronecamera2t64 > Version: 3.1.0+20221218103507-2 > Severity: serious [..] > thank you for applying our /usr-move patches. Unfortunately, this one > went wrong and it went to unstable rather than experimental.
I'm very sorry this one slipped through. I should have rechecked this patch after the t64 migration mostly settled. The following upgrade scenario demonstrates the loss. It may be possible to construct a simpler scenario. (This needs mmdebstrap 1.5.1-4 or better.) mmdebstrap \ --components="main non-free" \ --include=libplayeronecamera2 \ --hook-dir=/usr/share/mmdebstrap/hooks/no-merged-usr \ --chrooted-customize-hook='rm /etc/unsupported-skip-usrmerge-conversion' \ --chrooted-customize-hook='apt update' \ --chrooted-customize-hook='apt install --reinstall -y usrmerge' \ --chrooted-customize-hook='ls -l /' \ --chrooted-customize-hook='dpkg -L libplayeronecamera2' \ --chrooted-customize-hook='sed -i -e s/bookworm/unstable/ -e /unstable-/d /etc/apt/sources.list' \ --chrooted-customize-hook='apt update' \ --chrooted-customize-hook='apt upgrade -y libc6 systemd' \ --chrooted-customize-hook='cd /tmp && apt download libplayeronecamera2t64' \ --chrooted-customize-hook='cd /tmp && dpkg --auto-deconfigure --unpack *.deb' \ --chrooted-customize-hook='dpkg -l libplayerone*' \ --chrooted-customize-hook='ls -la /lib/udev/rules.d/99-player_one_astronomy.rules' \ --chrooted-customize-hook='apt install -f -y' \ --chrooted-customize-hook='dpkg -l libplayerone*' \ --chrooted-customize-hook='ls -la /lib/udev/rules.d/99-player_one_astronomy.rules' \ bookworm /dev/null > If you feel that a stronger mitigation is necessary, I can supply a > patch adding protective diversions (via maintainer scripts). > > Please let me know your preference. Roughly speaking your options now > are: > * rename the rules file (closing both bugs) > * move the rules file to a -common package (closing the -2 bug) > * upgrade Replaces to Conflicts (closing the -1 bug) > * request diversion-based mitigation (closing the -1 bug) I'll attach a patch implementing the last option. As you can see this is far from beautiful. I'd suggest applying the patch _and_ switching Replaces to Conflicts to be extra safe. Testing the new version could be done with the same script as above, but replacing this line: - --chrooted-customize-hook='cd /tmp && apt download libplayeronecamera2t64' \ + --customize-hook='upload '$(pwd)'/libplayeronecamera2t64_3.1.0+20221218103507-2.1_arm64.deb /tmp/new.deb' \ Once again, I'm sorry this slipped through. Chris
diff -Nru libplayerone-3.1.0+20221218103507/debian/changelog libplayerone-3.1.0+20221218103507/debian/changelog --- libplayerone-3.1.0+20221218103507/debian/changelog 2024-07-13 12:36:28.000000000 +0200 +++ libplayerone-3.1.0+20221218103507/debian/changelog 2024-07-15 18:53:25.000000000 +0200 @@ -1,3 +1,10 @@ +libplayerone (3.1.0+20221218103507-2.1) UNRELEASED; urgency=medium + + * Non-maintainer upload. + * Add DEP17 P1 mitigations. (Closes: #1076374) + + -- Chris Hofstaedtler <z...@debian.org> Mon, 15 Jul 2024 18:53:25 +0200 + libplayerone (3.1.0+20221218103507-2) unstable; urgency=medium * upload to unstable diff -Nru libplayerone-3.1.0+20221218103507/debian/libplayeronecamera2t64.lintian-overrides libplayerone-3.1.0+20221218103507/debian/libplayeronecamera2t64.lintian-overrides --- libplayerone-3.1.0+20221218103507/debian/libplayeronecamera2t64.lintian-overrides 2024-07-13 12:36:28.000000000 +0200 +++ libplayerone-3.1.0+20221218103507/debian/libplayeronecamera2t64.lintian-overrides 2024-07-15 18:53:25.000000000 +0200 @@ -1,3 +1,7 @@ # that is the way upstream delivers stuff hardening-no-bindnow libplayeronecamera2t64: package-name-doesnt-match-sonames libPlayerOneCamera3 +# begin-remove-after: released:trixie +# DEP17P7 mitigation +diversion-for-unknown-file lib/udev/rules.d/99-player_one_astronomy.rules [*] +# end-remove-after diff -Nru libplayerone-3.1.0+20221218103507/debian/libplayeronecamera2t64.postinst libplayerone-3.1.0+20221218103507/debian/libplayeronecamera2t64.postinst --- libplayerone-3.1.0+20221218103507/debian/libplayeronecamera2t64.postinst 1970-01-01 01:00:00.000000000 +0100 +++ libplayerone-3.1.0+20221218103507/debian/libplayeronecamera2t64.postinst 2024-07-15 18:53:25.000000000 +0200 @@ -0,0 +1,9 @@ +#!/bin/sh + +# begin-remove-after: released:trixie +if test "$1" = configure; then + dpkg-divert --no-rename --package libplayeronecamera2t64 --divert /lib/udev/rules.d/99-player_one_astronomy.rules.usr-is-merged --remove /lib/udev/rules.d/99-player_one_astronomy.rules +fi +# end-remove-after + +#DEBHELPER# diff -Nru libplayerone-3.1.0+20221218103507/debian/libplayeronecamera2t64.preinst libplayerone-3.1.0+20221218103507/debian/libplayeronecamera2t64.preinst --- libplayerone-3.1.0+20221218103507/debian/libplayeronecamera2t64.preinst 1970-01-01 01:00:00.000000000 +0100 +++ libplayerone-3.1.0+20221218103507/debian/libplayeronecamera2t64.preinst 2024-07-15 18:53:25.000000000 +0200 @@ -0,0 +1,11 @@ +#!/bin/sh + +set -e + +# begin-remove-after: released:trixie +if test "$1" = upgrade || test "$1" = install; then + dpkg-divert --no-rename --package libplayeronecamera2t64 --divert /lib/udev/rules.d/99-player_one_astronomy.rules.usr-is-merged --add /lib/udev/rules.d/99-player_one_astronomy.rules +fi +# end-remove-after + +#DEBHELPER#