summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--sys-fs/zfs-utils/files/0.8.3-fno-common.patch83
-rw-r--r--sys-fs/zfs-utils/files/0.8.3-zfs-functions.patch51
-rw-r--r--sys-fs/zfs-utils/zfs-utils-0.8.3-r1.ebuild (renamed from sys-fs/zfs-utils/zfs-utils-0.8.3.ebuild)6
3 files changed, 139 insertions, 1 deletions
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 <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-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 <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-utils/zfs-utils-0.8.3.ebuild b/sys-fs/zfs-utils/zfs-utils-0.8.3-r1.ebuild
index 389c5743..ec2d2ef6 100644
--- a/sys-fs/zfs-utils/zfs-utils-0.8.3.ebuild
+++ b/sys-fs/zfs-utils/zfs-utils-0.8.3-r1.ebuild
@@ -61,7 +61,11 @@ RESTRICT="test"
S="${WORKDIR}/${MY_P}"
-PATCHES=( "${FILESDIR}/bash-completion-sudo.patch" )
+PATCHES=(
+ "${FILESDIR}/bash-completion-sudo.patch"
+ "${FILESDIR}/${PV}-fno-common.patch"
+ "${FILESDIR}/${PV}-zfs-functions.patch"
+)
src_prepare() {
default