commit:     f3f267392c8038f66c0911ec824cd21a8179db6c
Author:     Tiziano Müller <dev-zero <AT> gentoo <DOT> org>
AuthorDate: Fri Sep  4 13:24:34 2015 +0000
Commit:     Tiziano Müller <dev-zero <AT> gentoo <DOT> org>
CommitDate: Fri Sep  4 13:24:34 2015 +0000
URL:        https://gitweb.gentoo.org/dev/dev-zero.git/commit/?id=f3f26739

sys-cluster/glusterfs: add version bump to 3.7.3

 sys-cluster/glusterfs/Manifest                     |   1 +
 .../glusterfs/files/50glusterfs-mode-gentoo.el     |   5 +
 sys-cluster/glusterfs/files/glusterd-r2.initd      |  33 ++
 sys-cluster/glusterfs/files/glusterd.initd         |  36 ++
 .../files/glusterfs-3.4.0-silent_rules.patch       |  23 +
 .../files/glusterfs-3.6.5-build-shared-only.patch  | 547 +++++++++++++++++++++
 sys-cluster/glusterfs/files/glusterfs-r1.initd     | 122 +++++
 sys-cluster/glusterfs/files/glusterfs.confd        |   6 +
 sys-cluster/glusterfs/files/glusterfs.initd        | 120 +++++
 sys-cluster/glusterfs/files/glusterfs.logrotate    |  34 ++
 sys-cluster/glusterfs/files/glusterfs.vim          |   8 +
 sys-cluster/glusterfs/glusterfs-3.7.3.ebuild       | 188 +++++++
 sys-cluster/glusterfs/metadata.xml                 |  22 +
 13 files changed, 1145 insertions(+)

diff --git a/sys-cluster/glusterfs/Manifest b/sys-cluster/glusterfs/Manifest
new file mode 100644
index 0000000..5d405a7
--- /dev/null
+++ b/sys-cluster/glusterfs/Manifest
@@ -0,0 +1 @@
+DIST glusterfs-3.7.3.tar.gz 7446956 SHA256 
1beaec44d2ac47ebc674278851b3e332feaeaf631edc26cd5efe81a8f3edbf75 SHA512 
ed29647ebd4ae757649d63cfd86b08eae028bc5faeb47b5f8da78a5bb904c9dc3ffe9bc2be5d779f2427c8c97b18d1db0797c896615cb392c3ea584568814d9d
 WHIRLPOOL 
849ac22cfb0ac52a58a717d4ade4df7cc222860a85535cda5875d6481f2a89bc60afc1523d697003f52d859f7ca0c9d459daee76dec1494059343603373c89f4

diff --git a/sys-cluster/glusterfs/files/50glusterfs-mode-gentoo.el 
b/sys-cluster/glusterfs/files/50glusterfs-mode-gentoo.el
new file mode 100644
index 0000000..c14b0d8
--- /dev/null
+++ b/sys-cluster/glusterfs/files/50glusterfs-mode-gentoo.el
@@ -0,0 +1,5 @@
+
+;;; puppet-mode site-lisp configuration
+
+(add-to-list 'load-path "@SITELISP@")
+(autoload 'glusterfs-mode "glusterfs-mode" "Major mode for editing glusterfs 
manifests")

diff --git a/sys-cluster/glusterfs/files/glusterd-r2.initd 
b/sys-cluster/glusterfs/files/glusterd-r2.initd
new file mode 100644
index 0000000..8d4d7b8
--- /dev/null
+++ b/sys-cluster/glusterfs/files/glusterd-r2.initd
@@ -0,0 +1,33 @@
+#!/sbin/runscript
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+description="Gluster elastic volume management daemon"
+command="/usr/sbin/glusterd"
+pidfile="/var/run/${SVCNAME}.pid"
+command_args="-N"
+
+command_background="yes"
+
+depend() {
+       need net
+       before netmount
+}
+
+start_pre() {
+       # Ensure that the GlusterFS auxiliary mount parent directory exists
+       checkpath --directory --owner root:root --mode 0700 /var/run/gluster
+}
+
+start_post() {
+       local c=0
+       ebegin "Waiting for glusterd to start up"
+       while ! /usr/sbin/gluster volume list &>/dev/null && [ "${c}" -lt 
"${glusterd_max_wait_start-60}" ]; do
+               (( ++c ))
+       done
+       [ "${c}" -lt "${glusterd_max_wait_start-60}" ]
+       eend $?
+
+       return 0
+}

diff --git a/sys-cluster/glusterfs/files/glusterd.initd 
b/sys-cluster/glusterfs/files/glusterd.initd
new file mode 100644
index 0000000..bbb28a7
--- /dev/null
+++ b/sys-cluster/glusterfs/files/glusterd.initd
@@ -0,0 +1,36 @@
+#!/sbin/runscript
+# Copyright 1999-2010 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+PIDFILE=/var/run/glusterd.pid
+
+depend() {
+       need net
+       before netmount
+}
+
+start() {
+       ebegin "Starting glusterd"
+       start-stop-daemon --start -q --exec /usr/sbin/glusterd \
+               --pidfile "${PIDFILE}" --make-pidfile --background \
+               -- -N
+       eend $?
+}
+
+stop() {
+       ebegin "Stopping glusterd"
+       start-stop-daemon --stop -q --pidfile "${PIDFILE}"
+       eindent
+
+       einfo "Unmounting GlusterFS filesystems"
+       umount -t fuse.glusterfs -a
+
+       einfo "Killing remaining GlusterFS processes"
+       for PID in $(find /var/lib/glusterd/ -type f -name "*.pid" -exec cat {} 
\;); do
+               kill "${PID}"
+       done
+
+       eoutdent
+       eend $?
+}

diff --git a/sys-cluster/glusterfs/files/glusterfs-3.4.0-silent_rules.patch 
b/sys-cluster/glusterfs/files/glusterfs-3.4.0-silent_rules.patch
new file mode 100644
index 0000000..1b79e0d
--- /dev/null
+++ b/sys-cluster/glusterfs/files/glusterfs-3.4.0-silent_rules.patch
@@ -0,0 +1,23 @@
+--- configure.ac       2013-07-12 19:43:26.000000000 +0200
++++ configure.ac2      2013-07-25 13:58:48.294091861 +0200
+@@ -10,20 +10,6 @@
+ 
+ AM_INIT_AUTOMAKE
+ 
+-m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES(yes)])
+-
+-if make --help 2>&1 | grep -q no-print-directory; then
+-   AM_MAKEFLAGS="$AM_MAKEFLAGS --no-print-directory";
+-fi
+-
+-if make --help 2>&1 | grep -q quiet; then
+-   AM_MAKEFLAGS="$AM_MAKEFLAGS --quiet"
+-fi
+-
+-if libtool --help 2>&1 | grep -q quiet; then
+-   AM_LIBTOOLFLAGS="--quiet";
+-fi
+-
+ AC_CONFIG_HEADERS([config.h])
+ 
+ AC_CONFIG_FILES([Makefile

diff --git 
a/sys-cluster/glusterfs/files/glusterfs-3.6.5-build-shared-only.patch 
b/sys-cluster/glusterfs/files/glusterfs-3.6.5-build-shared-only.patch
new file mode 100644
index 0000000..af5332b
--- /dev/null
+++ b/sys-cluster/glusterfs/files/glusterfs-3.6.5-build-shared-only.patch
@@ -0,0 +1,547 @@
+diff -ur a/rpc/rpc-transport/rdma/src/Makefile.am 
b/rpc/rpc-transport/rdma/src/Makefile.am
+--- a/rpc/rpc-transport/rdma/src/Makefile.am   2015-08-28 10:56:17.750192744 
+0200
++++ b/rpc/rpc-transport/rdma/src/Makefile.am   2015-08-28 11:00:36.322686236 
+0200
+@@ -3,7 +3,7 @@
+ transport_LTLIBRARIES = rdma.la
+ transportdir = $(libdir)/glusterfs/$(PACKAGE_VERSION)/rpc-transport
+ 
+-rdma_la_LDFLAGS = -module -avoid-version -nostartfiles
++rdma_la_LDFLAGS = -module -avoid-version -nostartfiles -shared
+ 
+ rdma_la_SOURCES = rdma.c name.c
+ rdma_la_LIBADD = $(top_builddir)/libglusterfs/src/libglusterfs.la     \
+Only in b/rpc/rpc-transport/rdma/src: Makefile.am.orig
+Only in b/rpc/rpc-transport/rdma/src: Makefile.am.rej
+diff -ur a/rpc/rpc-transport/socket/src/Makefile.am 
b/rpc/rpc-transport/socket/src/Makefile.am
+--- a/rpc/rpc-transport/socket/src/Makefile.am 2015-08-28 10:56:17.750192744 
+0200
++++ b/rpc/rpc-transport/socket/src/Makefile.am 2015-08-28 10:59:35.752102136 
+0200
+@@ -3,7 +3,7 @@
+ rpctransport_LTLIBRARIES = socket.la
+ rpctransportdir = $(libdir)/glusterfs/$(PACKAGE_VERSION)/rpc-transport
+ 
+-socket_la_LDFLAGS = -module -avoid-version
++socket_la_LDFLAGS = -module -avoid-version -shared
+ 
+ socket_la_SOURCES = socket.c name.c
+ socket_la_LIBADD = $(top_builddir)/libglusterfs/src/libglusterfs.la -lssl
+diff -ur a/xlators/cluster/afr/src/Makefile.am 
b/xlators/cluster/afr/src/Makefile.am
+--- a/xlators/cluster/afr/src/Makefile.am      2015-08-28 10:56:17.740192649 
+0200
++++ b/xlators/cluster/afr/src/Makefile.am      2015-08-28 11:01:31.603219323 
+0200
+@@ -10,11 +10,11 @@
+       afr-self-heal-entry.c afr-self-heal-metadata.c afr-self-heald.c \
+       afr-self-heal-name.c
+ 
+-afr_la_LDFLAGS = -module -avoid-version
++afr_la_LDFLAGS = -module -avoid-version -shared
+ afr_la_SOURCES = $(afr_common_source) $(AFR_SELFHEAL_SOURCES) afr.c
+ afr_la_LIBADD = $(top_builddir)/libglusterfs/src/libglusterfs.la
+ 
+-pump_la_LDFLAGS = -module -avoid-version
++pump_la_LDFLAGS = -module -avoid-version -shared
+ pump_la_SOURCES =  $(afr_common_source) $(AFR_SELFHEAL_SOURCES) pump.c
+ pump_la_LIBADD = $(top_builddir)/libglusterfs/src/libglusterfs.la
+ 
+Only in b/xlators/cluster/afr/src: Makefile.am.orig
+Only in b/xlators/cluster/afr/src: Makefile.am.rej
+diff -ur a/xlators/cluster/dht/src/Makefile.am 
b/xlators/cluster/dht/src/Makefile.am
+--- a/xlators/cluster/dht/src/Makefile.am      2015-08-28 10:56:17.740192649 
+0200
++++ b/xlators/cluster/dht/src/Makefile.am      2015-08-28 10:59:35.752102136 
+0200
+@@ -11,13 +11,13 @@
+ nufa_la_SOURCES = $(dht_common_source) nufa.c
+ switch_la_SOURCES = $(dht_common_source) switch.c
+ 
+-dht_la_LDFLAGS = -module -avoid-version
++dht_la_LDFLAGS = -module -avoid-version -shared
+ dht_la_LIBADD = $(top_builddir)/libglusterfs/src/libglusterfs.la
+ 
+-nufa_la_LDFLAGS = -module -avoid-version
++nufa_la_LDFLAGS = -module -avoid-version -shared
+ nufa_la_LIBADD = $(top_builddir)/libglusterfs/src/libglusterfs.la
+ 
+-switch_la_LDFLAGS = -module -avoid-version
++switch_la_LDFLAGS = -module -avoid-version -shared
+ switch_la_LIBADD = $(top_builddir)/libglusterfs/src/libglusterfs.la
+ 
+ noinst_HEADERS = dht-common.h dht-mem-types.h dht-messages.h dht-helper.h \
+Only in b/xlators/cluster/dht/src: Makefile.am.orig
+diff -ur a/xlators/cluster/stripe/src/Makefile.am 
b/xlators/cluster/stripe/src/Makefile.am
+--- a/xlators/cluster/stripe/src/Makefile.am   2015-08-28 10:56:17.740192649 
+0200
++++ b/xlators/cluster/stripe/src/Makefile.am   2015-08-28 10:59:35.752102136 
+0200
+@@ -1,7 +1,7 @@
+ xlator_LTLIBRARIES = stripe.la
+ xlatordir = $(libdir)/glusterfs/$(PACKAGE_VERSION)/xlator/cluster
+ 
+-stripe_la_LDFLAGS = -module -avoid-version
++stripe_la_LDFLAGS = -module -avoid-version -shared
+ 
+ stripe_la_SOURCES = stripe.c stripe-helpers.c \
+       $(top_builddir)/xlators/lib/src/libxlator.c
+Only in b/xlators/cluster/stripe/src: Makefile.am.orig
+diff -ur a/xlators/debug/error-gen/src/Makefile.am 
b/xlators/debug/error-gen/src/Makefile.am
+--- a/xlators/debug/error-gen/src/Makefile.am  2015-08-28 10:56:17.720192456 
+0200
++++ b/xlators/debug/error-gen/src/Makefile.am  2015-08-28 10:59:35.752102136 
+0200
+@@ -2,7 +2,7 @@
+ xlator_LTLIBRARIES = error-gen.la
+ xlatordir = $(libdir)/glusterfs/$(PACKAGE_VERSION)/xlator/debug
+ 
+-error_gen_la_LDFLAGS = -module -avoid-version
++error_gen_la_LDFLAGS = -module -avoid-version -shared
+ 
+ error_gen_la_SOURCES = error-gen.c
+ error_gen_la_LIBADD = $(top_builddir)/libglusterfs/src/libglusterfs.la
+diff -ur a/xlators/debug/io-stats/src/Makefile.am 
b/xlators/debug/io-stats/src/Makefile.am
+--- a/xlators/debug/io-stats/src/Makefile.am   2015-08-28 10:56:17.720192456 
+0200
++++ b/xlators/debug/io-stats/src/Makefile.am   2015-08-28 10:59:35.752102136 
+0200
+@@ -2,7 +2,7 @@
+ xlator_LTLIBRARIES = io-stats.la
+ xlatordir = $(libdir)/glusterfs/$(PACKAGE_VERSION)/xlator/debug
+ 
+-io_stats_la_LDFLAGS = -module -avoid-version
++io_stats_la_LDFLAGS = -module -avoid-version -shared
+ 
+ io_stats_la_SOURCES = io-stats.c
+ io_stats_la_LIBADD = $(top_builddir)/libglusterfs/src/libglusterfs.la
+diff -ur a/xlators/debug/trace/src/Makefile.am 
b/xlators/debug/trace/src/Makefile.am
+--- a/xlators/debug/trace/src/Makefile.am      2015-08-28 10:56:17.720192456 
+0200
++++ b/xlators/debug/trace/src/Makefile.am      2015-08-28 10:59:35.752102136 
+0200
+@@ -2,7 +2,7 @@
+ xlator_LTLIBRARIES = trace.la
+ xlatordir = $(libdir)/glusterfs/$(PACKAGE_VERSION)/xlator/debug
+ 
+-trace_la_LDFLAGS = -module -avoid-version
++trace_la_LDFLAGS = -module -avoid-version -shared
+ 
+ trace_la_SOURCES = trace.c
+ trace_la_LIBADD = $(top_builddir)/libglusterfs/src/libglusterfs.la
+diff -ur a/xlators/encryption/crypt/src/Makefile.am 
b/xlators/encryption/crypt/src/Makefile.am
+--- a/xlators/encryption/crypt/src/Makefile.am 2015-08-28 11:18:28.073021439 
+0200
++++ b/xlators/encryption/crypt/src/Makefile.am 2015-08-28 11:16:28.051864039 
+0200
+@@ -3,7 +3,7 @@
+ xlator_LTLIBRARIES = crypt.la
+ xlatordir = $(libdir)/glusterfs/$(PACKAGE_VERSION)/xlator/encryption
+ 
+-crypt_la_LDFLAGS = -module -avoid-version
++crypt_la_LDFLAGS = -module -avoid-version -shared
+ 
+ crypt_la_SOURCES = keys.c data.c metadata.c atom.c crypt.c
+ crypt_la_LIBADD = $(top_builddir)/libglusterfs/src/libglusterfs.la -lssl 
-lcrypto
+Only in b/xlators/encryption/crypt/src: Makefile.am.orig
+Only in b/xlators/encryption/crypt/src: Makefile.am.rej
+diff -ur a/xlators/encryption/rot-13/src/Makefile.am 
b/xlators/encryption/rot-13/src/Makefile.am
+--- a/xlators/encryption/rot-13/src/Makefile.am        2015-08-28 
10:56:17.720192456 +0200
++++ b/xlators/encryption/rot-13/src/Makefile.am        2015-08-28 
10:59:35.752102136 +0200
+@@ -1,7 +1,7 @@
+ xlator_LTLIBRARIES = rot-13.la
+ xlatordir = $(libdir)/glusterfs/$(PACKAGE_VERSION)/xlator/encryption
+ 
+-rot_13_la_LDFLAGS = -module -avoid-version
++rot_13_la_LDFLAGS = -module -avoid-version -shared
+ 
+ rot_13_la_SOURCES = rot-13.c
+ rot_13_la_LIBADD = $(top_builddir)/libglusterfs/src/libglusterfs.la 
+diff -ur a/xlators/features/changelog/src/Makefile.am 
b/xlators/features/changelog/src/Makefile.am
+--- a/xlators/features/changelog/src/Makefile.am       2015-08-28 
10:56:17.730192551 +0200
++++ b/xlators/features/changelog/src/Makefile.am       2015-08-28 
10:59:35.752102136 +0200
+@@ -5,7 +5,7 @@
+ noinst_HEADERS = changelog-helpers.h changelog-mem-types.h changelog-rt.h \
+       changelog-misc.h changelog-encoders.h changelog-notifier.h
+ 
+-changelog_la_LDFLAGS = -module -avoid-version
++changelog_la_LDFLAGS = -module -avoid-version -shared
+ 
+ changelog_la_SOURCES = changelog.c changelog-rt.c changelog-helpers.c \
+       changelog-encoders.c changelog-notifier.c changelog-barrier.c
+Only in b/xlators/features/changelog/src: Makefile.am.orig
+diff -ur a/xlators/features/compress/src/Makefile.am 
b/xlators/features/compress/src/Makefile.am
+--- a/xlators/features/compress/src/Makefile.am        2015-08-28 
11:18:28.073021439 +0200
++++ b/xlators/features/compress/src/Makefile.am        2015-08-28 
11:17:19.492360095 +0200
+@@ -4,7 +4,7 @@
+ 
+ noinst_HEADERS = cdc.h cdc-mem-types.h
+ 
+-cdc_la_LDFLAGS = -module -avoid-version
++cdc_la_LDFLAGS = -module -avoid-version -shared
+ 
+ cdc_la_SOURCES = cdc.c cdc-helper.c
+ cdc_la_LIBADD = $(top_builddir)/libglusterfs/src/libglusterfs.la $(LIBZ_LIBS)
+Only in b/xlators/features/compress/src: Makefile.am.rej
+diff -ur a/xlators/features/gfid-access/src/Makefile.am 
b/xlators/features/gfid-access/src/Makefile.am
+--- a/xlators/features/gfid-access/src/Makefile.am     2015-08-28 
10:56:17.730192551 +0200
++++ b/xlators/features/gfid-access/src/Makefile.am     2015-08-28 
10:59:35.752102136 +0200
+@@ -1,7 +1,7 @@
+ xlator_LTLIBRARIES = gfid-access.la
+ xlatordir = $(libdir)/glusterfs/$(PACKAGE_VERSION)/xlator/features
+ 
+-gfid_access_la_LDFLAGS = -module -avoid-version
++gfid_access_la_LDFLAGS = -module -avoid-version -shared
+ 
+ gfid_access_la_SOURCES = gfid-access.c
+ gfid_access_la_LIBADD = $(top_builddir)/libglusterfs/src/libglusterfs.la
+diff -ur a/xlators/features/index/src/Makefile.am 
b/xlators/features/index/src/Makefile.am
+--- a/xlators/features/index/src/Makefile.am   2015-08-28 10:56:17.730192551 
+0200
++++ b/xlators/features/index/src/Makefile.am   2015-08-28 10:59:35.752102136 
+0200
+@@ -1,7 +1,7 @@
+ xlator_LTLIBRARIES = index.la
+ xlatordir = $(libdir)/glusterfs/$(PACKAGE_VERSION)/xlator/features
+ 
+-index_la_LDFLAGS = -module -avoid-version
++index_la_LDFLAGS = -module -avoid-version -shared
+ 
+ index_la_SOURCES = index.c
+ index_la_LIBADD = $(top_builddir)/libglusterfs/src/libglusterfs.la
+diff -ur a/xlators/features/locks/src/Makefile.am 
b/xlators/features/locks/src/Makefile.am
+--- a/xlators/features/locks/src/Makefile.am   2015-08-28 10:56:17.730192551 
+0200
++++ b/xlators/features/locks/src/Makefile.am   2015-08-28 10:59:35.752102136 
+0200
+@@ -1,7 +1,7 @@
+ xlator_LTLIBRARIES = locks.la
+ xlatordir = $(libdir)/glusterfs/$(PACKAGE_VERSION)/xlator/features
+ 
+-locks_la_LDFLAGS = -module -avoid-version
++locks_la_LDFLAGS = -module -avoid-version -shared
+ 
+ locks_la_SOURCES = common.c posix.c entrylk.c inodelk.c reservelk.c \
+                  clear.c
+diff -ur a/xlators/features/mac-compat/src/Makefile.am 
b/xlators/features/mac-compat/src/Makefile.am
+--- a/xlators/features/mac-compat/src/Makefile.am      2015-08-28 
10:56:17.730192551 +0200
++++ b/xlators/features/mac-compat/src/Makefile.am      2015-08-28 
10:59:35.752102136 +0200
+@@ -1,7 +1,7 @@
+ xlator_LTLIBRARIES = mac-compat.la
+ xlatordir = $(libdir)/glusterfs/$(PACKAGE_VERSION)/xlator/features
+ 
+-mac_compat_la_LDFLAGS = -module -avoid-version
++mac_compat_la_LDFLAGS = -module -avoid-version -shared
+ 
+ mac_compat_la_SOURCES = mac-compat.c
+ mac_compat_la_LIBADD = $(top_builddir)/libglusterfs/src/libglusterfs.la
+diff -ur a/xlators/features/marker/src/Makefile.am 
b/xlators/features/marker/src/Makefile.am
+--- a/xlators/features/marker/src/Makefile.am  2015-08-28 10:56:17.730192551 
+0200
++++ b/xlators/features/marker/src/Makefile.am  2015-08-28 10:59:35.752102136 
+0200
+@@ -1,7 +1,7 @@
+ xlator_LTLIBRARIES = marker.la
+ xlatordir = $(libdir)/glusterfs/$(PACKAGE_VERSION)/xlator/features
+ 
+-marker_la_LDFLAGS = -module -avoid-version
++marker_la_LDFLAGS = -module -avoid-version -shared
+ 
+ marker_la_SOURCES = marker.c marker-quota.c marker-quota-helper.c 
marker-common.c
+ marker_la_LIBADD = $(top_builddir)/libglusterfs/src/libglusterfs.la
+diff -ur a/xlators/features/protect/src/Makefile.am 
b/xlators/features/protect/src/Makefile.am
+--- a/xlators/features/protect/src/Makefile.am 2015-08-28 10:56:17.730192551 
+0200
++++ b/xlators/features/protect/src/Makefile.am 2015-08-28 10:59:35.752102136 
+0200
+@@ -2,15 +2,15 @@
+ 
+ xlatordir = $(libdir)/glusterfs/$(PACKAGE_VERSION)/xlator/features
+ 
+-prot_dht_la_LDFLAGS = -module -avoid-version
++prot_dht_la_LDFLAGS = -module -avoid-version -shared
+ prot_dht_la_SOURCES = prot_dht.c
+ prot_dht_la_LIBADD  = $(top_builddir)/libglusterfs/src/libglusterfs.la
+ 
+-prot_client_la_LDFLAGS = -module -avoid-version
++prot_client_la_LDFLAGS = -module -avoid-version -shared
+ prot_client_la_SOURCES = prot_client.c
+ prot_client_la_LIBADD  = $(top_builddir)/libglusterfs/src/libglusterfs.la
+ 
+-prot_server_la_LDFLAGS = -module -avoid-version
++prot_server_la_LDFLAGS = -module -avoid-version -shared
+ prot_server_la_SOURCES = prot_server.c
+ prot_server_la_LIBADD  = $(top_builddir)/libglusterfs/src/libglusterfs.la
+ 
+diff -ur a/xlators/features/qemu-block/src/Makefile.am 
b/xlators/features/qemu-block/src/Makefile.am
+--- a/xlators/features/qemu-block/src/Makefile.am      2015-08-28 
10:56:17.730192551 +0200
++++ b/xlators/features/qemu-block/src/Makefile.am      2015-08-28 
11:03:19.464259458 +0200
+@@ -2,7 +2,7 @@
+ xlator_LTLIBRARIES = qemu-block.la
+ xlatordir = $(libdir)/glusterfs/$(PACKAGE_VERSION)/xlator/features
+ 
+-qemu_block_la_LDFLAGS = -module -avoid-version
++qemu_block_la_LDFLAGS = -module -avoid-version -shared
+ qemu_block_la_LIBADD = $(top_builddir)/libglusterfs/src/libglusterfs.la 
$(GLIB_LIBS) $(ZLIB_LIBS) -lrt
+ 
+ qemu_block_la_SOURCES_qemu = \
+Only in b/xlators/features/qemu-block/src: Makefile.am.orig
+Only in b/xlators/features/qemu-block/src: Makefile.am.rej
+diff -ur a/xlators/features/quiesce/src/Makefile.am 
b/xlators/features/quiesce/src/Makefile.am
+--- a/xlators/features/quiesce/src/Makefile.am 2015-08-28 10:56:17.730192551 
+0200
++++ b/xlators/features/quiesce/src/Makefile.am 2015-08-28 10:59:35.752102136 
+0200
+@@ -1,7 +1,7 @@
+ xlator_LTLIBRARIES = quiesce.la
+ xlatordir = $(libdir)/glusterfs/$(PACKAGE_VERSION)/xlator/features
+ 
+-quiesce_la_LDFLAGS = -module -avoid-version
++quiesce_la_LDFLAGS = -module -avoid-version -shared
+ 
+ quiesce_la_SOURCES = quiesce.c
+ quiesce_la_LIBADD = $(top_builddir)/libglusterfs/src/libglusterfs.la
+diff -ur a/xlators/features/quota/src/Makefile.am 
b/xlators/features/quota/src/Makefile.am
+--- a/xlators/features/quota/src/Makefile.am   2015-08-28 10:56:17.730192551 
+0200
++++ b/xlators/features/quota/src/Makefile.am   2015-08-28 10:59:35.752102136 
+0200
+@@ -1,8 +1,8 @@
+ xlator_LTLIBRARIES = quota.la quotad.la
+ xlatordir = $(libdir)/glusterfs/$(PACKAGE_VERSION)/xlator/features
+ 
+-quota_la_LDFLAGS = -module -avoid-version
+-quotad_la_LDFLAGS = -module -avoid-version
++quota_la_LDFLAGS = -module -avoid-version -shared
++quotad_la_LDFLAGS = -module -avoid-version -shared
+ 
+ quota_la_SOURCES = quota.c quota-enforcer-client.c
+ quota_la_LIBADD = $(top_builddir)/libglusterfs/src/libglusterfs.la
+diff -ur a/xlators/features/read-only/src/Makefile.am 
b/xlators/features/read-only/src/Makefile.am
+--- a/xlators/features/read-only/src/Makefile.am       2015-08-28 
10:56:17.730192551 +0200
++++ b/xlators/features/read-only/src/Makefile.am       2015-08-28 
10:59:35.752102136 +0200
+@@ -4,12 +4,12 @@
+ 
+ noinst_HEADERS = read-only-common.h
+ 
+-read_only_la_LDFLAGS = -module -avoid-version
++read_only_la_LDFLAGS = -module -avoid-version -shared
+ 
+ read_only_la_SOURCES = read-only.c read-only-common.c
+ read_only_la_LIBADD = $(top_builddir)/libglusterfs/src/libglusterfs.la 
+ 
+-worm_la_LDFLAGS = -module -avoid-version
++worm_la_LDFLAGS = -module -avoid-version -shared
+ 
+ worm_la_SOURCES = read-only-common.c worm.c
+ worm_la_LIBADD = $(top_builddir)/libglusterfs/src/libglusterfs.la
+diff -ur a/xlators/mgmt/glusterd/src/Makefile.am 
b/xlators/mgmt/glusterd/src/Makefile.am
+--- a/xlators/mgmt/glusterd/src/Makefile.am    2015-08-28 10:56:17.730192551 
+0200
++++ b/xlators/mgmt/glusterd/src/Makefile.am    2015-08-28 10:59:35.752102136 
+0200
+@@ -1,7 +1,7 @@
+ xlator_LTLIBRARIES = glusterd.la
+ xlatordir = $(libdir)/glusterfs/$(PACKAGE_VERSION)/xlator/mgmt
+ glusterd_la_CPPFLAGS = $(AM_CPPFLAGS) 
"-DFILTERDIR=\"$(libdir)/glusterfs/$(PACKAGE_VERSION)/filter\""
+-glusterd_la_LDFLAGS = -module -avoid-version
++glusterd_la_LDFLAGS = -module -avoid-version -shared
+ if ENABLE_BD_XLATOR
+ glusterd_la_LDFLAGS += -llvm2app
+ endif
+diff -ur a/xlators/mount/fuse/src/Makefile.am 
b/xlators/mount/fuse/src/Makefile.am
+--- a/xlators/mount/fuse/src/Makefile.am       2015-08-28 10:56:17.720192456 
+0200
++++ b/xlators/mount/fuse/src/Makefile.am       2015-08-28 10:59:35.752102136 
+0200
+@@ -26,7 +26,7 @@
+ fuse_la_SOURCES = fuse-helpers.c fuse-resolve.c fuse-bridge.c \
+       $(CONTRIBDIR)/fuse-lib/misc.c $(mount_source)
+ 
+-fuse_la_LDFLAGS = -module -avoid-version
++fuse_la_LDFLAGS = -module -avoid-version -shared
+ fuse_la_LIBADD = @GF_FUSE_LDADD@
+ 
+ AM_CPPFLAGS = $(GF_CPPFLAGS) \
+Only in b/xlators/mount/fuse/src: Makefile.am.orig
+diff -ur a/xlators/nfs/server/src/Makefile.am 
b/xlators/nfs/server/src/Makefile.am
+--- a/xlators/nfs/server/src/Makefile.am       2015-08-28 10:56:17.740192649 
+0200
++++ b/xlators/nfs/server/src/Makefile.am       2015-08-28 10:59:35.752102136 
+0200
+@@ -1,7 +1,7 @@
+ xlator_LTLIBRARIES = server.la
+ xlatordir = $(libdir)/glusterfs/$(PACKAGE_VERSION)/xlator/nfs
+ nfsrpclibdir = $(top_srcdir)/rpc/rpc-lib/src
+-server_la_LDFLAGS = -module -avoid-version
++server_la_LDFLAGS = -module -avoid-version -shared
+ server_la_SOURCES = nfs.c nfs-common.c nfs-fops.c nfs-inodes.c \
+       nfs-generics.c mount3.c nfs3-fh.c nfs3.c nfs3-helpers.c nlm4.c \
+       nlmcbk_svc.c mount3udp_svc.c acl3.c
+diff -ur a/xlators/performance/io-cache/src/Makefile.am 
b/xlators/performance/io-cache/src/Makefile.am
+--- a/xlators/performance/io-cache/src/Makefile.am     2015-08-28 
10:56:17.730192551 +0200
++++ b/xlators/performance/io-cache/src/Makefile.am     2015-08-28 
10:59:35.752102136 +0200
+@@ -1,7 +1,7 @@
+ xlator_LTLIBRARIES = io-cache.la
+ xlatordir = $(libdir)/glusterfs/$(PACKAGE_VERSION)/xlator/performance
+ 
+-io_cache_la_LDFLAGS = -module -avoid-version 
++io_cache_la_LDFLAGS = -module -avoid-version -shared
+ 
+ io_cache_la_SOURCES = io-cache.c page.c ioc-inode.c
+ io_cache_la_LIBADD = $(top_builddir)/libglusterfs/src/libglusterfs.la
+diff -ur a/xlators/performance/io-threads/src/Makefile.am 
b/xlators/performance/io-threads/src/Makefile.am
+--- a/xlators/performance/io-threads/src/Makefile.am   2015-08-28 
10:56:17.730192551 +0200
++++ b/xlators/performance/io-threads/src/Makefile.am   2015-08-28 
10:59:35.752102136 +0200
+@@ -1,7 +1,7 @@
+ xlator_LTLIBRARIES = io-threads.la
+ xlatordir = $(libdir)/glusterfs/$(PACKAGE_VERSION)/xlator/performance
+ 
+-io_threads_la_LDFLAGS = -module -avoid-version 
++io_threads_la_LDFLAGS = -module -avoid-version -shared
+ 
+ io_threads_la_SOURCES = io-threads.c
+ io_threads_la_LIBADD = $(top_builddir)/libglusterfs/src/libglusterfs.la
+diff -ur a/xlators/performance/md-cache/src/Makefile.am 
b/xlators/performance/md-cache/src/Makefile.am
+--- a/xlators/performance/md-cache/src/Makefile.am     2015-08-28 
10:56:17.730192551 +0200
++++ b/xlators/performance/md-cache/src/Makefile.am     2015-08-28 
10:59:35.752102136 +0200
+@@ -1,7 +1,7 @@
+ xlator_LTLIBRARIES = md-cache.la
+ xlatordir = $(libdir)/glusterfs/$(PACKAGE_VERSION)/xlator/performance
+ 
+-md_cache_la_LDFLAGS = -module -avoid-version
++md_cache_la_LDFLAGS = -module -avoid-version -shared
+ 
+ md_cache_la_SOURCES = md-cache.c
+ md_cache_la_LIBADD = $(top_builddir)/libglusterfs/src/libglusterfs.la
+diff -ur a/xlators/performance/open-behind/src/Makefile.am 
b/xlators/performance/open-behind/src/Makefile.am
+--- a/xlators/performance/open-behind/src/Makefile.am  2015-08-28 
10:56:17.730192551 +0200
++++ b/xlators/performance/open-behind/src/Makefile.am  2015-08-28 
10:59:35.752102136 +0200
+@@ -1,7 +1,7 @@
+ xlator_LTLIBRARIES = open-behind.la
+ xlatordir = $(libdir)/glusterfs/$(PACKAGE_VERSION)/xlator/performance
+ 
+-open_behind_la_LDFLAGS = -module -avoid-version
++open_behind_la_LDFLAGS = -module -avoid-version -shared
+ 
+ open_behind_la_SOURCES = open-behind.c
+ open_behind_la_LIBADD = $(top_builddir)/libglusterfs/src/libglusterfs.la
+diff -ur a/xlators/performance/quick-read/src/Makefile.am 
b/xlators/performance/quick-read/src/Makefile.am
+--- a/xlators/performance/quick-read/src/Makefile.am   2015-08-28 
10:56:17.730192551 +0200
++++ b/xlators/performance/quick-read/src/Makefile.am   2015-08-28 
10:59:35.752102136 +0200
+@@ -1,7 +1,7 @@
+ xlator_LTLIBRARIES = quick-read.la
+ xlatordir = $(libdir)/glusterfs/$(PACKAGE_VERSION)/xlator/performance
+ 
+-quick_read_la_LDFLAGS = -module -avoid-version 
++quick_read_la_LDFLAGS = -module -avoid-version -shared
+ 
+ quick_read_la_SOURCES = quick-read.c
+ quick_read_la_LIBADD = $(top_builddir)/libglusterfs/src/libglusterfs.la
+diff -ur a/xlators/performance/read-ahead/src/Makefile.am 
b/xlators/performance/read-ahead/src/Makefile.am
+--- a/xlators/performance/read-ahead/src/Makefile.am   2015-08-28 
10:56:17.720192456 +0200
++++ b/xlators/performance/read-ahead/src/Makefile.am   2015-08-28 
10:59:35.752102136 +0200
+@@ -1,7 +1,7 @@
+ xlator_LTLIBRARIES = read-ahead.la
+ xlatordir = $(libdir)/glusterfs/$(PACKAGE_VERSION)/xlator/performance
+ 
+-read_ahead_la_LDFLAGS = -module -avoid-version
++read_ahead_la_LDFLAGS = -module -avoid-version -shared
+ 
+ read_ahead_la_SOURCES = read-ahead.c page.c
+ read_ahead_la_LIBADD = $(top_builddir)/libglusterfs/src/libglusterfs.la
+diff -ur a/xlators/performance/readdir-ahead/src/Makefile.am 
b/xlators/performance/readdir-ahead/src/Makefile.am
+--- a/xlators/performance/readdir-ahead/src/Makefile.am        2015-08-28 
10:56:17.730192551 +0200
++++ b/xlators/performance/readdir-ahead/src/Makefile.am        2015-08-28 
10:59:35.752102136 +0200
+@@ -1,7 +1,7 @@
+ xlator_LTLIBRARIES = readdir-ahead.la
+ xlatordir = $(libdir)/glusterfs/$(PACKAGE_VERSION)/xlator/performance
+ 
+-readdir_ahead_la_LDFLAGS = -module -avoid-version
++readdir_ahead_la_LDFLAGS = -module -avoid-version -shared
+ 
+ readdir_ahead_la_SOURCES = readdir-ahead.c
+ readdir_ahead_la_LIBADD = $(top_builddir)/libglusterfs/src/libglusterfs.la
+diff -ur a/xlators/performance/symlink-cache/src/Makefile.am 
b/xlators/performance/symlink-cache/src/Makefile.am
+--- a/xlators/performance/symlink-cache/src/Makefile.am        2015-08-28 
10:56:17.730192551 +0200
++++ b/xlators/performance/symlink-cache/src/Makefile.am        2015-08-28 
10:59:35.752102136 +0200
+@@ -1,7 +1,7 @@
+ xlator_LTLIBRARIES = symlink-cache.la
+ xlatordir = $(libdir)/glusterfs/$(PACKAGE_VERSION)/xlator/testing/performance
+ 
+-symlink_cache_la_LDFLAGS = -module -avoid-version 
++symlink_cache_la_LDFLAGS = -module -avoid-version -shared
+ 
+ symlink_cache_la_SOURCES = symlink-cache.c
+ symlink_cache_la_LIBADD = $(top_builddir)/libglusterfs/src/libglusterfs.la
+diff -ur a/xlators/performance/write-behind/src/Makefile.am 
b/xlators/performance/write-behind/src/Makefile.am
+--- a/xlators/performance/write-behind/src/Makefile.am 2015-08-28 
10:56:17.730192551 +0200
++++ b/xlators/performance/write-behind/src/Makefile.am 2015-08-28 
10:59:35.752102136 +0200
+@@ -1,7 +1,7 @@
+ xlator_LTLIBRARIES = write-behind.la
+ xlatordir = $(libdir)/glusterfs/$(PACKAGE_VERSION)/xlator/performance
+ 
+-write_behind_la_LDFLAGS = -module -avoid-version 
++write_behind_la_LDFLAGS = -module -avoid-version -shared
+ 
+ write_behind_la_SOURCES = write-behind.c
+ write_behind_la_LIBADD = $(top_builddir)/libglusterfs/src/libglusterfs.la
+diff -ur a/xlators/playground/template/src/Makefile.am 
b/xlators/playground/template/src/Makefile.am
+--- a/xlators/playground/template/src/Makefile.am      2015-08-28 
10:56:17.720192456 +0200
++++ b/xlators/playground/template/src/Makefile.am      2015-08-28 
10:59:35.752102136 +0200
+@@ -1,7 +1,7 @@
+ xlator_LTLIBRARIES = template.la
+ xlatordir = $(libdir)/glusterfs/$(PACKAGE_VERSION)/xlator/testing/features
+ 
+-template_la_LDFLAGS = -module -avoid-version
++template_la_LDFLAGS = -module -avoid-version -shared
+ 
+ template_la_SOURCES = template.c
+ template_la_LIBADD = $(top_builddir)/libglusterfs/src/libglusterfs.la
+diff -ur a/xlators/protocol/auth/addr/src/Makefile.am 
b/xlators/protocol/auth/addr/src/Makefile.am
+--- a/xlators/protocol/auth/addr/src/Makefile.am       2015-08-28 
10:56:17.740192649 +0200
++++ b/xlators/protocol/auth/addr/src/Makefile.am       2015-08-28 
10:59:35.752102136 +0200
+@@ -1,7 +1,7 @@
+ auth_LTLIBRARIES = addr.la
+ authdir = $(libdir)/glusterfs/$(PACKAGE_VERSION)/auth
+ 
+-addr_la_LDFLAGS = -module -avoid-version
++addr_la_LDFLAGS = -module -avoid-version -shared
+ 
+ addr_la_SOURCES = addr.c
+ addr_la_LIBADD = $(top_builddir)/libglusterfs/src/libglusterfs.la
+diff -ur a/xlators/protocol/auth/login/src/Makefile.am 
b/xlators/protocol/auth/login/src/Makefile.am
+--- a/xlators/protocol/auth/login/src/Makefile.am      2015-08-28 
10:56:17.740192649 +0200
++++ b/xlators/protocol/auth/login/src/Makefile.am      2015-08-28 
10:59:35.752102136 +0200
+@@ -1,7 +1,7 @@
+ auth_LTLIBRARIES = login.la
+ authdir = $(libdir)/glusterfs/$(PACKAGE_VERSION)/auth
+ 
+-login_la_LDFLAGS = -module -avoid-version
++login_la_LDFLAGS = -module -avoid-version -shared
+ 
+ login_la_SOURCES = login.c
+ login_la_LIBADD = $(top_builddir)/libglusterfs/src/libglusterfs.la
+diff -ur a/xlators/protocol/client/src/Makefile.am 
b/xlators/protocol/client/src/Makefile.am
+--- a/xlators/protocol/client/src/Makefile.am  2015-08-28 10:56:17.740192649 
+0200
++++ b/xlators/protocol/client/src/Makefile.am  2015-08-28 10:59:35.752102136 
+0200
+@@ -2,7 +2,7 @@
+ xlator_LTLIBRARIES = client.la
+ xlatordir = $(libdir)/glusterfs/$(PACKAGE_VERSION)/xlator/protocol
+ 
+-client_la_LDFLAGS = -module -avoid-version
++client_la_LDFLAGS = -module -avoid-version -shared
+ 
+ client_la_LIBADD = $(top_builddir)/libglusterfs/src/libglusterfs.la \
+       $(top_builddir)/rpc/rpc-lib/src/libgfrpc.la \
+diff -ur a/xlators/protocol/server/src/Makefile.am 
b/xlators/protocol/server/src/Makefile.am
+--- a/xlators/protocol/server/src/Makefile.am  2015-08-28 10:56:17.740192649 
+0200
++++ b/xlators/protocol/server/src/Makefile.am  2015-08-28 10:59:35.752102136 
+0200
+@@ -1,7 +1,7 @@
+ xlator_LTLIBRARIES = server.la
+ xlatordir = $(libdir)/glusterfs/$(PACKAGE_VERSION)/xlator/protocol
+ 
+-server_la_LDFLAGS = -module -avoid-version
++server_la_LDFLAGS = -module -avoid-version -shared
+ 
+ server_la_LIBADD = $(top_builddir)/libglusterfs/src/libglusterfs.la \
+       $(top_builddir)/rpc/rpc-lib/src/libgfrpc.la \
+diff -ur a/xlators/storage/bd/src/Makefile.am 
b/xlators/storage/bd/src/Makefile.am
+--- a/xlators/storage/bd/src/Makefile.am       2015-08-28 10:56:17.720192456 
+0200
++++ b/xlators/storage/bd/src/Makefile.am       2015-08-28 10:59:35.752102136 
+0200
+@@ -2,7 +2,7 @@
+ xlator_LTLIBRARIES = bd.la
+ xlatordir = $(libdir)/glusterfs/$(PACKAGE_VERSION)/xlator/storage
+ 
+-bd_la_LDFLAGS = -module -avoid-version
++bd_la_LDFLAGS = -module -avoid-version -shared
+ LIBBD = -llvm2app -lrt
+ bd_la_SOURCES = bd.c bd-helper.c bd-aio.c
+ bd_la_LIBADD = $(top_builddir)/libglusterfs/src/libglusterfs.la $(LIBBD) 
$(LIBAIO)
+diff -ur a/xlators/storage/posix/src/Makefile.am 
b/xlators/storage/posix/src/Makefile.am
+--- a/xlators/storage/posix/src/Makefile.am    2015-08-28 10:56:17.720192456 
+0200
++++ b/xlators/storage/posix/src/Makefile.am    2015-08-28 10:59:35.752102136 
+0200
+@@ -2,7 +2,7 @@
+ xlator_LTLIBRARIES = posix.la
+ xlatordir = $(libdir)/glusterfs/$(PACKAGE_VERSION)/xlator/storage
+ 
+-posix_la_LDFLAGS = -module -avoid-version
++posix_la_LDFLAGS = -module -avoid-version -shared
+ 
+ posix_la_SOURCES = posix.c posix-helpers.c posix-handle.c posix-aio.c
+ posix_la_LIBADD = $(top_builddir)/libglusterfs/src/libglusterfs.la $(LIBAIO)
+diff -ur a/xlators/system/posix-acl/src/Makefile.am 
b/xlators/system/posix-acl/src/Makefile.am
+--- a/xlators/system/posix-acl/src/Makefile.am 2015-08-28 10:56:17.720192456 
+0200
++++ b/xlators/system/posix-acl/src/Makefile.am 2015-08-28 10:59:35.752102136 
+0200
+@@ -1,6 +1,6 @@
+ xlator_LTLIBRARIES = posix-acl.la
+ xlatordir = $(libdir)/glusterfs/$(PACKAGE_VERSION)/xlator/system
+-posix_acl_la_LDFLAGS = -module -avoid-version
++posix_acl_la_LDFLAGS = -module -avoid-version -shared
+ posix_acl_la_SOURCES = posix-acl.c posix-acl-xattr.c
+ posix_acl_la_LIBADD = $(top_builddir)/libglusterfs/src/libglusterfs.la
+ 

diff --git a/sys-cluster/glusterfs/files/glusterfs-r1.initd 
b/sys-cluster/glusterfs/files/glusterfs-r1.initd
new file mode 100644
index 0000000..0a974a8
--- /dev/null
+++ b/sys-cluster/glusterfs/files/glusterfs-r1.initd
@@ -0,0 +1,122 @@
+#!/sbin/runscript
+# Copyright 1999-2012 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+if [[ "${SVCNAME}" != "glusterfs" ]]
+then
+       GLUSTERFS_NAME="${SVCNAME#glusterfs.}"
+else
+       GLUSTERFS_NAME="glusterfs"
+fi
+
+GLUSTERFS_PIDFILE="/var/run/${SVCNAME}.pid"
+
+eval 
'GLUSTERFS_LOGFILE="${'${GLUSTERFS_NAME}'_log:-/var/log/glusterfs/'${GLUSTERFS_NAME}'.log}"'
+eval 
'GLUSTERFS_VOLFILE="${'${GLUSTERFS_NAME}'_vol:-/etc/glusterfs/'${GLUSTERFS_NAME}'.vol}"'
+eval 'GLUSTERFS_SERVER="${'${GLUSTERFS_NAME}'_server}"'
+eval 'GLUSTERFS_PORT="${'${GLUSTERFS_NAME}'_port:-6996}"'
+eval 'GLUSTERFS_TRANSPORT="${'${GLUSTERFS_NAME}'_transport:-socket}"'
+eval 'GLUSTERFS_OPTS="${'${GLUSTERFS_NAME}'_opts}"'
+eval 'GLUSTERFS_MOUNTPOINT="${'${GLUSTERFS_NAME}'_mountpoint}"'
+
+depend() {
+       need net 
+       [[ -n "${GLUSTERFS_MOUNTPOINT}" ]] && need fuse
+       use dns
+       before netmount
+       after firewall ntp-client ntpd
+}
+
+checkconfig() {
+       if [[ -z "${GLUSTERFS_NAME}" ]]
+       then
+               eerror "The service name is not properly formatted."
+               return 1
+       fi
+
+       if [[ -z "${GLUSTERFS_SERVER}" ]]
+       then
+               if [[ -z "${GLUSTERFS_VOLFILE}" ]]
+               then
+                       eerror "No GlusterFS volume file source has been 
defined.  Edit /etc/conf.d/glusterfs"
+                       eerror "and configure a volume file source for 
${SVCNAME}."
+                       return 1
+               else
+                       if [[ ! -f "${GLUSTERFS_VOLFILE}" ]]
+                       then
+                               eerror "Cannot find volume file: 
${GLUSTERFS_VOLFILE}"
+                               return 1
+                       fi
+               fi
+       fi
+
+       if [[ -n "${GLUSTERFS_MOUNTPOINT}" && ! -d "${GLUSTERFS_MOUNTPOINT}" ]]
+       then
+               eerror "The mountpoint ${GLUSTERFS_MOUNTPOINT} does not exist."
+               return 1
+       fi
+}
+
+start() {
+       local status daemon
+
+       checkconfig || return 1
+
+       ebegin "Starting GlusterFS (${SVCNAME})"
+       eindent
+
+       if [[ -z "${GLUSTERFS_MOUNTPOINT}" ]]
+       then
+               einfo "Starting in server mode ..."
+               daemon="glusterfsd"
+       else
+               einfo "Starting in client mode. Mounting filesystem ..."
+               daemon="glusterfs"
+       fi
+
+       if [[ -n "${GLUSTERFS_SERVER}" ]]
+       then
+               einfo "Using server supplied volume file"
+               start-stop-daemon --start --pidfile ${GLUSTERFS_PIDFILE} \
+                       --exec /usr/sbin/${daemon} -- \
+                       --pid-file=${GLUSTERFS_PIDFILE} \
+                       --log-file=${GLUSTERFS_LOGFILE} \
+                       --volfile-server=${GLUSTERFS_SERVER} \
+                       --volfile-server-port=${GLUSTERFS_PORT} \
+                       --volfile-server-transport=${GLUSTERFS_TRANSPORT} \
+                       ${GLUSTERFS_OPTS} ${GLUSTERFS_MOUNTPOINT}
+               status="$?"
+       else
+               einfo "Using local volume file"
+               start-stop-daemon --start --pidfile ${GLUSTERFS_PIDFILE} \
+                       --exec /usr/sbin/${daemon} -- \
+                       --pid-file=${GLUSTERFS_PIDFILE} \
+                       --log-file=${GLUSTERFS_LOGFILE} \
+                       --volfile=${GLUSTERFS_VOLFILE} \
+                       ${GLUSTERFS_OPTS} ${GLUSTERFS_MOUNTPOINT}
+               status="$?"
+       fi
+
+       eoutdent
+       eend ${status}
+}
+
+stop() {
+       local status
+
+       ebegin "Stopping GlusterFS (${SVCNAME})"
+       eindent
+       if [[ -z "${GLUSTERFS_MOUNTPOINT}" ]]
+       then
+               einfo "Stopping server process ..."
+               start-stop-daemon --stop --pidfile ${GLUSTERFS_PIDFILE}
+               status="$?"
+       else
+               einfo "Unmounting ${GLUSTERFS_MOUNTPOINT} ..."
+               umount "${GLUSTERFS_MOUNTPOINT}"
+               status="$?"
+       fi
+       eoutdent
+       eend ${status}
+}

diff --git a/sys-cluster/glusterfs/files/glusterfs.confd 
b/sys-cluster/glusterfs/files/glusterfs.confd
new file mode 100644
index 0000000..257d0a8
--- /dev/null
+++ b/sys-cluster/glusterfs/files/glusterfs.confd
@@ -0,0 +1,6 @@
+#glusterfsd_mountpoint=""
+#glusterfsd_log=""
+#glusterfsd_vol=""
+#glusterfsd_port=""
+#glusterfsd_transport=""
+#glusterfsd_opts=""

diff --git a/sys-cluster/glusterfs/files/glusterfs.initd 
b/sys-cluster/glusterfs/files/glusterfs.initd
new file mode 100644
index 0000000..7f8759a
--- /dev/null
+++ b/sys-cluster/glusterfs/files/glusterfs.initd
@@ -0,0 +1,120 @@
+#!/sbin/runscript
+# Copyright 1999-2009 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+if [[ "${SVCNAME}" != "glusterfs" ]]
+then
+       GLUSTERFS_NAME="${SVCNAME#glusterfs.}"
+else
+       GLUSTERFS_NAME="glusterfs"
+fi
+
+GLUSTERFS_PIDFILE="/var/run/${SVCNAME}.pid"
+
+eval 
'GLUSTERFS_LOGFILE="${'${GLUSTERFS_NAME}'_log:-/var/log/glusterfs/'${GLUSTERFS_NAME}'.log}"'
+eval 
'GLUSTERFS_VOLFILE="${'${GLUSTERFS_NAME}'_vol:-/etc/glusterfs/'${GLUSTERFS_NAME}'.vol}"'
+eval 'GLUSTERFS_SERVER="${'${GLUSTERFS_NAME}'_server}"'
+eval 'GLUSTERFS_PORT="${'${GLUSTERFS_NAME}'_port:-6996}"'
+eval 'GLUSTERFS_TRANSPORT="${'${GLUSTERFS_NAME}'_transport:-socket}"'
+eval 'GLUSTERFS_OPTS="${'${GLUSTERFS_NAME}'_opts}"'
+eval 'GLUSTERFS_MOUNTPOINT="${'${GLUSTERFS_NAME}'_mountpoint}"'
+
+depend() {
+       need net 
+       [[ -n "${GLUSTERFS_MOUNTPOINT}" ]] && need fuse
+       use dns
+       before netmount
+       after firewall ntp-client ntpd
+}
+
+checkconfig() {
+       if [[ -z "${GLUSTERFS_NAME}" ]]
+       then
+               eerror "The service name is not properly formatted."
+               return 1
+       fi
+
+       if [[ -z "${GLUSTERFS_SERVER}" ]]
+       then
+               if [[ -z "${GLUSTERFS_VOLFILE}" ]]
+               then
+                       eerror "No GlusterFS volume file source has been 
defined.  Edit /etc/conf.d/glusterfs"
+                       eerror "and configure a volume file source for 
${SVCNAME}."
+                       return 1
+               else
+                       if [[ ! -f "${GLUSTERFS_VOLFILE}" ]]
+                       then
+                               eerror "Cannot find volume file: 
${GLUSTERFS_VOLFILE}"
+                               return 1
+                       fi
+               fi
+       fi
+
+       if [[ -n "${GLUSTERFS_MOUNTPOINT}" && ! -d "${GLUSTERFS_MOUNTPOINT}" ]]
+       then
+               eerror "The mountpoint ${GLUSTERFS_MOUNTPOINT} does not exist."
+               return 1
+       fi
+}
+
+start() {
+       local status
+
+       checkconfig || return 1
+
+       ebegin "Starting GlusterFS (${SVCNAME})"
+       eindent
+
+       if [[ -z "${GLUSTERFS_MOUNTPOINT}" ]]
+       then
+               einfo "Starting in server mode ..."
+       else
+               einfo "Starting in client mode. Mounting filesystem ..."
+       fi
+
+       if [[ -n "${GLUSTERFS_SERVER}" ]]
+       then
+               einfo "Using server supplied volume file"
+               start-stop-daemon --start --pidfile ${GLUSTERFS_PIDFILE} \
+                       --exec /usr/sbin/glusterfsd -- \
+                       --pid-file=${GLUSTERFS_PIDFILE} \
+                       --log-file=${GLUSTERFS_LOGFILE} \
+                       --volfile-server=${GLUSTERFS_SERVER} \
+                       --volfile-server-port=${GLUSTERFS_PORT} \
+                       --volfile-server-transport=${GLUSTERFS_TRANSPORT} \
+                       ${GLUSTERFS_OPTS} ${GLUSTERFS_MOUNTPOINT}
+               status="$?"
+       else
+               einfo "Using local volume file"
+               start-stop-daemon --start --pidfile ${GLUSTERFS_PIDFILE} \
+                       --exec /usr/sbin/glusterfsd -- \
+                       --pid-file=${GLUSTERFS_PIDFILE} \
+                       --log-file=${GLUSTERFS_LOGFILE} \
+                       --volfile=${GLUSTERFS_VOLFILE} \
+                       ${GLUSTERFS_OPTS} ${GLUSTERFS_MOUNTPOINT}
+               status="$?"
+       fi
+
+       eoutdent
+       eend ${status}
+}
+
+stop() {
+       local status
+
+       ebegin "Stopping GlusterFS (${SVCNAME})"
+       eindent
+       if [[ -z "${GLUSTERFS_MOUNTPOINT}" ]]
+       then
+               einfo "Stopping server process ..."
+               start-stop-daemon --stop --pidfile ${GLUSTERFS_PIDFILE}
+               status="$?"
+       else
+               einfo "Unmounting ${GLUSTERFS_MOUNTPOINT} ..."
+               umount "${GLUSTERFS_MOUNTPOINT}"
+               status="$?"
+       fi
+       eoutdent
+       eend ${status}
+}

diff --git a/sys-cluster/glusterfs/files/glusterfs.logrotate 
b/sys-cluster/glusterfs/files/glusterfs.logrotate
new file mode 100644
index 0000000..07ae7b9
--- /dev/null
+++ b/sys-cluster/glusterfs/files/glusterfs.logrotate
@@ -0,0 +1,34 @@
+# Rotate client logs
+/var/log/glusterfs/*.log {
+  weekly
+  rotate 52
+  missingok
+
+  # compress the logs, but from the .2 onwards
+  compress
+  delaycompress
+  notifempty
+
+  sharedscripts
+  postrotate
+  /usr/bin/killall -HUP glusterfs > /dev/null 2>&1 || true
+  /usr/bin/killall -HUP glusterd > /dev/null 2>&1 || true
+  endscript
+}
+
+# Rotate server logs
+/var/log/glusterfs/bricks/*.log {
+  weekly
+  rotate 52
+  missingok
+
+  # compress the logs, but from the .2 onwards
+  compress
+  delaycompress
+  notifempty
+
+  sharedscripts
+  postrotate
+  /usr/bin/killall -HUP glusterfsd > /dev/null 2>&1 || true
+  endscript
+}

diff --git a/sys-cluster/glusterfs/files/glusterfs.vim 
b/sys-cluster/glusterfs/files/glusterfs.vim
new file mode 100644
index 0000000..bbb9cb1
--- /dev/null
+++ b/sys-cluster/glusterfs/files/glusterfs.vim
@@ -0,0 +1,8 @@
+if &compatible || v:version < 603
+    finish
+endif
+
+
+" GlusterFS Volume files
+au BufNewFile,BufRead *.vol
+    \     set filetype=glusterfs

diff --git a/sys-cluster/glusterfs/glusterfs-3.7.3.ebuild 
b/sys-cluster/glusterfs/glusterfs-3.7.3.ebuild
new file mode 100644
index 0000000..e653810
--- /dev/null
+++ b/sys-cluster/glusterfs/glusterfs-3.7.3.ebuild
@@ -0,0 +1,188 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 )
+AUTOTOOLS_AUTORECONF=1
+
+inherit autotools-utils elisp-common eutils multilib python-single-r1 
versionator
+
+DESCRIPTION="GlusterFS is a powerful network/cluster filesystem"
+HOMEPAGE="http://www.gluster.org/";
+SRC_URI="http://download.gluster.org/pub/gluster/${PN}/$(get_version_component_range
 '1-2')/${PV}/${P}.tar.gz"
+
+LICENSE="|| ( GPL-2 LGPL-3+ )"
+SLOT="0"
+KEYWORDS="~amd64 ~ppc ~ppc64 ~x86"
+IUSE="bd-xlator crypt-xlator debug emacs +fuse +georeplication glupy 
infiniband qemu-block rsyslog static-libs +syslog systemtap test +tiering 
vim-syntax +xml"
+
+REQUIRED_USE="georeplication? ( ${PYTHON_REQUIRED_USE} )
+       glupy? ( ${PYTHON_REQUIRED_USE} )"
+
+# sys-apps/util-linux is required for libuuid
+RDEPEND="bd-xlator? ( sys-fs/lvm2 )
+       emacs? ( virtual/emacs )
+       fuse? ( >=sys-fs/fuse-2.7.0 )
+       georeplication? ( ${PYTHON_DEPS} )
+       infiniband? ( sys-infiniband/libibverbs:* sys-infiniband/librdmacm:* )
+       qemu-block? ( dev-libs/glib:2 )
+       systemtap? ( dev-util/systemtap )
+       tiering? ( dev-db/sqlite:3 )
+       xml? ( dev-libs/libxml2 )
+       sys-libs/readline:=
+       dev-libs/libaio
+       dev-libs/openssl:=
+       dev-libs/userspace-rcu:=
+       || ( sys-libs/glibc sys-libs/argp-standalone )
+       sys-apps/util-linux"
+DEPEND="${RDEPEND}
+       virtual/pkgconfig
+       sys-devel/bison
+       sys-devel/flex
+       test? ( >=dev-util/cmocka-1.0.1 )"
+
+SITEFILE="50${PN}-mode-gentoo.el"
+
+PATCHES=(
+       "${FILESDIR}/${PN}-3.4.0-silent_rules.patch"
+)
+
+DOCS=( AUTHORS ChangeLog NEWS README.md THANKS )
+
+# Maintainer notes:
+# * The build system will always configure & build argp-standalone but it'll 
never use it
+#   if the argp.h header is found in the system. Which should be the case with
+#   glibc or if argp-standalone is installed.
+
+pkg_setup() {
+       ( use georeplication || use glupy ) && python-single-r1_pkg_setup
+}
+
+src_prepare() {
+       # build rpc-transport and xlators only once as shared libs
+       find rpc/rpc-transport xlators -name Makefile.am -print0 \
+               | xargs -0 sed -i -e 's|.*_la_LDFLAGS = .*|\0 -shared|'
+
+       autotools-utils_src_prepare
+}
+
+src_configure() {
+       local myeconfargs=(
+               --disable-dependency-tracking
+               --disable-silent-rules
+               --disable-fusermount
+               $(use_enable debug)
+               $(use_enable bd-xlator)
+               $(use_enable crypt-xlator)
+               $(use_enable fuse fuse-client)
+               $(use_enable georeplication)
+               $(use_enable glupy)
+               $(use_enable infiniband ibverbs)
+               $(use_enable qemu-block)
+               $(use_enable static-libs static)
+               $(use_enable syslog)
+               $(use_enable systemtap)
+               $(use_enable test cmocka)
+               $(use_enable tiering)
+               $(use_enable xml xml-output)
+               --docdir=/usr/share/doc/${PF}
+               --localstatedir=/var
+       )
+       autotools-utils_src_configure
+}
+
+src_compile() {
+       autotools-utils_src_compile
+
+       use emacs && elisp-compile extras/glusterfs-mode.el
+}
+
+src_install() {
+       autotools-utils_src_install
+
+       rm \
+               "${D}"/etc/glusterfs/glusterfs-{georep-,}logrotate \
+               "${D}"/etc/glusterfs/gluster-rsyslog-*.conf \
+               "${D}"/usr/share/doc/${PF}/glusterfs{-mode.el,.vim} || die 
"removing false files failed"
+
+       insinto /etc/logrotate.d
+       newins "${FILESDIR}"/glusterfs.logrotate glusterfs
+
+       if use rsyslog ; then
+               insinto /etc/rsyslog.d
+               newins extras/gluster-rsyslog-7.2.conf 60-gluster.conf
+       fi
+
+       if use emacs ; then
+               elisp-install ${PN} extras/glusterfs-mode.el*
+               elisp-site-file-install "${FILESDIR}/${SITEFILE}"
+       fi
+
+       if use vim-syntax ; then
+               insinto /usr/share/vim/vimfiles/ftdetect; doins 
"${FILESDIR}"/${PN}.vim
+               insinto /usr/share/vim/vimfiles/syntax; doins extras/${PN}.vim
+       fi
+
+       # insert some other tools which might be useful
+       insinto /usr/share/glusterfs/scripts
+       doins \
+               extras/backend-{cleanup,xattr-sanitize}.sh \
+               extras/clear_xattrs.sh \
+               extras/migrate-unify-to-distribute.sh
+
+       # correct permissions on installed scripts
+       # fperms 0755 /usr/share/glusterfs/scripts/*.sh
+       chmod 0755 "${ED}"/usr/share/glusterfs/scripts/*.sh || die
+
+       if use georeplication ; then
+               # move the gsync-sync-gfid tool to a binary path
+               # and set a symlink to be compliant with all other distros
+               mv 
"${ED}"/usr/{share/glusterfs/scripts/gsync-sync-gfid,libexec/glusterfs/} || die
+               dosym ../../../libexec/glusterfs/gsync-sync-gfid 
/usr/share/glusterfs/scripts/gsync-sync-gfid
+       fi
+
+       newinitd "${FILESDIR}/${PN}-r1.initd" glusterfsd
+       newinitd "${FILESDIR}/glusterd-r2.initd" glusterd
+       newconfd "${FILESDIR}/${PN}.confd" glusterfsd
+
+       keepdir /var/log/${PN}
+       keepdir /var/lib/glusterd
+
+       # QA
+       rm -rf "${ED}/var/run/" || die
+       use static-libs || find "${ED}"/usr/$(get_libdir)/ -type f -name '*.la' 
-delete
+
+       use georeplication && python_fix_shebang "${ED}"
+}
+
+pkg_postinst() {
+       elog "Starting with ${PN}-3.1.0, you can use the glusterd daemon to 
configure your"
+       elog "volumes dynamically. To do so, simply use the gluster CLI after 
running:"
+       elog "  /etc/init.d/glusterd start"
+       echo
+       elog "For static configurations, the glusterfsd startup script can be 
multiplexed."
+       elog "The default startup script uses /etc/conf.d/glusterfsd to 
configure the"
+       elog "separate service.  To create additional instances of the 
glusterfsd service"
+       elog "simply create a symlink to the glusterfsd startup script."
+       echo
+       elog "Example:"
+       elog "    # ln -s glusterfsd /etc/init.d/glusterfsd2"
+       elog "    # ${EDITOR} /etc/glusterfs/glusterfsd2.vol"
+       elog "You can now treat glusterfsd2 like any other service"
+       echo
+       ewarn "You need to use a ntp client to keep the clocks synchronized 
across all"
+       ewarn "of your servers. Setup a NTP synchronizing service before 
attempting to"
+       ewarn "run GlusterFS."
+
+       elog
+       elog "If you are upgrading from a previous version of ${PN}, please 
read:"
+       elog "  
http://www.gluster.org/community/documentation/index.php/Upgrade_to_3.5";
+
+       use emacs && elisp-site-regen
+}
+
+pkg_postrm() {
+       use emacs && elisp-site-regen
+}

diff --git a/sys-cluster/glusterfs/metadata.xml 
b/sys-cluster/glusterfs/metadata.xml
new file mode 100644
index 0000000..f994b78
--- /dev/null
+++ b/sys-cluster/glusterfs/metadata.xml
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd";>
+<pkgmetadata>
+  <herd>cluster</herd>
+  <longdescription lang="en">
+               GlusterFS is a cluster file-system capable of scaling to 
several peta-bytes. It aggregates various storage bricks over Infiniband RDMA 
or TCP/IP interconnect into one large parallel network file system. GlusterFS 
is based on a stackable user space design without compromising performance.
+       </longdescription>
+  <use>
+    <flag name="bd-xlator">Enable the blockdevice translator (requires 
<pkg>sys-fs/lvm2</pkg>)</flag>
+    <flag name="crypt-xlator">Enable the encryption translator</flag>
+    <flag name="fuse">Add FUSE mount helper</flag>
+    <flag name="glupy">Enable support for translators written in Python</flag>
+    <flag name="georeplication">Enable support for georeplication (requires 
<pkg>dev-lang/python</pkg>)</flag>
+    <flag name="extras">Install extra helper scripts</flag>
+    <flag name="infiniband">Add support for Infiniband ibverbs transport.
+                       Libraries can be found in science overlay</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>
+    <flag name="systemtap">Enable support for 
<pkg>dev-util/systemtap</pkg></flag>
+    <flag name="tiering">Enable support for data classification/tiering 
(requires <pkg>dev-db/sqlite:3</pkg>)</flag>
+  </use>
+</pkgmetadata>

Reply via email to