summaryrefslogtreecommitdiff
path: root/sys-fs
diff options
context:
space:
mode:
authorV3n3RiX <venerix@koprulu.sector>2024-05-04 00:00:19 +0100
committerV3n3RiX <venerix@koprulu.sector>2024-05-04 00:00:19 +0100
commit7f3fecbb5b871825fe9632f46659869cab6a3769 (patch)
treedd2be4fe7ee3475ca4ad093698f0f8fd1e0965dc /sys-fs
parenta98588cfddf3d6e88a5f17d7f399b695163c7a85 (diff)
gentoo auto-resync : 04:05:2024 - 00:00:19
Diffstat (limited to 'sys-fs')
-rw-r--r--sys-fs/Manifest.gzbin22232 -> 22232 bytes
-rw-r--r--sys-fs/btrfs-progs/Manifest3
-rw-r--r--sys-fs/btrfs-progs/btrfs-progs-6.8.1.ebuild198
-rw-r--r--sys-fs/squashfs-tools-ng/Manifest4
-rw-r--r--sys-fs/squashfs-tools-ng/squashfs-tools-ng-1.3.1.ebuild (renamed from sys-fs/squashfs-tools-ng/squashfs-tools-ng-1.2.0.ebuild)2
-rw-r--r--sys-fs/zfs-kmod/Manifest5
-rw-r--r--sys-fs/zfs-kmod/zfs-kmod-2.2.4.ebuild217
-rw-r--r--sys-fs/zfs-kmod/zfs-kmod-9999.ebuild2
-rw-r--r--sys-fs/zfs/Manifest3
-rw-r--r--sys-fs/zfs/zfs-2.2.4.ebuild308
10 files changed, 737 insertions, 5 deletions
diff --git a/sys-fs/Manifest.gz b/sys-fs/Manifest.gz
index 5f9a100b33de..8424d8d8d60a 100644
--- a/sys-fs/Manifest.gz
+++ b/sys-fs/Manifest.gz
Binary files differ
diff --git a/sys-fs/btrfs-progs/Manifest b/sys-fs/btrfs-progs/Manifest
index c07f2db7b07f..6a58bcb0d1cb 100644
--- a/sys-fs/btrfs-progs/Manifest
+++ b/sys-fs/btrfs-progs/Manifest
@@ -3,10 +3,13 @@ DIST btrfs-progs-v6.6.3.tar.sign 566 BLAKE2B 9f8a14405f78c8eb5a92d59f9ca776cd15b
DIST btrfs-progs-v6.6.3.tar.xz 2557216 BLAKE2B 274fad52bcab45bd0f6496c1bc10e1736e7b766f53b712790996a8a38f74eedcc570783599bed62cd4f84e5629f2216340a66941d9fbe0c7890f1c56ed66df8a SHA512 93e1defacf0f280fc02e10a20fd2bc3775c52956a0339e30b829cc3bef85629d565cf3f6a9af126e38bbb73e8e9b9a0069abbe0e57957a56ca1a8826f5de624a
DIST btrfs-progs-v6.7.1.tar.sign 566 BLAKE2B e5aba64e199f26cef84a8cbbb034c0a5c24572e43fef2fdce79f0dbd892b1609876f681bf79de53e6473345f3de8b8fee6aac2d33673e0b080ab33fb935bd32d SHA512 8fad1c2c47356a04434e12621c526603bf651bdcb0a08deb4022d83953d8c501b8aaa2da05cbf94e0bde43b48a4135fff78a5746423466036ff4899dd79b9589
DIST btrfs-progs-v6.7.1.tar.xz 2565576 BLAKE2B 4e05e9dd80e5531425490970318389aef280f61cc636a80aa2bbc630399afd4f1f3ce649d194822ff93ff4b1774d65a504e3bed6f1426ff60830e4c0d0ac87b0 SHA512 8a2e735f036a0778a2482d42c813012269903174232bc2924af41b72bbcfb49783d5f3b7d0af085285a68754748bd76b6534a498a47cdcea94020f4262281ffc
+DIST btrfs-progs-v6.8.1.tar.sign 566 BLAKE2B 843eada2b00a2370522edc95d79bcfed88bd24233e647946d4807322550593e4d5f5bb5efa6652c754dd0965dc3e389bc97698a0bd8fc5d0e850bea94de98e72 SHA512 84ebaa6ec27aa5bc87a323f5c6cc82a860fada7311ab8319127de3592294c1076d25959e412f8387d54bad3b8ff838ce39c4db4b04a658b2de2eaa7c976e2b09
+DIST btrfs-progs-v6.8.1.tar.xz 2652968 BLAKE2B 34406dedc6d97bd94a498c3bbb424d34a59b8251b37f9a40a87740f96db77780a4cd76c88055b4d9e4f673b4a3621503a6bedb67ceaf20870fb26c10f49b74e0 SHA512 b5f0694e56eecf1956313b3406610c2e22658ace51a636d79efe996780bb0b03fed95e68a8c9a11dd8649958c0e7dbc7417bb479859365d47b52e478f6830d46
DIST btrfs-progs-v6.8.tar.sign 566 BLAKE2B 2f063015b515980a88980d02ac359363506d8445bf6ebffccd0f224b09b457b9d859ec7ae1371d3dcb04cfcb29ceee75ec8f73c2adee4765ca8287a79929234c SHA512 d858033046af03d9f7bedb492eadaaae92c8d3dde451e52fc78a8a1c4dbf57078e8d907dbd3344f1414b4dad9646aef616ddec0c0fefaf65340411e84c36c96f
DIST btrfs-progs-v6.8.tar.xz 2587804 BLAKE2B 0f4cc83fa896bc932fdcd34fffae72b0fad44424ac0b5e2b7bde44dd91fcef33f2fa2ef36eb77299de753e4d4b47794cabad5d84760b9d34a9b6765a834d15b7 SHA512 adce7c15ef5a19c4fc513f1743b4f65f2c72aa4490703d36c93230abb305c576bd69a32c4bcf19c2b58aee5b5755e0d54fb82fe649a5fe021366eb0d89af4261
EBUILD btrfs-progs-6.6.3.ebuild 4581 BLAKE2B c5fd9d72bfe270bf54838e0b0eff08cb9405711792cdd1775f21ff853a6202ba0f7ccff8a043f39da02d8cdcd36a253d03c53812ad293f64b6ce26df9e1c505e SHA512 a8af6e0941002d70cebef2fd96838c1bf630ad95bd4871e83097fd552ec5f01d253f675c05551f56c92871d5a40acae697c1f69e194c1cc9b915bb9acdb1cdc9
EBUILD btrfs-progs-6.7.1.ebuild 4581 BLAKE2B c5fd9d72bfe270bf54838e0b0eff08cb9405711792cdd1775f21ff853a6202ba0f7ccff8a043f39da02d8cdcd36a253d03c53812ad293f64b6ce26df9e1c505e SHA512 a8af6e0941002d70cebef2fd96838c1bf630ad95bd4871e83097fd552ec5f01d253f675c05551f56c92871d5a40acae697c1f69e194c1cc9b915bb9acdb1cdc9
+EBUILD btrfs-progs-6.8.1.ebuild 4587 BLAKE2B 56fdeba0f5693caac717e63dba5c5cc62068f4b0a013c07c5407b1c19c114c8a2697ded9bcd4974e8fddb87631c8d324150e076eb7e744e4ddb650eb4684ef40 SHA512 a71b38d90bb773e5beafadae60411815f18e33c561e31c5c089d574043e7332a28968486a35fcab24893876728bceb10006b0f772bd7fdc55776afc7c9484ba7
EBUILD btrfs-progs-6.8.ebuild 4664 BLAKE2B 0b4ecbac2a6303d8d58434c438f585c2f429ee0ee73fa1dc3e1662bdb8197cdf9d24b31c246dbfbb2f2835398c12be332f8dfb264faa1e64b29858f5443ed731 SHA512 96aff43e2b197f568cf72e17eaa17b2289024804d1c2a5aef2cff4ffde92c6db8e20752df7de9cb53df1548b29e71eb7bb5d058ebd36868359d5bbb560f4a3b6
EBUILD btrfs-progs-9999.ebuild 4587 BLAKE2B 56fdeba0f5693caac717e63dba5c5cc62068f4b0a013c07c5407b1c19c114c8a2697ded9bcd4974e8fddb87631c8d324150e076eb7e744e4ddb650eb4684ef40 SHA512 a71b38d90bb773e5beafadae60411815f18e33c561e31c5c089d574043e7332a28968486a35fcab24893876728bceb10006b0f772bd7fdc55776afc7c9484ba7
MISC metadata.xml 610 BLAKE2B 70361c4d5434a98f73a3d38ed47d7be830783529db6217396f2235cdedd58744fc6e52e4de1994d28184fe9d8aa5d2982c433d47eda1868cfdb79edf0769a620 SHA512 8958c02574adb1395a9d21d9e9ad5db38570b82a1c7211752eb007eecbd0e541e880a060649641f40be877f167e14f278f14d5ef8775766ef9a6fa5d3843dc53
diff --git a/sys-fs/btrfs-progs/btrfs-progs-6.8.1.ebuild b/sys-fs/btrfs-progs/btrfs-progs-6.8.1.ebuild
new file mode 100644
index 000000000000..c9770f5998ae
--- /dev/null
+++ b/sys-fs/btrfs-progs/btrfs-progs-6.8.1.ebuild
@@ -0,0 +1,198 @@
+# Copyright 2008-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{10..12} )
+inherit bash-completion-r1 python-single-r1 udev
+
+if [[ ${PV} == 9999 ]]; then
+ EGIT_REPO_URI="https://github.com/kdave/btrfs-progs.git"
+ EGIT_BRANCH="devel"
+ WANT_LIBTOOL="none"
+ inherit autotools git-r3
+else
+ VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/dsterba.asc
+ inherit verify-sig
+
+ MY_PV="v${PV/_/-}"
+ MY_P="${PN}-${MY_PV}"
+ SRC_URI="
+ https://www.kernel.org/pub/linux/kernel/people/kdave/${PN}/${MY_P}.tar.xz
+ verify-sig? ( https://www.kernel.org/pub/linux/kernel/people/kdave/${PN}/${MY_P}.tar.sign )
+ "
+ S="${WORKDIR}"/${PN}-${MY_PV}
+
+ if [[ ${PV} != *_rc* ]] ; then
+ KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~ia64 ~loong ~mips ~ppc ~ppc64 ~riscv ~sparc ~x86"
+ fi
+fi
+
+DESCRIPTION="Btrfs filesystem utilities"
+HOMEPAGE="https://btrfs.readthedocs.io/en/latest/"
+
+LICENSE="GPL-2"
+SLOT="0/0" # libbtrfs soname
+IUSE="+convert python +man reiserfs static static-libs udev +zstd"
+# Could support it with just !systemd => eudev, see mdadm, but let's
+# see if someone asks for it first.
+REQUIRED_USE="static? ( !udev ) python? ( ${PYTHON_REQUIRED_USE} )"
+
+# Tries to mount repaired filesystems
+RESTRICT="test"
+
+RDEPEND="
+ dev-libs/lzo:2=
+ sys-apps/util-linux:=[static-libs(+)?]
+ sys-libs/zlib:=
+ convert? (
+ sys-fs/e2fsprogs:=
+ reiserfs? (
+ >=sys-fs/reiserfsprogs-3.6.27
+ )
+ )
+ python? ( ${PYTHON_DEPS} )
+ udev? ( virtual/libudev:= )
+ zstd? ( app-arch/zstd:= )
+"
+DEPEND="
+ ${RDEPEND}
+ >=sys-kernel/linux-headers-5.10
+ convert? ( sys-apps/acl )
+ python? (
+ $(python_gen_cond_dep '
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ ')
+ )
+ static? (
+ dev-libs/lzo:2[static-libs(+)]
+ sys-apps/util-linux:0[static-libs(+)]
+ sys-libs/zlib:0[static-libs(+)]
+ convert? (
+ sys-fs/e2fsprogs[static-libs(+)]
+ reiserfs? (
+ >=sys-fs/reiserfsprogs-3.6.27[static-libs(+)]
+ )
+ )
+ zstd? ( app-arch/zstd[static-libs(+)] )
+ )
+"
+BDEPEND="
+ virtual/pkgconfig
+ man? (
+ dev-python/sphinx
+ dev-python/sphinx-rtd-theme
+ )
+"
+
+if [[ ${PV} == 9999 ]]; then
+ BDEPEND+=" sys-devel/gnuconfig"
+else
+ BDEPEND+=" verify-sig? ( sec-keys/openpgp-keys-dsterba )"
+fi
+
+pkg_setup() {
+ use python && python-single-r1_pkg_setup
+}
+
+src_unpack() {
+ if [[ ${PV} == 9999 ]] ; then
+ git-r3_src_unpack
+ return
+ fi
+
+ if in_iuse verify-sig && use verify-sig ; then
+ mkdir "${T}"/verify-sig || die
+ pushd "${T}"/verify-sig &>/dev/null || die
+
+ # Upstream sign the decompressed .tar
+ # Let's do it separately in ${T} then cleanup to avoid external
+ # effects on normal unpack.
+ cp "${DISTDIR}"/${MY_P}.tar.xz . || die
+ xz -d ${MY_P}.tar.xz || die
+ verify-sig_verify_detached ${MY_P}.tar "${DISTDIR}"/${MY_P}.tar.sign
+
+ popd &>/dev/null || die
+ rm -r "${T}"/verify-sig || die
+ fi
+
+ default
+}
+
+src_prepare() {
+ default
+
+ if [[ ${PV} == 9999 ]]; then
+ AT_M4DIR="m4" eautoreconf
+
+ mkdir config || die
+ local automakedir="$(autotools_run_tool --at-output automake --print-libdir)"
+ [[ -e ${automakedir} ]] || die "Could not locate automake directory"
+
+ ln -s "${automakedir}"/install-sh config/install-sh || die
+ ln -s "${BROOT}"/usr/share/gnuconfig/config.guess config/config.guess || die
+ ln -s "${BROOT}"/usr/share/gnuconfig/config.sub config/config.sub || die
+ fi
+}
+
+src_configure() {
+ local myeconfargs=(
+ --bindir="${EPREFIX}"/sbin
+
+ --enable-lzo
+ --disable-experimental
+ $(use_enable convert)
+ $(use_enable man documentation)
+ $(use_enable elibc_glibc backtrace)
+ $(use_enable python)
+ $(use_enable static-libs static)
+ $(use_enable udev libudev)
+ $(use_enable zstd)
+
+ # Could support libgcrypt, libsodium, libkcapi, openssl, botan
+ --with-crypto=builtin
+ --with-convert=ext2$(usev reiserfs ',reiserfs')
+ )
+
+ export EXTRA_PYTHON_CFLAGS="${CFLAGS}"
+ export EXTRA_PYTHON_LDFLAGS="${LDFLAGS}"
+
+ # bash as a tepmorary workaround for https://github.com/kdave/btrfs-progs/pull/721
+ CONFIG_SHELL="${BROOT}"/bin/bash econf "${myeconfargs[@]}"
+}
+
+src_compile() {
+ emake V=1 all $(usev static)
+}
+
+src_test() {
+ emake V=1 -j1 -C tests test
+
+ if use python ; then
+ cd libbtrfsutil/python || die
+
+ local -x LD_LIBRARY_PATH="${S}:libbtrfsutil/python:${LD_LIBRARY_PATH}"
+ ${EPYTHON} -m unittest tests/test_*.py || die "Tests failed with ${EPYTHON}"
+ fi
+}
+
+src_install() {
+ local makeargs=(
+ $(usev python install_python)
+ $(usev static install-static)
+ )
+
+ emake V=1 DESTDIR="${D}" install "${makeargs[@]}"
+
+ newbashcomp btrfs-completion btrfs
+
+ use python && python_optimize
+}
+
+pkg_postinst() {
+ udev_reload
+}
+
+pkg_postrm() {
+ udev_reload
+}
diff --git a/sys-fs/squashfs-tools-ng/Manifest b/sys-fs/squashfs-tools-ng/Manifest
index b74284c00909..0f1784761869 100644
--- a/sys-fs/squashfs-tools-ng/Manifest
+++ b/sys-fs/squashfs-tools-ng/Manifest
@@ -1,6 +1,6 @@
-DIST squashfs-tools-ng-1.2.0.tar.xz 586992 BLAKE2B ca20e4e01033b4dfa3ada2abd0f618305cb3f49f683863d36ea93679c2cfc0c396ee209c3254fa318d30cb2c4c000c3634d4b625212842cabae0a5e53b4a2bdc SHA512 0c52890a92e2aee928db3e2407c087703d331e9dd8cba1b58ef44fe78cdd7ed1523e9b0485f7da83ad77423ffdccaf392a2b752ad948d62a5f1b5e600b523070
DIST squashfs-tools-ng-1.3.0.tar.xz 585800 BLAKE2B 658ff825b2cda63116c29d8c582f54df5bd511a6da98e737527d54720ed95a541edc39b94f61195f4c99d125cbcc8db824ea9d1e2a7a7a557fb647f5e795d623 SHA512 10ddff837464227d97c3c2dabeefa408a63fbab4ddc8ca184f4ecce7288ac47c0c6baf6d10146f7e29e4a845592720e39281f779420f5ba0b1e7736c0dea73d7
-EBUILD squashfs-tools-ng-1.2.0.ebuild 1209 BLAKE2B 0393b697b8f0e0ae0be5acc95eb55c7e5389a00d88acd5e7da975a456b9803b1ba2a6e124516e1dbe2f67b75f8cd78c4a08d12e0bd973bcb0fe190b1bcbe21db SHA512 ede357152b74cad9d8b680b4cd83b7e46320381df904988e24b0dbf6e8c1b460590a2e24599bdfa9165b67e4569f8ba34de7adc21aacbffb139352b4febe501b
+DIST squashfs-tools-ng-1.3.1.tar.xz 585916 BLAKE2B 697131ddb9959bed388534f90c93e2e7495ef5aec9facf97e7d17475cff64d7a4badb709a16ae5e6da3ee89b1a1e3a49833bd15b9a0b4b364e15a565bd18e480 SHA512 0a433f7c3633cd5d8646d990744e31ed59c7012d5f8bb4fdb7892b892631f22a8fd0969f7d81de68f53e44670e71cb8e29729cd925a93b98ab3b6942bbc30662
EBUILD squashfs-tools-ng-1.3.0.ebuild 1209 BLAKE2B 0393b697b8f0e0ae0be5acc95eb55c7e5389a00d88acd5e7da975a456b9803b1ba2a6e124516e1dbe2f67b75f8cd78c4a08d12e0bd973bcb0fe190b1bcbe21db SHA512 ede357152b74cad9d8b680b4cd83b7e46320381df904988e24b0dbf6e8c1b460590a2e24599bdfa9165b67e4569f8ba34de7adc21aacbffb139352b4febe501b
+EBUILD squashfs-tools-ng-1.3.1.ebuild 1210 BLAKE2B c5e8c28d5a83df822396afa52753d405489bfd69cadd05b888b6ff8d80a11aff1dceda98e592023508daceee35de923e73d48ed83e1bc7974a49662e51be30f1 SHA512 c4531ca1f027a2fa4a442722bc6a5de3649b64d0ab6973ba29b0e6311eb3c19042f89688de04a33edc319f4b78ba326ec0d9c0ce4f2f7717141276073f8cab5b
EBUILD squashfs-tools-ng-9999.ebuild 1210 BLAKE2B c5e8c28d5a83df822396afa52753d405489bfd69cadd05b888b6ff8d80a11aff1dceda98e592023508daceee35de923e73d48ed83e1bc7974a49662e51be30f1 SHA512 c4531ca1f027a2fa4a442722bc6a5de3649b64d0ab6973ba29b0e6311eb3c19042f89688de04a33edc319f4b78ba326ec0d9c0ce4f2f7717141276073f8cab5b
MISC metadata.xml 453 BLAKE2B 4bfc83a611fe2b8da5ce57e56c438c671489d0944cbb4b3f82113bac6bee89028091551c1c96953f166959b087d7e776b28ecb6b9290489f007ea5ca33090ebf SHA512 013b8d87af8c6298eaba48b4aa4282a8781321b0a15d1a8745361e389bb6c5ae6957b24af4bb6b88125cff5f9824b0e878051bd395fdeb98c2ae0ef7f2b370a7
diff --git a/sys-fs/squashfs-tools-ng/squashfs-tools-ng-1.2.0.ebuild b/sys-fs/squashfs-tools-ng/squashfs-tools-ng-1.3.1.ebuild
index a4168be5e3b8..f936c78e267e 100644
--- a/sys-fs/squashfs-tools-ng/squashfs-tools-ng-1.2.0.ebuild
+++ b/sys-fs/squashfs-tools-ng/squashfs-tools-ng-1.3.1.ebuild
@@ -10,7 +10,7 @@ if [[ ${PV} = 9999* ]]; then
EGIT_REPO_URI="https://github.com/AgentD/${PN}.git"
else
inherit libtool
- KEYWORDS="~alpha amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+ KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
SRC_URI="https://infraroot.at/pub/squashfs/${P}.tar.xz"
fi
diff --git a/sys-fs/zfs-kmod/Manifest b/sys-fs/zfs-kmod/Manifest
index b78f16bc13c7..001e5162f3e4 100644
--- a/sys-fs/zfs-kmod/Manifest
+++ b/sys-fs/zfs-kmod/Manifest
@@ -9,10 +9,13 @@ DIST zfs-2.2.2.tar.gz 33816541 BLAKE2B f0619ae42d898d18077096217d0a9ddd7c7378424
DIST zfs-2.2.2.tar.gz.asc 836 BLAKE2B bdc86492b2bf45d329e34e89ea7796f5cbf518d32ab114c909321b1d0d8040b9ce4e25b3b85fcbc5ea62ee10a2d716b5b27e37c2c005b307c0b593815c49d625 SHA512 110be1aa90f4749106717165a3cb5116379e2d170146a2b3d2601f04212450da9327e028d6e1e5de7f8a46c6bb7a15e2bcdd09e3e760590fbc695f9562f1440b
DIST zfs-2.2.3.tar.gz 33854765 BLAKE2B f83439aa929609191a048dd326b2a15e0f57c72d2901cbfb205b81a29aa42dab49b42eb61647ca3eaed17518b8c907e81343364bfecf83ed441271648f8efd4b SHA512 e6c3df531a33f4bd198429e61b7630f1e965a03fd60d1b847bdf0d55c6d2af3abc38b5e8a63aa9ef9f969cc7eca36cb24a7641f6fb8c41ef2fa024d76cd28f3d
DIST zfs-2.2.3.tar.gz.asc 836 BLAKE2B 86e1adc393d1f4643a6fd8c188b555e9dc0fdf7e25690f37ff0a04ff8826eb4fe3c125b54f0c5b9ab33f1daff43c4b44373ee9a4df506f6714f98d77782e6c3c SHA512 fe23ddb9bde78416776411d66a56aa662fa051c8544b4be01ba238b8c1a85ccde1c55329f228fe8ab2681b54a4e4cb08d4e927c597c117242f0b536a40921dc9
+DIST zfs-2.2.4.tar.gz 33882933 BLAKE2B f0026a12b7c1252bf8941e39f23d3e165750034707dfddf034d8aac942a749cb7f0108478797ca978704a22743d9928240b29cf78fe89eda9f873f40102413f0 SHA512 1d17e30573d594fb5c9ea77cde104616dca362fed7530296816d1b55173594f66170fcfb23ab57c27074f85b79d3eb557b4ee9a1c420e507b2434a7902d8dcc1
+DIST zfs-2.2.4.tar.gz.asc 836 BLAKE2B 7fde4232c25056eac2fae76abec4d6749c91d285d79ae6dce4ae4880fa90a26c9fb370dfa4daaf8a849f30fcc1b63eeb215444bfca724f6750bf7e4344f35fa7 SHA512 0cb3caf01b9e4d1f0c35d9f7933a4b11560b9bbf6c05494d8a1775b0a52ac1d642aebd77ef1c7b23a0a06f92e2b1ab3d8afacce41017eb07745d148af7f76a17
EBUILD zfs-kmod-2.1.14.ebuild 4601 BLAKE2B 451f240a8bfda7164ee48ae37bb410b8c3e06ca7184126da122258e7f6f8da62d23c9e6b0481e310735d92e460fbe5617a9f01da04cdb0ae801039c93cb12cd7 SHA512 7240287b57eaac31f6d0c7d4994c6a4de44a41ac9470aeb4c95e33ddb9557d7c70fad24c037f32ae026b4b7bb745ec5f4f496a802457dbdb95a8f1ec7f527c49
EBUILD zfs-kmod-2.1.15.ebuild 4604 BLAKE2B 44f71a65eacfb6091959ef6e75a71604b861e6da0ca6442cafd24f22166301e0ee6be02e905958e6d5ed854debe0bfea6d80260a14fd37024bb277aaeafa7896 SHA512 eab99b25b5756c90bd21f9f5e5a6c18424a8b647e005c3df465562383c8630a19747ce96c6b735e6a090c73c8c05b541427df12e8e8d2f6ebc1bf2f0c02f1d5e
EBUILD zfs-kmod-2.2.2-r1.ebuild 6025 BLAKE2B c0f21b6c1a70b1f664700ec4a85be54d8ef15f2dec828b977f6d52ee9ed2f6468454d6ac161f70e97d49fdcc0b4799ffc56cae137cac8be65a2e7c1a1b42626a SHA512 afc32eef22464550c1097ce60df52c45288ca90509cab45809c763eb5903cdc510dfcc3c53b4d8ff4711cc3e611bc3125426bb692d5f9357a31329e973db8c2f
EBUILD zfs-kmod-2.2.2.ebuild 5980 BLAKE2B 7db333fae56ed3306ef21b8adb9172ef056367c339d6bf57e43ab15d6f48888a84c31c317dfc46b757498aacf7f83c2b47436658cbcb6515b78b003c7f806611 SHA512 3da30083362ba3bb9b52d0b6cf3b5874ecacd0c6f208cb86c3b98997905a00d66cd59b8593c9732ff94aafad57c097cad65b3f78d26a803d985758a79d2e9d86
EBUILD zfs-kmod-2.2.3.ebuild 5939 BLAKE2B 7e02067dd058fb444ce3f1b3aafd5586dde94fc859bbe4845d6183d544445972fa8297e11b5bab0fc3a48772a3cddee3bffc8908fd88e5a8e79969c0f5dd5c64 SHA512 7657fe374b3feaf3681fdaa36af6b29a227a1253ccc4bb4a609b0687f6bcecdf06b46c88c387bdd73e1be9bd81035234a8e4631d19aa250b2fe0d354b9ea2407
-EBUILD zfs-kmod-9999.ebuild 5939 BLAKE2B 7e02067dd058fb444ce3f1b3aafd5586dde94fc859bbe4845d6183d544445972fa8297e11b5bab0fc3a48772a3cddee3bffc8908fd88e5a8e79969c0f5dd5c64 SHA512 7657fe374b3feaf3681fdaa36af6b29a227a1253ccc4bb4a609b0687f6bcecdf06b46c88c387bdd73e1be9bd81035234a8e4631d19aa250b2fe0d354b9ea2407
+EBUILD zfs-kmod-2.2.4.ebuild 5939 BLAKE2B d64fd4a33130d2c397b8606d0534b4e7153d323fb781a14aab75745ae37895abff7f010fcab6b01e0c69a0e4036aa7d33bbc322d6922e920acd476294d8d3e18 SHA512 b6b307dca3e7379da19a12b255498bca93478569adb28730240040aec7e76b5f8cb16399681dd556f3c59f2563bde1b96e968ad1797c0bb0648a304993d8990b
+EBUILD zfs-kmod-9999.ebuild 5939 BLAKE2B d64fd4a33130d2c397b8606d0534b4e7153d323fb781a14aab75745ae37895abff7f010fcab6b01e0c69a0e4036aa7d33bbc322d6922e920acd476294d8d3e18 SHA512 b6b307dca3e7379da19a12b255498bca93478569adb28730240040aec7e76b5f8cb16399681dd556f3c59f2563bde1b96e968ad1797c0bb0648a304993d8990b
MISC metadata.xml 664 BLAKE2B 50e33d5791fd756ae4566052ecd6d8b1b395f8390b4cbc10c3b32bfc12f0a414f4080bf4102091f0920369f7999f2f94022fd526703ee8e73dc948c1f9d28432 SHA512 dca8e09500fe0e20f11b10df22a61ca36c99b6b3a08c465ea011d921b25f5891be3abaa5e6dbda1a52dbbfad69d1c8bf9fc69f71b3ef73cac428015641aa52d2
diff --git a/sys-fs/zfs-kmod/zfs-kmod-2.2.4.ebuild b/sys-fs/zfs-kmod/zfs-kmod-2.2.4.ebuild
new file mode 100644
index 000000000000..fe2cc8b18efb
--- /dev/null
+++ b/sys-fs/zfs-kmod/zfs-kmod-2.2.4.ebuild
@@ -0,0 +1,217 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit autotools dist-kernel-utils 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.8
+MODULES_KERNEL_MIN=3.10
+
+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
+
+ if has_version virtual/dist-kernel && ! use dist-kernel; then
+ ewarn "You have virtual/dist-kernel installed, but"
+ ewarn "USE=\"dist-kernel\" is not enabled for ${CATEGORY}/${PN}"
+ ewarn "It's recommended to globally enable dist-kernel USE flag"
+ ewarn "to auto-trigger initrd rebuilds with kernel updates"
+ fi
+}
+
+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 [[ -z ${ROOT} ]] && use dist-kernel ; then
+ dist-kernel_reinstall_initramfs "${KV_DIR}" "${KV_FULL}"
+ fi
+
+ 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-9999.ebuild b/sys-fs/zfs-kmod/zfs-kmod-9999.ebuild
index e2c8f5dfec1b..fe2cc8b18efb 100644
--- a/sys-fs/zfs-kmod/zfs-kmod-9999.ebuild
+++ b/sys-fs/zfs-kmod/zfs-kmod-9999.ebuild
@@ -8,7 +8,7 @@ inherit autotools dist-kernel-utils 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.7
+MODULES_KERNEL_MAX=6.8
MODULES_KERNEL_MIN=3.10
if [[ ${PV} == 9999 ]] ; then
diff --git a/sys-fs/zfs/Manifest b/sys-fs/zfs/Manifest
index 0cccc68a8e5b..33dacaae01d0 100644
--- a/sys-fs/zfs/Manifest
+++ b/sys-fs/zfs/Manifest
@@ -10,9 +10,12 @@ DIST zfs-2.2.2.tar.gz 33816541 BLAKE2B f0619ae42d898d18077096217d0a9ddd7c7378424
DIST zfs-2.2.2.tar.gz.asc 836 BLAKE2B bdc86492b2bf45d329e34e89ea7796f5cbf518d32ab114c909321b1d0d8040b9ce4e25b3b85fcbc5ea62ee10a2d716b5b27e37c2c005b307c0b593815c49d625 SHA512 110be1aa90f4749106717165a3cb5116379e2d170146a2b3d2601f04212450da9327e028d6e1e5de7f8a46c6bb7a15e2bcdd09e3e760590fbc695f9562f1440b
DIST zfs-2.2.3.tar.gz 33854765 BLAKE2B f83439aa929609191a048dd326b2a15e0f57c72d2901cbfb205b81a29aa42dab49b42eb61647ca3eaed17518b8c907e81343364bfecf83ed441271648f8efd4b SHA512 e6c3df531a33f4bd198429e61b7630f1e965a03fd60d1b847bdf0d55c6d2af3abc38b5e8a63aa9ef9f969cc7eca36cb24a7641f6fb8c41ef2fa024d76cd28f3d
DIST zfs-2.2.3.tar.gz.asc 836 BLAKE2B 86e1adc393d1f4643a6fd8c188b555e9dc0fdf7e25690f37ff0a04ff8826eb4fe3c125b54f0c5b9ab33f1daff43c4b44373ee9a4df506f6714f98d77782e6c3c SHA512 fe23ddb9bde78416776411d66a56aa662fa051c8544b4be01ba238b8c1a85ccde1c55329f228fe8ab2681b54a4e4cb08d4e927c597c117242f0b536a40921dc9
+DIST zfs-2.2.4.tar.gz 33882933 BLAKE2B f0026a12b7c1252bf8941e39f23d3e165750034707dfddf034d8aac942a749cb7f0108478797ca978704a22743d9928240b29cf78fe89eda9f873f40102413f0 SHA512 1d17e30573d594fb5c9ea77cde104616dca362fed7530296816d1b55173594f66170fcfb23ab57c27074f85b79d3eb557b4ee9a1c420e507b2434a7902d8dcc1
+DIST zfs-2.2.4.tar.gz.asc 836 BLAKE2B 7fde4232c25056eac2fae76abec4d6749c91d285d79ae6dce4ae4880fa90a26c9fb370dfa4daaf8a849f30fcc1b63eeb215444bfca724f6750bf7e4344f35fa7 SHA512 0cb3caf01b9e4d1f0c35d9f7933a4b11560b9bbf6c05494d8a1775b0a52ac1d642aebd77ef1c7b23a0a06f92e2b1ab3d8afacce41017eb07745d148af7f76a17
EBUILD zfs-2.1.14.ebuild 8907 BLAKE2B ef6fa6ab85907507d146f3ee17c12680226ffcf0b49559d2f2521b95758d5dffe8ae4763d2db2691a09cf1a9d02bda4a58de0ffad205b4ec05201b3f76f85c3e SHA512 6f106cf37a7bc7fc850f86169aa90cea904680b85d5512045b36f7853024d702ca25272bc735eb5b140598581ea5edcd67b4bf027e1b378af2f8559b01d7838d
EBUILD zfs-2.1.15.ebuild 8910 BLAKE2B 94a66b34f4fbf9fb82c206a03f0511b52d1e2c039c56f848806960ef87b3d371944b640ca99ea7e921e0d6c369591a3227726faee93ba432777c00eda0eaac81 SHA512 4bbe411217fc9c658d49d966d041ef22fc3221bd25e3bb00f172419f0280f283fa95fe527e1f422ab9a04eb90d7cd8e1eac6329ed99f3f40b4bb5d6cbd93332d
EBUILD zfs-2.2.2-r1.ebuild 8809 BLAKE2B cbb0a314545e47bae39a40550179a30b7649f76a743a8171fede13557d343da5fd888c2101568f236358e9c9377d71dac844c4e7f6757646922efc9cd627ed1b SHA512 27b8f2c1eaa086b51bce6fdcd733a615843e7b8bd9a134b9c954a3f85796f0a75cfcb056e583c714c59f689dc999e167054a1fd20df9f69ebb90b67e82737495
EBUILD zfs-2.2.3.ebuild 8844 BLAKE2B eb9aa0625fb4f58cb31385224347512e4b1fc71ff1ed46537de764911dcc7351e39182d62b167f7cc84c394fdc0abd86efffeeaa21cb55fd45b7bc59095ca13a SHA512 f85f82ab4bf550fa139629dbf1114f6dc1507faf8bd3e469558f2d76a45455f935155938343834b02414582e22fe6b59ef6f088a9ab18ca15b6d8ec0c036ec43
+EBUILD zfs-2.2.4.ebuild 8844 BLAKE2B eb9aa0625fb4f58cb31385224347512e4b1fc71ff1ed46537de764911dcc7351e39182d62b167f7cc84c394fdc0abd86efffeeaa21cb55fd45b7bc59095ca13a SHA512 f85f82ab4bf550fa139629dbf1114f6dc1507faf8bd3e469558f2d76a45455f935155938343834b02414582e22fe6b59ef6f088a9ab18ca15b6d8ec0c036ec43
EBUILD zfs-9999.ebuild 8774 BLAKE2B 687b990541b8458069d9cf37c27fa4948e928858e8c852dae97e46ca975fbff1b26f8311358a943c8c587b59b3277378fc9445d092dc509e00716d99aace3d1b SHA512 b1710a7020598369dad2874391ad91133f89630313f4bdc637f0bf7649722b6a3d857694fc91630a0749ed94198aaeede58defd6c8044d43dacdd265dd1e8de4
MISC metadata.xml 2093 BLAKE2B 40f9f693751748deab32cd78bb919483e37d35da74ecaa28b31a183807c25c6a7022226e761dc27f895b142274bd9920e361f45a50b98bcf2a4b701d9e67fb94 SHA512 63d91d33151eea801c854246ea2c4640ecd432e74668b8f4f6ea22d4ae61823848a1608e9ee25821ef463f5f5e8e7e1c8d2aae4f1fee492ea4112214d2d6d1ed
diff --git a/sys-fs/zfs/zfs-2.2.4.ebuild b/sys-fs/zfs/zfs-2.2.4.ebuild
new file mode 100644
index 000000000000..71e2889ab794
--- /dev/null
+++ b/sys-fs/zfs/zfs-2.2.4.ebuild
@@ -0,0 +1,308 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_OPTIONAL=1
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{10..12} )
+
+inherit autotools bash-completion-r1 dist-kernel-utils distutils-r1 flag-o-matic linux-info pam systemd udev usr-ldscript
+
+DESCRIPTION="Userland utilities for ZFS Linux kernel module"
+HOMEPAGE="https://github.com/openzfs/zfs"
+
+if [[ ${PV} == "9999" ]]; then
+ inherit git-r3
+ EGIT_REPO_URI="https://github.com/openzfs/zfs.git"
+else
+ VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/openzfs.asc
+ inherit verify-sig
+
+ MY_P="${P/_rc/-rc}"
+ SRC_URI="https://github.com/openzfs/${PN}/releases/download/${MY_P}/${MY_P}.tar.gz"
+ SRC_URI+=" verify-sig? ( https://github.com/openzfs/${PN}/releases/download/${MY_P}/${MY_P}.tar.gz.asc )"
+ S="${WORKDIR}/${MY_P}"
+
+ if [[ ${PV} != *_rc* ]]; then
+ KEYWORDS="~amd64 ~arm64 ~loong ~ppc64 ~riscv ~sparc"
+ fi
+fi
+
+LICENSE="BSD-2 CDDL MIT"
+# just libzfs soname major for now.
+# possible candidates: libuutil, libzpool, libnvpair. Those do not provide stable abi, but are considered.
+# see libsoversion_check() below as well
+SLOT="0/5"
+IUSE="custom-cflags debug dist-kernel kernel-builtin minimal nls pam python +rootfs selinux test-suite"
+
+DEPEND="
+ dev-libs/openssl:=
+ net-libs/libtirpc:=
+ sys-apps/util-linux
+ sys-libs/zlib
+ virtual/libudev:=
+ !minimal? ( ${PYTHON_DEPS} )
+ pam? ( sys-libs/pam )
+ python? (
+ $(python_gen_cond_dep 'dev-python/cffi[${PYTHON_USEDEP}]' 'python*')
+ )
+"
+
+BDEPEND="
+ app-alternatives/awk
+ virtual/pkgconfig
+ nls? ( sys-devel/gettext )
+ python? (
+ ${DISTUTILS_DEPS}
+ || (
+ dev-python/packaging[${PYTHON_USEDEP}]
+ dev-python/distlib[${PYTHON_USEDEP}]
+ )
+ )
+"
+
+if [[ ${PV} != "9999" ]] ; then
+ BDEPEND+=" verify-sig? ( sec-keys/openpgp-keys-openzfs )"
+fi
+
+# awk is used for some scripts, completions, and the Dracut module
+RDEPEND="
+ ${DEPEND}
+ !kernel-builtin? ( ~sys-fs/zfs-kmod-${PV}:= )
+ !prefix? ( virtual/udev )
+ app-alternatives/awk
+ sys-fs/udev-init-scripts
+ dist-kernel? ( virtual/dist-kernel:= )
+ rootfs? (
+ app-alternatives/cpio
+ app-misc/pax-utils
+ )
+ selinux? ( sec-policy/selinux-zfs )
+ test-suite? (
+ app-shells/ksh
+ sys-apps/kmod[tools]
+ sys-apps/util-linux
+ app-alternatives/bc
+ sys-block/parted
+ sys-fs/lsscsi
+ sys-fs/mdadm
+ sys-process/procps
+ )
+"
+
+# PDEPEND in this form is needed to trick portage suggest
+# enabling dist-kernel if only 1 package have it set, without suggesting to disable
+PDEPEND="dist-kernel? ( ~sys-fs/zfs-kmod-${PV}[dist-kernel] )"
+
+REQUIRED_USE="
+ !minimal? ( ${PYTHON_REQUIRED_USE} )
+ python? ( !minimal )
+ test-suite? ( !minimal )
+"
+
+RESTRICT="test"
+
+PATCHES=(
+ "${FILESDIR}"/2.1.5-dracut-zfs-missing.patch
+ "${FILESDIR}"/2.2.2-no-USER_NS.patch
+ "${FILESDIR}"/2.2.3-musl.patch
+)
+
+pkg_pretend() {
+ use rootfs || return 0
+
+ if has_version virtual/dist-kernel && ! use dist-kernel; then
+ ewarn "You have virtual/dist-kernel installed, but"
+ ewarn "USE=\"dist-kernel\" is not enabled for ${CATEGORY}/${PN}"
+ ewarn "It's recommended to globally enable dist-kernel USE flag"
+ ewarn "to auto-trigger initrd rebuilds with kernel updates"
+ fi
+}
+
+pkg_setup() {
+ if use kernel_linux; then
+ linux-info_pkg_setup
+
+ if ! linux_config_exists; then
+ ewarn "Cannot check the linux kernel configuration."
+ else
+ if use test-suite; then
+ if linux_chkconfig_present BLK_DEV_LOOP; then
+ eerror "The ZFS test suite requires loop device support enabled."
+ eerror "Please enable it:"
+ eerror " CONFIG_BLK_DEV_LOOP=y"
+ eerror "in /usr/src/linux/.config or"
+ eerror " Device Drivers --->"
+ eerror " Block devices --->"
+ eerror " [X] Loopback device support"
+ fi
+ fi
+ fi
+ fi
+}
+
+libsoversion_check() {
+ local bugurl libzfs_sover
+ bugurl="https://bugs.gentoo.org/enter_bug.cgi?form_name=enter_bug&product=Gentoo+Linux&component=Current+packages"
+
+ libzfs_sover="$(grep 'libzfs_la_LDFLAGS += -version-info' lib/libzfs/Makefile.am \
+ | grep -Eo '[0-9]+:[0-9]+:[0-9]+')"
+ libzfs_sover="${libzfs_sover%%:*}"
+
+ if [[ ${libzfs_sover} -ne $(ver_cut 2 ${SLOT}) ]]; then
+ echo
+ eerror "BUG BUG BUG BUG BUG BUG BUG BUG"
+ eerror "ebuild subslot does not match libzfs soversion!"
+ eerror "libzfs soversion: ${libzfs_sover}"
+ eerror "ebuild value: $(ver_cut 2 ${SLOT})"
+ eerror "This is a bug in the ebuild, please use the following URL to report it"
+ eerror "${bugurl}&short_desc=${CATEGORY}%2F${P}+update+subslot"
+ echo
+ # we want to abort for releases, but just print a warning for live ebuild
+ # to keep package installable
+ [[ ${PV} == "9999" ]] || die
+ fi
+}
+
+src_prepare() {
+ default
+ libsoversion_check
+
+ # Run unconditionally (bug #792627)
+ eautoreconf
+
+ if [[ ${PV} != "9999" ]]; then
+ # Set revision number
+ sed -i "s/\(Release:\)\(.*\)1/\1\2${PR}-gentoo/" META || die "Could not set Gentoo release"
+ fi
+
+ if use python; then
+ pushd contrib/pyzfs >/dev/null || die
+ distutils-r1_src_prepare
+ popd >/dev/null || die
+ fi
+
+ # Tries to use /etc/conf.d which we reserve for OpenRC
+ sed -i -e '/EnvironmentFile/d' etc/systemd/system/zfs*.in || die
+
+ # prevent errors showing up on zfs-mount stop, #647688
+ # openrc will unmount all filesystems anyway.
+ sed -i "/^ZFS_UNMOUNT=/ s/yes/no/" "etc/default/zfs.in" || die
+}
+
+src_configure() {
+ use custom-cflags || strip-flags
+ use minimal || python_setup
+
+ local myconf=(
+ --bindir="${EPREFIX}/bin"
+ --enable-shared
+ --enable-sysvinit
+ --localstatedir="${EPREFIX}/var"
+ --sbindir="${EPREFIX}/sbin"
+ --with-config=user
+ --with-dracutdir="${EPREFIX}/usr/lib/dracut"
+ --with-linux="${KV_DIR}"
+ --with-linux-obj="${KV_OUT_DIR}"
+ --with-udevdir="$(get_udevdir)"
+ --with-pamconfigsdir="${EPREFIX}/unwanted_files"
+ --with-pammoduledir="$(getpam_mod_dir)"
+ --with-systemdunitdir="$(systemd_get_systemunitdir)"
+ --with-systemdpresetdir="$(systemd_get_systempresetdir)"
+ --with-vendor=gentoo
+ # Building zfs-mount-generator.c on musl breaks as strndupa
+ # isn't available. But systemd doesn't support musl anyway, so
+ # just disable building it.
+ # UPDATE: it has been fixed since,
+ # https://github.com/openzfs/zfs/commit/1f19826c9ac85835cbde61a7439d9d1fefe43a4a
+ # but we still leave it as this for now.
+ $(use_enable !elibc_musl systemd)
+ $(use_enable debug)
+ $(use_enable nls)
+ $(use_enable pam)
+ $(use_enable python pyzfs)
+ --disable-static
+ $(usex minimal --without-python --with-python="${EPYTHON}")
+ )
+
+ econf "${myconf[@]}"
+}
+
+src_compile() {
+ default
+ if use python; then
+ pushd contrib/pyzfs >/dev/null || die
+ distutils-r1_src_compile
+ popd >/dev/null || die
+ fi
+}
+
+src_install() {
+ default
+
+ gen_usr_ldscript -a nvpair uutil zfsbootenv zfs zfs_core zpool
+
+ use pam && { rm -rv "${ED}/unwanted_files" || die ; }
+
+ use test-suite || { rm -r "${ED}"/usr/share/zfs/{test-runner,zfs-tests,runfiles,*sh} || die ; }
+
+ find "${ED}" -name '*.la' -delete || die
+
+ dobashcomp contrib/bash_completion.d/zfs
+ bashcomp_alias zfs zpool
+
+ # strip executable bit from conf.d file
+ fperms 0644 /etc/conf.d/zfs
+
+ if use python; then
+ pushd contrib/pyzfs >/dev/null || die
+ distutils-r1_src_install
+ popd >/dev/null || die
+ fi
+
+ # enforce best available python implementation
+ use minimal || python_fix_shebang "${ED}/bin"
+}
+
+pkg_postinst() {
+ udev_reload
+
+ # we always need userspace utils in sync with zfs-kmod
+ # so force initrd update for userspace as well, to avoid
+ # situation when zfs-kmod trigger initrd rebuild before
+ # userspace component is rebuilt
+ # KV_* variables are provided by linux-info.eclass
+ if [[ -z ${ROOT} ]] && use dist-kernel; then
+ dist-kernel_reinstall_initramfs "${KV_DIR}" "${KV_FULL}"
+ fi
+
+ if use rootfs; then
+ if ! has_version sys-kernel/genkernel && ! has_version sys-kernel/dracut; then
+ elog "Root on zfs requires an initramfs to boot"
+ elog "The following packages provide one and are tested on a regular basis:"
+ elog " sys-kernel/dracut ( preferred, module maintained by zfs developers )"
+ elog " sys-kernel/genkernel"
+ fi
+ fi
+
+ if systemd_is_booted || has_version sys-apps/systemd; then
+ einfo "Please refer to ${EROOT}/$(systemd_get_systempresetdir)/50-zfs.preset"
+ einfo "for default zfs systemd service configuration"
+ else
+ [[ -e "${EROOT}/etc/runlevels/boot/zfs-import" ]] || \
+ einfo "You should add zfs-import to the boot runlevel."
+ [[ -e "${EROOT}/etc/runlevels/boot/zfs-load-key" ]] || \
+ einfo "You should add zfs-load-key to the boot runlevel."
+ [[ -e "${EROOT}/etc/runlevels/boot/zfs-mount" ]]|| \
+ einfo "You should add zfs-mount to the boot runlevel."
+ [[ -e "${EROOT}/etc/runlevels/default/zfs-share" ]] || \
+ einfo "You should add zfs-share to the default runlevel."
+ [[ -e "${EROOT}/etc/runlevels/default/zfs-zed" ]] || \
+ einfo "You should add zfs-zed to the default runlevel."
+ fi
+}
+
+pkg_postrm() {
+ udev_reload
+}