summaryrefslogtreecommitdiff
path: root/sys-fs/zfs
diff options
context:
space:
mode:
Diffstat (limited to 'sys-fs/zfs')
-rw-r--r--sys-fs/zfs/Manifest8
-rw-r--r--sys-fs/zfs/files/2.1.5-build-issues.patch74
-rw-r--r--sys-fs/zfs/files/2.1.5-dracut-zfs-bootfs-snapshot-fixes.patch78
-rw-r--r--sys-fs/zfs/zfs-2.1.5-r1.ebuild310
-rw-r--r--sys-fs/zfs/zfs-2.1.5-r3.ebuild319
-rw-r--r--sys-fs/zfs/zfs-2.1.5-r4.ebuild321
-rw-r--r--sys-fs/zfs/zfs-2.1.5-r6.ebuild (renamed from sys-fs/zfs/zfs-2.1.5-r5.ebuild)4
-rw-r--r--sys-fs/zfs/zfs-2.1.5.ebuild303
8 files changed, 84 insertions, 1333 deletions
diff --git a/sys-fs/zfs/Manifest b/sys-fs/zfs/Manifest
index 264916df0244..ba022c879531 100644
--- a/sys-fs/zfs/Manifest
+++ b/sys-fs/zfs/Manifest
@@ -1,9 +1,9 @@
AUX 2.0.7-scrub-timers.patch 3128 BLAKE2B f7f55905df7e804bef3818c4b5ce9c34595bcfd77c8d0fa3fb94156d878e077f878a3acd76cc92a57a056d9e8643c9d769cce0b1f067ab228f75d3242178b588 SHA512 a2a649e5b59af8dc26312cf8adf5716671da9e897788af3b6598eec653a5cd73ef25f703ac1b549c9927036738c016acc629c9bfc6dca0335b1d1327f85c6af4
AUX 2.1.2-musl-tests.patch 1923 BLAKE2B 0029cba42b7914166cec894e30730f205f2c1508dd7f0c46b2567c365b5c6daa1d65cfc9ede9180f4831c924760b6a9a9ac81972e991c439148ad21bfcb3dfda SHA512 be96efa5b0b407388fe4f0066c5516a1b882bb158376d072373d6c73f2dc1414a61eda925fa12a0708d15e5c791c590f4b83809262d21e2160a0d931e608ab80
AUX 2.1.2-openrc-vendor.patch 1469 BLAKE2B d8c20bbeee95db8eb4c26e6d5b1798e89c3b152c03ddc852dea6810fb170f70e77a200bdbda00953a792d05467f268260ccfcc1d1b20576bfb21c65fde6e93df SHA512 ae5709acef0531146f7ac020fd4038dc76f99dd43c8322b3934522c2e74f90d60106c30de679cb9aaaa3f6ece00ed93e490c0787e573fc0871c30d73842ea04e
-AUX 2.1.5-build-issues.patch 2262 BLAKE2B 6d7540c2b8f97ba1a4e84109cda702cb6dd78b89979e757ffe7b7ce6ed98792daae0b56696dfbf264c772d2a90836a9ad5786ca81c13737cb2a5f6a6eb50e7dc SHA512 1b1e8e29db530c16385e8461a0f068cf2cbcd08f347d516ffecf26c3c995e20f454b8a77a380bce5b789ab6d5fd83a77c45d4f356532a6144cdf230cc38c9672
AUX 2.1.5-dracut-mount.patch 1093 BLAKE2B b22c3195332a6be3656282a16a5a10622effe64b5b4d852285a9d1fb4d59be852421b401c5ff9753a3a9febf6066c7120851199d04e837193a9f794b2304722f SHA512 e482880bc714c60da8758140c4560592de6eabd5a010febccc8bb8f81388ed009d944149c7b463006c67116d240c67d69d58fcaaa6b2f1984cbc64230f7de33d
AUX 2.1.5-dracut-non-root.patch 1418 BLAKE2B ed5e530c05b586ae73bacf274448574b72bd48aa395ad03c6ce943979ab880cae221feaaa975329979124a21a2159fc60d92dbced0bcadc678a600dc84a6461b SHA512 ce5834d12ba746e0063df3f23f17b5e7a15e5b84d840fa870a9bd02ae8fdef2a9e2d18dbbac4a3de299d2bddf379ae062338c7fb5acaa2101e55bfcbfa2dc261
+AUX 2.1.5-dracut-zfs-bootfs-snapshot-fixes.patch 4362 BLAKE2B 678b99fee828753318dbf59ac478b0c1d71843c040d56d598027578403f69935d271c3dc78ce82540acffee7bd282a055622440ef40410af08f07630b899ef50 SHA512 4a3e4942ac64dea6fe6bd37da9683880ff4cc7b69d797976669dfe7fe48e0603264b033f8ee83ed794a249b127d407b3320bb7249c903016769be6441f10110b
AUX 2.1.5-dracut-zfs-missing.patch 309 BLAKE2B e66e700757aa6498b71d714c13e29e671455c77b1b319c7e951b10edc7179f37149b093c5b24fa17b487b9025112bcf31dffb441bbdde7943d90d16443140384 SHA512 0de374270a4814a937e5d97ec4261c5f77ef44fb8f3afc74c4b802d140e4595362b288ff91b8a5c4e9754871969d1f6af05eafa9c91e38c8b913c26ba78b1676
AUX 2.1.5-r2-dracut-non-root.patch 1823 BLAKE2B b6954c1648742cb19b1cea5709bdba78477731232bfd6a180f2b2aa179ba2e10ac968af6658fc9fd9a7a03127098c7e4401f3ad803e603d4e114d995b370da3d SHA512 33b3244de91f3d51ef2c2eff2ea4515890b7fa9b39a077b4034f770772077e75e6c5db187c76aa19dd2fb60dac91de35d70fbd84be3704bb950bbf8d4656c29a
AUX bash-completion-sudo.patch 905 BLAKE2B 92e58ff097893436d589f7df0134e09d2e0699ae82618c4c14caf4b26cb466367a5372d7e0a030aa857d024e3db0faef4bb5fa32c54f41f0d4766693a95ba5ab SHA512 e53c79401f4c634a94af27b2f88a40440b68a4c192fd1944668786650aaa0f1f08dff851dca5b9666ce8bba1f0e2b7cb195314cd9d1314c9bab1194d03122319
@@ -16,10 +16,6 @@ DIST zfs-2.1.5.tar.gz 34951632 BLAKE2B c6e3efd9c0cda91654767eaad0eaaa05cd9a5daf1
DIST zfs-2.1.5.tar.gz.asc 836 BLAKE2B 4a81c266967540850a2cc824e79555ca9d05b2e17e45fa2723893cbd85b55e3d7d791986d6667b7ee1530e7692c03818f15e8b6798393b54989f90801b775786 SHA512 224b0dcf4982c63a8eff0a39d054537e7d023f7c35e154e4d20490b8daf184c076bc8e4de7d2c5af4059f8a802b747e637aad4479cd8d1330cf5b26da2f19c94
EBUILD zfs-2.0.7-r1.ebuild 8668 BLAKE2B 5ee2a32d4d623e526ae551752f911cf816d8a9124dea9d0d311fa91c31bcf58c4c8c21d3020bc2174b57fad0e7ebe46ef3cf570e7b8188f8e898bbf9cd2c4d8f SHA512 3b1187a9693ef1c554f2ae7be0a532d694e7cb7c431a017ebc34cfda9d54e63928d0659e8f238c625986c0f2615c8ebc1bfa23599a2a6651833f126fc4eda635
EBUILD zfs-2.1.4-r1.ebuild 8878 BLAKE2B 047fa1439d2cf2bc6b4eedcd2e324403a5461b5856b88b880951253981192c0e87525de45e5658aef2e5f3e8eb67326ca17b5961a2b19870c96256c1a92f5a7b SHA512 b57efc204eb954aad1765ac84ae8ae3349e931d54aab955d0be5b3dec2ef8cd55ca7ae263038c9f0e6d4b2511b4d90ea0259cf042f454ceafaccd02f324fab0e
-EBUILD zfs-2.1.5-r1.ebuild 8755 BLAKE2B 117d334d76866f6aa2c78ef0be12da14bf7f00f2a6dddd5a6c46f4f04f846f8c43e360237f3875b92c43bfd313cdc34c3c7eff4a0527de05fb2baeb1072a3c6b SHA512 c287e39dd0bc1869d41209505b7c4af28708a423f1aeb40a52371e5be90a15e6288e8eef5a3cfab3c02e0bbace87f731789503c411a5dd641a8e6b152c9732e0
-EBUILD zfs-2.1.5-r3.ebuild 9012 BLAKE2B aba14b0ecb731dc05354186be733f0f3fcdc195cf9dcd369b30bb1cc63bda9ef9b3de9f65f6a6bfdecdbb1f71350eb52b125a0897648dee92ae06c84e5612c9d SHA512 cd60ca314e1daad078816cb6ff94cc8ba36294db514c5076c0971a3a7de079f6a7893470eedc622fbde990455c066ef9247ee991c461433b5ed30f6509184a30
-EBUILD zfs-2.1.5-r4.ebuild 9067 BLAKE2B 9f87319cb3ab043a0ca9328ade65626d0900bd54db08bd72d2a921e64dc86971b5841077f1a76bcc3aa5b9124b00857e8e2138cc4975ac7d05a1d8a0bc0825ff SHA512 5ff2d0f351883ef51728e9dc5dea017e7d59711fd5faddde4da841e7276137033c00edf0a1aef8f320743fc3ab0d277a1963438dfdc2f742841125b6d03a095c
-EBUILD zfs-2.1.5-r5.ebuild 9338 BLAKE2B 3d1063ebdf030009cfc9f3eed91b6746c72bfb12aa8f64836a708a26b9cd274ebfdae33bbe0acbcf975417748807ff4785264f3051f1462f155c97a264b85c79 SHA512 3c7271340575b80a4159b6fddb2ace58828742ea740b0bba461770a365c816143b952d32a57f8389d97a77cb970774177cd105f9bc0000e163ab59bad0bab61b
-EBUILD zfs-2.1.5.ebuild 8629 BLAKE2B 1a41e5f11c63238de677cd39af866b5670801c3e289b6e5bbf34a145219d89995ff07f9f2ce49ec57b3ddab73546213f549be396d58d2e6adfcf265a5cb5687b SHA512 9cbfa779f28e399de1695b199939fa46bf248eb88b2ec0b5e924698312360c25673381b426a120850374f17c8a23ee29337ed6e857d8389160a490f7da891f35
+EBUILD zfs-2.1.5-r6.ebuild 9489 BLAKE2B cebfcc2d31391eeeb52eeb03ce24efc7c865c7d8fb0ada953a9d8ea94c83776f4773101a0ef031a6ca227574c260d32ada6c409dbd3e9fcbec6494b56aa3d3a5 SHA512 994bfb59ef0bc6995c0fd32fa87dab75a4a73088e54e163e1f385fee8ce17793b242dd19f1edd074e4f25426d45961d9ca8d448c4e3e2c3a026fa6fc75b38d3e
EBUILD zfs-9999.ebuild 8893 BLAKE2B 34446b9139f93a8e8fd45fd8d82dd55c788bb453fef41453b517388e2a9980bdd0d1768b78d85e47bc42e36400364c1e546ff5c68a9fea3a8abea2b016c6f9bd SHA512 1f80d3cb72bbb1eaac7542ed3d0c3119ab1223cfbe454acc474cff5a462bd126638dd6a380274673b14835625288e614763226e4721ed5f6fa5c387025879f38
MISC metadata.xml 2205 BLAKE2B 82e20a6f5906b8cbbc6eb6e9520cf4e4213ce9cba2b056df5d5db0d4deaa4a20822a88e26286446d105326a8f61c807047a0e1e64494faac48d8ed5708807c02 SHA512 222981f945e98ddef646c593cbc8889f3526af4901c28ab5775ba760ca7d3aff3129b2699e8b7337b59fd33cbba388915cb5b2dc09674432c606f41ff27dbd9b
diff --git a/sys-fs/zfs/files/2.1.5-build-issues.patch b/sys-fs/zfs/files/2.1.5-build-issues.patch
deleted file mode 100644
index cca6561b16f7..000000000000
--- a/sys-fs/zfs/files/2.1.5-build-issues.patch
+++ /dev/null
@@ -1,74 +0,0 @@
-https://github.com/openzfs/zfs/commit/a6e8113fed8a508ffda13cf1c4d8da99a4e8133a
-https://github.com/openzfs/zfs/commit/60e389ca10085acfa7cd35f79ab4465d968a942f
-Cherry-picked from https://github.com/openzfs/zfs/pull/13575
-
-https://bugs.gentoo.org/855182
---- a/config/always-compiler-options.m4
-+++ b/config/always-compiler-options.m4
-@@ -205,6 +205,29 @@ AC_DEFUN([ZFS_AC_CONFIG_ALWAYS_CC_NO_OMIT_FRAME_POINTER], [
- AC_SUBST([NO_OMIT_FRAME_POINTER])
- ])
-
-+dnl #
-+dnl # Check if cc supports -Winfinite-recursion option.
-+dnl #
-+AC_DEFUN([ZFS_AC_CONFIG_ALWAYS_CC_INFINITE_RECURSION], [
-+ AC_MSG_CHECKING([whether $CC supports -Winfinite-recursion])
-+
-+ saved_flags="$CFLAGS"
-+ CFLAGS="$CFLAGS -Werror -Winfinite-recursion"
-+
-+ AC_COMPILE_IFELSE([AC_LANG_PROGRAM([], [])], [
-+ INFINITE_RECURSION=-Winfinite-recursion
-+ AC_DEFINE([HAVE_INFINITE_RECURSION], 1,
-+ [Define if compiler supports -Winfinite-recursion])
-+ AC_MSG_RESULT([yes])
-+ ], [
-+ INFINITE_RECURSION=
-+ AC_MSG_RESULT([no])
-+ ])
-+
-+ CFLAGS="$saved_flags"
-+ AC_SUBST([INFINITE_RECURSION])
-+])
-+
- dnl #
- dnl # Check if cc supports -fno-ipa-sra option.
- dnl #
---- a/config/zfs-build.m4
-+++ b/config/zfs-build.m4
-@@ -211,6 +211,7 @@ AC_DEFUN([ZFS_AC_CONFIG_ALWAYS], [
-
- ZFS_AC_CONFIG_ALWAYS_CC_NO_UNUSED_BUT_SET_VARIABLE
- ZFS_AC_CONFIG_ALWAYS_CC_NO_BOOL_COMPARE
-+ ZFS_AC_CONFIG_ALWAYS_CC_INFINITE_RECURSION
- ZFS_AC_CONFIG_ALWAYS_CC_IMPLICIT_FALLTHROUGH
- ZFS_AC_CONFIG_ALWAYS_CC_FRAME_LARGER_THAN
- ZFS_AC_CONFIG_ALWAYS_CC_NO_FORMAT_TRUNCATION
---- a/module/lua/ldo.c
-+++ b/module/lua/ldo.c
-@@ -168,6 +168,13 @@ static void seterrorobj (lua_State *L, int errcode, StkId oldtop) {
- L->top = oldtop + 1;
- }
-
-+/*
-+ * Silence infinite recursion warning which was added to -Wall in gcc 12.1
-+ */
-+#if defined(HAVE_INFINITE_RECURSION)
-+#pragma GCC diagnostic push
-+#pragma GCC diagnostic ignored "-Winfinite-recursion"
-+#endif
-
- l_noret luaD_throw (lua_State *L, int errcode) {
- if (L->errorJmp) { /* thread has an error handler? */
-@@ -190,6 +197,10 @@ l_noret luaD_throw (lua_State *L, int errcode) {
- }
- }
-
-+#if defined(HAVE_INFINITE_RECURSION)
-+#pragma GCC diagnostic pop
-+#endif
-+
-
- int luaD_rawrunprotected (lua_State *L, Pfunc f, void *ud) {
- unsigned short oldnCcalls = L->nCcalls;
diff --git a/sys-fs/zfs/files/2.1.5-dracut-zfs-bootfs-snapshot-fixes.patch b/sys-fs/zfs/files/2.1.5-dracut-zfs-bootfs-snapshot-fixes.patch
new file mode 100644
index 000000000000..05c44faf9d93
--- /dev/null
+++ b/sys-fs/zfs/files/2.1.5-dracut-zfs-bootfs-snapshot-fixes.patch
@@ -0,0 +1,78 @@
+From 2d434e8ae4139ce14a1b058839a144bf952e79ea Mon Sep 17 00:00:00 2001
+From: gregory-lee-bartholomew <gregory.lee.bartholomew@gmail.com>
+Date: Wed, 29 Jun 2022 18:56:04 -0500
+Subject: [PATCH] contrib: dracut: zfs-{rollback,snapshot}-bootfs: explicit
+ snapname fix
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+Due to a missing semicolon on the ExecStart line, it wasn't possible
+to specify the snapshot name on the bootfs.{rollback,snapshot}
+kernel parameters if the boot dataset name was obtained from the
+root=zfs:... kernel parameter.
+
+Reviewed-by: Ahelenia ZiemiaƄska <nabijaczleweli@nabijaczleweli.xyz>
+Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov>
+Signed-off-by: Gregory Bartholomew <gregory.lee.bartholomew@gmail.com>
+Closes #13585
+---
+ contrib/dracut/90zfs/zfs-rollback-bootfs.service.in | 2 +-
+ contrib/dracut/90zfs/zfs-snapshot-bootfs.service.in | 2 +-
+ 2 files changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/contrib/dracut/90zfs/zfs-rollback-bootfs.service.in b/contrib/dracut/90zfs/zfs-rollback-bootfs.service.in
+index b4f5707516c..a29cf3a3dd8 100644
+--- a/contrib/dracut/90zfs/zfs-rollback-bootfs.service.in
++++ b/contrib/dracut/90zfs/zfs-rollback-bootfs.service.in
+@@ -8,5 +8,5 @@ ConditionKernelCommandLine=bootfs.rollback
+
+ [Service]
+ Type=oneshot
+-ExecStart=/bin/sh -c '. /lib/dracut-zfs-lib.sh; decode_root_args || exit; [ "$root" = "zfs:AUTO" ] && root="$BOOTFS" SNAPNAME="$(getarg bootfs.rollback)"; exec @sbindir@/zfs rollback -Rf "$root@${SNAPNAME:-%v}"'
++ExecStart=/bin/sh -c '. /lib/dracut-zfs-lib.sh; decode_root_args || exit; [ "$root" = "zfs:AUTO" ] && root="$BOOTFS"; SNAPNAME="$(getarg bootfs.rollback)"; exec @sbindir@/zfs rollback -Rf "$root@${SNAPNAME:-%v}"'
+ RemainAfterExit=yes
+diff --git a/contrib/dracut/90zfs/zfs-snapshot-bootfs.service.in b/contrib/dracut/90zfs/zfs-snapshot-bootfs.service.in
+index afdba2c9d19..befd163b653 100644
+--- a/contrib/dracut/90zfs/zfs-snapshot-bootfs.service.in
++++ b/contrib/dracut/90zfs/zfs-snapshot-bootfs.service.in
+@@ -8,5 +8,5 @@ ConditionKernelCommandLine=bootfs.snapshot
+
+ [Service]
+ Type=oneshot
+-ExecStart=/bin/sh -c '. /lib/dracut-zfs-lib.sh; decode_root_args || exit; [ "$root" = "zfs:AUTO" ] && root="$BOOTFS" SNAPNAME="$(getarg bootfs.snapshot)"; exec @sbindir@/zfs snapshot "$root@${SNAPNAME:-%v}"'
++ExecStart=/bin/sh -c '. /lib/dracut-zfs-lib.sh; decode_root_args || exit; [ "$root" = "zfs:AUTO" ] && root="$BOOTFS"; SNAPNAME="$(getarg bootfs.snapshot)"; exec @sbindir@/zfs snapshot "$root@${SNAPNAME:-%v}"'
+ RemainAfterExit=yes
+From d22dd77c4d4556373b995121412c4abac02bcf8a Mon Sep 17 00:00:00 2001
+From: gregory-lee-bartholomew <gregory.lee.bartholomew@gmail.com>
+Date: Fri, 12 Aug 2022 16:28:15 -0500
+Subject: [PATCH] contrib: dracut: zfs-snapshot-bootfs: exit status fix
+
+When the zfs-snapshot-bootfs service attempts to create a snapshot
+that already exists, the exit status of the command is non-zero and
+the service reports failed to the systemd service manager. This is a
+common occurrence if bootfs.snapshot is left set on the kernel command
+line and it should not be considered a failure.
+
+This service was originally set to ignore this error by prefixing
+the command with - on the ExecStart line, but the leading - appears
+to have been dropped in #13359.
+
+Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov>
+Signed-off-by: Gregory Bartholomew <gregory.lee.bartholomew@gmail.com>
+Closes #13769
+---
+ contrib/dracut/90zfs/zfs-snapshot-bootfs.service.in | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/contrib/dracut/90zfs/zfs-snapshot-bootfs.service.in b/contrib/dracut/90zfs/zfs-snapshot-bootfs.service.in
+index befd163b653..9e73d1a7872 100644
+--- a/contrib/dracut/90zfs/zfs-snapshot-bootfs.service.in
++++ b/contrib/dracut/90zfs/zfs-snapshot-bootfs.service.in
+@@ -8,5 +8,5 @@ ConditionKernelCommandLine=bootfs.snapshot
+
+ [Service]
+ Type=oneshot
+-ExecStart=/bin/sh -c '. /lib/dracut-zfs-lib.sh; decode_root_args || exit; [ "$root" = "zfs:AUTO" ] && root="$BOOTFS"; SNAPNAME="$(getarg bootfs.snapshot)"; exec @sbindir@/zfs snapshot "$root@${SNAPNAME:-%v}"'
++ExecStart=-/bin/sh -c '. /lib/dracut-zfs-lib.sh; decode_root_args || exit; [ "$root" = "zfs:AUTO" ] && root="$BOOTFS"; SNAPNAME="$(getarg bootfs.snapshot)"; exec @sbindir@/zfs snapshot "$root@${SNAPNAME:-%v}"'
+ RemainAfterExit=yes
diff --git a/sys-fs/zfs/zfs-2.1.5-r1.ebuild b/sys-fs/zfs/zfs-2.1.5-r1.ebuild
deleted file mode 100644
index 7f0466ea0e20..000000000000
--- a/sys-fs/zfs/zfs-2.1.5-r1.ebuild
+++ /dev/null
@@ -1,310 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-DISTUTILS_OPTIONAL=1
-PYTHON_COMPAT=( python3_{8..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"
- 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 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="virtual/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
- virtual/awk
- dist-kernel? ( virtual/dist-kernel:= )
- rootfs? (
- app-arch/cpio
- app-misc/pax-utils
- !<sys-kernel/genkernel-3.5.1.1
- )
- 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 #855182
- "${FILESDIR}"/${PV}-build-issues.patch
- # bug #854333
- "${FILESDIR}"/${PV}-dracut-non-root.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
-
- # 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.
- $(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.5-r3.ebuild b/sys-fs/zfs/zfs-2.1.5-r3.ebuild
deleted file mode 100644
index a2c22c0ac350..000000000000
--- a/sys-fs/zfs/zfs-2.1.5-r3.ebuild
+++ /dev/null
@@ -1,319 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-DISTUTILS_OPTIONAL=1
-PYTHON_COMPAT=( python3_{8..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"
- 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 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="virtual/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
- virtual/awk
- dist-kernel? ( virtual/dist-kernel:= )
- rootfs? (
- app-arch/cpio
- app-misc/pax-utils
- !<sys-kernel/genkernel-3.5.1.1
- )
- 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 #855182
- "${FILESDIR}"/${PV}-build-issues.patch
- # bug #854333
- "${FILESDIR}"/${PV}-r2-dracut-non-root.patch
- #
- "${FILESDIR}"/2.1.5-dracut-zfs-missing.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
-
- # 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.5-r4.ebuild b/sys-fs/zfs/zfs-2.1.5-r4.ebuild
deleted file mode 100644
index 2cf49118a4f5..000000000000
--- a/sys-fs/zfs/zfs-2.1.5-r4.ebuild
+++ /dev/null
@@ -1,321 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-DISTUTILS_OPTIONAL=1
-PYTHON_COMPAT=( python3_{8..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"
- 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 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="virtual/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
- virtual/awk
- dist-kernel? ( virtual/dist-kernel:= )
- rootfs? (
- app-arch/cpio
- app-misc/pax-utils
- !<sys-kernel/genkernel-3.5.1.1
- )
- 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 #855182
- "${FILESDIR}"/${PV}-build-issues.patch
- # bug #854333
- "${FILESDIR}"/${PV}-r2-dracut-non-root.patch
- #
- "${FILESDIR}"/2.1.5-dracut-zfs-missing.patch
- # bug #857228
- "${FILESDIR}"/${PV}-dracut-mount.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
-
- # 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.5-r5.ebuild b/sys-fs/zfs/zfs-2.1.5-r6.ebuild
index cec989b82da5..e2b1dac94560 100644
--- a/sys-fs/zfs/zfs-2.1.5-r5.ebuild
+++ b/sys-fs/zfs/zfs-2.1.5-r6.ebuild
@@ -112,6 +112,10 @@ PATCHES=(
# bug #863212, bug #855182
"${WORKDIR}"/${P}-patches/
+
+ # https://github.com/openzfs/zfs/pull/13769
+ # https://github.com/openzfs/zfs/pull/13585
+ "${FILESDIR}"/2.1.5-dracut-zfs-bootfs-snapshot-fixes.patch
)
pkg_pretend() {
diff --git a/sys-fs/zfs/zfs-2.1.5.ebuild b/sys-fs/zfs/zfs-2.1.5.ebuild
deleted file mode 100644
index 6e0b78a9c125..000000000000
--- a/sys-fs/zfs/zfs-2.1.5.ebuild
+++ /dev/null
@@ -1,303 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-DISTUTILS_OPTIONAL=1
-PYTHON_COMPAT=( python3_{8..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"
- 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 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="virtual/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
- virtual/awk
- dist-kernel? ( virtual/dist-kernel:= )
- rootfs? (
- app-arch/cpio
- app-misc/pax-utils
- !<sys-kernel/genkernel-3.5.1.1
- )
- 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"
-
-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
-
- # 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.
- $(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
-}