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