moving file canonical locations from e.g. /lib to /usr/lib (usr-merge)
while renaming a package (libzfs4linux -> libzfs6linux) could result
in file deletions during upgrades. The following workaround has been
used in debian upstream.

see https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1092598 for the
details.

based on commit 0431247714965007bc156fd57852689b395b2bae
https://salsa.debian.org/zfsonlinux-team/zfs/

Originally-by: Shengqi Chen <harry-c...@outlook.com>
Signed-off-by: Stoiko Ivanov <s.iva...@proxmox.com>
---
 debian/libzfs6linux.postrm  | 15 +++++++++++++++
 debian/libzfs6linux.preinst | 16 ++++++++++++++++
 2 files changed, 31 insertions(+)
 create mode 100644 debian/libzfs6linux.postrm
 create mode 100644 debian/libzfs6linux.preinst

diff --git a/debian/libzfs6linux.postrm b/debian/libzfs6linux.postrm
new file mode 100644
index 000000000..ae6478653
--- /dev/null
+++ b/debian/libzfs6linux.postrm
@@ -0,0 +1,15 @@
+#!/bin/sh
+
+set -e
+
+if test "$1" = remove; then
+       # DEP17 P1 M8. Clean up after libzfs6linux.preinst. This code should be
+       # removed once the diversions are deleted via postinst.
+       for lib in zfs_core.so.3 zfs_core.so.3.0.0; do
+               dpkg-divert --package libzfs6linux --no-rename --divert 
"/lib/#DEB_HOST_MULTIARCH#/lib$lib.usr-is-merged" --remove 
"/lib/#DEB_HOST_MULTIARCH#/lib$lib"
+       done
+fi
+
+#DEBHELPER#
+
+exit 0
diff --git a/debian/libzfs6linux.preinst b/debian/libzfs6linux.preinst
new file mode 100644
index 000000000..6d1870785
--- /dev/null
+++ b/debian/libzfs6linux.preinst
@@ -0,0 +1,16 @@
+#!/bin/sh
+
+set -e
+
+if test "$1" = install -o "$1" = upgrade; then
+       # DEP17 P1 M8: Divert aliased files to avoid their removal deleting the
+       # moved ones. These diversions should be removed via postinst once
+       # trixie is released.
+       for lib in zfs_core.so.3 zfs_core.so.3.0.0; do
+               dpkg-divert --package libzfs6linux --no-rename --divert 
"/lib/#DEB_HOST_MULTIARCH#/lib$lib.usr-is-merged" --add 
"/lib/#DEB_HOST_MULTIARCH#/lib$lib"
+       done
+fi
+
+#DEBHELPER#
+
+exit 0
-- 
2.39.5



_______________________________________________
pve-devel mailing list
pve-devel@lists.proxmox.com
https://lists.proxmox.com/cgi-bin/mailman/listinfo/pve-devel

Reply via email to