summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGeorgy Yakovlev <gyakovlev@gentoo.org>2020-02-06 20:37:58 -0800
committerGeorgy Yakovlev <gyakovlev@gentoo.org>2020-02-06 21:11:19 -0800
commit2a8fc3d832d03e405a2dcfae98fd246012b63c7a (patch)
treee1793dbc77187bdc3bbc637547866f15aade6726 /sys-fs/zfs
parentapp-text/calibre: Bump to version 4.10.0 (diff)
downloadgentoo-2a8fc3d832d03e405a2dcfae98fd246012b63c7a.tar.gz
gentoo-2a8fc3d832d03e405a2dcfae98fd246012b63c7a.tar.bz2
gentoo-2a8fc3d832d03e405a2dcfae98fd246012b63c7a.zip
sys-fs/zfs: revbump 0.8.3, drop py2, gcc10 compat, fixes
Bug: https://bugs.gentoo.org/693678 Bug: https://bugs.gentoo.org/706534 Package-Manager: Portage-2.3.87, Repoman-2.3.20 Signed-off-by: Georgy Yakovlev <gyakovlev@gentoo.org>
Diffstat (limited to 'sys-fs/zfs')
-rw-r--r--sys-fs/zfs/files/0.8.3-fno-common.patch83
-rw-r--r--sys-fs/zfs/files/0.8.3-zfs-functions.patch51
-rw-r--r--sys-fs/zfs/zfs-0.8.3-r1.ebuild (renamed from sys-fs/zfs/zfs-0.8.3.ebuild)19
3 files changed, 146 insertions, 7 deletions
diff --git a/sys-fs/zfs/files/0.8.3-fno-common.patch b/sys-fs/zfs/files/0.8.3-fno-common.patch
new file mode 100644
index 000000000000..3b09d8bbc597
--- /dev/null
+++ b/sys-fs/zfs/files/0.8.3-fno-common.patch
@@ -0,0 +1,83 @@
+From af09c050e95bebbaeca52156218f3f91e8c9951a Mon Sep 17 00:00:00 2001
+From: Romain Dolbeau <romain.dolbeau@european-processor-initiative.eu>
+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 <behlendorf1@llnl.gov>
+Signed-off-by: Romain Dolbeau <romain.dolbeau@european-processor-initiative.eu>
+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/files/0.8.3-zfs-functions.patch b/sys-fs/zfs/files/0.8.3-zfs-functions.patch
new file mode 100644
index 000000000000..9cce3e1c1a7d
--- /dev/null
+++ b/sys-fs/zfs/files/0.8.3-zfs-functions.patch
@@ -0,0 +1,51 @@
+From 00478e1b5141f8b6ceaf14c173382d1aa11878b9 Mon Sep 17 00:00:00 2001
+From: Tony Hutter <hutter2@llnl.gov>
+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 <hutter2@llnl.gov>
+---
+ 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/zfs-0.8.3.ebuild b/sys-fs/zfs/zfs-0.8.3-r1.ebuild
index 9ac492e30ce3..df59d685573c 100644
--- a/sys-fs/zfs/zfs-0.8.3.ebuild
+++ b/sys-fs/zfs/zfs-0.8.3-r1.ebuild
@@ -4,15 +4,15 @@
EAPI=7
DISTUTILS_OPTIONAL=1
-PYTHON_COMPAT=( python{2_7,3_{6,7}} )
+PYTHON_COMPAT=( python3_{6,7} )
-inherit bash-completion-r1 flag-o-matic linux-info linux-mod distutils-r1 systemd toolchain-funcs udev usr-ldscript
+inherit bash-completion-r1 flag-o-matic linux-info distutils-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
+ inherit autotools git-r3 linux-mod
EGIT_REPO_URI="https://github.com/zfsonlinux/zfs.git"
else
SRC_URI="https://github.com/zfsonlinux/${PN}/releases/download/${P}/${P}.tar.gz"
@@ -68,7 +68,11 @@ REQUIRED_USE="${PYTHON_REQUIRED_USE}"
RESTRICT="test"
-PATCHES=( "${FILESDIR}/bash-completion-sudo.patch" )
+PATCHES=(
+ "${FILESDIR}/bash-completion-sudo.patch"
+ "${FILESDIR}/${PV}-fno-common.patch"
+ "${FILESDIR}/${PV}-zfs-functions.patch"
+)
pkg_setup() {
if use kernel_linux && use test-suite; then
@@ -111,6 +115,10 @@ src_prepare() {
# prevent errors showing up on zfs-mount stop, #647688
# openrc will unmount all filesystems anyway.
sed -i "/^ZFS_UNMOUNT=/ s/yes/no/" etc/init.d/zfs.in || die
+
+ # needed to get files regenerated
+ # https://github.com/zfsonlinux/zfs/issues/9443
+ rm -v etc/init.d/zfs{,-functions} || die
}
src_configure() {
@@ -138,9 +146,6 @@ src_configure() {
)
econf "${myconf[@]}"
-
- # temp hack for https://github.com/zfsonlinux/zfs/issues/9443
- sed -i "s@/usr/local/@"${EPREFIX}/"@g" etc/init.d/zfs-functions || die
}
src_compile() {