diff options
author | Georgy Yakovlev <gyakovlev@gentoo.org> | 2021-11-11 10:09:26 -0800 |
---|---|---|
committer | Georgy Yakovlev <gyakovlev@gentoo.org> | 2021-11-11 10:09:26 -0800 |
commit | 5b3a64f5da44e421dc51f6723457e02490c783b9 (patch) | |
tree | ad26aad67f1f38b453161303db661559e7101df5 /sys-apps | |
parent | sys-apps/coreutils: update zfs-kmod checker (diff) | |
download | gentoo-5b3a64f5da44e421dc51f6723457e02490c783b9.tar.gz gentoo-5b3a64f5da44e421dc51f6723457e02490c783b9.tar.bz2 gentoo-5b3a64f5da44e421dc51f6723457e02490c783b9.zip |
sys-apps/coreutils: add zfs-kmod check to 9.0 ebuild too
Signed-off-by: Georgy Yakovlev <gyakovlev@gentoo.org>
Diffstat (limited to 'sys-apps')
-rw-r--r-- | sys-apps/coreutils/coreutils-9.0.ebuild | 40 |
1 files changed, 40 insertions, 0 deletions
diff --git a/sys-apps/coreutils/coreutils-9.0.ebuild b/sys-apps/coreutils/coreutils-9.0.ebuild index b373e1d79b29..231339807e73 100644 --- a/sys-apps/coreutils/coreutils-9.0.ebuild +++ b/sys-apps/coreutils/coreutils-9.0.ebuild @@ -58,6 +58,46 @@ RDEPEND+=" !<app-forensics/tct-1.18-r1 !<net-fs/netatalk-2.0.3-r4" +pkg_pretend() { + if has_version "<sys-fs/zfs-9999" ; then + einfo "Checking for running ZFS module version" + + local kmodv minver + kmodv="$(grep kmod <(zfs -V 2>/dev/null))" + # Convert zfs-kmod-2.1.1-r3-gentoo -> 2.1.1-r3 + kmodv="${kmodv//zfs-kmod-}" + kmodv="${kmodv%%-gentoo}" + + minver="$(ver_cut 2 ${kmodv})" + local diemsg=$(cat <<-EOF + Attempted installation of ${P} on unsupported version of zfs-kmod! + Please reboot to a newer version of zfs-kmod first: + zfs-kmod >=2.0.7 or zfs-kmod >=2.1.1-r3 + Using ${P} with running version of zfs-kmod of can + lead to data loss while using cp command on some configurations. + See https://github.com/openzfs/zfs/issues/11900 for details. + EOF + ) + + case "${minver}" in + # 2.0.x + 0) + ver_test "${kmodv}" -lt 2.0.7 && die "${diemsg}" + ;; + # 2.1.x + 1) + ver_test "${kmodv}" -lt 2.1.1-r3 && die "${diemsg}" + ;; + # 0.8.x/9999 + *) + # We can't really cover this case realistically + # 9999 is too hard to check and 0.8.x isn't being supported anymore. + ;; + esac + fi + +} + pkg_setup() { if use test ; then python-any-r1_pkg_setup |