summaryrefslogtreecommitdiff
path: root/sys-fs/zfs
diff options
context:
space:
mode:
authorV3n3RiX <venerix@koprulu.sector>2023-01-27 20:49:18 +0000
committerV3n3RiX <venerix@koprulu.sector>2023-01-27 20:49:18 +0000
commitc5ee568457ac776b65b71fa444e0dd47535bc44a (patch)
tree1aa40f593e598d7c8352c1d99a30ff9315e690af /sys-fs/zfs
parent8eccda982236f2cfe9188bdcaffd9168134f39a9 (diff)
gentoo auto-resync : 27:01:2023 - 20:49:18
Diffstat (limited to 'sys-fs/zfs')
-rw-r--r--sys-fs/zfs/Manifest10
-rw-r--r--sys-fs/zfs/zfs-2.1.6.ebuild331
-rw-r--r--sys-fs/zfs/zfs-2.1.7.ebuild331
-rw-r--r--sys-fs/zfs/zfs-2.1.9.ebuild (renamed from sys-fs/zfs/zfs-2.1.8.ebuild)0
4 files changed, 3 insertions, 669 deletions
diff --git a/sys-fs/zfs/Manifest b/sys-fs/zfs/Manifest
index 21d8e485cef2..c0d6351dd9bd 100644
--- a/sys-fs/zfs/Manifest
+++ b/sys-fs/zfs/Manifest
@@ -5,15 +5,11 @@ AUX 2.1.6-fgrep.patch 2183 BLAKE2B b8c9b58cc6d94e9ddeacbe3c5eca9d040f1c6fba84b81
AUX 2.1.7-dracut-include-systemd-overrides.patch 1749 BLAKE2B e88570b8f29d882f43a114837f94572a91fc317008ebb02f9d5df9e5a8ba21b5b18a2f48099e7bb1e42c40a9b25af991070b77c11a07d0c194e31dcdf003e9c4 SHA512 0df9068d59cddfa5c7dafb2fcb0f25c700ef48a4e461c07ed6edca57c5d26443d3904bb61131a7b731fd88f2d85eb091c9397daf3198addcc16e478acf4f85dc
AUX 2.1.7-ppc64-ieee128-compat.patch 6889 BLAKE2B 9214915ed5b1d149927d46f749903fbb9b4d243d993041b8c6db039dcb7a3968a315f211e010ef9373b721336d45daef264d951e7ea1e0aed01818ebccae9d02 SHA512 4e3edbe396d0c1fdb7b286417b2bf7fe114b392e09158b3f5d3e3d1c4844bf0d59263309883363175dacd63194fd0d6a120ace35c83989d0546dae825bbb91bd
AUX 2.1.7-systemd-zed-restart-always.patch 919 BLAKE2B db72605abfeac766c297fdb617b4dc5e89de949770d407cd206da8e46b6abab6c64b35967bc94c5b35df819dbace12b5e425cb38fc93b4daddef32fceec395b3 SHA512 9070ee16494362e3b7aa8dfe5b47661efbb5cf65ea32e625bd3a7aa5cc0634fb3751e2e9859b7380e0975bbde3294fb2b718444f60309f7cb8c10afabcce3483
-DIST zfs-2.1.6.tar.gz 34951282 BLAKE2B 615fe7a2128af77c6c855ea52b6503a78f0c992ea845b02875ac19aa9dd155c5d4110b668da91c463f96a54767ab92e67e5303572337352484c055c0a0ff9e46 SHA512 75639e4cecb281fe73a6e6bd116693f6609ace9b358385450297d175087b10938c2f489a08c657cf0a64250a8db995cbd19abc808a8523cb4c5344b3f76668d6
-DIST zfs-2.1.6.tar.gz.asc 836 BLAKE2B d85a79f8824a92c4d0a9682646f79c14871ebe27764289dc87cd9b0a773b7295538780401e70c492a9e4e7097ff2b3e459f7e0a7fdce2e2a59d3f467c41d88b3 SHA512 a83fcc00a8b35f1a1f9b94097d453019333a5351a3d78656dbd9ef732655ee817ccc88068c5ba11b5ff4a285e02250aee4169cc1450025edf547a2329fca7e15
DIST zfs-2.1.7.tar.gz 35092436 BLAKE2B 9c85c3eb72f3bb39bc4fd44aaa80338ca197a4e8183436fee73cd56705abfdaecfaf1b6fbe8dd508ccce707c8259c7ab6e1733b60b17757f0a7ff92d4e52bbad SHA512 6a31eb8fbee90ad1abcfedb9000991761aff7591b11362eb5ec6e0bb4b785a7004a251439409d7bd3f51fc995c859614da6313655337952f70bae07ac8ee0140
DIST zfs-2.1.7.tar.gz.asc 836 BLAKE2B 648fb818860a1cecc2ec42f23102e0466c038bfe48f5feca1ab58afb9cb439a0fe51cb89941f63a05c14d3b6f95c64dd3910c9a06b9cac14c467b963c65c2948 SHA512 4d4fef707bdfc37a82eb79aa0a21c71e30779bcf2ac54fe2df45a03e3302e2a45cb9f4e4ff0122b892b1e608a9f09e86d1334e0c7d9bf681780505f6e1439f9f
-DIST zfs-2.1.8.tar.gz 35109766 BLAKE2B e725a43e5a62998209d638adcec061858f0caf05abd30bcfbaf8c6f6b9f47209808d9fcd726a830ea800793cd719c4471a498a10dab66119c4d24dbf09b1c481 SHA512 9c6c2c30f55b089ce29f8895ccc9032615ab25e47291b2d3384bcbb3d1fdb2e7a6fb67725a6fae04b6e28bfdc6dc97fae3b9b3ed8f802e75866c83eabf79c296
-DIST zfs-2.1.8.tar.gz.asc 836 BLAKE2B 833457dee5948b255312c30da090c77cf8ec1d82b7498a8e85ccd8e4be12f948e9f00e742e76fc1392550756dd1d9c3b610fa29d25a61c41afe32b1c1a728602 SHA512 91f964e33772e77d1c4501e0ad526f2ff5cb45fb571bb25218f3f45f4662d544a92146633ef570d067bb7e6e7f36bd00da878b373143cae41611cae6f6c644cb
-EBUILD zfs-2.1.6.ebuild 9268 BLAKE2B e32da9bd3b1133f1389068d4f6871f6952e6aafcc4c4ed5d5227c8ad23b53f0b229c6ba24d56c4d098a9fea1bc949c1a452d3dad32944a0354f7b920c7266c58 SHA512 ae03bb7b9f5aa50164042a59b188cf57516e4c360ca63d3ef6309190e5f4d4a43458aadae204956d4ff5446b7cda2afe32f0fe9128df3568ca8540b7d3ac067b
+DIST zfs-2.1.9.tar.gz 35106538 BLAKE2B d7553cc162687531b254089e29e2e15e2eb6b362cecd8e70c24bbb5dbffbde82036ad2d416f4caeceaa324bee8a2e59d9e3cd8a3bf55a2e3c0718c7af9562812 SHA512 a3c410abe911be7d3d66af8ad7023a810eb4ae3284001e544c3a34275eb17a4916a7c094936a2628a590007c007eea84673efa9f3201fd9f24c499fd5ed3ed75
+DIST zfs-2.1.9.tar.gz.asc 836 BLAKE2B 1e76525eab338398dd6ff7539ea4e7d18847d0f40e9093d813ec93fce5fa4c16e09f91c0805ba01a29190f673d131f85442c13035166d6f2d007a7e42dc15486 SHA512 35e1213fcac0458e1243355beba021dfefef455df2b341fbc4b10047f9ed4747df84e319d10ffe4bbcd572fbf014019e0dec200eb4e7d3c116fb805369182cb0
EBUILD zfs-2.1.7-r1.ebuild 9496 BLAKE2B d5336d09ddd165f7306def6fdbfd97cc172a069ef185a3e30ea75421e4e138f96276fa2df4e185568e89dc49c36e64a258fa5b979a6433afbcd41ea7b207c8fa SHA512 a29d0796e982735483d579b174205e6af58a5d3ab098d1855b502bf66f96f12435d303ec2900ecc34cfc0e6f18e7261fcb76ad59660095544d905dda19801d91
-EBUILD zfs-2.1.7.ebuild 9271 BLAKE2B e5dea51fca1f188d8956e6ae2c22bba6227824c0ec4b2209464956e4660ddae19834f7e1d3e8146400ab0ad59c8e991fe325cb50608b0f88f5e62664a1fb3366 SHA512 fb8e91986ab1453cbe140cc0829f610a707fa3442d218111bb5a5c430711a85c76f00ea05db7504e752d45620ac9feef3a07bdb478d7194174531a2387becedd
-EBUILD zfs-2.1.8.ebuild 9181 BLAKE2B f3c26de54d36bb5db43a6adac34e65e704526ceed852a1a0ed2c1dad5f9115c152042a46849e198c9374b5b94d855a8c8fe1f9c2082aad000f69266e4dbf9e83 SHA512 3f9d5352f238790b6960d3bc57e958192c8acfa96f30060335d8823f3e5742fb09ca2e3864c456d6e9429e78d5c7c70d668d2866daa63041403cfd02e4d064e6
+EBUILD zfs-2.1.9.ebuild 9181 BLAKE2B f3c26de54d36bb5db43a6adac34e65e704526ceed852a1a0ed2c1dad5f9115c152042a46849e198c9374b5b94d855a8c8fe1f9c2082aad000f69266e4dbf9e83 SHA512 3f9d5352f238790b6960d3bc57e958192c8acfa96f30060335d8823f3e5742fb09ca2e3864c456d6e9429e78d5c7c70d668d2866daa63041403cfd02e4d064e6
EBUILD zfs-9999.ebuild 8930 BLAKE2B 04df68346f10729128e3dc6ce957e04035c0f1068c69e878502b56e9c58906d4209e91d221fbd8ac044814f8638257e80859b38ca8878c11a0fc486cf5590ac9 SHA512 7b9adb3c513f102dd918b3f827fbebc06dd402668eee844f34b304124144096f8b08518ec99c8883cb0e80a4cafd799dd915d08f4fdf7e99f5457eedb88e36ce
MISC metadata.xml 2205 BLAKE2B 82e20a6f5906b8cbbc6eb6e9520cf4e4213ce9cba2b056df5d5db0d4deaa4a20822a88e26286446d105326a8f61c807047a0e1e64494faac48d8ed5708807c02 SHA512 222981f945e98ddef646c593cbc8889f3526af4901c28ab5775ba760ca7d3aff3129b2699e8b7337b59fd33cbba388915cb5b2dc09674432c606f41ff27dbd9b
diff --git a/sys-fs/zfs/zfs-2.1.6.ebuild b/sys-fs/zfs/zfs-2.1.6.ebuild
deleted file mode 100644
index f69c9f7cf4d2..000000000000
--- a/sys-fs/zfs/zfs-2.1.6.ebuild
+++ /dev/null
@@ -1,331 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-DISTUTILS_OPTIONAL=1
-PYTHON_COMPAT=( python3_{9..10} )
-
-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 linux-mod
- EGIT_REPO_URI="https://github.com/openzfs/zfs.git"
-else
- VERIFY_SIG_OPENPGP_KEY_PATH=${BROOT}/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}/${P%_rc?}"
-
- if [[ ${PV} != *_rc* ]]; then
- KEYWORDS="amd64 arm64 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="
- net-libs/libtirpc:=
- sys-apps/util-linux
- sys-libs/zlib
- virtual/libudev:=
- dev-libs/openssl:0=
- !minimal? ( ${PYTHON_DEPS} )
- pam? ( sys-libs/pam )
- python? (
- virtual/python-cffi[${PYTHON_USEDEP}]
- )
-"
-
-BDEPEND="app-alternatives/awk
- virtual/pkgconfig
- nls? ( sys-devel/gettext )
- python? (
- dev-python/setuptools[${PYTHON_USEDEP}]
- || (
- 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 )
- sys-fs/udev-init-scripts
- app-alternatives/awk
- dist-kernel? ( virtual/dist-kernel:= )
- rootfs? (
- app-arch/cpio
- app-misc/pax-utils
- )
- selinux? ( sec-policy/selinux-zfs )
- test-suite? (
- app-shells/ksh
- sys-apps/kmod[tools]
- sys-apps/util-linux
- sys-devel/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=(
- # bug #854333
- "${FILESDIR}"/2.1.5-r2-dracut-non-root.patch
-
- "${FILESDIR}"/2.1.5-dracut-zfs-missing.patch
-
- # bug #857228
- "${FILESDIR}"/2.1.5-dracut-mount.patch
-
- "${FILESDIR}"/2.1.6-fgrep.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_unpack() {
- if use verify-sig ; then
- # Needed for downloaded patch (which is unsigned, which is fine)
- verify-sig_verify_detached "${DISTDIR}"/${MY_P}.tar.gz{,.asc}
- fi
-
- default
-}
-
-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
-
- # 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
-
- # All the same issue:
- # Segfaults w/ GCC 12 and 'zfs send'
- # bug #856373
- # https://github.com/openzfs/zfs/issues/13620
- # https://github.com/openzfs/zfs/issues/13605
- append-flags -fno-tree-vectorize
-
- 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.
- $(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 ! use kernel-builtin && [[ ${PV} == "9999" ]]; then
- einfo "Adding ${P} to the module database to ensure that the"
- einfo "kernel modules and userland utilities stay in sync."
- update_moduledb
- 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
-
- if ! use kernel-builtin && [[ ${PV} == "9999" ]]; then
- remove_moduledb
- fi
-}
diff --git a/sys-fs/zfs/zfs-2.1.7.ebuild b/sys-fs/zfs/zfs-2.1.7.ebuild
deleted file mode 100644
index 3e50fa177b50..000000000000
--- a/sys-fs/zfs/zfs-2.1.7.ebuild
+++ /dev/null
@@ -1,331 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_OPTIONAL=1
-PYTHON_COMPAT=( python3_{9..10} )
-
-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 linux-mod
- EGIT_REPO_URI="https://github.com/openzfs/zfs.git"
-else
- VERIFY_SIG_OPENPGP_KEY_PATH=${BROOT}/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}/${P%_rc?}"
-
- if [[ ${PV} != *_rc* ]]; then
- KEYWORDS="~amd64 ~arm64 ~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="
- net-libs/libtirpc:=
- sys-apps/util-linux
- sys-libs/zlib
- virtual/libudev:=
- dev-libs/openssl:0=
- !minimal? ( ${PYTHON_DEPS} )
- pam? ( sys-libs/pam )
- python? (
- virtual/python-cffi[${PYTHON_USEDEP}]
- )
-"
-
-BDEPEND="app-alternatives/awk
- virtual/pkgconfig
- nls? ( sys-devel/gettext )
- python? (
- dev-python/setuptools[${PYTHON_USEDEP}]
- || (
- 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 )
- sys-fs/udev-init-scripts
- app-alternatives/awk
- dist-kernel? ( virtual/dist-kernel:= )
- rootfs? (
- app-arch/cpio
- app-misc/pax-utils
- )
- selinux? ( sec-policy/selinux-zfs )
- test-suite? (
- app-shells/ksh
- sys-apps/kmod[tools]
- sys-apps/util-linux
- sys-devel/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=(
- # bug #854333
- "${FILESDIR}"/2.1.5-r2-dracut-non-root.patch
-
- "${FILESDIR}"/2.1.5-dracut-zfs-missing.patch
-
- # bug #857228
- "${FILESDIR}"/2.1.5-dracut-mount.patch
-
- "${FILESDIR}"/2.1.6-fgrep.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_unpack() {
- if use verify-sig ; then
- # Needed for downloaded patch (which is unsigned, which is fine)
- verify-sig_verify_detached "${DISTDIR}"/${MY_P}.tar.gz{,.asc}
- fi
-
- default
-}
-
-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
-
- # 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
-
- # All the same issue:
- # Segfaults w/ GCC 12 and 'zfs send'
- # bug #856373
- # https://github.com/openzfs/zfs/issues/13620
- # https://github.com/openzfs/zfs/issues/13605
- append-flags -fno-tree-vectorize
-
- 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.
- $(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 ! use kernel-builtin && [[ ${PV} == "9999" ]]; then
- einfo "Adding ${P} to the module database to ensure that the"
- einfo "kernel modules and userland utilities stay in sync."
- update_moduledb
- 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
-
- if ! use kernel-builtin && [[ ${PV} == "9999" ]]; then
- remove_moduledb
- fi
-}
diff --git a/sys-fs/zfs/zfs-2.1.8.ebuild b/sys-fs/zfs/zfs-2.1.9.ebuild
index ff0672a41f5b..ff0672a41f5b 100644
--- a/sys-fs/zfs/zfs-2.1.8.ebuild
+++ b/sys-fs/zfs/zfs-2.1.9.ebuild