summaryrefslogtreecommitdiff
path: root/sys-fs
diff options
context:
space:
mode:
authorSam James <sam@gentoo.org>2023-05-31 03:55:43 +0100
committerSam James <sam@gentoo.org>2023-05-31 03:55:50 +0100
commit6482def6b8a1bbfec5c3440eaa8cce628a9a5eb8 (patch)
tree4492d8d6a7b424a4eb11acfed543aa9ab423f01f /sys-fs
parentsys-fs/zfs: remove ancient egypt update_moduledb/remove_moduledb calls (diff)
downloadgentoo-6482def6b8a1bbfec5c3440eaa8cce628a9a5eb8.tar.gz
gentoo-6482def6b8a1bbfec5c3440eaa8cce628a9a5eb8.tar.bz2
gentoo-6482def6b8a1bbfec5c3440eaa8cce628a9a5eb8.zip
sys-fs/zfs-kmod: restore die-hard if kernel exceeds supported maximum
We ended up discussing the limit and gyakovlev feels strongly about keeping it, which is fine by me (was on the fence/unsure). So: * Put back the hard die for too-new kernels unless ZFS_KERNEL_COMPAT_OVERRIDE is set. * Keep dist-kernel-cap (at least for now?) to allow people who *do* override to get the nice convenient rebuilds. Signed-off-by: Sam James <sam@gentoo.org>
Diffstat (limited to 'sys-fs')
-rw-r--r--sys-fs/zfs-kmod/zfs-kmod-2.1.11-r1.ebuild22
-rw-r--r--sys-fs/zfs-kmod/zfs-kmod-9999.ebuild22
2 files changed, 36 insertions, 8 deletions
diff --git a/sys-fs/zfs-kmod/zfs-kmod-2.1.11-r1.ebuild b/sys-fs/zfs-kmod/zfs-kmod-2.1.11-r1.ebuild
index cd38e7bd2037..7bf3ebaec2e0 100644
--- a/sys-fs/zfs-kmod/zfs-kmod-2.1.11-r1.ebuild
+++ b/sys-fs/zfs-kmod/zfs-kmod-2.1.11-r1.ebuild
@@ -12,18 +12,22 @@ MODULES_KERNEL_MAX=6.2
MODULES_KERNEL_MIN=3.10
if [[ ${PV} == 9999 ]] ; then
- inherit git-r3
EGIT_REPO_URI="https://github.com/openzfs/zfs.git"
+ inherit git-r3
unset MODULES_KERNEL_MAX
else
+ VERIFY_SIG_OPENPGP_KEY_PATH="${BROOT}"/usr/share/openpgp-keys/openzfs.asc
inherit verify-sig
MY_PV=${PV/_rc/-rc}
-
SRC_URI="https://github.com/openzfs/zfs/releases/download/zfs-${MY_PV}/zfs-${MY_PV}.tar.gz"
SRC_URI+=" verify-sig? ( https://github.com/openzfs/zfs/releases/download/zfs-${MY_PV}/zfs-${MY_PV}.tar.gz.asc )"
S="${WORKDIR}/zfs-${PV%_rc?}"
- VERIFY_SIG_OPENPGP_KEY_PATH=${BROOT}/usr/share/openpgp-keys/openzfs.asc
+
+ ZFS_KERNEL_COMPAT="${MODULES_KERNEL_MAX}"
+ # Increments minor eg 5.14 -> 5.15, and still supports override.
+ ZFS_KERNEL_DEP="${ZFS_KERNEL_COMPAT_OVERRIDE:-${ZFS_KERNEL_COMPAT}}"
+ ZFS_KERNEL_DEP="${ZFS_KERNEL_DEP%%.*}.$(( ${ZFS_KERNEL_DEP##*.} + 1))"
if [[ ${PV} != *_rc* ]] ; then
KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~sparc"
@@ -46,7 +50,7 @@ if [[ ${PV} != 9999 ]] ; then
IUSE+=" +dist-kernel-cap"
RDEPEND="
dist-kernel-cap? ( dist-kernel? (
- <virtual/dist-kernel-${MODULES_KERNEL_MAX%%.*}.$(( ${MODULES_KERNEL_MAX##*.} + 1))
+ <virtual/dist-kernel-${ZFS_KERNEL_DEP}
) )
"
fi
@@ -89,6 +93,16 @@ pkg_setup() {
kernel_is -lt 5 && CONFIG_CHECK+=" IOSCHED_NOOP"
+ if [[ ${PV} != 9999 ]] ; then
+ local kv_major_max kv_minor_max zcompat
+ zcompat="${ZFS_KERNEL_COMPAT_OVERRIDE:-${ZFS_KERNEL_COMPAT}}"
+ kv_major_max="${zcompat%%.*}"
+ zcompat="${zcompat#*.}"
+ kv_minor_max="${zcompat%%.*}"
+ kernel_is -le "${kv_major_max}" "${kv_minor_max}" || die \
+ "Linux ${kv_major_max}.${kv_minor_max} is the latest supported version"
+ fi
+
linux-mod-r1_pkg_setup
}
diff --git a/sys-fs/zfs-kmod/zfs-kmod-9999.ebuild b/sys-fs/zfs-kmod/zfs-kmod-9999.ebuild
index 82ac6d7c464a..5727676398f5 100644
--- a/sys-fs/zfs-kmod/zfs-kmod-9999.ebuild
+++ b/sys-fs/zfs-kmod/zfs-kmod-9999.ebuild
@@ -12,18 +12,22 @@ MODULES_KERNEL_MAX=6.2
MODULES_KERNEL_MIN=3.10
if [[ ${PV} == 9999 ]] ; then
- inherit git-r3
EGIT_REPO_URI="https://github.com/openzfs/zfs.git"
+ inherit git-r3
unset MODULES_KERNEL_MAX
else
+ VERIFY_SIG_OPENPGP_KEY_PATH="${BROOT}"/usr/share/openpgp-keys/openzfs.asc
inherit verify-sig
MY_PV=${PV/_rc/-rc}
-
SRC_URI="https://github.com/openzfs/zfs/releases/download/zfs-${MY_PV}/zfs-${MY_PV}.tar.gz"
SRC_URI+=" verify-sig? ( https://github.com/openzfs/zfs/releases/download/zfs-${MY_PV}/zfs-${MY_PV}.tar.gz.asc )"
S="${WORKDIR}/zfs-${PV%_rc?}"
- VERIFY_SIG_OPENPGP_KEY_PATH=${BROOT}/usr/share/openpgp-keys/openzfs.asc
+
+ ZFS_KERNEL_COMPAT="${MODULES_KERNEL_MAX}"
+ # Increments minor eg 5.14 -> 5.15, and still supports override.
+ ZFS_KERNEL_DEP="${ZFS_KERNEL_COMPAT_OVERRIDE:-${ZFS_KERNEL_COMPAT}}"
+ ZFS_KERNEL_DEP="${ZFS_KERNEL_DEP%%.*}.$(( ${ZFS_KERNEL_DEP##*.} + 1))"
if [[ ${PV} != *_rc* ]] ; then
KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~sparc"
@@ -46,7 +50,7 @@ if [[ ${PV} != 9999 ]] ; then
IUSE+=" +dist-kernel-cap"
RDEPEND="
dist-kernel-cap? ( dist-kernel? (
- <virtual/dist-kernel-${MODULES_KERNEL_MAX%%.*}.$(( ${MODULES_KERNEL_MAX##*.} + 1))
+ <virtual/dist-kernel-${ZFS_KERNEL_DEP}
) )
"
fi
@@ -89,6 +93,16 @@ pkg_setup() {
kernel_is -lt 5 && CONFIG_CHECK+=" IOSCHED_NOOP"
+ if [[ ${PV} != 9999 ]] ; then
+ local kv_major_max kv_minor_max zcompat
+ zcompat="${ZFS_KERNEL_COMPAT_OVERRIDE:-${ZFS_KERNEL_COMPAT}}"
+ kv_major_max="${zcompat%%.*}"
+ zcompat="${zcompat#*.}"
+ kv_minor_max="${zcompat%%.*}"
+ kernel_is -le "${kv_major_max}" "${kv_minor_max}" || die \
+ "Linux ${kv_major_max}.${kv_minor_max} is the latest supported version"
+ fi
+
linux-mod-r1_pkg_setup
}