diff options
author | 2023-05-31 03:55:43 +0100 | |
---|---|---|
committer | 2023-05-31 03:55:50 +0100 | |
commit | 6482def6b8a1bbfec5c3440eaa8cce628a9a5eb8 (patch) | |
tree | 4492d8d6a7b424a4eb11acfed543aa9ab423f01f /sys-fs | |
parent | sys-fs/zfs: remove ancient egypt update_moduledb/remove_moduledb calls (diff) | |
download | gentoo-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.ebuild | 22 | ||||
-rw-r--r-- | sys-fs/zfs-kmod/zfs-kmod-9999.ebuild | 22 |
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 } |