1 |
commit: 7e3732f96f34540928841e6fe3be3a0978767d31 |
2 |
Author: James Le Cuirot <chewi <AT> gentoo <DOT> org> |
3 |
AuthorDate: Sun Nov 19 13:24:36 2017 +0000 |
4 |
Commit: James Le Cuirot <chewi <AT> gentoo <DOT> org> |
5 |
CommitDate: Tue Nov 21 20:43:35 2017 +0000 |
6 |
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=7e3732f9 |
7 |
|
8 |
sys-cluster/glusterfs: Fix building against glibc 2.26 due to no RPC |
9 |
|
10 |
Bug: https://bugs.gentoo.org/381391 |
11 |
Package-Manager: Portage-2.3.14, Repoman-2.3.6 |
12 |
|
13 |
.../files/glusterfs-3.12.3-libtirpc.patch | 45 ++++++++++++++++++++++ |
14 |
sys-cluster/glusterfs/glusterfs-3.12.2.ebuild | 7 +++- |
15 |
sys-cluster/glusterfs/metadata.xml | 1 + |
16 |
3 files changed, 52 insertions(+), 1 deletion(-) |
17 |
|
18 |
diff --git a/sys-cluster/glusterfs/files/glusterfs-3.12.3-libtirpc.patch b/sys-cluster/glusterfs/files/glusterfs-3.12.3-libtirpc.patch |
19 |
new file mode 100644 |
20 |
index 00000000000..fdc1f1f9597 |
21 |
--- /dev/null |
22 |
+++ b/sys-cluster/glusterfs/files/glusterfs-3.12.3-libtirpc.patch |
23 |
@@ -0,0 +1,45 @@ |
24 |
+From 6394d8d8e90d5400b49005bf3005523b2e306b2c Mon Sep 17 00:00:00 2001 |
25 |
+From: James Le Cuirot <chewi@g.o> |
26 |
+Date: Mon, 20 Nov 2017 20:44:45 +0000 |
27 |
+Subject: [PATCH] build: Allow libtirpc to be explicitly requested |
28 |
+ |
29 |
+Some distributions like Gentoo no longer include the RPC stuff in |
30 |
+their glibc packages. |
31 |
+ |
32 |
+Signed-off-by: James Le Cuirot <chewi@g.o> |
33 |
+--- |
34 |
+ configure.ac | 11 +++++++++++ |
35 |
+ 1 file changed, 11 insertions(+) |
36 |
+ |
37 |
+diff --git a/configure.ac b/configure.ac |
38 |
+index ce689225c..90d2f98c8 100644 |
39 |
+--- a/configure.ac |
40 |
++++ b/configure.ac |
41 |
+@@ -291,6 +291,10 @@ else |
42 |
+ CFLAGS="${CFLAGS} -g -rdynamic" |
43 |
+ fi |
44 |
+ |
45 |
++AC_ARG_WITH([libtirpc], |
46 |
++ AS_HELP_STRING([--with-libtirpc], [Use libtirpc as RPC implementation (instead of sunrpc)]), |
47 |
++ [], [with_libtirpc=no]) |
48 |
++ |
49 |
+ AC_ARG_ENABLE([privport_tracking], |
50 |
+ AC_HELP_STRING([--disable-privport_tracking], |
51 |
+ [Disable internal tracking of privileged ports.])) |
52 |
+@@ -1050,6 +1054,13 @@ AC_SUBST(GF_DISTRIBUTION) |
53 |
+ GF_HOST_OS="" |
54 |
+ GF_LDFLAGS="-rdynamic" |
55 |
+ |
56 |
++if test "x$with_libtirpc" = "xyes" ; then |
57 |
++ PKG_CHECK_MODULES([TIRPC], [libtirpc], |
58 |
++ [GF_CFLAGS="$GF_CFLAGS $TIRPC_CFLAGS"; GF_LDFLAGS="$GF_LDFLAGS $TIRPC_LIBS";], |
59 |
++ [AC_MSG_ERROR([libtirpc requested but library not found])] |
60 |
++ ) |
61 |
++fi |
62 |
++ |
63 |
+ dnl check for gcc -Werror=format-security |
64 |
+ saved_CFLAGS=$CFLAGS |
65 |
+ CFLAGS="-Wformat -Werror=format-security" |
66 |
+-- |
67 |
+2.15.0 |
68 |
+ |
69 |
|
70 |
diff --git a/sys-cluster/glusterfs/glusterfs-3.12.2.ebuild b/sys-cluster/glusterfs/glusterfs-3.12.2.ebuild |
71 |
index f5220e9f181..dc1e9dfbba1 100644 |
72 |
--- a/sys-cluster/glusterfs/glusterfs-3.12.2.ebuild |
73 |
+++ b/sys-cluster/glusterfs/glusterfs-3.12.2.ebuild |
74 |
@@ -14,7 +14,7 @@ SRC_URI="https://download.gluster.org/pub/gluster/${PN}/$(get_version_component_ |
75 |
LICENSE="|| ( GPL-2 LGPL-3+ )" |
76 |
SLOT="0" |
77 |
KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~x86" |
78 |
-IUSE="bd-xlator crypt-xlator debug emacs +fuse +georeplication glupy infiniband qemu-block rsyslog static-libs +syslog systemtap test +tiering vim-syntax +xml" |
79 |
+IUSE="bd-xlator crypt-xlator debug emacs +fuse +georeplication glupy infiniband +libtirpc qemu-block rsyslog static-libs +syslog systemtap test +tiering vim-syntax +xml" |
80 |
|
81 |
REQUIRED_USE="georeplication? ( ${PYTHON_REQUIRED_USE} ) |
82 |
glupy? ( ${PYTHON_REQUIRED_USE} )" |
83 |
@@ -28,6 +28,8 @@ RDEPEND="bd-xlator? ( sys-fs/lvm2 ) |
84 |
fuse? ( >=sys-fs/fuse-2.7.0:0 ) |
85 |
georeplication? ( ${PYTHON_DEPS} ) |
86 |
infiniband? ( sys-fabric/libibverbs:* sys-fabric/librdmacm:* ) |
87 |
+ libtirpc? ( net-libs/libtirpc:= ) |
88 |
+ !libtirpc? ( elibc_glibc? ( sys-libs/glibc[rpc(-)] ) ) |
89 |
qemu-block? ( dev-libs/glib:2 ) |
90 |
systemtap? ( dev-util/systemtap ) |
91 |
tiering? ( dev-db/sqlite:3 ) |
92 |
@@ -37,6 +39,7 @@ RDEPEND="bd-xlator? ( sys-fs/lvm2 ) |
93 |
dev-libs/openssl:=[-bindist] |
94 |
dev-libs/userspace-rcu:= |
95 |
|| ( sys-libs/glibc sys-libs/argp-standalone ) |
96 |
+ net-libs/rpcsvc-proto |
97 |
sys-apps/util-linux" |
98 |
DEPEND="${RDEPEND} |
99 |
virtual/acl |
100 |
@@ -57,6 +60,7 @@ SITEFILE="50${PN}-mode-gentoo.el" |
101 |
PATCHES=( |
102 |
"${FILESDIR}/${PN}-3.12.2-poisoned-sysmacros.patch" |
103 |
"${FILESDIR}/${PN}-3.12.2-silent_rules.patch" |
104 |
+ "${FILESDIR}/${PN}-3.12.3-libtirpc.patch" |
105 |
) |
106 |
|
107 |
DOCS=( AUTHORS ChangeLog NEWS README.md THANKS ) |
108 |
@@ -108,6 +112,7 @@ src_configure() { |
109 |
$(use_enable test cmocka) \ |
110 |
$(use_enable tiering) \ |
111 |
$(use_enable xml xml-output) \ |
112 |
+ $(use_with libtirpc) \ |
113 |
--with-tmpfilesdir="${EPREFIX}"/etc/tmpfiles.d \ |
114 |
--docdir="${EPREFIX}"/usr/share/doc/${PF} \ |
115 |
--localstatedir="${EPREFIX}"/var |
116 |
|
117 |
diff --git a/sys-cluster/glusterfs/metadata.xml b/sys-cluster/glusterfs/metadata.xml |
118 |
index dbe49ffe848..805ab9d1871 100644 |
119 |
--- a/sys-cluster/glusterfs/metadata.xml |
120 |
+++ b/sys-cluster/glusterfs/metadata.xml |
121 |
@@ -16,6 +16,7 @@ |
122 |
<flag name="georeplication">Enable support for georeplication (requires <pkg>dev-lang/python</pkg>)</flag> |
123 |
<flag name="infiniband">Add support for Infiniband ibverbs transport. |
124 |
Libraries can be found in science overlay</flag> |
125 |
+ <flag name="libtirpc">Build against <pkg>net-libs/libtirpc</pkg> for RPC support</flag> |
126 |
<flag name="rsyslog">Install configuration snippet for <pkg>app-admin/rsyslog</pkg></flag> |
127 |
<flag name="qemu-block">Transparently create files as QCow2/QED images in the backend, including the possibility to snapshot.</flag> |
128 |
<flag name="systemtap">Enable support for <pkg>dev-util/systemtap</pkg></flag> |