Control: tags -1 + patch On Wed, Nov 08, 2023 at 08:45:55PM +0100, Helmut Grohne wrote: > I'm attaching a patch. I don't have high confidence, because it fails > piuparts with left-over files. Given the mess in piuparts, I have no > intentions to further test this. You may use the patch as a starting > point.
I'm now glad I missed attaching the patch. The same patch for molly-guard was horribly broken. Based on the work on molly-guard, I'm ataching an updated patch and it really is a copy of the one on bfh-container #1055509, so see there for the why its done the way its done. Also please remember to go for experimental first (just like bfh-container). Helmut
diff -Nru progress-linux-metapackages-20221002/debian/changelog progress-linux-metapackages-20221002/debian/changelog --- progress-linux-metapackages-20221002/debian/changelog 2023-12-08 10:53:05.000000000 +0100 +++ progress-linux-metapackages-20221002/debian/changelog 2023-12-19 14:51:05.000000000 +0100 @@ -1,3 +1,11 @@ +progress-linux-metapackages (20221002-10.1) UNRELEASED; urgency=medium + + * Non-maintainer upload. + * Drop diversion migration from bullseye. + * Duplicate diversion via DEP17 M18. (Closes: #1055511) + + -- Helmut Grohne <hel...@subdivi.de> Tue, 19 Dec 2023 14:51:05 +0100 + progress-linux-metapackages (20221002-10) sid; urgency=medium * Uploading to sid. diff -Nru progress-linux-metapackages-20221002/debian/progress-linux-container.postrm progress-linux-metapackages-20221002/debian/progress-linux-container.postrm --- progress-linux-metapackages-20221002/debian/progress-linux-container.postrm 2023-12-08 10:43:13.000000000 +0100 +++ progress-linux-metapackages-20221002/debian/progress-linux-container.postrm 2023-12-19 14:50:55.000000000 +0100 @@ -6,12 +6,12 @@ remove) for FILE in halt poweroff reboot shutdown coldreboot do - dpkg-divert --package progress-linux-container --quiet --remove --rename --divert /lib/container/divert/${FILE}.orig /sbin/${FILE} + dpkg-divert --package progress-linux-container --quiet --remove --rename --divert "/lib/container/divert/$FILE.orig.usr-is-merged" "/sbin/$FILE" done - for FILE in pm-hibernate pm-suspend pm-suspend-hybrid + for FILE in halt poweroff reboot shutdown coldreboot pm-hibernate pm-suspend pm-suspend-hybrid do - dpkg-divert --package progress-linux-container --quiet --remove --rename --divert /lib/container/divert/${FILE}.orig /usr/sbin/${FILE} + dpkg-divert --package progress-linux-container --quiet --remove --rename --divert "/usr/lib/container/divert/$FILE.orig" "/usr/sbin/$FILE" done ;; diff -Nru progress-linux-metapackages-20221002/debian/progress-linux-container.preinst progress-linux-metapackages-20221002/debian/progress-linux-container.preinst --- progress-linux-metapackages-20221002/debian/progress-linux-container.preinst 2023-12-08 10:43:13.000000000 +0100 +++ progress-linux-metapackages-20221002/debian/progress-linux-container.preinst 2023-12-19 14:51:05.000000000 +0100 @@ -4,30 +4,40 @@ case "${1}" in install|upgrade) - # upgrade from bullseye - if ls /lib/open-infrastructure/container/divert/*.orig > /dev/null 2>&1 - then - for FILE in halt poweroff reboot shutdown coldreboot - do - dpkg-divert --package progress-linux-container --quiet --remove --rename --divert /lib/open-infrastructure/container/divert/${FILE}.orig /sbin/${FILE} - done - - for FILE in pm-hibernate pm-suspend pm-suspend-hybrid - do - dpkg-divert --package progress-linux-container --quiet --remove --rename --divert /lib/open-infrastructure/container/divert/${FILE}.orig /usr/sbin/${FILE} - done - fi - mkdir -p /lib/container/divert for FILE in halt poweroff reboot shutdown coldreboot do - dpkg-divert --package progress-linux-container --quiet --add --rename --divert /lib/container/divert/${FILE}.orig /sbin/${FILE} + TRUENAMEUSR=$(dpkg-divert --truename "/usr/sbin/$FILE") + TRUENAMEALIAS=$(dpkg-divert --truename "/sbin/$FILE") + RENAME_FLAG=--no-rename + if test "$TRUENAMEUSR" = "/usr/sbin/$FILE"; then + if test "$TRUENAMEALIAS" = "/sbin/$FILE"; then + RENAME_FLAG=--rename + fi + dpkg-divert --package progress-linux-container --quiet --add "$RENAME_FLAG" --divert "/usr/lib/container/divert/$FILE.orig" "/usr/sbin/$FILE" + fi + # DEP17 M18 duplicated diversion. Can be removed after trixie. + if test "$TRUENAMEALIAS" = "/sbin/$FILE"; then + dpkg-divert --package progress-linux-container --quiet --add "$RENAME_FLAG" --divert "/lib/container/divert/$FILE.orig.usr-is-merged" "/sbin/$FILE" + elif test "$TRUENAMEALIAS" != "/lib/container/divert/$FILE.orig.usr-is-merged"; then + dpkg-divert --package progress-linux-container --quiet --remove --no-rename "/sbin/$FILE" + dpkg-divert --package progress-linux-container --quiet --add --no-rename --divert "/lib/container/divert/$FILE.orig.usr-is-merged" "/sbin/$FILE" + if test -e "$TRUENAMEALIAS" || test -h "$TRUENAMEALIAS"; then + mv "$TRUENAMEALIAS" "/lib/container/divert/$FILE.orig.usr-is-merged" + fi + fi done for FILE in pm-hibernate pm-suspend pm-suspend-hybrid do - dpkg-divert --package progress-linux-container --quiet --add --rename --divert /lib/container/divert/${FILE}.orig /usr/sbin/${FILE} + TRUENAMEUSR=$(dpkg-divert --truename "/usr/sbin/$FILE") + if test "$TRUENAMEUSR" = "/lib/container/divert/$FILE.orig"; then + dpkg-divert --package progress-linux-container --quiet --remove --no-rename "/usr/sbin/$FILE" + dpkg-divert --package progress-linux-container --quiet --add --no-rename --divert "/usr/lib/container/divert/$FILE.orig" "/usr/sbin/$FILE" + else + dpkg-divert --package progress-linux-container --quiet --add --rename --divert "/usr/lib/container/divert/$FILE.orig" "/usr/sbin/$FILE" + fi done ;;