summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJames Le Cuirot <chewi@gentoo.org>2018-03-09 23:33:30 +0000
committerJames Le Cuirot <chewi@gentoo.org>2018-03-09 23:34:49 +0000
commitc4217a516c1e8dc5b04400198f9b0e20a37d0bd0 (patch)
tree0b982094ec4d9e3e758ab4d723b50b4911efcb0f
parentsys-apps/portage: rsync-verify off by default (bug 649276) (diff)
downloadgentoo-c4217a516c1e8dc5b04400198f9b0e20a37d0bd0.tar.gz
gentoo-c4217a516c1e8dc5b04400198f9b0e20a37d0bd0.tar.bz2
gentoo-c4217a516c1e8dc5b04400198f9b0e20a37d0bd0.zip
sys-cluster/glusterfs: Add ipv6 USE flag to control ipv6-default
This is important because ipv6-default breaks Gluster for systems that have IPv6 disabled. A couple of patches were required because --without-ipv6-default is broken and the configure summary is sometimes misleading. Bug: https://bugs.gentoo.org/639838 Package-Manager: Portage-2.3.24, Repoman-2.3.6
-rw-r--r--sys-cluster/glusterfs/files/glusterfs-TIRPC-config-summary.patch48
-rw-r--r--sys-cluster/glusterfs/files/glusterfs-without-ipv6-default.patch38
-rw-r--r--sys-cluster/glusterfs/glusterfs-4.0.0-r1.ebuild (renamed from sys-cluster/glusterfs/glusterfs-4.0.0.ebuild)9
-rw-r--r--sys-cluster/glusterfs/glusterfs-9999.ebuild9
-rw-r--r--sys-cluster/glusterfs/metadata.xml1
5 files changed, 99 insertions, 6 deletions
diff --git a/sys-cluster/glusterfs/files/glusterfs-TIRPC-config-summary.patch b/sys-cluster/glusterfs/files/glusterfs-TIRPC-config-summary.patch
new file mode 100644
index 00000000000..c19ac7667b0
--- /dev/null
+++ b/sys-cluster/glusterfs/files/glusterfs-TIRPC-config-summary.patch
@@ -0,0 +1,48 @@
+From 1e1c3cc0761879e8a2e4d4a884dacc555bbe7fa0 Mon Sep 17 00:00:00 2001
+From: James Le Cuirot <chewi@gentoo.org>
+Date: Fri, 9 Mar 2018 23:06:43 +0000
+Subject: [PATCH 2/2] build: Fix misleading TIRPC result in configure summary
+
+Requesting ipv6-default even if you explicitly disable libtirpc will
+then implicitly enable libtirpc because that is required. That is fine
+but the configure summary should not then show TIRPC as disabled when
+it is not.
+
+The result has also been made clearer by stating that TIRPC is
+"missing" when it has been tried but not found.
+
+BUG: 1553938
+Change-Id: I945bd6859aaf3defa682b0d05ee34a9827b9c45f
+Signed-off-by: James Le Cuirot <chewi@gentoo.org>
+---
+ configure.ac | 9 ++++-----
+ 1 file changed, 4 insertions(+), 5 deletions(-)
+
+diff --git a/configure.ac b/configure.ac
+index d42179182..9571dac76 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -1097,16 +1097,15 @@ AC_SUBST(GF_DISTRIBUTION)
+ GF_HOST_OS=""
+ GF_LDFLAGS="-rdynamic"
+
+-DISABLE_LIBTIRPC=no
+ dnl include tirpc for IPv6 builds
+ if test "x$with_libtirpc" = "xyes" || test "x$with_ipv6_default" = "xyes" ; then
+ PKG_CHECK_MODULES([TIRPC], [libtirpc],
+- [GF_CFLAGS="$GF_CFLAGS $TIRPC_CFLAGS"; GF_LDFLAGS="$GF_LDFLAGS $TIRPC_LIBS";],
+- [DISABLE_LIBTIRPC=yes])
++ [with_libtirpc=yes; GF_CFLAGS="$GF_CFLAGS $TIRPC_CFLAGS"; GF_LDFLAGS="$GF_LDFLAGS $TIRPC_LIBS";],
++ [with_libtirpc=missing])
+ fi
+
+-if test "x$DISABLE_LIBTIRPC" = "xyes" ; then
+- with_libtirpc=no; with_ipv6_default=no
++if test "x$with_libtirpc" = "xmissing" ; then
++ with_ipv6_default=no
+ AC_CHECK_HEADERS([rpc/rpc.h],[
+ AC_MSG_WARN([
+ ---------------------------------------------------------------------------------
+--
+2.16.1
+
diff --git a/sys-cluster/glusterfs/files/glusterfs-without-ipv6-default.patch b/sys-cluster/glusterfs/files/glusterfs-without-ipv6-default.patch
new file mode 100644
index 00000000000..ed30a6a293f
--- /dev/null
+++ b/sys-cluster/glusterfs/files/glusterfs-without-ipv6-default.patch
@@ -0,0 +1,38 @@
+From c77b8f23af7d285fd82dbd3e4db3fa2c09899e58 Mon Sep 17 00:00:00 2001
+From: James Le Cuirot <chewi@gentoo.org>
+Date: Fri, 9 Mar 2018 22:39:41 +0000
+Subject: [PATCH 1/2] build: Fix configure --without-ipv6-default behaviour
+
+The current behaviour disables ipv6-default when no switch is given at
+all but otherwise checks if libtirpc was requested, regardless of
+whether you have given --with-ipv6-default or --without-ipv6-default.
+
+I believe the intention was to enable when libtirpc is requested by
+default but otherwise respect the switch given.
+
+This is important because ipv6-default breaks Gluster for systems that
+have IPv6 disabled.
+
+BUG: 1553926
+Change-Id: I76b91ae2699574b2e5b777453732bb5cbd79bbca
+Signed-off-by: James Le Cuirot <chewi@gentoo.org>
+---
+ configure.ac | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/configure.ac b/configure.ac
+index 827ec0518..d42179182 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -315,7 +315,7 @@ AC_ARG_WITH([libtirpc],
+
+ AC_ARG_WITH([ipv6-default],
+ AC_HELP_STRING([--with-ipv6-default], [Set IPv6 as default.]),
+- [with_ipv6_default=$with_libtirpc], [with_ipv6_default=no])
++ [], [with_ipv6_default=$with_libtirpc])
+
+ if test "x$ac_cv_file__etc_redhat_release" = "xyes"; then
+ if rpm -qa centos-release | grep centos; then
+--
+2.16.1
+
diff --git a/sys-cluster/glusterfs/glusterfs-4.0.0.ebuild b/sys-cluster/glusterfs/glusterfs-4.0.0-r1.ebuild
index a4a5bf36143..9d29f16de07 100644
--- a/sys-cluster/glusterfs/glusterfs-4.0.0.ebuild
+++ b/sys-cluster/glusterfs/glusterfs-4.0.0-r1.ebuild
@@ -20,10 +20,11 @@ HOMEPAGE="https://www.gluster.org/"
LICENSE="|| ( GPL-2 LGPL-3+ )"
SLOT="0"
-IUSE="bd-xlator crypt-xlator debug emacs +fuse +georeplication glupy infiniband +libtirpc qemu-block rsyslog static-libs +syslog systemtap test +tiering vim-syntax +xml"
+IUSE="bd-xlator crypt-xlator debug emacs +fuse +georeplication glupy infiniband ipv6 +libtirpc qemu-block rsyslog static-libs +syslog systemtap test +tiering vim-syntax +xml"
REQUIRED_USE="georeplication? ( ${PYTHON_REQUIRED_USE} )
- glupy? ( ${PYTHON_REQUIRED_USE} )"
+ glupy? ( ${PYTHON_REQUIRED_USE} )
+ ipv6? ( libtirpc )"
# the tests must be run as root
RESTRICT="test"
@@ -66,6 +67,8 @@ SITEFILE="50${PN}-mode-gentoo.el"
PATCHES=(
"${FILESDIR}/${PN}-3.12.2-poisoned-sysmacros.patch"
"${FILESDIR}/${PN}-3.12.2-silent_rules.patch"
+ "${FILESDIR}/${PN}-without-ipv6-default.patch"
+ "${FILESDIR}/${PN}-TIRPC-config-summary.patch"
)
DOCS=( AUTHORS ChangeLog NEWS README.md THANKS )
@@ -117,7 +120,7 @@ src_configure() {
$(use_enable test cmocka) \
$(use_enable tiering) \
$(use_enable xml xml-output) \
- $(use_with libtirpc ipv6-default) \
+ $(use_with ipv6 ipv6-default) \
$(use_with libtirpc) \
--with-tmpfilesdir="${EPREFIX}"/etc/tmpfiles.d \
--docdir="${EPREFIX}"/usr/share/doc/${PF} \
diff --git a/sys-cluster/glusterfs/glusterfs-9999.ebuild b/sys-cluster/glusterfs/glusterfs-9999.ebuild
index 2733e778803..c48c92ed2f0 100644
--- a/sys-cluster/glusterfs/glusterfs-9999.ebuild
+++ b/sys-cluster/glusterfs/glusterfs-9999.ebuild
@@ -20,10 +20,11 @@ HOMEPAGE="https://www.gluster.org/"
LICENSE="|| ( GPL-2 LGPL-3+ )"
SLOT="0"
-IUSE="bd-xlator crypt-xlator debug emacs +fuse +georeplication glupy infiniband +libtirpc qemu-block rsyslog static-libs +syslog systemtap test +tiering vim-syntax +xml"
+IUSE="bd-xlator crypt-xlator debug emacs +fuse +georeplication glupy infiniband ipv6 +libtirpc qemu-block rsyslog static-libs +syslog systemtap test +tiering vim-syntax +xml"
REQUIRED_USE="georeplication? ( ${PYTHON_REQUIRED_USE} )
- glupy? ( ${PYTHON_REQUIRED_USE} )"
+ glupy? ( ${PYTHON_REQUIRED_USE} )
+ ipv6? ( libtirpc )"
# the tests must be run as root
RESTRICT="test"
@@ -66,6 +67,8 @@ SITEFILE="50${PN}-mode-gentoo.el"
PATCHES=(
"${FILESDIR}/${PN}-3.12.2-poisoned-sysmacros.patch"
"${FILESDIR}/${PN}-4.1.0-silent_rules.patch"
+ "${FILESDIR}/${PN}-without-ipv6-default.patch"
+ "${FILESDIR}/${PN}-TIRPC-config-summary.patch"
)
DOCS=( AUTHORS ChangeLog NEWS README.md THANKS )
@@ -117,7 +120,7 @@ src_configure() {
$(use_enable test cmocka) \
$(use_enable tiering) \
$(use_enable xml xml-output) \
- $(use_with libtirpc ipv6-default) \
+ $(use_with ipv6 ipv6-default) \
$(use_with libtirpc) \
--with-tmpfilesdir="${EPREFIX}"/etc/tmpfiles.d \
--docdir="${EPREFIX}"/usr/share/doc/${PF} \
diff --git a/sys-cluster/glusterfs/metadata.xml b/sys-cluster/glusterfs/metadata.xml
index bc97470af6a..ce2361e3e3e 100644
--- a/sys-cluster/glusterfs/metadata.xml
+++ b/sys-cluster/glusterfs/metadata.xml
@@ -16,6 +16,7 @@
<flag name="georeplication">Enable support for georeplication (requires <pkg>dev-lang/python</pkg>)</flag>
<flag name="infiniband">Add support for Infiniband ibverbs transport.
Libraries can be found in science overlay</flag>
+ <flag name="ipv6">Use IPv6 by default, requires libtirpc</flag>
<flag name="libtirpc">Build against <pkg>net-libs/libtirpc</pkg> for RPC support</flag>
<flag name="rsyslog">Install configuration snippet for <pkg>app-admin/rsyslog</pkg></flag>
<flag name="qemu-block">Transparently create files as QCow2/QED images in the backend, including the possibility to snapshot.</flag>