summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--sys-cluster/glusterfs/Manifest2
-rw-r--r--sys-cluster/glusterfs/glusterfs-7.7.ebuild211
-rw-r--r--sys-cluster/glusterfs/glusterfs-7.8-r1.ebuild213
-rw-r--r--sys-cluster/glusterfs/glusterfs-7.9.ebuild9
-rw-r--r--sys-cluster/glusterfs/glusterfs-8.3.ebuild9
-rw-r--r--sys-cluster/glusterfs/glusterfs-9.0.ebuild9
-rw-r--r--sys-cluster/glusterfs/glusterfs-9999.ebuild207
7 files changed, 6 insertions, 654 deletions
diff --git a/sys-cluster/glusterfs/Manifest b/sys-cluster/glusterfs/Manifest
index e9c7f8fc1508..23d7ac305f1f 100644
--- a/sys-cluster/glusterfs/Manifest
+++ b/sys-cluster/glusterfs/Manifest
@@ -1,5 +1,3 @@
-DIST glusterfs-7.7.tar.gz 7675420 BLAKE2B cadd415053d791f5fe4fddbc45bf237275b29fb0340202eaf81bbd2e98c8e7a1b59fa276b8b47679224198675759287a2245095a751602a866d512155dfa73c8 SHA512 0a301802920e337a4931ed36133c76ef551e0c1794d324e5a0a120d289a53fb8a4a2fd8adaa7abe5a40b8b17cc2bb18d01426c9f18d91f68b1589429ddbaa125
-DIST glusterfs-7.8.tar.gz 7703665 BLAKE2B 39a2b459fc021bf17c2ea12661d8c808a688c5934de087d23550409f6c68dff5ea94156dcba52f15d78db8b600ebf9418152a6d6bf10d1ac6291d43d14f3ceda SHA512 40f7df4bb80a372b370366e8f370f9efdf838122be84d5524b2353027b4eb6005a43b808911214c56411264764164d6480418329db94ed0fe284fdcbd9bccbea
DIST glusterfs-7.9.tar.gz 7702149 BLAKE2B e23b5a45a8c2c4f02f0992dfc78bea942a1dcc621082cb5c6aebf73e0cba17a7c0334700aec8c82dc7d093fbddcf9f579320561412b94ec010cf51c0210f2654 SHA512 5683bf2ff3550b8286e27b70981cb176c445e432624db79f065eb5928bc4afdf009f54f3b1d5abde1f6d2c532c9c4820860685aea0d0f709dc78fcf35bfea688
DIST glusterfs-8.3.tar.gz 7829522 BLAKE2B 1ba60f7209db4f1ce21237c3adea94df1b9eae04d15f99eb414bf961ea67aa7e08d01ea47c8793a33afbc0ff6cf63ecb81f78fa1ba74d66e2d4358ef2bdadacc SHA512 7ca9d3d8938eb27a7347461a07457e90d1ee6e8d5417970e38245c819cf09bf2ecf9de3954b75edf5cf14816e1059fb381b95935ae1f973ebd14ee7531322aa9
DIST glusterfs-9.0.tar.gz 8171193 BLAKE2B f9f9905515607b4877432bde264075f73c4c076ae435a67ab803affc468f5f88d02235419fea6e25db19adecff9b797a41eb5ac63772fe81251c064389f7aca6 SHA512 daa5a7342c067c75668910e8fed17145636e7a576830b4cd68e81d9fceedaab918228b8780ebd5014e2397e0606858af650cd2c52bec0883ccd2126955ad07e7
diff --git a/sys-cluster/glusterfs/glusterfs-7.7.ebuild b/sys-cluster/glusterfs/glusterfs-7.7.ebuild
deleted file mode 100644
index 77bd676415e3..000000000000
--- a/sys-cluster/glusterfs/glusterfs-7.7.ebuild
+++ /dev/null
@@ -1,211 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{7..9} )
-
-inherit autotools elisp-common python-single-r1 systemd
-
-if [[ ${PV#9999} != ${PV} ]]; then
- inherit git-r3
- EGIT_REPO_URI="https://github.com/gluster/glusterfs.git"
-else
- SRC_URI="https://download.gluster.org/pub/gluster/${PN}/$(ver_cut 1)/${PV}/${P}.tar.gz"
- KEYWORDS="amd64 ~arm ~arm64 ppc ppc64 x86"
-fi
-
-DESCRIPTION="GlusterFS is a powerful network/cluster filesystem"
-HOMEPAGE="https://www.gluster.org/"
-
-LICENSE="|| ( GPL-2 LGPL-3+ )"
-SLOT="0"
-IUSE="debug emacs +fuse +georeplication infiniband ipv6 libressl +libtirpc rsyslog static-libs +syslog test vim-syntax +xml"
-
-REQUIRED_USE="georeplication? ( ${PYTHON_REQUIRED_USE} )
- ipv6? ( libtirpc )"
-
-# the tests must be run as root
-RESTRICT="test"
-
-# sys-apps/util-linux is required for libuuid
-RDEPEND="
- acct-group/gluster
- acct-user/gluster
- dev-libs/libaio
- dev-libs/userspace-rcu:=
- net-libs/rpcsvc-proto
- sys-apps/util-linux
- sys-libs/readline:=
- emacs? ( >=app-editors/emacs-23.1:* )
- fuse? ( >=sys-fs/fuse-2.7.0:0 )
- georeplication? ( ${PYTHON_DEPS} )
- infiniband? ( sys-fabric/libibverbs:* sys-fabric/librdmacm:* )
- xml? ( dev-libs/libxml2 )
- !elibc_glibc? ( sys-libs/argp-standalone )
- libtirpc? ( net-libs/libtirpc:= )
- !libtirpc? ( elibc_glibc? ( sys-libs/glibc[rpc(-)] ) )
- !libressl? ( dev-libs/openssl:=[-bindist] )
- libressl? ( dev-libs/libressl:= )
-"
-DEPEND="
- ${RDEPEND}
- sys-devel/bison
- sys-devel/flex
- virtual/acl
- 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 )
-"
-BDEPEND="
- virtual/pkgconfig
-"
-
-SITEFILE="50${PN}-mode-gentoo.el"
-
-DOCS=( AUTHORS ChangeLog NEWS README.md THANKS )
-
-PATCHES=(
- "${FILESDIR}/${PN}-7.7-flock.patch"
-)
-
-# 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 "python3*"
- python-single-r1_pkg_setup
-}
-
-src_prepare() {
- default
-
- # build rpc-transport and xlators only once as shared libs
- find rpc/rpc-transport xlators -name Makefile.am |
- xargs sed -i 's|.*$(top_srcdir).*\.sym|\0 -shared|' || die
-
- # fix execution permissions
- chmod +x libglusterfs/src/gen-defaults.py || die
-
- eautoreconf
-}
-
-src_configure() {
- econf \
- --disable-fusermount \
- $(use_enable debug) \
- $(use_enable fuse fuse-client) \
- $(use_enable georeplication) \
- $(use_enable infiniband ibverbs) \
- $(use_enable static-libs static) \
- $(use_enable syslog) \
- $(use_enable test cmocka) \
- $(use_enable xml xml-output) \
- $(use libtirpc || echo --without-libtirpc) \
- $(use ipv6 && echo --with-ipv6-default) \
- --with-tmpfilesdir="${EPREFIX}"/etc/tmpfiles.d \
- --localstatedir="${EPREFIX}"/var
-}
-
-src_compile() {
- default
- use emacs && elisp-compile extras/glusterfs-mode.el
-}
-
-src_install() {
- default
-
- rm \
- "${ED}"/etc/glusterfs/glusterfs-{georep-,}logrotate \
- "${ED}"/etc/glusterfs/gluster-rsyslog-*.conf \
- "${ED}"/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-r3.initd" glusterd
- newconfd "${FILESDIR}/${PN}.confd" glusterfsd
-
- keepdir /var/log/${PN}
- keepdir /var/lib/glusterd/{events,glusterfind/.keys}
-
- # QA
- rm -r "${ED}/var/run/" || die
- if ! use static-libs; then
- find "${D}" -type f -name '*.la' -delete || die
- fi
-}
-
-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."
- echo
- elog "If you are upgrading from a previous version of ${PN}, please read:"
- elog " http://docs.gluster.org/en/latest/Upgrade-Guide/upgrade_to_$(ver_cut '1-2')/"
-
- use emacs && elisp-site-regen
-}
-
-pkg_postrm() {
- use emacs && elisp-site-regen
-}
diff --git a/sys-cluster/glusterfs/glusterfs-7.8-r1.ebuild b/sys-cluster/glusterfs/glusterfs-7.8-r1.ebuild
deleted file mode 100644
index 44c9755c9263..000000000000
--- a/sys-cluster/glusterfs/glusterfs-7.8-r1.ebuild
+++ /dev/null
@@ -1,213 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{7..9} )
-
-inherit autotools elisp-common python-single-r1 systemd
-
-if [[ ${PV#9999} != ${PV} ]]; then
- inherit git-r3
- EGIT_REPO_URI="https://github.com/gluster/glusterfs.git"
-else
- SRC_URI="https://download.gluster.org/pub/gluster/${PN}/$(ver_cut 1)/${PV}/${P}.tar.gz"
- KEYWORDS="amd64 ~arm ~arm64 ppc ppc64 x86"
-fi
-
-DESCRIPTION="GlusterFS is a powerful network/cluster filesystem"
-HOMEPAGE="https://www.gluster.org/"
-
-LICENSE="|| ( GPL-2 LGPL-3+ )"
-SLOT="0"
-IUSE="debug emacs +fuse +georeplication infiniband ipv6 libressl +libtirpc rsyslog static-libs +syslog test vim-syntax +xml"
-
-REQUIRED_USE="georeplication? ( ${PYTHON_REQUIRED_USE} )
- ipv6? ( libtirpc )"
-
-# the tests must be run as root
-RESTRICT="test"
-
-# sys-apps/util-linux is required for libuuid
-RDEPEND="
- acct-group/gluster
- acct-user/gluster
- dev-libs/libaio
- dev-libs/userspace-rcu:=
- net-libs/rpcsvc-proto
- sys-apps/util-linux
- sys-libs/readline:=
- emacs? ( >=app-editors/emacs-23.1:* )
- fuse? ( >=sys-fs/fuse-2.7.0:0 )
- georeplication? ( ${PYTHON_DEPS} )
- infiniband? ( sys-fabric/libibverbs:* sys-fabric/librdmacm:* )
- xml? ( dev-libs/libxml2 )
- !elibc_glibc? ( sys-libs/argp-standalone )
- libtirpc? ( net-libs/libtirpc:= )
- !libtirpc? ( elibc_glibc? ( sys-libs/glibc[rpc(-)] ) )
- !libressl? ( dev-libs/openssl:=[-bindist] )
- libressl? ( dev-libs/libressl:= )
-"
-DEPEND="
- ${RDEPEND}
- sys-devel/bison
- sys-devel/flex
- virtual/acl
- 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 )
-"
-BDEPEND="
- virtual/pkgconfig
-"
-
-SITEFILE="50${PN}-mode-gentoo.el"
-
-DOCS=( AUTHORS ChangeLog NEWS README.md THANKS )
-
-PATCHES=(
- "${FILESDIR}/${PN}-7.7-flock.patch"
-)
-
-# 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 "python3*"
- python-single-r1_pkg_setup
-}
-
-src_prepare() {
- default
-
- # build rpc-transport and xlators only once as shared libs
- find rpc/rpc-transport xlators -name Makefile.am |
- xargs sed -i 's|.*$(top_srcdir).*\.sym|\0 -shared|' || die
-
- # fix execution permissions
- chmod +x libglusterfs/src/gen-defaults.py || die
-
- eautoreconf
-}
-
-src_configure() {
- econf \
- --disable-fusermount \
- $(use_enable debug) \
- $(use_enable fuse fuse-client) \
- $(use_enable georeplication) \
- $(use_enable infiniband ibverbs) \
- $(use_enable static-libs static) \
- $(use_enable syslog) \
- $(use_enable test cmocka) \
- $(use_enable xml xml-output) \
- $(use libtirpc || echo --without-libtirpc) \
- $(use ipv6 && echo --with-ipv6-default) \
- --with-tmpfilesdir="${EPREFIX}"/etc/tmpfiles.d \
- --localstatedir="${EPREFIX}"/var
-}
-
-src_compile() {
- default
- use emacs && elisp-compile extras/glusterfs-mode.el
-}
-
-src_install() {
- default
-
- rm \
- "${ED}"/etc/glusterfs/glusterfs-{georep-,}logrotate \
- "${ED}"/etc/glusterfs/gluster-rsyslog-*.conf \
- "${ED}"/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-r3.initd" glusterd
- newconfd "${FILESDIR}/${PN}.confd" glusterfsd
-
- keepdir /var/log/${PN}
- keepdir /var/lib/glusterd/{events,glusterfind/.keys}
-
- # QA
- rm -r "${ED}/var/run/" || die
- if ! use static-libs; then
- find "${D}" -type f -name '*.la' -delete || die
- fi
-
- python_optimize "${ED}"
-}
-
-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."
- echo
- elog "If you are upgrading from a previous version of ${PN}, please read:"
- elog " http://docs.gluster.org/en/latest/Upgrade-Guide/upgrade_to_$(ver_cut '1-2')/"
-
- use emacs && elisp-site-regen
-}
-
-pkg_postrm() {
- use emacs && elisp-site-regen
-}
diff --git a/sys-cluster/glusterfs/glusterfs-7.9.ebuild b/sys-cluster/glusterfs/glusterfs-7.9.ebuild
index 45b362b492e5..84f522b78c81 100644
--- a/sys-cluster/glusterfs/glusterfs-7.9.ebuild
+++ b/sys-cluster/glusterfs/glusterfs-7.9.ebuild
@@ -7,13 +7,8 @@ PYTHON_COMPAT=( python3_{7..9} )
inherit autotools elisp-common python-single-r1 systemd
-if [[ ${PV#9999} != ${PV} ]]; then
- inherit git-r3
- EGIT_REPO_URI="https://github.com/gluster/glusterfs.git"
-else
- SRC_URI="https://download.gluster.org/pub/gluster/${PN}/$(ver_cut 1)/${PV}/${P}.tar.gz"
- KEYWORDS="amd64 ~arm ~arm64 ppc ppc64 x86"
-fi
+SRC_URI="https://download.gluster.org/pub/gluster/${PN}/$(ver_cut 1)/${PV}/${P}.tar.gz"
+KEYWORDS="amd64 ~arm ~arm64 ppc ppc64 x86"
DESCRIPTION="GlusterFS is a powerful network/cluster filesystem"
HOMEPAGE="https://www.gluster.org/ https://github.com/gluster/glusterfs/"
diff --git a/sys-cluster/glusterfs/glusterfs-8.3.ebuild b/sys-cluster/glusterfs/glusterfs-8.3.ebuild
index 8354a144baa5..7781fd95707c 100644
--- a/sys-cluster/glusterfs/glusterfs-8.3.ebuild
+++ b/sys-cluster/glusterfs/glusterfs-8.3.ebuild
@@ -7,13 +7,8 @@ PYTHON_COMPAT=( python3_{7..9} )
inherit autotools elisp-common python-single-r1 systemd
-if [[ ${PV#9999} != ${PV} ]]; then
- inherit git-r3
- EGIT_REPO_URI="https://github.com/gluster/glusterfs.git"
-else
- SRC_URI="https://download.gluster.org/pub/gluster/${PN}/$(ver_cut 1)/${PV}/${P}.tar.gz"
- KEYWORDS="amd64 ~arm ~arm64 ppc ppc64 x86"
-fi
+SRC_URI="https://download.gluster.org/pub/gluster/${PN}/$(ver_cut 1)/${PV}/${P}.tar.gz"
+KEYWORDS="amd64 ~arm ~arm64 ppc ppc64 x86"
DESCRIPTION="GlusterFS is a powerful network/cluster filesystem"
HOMEPAGE="https://www.gluster.org/ https://github.com/gluster/glusterfs/"
diff --git a/sys-cluster/glusterfs/glusterfs-9.0.ebuild b/sys-cluster/glusterfs/glusterfs-9.0.ebuild
index f8603e0e9ea4..447c689852df 100644
--- a/sys-cluster/glusterfs/glusterfs-9.0.ebuild
+++ b/sys-cluster/glusterfs/glusterfs-9.0.ebuild
@@ -7,13 +7,8 @@ PYTHON_COMPAT=( python3_{7..9} )
inherit autotools elisp-common python-single-r1 systemd
-if [[ ${PV#9999} != ${PV} ]]; then
- inherit git-r3
- EGIT_REPO_URI="https://github.com/gluster/glusterfs.git"
-else
- SRC_URI="https://download.gluster.org/pub/gluster/${PN}/$(ver_cut 1)/${PV}/${P}.tar.gz"
- KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~x86"
-fi
+SRC_URI="https://download.gluster.org/pub/gluster/${PN}/$(ver_cut 1)/${PV}/${P}.tar.gz"
+KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~x86"
DESCRIPTION="GlusterFS is a powerful network/cluster filesystem"
HOMEPAGE="https://www.gluster.org/ https://github.com/gluster/glusterfs/"
diff --git a/sys-cluster/glusterfs/glusterfs-9999.ebuild b/sys-cluster/glusterfs/glusterfs-9999.ebuild
deleted file mode 100644
index 4d96e7c5291e..000000000000
--- a/sys-cluster/glusterfs/glusterfs-9999.ebuild
+++ /dev/null
@@ -1,207 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{7..9} )
-
-inherit autotools elisp-common python-single-r1 systemd
-
-if [[ ${PV#9999} != ${PV} ]]; then
- inherit git-r3
- EGIT_REPO_URI="https://github.com/gluster/glusterfs.git"
-else
- SRC_URI="https://download.gluster.org/pub/gluster/${PN}/$(ver_cut 1)/${PV}/${P}.tar.gz"
- KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~x86"
-fi
-
-DESCRIPTION="GlusterFS is a powerful network/cluster filesystem"
-HOMEPAGE="https://www.gluster.org/"
-
-LICENSE="|| ( GPL-2 LGPL-3+ )"
-SLOT="0"
-IUSE="debug emacs +fuse +georeplication infiniband ipv6 libressl +libtirpc rsyslog static-libs +syslog test vim-syntax +xml"
-
-REQUIRED_USE="georeplication? ( ${PYTHON_REQUIRED_USE} )
- ipv6? ( libtirpc )"
-
-# the tests must be run as root
-RESTRICT="test"
-
-# sys-apps/util-linux is required for libuuid
-RDEPEND="
- acct-group/gluster
- acct-user/gluster
- dev-libs/libaio
- dev-libs/userspace-rcu:=
- net-libs/rpcsvc-proto
- sys-apps/util-linux
- sys-libs/readline:=
- emacs? ( >=app-editors/emacs-23.1:* )
- fuse? ( >=sys-fs/fuse-2.7.0:0 )
- georeplication? ( ${PYTHON_DEPS} )
- infiniband? ( sys-fabric/libibverbs:* sys-fabric/librdmacm:* )
- xml? ( dev-libs/libxml2 )
- !elibc_glibc? ( sys-libs/argp-standalone )
- libtirpc? ( net-libs/libtirpc:= )
- !libtirpc? ( elibc_glibc? ( sys-libs/glibc[rpc(-)] ) )
- !libressl? ( dev-libs/openssl:=[-bindist] )
- libressl? ( dev-libs/libressl:= )
-"
-DEPEND="
- ${RDEPEND}
- sys-devel/bison
- sys-devel/flex
- virtual/acl
- 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 )
-"
-BDEPEND="
- virtual/pkgconfig
-"
-
-SITEFILE="50${PN}-mode-gentoo.el"
-
-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 "python3*"
- python-single-r1_pkg_setup
-}
-
-src_prepare() {
- default
-
- # build rpc-transport and xlators only once as shared libs
- find rpc/rpc-transport xlators -name Makefile.am |
- xargs sed -i 's|.*$(top_srcdir).*\.sym|\0 -shared|' || die
-
- # fix execution permissions
- chmod +x libglusterfs/src/gen-defaults.py || die
-
- eautoreconf
-}
-
-src_configure() {
- econf \
- --disable-fusermount \
- $(use_enable debug) \
- $(use_enable fuse fuse-client) \
- $(use_enable georeplication) \
- $(use_enable infiniband ibverbs) \
- $(use_enable static-libs static) \
- $(use_enable syslog) \
- $(use_enable test cmocka) \
- $(use_enable xml xml-output) \
- $(use libtirpc || echo --without-libtirpc) \
- $(use ipv6 && echo --with-ipv6-default) \
- --with-tmpfilesdir="${EPREFIX}"/etc/tmpfiles.d \
- --localstatedir="${EPREFIX}"/var
-}
-
-src_compile() {
- default
- use emacs && elisp-compile extras/glusterfs-mode.el
-}
-
-src_install() {
- default
-
- rm \
- "${ED}"/etc/glusterfs/glusterfs-{georep-,}logrotate \
- "${ED}"/etc/glusterfs/gluster-rsyslog-*.conf \
- "${ED}"/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-r3.initd" glusterd
- newconfd "${FILESDIR}/${PN}.confd" glusterfsd
-
- keepdir /var/log/${PN}
- keepdir /var/lib/glusterd/{events,glusterfind/.keys}
-
- # QA
- rm -r "${ED}/var/run/" || die
- if ! use static-libs; then
- find "${D}" -type f -name '*.la' -delete || die
- fi
-}
-
-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."
- echo
- elog "If you are upgrading from a previous version of ${PN}, please read:"
- elog " http://docs.gluster.org/en/latest/Upgrade-Guide/upgrade_to_$(ver_cut '1-2')/"
-
- use emacs && elisp-site-regen
-}
-
-pkg_postrm() {
- use emacs && elisp-site-regen
-}