public inbox for gentoo-commits@lists.gentoo.org
 help / color / mirror / Atom feed
From: "Tiziano Müller" <dev-zero@gentoo.org>
To: gentoo-commits@lists.gentoo.org
Subject: [gentoo-commits] dev/dev-zero:master commit in: sys-cluster/glusterfs/files/, sys-cluster/glusterfs/
Date: Fri,  4 Sep 2015 13:26:18 +0000 (UTC)	[thread overview]
Message-ID: <1441373074.f3f267392c8038f66c0911ec824cd21a8179db6c.dev-zero@gentoo> (raw)

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	other threads:[~2015-09-04 13:26 UTC|newest]

Thread overview: [no followups] expand[flat|nested]  mbox.gz  Atom feed

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1441373074.f3f267392c8038f66c0911ec824cd21a8179db6c.dev-zero@gentoo \
    --to=dev-zero@gentoo.org \
    --cc=gentoo-commits@lists.gentoo.org \
    --cc=gentoo-dev@lists.gentoo.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox