From cf2a54b393b367576a87e77bc85ee58c3d624ad5 Mon Sep 17 00:00:00 2001 From: Daniel Baumann Date: Wed, 20 Dec 2023 11:08:54 +0100 Subject: Applying patch from Helmut Grohne to duplicate diversion via DEP17 M18 (Closes: #1055509). Signed-off-by: Daniel Baumann --- debian/bfh-container.preinst | 28 ++++++++++++++++++++++++++-- 1 file changed, 26 insertions(+), 2 deletions(-) (limited to 'debian/bfh-container.preinst') diff --git a/debian/bfh-container.preinst b/debian/bfh-container.preinst index 335d160..3bf584f 100755 --- a/debian/bfh-container.preinst +++ b/debian/bfh-container.preinst @@ -8,12 +8,36 @@ case "${1}" in for FILE in halt poweroff reboot shutdown coldreboot do - dpkg-divert --package bfh-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 bfh-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 bfh-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 bfh-container --quiet --remove --no-rename "/sbin/$FILE" + dpkg-divert --package bfh-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 bfh-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 bfh-container --quiet --remove --no-rename "/usr/sbin/$FILE" + dpkg-divert --package bfh-container --quiet --add --no-rename --divert "/usr/lib/container/divert/$FILE.orig" "/usr/sbin/$FILE" + else + dpkg-divert --package bfh-container --quiet --add --rename --divert "/usr/lib/container/divert/$FILE.orig" "/usr/sbin/$FILE" + fi done ;; -- cgit v1.2.3