commit:     c4217a516c1e8dc5b04400198f9b0e20a37d0bd0
Author:     James Le Cuirot <chewi <AT> gentoo <DOT> org>
AuthorDate: Fri Mar  9 23:33:30 2018 +0000
Commit:     James Le Cuirot <chewi <AT> gentoo <DOT> org>
CommitDate: Fri Mar  9 23:34:49 2018 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=c4217a51

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

 .../files/glusterfs-TIRPC-config-summary.patch     | 48 ++++++++++++++++++++++
 .../files/glusterfs-without-ipv6-default.patch     | 38 +++++++++++++++++
 ...erfs-4.0.0.ebuild => glusterfs-4.0.0-r1.ebuild} |  9 ++--
 sys-cluster/glusterfs/glusterfs-9999.ebuild        |  9 ++--
 sys-cluster/glusterfs/metadata.xml                 |  1 +
 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 <[email protected]>
+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 <[email protected]>
+---
+ 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 <[email protected]>
+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 <[email protected]>
+---
+ 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
similarity index 95%
rename from sys-cluster/glusterfs/glusterfs-4.0.0.ebuild
rename to 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>

Reply via email to