[pve-devel] [PATCH zfsonlinux 1/5] cherry-pick usr-merge fix for libzfs6linux
Stoiko Ivanov
s.ivanov at proxmox.com
Tue May 27 18:12:39 CEST 2025
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-chen at outlook.com>
Signed-off-by: Stoiko Ivanov <s.ivanov at 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
More information about the pve-devel
mailing list