summaryrefslogtreecommitdiff
path: root/sys-fs/zfs
diff options
context:
space:
mode:
authorV3n3RiX <venerix@redcorelinux.org>2019-12-15 18:09:03 +0000
committerV3n3RiX <venerix@redcorelinux.org>2019-12-15 18:09:03 +0000
commit7bc9c63c9da678a7e6fceb095d56c634afd22c56 (patch)
tree4a67d50a439e9af63947e5f8b6ba3719af98b6c9 /sys-fs/zfs
parentb284a3168fa91a038925d2ecf5e4791011ea5e7d (diff)
gentoo resync : 15.12.2019
Diffstat (limited to 'sys-fs/zfs')
-rw-r--r--sys-fs/zfs/Manifest8
-rw-r--r--sys-fs/zfs/files/0.7.13-ZPOOL_IMPORT_UDEV_TIMEOUT_MS.patch70
-rw-r--r--sys-fs/zfs/files/0.8.2-ZPOOL_IMPORT_UDEV_TIMEOUT_MS.patch55
-rw-r--r--sys-fs/zfs/zfs-0.7.13-r2.ebuild (renamed from sys-fs/zfs/zfs-0.8.1.ebuild)190
-rw-r--r--sys-fs/zfs/zfs-0.8.2-r2.ebuild (renamed from sys-fs/zfs/zfs-0.8.2-r1.ebuild)0
5 files changed, 194 insertions, 129 deletions
diff --git a/sys-fs/zfs/Manifest b/sys-fs/zfs/Manifest
index bf38f2e37725..6c2109925417 100644
--- a/sys-fs/zfs/Manifest
+++ b/sys-fs/zfs/Manifest
@@ -1,13 +1,13 @@
-AUX 0.8.2-ZPOOL_IMPORT_UDEV_TIMEOUT_MS.patch 2580 BLAKE2B db47d8024954eae996aec81eea63c0adf400675649a7d93d93a4a423329dc36d9fa21a753c4a5d0363e1ad513c8ecb5891188cf4c33a4d575b2cd80ccea0f689 SHA512 31330c43507d82279a521b8cbee0ea43cecf4496c932f4589ef80fa3f6df009655fc337cbf4a2ee93f646001d7f2780beff5c747367f9a94939b70cebe0fbfd2
+AUX 0.7.13-ZPOOL_IMPORT_UDEV_TIMEOUT_MS.patch 1945 BLAKE2B db5d094bcac52a3b53bae9df4b0444f656858dd83f21994cbefe4900554a2579c67b5058d149d226ca354bd45d9e24c12244186da3232064233b74ec590187dc SHA512 71a009336fdcac8e5813001fd6741f4310c3e792b20650ebad73ba0049730acb5188587dc8e706846e886bf9ac241d2163b9558150eb389c99d7910a730542d0
+AUX 0.8.2-ZPOOL_IMPORT_UDEV_TIMEOUT_MS.patch 3386 BLAKE2B fd12c67ae3d481dda5a6bcf3c3815ac752f7f22834aadc02ee11a592b7114bccc7fc8b494763f80999428d90c9903cbf4df5e544443c2cec0bfc91a942f5c708 SHA512 739d1e050d8894e3d92a995500d1f70e128cf33de941eacdb0b3ad8e743fedf464a02ba4a5ac85f43e302d53302ce866d88ab836dd60b861914cb5b7a190f376
AUX bash-completion-r1 11310 BLAKE2B f6c105fef1737d4be0e76967fdec62aa52fa7665bfc1e9aa4c944dd6442d64d7d31b8af54f92f5db25542f968ecf83da46db8c2a8f978577526bf9f90d8bccf3 SHA512 03be521e2c646196766d5fd049f241cb97f290abf0409881ea6ba709934984deda402c8513009e62a5787e0648023b55c040e5f99baef27709e81c3bc9c8f56e
AUX bash-completion-sudo.patch 905 BLAKE2B 92e58ff097893436d589f7df0134e09d2e0699ae82618c4c14caf4b26cb466367a5372d7e0a030aa857d024e3db0faef4bb5fa32c54f41f0d4766693a95ba5ab SHA512 e53c79401f4c634a94af27b2f88a40440b68a4c192fd1944668786650aaa0f1f08dff851dca5b9666ce8bba1f0e2b7cb195314cd9d1314c9bab1194d03122319
AUX zfs-init.sh.in 582 BLAKE2B 27e5c1aff398c42178b3d7c005e91a1f8f3afa303a22e49c93a2cd7134016a8d07d68483126d60e46ed4ff5cbaeb87f050e9c9fb5bff5352d5dc32b4d94db7b4 SHA512 bed7eae5f902f13489241782d3d560b53a5a3258de492763b7b25783ca9417975afb9000f68f58be5c2057e1db50a569374ed0ff572140aa65e401e20e646461
AUX zfs.service.in 335 BLAKE2B a18ad1d70975df98cfb7b5196ad17b7197d5eb59cac2ccb3b9243f111c6c882c3480eb6396e347eac91670e3a67d7f122953d6fa82ec61a6467163b788b31858 SHA512 7a167b389723e5f55fea6956e5546e46c89ebf3e2d1c25f6b56c357e6d3ffc765226549d78cdeb79b4dc90c798ec6326a13996215b40eb49179376e32c3c3287
DIST zfs-0.7.13.tar.gz 6614047 BLAKE2B c59c46287715779eb04d69333b0a417fa9865eb0d61c642b043188c4c97d4eed369f76a48327326ed1d4dd608ff95d91d20d26c80ed0b120a8fcd5f83cea638f SHA512 457d8f110b68c9656194cd3738b216d5d807d680e5cfc6ed1f3cf5ebde67860476387c6b862ba3ba7f972d8945075963e6c325543ab84468e3eff5dbce68476e
-DIST zfs-0.8.1.tar.gz 8668360 BLAKE2B f18268656381c20af6bd18421636a1c56633c7eafaf91b1308d15508d5f4bdcfa5dfbb4e09d0302ac3de9d6a4f69718fe9c3d083ed5b3ab2a32c6fb7a1db624b SHA512 1fb3957f65dbe94edaffcedb5b2694390dc14e472c11f7e63184a9ea6a774e79a43d47a2d789b7ced233fc67c76583bf7d5c1bda0692bb07929673e2a57f4667
DIST zfs-0.8.2.tar.gz 8738111 BLAKE2B 5c15f6664ca70f0deeb5b9e32f2bcff68f9821529e5203ff18612ce88473fee9af369354c442f3db7882d301cf17c805c9635b05bfd3460833ed8e5ff8004dd0 SHA512 1424b1a030b814f812b5da422100669db5b8c3ccae14c2fdd62a5e0df28e7255247fe5ca99c95a14f08c92cc1574c22dd132093e4a1dd81e38c95b10cc5e2496
EBUILD zfs-0.7.13-r1.ebuild 6286 BLAKE2B 8ff2c44069a13fe26b02a7a490ffcf1cb9833f5d5ba9ca1b151e1ed6bcc706bc46083a86663c073660d7a80792989335f8a1f4d71d162fcc8a16a635336ef175 SHA512 35127bc47361845a18bba3b60b27ae900a16ad2b94c1c479a62b30079b6688236b2feccb9d902ce93e3d8ff0a95504bc00d52fba6120b763d69057227e50a8a6
-EBUILD zfs-0.8.1.ebuild 6818 BLAKE2B b787b718b658937297f35acda6b41c0eaa5b9a41398eb19b0617e2faba0fa41c54d19e96d1ceaab3367e46235f54286d95212cc4de9bb1306f25d5f2ec1b260a SHA512 8719b4b46066a3a2c2bf5f9518082814aba9ecba5e1d977c412432213c1baad89922b13eaf13e3e422fbb4001dc92602444f182847e2e08375d38c812496fe10
-EBUILD zfs-0.8.2-r1.ebuild 5674 BLAKE2B a902bd8be17dfbb3291c75a8f7a26e262c4631ce3f3754ca28403b6c7b46ac8527b71a7f0d356d04f0f633f8cac861169416919bbd73e4ec54ae38b1a8a8a91e SHA512 bc5991a96d9fa25eaf8aa8e05535975c7456d45a956c7bc1db60355454a5ea3ca9eb040e9d75e60941fbb19fee5b88cc70b72c1fed257df9b71db5a2781100a6
+EBUILD zfs-0.7.13-r2.ebuild 6350 BLAKE2B 3196bdde32d4264117bf7e5a1f81d07703b5a519fb3429438b67c314128ae583ed5cc33fa3184c1739eda7db3429eee9fa6cc38f1c2f750311e230ad87b2b282 SHA512 c5af6b806b932508de1d8724ae84d461dcbba3987fa822ed8bbc7db608df625baee7bbd5c3a695699bd3415c62be3034e70618f399fe13a4286039308ea18898
+EBUILD zfs-0.8.2-r2.ebuild 5674 BLAKE2B a902bd8be17dfbb3291c75a8f7a26e262c4631ce3f3754ca28403b6c7b46ac8527b71a7f0d356d04f0f633f8cac861169416919bbd73e4ec54ae38b1a8a8a91e SHA512 bc5991a96d9fa25eaf8aa8e05535975c7456d45a956c7bc1db60355454a5ea3ca9eb040e9d75e60941fbb19fee5b88cc70b72c1fed257df9b71db5a2781100a6
EBUILD zfs-9999.ebuild 5571 BLAKE2B 4e550701988684482311a50c2c78120d19570b45c927e881e655323625f1ee5d8db81f98568f823c6b1a274c63dfc37504a827e8a7d64cc87c563a2041d23a87 SHA512 7af3c13954b927b34e52a5221fdf1c1ec7b36b73bda8b69fce806365a2d16d361412c1e6143a493d72411ae77fdeaa85d17e641842ac31681d1dc1d8162141ff
MISC metadata.xml 751 BLAKE2B 84331bb699e48773412c2b3a26786e746428a111b64d1a309d0acd6f2454220e917a6650b2a35e88269f77c725f848493f46516adf72a0deb149dbb1e0275bf3 SHA512 a16f2fff439157fa1910926bd5b90ccfc3cab262fe7b41e5565b645f29774b14f1d9ac11aceaee57b8685ec1c782d826e08715559fb0b2e06031a165ca5f6295
diff --git a/sys-fs/zfs/files/0.7.13-ZPOOL_IMPORT_UDEV_TIMEOUT_MS.patch b/sys-fs/zfs/files/0.7.13-ZPOOL_IMPORT_UDEV_TIMEOUT_MS.patch
new file mode 100644
index 000000000000..922e5951bdf0
--- /dev/null
+++ b/sys-fs/zfs/files/0.7.13-ZPOOL_IMPORT_UDEV_TIMEOUT_MS.patch
@@ -0,0 +1,70 @@
+From a0767672aac01f41516550e3808ff72da893102f Mon Sep 17 00:00:00 2001
+From: Georgy Yakovlev <gyakovlev@gentoo.org>
+Date: Tue, 26 Nov 2019 12:07:36 -0800
+Subject: [PATCH] backport udev timeout patch
+
+https://github.com/zfsonlinux/zfs/commit/803884217f9b9b5fb235d7c5e78a809d271f6387
+---
+ lib/libzfs/libzfs_import.c | 11 ++++++++++-
+ man/man8/zpool.8 | 6 ++++++
+ 2 files changed, 16 insertions(+), 1 deletion(-)
+
+diff --git a/lib/libzfs/libzfs_import.c b/lib/libzfs/libzfs_import.c
+index 9dbf207..cd08806 100644
+--- a/lib/libzfs/libzfs_import.c
++++ b/lib/libzfs/libzfs_import.c
+@@ -53,6 +53,7 @@
+ #endif
+ #include <stddef.h>
+ #include <stdlib.h>
++#include <stdio.h>
+ #include <string.h>
+ #include <sys/stat.h>
+ #include <unistd.h>
+@@ -1594,17 +1595,25 @@ zpool_open_func(void *arg)
+ if (rn->rn_labelpaths) {
+ char *path = NULL;
+ char *devid = NULL;
++ char *env = NULL;
+ rdsk_node_t *slice;
+ avl_index_t where;
++ int timeout;
+ int error;
+
+ if (label_paths(rn->rn_hdl, rn->rn_config, &path, &devid))
+ return;
+
++ env = getenv("ZPOOL_IMPORT_UDEV_TIMEOUT_MS");
++ if ((env == NULL) || sscanf(env, "%d", &timeout) != 1 ||
++ timeout < 0) {
++ timeout = DISK_LABEL_WAIT;
++ }
++
+ /*
+ * Allow devlinks to stabilize so all paths are available.
+ */
+- zpool_label_disk_wait(rn->rn_name, DISK_LABEL_WAIT);
++ zpool_label_disk_wait(rn->rn_name, timeout);
+
+ if (path != NULL) {
+ slice = zfs_alloc(hdl, sizeof (rdsk_node_t));
+diff --git a/man/man8/zpool.8 b/man/man8/zpool.8
+index 46e531e..10a19b5 100644
+--- a/man/man8/zpool.8
++++ b/man/man8/zpool.8
+@@ -2291,6 +2291,12 @@ Similar to the
+ option in
+ .Nm zpool import .
+ .El
++.Bl -tag -width "ZPOOL_IMPORT_UDEV_TIMEOUT_MS"
++.It Ev ZPOOL_IMPORT_UDEV_TIMEOUT_MS
++The maximum time in milliseconds that
++.Nm zpool import
++will wait for an expected device to be available.
++.El
+ .Bl -tag -width "ZPOOL_VDEV_NAME_GUID"
+ .It Ev ZPOOL_VDEV_NAME_GUID
+ Cause
+--
+2.24.0
+
diff --git a/sys-fs/zfs/files/0.8.2-ZPOOL_IMPORT_UDEV_TIMEOUT_MS.patch b/sys-fs/zfs/files/0.8.2-ZPOOL_IMPORT_UDEV_TIMEOUT_MS.patch
index 6c4054ddb668..00dda6de55c4 100644
--- a/sys-fs/zfs/files/0.8.2-ZPOOL_IMPORT_UDEV_TIMEOUT_MS.patch
+++ b/sys-fs/zfs/files/0.8.2-ZPOOL_IMPORT_UDEV_TIMEOUT_MS.patch
@@ -1,6 +1,6 @@
-From d7037d2a2fd57504070eba14634b8a7ea159de32 Mon Sep 17 00:00:00 2001
+From 803884217f9b9b5fb235d7c5e78a809d271f6387 Mon Sep 17 00:00:00 2001
From: Richard Yao <ryao@gentoo.org>
-Date: Thu, 1 Aug 2019 15:54:30 -0400
+Date: Wed, 9 Oct 2019 12:16:12 -0700
Subject: [PATCH] Implement ZPOOL_IMPORT_UDEV_TIMEOUT_MS
Since 0.7.0, zpool import would unconditionally block on udev for 30
@@ -15,38 +15,45 @@ have their own mechanisms for blocking until device nodes are ready
zpool import to block on a non-existent udev until a timeout is reached
inside of them.
-Rather than trying to intelligently determine whether udev is avaliable
+Rather than trying to intelligently determine whether udev is available
on the system to avoid unnecessarily blocking in such environments, it
seems best to just allow the environment to override the timeout. I
propose that we add an environment variable called
ZPOOL_IMPORT_UDEV_TIMEOUT_MS. Setting it to 0 would restore the 0.6.x
-behavior that was more desireable in mdev based initramfs environments.
-This allows the system userland utilities to be reused when building
+behavior that was more desirable in mdev based initramfs environments.
+This allows the system user land utilities to be reused when building
mdev-based initramfs archives.
+Reviewed-by: Igor Kozhukhov <igor@dilos.org>
+Reviewed-by: Jorgen Lundman <lundman@lundman.net>
+Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov>
Reviewed-by: Georgy Yakovlev <gyakovlev@gentoo.org>
Signed-off-by: Richard Yao <ryao@gentoo.org>
+Closes #9436
---
- lib/libzutil/zutil_import.c | 10 +++++++++-
- 1 file changed, 9 insertions(+), 1 deletion(-)
+ lib/libzutil/os/linux/zutil_import_os.c | 11 ++++++++++-
+ man/man8/zpool.8 | 6 ++++++
+ 2 files changed, 16 insertions(+), 1 deletion(-)
diff --git a/lib/libzutil/zutil_import.c b/lib/libzutil/zutil_import.c
-index e82744383dc..8c4d8c5cb5c 100644
+index 811eae397c9..e51004edc68 100644
--- a/lib/libzutil/zutil_import.c
+++ b/lib/libzutil/zutil_import.c
-@@ -58,6 +58,7 @@
- #endif
+@@ -53,6 +53,7 @@
+ #include <libgen.h>
#include <stddef.h>
#include <stdlib.h>
+#include <stdio.h>
#include <string.h>
#include <sys/stat.h>
#include <unistd.h>
-@@ -1653,15 +1654,22 @@ zpool_open_func(void *arg)
+@@ -181,17 +182,25 @@ zpool_open_func(void *arg)
+ if (rn->rn_labelpaths) {
+ char *path = NULL;
char *devid = NULL;
++ char *env = NULL;
rdsk_node_t *slice;
avl_index_t where;
-+ char *env;
+ int timeout;
int error;
@@ -54,9 +61,10 @@ index e82744383dc..8c4d8c5cb5c 100644
return;
+ env = getenv("ZPOOL_IMPORT_UDEV_TIMEOUT_MS");
-+
-+ if ((env == NULL) || sscanf(env, "%d", &timeout) != 1)
++ if ((env == NULL) || sscanf(env, "%d", &timeout) != 1 ||
++ timeout < 0) {
+ timeout = DISK_LABEL_WAIT;
++ }
+
/*
* Allow devlinks to stabilize so all paths are available.
@@ -65,4 +73,21 @@ index e82744383dc..8c4d8c5cb5c 100644
+ zpool_label_disk_wait(rn->rn_name, timeout);
if (path != NULL) {
- slice = zfs_alloc(hdl, sizeof (rdsk_node_t));
+ slice = zutil_alloc(hdl, sizeof (rdsk_node_t));
+diff --git a/man/man8/zpool.8 b/man/man8/zpool.8
+index 467d2411d40..df30b7ca05c 100644
+--- a/man/man8/zpool.8
++++ b/man/man8/zpool.8
+@@ -2813,6 +2813,12 @@ Similar to the
+ option in
+ .Nm zpool import .
+ .El
++.Bl -tag -width "ZPOOL_IMPORT_UDEV_TIMEOUT_MS"
++.It Ev ZPOOL_IMPORT_UDEV_TIMEOUT_MS
++The maximum time in milliseconds that
++.Nm zpool import
++will wait for an expected device to be available.
++.El
+ .Bl -tag -width "ZPOOL_VDEV_NAME_GUID"
+ .It Ev ZPOOL_VDEV_NAME_GUID
+ Cause
diff --git a/sys-fs/zfs/zfs-0.8.1.ebuild b/sys-fs/zfs/zfs-0.7.13-r2.ebuild
index fdb0ed3deb3f..928b6e1c5327 100644
--- a/sys-fs/zfs/zfs-0.8.1.ebuild
+++ b/sys-fs/zfs/zfs-0.7.13-r2.ebuild
@@ -1,61 +1,44 @@
# Copyright 1999-2019 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=7
+EAPI="5"
+PYTHON_COMPAT=( python{2_7,3_5,3_6} )
-DISTUTILS_OPTIONAL=1
-PYTHON_COMPAT=( python{2_7,3_{5,6,7}} )
+if [ ${PV} == "9999" ] ; then
+ inherit git-r3 linux-mod
+ AUTOTOOLS_AUTORECONF="1"
+ EGIT_REPO_URI="git://github.com/zfsonlinux/${PN}.git"
+else
+ SRC_URI="https://github.com/zfsonlinux/${PN}/releases/download/${P}/${P}.tar.gz"
+ KEYWORDS=""
+fi
-inherit bash-completion-r1 flag-o-matic linux-info linux-mod distutils-r1 systemd toolchain-funcs udev usr-ldscript
+inherit autotools-utils bash-completion-r1 flag-o-matic linux-info python-single-r1 systemd toolchain-funcs udev usr-ldscript
DESCRIPTION="Userland utilities for ZFS Linux kernel module"
HOMEPAGE="https://zfsonlinux.org/"
-if [[ ${PV} == "9999" ]] ; then
- inherit autotools git-r3
- EGIT_REPO_URI="https://github.com/zfsonlinux/zfs.git"
-else
- SRC_URI="https://github.com/zfsonlinux/${PN}/releases/download/${P}/${P}.tar.gz"
- KEYWORDS="~amd64 ~ppc64"
-fi
-
LICENSE="BSD-2 CDDL MIT"
SLOT="0"
-IUSE="custom-cflags debug kernel-builtin python +rootfs test-suite static-libs"
+IUSE="custom-cflags debug kernel-builtin +rootfs systemd test-suite static-libs"
+RESTRICT="test"
COMMON_DEPEND="
- ${PYTHON_DEPS}
net-libs/libtirpc
sys-apps/util-linux[static-libs?]
sys-libs/zlib[static-libs(+)?]
virtual/awk
- python? (
- virtual/python-cffi[${PYTHON_USEDEP}]
- )
"
-
-BDEPEND="${COMMON_DEPEND}
+DEPEND="${COMMON_DEPEND}
virtual/pkgconfig
- python? (
- dev-python/setuptools[${PYTHON_USEDEP}]
- )
"
RDEPEND="${COMMON_DEPEND}
+ ${PYTHON_DEPS}
!=sys-apps/grep-2.13*
- !kernel-builtin? ( ~sys-fs/zfs-kmod-${PV} )
+ !kernel-builtin? ( =sys-fs/zfs-kmod-${PV}* )
!sys-fs/zfs-fuse
!prefix? ( virtual/udev )
- sys-fs/udev-init-scripts
- rootfs? (
- app-arch/cpio
- app-misc/pax-utils
- !<sys-boot/grub-2.00-r2:2
- !<sys-kernel/genkernel-3.5.1.1
- !<sys-kernel/genkernel-next-67
- !<sys-kernel/bliss-initramfs-7.1.0
- !<sys-kernel/dracut-044-r1
- )
test-suite? (
sys-apps/util-linux
sys-devel/bc
@@ -64,22 +47,34 @@ RDEPEND="${COMMON_DEPEND}
sys-fs/mdadm
sys-process/procps
virtual/modutils
- )
+ )
+ rootfs? (
+ app-arch/cpio
+ app-misc/pax-utils
+ !<sys-boot/grub-2.00-r2:2
+ !<sys-kernel/genkernel-3.5.1.1
+ !<sys-kernel/genkernel-next-67
+ !<sys-kernel/bliss-initramfs-7.1.0
+ !<sys-kernel/dracut-044-r1
+ )
+ sys-fs/udev-init-scripts
"
REQUIRED_USE="${PYTHON_REQUIRED_USE}"
-RESTRICT="test"
+AT_M4DIR="config"
+AUTOTOOLS_IN_SOURCE_BUILD="1"
-PATCHES=( "${FILESDIR}/bash-completion-sudo.patch" )
+PATCHES=( "${FILESDIR}/0.7.13-ZPOOL_IMPORT_UDEV_TIMEOUT_MS.patch" )
pkg_setup() {
+ python-single-r1_pkg_setup
if use kernel_linux && use test-suite; then
linux-info_pkg_setup
-
if ! linux_config_exists; then
ewarn "Cannot check the linux kernel configuration."
else
+ # recheck that we don't have usblp to collide with libusb
if use test-suite; then
if linux_chkconfig_present BLK_DEV_LOOP; then
eerror "The ZFS test suite requires loop device support enabled."
@@ -88,7 +83,7 @@ pkg_setup() {
eerror "in /usr/src/linux/.config or"
eerror " Device Drivers --->"
eerror " Block devices --->"
- eerror " [X] Loopback device support"
+ eerror " [ ] Loopback device support"
fi
fi
fi
@@ -96,36 +91,19 @@ pkg_setup() {
}
src_prepare() {
- default
-
- if [[ ${PV} == "9999" ]]; then
- eautoreconf
- else
- # Set revision number
- sed -i "s/\(Release:\)\(.*\)1/\1\2${PR}-gentoo/" META || die "Could not set Gentoo release"
- fi
-
# Update paths
sed -e "s|/sbin/lsmod|/bin/lsmod|" \
-e "s|/usr/bin/scsi-rescan|/usr/sbin/rescan-scsi-bus|" \
-e "s|/sbin/parted|/usr/sbin/parted|" \
-i scripts/common.sh.in || die
- if use python; then
- pushd contrib/pyzfs >/dev/null || die
- distutils-r1_src_prepare
- popd >/dev/null || die
- fi
+ autotools-utils_src_prepare
}
src_configure() {
use custom-cflags || strip-flags
-
- local myconf=(
+ local myeconfargs=(
--bindir="${EPREFIX}/bin"
- --enable-systemd
- --enable-sysvinit
- --localstatedir="${EPREFIX}/var"
--sbindir="${EPREFIX}/sbin"
--with-config=user
--with-dracutdir="${EPREFIX}/usr/lib/dracut"
@@ -135,59 +113,47 @@ src_configure() {
--with-systemdunitdir="$(systemd_get_systemunitdir)"
--with-systemdpresetdir="${EPREFIX}/lib/systemd/system-preset"
$(use_enable debug)
- $(use_enable python pyzfs)
+ $(use_enable systemd)
)
-
- econf "${myconf[@]}"
-}
-
-src_compile() {
- default
- if use python; then
- pushd contrib/pyzfs >/dev/null || die
- distutils-r1_src_compile
- popd >/dev/null || die
- fi
+ autotools-utils_src_configure
+
+ # prepare systemd unit and helper script
+ cat "${FILESDIR}/zfs.service.in" | \
+ sed -e "s:@sbindir@:${EPREFIX}/sbin:g" \
+ -e "s:@sysconfdir@:${EPREFIX}/etc:g" \
+ > "${T}/zfs.service" || die
+ cat "${FILESDIR}/zfs-init.sh.in" | \
+ sed -e "s:@sbindir@:${EPREFIX}/sbin:g" \
+ -e "s:@sysconfdir@:${EPREFIX}/etc:g" \
+ > "${T}/zfs-init.sh" || die
}
src_install() {
- default
-
+ autotools-utils_src_install
gen_usr_ldscript -a uutil nvpair zpool zfs zfs_core
+ use test-suite || rm -rf "${ED}usr/share/zfs"
- use test-suite || rm -rf "${ED}/usr/share/zfs"
-
- dobashcomp contrib/bash_completion.d/zfs
+ newbashcomp "${FILESDIR}/bash-completion-r1" 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
+ exeinto /usr/libexec
+ doexe "${T}/zfs-init.sh"
+ systemd_dounit "${T}/zfs.service"
- # enforce best available python implementation
- python_setup
+ # enforce selected python implementation
python_fix_shebang "${ED}/bin"
}
pkg_postinst() {
- if has_version "<=sys-kernel/genkernel-3.5.3.3"; then
- einfo "genkernel version 3.5.3.3 and earlier does NOT support"
- einfo " unlocking pools with native zfs encryption enabled at boot"
- einfo " use dracut or genkernel-9999 if you requre this functionality"
- fi
-
- if ! use kernel-builtin && [[ ${PV} = "9999" ]]; then
+ 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 [[ -e "${EROOT}/etc/runlevels/boot/zfs" ]]; then
+ if [ -e "${EROOT}etc/runlevels/boot/zfs" ]
+ then
einfo 'The zfs boot script has been split into the zfs-import,'
einfo 'zfs-mount and zfs-share scripts.'
einfo
@@ -197,23 +163,24 @@ pkg_postinst() {
einfo 'The zfs-import and zfs-mount scripts have been added to the boot'
einfo 'runlevel while the zfs-share script is in the default runlevel.'
- rm "${EROOT}/etc/runlevels/boot/zfs"
- ln -snf "${EROOT}/etc/init.d/zfs-import" \
- "${EROOT}/etc/runlevels/boot/zfs-import"
- ln -snf "${EROOT}/etc/init.d/zfs-mount" \
- "${EROOT}/etc/runlevels/boot/zfs-mount"
- ln -snf "${EROOT}/etc/init.d/zfs-share" \
- "${EROOT}/etc/runlevels/default/zfs-share"
+ rm "${EROOT}etc/runlevels/boot/zfs"
+ ln -snf "${EROOT}etc/init.d/zfs-import" \
+ "${EROOT}etc/runlevels/boot/zfs-import"
+ ln -snf "${EROOT}etc/init.d/zfs-mount" \
+ "${EROOT}etc/runlevels/boot/zfs-mount"
+ ln -snf "${EROOT}etc/init.d/zfs-share" \
+ "${EROOT}etc/runlevels/default/zfs-share"
else
- [[ -e "${EROOT}/etc/runlevels/boot/zfs-import" ]] || \
+ [ -e "${EROOT}etc/runlevels/boot/zfs-import" ] || \
einfo "You should add zfs-import to the boot runlevel."
- [[ -e "${EROOT}/etc/runlevels/boot/zfs-mount" ]]|| \
+ [ -e "${EROOT}etc/runlevels/boot/zfs-mount" ] || \
einfo "You should add zfs-mount to the boot runlevel."
- [[ -e "${EROOT}/etc/runlevels/default/zfs-share" ]] || \
+ [ -e "${EROOT}etc/runlevels/default/zfs-share" ] || \
einfo "You should add zfs-share to the default runlevel."
fi
- if [[ -e "${EROOT}/etc/runlevels/default/zed" ]]; then
+ if [ -e "${EROOT}etc/runlevels/default/zed" ]
+ then
einfo 'The downstream OpenRC zed script has replaced by the upstream'
einfo 'OpenRC zfs-zed script.'
einfo
@@ -221,17 +188,18 @@ pkg_postinst() {
einfo 'convenience, it has been automatically removed and the zfs-zed'
einfo 'script that replaced it has been configured to start.'
- rm "${EROOT}/etc/runlevels/boot/zed"
- ln -snf "${EROOT}/etc/init.d/zfs-zed" \
- "${EROOT}/etc/runlevels/default/zfs-zed"
+ rm "${EROOT}etc/runlevels/boot/zed"
+ ln -snf "${EROOT}etc/init.d/zfs-sed" \
+ "${EROOT}etc/runlevels/default/zfs-zed"
else
- [[ -e "${EROOT}/etc/runlevels/default/zfs-zed" ]] || \
+ [ -e "${EROOT}etc/runlevels/default/zfs-zed" ] || \
einfo "You should add zfs-zed to the default runlevel."
fi
- if [[ -e "${EROOT}/etc/runlevels/shutdown/zfs-shutdown" ]]; then
+ if [ -e "${EROOT}etc/runlevels/shutdown/zfs-shutdown" ]
+ then
einfo "The zfs-shutdown script is obsolete. Removing it from runlevel."
- rm "${EROOT}/etc/runlevels/shutdown/zfs-shutdown"
+ rm "${EROOT}etc/runlevels/shutdown/zfs-shutdown"
fi
systemd_reenable zfs-zed.service
@@ -241,10 +209,12 @@ pkg_postinst() {
systemd_reenable zfs-share.service
systemd_reenable zfs-import.target
systemd_reenable zfs.target
+ systemd_reenable zfs.service
}
pkg_postrm() {
- if ! use kernel-builtin && [[ ${PV} == "9999" ]]; then
+ if ! use kernel-builtin && [ ${PV} = "9999" ]
+ then
remove_moduledb
fi
}
diff --git a/sys-fs/zfs/zfs-0.8.2-r1.ebuild b/sys-fs/zfs/zfs-0.8.2-r2.ebuild
index 55c311aac94b..55c311aac94b 100644
--- a/sys-fs/zfs/zfs-0.8.2-r1.ebuild
+++ b/sys-fs/zfs/zfs-0.8.2-r2.ebuild