From 343940aefcc24d367341676eb57c5e520587ec31 Mon Sep 17 00:00:00 2001 From: V3n3RiX Date: Sun, 3 May 2020 17:15:47 +0100 Subject: sys-fs/zfs-utils : revision bump, fix zfs-import service, fix zfs-functions --- sys-fs/zfs-utils/files/0.8.3-fno-common.patch | 83 +++++++++++++++ sys-fs/zfs-utils/files/0.8.3-zfs-functions.patch | 51 +++++++++ sys-fs/zfs-utils/zfs-utils-0.8.3-r1.ebuild | 130 +++++++++++++++++++++++ sys-fs/zfs-utils/zfs-utils-0.8.3.ebuild | 126 ---------------------- 4 files changed, 264 insertions(+), 126 deletions(-) create mode 100644 sys-fs/zfs-utils/files/0.8.3-fno-common.patch create mode 100644 sys-fs/zfs-utils/files/0.8.3-zfs-functions.patch create mode 100644 sys-fs/zfs-utils/zfs-utils-0.8.3-r1.ebuild delete mode 100644 sys-fs/zfs-utils/zfs-utils-0.8.3.ebuild diff --git a/sys-fs/zfs-utils/files/0.8.3-fno-common.patch b/sys-fs/zfs-utils/files/0.8.3-fno-common.patch new file mode 100644 index 00000000..3b09d8bb --- /dev/null +++ b/sys-fs/zfs-utils/files/0.8.3-fno-common.patch @@ -0,0 +1,83 @@ +From af09c050e95bebbaeca52156218f3f91e8c9951a Mon Sep 17 00:00:00 2001 +From: Romain Dolbeau +Date: Thu, 6 Feb 2020 18:25:29 +0100 +Subject: [PATCH] Fix static data to link with -fno-common + +-fno-common is the new default in GCC 10, replacing -fcommon in +GCC <= 9, so static data must only be allocated once. + +Reviewed-by: Brian Behlendorf +Signed-off-by: Romain Dolbeau +Closes #9943 +--- + cmd/zfs/zfs_util.h | 2 +- + cmd/zpool/zpool_main.c | 2 ++ + cmd/zpool/zpool_util.h | 2 +- + lib/libshare/smb.c | 2 ++ + lib/libshare/smb.h | 2 +- + 5 files changed, 7 insertions(+), 3 deletions(-) + +diff --git a/cmd/zfs/zfs_util.h b/cmd/zfs/zfs_util.h +index 3ddff9e22d7..a56af59adb1 100644 +--- a/cmd/zfs/zfs_util.h ++++ b/cmd/zfs/zfs_util.h +@@ -33,7 +33,7 @@ extern "C" { + + void * safe_malloc(size_t size); + void nomem(void); +-libzfs_handle_t *g_zfs; ++extern libzfs_handle_t *g_zfs; + + #ifdef __cplusplus + } +diff --git a/cmd/zpool/zpool_main.c b/cmd/zpool/zpool_main.c +index ae5e8a370fc..ff4f44d4652 100644 +--- a/cmd/zpool/zpool_main.c ++++ b/cmd/zpool/zpool_main.c +@@ -76,6 +76,8 @@ + + #include "statcommon.h" + ++libzfs_handle_t *g_zfs; ++ + static int zpool_do_create(int, char **); + static int zpool_do_destroy(int, char **); + +diff --git a/cmd/zpool/zpool_util.h b/cmd/zpool/zpool_util.h +index ce760df723c..1f23f61aaa4 100644 +--- a/cmd/zpool/zpool_util.h ++++ b/cmd/zpool/zpool_util.h +@@ -79,7 +79,7 @@ void pool_list_free(zpool_list_t *); + int pool_list_count(zpool_list_t *); + void pool_list_remove(zpool_list_t *, zpool_handle_t *); + +-libzfs_handle_t *g_zfs; ++extern libzfs_handle_t *g_zfs; + + + typedef struct vdev_cmd_data +diff --git a/lib/libshare/smb.c b/lib/libshare/smb.c +index a95607ee032..f567f7c49d7 100644 +--- a/lib/libshare/smb.c ++++ b/lib/libshare/smb.c +@@ -65,6 +65,8 @@ static boolean_t smb_available(void); + + static sa_fstype_t *smb_fstype; + ++smb_share_t *smb_shares; ++ + /* + * Retrieve the list of SMB shares. + */ +diff --git a/lib/libshare/smb.h b/lib/libshare/smb.h +index 7a0c0fd162d..8ea44677f9a 100644 +--- a/lib/libshare/smb.h ++++ b/lib/libshare/smb.h +@@ -44,6 +44,6 @@ typedef struct smb_share_s { + struct smb_share_s *next; + } smb_share_t; + +-smb_share_t *smb_shares; ++extern smb_share_t *smb_shares; + + void libshare_smb_init(void); diff --git a/sys-fs/zfs-utils/files/0.8.3-zfs-functions.patch b/sys-fs/zfs-utils/files/0.8.3-zfs-functions.patch new file mode 100644 index 00000000..9cce3e1c --- /dev/null +++ b/sys-fs/zfs-utils/files/0.8.3-zfs-functions.patch @@ -0,0 +1,51 @@ +From 00478e1b5141f8b6ceaf14c173382d1aa11878b9 Mon Sep 17 00:00:00 2001 +From: Tony Hutter +Date: Thu, 6 Feb 2020 09:28:20 -0800 +Subject: [PATCH] Fix zfs-functions packaging bug + +This fixes a bug where the generated zfs-functions was being included along +with original zfs-functions.in in the make dist tarball. This caused an +unfortunate series of events during build/packaging that resulted in the +RPM-installed /etc/zfs/zfs-functions listing the paths as: + +ZFS="/usr/local/sbin/zfs" +ZED="/usr/local/sbin/zed" +ZPOOL="/usr/local/sbin/zpool" + +When they should have been: + +ZFS="/sbin/zfs" +ZED="/sbin/zed" +ZPOOL="/sbin/zpool" + +This affects init.d (non-systemd) distros like CentOS 6. + +Fixes: #9443 + +Signed-off-by: Tony Hutter +--- + contrib/initramfs/Makefile.am | 7 ++----- + 1 file changed, 2 insertions(+), 5 deletions(-) + +diff --git a/contrib/initramfs/Makefile.am b/contrib/initramfs/Makefile.am +index 52bdeb2afe5..4e52e8ea5e9 100644 +--- a/contrib/initramfs/Makefile.am ++++ b/contrib/initramfs/Makefile.am +@@ -6,15 +6,12 @@ initrd_SCRIPTS = \ + SUBDIRS = hooks scripts + + EXTRA_DIST = \ +- $(top_srcdir)/etc/init.d/zfs \ +- $(top_srcdir)/etc/init.d/zfs-functions \ ++ $(top_srcdir)/etc/init.d/zfs.in \ ++ $(top_srcdir)/etc/init.d/zfs-functions.in \ + $(top_srcdir)/contrib/initramfs/conf.d/zfs \ + $(top_srcdir)/contrib/initramfs/conf-hooks.d/zfs \ + $(top_srcdir)/contrib/initramfs/README.initramfs.markdown + +-$(top_srcdir)/etc/init.d/zfs $(top_srcdir)/etc/init.d/zfs-functions: +- $(MAKE) -C $(top_srcdir)/etc/init.d zfs zfs-functions +- + install-initrdSCRIPTS: $(EXTRA_DIST) + for d in conf.d conf-hooks.d scripts/local-top; do \ + $(MKDIR_P) $(DESTDIR)$(initrddir)/$$d; \ diff --git a/sys-fs/zfs-utils/zfs-utils-0.8.3-r1.ebuild b/sys-fs/zfs-utils/zfs-utils-0.8.3-r1.ebuild new file mode 100644 index 00000000..ec2d2ef6 --- /dev/null +++ b/sys-fs/zfs-utils/zfs-utils-0.8.3-r1.ebuild @@ -0,0 +1,130 @@ +# 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_{6,7,8}} ) + +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}/${PV}-fno-common.patch" + "${FILESDIR}/${PV}-zfs-functions.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.3.ebuild b/sys-fs/zfs-utils/zfs-utils-0.8.3.ebuild deleted file mode 100644 index 389c5743..00000000 --- a/sys-fs/zfs-utils/zfs-utils-0.8.3.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_{6,7,8}} ) - -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