diff options
author | V3n3RiX <venerix@redcorelinux.org> | 2017-10-09 18:53:29 +0100 |
---|---|---|
committer | V3n3RiX <venerix@redcorelinux.org> | 2017-10-09 18:53:29 +0100 |
commit | 4f2d7949f03e1c198bc888f2d05f421d35c57e21 (patch) | |
tree | ba5f07bf3f9d22d82e54a462313f5d244036c768 /sys-cluster/glusterfs |
reinit the tree, so we can have metadata
Diffstat (limited to 'sys-cluster/glusterfs')
-rw-r--r-- | sys-cluster/glusterfs/Manifest | 22 | ||||
-rw-r--r-- | sys-cluster/glusterfs/files/50glusterfs-mode-gentoo.el | 5 | ||||
-rw-r--r-- | sys-cluster/glusterfs/files/glusterd-r2.initd | 32 | ||||
-rw-r--r-- | sys-cluster/glusterfs/files/glusterfs-3.4.0-silent_rules.patch | 23 | ||||
-rw-r--r-- | sys-cluster/glusterfs/files/glusterfs-3.5.1-Add-libraries-using-LIBADD-instead-of-LDFLAGS.patch | 54 | ||||
-rw-r--r-- | sys-cluster/glusterfs/files/glusterfs-3.6.5-build-shared-only.patch | 547 | ||||
-rw-r--r-- | sys-cluster/glusterfs/files/glusterfs-r1.initd | 121 | ||||
-rw-r--r-- | sys-cluster/glusterfs/files/glusterfs.confd | 6 | ||||
-rw-r--r-- | sys-cluster/glusterfs/files/glusterfs.logrotate | 34 | ||||
-rw-r--r-- | sys-cluster/glusterfs/files/glusterfs.vim | 8 | ||||
-rw-r--r-- | sys-cluster/glusterfs/glusterfs-3.10.1.ebuild | 212 | ||||
-rw-r--r-- | sys-cluster/glusterfs/glusterfs-3.6.5.ebuild | 182 | ||||
-rw-r--r-- | sys-cluster/glusterfs/glusterfs-3.7.4.ebuild | 205 | ||||
-rw-r--r-- | sys-cluster/glusterfs/glusterfs-3.8.11.ebuild | 211 | ||||
-rw-r--r-- | sys-cluster/glusterfs/glusterfs-3.8.6.ebuild | 211 | ||||
-rw-r--r-- | sys-cluster/glusterfs/metadata.xml | 24 |
16 files changed, 1897 insertions, 0 deletions
diff --git a/sys-cluster/glusterfs/Manifest b/sys-cluster/glusterfs/Manifest new file mode 100644 index 000000000000..5c6f69086103 --- /dev/null +++ b/sys-cluster/glusterfs/Manifest @@ -0,0 +1,22 @@ +AUX 50glusterfs-mode-gentoo.el 169 SHA256 2467d044665d16dd95f78f7a7a104099ce00849cd0a2a86b110fe4c91b316a9d SHA512 f90b3f49f53c08db5596a6795df64a834b390602a79fb79b56f6cfb6191c7ca8ce2bedd2885d049575e26cc3b321f80e2786e99055c02682f4fbf454d5ed5804 WHIRLPOOL fb4abfc0c07ddc8805430446bd901b95a9951f53711da647e87ea8c26bece8ed9c7bb17b33cfa9b114ba2a64a055f275202d520cf37ee0c178d005d07ff80173 +AUX glusterd-r2.initd 749 SHA256 d060ffbc9c2233d786a0b0dc224518ef3de15a8c69b2b3bf8c7449a18eb366e3 SHA512 90b2ab62bd69f0a6f4ef9596ea4b287524650821251ff9cf6fe43f7f362e359c43615fd5ba68d4b5589af1a3e712a91cab69bb95b363b4e20efdf9e02a5e1e6a WHIRLPOOL ec91d20794d04ec04288742329315e7d16b3fd775f20002fb321e29d8c6d05c50f37664752b4b8a016b2f29587bc2ecdf2b326370849784d2c479278621b3fe9 +AUX glusterfs-3.4.0-silent_rules.patch 553 SHA256 08a55b2f54050ad47dae1a953fc1f1410842556bf2464ab15e7df9019ab24de5 SHA512 67fe230a667084f30960d4ed79f58c7da93edde086ca8614cb3f7160901cb87da471cce932cfae470033c5dfc92b00ed69fd0e32238bc0e9af770e1946f511ce WHIRLPOOL e596ee4c6fae6cb7f843501b55e832791d612547f81d5e6adf4e96ea8cc4fc20fd71d5164f7fe42a74ed0b8e7036643cd5b684317f98bfd610b91dbe4c4c3684 +AUX glusterfs-3.5.1-Add-libraries-using-LIBADD-instead-of-LDFLAGS.patch 2145 SHA256 10b0ad92f61996f7ca0e0bf12b383813c4cd2013d95d8b6e1ab53a18853a9e05 SHA512 22d4ead173579698a23b7d66e566e61410e5bc0178b1dc0b7346b18d7e8cf33a44873b83a09e6dab32b06e7df8285da4bb7eb730626c61c1b3d28e9e8ce86f00 WHIRLPOOL e8e5572a5861478c718cd0b89c74159e3b13f6ef204eb3e3b2d8af8ddd296bc71469648ae957f0dd4e18de187e6fcd3e1910ea9ec5a707b78f61af8c88c9bb9b +AUX glusterfs-3.6.5-build-shared-only.patch 27261 SHA256 b2d73ffb27f07bf762e8f67bdbbbdd3a7eef62049ec346a2ab84a9171e55c053 SHA512 cbaa02845022cb32aab1e419d13f8291b59aa6de78ccdd944af52d05defcd4ae9bb891c0f303f7d4870056e0777d70507b137aa9e38a4a13a267925a3cbc0277 WHIRLPOOL ab0b75e36a0f3011618e87dc9490471c9a759cd65985074a3046be5bb3609830018ca50d82de4db8b783424c46768d4b2fe0c906271cb5e2a01fec264b0f26e1 +AUX glusterfs-r1.initd 3065 SHA256 27f83981f096bad8ac3d345d8c71249e2bf84b3757d6cdb63c9a690933aa9218 SHA512 28c5f401b2ff017d8faf7b290fa265cc5f1a9d60edf11dbae5801e943e7e0833fa8267880efa80c4fc07048d75afd446808c583d2b62a6c5a6bde25d317bde97 WHIRLPOOL 585fe5a24a32b553c6d38fab92a6cdfd42cdee7aad039314fdb9d4d5cbca36583b2a4025c85bb2c64b84c713f129dc051bba37a37153af59f0740e7a73bc13a1 +AUX glusterfs.confd 129 SHA256 a9023ba1112ceb4597c654228f0beb0053ed695aeb32c65e0749a7157fab563d SHA512 657c478dd3a60c144543821acd6a87f804d258d4679007aad5108790449e43eda7e0de8e8c0c8e13357a35afbb0d09065423101e5234285a9b96c9ac8b2e33b4 WHIRLPOOL 114f076456845087bf4dc28fb179cfea335f5f03b1d16098d836b5b0487c46fba4ee48d0bfab8cff7b2326b9585b327271d5c1d402db8289cafdf29f70ac063d +AUX glusterfs.logrotate 611 SHA256 ec29f5830f6108fca793d6ac90bb49e644a991a073a736ccb76fd05f9a9f60a2 SHA512 568728fe77acecb686286b0be6c086fe3448d054d26da15c3846726a8f845ae963e6756c517b413a9eb4d6b646c61972887a35e89846d2d90d364b755e471791 WHIRLPOOL 10ced84d8035e3e7e5aaa013cd7c0c9761999e8ddca41ff2df3ed2be7a78add579d5c2b17a27b86d9a6fafdb607b9d175725208af72585d9fdc66b3bdb5fed3d +AUX glusterfs.vim 139 SHA256 f214c1c8a01c9184b535fa7ae307200a8a1dc83fd42e92bdd57a7b1cae1dc099 SHA512 6ea3b56b71d7e206a57611dd68160b6b9242a19b5c927560f60881dc28d250f7958c50f788a7b9a41fb46010fdac2d67a8289b909ed1f05b793c900f37ccbfb7 WHIRLPOOL 3006d9fea924fe274ac00dc5d711cfe642f347808889c3d5dbde764f0f0cd2ab27509fa75d37b95ccd98c33bc1db8d082e5d16a26e0f888b7189f9738b6ff963 +DIST glusterfs-3.10.1.tar.gz 8926368 SHA256 d3c23df3299964efe6b688c94ddde258506ecf173b58e8c07fa18d470bb21517 SHA512 35acf10d37db7ca9cf7d88e4eabcac4febdccfe15cbe68df86c44042987547f3a56447a1ced5ed238d171efdbcb97dd1fc6917283641bdcd7d476deb37ad0871 WHIRLPOOL 7ce3b5cbe136b1d09b4c0c062decf0d9c5bba03f9b7249648e886ceff758061e73863c9f6d82ed2de3fc41546950ee08c022683174283dc03201c12d61d295aa +DIST glusterfs-3.6.5.tar.gz 6091408 SHA256 20d912ef35fb8350c50c39c15134a3558ee90d012203f049799c8eb67a61fd2a SHA512 7ca41855239818fc4c84cdb86e1f1d39502e781d5117a5ee50ea134f03f0823a8640ee9bda28f05463e8504aba9ddb12ac72e118f0ce7c3755c083033f5677ca WHIRLPOOL 9fc0592052d976d65fcc769c69d910fa6d909695162bccf80c1e799a2c54c531ab03a4afd3788951c231a214a22e5f8bb3613a83277858627425b86fd532ab5e +DIST glusterfs-3.7.4.tar.gz 7552110 SHA256 f98f448117d1de7666ae425eddd8d7d87b02c57f6627234ce96ba60566f47173 SHA512 f9a281f3a37835f9f54679740ddb19b307babe576a8f14c9ef24d256f483789c227d7e7c5b0ed4ef5c13a257bcf00d0c17b6108fa60c5e45d0175df6e236b3a5 WHIRLPOOL 7b0320936de078234228cb691f3e381da3cc89c638d6246aba63695aa36cb114afca6e53d12d23de441b8da0b3a594ac1702b450d5d14720254af73e689c4ab8 +DIST glusterfs-3.8.11.tar.gz 8544971 SHA256 2285c02f9449168eabeaa7b72706e80f3de659eb685293dd899c71c33798702e SHA512 61cadc567a73403c78eac5e472aadd1457053be936042ea1218c172760376b026152e84b4ca15a0c249524347d434cc7d35c3a73f4d0b01e89c6aec5edcbbb49 WHIRLPOOL 21d4c2da1d281cb03181c21385a62d74c71f24936d2c33da22085accb5fa563b7095757b7df3eb30bf865c37fe683c420756c542d6933c99c0d3f9025c07a217 +DIST glusterfs-3.8.6.tar.gz 8456856 SHA256 5c62c0b66cde74427eacc49cdbda7c84cc8289b38bcda80107adedd24b355715 SHA512 115d65183682587b4e8dd0c3d52f4a43eabbd6968441b7f09db006748890155f6748ceddf7ce80a7481207df7cb2dca6339b77cc7b8bccfc7fe00084ac00b223 WHIRLPOOL 7321468daf15a4ebad158d32328dfe64590cbf0ddcdda4d855a7b8a9849b29fed1c1af58475f8c1ef140f244fc15db57c00170eb477c27854408598bc0a7f6b8 +EBUILD glusterfs-3.10.1.ebuild 6400 SHA256 95dbe210c2c0ca19efab0b50a629a51046136d8c76d14ba4de677c2f7220e7a7 SHA512 da1b1913fb38f583e24f38a09b8c78189a529b75f9a52eaec73c7a8e40f95e50b75b238da84afe0875518968c5d3015bd786026de5485206af79aef6499d5862 WHIRLPOOL a8335aff33c6747232d7af164e6e21f9855007669106a9f08af1b643fa1373d6889b3d336c2eaf6952402cf97432c868cdff84af4befcf3a89e28d879eb272db +EBUILD glusterfs-3.6.5.ebuild 5609 SHA256 bfd7872898f9e82244a0d8e0138c790a860efb5d42591ca9619760d9e752d81c SHA512 89629b74afb06c7409375a8c342873840436f6eaccbc4a29800b264090dd31f1dcfa391d77d655a6ecc73ce906a6d7b253e6a9065697ab920ac5e75ea64a1b45 WHIRLPOOL 6a416115a63db0dd41d3b7b442cacf91bdbc8cebd467c49236afb4467aeb42c49bcdd3acdac17804816b88f80c7c4a4b7e2d3c90dd7daa0ebfe63ddb04d01e4e +EBUILD glusterfs-3.7.4.ebuild 6268 SHA256 2071435b4071e7ce43e814a1d97beedbec5508ec4afabfd1c4f29d92b549859c SHA512 3dbcb7f16578ef39bc4e98dd7a29288017710ffc292885c46e5fa79193084f990965234f325f250e4577d1188ca2aaf24cdb92607a2ff0bb2fab768958452ec3 WHIRLPOOL 9b419c65f5a8cf7a632e95910fa31deaa5dcd4ffebc473e9053b8d04c55be30f6e7466889eeee15a3229acd73b1f3f9e571856e1cbf5143f2b2adca80d3a60d1 +EBUILD glusterfs-3.8.11.ebuild 6364 SHA256 7bdcfc483a1c112ea8a14c28704a29aafff20e5a5f854d738c60587c35c1ac2d SHA512 ddc4360288b35815688e87c4efc4e818cde0dede9bee87f7b816ed3e9ec2db524d86224488ece231e7fc2055cb75baf6b78c538648460c575c3cab27a84241f6 WHIRLPOOL ce429a4a2c269a138a5e6836bdad5b436a627b122667166b4ec0b647f81b7ef9bea3ff290a079196415a0ae41f99108a00d147b9c422f71effb5ee3b5dbf3e60 +EBUILD glusterfs-3.8.6.ebuild 6364 SHA256 13fb1a0b68e3e9ec2bf21db45507c85429218eb5efe40a959c8004a5539225fe SHA512 81c0138c8f57c2dd7847ec4fdb656d5f914326247311238a0c074f9b4971da51f879aa48232347a4fe4166400b5a1f0278835768121f41f962617ecae701e28d WHIRLPOOL c735f23fe4ec09d05216131d4bb9c3e706c43b99c704f6da07385fe462bad87e57d2d5adf0dc5309ddd6a20aa9345a4bb09edf21739caf1d19d40a03007e4787 +MISC ChangeLog 6150 SHA256 fcbcb51a9d04ebc618a65318ec6daa35b75c23a08877c29f3c5871bbe6794d97 SHA512 e34470d15f9ce97065930bc1f66699a109dc19596e8c5a2d385b0d147d7bd72c1280c671acfd77323c2362038f86308fbf1666d5813192d68eab329383f94bad WHIRLPOOL 23a79d7a985877c682b768a8d27be2648539a45b9d6dacbd247a3b30fdf2ed612271125975fa3c12c03fe1214ae1c4db7632f5717f4779986404389974f3897a +MISC ChangeLog-2015 13118 SHA256 3f2fc34fd7488b5f2e18938d8a28de4957e49b44cb991fb7a80828f5ecdc9edc SHA512 8bb7b4468f1c463139ca6e6eabc0138b97919916e050544f0b6a04a118d3eb8b537ba0b96edfc5abec57b658d43e1b76bd7ed7ba791e61582c01d8054a3a3638 WHIRLPOOL 86d1b7db8250fdfcf1de04d8f012c88cae85956e42c2204f47f8e9425adcd24f5e4a8754011877ed7b3e0e85c9d1bac24c94764ee8645d44f07595745958cfc4 +MISC metadata.xml 1597 SHA256 93d9d498f988d3a43443b7da28bf4262a31d533221f50e7567037066805a3896 SHA512 104b849956d92360dc9abe1ecd411ebe07bcdd2adb85872b052aee373d3ebb7232ab1add62864a4c7206e8f9fbcc6b29e76d0286852b4423d5e4cc8970dd07f8 WHIRLPOOL d3c67112d95cc7763442cee45cea5d9c6b0541016161cb9d5ae5b2edab335c4a8e4e264c77a3c594ba2d9042446e03ba33209a4d66c3b66cd549e706af99b643 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 000000000000..c14b0d8de33b --- /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 000000000000..924939400f30 --- /dev/null +++ b/sys-cluster/glusterfs/files/glusterd-r2.initd @@ -0,0 +1,32 @@ +#!/sbin/openrc-run +# Copyright 1999-2015 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +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/glusterfs-3.4.0-silent_rules.patch b/sys-cluster/glusterfs/files/glusterfs-3.4.0-silent_rules.patch new file mode 100644 index 000000000000..1b79e0d079e4 --- /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.5.1-Add-libraries-using-LIBADD-instead-of-LDFLAGS.patch b/sys-cluster/glusterfs/files/glusterfs-3.5.1-Add-libraries-using-LIBADD-instead-of-LDFLAGS.patch new file mode 100644 index 000000000000..5c4df0c97025 --- /dev/null +++ b/sys-cluster/glusterfs/files/glusterfs-3.5.1-Add-libraries-using-LIBADD-instead-of-LDFLAGS.patch @@ -0,0 +1,54 @@ +From 8bfe3752c3a0a4db49a879048cdd089da6c45ed0 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Tiziano=20M=C3=BCller?= <tm@dev-zero.ch> +Date: Thu, 26 Jun 2014 19:04:54 +0200 +Subject: [PATCH] Add libraries using LIBADD instead of LDFLAGS + +--- + xlators/encryption/crypt/src/Makefile.am | 6 +++--- + xlators/features/compress/src/Makefile.am | 4 ++-- + 2 files changed, 5 insertions(+), 5 deletions(-) + +diff --git a/xlators/encryption/crypt/src/Makefile.am b/xlators/encryption/crypt/src/Makefile.am +index b13f650..d7ebac6 100644 +--- a/xlators/encryption/crypt/src/Makefile.am ++++ b/xlators/encryption/crypt/src/Makefile.am +@@ -3,10 +3,10 @@ if ENABLE_CRYPT_XLATOR + xlator_LTLIBRARIES = crypt.la + xlatordir = $(libdir)/glusterfs/$(PACKAGE_VERSION)/xlator/encryption + +-crypt_la_LDFLAGS = -module -avoid-version -lssl -lcrypto ++crypt_la_LDFLAGS = -module -avoid-version + + crypt_la_SOURCES = keys.c data.c metadata.c atom.c crypt.c +-crypt_la_LIBADD = $(top_builddir)/libglusterfs/src/libglusterfs.la ++crypt_la_LIBADD = $(top_builddir)/libglusterfs/src/libglusterfs.la -lssl -lcrypto + + noinst_HEADERS = crypt-common.h crypt-mem-types.h crypt.h metadata.h + +@@ -21,4 +21,4 @@ else + noinst_DIST = keys.c data.c metadata.c atom.c crypt.c + noinst_HEADERS = crypt-common.h crypt-mem-types.h crypt.h metadata.h + +-endif +\ No newline at end of file ++endif +diff --git a/xlators/features/compress/src/Makefile.am b/xlators/features/compress/src/Makefile.am +index 0bf757c..d3abe03 100644 +--- a/xlators/features/compress/src/Makefile.am ++++ b/xlators/features/compress/src/Makefile.am +@@ -4,10 +4,10 @@ xlatordir = $(libdir)/glusterfs/$(PACKAGE_VERSION)/xlator/features + + noinst_HEADERS = cdc.h cdc-mem-types.h + +-cdc_la_LDFLAGS = -module -avoid-version $(LIBZ_LIBS) ++cdc_la_LDFLAGS = -module -avoid-version + + cdc_la_SOURCES = cdc.c cdc-helper.c +-cdc_la_LIBADD = $(top_builddir)/libglusterfs/src/libglusterfs.la ++cdc_la_LIBADD = $(top_builddir)/libglusterfs/src/libglusterfs.la $(LIBZ_LIBS) + + AM_CPPFLAGS = $(GF_CPPFLAGS) -I$(top_srcdir)/libglusterfs/src -fPIC -D_FILE_OFFSET_BITS=64 -D_GNU_SOURCE -D$(GF_HOST_OS) \ + -shared -nostartfiles $(LIBZ_CFLAGS) +-- +1.9.2 + 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 000000000000..af5332bc9b1e --- /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 000000000000..c2845855cf9c --- /dev/null +++ b/sys-cluster/glusterfs/files/glusterfs-r1.initd @@ -0,0 +1,121 @@ +#!/sbin/openrc-run +# Copyright 1999-2012 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +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 000000000000..257d0a887cff --- /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.logrotate b/sys-cluster/glusterfs/files/glusterfs.logrotate new file mode 100644 index 000000000000..07ae7b9e54dc --- /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 000000000000..bbb9cb1efa97 --- /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.10.1.ebuild b/sys-cluster/glusterfs/glusterfs-3.10.1.ebuild new file mode 100644 index 000000000000..13079fc4a53a --- /dev/null +++ b/sys-cluster/glusterfs/glusterfs-3.10.1.ebuild @@ -0,0 +1,212 @@ +# Copyright 1999-2017 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=5 + +PYTHON_COMPAT=( python2_7 ) +AUTOTOOLS_AUTORECONF=1 + +inherit autotools-utils elisp-common eutils multilib python-single-r1 systemd 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 ~arm64 ~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} )" + +# the tests must be run as root +RESTRICT="test" + +# 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-fabric/libibverbs:* sys-fabric/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:=[-bindist] + dev-libs/userspace-rcu:= + || ( sys-libs/glibc sys-libs/argp-standalone ) + sys-apps/util-linux" +DEPEND="${RDEPEND} + virtual/acl + virtual/pkgconfig + sys-devel/bison + sys-devel/flex + test? ( >=dev-util/cmocka-1.0.1 + app-benchmarks/dbench + dev-vcs/git + net-fs/nfs-utils + virtual/perl-Test-Harness + dev-libs/yajl + sys-fs/xfsprogs + sys-apps/attr )" + +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() { + python_setup "python2*" + python-single-r1_pkg_setup +} + +src_prepare() { + # build rpc-transport and xlators only once as shared libs + for makefile in $(find rpc/rpc-transport xlators -name Makefile.am); do + sed -i -e 's|.*$(top_srcdir).*\.sym|\0 -shared|' $makefile || die + done + + # fix execution permissions + chmod +x libglusterfs/src/gen-defaults.py || die + + 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 + + # fix all shebang for python2 #560750 + python_fix_shebang "${ED}" + + # upstream already has a patch ready, to be removed once available, http://review.gluster.org/#/c/9458/ + echo "d /run/gluster 0755 root root -" > "${T}/gluster.tmpfiles" || die + systemd_newtmpfilesd "${T}/gluster.tmpfiles" gluster.conf +} + +src_test() { + ./run-tests.sh || die +} + +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/glusterfs-3.6.5.ebuild b/sys-cluster/glusterfs/glusterfs-3.6.5.ebuild new file mode 100644 index 000000000000..88fd9cdb3998 --- /dev/null +++ b/sys-cluster/glusterfs/glusterfs-3.6.5.ebuild @@ -0,0 +1,182 @@ +# Copyright 1999-2017 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +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 vim-syntax +xml" + +REQUIRED_USE="georeplication? ( ${PYTHON_REQUIRED_USE} ) + glupy? ( ${PYTHON_REQUIRED_USE} )" + +RDEPEND="bd-xlator? ( sys-fs/lvm2 ) + emacs? ( virtual/emacs ) + fuse? ( >=sys-fs/fuse-2.7.0 ) + georeplication? ( ${PYTHON_DEPS} ) + infiniband? ( sys-fabric/libibverbs:* sys-fabric/librdmacm:* ) + qemu-block? ( dev-libs/glib:2 ) + systemtap? ( dev-util/systemtap ) + xml? ( dev-libs/libxml2 ) + sys-libs/readline:= + dev-libs/libaio + dev-libs/openssl:= + || ( sys-libs/glibc sys-libs/argp-standalone )" +DEPEND="${RDEPEND} + virtual/pkgconfig + sys-devel/bison + sys-devel/flex" + +SITEFILE="50${PN}-mode-gentoo.el" + +PATCHES=( + "${FILESDIR}/${PN}-3.4.0-silent_rules.patch" + "${FILESDIR}/${PN}-3.5.1-Add-libraries-using-LIBADD-instead-of-LDFLAGS.patch" + "${FILESDIR}/${PN}-3.6.5-build-shared-only.patch" +) + +DOCS=( AUTHORS ChangeLog NEWS README 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() { + autotools-utils_src_prepare + + # contrib/argp-standalone source dir is not clean... + cd contrib/argp-standalone + emake distclean +} + +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 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.6" + + use emacs && elisp-site-regen +} + +pkg_postrm() { + use emacs && elisp-site-regen +} diff --git a/sys-cluster/glusterfs/glusterfs-3.7.4.ebuild b/sys-cluster/glusterfs/glusterfs-3.7.4.ebuild new file mode 100644 index 000000000000..8dbe65598784 --- /dev/null +++ b/sys-cluster/glusterfs/glusterfs-3.7.4.ebuild @@ -0,0 +1,205 @@ +# Copyright 1999-2016 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=5 + +PYTHON_COMPAT=( python2_7 ) +AUTOTOOLS_AUTORECONF=1 + +inherit autotools-utils elisp-common eutils multilib python-single-r1 systemd 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} )" + +# the tests must be run as root +RESTRICT="test" + +# 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-fabric/libibverbs:* sys-fabric/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:=[-bindist] + 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 + app-benchmarks/dbench + dev-vcs/git + net-fs/nfs-utils + virtual/perl-Test-Harness + dev-libs/yajl + sys-fs/xfsprogs + sys-apps/attr )" + +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}" + + # upstream already has a patch ready, to be removed once available, http://review.gluster.org/#/c/9458/ + echo "d /run/gluster 0755 root root -" > "${T}/gluster.tmpfiles" || die + systemd_newtmpfilesd "${T}/gluster.tmpfiles" gluster.conf +} + +src_test() { + ./run-tests.sh || die +} + +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/glusterfs-3.8.11.ebuild b/sys-cluster/glusterfs/glusterfs-3.8.11.ebuild new file mode 100644 index 000000000000..d9243da7f4ae --- /dev/null +++ b/sys-cluster/glusterfs/glusterfs-3.8.11.ebuild @@ -0,0 +1,211 @@ +# Copyright 1999-2017 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=5 + +PYTHON_COMPAT=( python2_7 ) +AUTOTOOLS_AUTORECONF=1 + +inherit autotools-utils elisp-common eutils multilib python-single-r1 systemd 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} )" + +# the tests must be run as root +RESTRICT="test" + +# 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-fabric/libibverbs:* sys-fabric/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:=[-bindist] + dev-libs/userspace-rcu:= + || ( sys-libs/glibc sys-libs/argp-standalone ) + sys-apps/util-linux" +DEPEND="${RDEPEND} + virtual/acl + virtual/pkgconfig + sys-devel/bison + sys-devel/flex + test? ( >=dev-util/cmocka-1.0.1 + app-benchmarks/dbench + dev-vcs/git + net-fs/nfs-utils + virtual/perl-Test-Harness + dev-libs/yajl + sys-fs/xfsprogs + sys-apps/attr )" + +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() { + python_setup "python2*" + 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|' + + # fix execution permissions + chmod +x libglusterfs/src/gen-defaults.py || die + + 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 + + # fix all shebang for python2 #560750 + python_fix_shebang "${ED}" + + # upstream already has a patch ready, to be removed once available, http://review.gluster.org/#/c/9458/ + echo "d /run/gluster 0755 root root -" > "${T}/gluster.tmpfiles" || die + systemd_newtmpfilesd "${T}/gluster.tmpfiles" gluster.conf +} + +src_test() { + ./run-tests.sh || die +} + +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/glusterfs-3.8.6.ebuild b/sys-cluster/glusterfs/glusterfs-3.8.6.ebuild new file mode 100644 index 000000000000..8aa87cab2fde --- /dev/null +++ b/sys-cluster/glusterfs/glusterfs-3.8.6.ebuild @@ -0,0 +1,211 @@ +# Copyright 1999-2016 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=5 + +PYTHON_COMPAT=( python2_7 ) +AUTOTOOLS_AUTORECONF=1 + +inherit autotools-utils elisp-common eutils multilib python-single-r1 systemd 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} )" + +# the tests must be run as root +RESTRICT="test" + +# 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-fabric/libibverbs:* sys-fabric/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:=[-bindist] + dev-libs/userspace-rcu:= + || ( sys-libs/glibc sys-libs/argp-standalone ) + sys-apps/util-linux" +DEPEND="${RDEPEND} + virtual/acl + virtual/pkgconfig + sys-devel/bison + sys-devel/flex + test? ( >=dev-util/cmocka-1.0.1 + app-benchmarks/dbench + dev-vcs/git + net-fs/nfs-utils + virtual/perl-Test-Harness + dev-libs/yajl + sys-fs/xfsprogs + sys-apps/attr )" + +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() { + python_setup "python2*" + 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|' + + # fix execution permissions + chmod +x libglusterfs/src/gen-defaults.py || die + + 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 + + # fix all shebang for python2 #560750 + python_fix_shebang "${ED}" + + # upstream already has a patch ready, to be removed once available, http://review.gluster.org/#/c/9458/ + echo "d /run/gluster 0755 root root -" > "${T}/gluster.tmpfiles" || die + systemd_newtmpfilesd "${T}/gluster.tmpfiles" gluster.conf +} + +src_test() { + ./run-tests.sh || die +} + +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 000000000000..dbe49ffe8481 --- /dev/null +++ b/sys-cluster/glusterfs/metadata.xml @@ -0,0 +1,24 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="project"> + <email>cluster@gentoo.org</email> + <name>Gentoo Cluster Project</name> + </maintainer> + <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="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</pkg> SLOT 3)</flag> + </use> +</pkgmetadata> |