summaryrefslogtreecommitdiff
path: root/sys-fs/zfs-kmod
diff options
context:
space:
mode:
Diffstat (limited to 'sys-fs/zfs-kmod')
-rw-r--r--sys-fs/zfs-kmod/Manifest12
-rw-r--r--sys-fs/zfs-kmod/zfs-kmod-2.3.0.ebuild (renamed from sys-fs/zfs-kmod/zfs-kmod-2.3.0_rc4.ebuild)2
-rw-r--r--sys-fs/zfs-kmod/zfs-kmod-2.3.0_rc1.ebuild207
-rw-r--r--sys-fs/zfs-kmod/zfs-kmod-2.3.0_rc3.ebuild207
4 files changed, 4 insertions, 424 deletions
diff --git a/sys-fs/zfs-kmod/Manifest b/sys-fs/zfs-kmod/Manifest
index fc75b63a8692..016cc49906b7 100644
--- a/sys-fs/zfs-kmod/Manifest
+++ b/sys-fs/zfs-kmod/Manifest
@@ -9,22 +9,16 @@ DIST zfs-2.2.6.tar.gz 33900138 BLAKE2B 0bbe36df779aaf19460a75725af9c9b13e64e77a6
DIST zfs-2.2.6.tar.gz.asc 836 BLAKE2B db66f3e2e629ab8a344a8e0c2609bcbb98d69d110fc9e064760ee0c5c25cd67421a71764c4b65d7005e8ff66167bf24beb4be2560a47318eabffa888c1539f26 SHA512 d09f343b3acc3a81e96c069072cfb16d0b490ee77562f50e14524faf05560f9e1d1325ec4bc1760c86ed29186d5860d59646d4ea07385ee3b28d879f2374b9b4
DIST zfs-2.2.7.tar.gz 33852602 BLAKE2B 31a066d5d543e3328d1afd065a8da4f9b4c52433d585cdbb41936900fd1453431585c6bc4b6e6d9a497a03e79969bae883e17cf4677099686feb3e32577d2777 SHA512 6493faa8e31d9c042c4e8f748d32cb9243212fdf4e0341c19568b47bcf302e60beb89940b80374610b71e1dca1ca5813f3efaddbf1a2453ceabb38381165b271
DIST zfs-2.2.7.tar.gz.asc 836 BLAKE2B e8fc5e04f5b37a22c741bda46b4573e0cebe85da051c73cf3c5fc267de3c313399b235fc346ca06f4c22d37d2500044a26adb3ea241a65fbcf8760d0ef880039 SHA512 8d22a64c920c2a983429688a340f4ae281decdd30e465591e6b40af9f3016b8f168f4e8ea460600c832a2f46b383ff307986649a645585fb25c34fdfda75ad6e
-DIST zfs-2.3.0-rc1.tar.gz 33887119 BLAKE2B dd4e159bef6de216cc51c1dd22620e6edb5b7503d95402022d0b9439471fe432181b1e5df2142e63cdac812a74b62657a96573b3bf48ad78bd6fd885a5f8913e SHA512 fe7de046dd48dbb67545726482a501788a1d5601e6e9a17deeb29047946689d9c8deb95f72b2b47c26a205a3c94fa1f0123437479a06b1376b9dac3dd6faf463
-DIST zfs-2.3.0-rc1.tar.gz.asc 195 BLAKE2B f70e6223e94a3f79d6d685b2b06254fba845d79768c82b7a3fedb865b6e6c97499c497def0f4c3e4a2869fed88b0965650ae88d5eb72c0ffaed43c4479d3bf96 SHA512 26b395feaf03e2be20b75ef64e573aa98a0706c46a1eb57503925731bf0cb9bf7fef8a2cdcf163233bccd7da9f5aedc0cae73f0183f39e0f13dcf315b4a5d809
-DIST zfs-2.3.0-rc3.tar.gz 33897910 BLAKE2B 518e2c56130a71d4c35f27328184e882815e2ca5b0524e660e174176bee4fdc554e4d1c8264d71f84b6c9641c08088f96a5c35adb5ef6f21b814ccadf093a256 SHA512 1ac53d3a006580f4a32fa33dddd6600d8abac401ed9fc86a2950a8241e0a9dc4a8954a32c44b28b10f22ba7c5cbd8871d9f21c13ccc291c366e9745e83431723
-DIST zfs-2.3.0-rc3.tar.gz.asc 195 BLAKE2B 34685869cb8d4f911b3ce0a5098411ce4cb346310564b7ad5fbe9cfc50a3bbe7665c8daa36384b2d5f3ee1dad4b98d6d5bad5a6b8e2f45da35354428853f748d SHA512 1f32119b24c703dd5dbdcce63ddc97cd24f2052522cf1f2f9a4228691d0db7c136262d98b38f2d795a4edfce1d25b423c5bc4f65dbc008bd12f64acc24f3406e
-DIST zfs-2.3.0-rc4.tar.gz 33899889 BLAKE2B 97aabe9c020ab496e6fe621ecb34fd33b70b786664aee0ebdc1d9d8b0d8027bb092354451c882bf0a2954967414420b33b081a7302a4805dcf2e04a584b81463 SHA512 77bb0b8f9d8995edfc7ebb298c6b0a0834e89cd58410d8d4bc4e7f04ce04e26d486e9d0ce23dd22e74cff8e9a9e827ca9d3549885045265f8b17638e68f35f0f
-DIST zfs-2.3.0-rc4.tar.gz.asc 195 BLAKE2B 8c1b104c7cf88bc0415d13e4b4d7f21ec5d35722b09e977aa240d842cad36f51d1ae84fbb03d51e3408b7c1a427d56658b90e53109d1e3c6921ae772c256f122 SHA512 a0e74bbcc1062c7196e6e67c77175456ae995159b22c788c5f4c3026dfde662cfb396677b3aa46628576504bc38f374a191dec4ccd55c2b41685be408067b9ee
DIST zfs-2.3.0-rc5.tar.gz 33907372 BLAKE2B 271e6f7e554e3b94d26edac2c53b12f1217013884fd74b3906107c34a4a8ffbfcee75295d05f50f4a13ba0f9368d7e2a8c86dae75bb73191d136ac9c3b92c375 SHA512 ea69909f70f2a5d4b2e3b6e5be61d224504f8936045372bb2d63279e2a051e53812b093fafcad09083925201b9ba940e9327f9d68d1754bf914b4cea5aa5090b
DIST zfs-2.3.0-rc5.tar.gz.asc 195 BLAKE2B 9abacfa95552837cac092a9e207cf56e4224dc24c1015c289a49d19f4173bcc1781b6b118bd89b4c4c89060ace5955447aaa96228266bcc77232fdf5c0037e20 SHA512 76c5dc000440b0a90e3bcb0ef0de61153ea80f2d9e1798475a25234be407f061448dbfc7b94813debda696caf323539e08b43651c7eeff507dc395d2c770ffc7
+DIST zfs-2.3.0.tar.gz 34029599 BLAKE2B b9fb7913f95dd0c8aec703961ecc0413aa51df889f15b1541ff8fcd7146ba485947fab83deb062bdffcdeab17a2465b7551c7eba3ec55c62c21aba58846c0da5 SHA512 f0bb1c6e28b325765be809dbc5d38ba294daa38b54eafd7d129cf6081fb209b200580437019faeed3614bbb0687d6583698a9282f3275905a1f5a8314a66cf0b
+DIST zfs-2.3.0.tar.gz.asc 836 BLAKE2B 9d1bd03dc6e5699236bca4c2b20a0a8b46e88d90ea58f7171d087c555da85d6af88acc5990f828ba455f9fbe24c90800c1edf74cd3f865b528730ffef8a931b8 SHA512 ba9a8e8b248de7383c8d33b84b0d70de026b8f3e6a1c82557b74ac274b28e559435541fbdfe816f6b80ce5098b3cac34af69cd53877f1f50fa6a846fa92a5dd0
EBUILD zfs-kmod-2.1.15.ebuild 4188 BLAKE2B 5c8a646f0a674f6caf6fb65bcd785af9eb26c47261e764242dcac865f5280c9b6c47ae1f971d8d428c4e712ed75cfd0085e9af302cf2dd2d0d1d1e6e44f1fa71 SHA512 bb60b68a6a9c12dc9064cc831742de64db9bb743134edc0b868f6394e85e39d067915d940580f95ec656d31e46e0771a8fd983fb157dae96e3c2bbbb33ec0901
EBUILD zfs-kmod-2.1.16.ebuild 4188 BLAKE2B 2a626296f33ba306bad8527697e1f421e46d660a8a65020c4d73d99dc6a717e72141ad1c3e01bfed6b9dceed0aaa10e5970d9fd7ab373260ee842f4a4ae6d6ae SHA512 3797d5425ec7b524857fbd2c4aaa34e2209d403807a3e7ee3a821d2c0174d780963ac48cc46f358b09a26fcc47c4dfc930c4c2171cca75f2c78155e5204aac6c
EBUILD zfs-kmod-2.2.5.ebuild 5523 BLAKE2B bb672c18784633c6d1605eb0d46018a015f73853e217a92922043b1183c36ebacc0292708f361b3379b19668f74ebaa6b63019faf9f78bb9e967754d1d0732cd SHA512 198f84fc9946a0f580c8b5b8176ef15aaa7fd6c1c04aff4f75f24a0f1851c1d8ba98b6fa343c6b8c62d96832b4d17b2ece2e20e6dff46803846f605e2cf03885
EBUILD zfs-kmod-2.2.6.ebuild 5524 BLAKE2B ed0c31e914a16da3bc691ec4658dad79b0b17148fb73cf6a1720c55c4ef74b167fdcb18201588f9b39d0c662d58d8f752f57ef6cc2ffdc60d96df3e9889ddd9a SHA512 5d1b24d46505e9d4964b7665351f96b1953ccceadb8d76c32f8efe7ea565aa880e9d4920928f40ebe5d58d10ea10b9656a89934c04ceaca012ab924d5a46741a
EBUILD zfs-kmod-2.2.7.ebuild 5524 BLAKE2B b63e851aa6bb3d0857df2b1f5ea487f840060ea0235f741228e721bd9f8f06ec9e123b64da43b4ba6f0053d336f884ee8dc723dee1e14e3f1f4f0d660f5b037e SHA512 6ebd9dc0ed1710820f44cee845baa917ccc30e8d00644a7d8ed92b2074137fbb570ebd5384587ad5664b7fea91a834a810be37d47da4cc466289ee68f043a030
-EBUILD zfs-kmod-2.3.0_rc1.ebuild 5527 BLAKE2B e34140a512985eaac32c2842abf7b988761287a66d3ae8e0de6867442b33a940917a961cfc46d0a7256440d1bc7abcd4f36258003403c2718b498c23583615af SHA512 c9287792af68052357a940328d14717a9eb832e6628774a6b354595c585ee87f4a16212ddc67e6dbc818012e7ccb27a678a442078a3c72d8e0a3568c259f714f
-EBUILD zfs-kmod-2.3.0_rc3.ebuild 5527 BLAKE2B e34140a512985eaac32c2842abf7b988761287a66d3ae8e0de6867442b33a940917a961cfc46d0a7256440d1bc7abcd4f36258003403c2718b498c23583615af SHA512 c9287792af68052357a940328d14717a9eb832e6628774a6b354595c585ee87f4a16212ddc67e6dbc818012e7ccb27a678a442078a3c72d8e0a3568c259f714f
-EBUILD zfs-kmod-2.3.0_rc4.ebuild 5527 BLAKE2B 6c05385c4a5201b4c26acbc9019c33a446922e677f5ff1e071e4f5dda9f76656b22f267b8d98c92cf745ac9c389929b9f0b6364a7614d4d902969b2b89c764f9 SHA512 6a46a6769f03c98426f6f147e519fa21ab9fab1b25e78c322a00a03f7aa414ac327b605ad2c49a290aba070db26dd8be4d688e5f0bd5768cc0d0573e975b46a4
+EBUILD zfs-kmod-2.3.0.ebuild 5527 BLAKE2B 423d19cfc293a587245f0ae0e171fc2c6adb49a53c505635fc3658903eaf2f34eabcb44f3273642d2b240cc9308f8a1dd487302f0493d4d16a9f9d016e11fc86 SHA512 ac0b46c176a8ab94b8d642ae1d21052299f09a29dd6d6640e97ac5275c16232a491451686f14a1a3cb3ee66b4cf019c5938ce227f64d889f5c0f2785794c215c
EBUILD zfs-kmod-2.3.0_rc5.ebuild 5527 BLAKE2B 423d19cfc293a587245f0ae0e171fc2c6adb49a53c505635fc3658903eaf2f34eabcb44f3273642d2b240cc9308f8a1dd487302f0493d4d16a9f9d016e11fc86 SHA512 ac0b46c176a8ab94b8d642ae1d21052299f09a29dd6d6640e97ac5275c16232a491451686f14a1a3cb3ee66b4cf019c5938ce227f64d889f5c0f2785794c215c
EBUILD zfs-kmod-9999.ebuild 5527 BLAKE2B 6c05385c4a5201b4c26acbc9019c33a446922e677f5ff1e071e4f5dda9f76656b22f267b8d98c92cf745ac9c389929b9f0b6364a7614d4d902969b2b89c764f9 SHA512 6a46a6769f03c98426f6f147e519fa21ab9fab1b25e78c322a00a03f7aa414ac327b605ad2c49a290aba070db26dd8be4d688e5f0bd5768cc0d0573e975b46a4
MISC metadata.xml 664 BLAKE2B 50e33d5791fd756ae4566052ecd6d8b1b395f8390b4cbc10c3b32bfc12f0a414f4080bf4102091f0920369f7999f2f94022fd526703ee8e73dc948c1f9d28432 SHA512 dca8e09500fe0e20f11b10df22a61ca36c99b6b3a08c465ea011d921b25f5891be3abaa5e6dbda1a52dbbfad69d1c8bf9fc69f71b3ef73cac428015641aa52d2
diff --git a/sys-fs/zfs-kmod/zfs-kmod-2.3.0_rc4.ebuild b/sys-fs/zfs-kmod/zfs-kmod-2.3.0.ebuild
index 6f064f20b142..435d8a40d273 100644
--- a/sys-fs/zfs-kmod/zfs-kmod-2.3.0_rc4.ebuild
+++ b/sys-fs/zfs-kmod/zfs-kmod-2.3.0.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2024 Gentoo Authors
+# Copyright 1999-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
diff --git a/sys-fs/zfs-kmod/zfs-kmod-2.3.0_rc1.ebuild b/sys-fs/zfs-kmod/zfs-kmod-2.3.0_rc1.ebuild
deleted file mode 100644
index 25ff548135e4..000000000000
--- a/sys-fs/zfs-kmod/zfs-kmod-2.3.0_rc1.ebuild
+++ /dev/null
@@ -1,207 +0,0 @@
-# Copyright 1999-2024 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-MODULES_INITRAMFS_IUSE=+initramfs
-inherit autotools flag-o-matic linux-mod-r1 multiprocessing
-
-DESCRIPTION="Linux ZFS kernel module for sys-fs/zfs"
-HOMEPAGE="https://github.com/openzfs/zfs"
-
-MODULES_KERNEL_MAX=6.11
-MODULES_KERNEL_MIN=4.18
-
-if [[ ${PV} == 9999 ]] ; then
- EGIT_REPO_URI="https://github.com/openzfs/zfs.git"
- inherit git-r3
- unset MODULES_KERNEL_MAX
-else
- VERIFY_SIG_OPENPGP_KEY_PATH=/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-${MY_PV}"
-
- 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 ~loong ~ppc64 ~riscv ~sparc"
- fi
-fi
-
-LICENSE="CDDL MIT debug? ( GPL-2+ )"
-SLOT="0/${PVR}"
-IUSE="custom-cflags debug +rootfs"
-RESTRICT="test"
-
-BDEPEND="
- app-alternatives/awk
- dev-lang/perl
-"
-
-if [[ ${PV} != 9999 ]] ; then
- BDEPEND+=" verify-sig? ( sec-keys/openpgp-keys-openzfs )"
-
- IUSE+=" +dist-kernel-cap"
- RDEPEND="
- dist-kernel-cap? ( dist-kernel? (
- <virtual/dist-kernel-${ZFS_KERNEL_DEP}
- ) )
- "
-fi
-
-# Used to suggest matching USE, but without suggesting to disable
-PDEPEND="dist-kernel? ( ~sys-fs/zfs-${PV}[dist-kernel] )"
-
-PATCHES=(
- "${FILESDIR}"/${PN}-2.1.11-gentoo.patch
-)
-
-pkg_pretend() {
- use rootfs || return 0
-}
-
-pkg_setup() {
- local CONFIG_CHECK="
- EFI_PARTITION
- ZLIB_DEFLATE
- ZLIB_INFLATE
- !DEBUG_LOCK_ALLOC
- !PAX_KERNEXEC_PLUGIN_METHOD_OR
- "
- use debug && CONFIG_CHECK+="
- DEBUG_INFO
- FRAME_POINTER
- !DEBUG_INFO_REDUCED
- "
- use rootfs && CONFIG_CHECK+="
- BLK_DEV_INITRD
- DEVTMPFS
- "
-
- 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
-}
-
-src_prepare() {
- default
-
- # Run unconditionally (bug #792627)
- eautoreconf
-
- if [[ ${PV} != 9999 ]] ; then
- # Set module revision number
- sed -Ei "s/(Release:.*)1/\1${PR}-gentoo/" META || die
- fi
-}
-
-src_configure() {
- use custom-cflags || strip-flags
- filter-ldflags -Wl,*
-
- local myconf=(
- --bindir="${EPREFIX}"/bin
- --sbindir="${EPREFIX}"/sbin
- --with-config=kernel
- --with-linux="${KV_DIR}"
- --with-linux-obj="${KV_OUT_DIR}"
- $(use_enable debug)
-
- # See gentoo.patch
- GENTOO_MAKEARGS_EVAL="${MODULES_MAKEARGS[*]@Q}"
- TEST_JOBS="$(makeopts_jobs)"
- )
-
- econf "${myconf[@]}"
-}
-
-src_compile() {
- emake "${MODULES_MAKEARGS[@]}"
-}
-
-src_install() {
- emake "${MODULES_MAKEARGS[@]}" DESTDIR="${ED}" install
- modules_post_process
-
- dodoc AUTHORS COPYRIGHT META README.md
-}
-
-_old_layout_cleanup() {
- # new files are just extra/{spl,zfs}.ko with no subdirs.
- local olddir=(
- avl/zavl
- icp/icp
- lua/zlua
- nvpair/znvpair
- spl/spl
- unicode/zunicode
- zcommon/zcommon
- zfs/zfs
- zstd/zzstd
- )
-
- # kernel/module/Kconfig contains possible compressed extentions.
- local kext kextfiles
- for kext in .ko{,.{gz,xz,zst}}; do
- kextfiles+=( "${olddir[@]/%/${kext}}" )
- done
-
- local oldfile oldpath
- for oldfile in "${kextfiles[@]}"; do
- oldpath="${EROOT}/lib/modules/${KV_FULL}/extra/${oldfile}"
- if [[ -f "${oldpath}" ]]; then
- ewarn "Found obsolete zfs module ${oldfile} for current kernel ${KV_FULL}, removing."
- rm -rv "${oldpath}" || die
- # we do not remove non-empty directories just for safety in case there's something else.
- # also it may fail if there are both compressed and uncompressed modules installed.
- rmdir -v --ignore-fail-on-non-empty "${oldpath%/*.*}" || die
- fi
- done
-}
-
-pkg_postinst() {
- # Check for old module layout before doing anything else.
- # only attempt layout cleanup if new .ko location is used.
- local newko=( "${EROOT}/lib/modules/${KV_FULL}/extra"/{zfs,spl}.ko* )
- # We check first array member, if glob above did not exand, it will be "zfs.ko*" and -f will return false.
- # if glob expanded -f will do correct file precense check.
- [[ -f ${newko[0]} ]] && _old_layout_cleanup
-
- linux-mod-r1_pkg_postinst
-
- if use x86 || use arm ; then
- ewarn "32-bit kernels will likely require increasing vmalloc to"
- ewarn "at least 256M and decreasing zfs_arc_max to some value less than that."
- fi
-
- if has_version sys-boot/grub ; then
- ewarn "This version of OpenZFS includes support for new feature flags"
- ewarn "that are incompatible with previous versions. GRUB2 support for"
- ewarn "/boot with the new feature flags is not yet available."
- ewarn "Do *NOT* upgrade root pools to use the new feature flags."
- ewarn "Any new pools will be created with the new feature flags by default"
- ewarn "and will not be compatible with older versions of OpenZFS. To"
- ewarn "create a new pool that is backward compatible wih GRUB2, use "
- ewarn
- ewarn "zpool create -o compatibility=grub2 ..."
- ewarn
- ewarn "Refer to /usr/share/zfs/compatibility.d/grub2 for list of features."
- fi
-}
diff --git a/sys-fs/zfs-kmod/zfs-kmod-2.3.0_rc3.ebuild b/sys-fs/zfs-kmod/zfs-kmod-2.3.0_rc3.ebuild
deleted file mode 100644
index 25ff548135e4..000000000000
--- a/sys-fs/zfs-kmod/zfs-kmod-2.3.0_rc3.ebuild
+++ /dev/null
@@ -1,207 +0,0 @@
-# Copyright 1999-2024 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-MODULES_INITRAMFS_IUSE=+initramfs
-inherit autotools flag-o-matic linux-mod-r1 multiprocessing
-
-DESCRIPTION="Linux ZFS kernel module for sys-fs/zfs"
-HOMEPAGE="https://github.com/openzfs/zfs"
-
-MODULES_KERNEL_MAX=6.11
-MODULES_KERNEL_MIN=4.18
-
-if [[ ${PV} == 9999 ]] ; then
- EGIT_REPO_URI="https://github.com/openzfs/zfs.git"
- inherit git-r3
- unset MODULES_KERNEL_MAX
-else
- VERIFY_SIG_OPENPGP_KEY_PATH=/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-${MY_PV}"
-
- 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 ~loong ~ppc64 ~riscv ~sparc"
- fi
-fi
-
-LICENSE="CDDL MIT debug? ( GPL-2+ )"
-SLOT="0/${PVR}"
-IUSE="custom-cflags debug +rootfs"
-RESTRICT="test"
-
-BDEPEND="
- app-alternatives/awk
- dev-lang/perl
-"
-
-if [[ ${PV} != 9999 ]] ; then
- BDEPEND+=" verify-sig? ( sec-keys/openpgp-keys-openzfs )"
-
- IUSE+=" +dist-kernel-cap"
- RDEPEND="
- dist-kernel-cap? ( dist-kernel? (
- <virtual/dist-kernel-${ZFS_KERNEL_DEP}
- ) )
- "
-fi
-
-# Used to suggest matching USE, but without suggesting to disable
-PDEPEND="dist-kernel? ( ~sys-fs/zfs-${PV}[dist-kernel] )"
-
-PATCHES=(
- "${FILESDIR}"/${PN}-2.1.11-gentoo.patch
-)
-
-pkg_pretend() {
- use rootfs || return 0
-}
-
-pkg_setup() {
- local CONFIG_CHECK="
- EFI_PARTITION
- ZLIB_DEFLATE
- ZLIB_INFLATE
- !DEBUG_LOCK_ALLOC
- !PAX_KERNEXEC_PLUGIN_METHOD_OR
- "
- use debug && CONFIG_CHECK+="
- DEBUG_INFO
- FRAME_POINTER
- !DEBUG_INFO_REDUCED
- "
- use rootfs && CONFIG_CHECK+="
- BLK_DEV_INITRD
- DEVTMPFS
- "
-
- 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
-}
-
-src_prepare() {
- default
-
- # Run unconditionally (bug #792627)
- eautoreconf
-
- if [[ ${PV} != 9999 ]] ; then
- # Set module revision number
- sed -Ei "s/(Release:.*)1/\1${PR}-gentoo/" META || die
- fi
-}
-
-src_configure() {
- use custom-cflags || strip-flags
- filter-ldflags -Wl,*
-
- local myconf=(
- --bindir="${EPREFIX}"/bin
- --sbindir="${EPREFIX}"/sbin
- --with-config=kernel
- --with-linux="${KV_DIR}"
- --with-linux-obj="${KV_OUT_DIR}"
- $(use_enable debug)
-
- # See gentoo.patch
- GENTOO_MAKEARGS_EVAL="${MODULES_MAKEARGS[*]@Q}"
- TEST_JOBS="$(makeopts_jobs)"
- )
-
- econf "${myconf[@]}"
-}
-
-src_compile() {
- emake "${MODULES_MAKEARGS[@]}"
-}
-
-src_install() {
- emake "${MODULES_MAKEARGS[@]}" DESTDIR="${ED}" install
- modules_post_process
-
- dodoc AUTHORS COPYRIGHT META README.md
-}
-
-_old_layout_cleanup() {
- # new files are just extra/{spl,zfs}.ko with no subdirs.
- local olddir=(
- avl/zavl
- icp/icp
- lua/zlua
- nvpair/znvpair
- spl/spl
- unicode/zunicode
- zcommon/zcommon
- zfs/zfs
- zstd/zzstd
- )
-
- # kernel/module/Kconfig contains possible compressed extentions.
- local kext kextfiles
- for kext in .ko{,.{gz,xz,zst}}; do
- kextfiles+=( "${olddir[@]/%/${kext}}" )
- done
-
- local oldfile oldpath
- for oldfile in "${kextfiles[@]}"; do
- oldpath="${EROOT}/lib/modules/${KV_FULL}/extra/${oldfile}"
- if [[ -f "${oldpath}" ]]; then
- ewarn "Found obsolete zfs module ${oldfile} for current kernel ${KV_FULL}, removing."
- rm -rv "${oldpath}" || die
- # we do not remove non-empty directories just for safety in case there's something else.
- # also it may fail if there are both compressed and uncompressed modules installed.
- rmdir -v --ignore-fail-on-non-empty "${oldpath%/*.*}" || die
- fi
- done
-}
-
-pkg_postinst() {
- # Check for old module layout before doing anything else.
- # only attempt layout cleanup if new .ko location is used.
- local newko=( "${EROOT}/lib/modules/${KV_FULL}/extra"/{zfs,spl}.ko* )
- # We check first array member, if glob above did not exand, it will be "zfs.ko*" and -f will return false.
- # if glob expanded -f will do correct file precense check.
- [[ -f ${newko[0]} ]] && _old_layout_cleanup
-
- linux-mod-r1_pkg_postinst
-
- if use x86 || use arm ; then
- ewarn "32-bit kernels will likely require increasing vmalloc to"
- ewarn "at least 256M and decreasing zfs_arc_max to some value less than that."
- fi
-
- if has_version sys-boot/grub ; then
- ewarn "This version of OpenZFS includes support for new feature flags"
- ewarn "that are incompatible with previous versions. GRUB2 support for"
- ewarn "/boot with the new feature flags is not yet available."
- ewarn "Do *NOT* upgrade root pools to use the new feature flags."
- ewarn "Any new pools will be created with the new feature flags by default"
- ewarn "and will not be compatible with older versions of OpenZFS. To"
- ewarn "create a new pool that is backward compatible wih GRUB2, use "
- ewarn
- ewarn "zpool create -o compatibility=grub2 ..."
- ewarn
- ewarn "Refer to /usr/share/zfs/compatibility.d/grub2 for list of features."
- fi
-}