On Tue, Nov 07, 2023 at 03:37:46PM +0000, Luca Boccassi wrote:
> systemd-sysv 255~rc1-3, currently in experimental, moves
> halt/poweroff/reboot/shutdown from /sbin/ to /usr/sbin/, and thus
> diversions employed by this package fall afoul of DEP17 P3. Please
> update the diversions as needed. For now, systemd-sysv has an
> unversioned conflict to avoid data losses. This will be uploaded to
> unstable this week. As soon as a fixed version of this package is
> uploaded, the conflict will be changed to versioned.

I'm proposing the attached patch to implement DEP17 mitigation M18. I
caution that the patch is untested, because piuparts failed for
unrelated reasons. open-infrastructure-compute-tools.postinst and
sudo.prerm fail inside piuparts. So consider this a starting point.

Helmut
diff --minimal -Nru bfh-metapackages-20211009/debian/bfh-container.postrm 
bfh-metapackages-20211009/debian/bfh-container.postrm
--- bfh-metapackages-20211009/debian/bfh-container.postrm       2023-08-14 
09:07:46.000000000 +0200
+++ bfh-metapackages-20211009/debian/bfh-container.postrm       2023-11-08 
16:43:38.000000000 +0100
@@ -6,12 +6,13 @@
        remove)
                for FILE in halt poweroff reboot shutdown coldreboot
                do
-                       dpkg-divert --package bfh-container --quiet --remove 
--rename --divert /lib/container/divert/${FILE}.orig /sbin/${FILE}
+                       dpkg-divert --package bfh-container --quiet --remove 
--rename --divert "/usr/lib/container/divert/${FILE}.orig" "/usr/sbin/${FILE}"
+                       dpkg-divert --package bfh-container --quiet --remove 
--rename --divert "/lib/container/divert/${FILE}.orig" /sbin/${FILE}
                done
 
                for FILE in pm-hibernate pm-suspend pm-suspend-hybrid
                do
-                       dpkg-divert --package bfh-container --quiet --remove 
--rename --divert /lib/container/divert/${FILE}.orig /usr/sbin/${FILE}
+                       dpkg-divert --package bfh-container --quiet --remove 
--rename --divert "/usr/lib/container/divert/${FILE}.orig" "/usr/sbin/${FILE}"
                done
                ;;
 
diff --minimal -Nru bfh-metapackages-20211009/debian/bfh-container.preinst 
bfh-metapackages-20211009/debian/bfh-container.preinst
--- bfh-metapackages-20211009/debian/bfh-container.preinst      2023-08-14 
09:07:46.000000000 +0200
+++ bfh-metapackages-20211009/debian/bfh-container.preinst      2023-11-08 
16:48:30.000000000 +0100
@@ -4,16 +4,26 @@
 
 case "${1}" in
        install|upgrade)
-               mkdir -p /lib/container/divert
+               mkdir -p /usr/lib/container/divert /lib/container/divert
 
                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}
+                       dpkg-divert --package bfh-container --quiet --add 
--rename --divert "/usr/lib/container/divert/${FILE}.orig" "/usr/sbin/${FILE}"
+                       # DEP17 M18 duplicated diversion. Can be removed after 
trixie.
+                       dpkg-divert --package bfh-container --quiet --add 
--rename --divert "/lib/container/divert/${FILE}.orig" "/sbin/${FILE}"
                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}
+                       if test "$(dpkg-divert --truename "/usr/sbin/${FILE}")" 
= "/lib/container/divert/${FILE}.orig"; then
+                               dpkg-divert --package bfh-container --quiet 
--remove --no-rename --divert /lib/container/divert/${FILE}.orig 
/usr/sbin/${FILE}
+                               dpkg-divert --package bfh-container --quiet 
--add --no-rename --divert /usr/lib/container/divert/${FILE}.orig 
/usr/sbin/${FILE}
+                               if test -e "/lib/container/divert/${FILE}.orig" 
&& ! test -e "/usr/lib/container/divert/${FILE}.orig"; then
+                                       mv "/lib/container/divert/${FILE}.orig" 
"/usr/lib/container/divert/${FILE}.orig"
+                               fi
+                       else
+                               dpkg-divert --package bfh-container --quiet 
--add --rename --divert /usr/lib/container/divert/${FILE}.orig /usr/sbin/${FILE}
+                       fi
                done
                ;;
 
diff --minimal -Nru bfh-metapackages-20211009/debian/changelog 
bfh-metapackages-20211009/debian/changelog
--- bfh-metapackages-20211009/debian/changelog  2023-10-11 11:26:46.000000000 
+0200
+++ bfh-metapackages-20211009/debian/changelog  2023-11-08 16:49:07.000000000 
+0100
@@ -1,3 +1,11 @@
+bfh-metapackages (20211009-21.1) UNRELEASED; urgency=medium
+
+  * Non-maintainer upload.
+  * Duplicate diversions for DEP17 M18. (Closes: #-1)
+  * Move bfh-container files to /usr.
+
+ -- Helmut Grohne <hel...@subdivi.de>  Wed, 08 Nov 2023 16:49:07 +0100
+
 bfh-metapackages (20211009-21) sid; urgency=medium
 
   * Uploading to sid.
diff --minimal -Nru bfh-metapackages-20211009/debian/rules 
bfh-metapackages-20211009/debian/rules
--- bfh-metapackages-20211009/debian/rules      2023-08-14 09:07:46.000000000 
+0200
+++ bfh-metapackages-20211009/debian/rules      2023-11-08 16:49:06.000000000 
+0100
@@ -8,10 +8,10 @@
 
 execute_after_dh_auto_install:
        # shutdown
-       mkdir -p debian/bfh-container/sbin
+       mkdir -p debian/bfh-container/usr/sbin
        for FILE in halt poweroff reboot shutdown coldreboot; \
        do \
-               cp debian/local/shutdown debian/bfh-container/sbin/$${FILE}; \
+               cp debian/local/shutdown 
debian/bfh-container/usr/sbin/$${FILE}; \
        done
 
        mkdir -p debian/bfh-container/usr/sbin

Reply via email to