commit: e42a6dbf18c374be525392c01cc305bcb2b1126f
Author: Marc Schiffbauer <mschiff <AT> gentoo <DOT> org>
AuthorDate: Mon Dec 15 06:56:04 2025 +0000
Commit: Marc Schiffbauer <mschiff <AT> gentoo <DOT> org>
CommitDate: Mon Dec 15 06:56:36 2025 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=e42a6dbf
sys-fs/zfs: drop 2.2.7, 2.3.2, 2.4.0_rc3
Signed-off-by: Marc Schiffbauer <mschiff <AT> gentoo.org>
sys-fs/zfs/Manifest | 6 -
sys-fs/zfs/zfs-2.2.7.ebuild | 310 ----------------------------
sys-fs/zfs/zfs-2.3.2.ebuild | 314 -----------------------------
sys-fs/zfs/zfs-2.4.0_rc3.ebuild | 437 ----------------------------------------
4 files changed, 1067 deletions(-)
diff --git a/sys-fs/zfs/Manifest b/sys-fs/zfs/Manifest
index 581f2ed5b021..0ef5f491f31c 100644
--- a/sys-fs/zfs/Manifest
+++ b/sys-fs/zfs/Manifest
@@ -1,21 +1,15 @@
DIST zfs-2.1.16.tar.gz 35187215 BLAKE2B
8bb90903f3747589fff94a810584de54d7f598b0aa9d0b364cc679779d401a9a76f6914cbfbdd007e2066f02230ed4cac4f3735830ea70eb3bcc449af8229c5d
SHA512
68e62015e44eeb997166418bf769afa3e96c037a9282dcfd08a8f01d935fa48076483158f628d70b0aed258427510996d4c4ee7d2644ff561163c76f776635d2
DIST zfs-2.1.16.tar.gz.asc 836 BLAKE2B
b46614399ca63d9c88216c55bb2177cc0c28f4da2cb6be3ee361efca994309abff46fdf6ad6b0bad448c44e9e84ee40e2183d1b482e04844317f14744bab5c1f
SHA512
d2d94a4e3ffe182e86fa3319cb9661688125f378ffa1e5768ee89033f796a1f52f877c382588fb1f434686e30bc4e65e3f08ceac0dd3dd7f8f751ba6182c3317
-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.2.8.tar.gz 33852494 BLAKE2B
9e338544488d00a57594d638138896635ea62b80341ad9289b9faad7b899012206fef22e5742e1f5681c58d61d264127ed1e2dfe5aa9b2e9aac2243421c60b11
SHA512
95c203a97032b8ae46cc84e0e6fd68d61e42fb6c6fde7102b04ac85291579c18b1d52b3e93e345a3bc5491bef8bf07b8e7edcbf69cb6222c5d8454a3c83adb11
DIST zfs-2.2.8.tar.gz.asc 224 BLAKE2B
c3a06953c22d1b485fbd030c93ad0e744c50a91e51bbed5bef56090a1da57b02ec580499a419201f365c99ade53af5d6f545876e6d0da25ee7870fc86786288b
SHA512
fcd6fe2412b5a2e83ad2609d56993ed4ad61e10c4f77f1e94a66403adf66ac90604fb567e7cde6420fe0b6a604abfd817a63e744f7c4fe8452b862c1d8cc4df3
DIST zfs-2.2.9.tar.gz 33864041 BLAKE2B
abafd4da0c98cf93a2648150c859ffc6847aa2f5bfa59f3b6cc1619a2313a1600923c7a07c9e647c6c0f40eda21fb0985de81a436c44513a5bd99984a18329a5
SHA512
bed0f7794ff7898557a4854d8634a96f9be5368b0264558d980e70664fe1f02a35b05a96b5e92acd40e2b741373ca4a312e31ad4f69c4d639c817cce3988f382
DIST zfs-2.2.9.tar.gz.asc 858 BLAKE2B
caf76646bb3cba75b65b9b93b63f698d172806d60480785938ca3112a67d3e6d9a9b123217df4c92ad682b695292d9e674c4cba819b94276d154aba11e8dcc7d
SHA512
ff3a1789154382b06e778b1847519188d520d5037f8c78089309c1d532e8496f682ead1648991bb9eb58dbdedd0007fa7d3157a8887a525470c9220bab3eb4e2
-DIST zfs-2.3.2.tar.gz 34344259 BLAKE2B
8a89c62cbbeaf410db4011821cdd9959abef1782be7427b81ac47565407384fa3a381bef041dae73e97c2b2cefca62933180851901b3b1b86974ed33ad178a61
SHA512
94311f2eca1488be83aa0cb802b4a4541bbbd061a3e8e5cbda62cabbb0c8f9a705372ad192cb77703b3d7642c43be7f604f3c363b243cf03a6aceae2d7e5db81
-DIST zfs-2.3.2.tar.gz.asc 836 BLAKE2B
e9f7f6e5966f395f3cf48cbb63c76872edf50970f053aaaf0f254035e9aa7728be036a5a4dc24cff32d37cdb61ffa4bc1af7e03c8bc1ac9abc9abcfea7f98b95
SHA512
50f1ce4d07febd08a5098bb42516d52ff3227b2b36463a07eca558bfc630628244cd910ea385aa44fb126cd0542d9048a501af8b391a56cafd7307b9db3083c4
DIST zfs-2.3.3.tar.gz 34360540 BLAKE2B
4861ddfc91b941448d13d43bb2a023273917064b29880f87d91dbe6424b3f1fc7b0409e13a514d5b3f18f70a383c5d1c462ec5d7b8a7c82b2b076ecd363cecdd
SHA512
0a18615da052989c19e889758972f14173e790710a2615fc186212d02f9909f0bf62debc19d85ff5c58411d8ef82aa85aff20804c3fbe2446913cd293a18b80d
DIST zfs-2.3.3.tar.gz.asc 224 BLAKE2B
79cad3883b2ac9dd13b4898f48ef2b637a580e18c65d6f83b834489a35cb31da5ed58cc24afabf3331904e8df54a7f7a825826570470f312ff2370c7fc8f95fc
SHA512
07aab3d14ba3f06df2992f08cc68bed3dbf57d59cb151e0a769eeea3dc74c82084be0242b80f5075b59bb036d9277dfd726361422b35e3ed01877317634911b7
DIST zfs-2.3.4.tar.gz 34386899 BLAKE2B
e7619445a9138475e51e1578cb4e85032570830faba5aab44013a652596a07e49cf602acfe7fd0e5411199d11614d4686cc3f14fddf3062695ce3da922075efd
SHA512
56b90960de6aa94b76f8efc3c84993454a8d544bd47e1270e02caa8d96569e866102e17ef1f16056722bf5f6624fad0bbe7f9ef0e94bc0c3fc16e61b681db815
DIST zfs-2.3.4.tar.gz.asc 858 BLAKE2B
2537afa40b48c07b8ad61a4f6973e40a78b5863afbb6b75674fb7a5950ba2dda22dfa93a180190332d234b0b2e2ce14ed61cb34bc0f56e609dad3cdb805ab5c2
SHA512
cc50fb915d4e8a7eb894bdf919940a8c68828e48a5e1f2a08b08a5e75c0eb8a9cd4feaa84742b65d6b2d85ee839ac2b7d565ed7958006ff079d751145463243b
DIST zfs-2.3.5.tar.gz 34379136 BLAKE2B
4ae090c76e13f2d3d76e481b9950db1319534e47b357e4818bfc4db84cc0a5089de1e46319a36f02010ac27e3ab5cf74a56979b94864d38dcc41c86721841e54
SHA512
72d62e28dc868aba720755685d5e8020d3165d04d0ae55f33e97ed6c503637c476563d23ea6e991784ab1c2e6886d785e2f15f5a71d4d3f69700bbb26eda3dad
DIST zfs-2.3.5.tar.gz.asc 858 BLAKE2B
96edcd3eb5b1a9d33ed50b2526d6a69b5e3dd4d1450205ed7342352aa3ac7014fc813b703ae97a29380da16f452c5491ddf68c05621479b7559f8907cc3b90de
SHA512
fc69ab416499ef03cc3721c9f0017e792fc857d045e7f5902a5bf41eb31bbe192e850c1d01482401f06a53926649a1798fc2f7f6fc058fe8c6727b8630c56cdd
-DIST zfs-2.4.0-rc3.tar.gz 34322200 BLAKE2B
f96baf36010422d75da0563363715cbebf21cc80cbd27681051fb8d38959bf176a52f36eb3d04c84613fa95b567011b3ae2e0f601dcdaee8536c63821fef0817
SHA512
7c82dba4e8318dfc62fe22d74ad46c96ce36fe217f5f94c7112450260d203826f0e282e03b316ae082bddf1e99f0c5ec815d624f774c4e8e77dd2464831994ca
-DIST zfs-2.4.0-rc3.tar.gz.asc 858 BLAKE2B
dde4cbec02020e59674bc0aed7da8a504a404f96b316f2c8d05b6d5659cdeed1ac08ba74477011f05c88ef307638c47422911bb53b73be4009552a5355e7a906
SHA512
4b0c095938462f3d0532aa413bd93ea75a2591052b244ac473ed86b8e46664bd83ddec69a4a7e6d62b625a565c558c4122fe0923e7cc6e1994b2f7fa8cb00caa
DIST zfs-2.4.0-rc4.tar.gz 34324435 BLAKE2B
83ce226f1ce5811ba8f2a3f022470d5d2f38c0a71eaf41a791de131593e048e314daa90dd7c6b61f3f2fce5b11bfd2ed935a371f6065f34666fb9de2b5fc7918
SHA512
cf2a32404bfcacc1e9ad9edb29f155e0f8a09195a365cdf1dfd93090262a7eddf60543cbebb82b6c5ae49cc50a32f44ae848e3924e08c8d894242bfcef3cc436
DIST zfs-2.4.0-rc4.tar.gz.asc 858 BLAKE2B
eac23c8715662b8aedbe2187a2385ff25fb0039b3b3fe8dd182df67f22abfcb71c387363bfe6430790e5e53fd91f4dd145d34aa35547098b6bf679bd71ab268c
SHA512
aaaf0db96020db1096c982fc0fedc674f05a2e007566c95093f346426ed34d66a790114dd8ab3c7838fd631bd4c7707a52d79f67ee5f7e30a4027bc7cd4420d8
DIST zfs-2.4.0-rc5.tar.gz 34325997 BLAKE2B
b0e13dabb4cea6a6a1beef3de3ed3fe35c487677013035c54452ed950bdd94cfce588a7ce6b23431233f2ee293b3797c90f5a4523631499fe56cd01914735cc3
SHA512
ad59f9f226b9e8210abbb40ef3d4e9c2fa513b2f28efd8e1d470d255ae8e4d25d76f1d7141e3fe96173827237f061dba1cc724e9ef7fec14773cb0a37811207b
diff --git a/sys-fs/zfs/zfs-2.2.7.ebuild b/sys-fs/zfs/zfs-2.2.7.ebuild
deleted file mode 100644
index a6ef0211073e..000000000000
--- a/sys-fs/zfs/zfs-2.2.7.ebuild
+++ /dev/null
@@ -1,310 +0,0 @@
-# Copyright 1999-2025 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 unwind"
-
-DEPEND="
- dev-libs/openssl:=
- net-libs/libtirpc:=
- sys-apps/util-linux
- virtual/zlib:=
- virtual/libudev:=
- !minimal? ( ${PYTHON_DEPS} )
- pam? ( sys-libs/pam )
- python? (
- $(python_gen_cond_dep 'dev-python/cffi[${PYTHON_USEDEP}]'
'python*')
- )
- unwind? ( sys-libs/libunwind:= )
-"
-
-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)
- $(use_with unwind libunwind)
- --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
-}
diff --git a/sys-fs/zfs/zfs-2.3.2.ebuild b/sys-fs/zfs/zfs-2.3.2.ebuild
deleted file mode 100644
index bf7005435804..000000000000
--- a/sys-fs/zfs/zfs-2.3.2.ebuild
+++ /dev/null
@@ -1,314 +0,0 @@
-# Copyright 1999-2025 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-# Maintainers should consider lurking in the ZFS IRC channels (there's several)
-# and regularly checking ZFS GitHub issues and PRs. Look out for the 'zfs-*'
-# stable backport PRs when they're opened and subscribe to them for any
important
-# cherry-picks that may be needed in advance.
-
-DISTUTILS_OPTIONAL=1
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..13} )
-
-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/6"
-IUSE="custom-cflags debug dist-kernel kernel-builtin minimal nls pam python
+rootfs selinux test-suite unwind"
-
-DEPEND="
- dev-libs/openssl:=
- net-libs/libtirpc:=
- sys-apps/util-linux
- virtual/zlib:=
- virtual/libudev:=
- !minimal? ( ${PYTHON_DEPS} )
- pam? ( sys-libs/pam )
- python? (
- $(python_gen_cond_dep 'dev-python/cffi[${PYTHON_USEDEP}]'
'python*')
- )
- unwind? ( sys-libs/libunwind:= )
-"
-
-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.3.2-musl_S_IFMT.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)
- $(use_with unwind libunwind)
- --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
$(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
-}
diff --git a/sys-fs/zfs/zfs-2.4.0_rc3.ebuild b/sys-fs/zfs/zfs-2.4.0_rc3.ebuild
deleted file mode 100644
index ea1815bb06e8..000000000000
--- a/sys-fs/zfs/zfs-2.4.0_rc3.ebuild
+++ /dev/null
@@ -1,437 +0,0 @@
-# Copyright 1999-2025 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-# Maintainers should consider lurking in the ZFS IRC channels (there's several)
-# and regularly checking ZFS GitHub issues and PRs. Look out for the 'zfs-*'
-# stable backport PRs when they're opened and subscribe to them for any
important
-# cherry-picks that may be needed in advance.
-
-DISTUTILS_OPTIONAL=1
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{11..14} )
-
-MODULES_INITRAMFS_IUSE=+initramfs
-MODULES_OPTIONAL_IUSE=+modules
-
-inherit autotools bash-completion-r1 distutils-r1 flag-o-matic linux-info
-inherit linux-mod-r1 multiprocessing pam systemd udev usr-ldscript
-
-DESCRIPTION="Linux kernel module and userland utilities for ZFS"
-HOMEPAGE="https://github.com/openzfs/zfs"
-
-MODULES_KERNEL_MAX=6.17
-MODULES_KERNEL_MIN=4.18
-
-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}"
-
- 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="BSD-2 CDDL MIT modules? ( debug? ( GPL-2+ ) )"
-# 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/6"
-IUSE="custom-cflags debug dist-kernel minimal nls pam python +rootfs selinux
test-suite unwind"
-
-DEPEND="
- dev-libs/openssl:=
- net-libs/libtirpc:=
- sys-apps/util-linux
- virtual/zlib:=
- virtual/libudev:=
- !minimal? ( ${PYTHON_DEPS} )
- pam? ( sys-libs/pam )
- python? (
- $(python_gen_cond_dep 'dev-python/cffi[${PYTHON_USEDEP}]'
'python*')
- )
- unwind? ( sys-libs/libunwind:= )
-"
-
-BDEPEND="
- app-alternatives/awk
- virtual/pkgconfig
- modules? ( dev-lang/perl )
- 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 )"
-
- IUSE+=" +dist-kernel-cap"
- RDEPEND="
- dist-kernel-cap? ( dist-kernel? (
- <virtual/dist-kernel-${ZFS_KERNEL_DEP}
- ) )
- "
-fi
-
-# awk is used for some scripts, completions, and the Dracut module
-RDEPEND="
- ${DEPEND}
- !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
- )
- !<sys-fs/zfs-kmod-2.4.0_rc2-r1
-"
-
-REQUIRED_USE="
- !minimal? ( ${PYTHON_REQUIRED_USE} )
- python? ( !minimal )
- test-suite? ( !minimal )
-"
-
-RESTRICT="test"
-
-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() {
- if use kernel_linux; then
- if use modules; then
- 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
- else
- linux-info_pkg_setup
- fi
-
- 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"
- --sbindir="${EPREFIX}/sbin"
- --enable-shared
- --enable-sysvinit
- --localstatedir="${EPREFIX}/var"
- --sbindir="${EPREFIX}/sbin"
- --with-config="$(usex modules all 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)
- $(use_with unwind libunwind)
- --disable-static
- $(usex minimal --without-python --with-python="${EPYTHON}")
-
- # See gentoo.patch
- GENTOO_MAKEARGS_EVAL="${MODULES_MAKEARGS[*]@Q}"
- TEST_JOBS="$(makeopts_jobs)"
- )
-
- econf "${myconf[@]}"
-}
-
-src_compile() {
- if use modules; then
- emake "${MODULES_MAKEARGS[@]}"
- else
- default
- fi
-
- if use python; then
- pushd contrib/pyzfs >/dev/null || die
- distutils-r1_src_compile
- popd >/dev/null || die
- fi
-}
-
-src_install() {
- DOCS=( AUTHORS COPYRIGHT META README.md )
-
- if use modules; then
- emake "${MODULES_MAKEARGS[@]}" DESTDIR="${ED}" install
- modules_post_process
- einstalldocs
- else
- default
- fi
- # distutils-r1_src_install tries to run einstalldocs as well
- # bug #965156
- unset DOCS
-
- 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"
-}
-
-_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() {
- udev_reload
-
- if use modules; then
- # 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
- 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
$(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
-}