Package: fuse2fs Version: 1.47.2~rc1-1 Severity: serious Tags: patch Control: affects -1 + fuseext2 Control: tags 1078693 + patch
Hi Ted, I see that you are restructuring e2fsprogs and are taking over fuseext2 from uml. That's a good thing, but it unfortunately comes with /usr-move implications attached. fuseext2 used to install stuff in /sbin and fuse2fs now installs it to /usr/sbin as is expected due to DEP17. That situation triggers the DEP17 P1 file loss situation and is thus dubbed "ineffective Replaces". I have prepared a patch adding protective diversions. Unlike libext2fs2, I am proposing a slightly weaker form here, because I expect these drivers to not be as critical as the library. These protective diversions only exist from preinst to postinst, so they cover all but very unusual scenarios. On the flip side, janitor.debian.net can propose a MR to get rid of this mitigation after trixie if you like. As you look into patches, can I also remind you about #1078693? I only notice now that the patch tag was missing there. Helmut
diff --minimal -Nru e2fsprogs-1.47.2~rc1/debian/changelog e2fsprogs-1.47.2~rc1/debian/changelog --- e2fsprogs-1.47.2~rc1/debian/changelog 2024-11-29 05:35:35.000000000 +0100 +++ e2fsprogs-1.47.2~rc1/debian/changelog 2024-12-01 21:43:51.000000000 +0100 @@ -1,3 +1,11 @@ +e2fsprogs (1.47.2~rc1-1.1) UNRELEASED; urgency=medium + + * Non-maintainer upload. + * Fix ineffective replaces fuse2fs for fuseext2 due to /usr-move (DEP17 P1 + M8, Closes: #-1) + + -- Helmut Grohne <hel...@subdivi.de> Sun, 01 Dec 2024 21:43:51 +0100 + e2fsprogs (1.47.2~rc1-1) unstable; urgency=medium * New upstream version diff --minimal -Nru e2fsprogs-1.47.2~rc1/debian/fuse2fs.postinst e2fsprogs-1.47.2~rc1/debian/fuse2fs.postinst --- e2fsprogs-1.47.2~rc1/debian/fuse2fs.postinst 1970-01-01 01:00:00.000000000 +0100 +++ e2fsprogs-1.47.2~rc1/debian/fuse2fs.postinst 2024-12-01 21:40:57.000000000 +0100 @@ -0,0 +1,14 @@ +#!/bin/sh + +set -e + +# begin-remove-after: released:trixie +if test "$1" = configure && dpkg --compare-versions "$2" lt 1.47.2~rc1-1~; then + # DEP17 P1 mitigation. + for cmd in /sbin/mount.fuse-ext2 /sbin/mount.fuseext2; do + dpkg-divert --package fuse2fs --no-rename --divert "$cmd.usr-is-merged" --remove "$cmd" + done +fi +# end-remove-after: released:trixie + +#DEBHELPER# diff --minimal -Nru e2fsprogs-1.47.2~rc1/debian/fuse2fs.postrm e2fsprogs-1.47.2~rc1/debian/fuse2fs.postrm --- e2fsprogs-1.47.2~rc1/debian/fuse2fs.postrm 1970-01-01 01:00:00.000000000 +0100 +++ e2fsprogs-1.47.2~rc1/debian/fuse2fs.postrm 2024-12-01 21:43:43.000000000 +0100 @@ -0,0 +1,14 @@ +#!/bin/sh + +set -e + +# begin-remove-after: released:trixie +if test "$1" = remove || test "$1" = upgrade -o "$1" = failed-upgrade - o "$1" = abort-install -o "$1" = abort-upgrade && dpkg --compare-versions "$2" lt 1.47.2~rc1-1~; then + # DEP17 P1 mitigation. + for cmd in /sbin/mount.fuse-ext2 /sbin/mount.fuseext2; do + dpkg-divert --package fuse2fs --no-rename --divert "$cmd.usr-is-merged" --remove "$cmd" + done +fi +# end-remove-after: released:trixie + +#DEBHELPER# diff --minimal -Nru e2fsprogs-1.47.2~rc1/debian/fuse2fs.preinst e2fsprogs-1.47.2~rc1/debian/fuse2fs.preinst --- e2fsprogs-1.47.2~rc1/debian/fuse2fs.preinst 1970-01-01 01:00:00.000000000 +0100 +++ e2fsprogs-1.47.2~rc1/debian/fuse2fs.preinst 2024-12-01 21:35:38.000000000 +0100 @@ -0,0 +1,14 @@ +#!/bin/sh + +set -e + +# begin-remove-after: released:trixie +if test "$1" = install -o "$1" = upgrade && dpkg --compare-versions "$2" lt 1.47.2~rc1-1~; then + # DEP17 P1 mitigation. + for cmd in /sbin/mount.fuse-ext2 /sbin/mount.fuseext2; do + dpkg-divert --package fuse2fs --no-rename --divert "$cmd.usr-is-merged" --add "$cmd" + done +fi +# end-remove-after: released:trixie + +#DEBHELPER#