From 8332e832f486fabafb59a118b42e03c8440b2968 Mon Sep 17 00:00:00 2001 From: V3n3RiX Date: Thu, 2 Jan 2020 10:34:02 +0000 Subject: sys-fs/zfs-utils : backport fix for https://github.com/zfsonlinux/zfs/issues/9417 --- .../files/Use_NMH_WAIT_EXEC_with_call.patch | 12 ++ sys-fs/zfs-utils/zfs-utils-0.8.2-r1.ebuild | 127 +++++++++++++++++++++ sys-fs/zfs-utils/zfs-utils-0.8.2.ebuild | 126 -------------------- 3 files changed, 139 insertions(+), 126 deletions(-) create mode 100644 sys-fs/zfs-utils/files/Use_NMH_WAIT_EXEC_with_call.patch create mode 100644 sys-fs/zfs-utils/zfs-utils-0.8.2-r1.ebuild delete mode 100644 sys-fs/zfs-utils/zfs-utils-0.8.2.ebuild (limited to 'sys-fs/zfs-utils') diff --git a/sys-fs/zfs-utils/files/Use_NMH_WAIT_EXEC_with_call.patch b/sys-fs/zfs-utils/files/Use_NMH_WAIT_EXEC_with_call.patch new file mode 100644 index 00000000..ad612d26 --- /dev/null +++ b/sys-fs/zfs-utils/files/Use_NMH_WAIT_EXEC_with_call.patch @@ -0,0 +1,12 @@ +diff -Nur a/module/zfs/vdev_disk.c b/module/zfs/vdev_disk.c +--- a/module/zfs/vdev_disk.c 2019-09-25 21:44:42.626286618 +0100 ++++ b/module/zfs/vdev_disk.c 2020-01-02 10:29:56.356741395 +0000 +@@ -220,7 +220,7 @@ + char *envp[] = { NULL }; + + argv[2] = kmem_asprintf(SET_SCHEDULER_CMD, device, elevator); +- error = call_usermodehelper(argv[0], argv, envp, UMH_NO_WAIT); ++ error = call_usermodehelper(argv[0], argv, envp, UMH_WAIT_EXEC); + strfree(argv[2]); + #endif /* HAVE_ELEVATOR_CHANGE */ + if (error) { diff --git a/sys-fs/zfs-utils/zfs-utils-0.8.2-r1.ebuild b/sys-fs/zfs-utils/zfs-utils-0.8.2-r1.ebuild new file mode 100644 index 00000000..35ca27f8 --- /dev/null +++ b/sys-fs/zfs-utils/zfs-utils-0.8.2-r1.ebuild @@ -0,0 +1,127 @@ +# Copyright 1999-2019 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +DISTUTILS_OPTIONAL=1 +PYTHON_COMPAT=( python{2_7,3_{5,6,7}} ) + +inherit bash-completion-r1 flag-o-matic distutils-r1 toolchain-funcs udev + +MY_PN="zfs" +MY_P="${MY_PN}-${PV}" + +DESCRIPTION="Userland utilities for ZFS Linux kernel module" +HOMEPAGE="https://zfsonlinux.org/" + +SRC_URI="https://github.com/zfsonlinux/${MY_PN}/releases/download/${MY_P}/${MY_P}.tar.gz" +KEYWORDS="~amd64" + +LICENSE="BSD-2 CDDL MIT" +SLOT="0" +IUSE="debug python test-suite static-libs" + +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} + virtual/pkgconfig + python? ( + dev-python/setuptools[${PYTHON_USEDEP}] + ) +" + +RDEPEND="${COMMON_DEPEND} + !=sys-apps/grep-2.13* + !sys-fs/zfs-fuse + !prefix? ( virtual/udev ) + sys-fs/udev-init-scripts + test-suite? ( + sys-apps/util-linux + sys-devel/bc + sys-block/parted + sys-fs/lsscsi + sys-fs/mdadm + sys-process/procps + virtual/modutils + ) +" + +REQUIRED_USE="${PYTHON_REQUIRED_USE}" + +RESTRICT="test" + +S="${WORKDIR}/${MY_P}" + +PATCHES=( "${FILESDIR}/bash-completion-sudo.patch" + "${FILESDIR}/Use_NMH_WAIT_EXEC_with_call.patch" ) + +src_prepare() { + default + # 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 +} + +src_configure() { + local myconf=( + --bindir="${EPREFIX}/bin" + --disable-systemd + --enable-sysvinit + --localstatedir="${EPREFIX}/var" + --sbindir="${EPREFIX}/sbin" + --with-config=user + --with-dracutdir="${EPREFIX}/usr/lib/dracut" + --with-udevdir="$(get_udevdir)" + $(use_enable debug) + $(use_enable python pyzfs) + ) + + 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 uutil nvpair zpool zfs zfs_core + + use test-suite || rm -rf "${ED}/usr/share/zfs" + + dobashcomp contrib/bash_completion.d/zfs + bashcomp_alias zfs zpool + + if use python; then + pushd contrib/pyzfs >/dev/null || die + distutils-r1_src_install + popd >/dev/null || die + fi + + # enforce best available python implementation + python_setup + python_fix_shebang "${ED}/bin" +} diff --git a/sys-fs/zfs-utils/zfs-utils-0.8.2.ebuild b/sys-fs/zfs-utils/zfs-utils-0.8.2.ebuild deleted file mode 100644 index 039c344c..00000000 --- a/sys-fs/zfs-utils/zfs-utils-0.8.2.ebuild +++ /dev/null @@ -1,126 +0,0 @@ -# Copyright 1999-2019 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 - -DISTUTILS_OPTIONAL=1 -PYTHON_COMPAT=( python{2_7,3_{5,6,7}} ) - -inherit bash-completion-r1 flag-o-matic distutils-r1 toolchain-funcs udev - -MY_PN="zfs" -MY_P="${MY_PN}-${PV}" - -DESCRIPTION="Userland utilities for ZFS Linux kernel module" -HOMEPAGE="https://zfsonlinux.org/" - -SRC_URI="https://github.com/zfsonlinux/${MY_PN}/releases/download/${MY_P}/${MY_P}.tar.gz" -KEYWORDS="~amd64" - -LICENSE="BSD-2 CDDL MIT" -SLOT="0" -IUSE="debug python test-suite static-libs" - -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} - virtual/pkgconfig - python? ( - dev-python/setuptools[${PYTHON_USEDEP}] - ) -" - -RDEPEND="${COMMON_DEPEND} - !=sys-apps/grep-2.13* - !sys-fs/zfs-fuse - !prefix? ( virtual/udev ) - sys-fs/udev-init-scripts - test-suite? ( - sys-apps/util-linux - sys-devel/bc - sys-block/parted - sys-fs/lsscsi - sys-fs/mdadm - sys-process/procps - virtual/modutils - ) -" - -REQUIRED_USE="${PYTHON_REQUIRED_USE}" - -RESTRICT="test" - -S="${WORKDIR}/${MY_P}" - -PATCHES=( "${FILESDIR}/bash-completion-sudo.patch" ) - -src_prepare() { - default - # 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 -} - -src_configure() { - local myconf=( - --bindir="${EPREFIX}/bin" - --disable-systemd - --enable-sysvinit - --localstatedir="${EPREFIX}/var" - --sbindir="${EPREFIX}/sbin" - --with-config=user - --with-dracutdir="${EPREFIX}/usr/lib/dracut" - --with-udevdir="$(get_udevdir)" - $(use_enable debug) - $(use_enable python pyzfs) - ) - - 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 uutil nvpair zpool zfs zfs_core - - use test-suite || rm -rf "${ED}/usr/share/zfs" - - dobashcomp contrib/bash_completion.d/zfs - bashcomp_alias zfs zpool - - if use python; then - pushd contrib/pyzfs >/dev/null || die - distutils-r1_src_install - popd >/dev/null || die - fi - - # enforce best available python implementation - python_setup - python_fix_shebang "${ED}/bin" -} -- cgit v1.2.3