* [gentoo-commits] repo/gentoo:master commit in: sys-cluster/glusterfs/files/, sys-cluster/glusterfs/
@ 2017-10-22 14:17 James Le Cuirot
0 siblings, 0 replies; 7+ messages in thread
From: James Le Cuirot @ 2017-10-22 14:17 UTC (permalink / raw
To: gentoo-commits
commit: bbe740704477875c80a724ad69f0c8dcd1540861
Author: James Le Cuirot <chewi <AT> gentoo <DOT> org>
AuthorDate: Sun Oct 22 13:16:07 2017 +0000
Commit: James Le Cuirot <chewi <AT> gentoo <DOT> org>
CommitDate: Sun Oct 22 14:16:43 2017 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=bbe74070
sys-cluster/glusterfs: Bump to 3.12.2, EAPI 6, fix #616760, and more
* Fix URLs.
* Prefix fixes.
* Migration away from autotools-utils.eclass.
* Create user and group for statedumps.
* Use upstream tmpfiles.d file.
* Fix poisoned sysmacros.h issue (#616760).
Package-Manager: Portage-2.3.8, Repoman-2.3.2
Closes: https://bugs.gentoo.org/631392
sys-cluster/glusterfs/Manifest | 1 +
sys-cluster/glusterfs/files/glusterd-r3.initd | 32 ++++
.../glusterfs-3.12.2-poisoned-sysmacros.patch | 11 ++
.../files/glusterfs-3.12.2-silent_rules.patch | 22 +++
sys-cluster/glusterfs/glusterfs-3.12.2.ebuild | 213 +++++++++++++++++++++
5 files changed, 279 insertions(+)
diff --git a/sys-cluster/glusterfs/Manifest b/sys-cluster/glusterfs/Manifest
index 4b45438299d..75b7af89fac 100644
--- a/sys-cluster/glusterfs/Manifest
+++ b/sys-cluster/glusterfs/Manifest
@@ -1,4 +1,5 @@
DIST glusterfs-3.10.1.tar.gz 8926368 SHA256 d3c23df3299964efe6b688c94ddde258506ecf173b58e8c07fa18d470bb21517 SHA512 35acf10d37db7ca9cf7d88e4eabcac4febdccfe15cbe68df86c44042987547f3a56447a1ced5ed238d171efdbcb97dd1fc6917283641bdcd7d476deb37ad0871 WHIRLPOOL 7ce3b5cbe136b1d09b4c0c062decf0d9c5bba03f9b7249648e886ceff758061e73863c9f6d82ed2de3fc41546950ee08c022683174283dc03201c12d61d295aa
+DIST glusterfs-3.12.2.tar.gz 9404275 SHA256 6f9fbf8183df9e012a2c95f3ac3fad303443218beef4fd060f4af57c0bdbc069 SHA512 2bcb3e9356964ea8557ea4291cf6b641122c58a3beb59c00de0acb6772b05b22c0610db4f2bde2e506e15233cfa610db415c6622933e04600ddee3cc55b01166 WHIRLPOOL e788f65be5a3b9965ae485a1d273c2890d89fcff705490c040192fc549580e051e3208e0d2ccdc8dc9350c1e57b188a39a1690751dee1201ef032ca71d514871
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
diff --git a/sys-cluster/glusterfs/files/glusterd-r3.initd b/sys-cluster/glusterfs/files/glusterd-r3.initd
new file mode 100644
index 00000000000..27682d06216
--- /dev/null
+++ b/sys-cluster/glusterfs/files/glusterd-r3.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 gluster:gluster --mode 0775 /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.12.2-poisoned-sysmacros.patch b/sys-cluster/glusterfs/files/glusterfs-3.12.2-poisoned-sysmacros.patch
new file mode 100644
index 00000000000..34153516374
--- /dev/null
+++ b/sys-cluster/glusterfs/files/glusterfs-3.12.2-poisoned-sysmacros.patch
@@ -0,0 +1,11 @@
+diff --git a/libglusterfs/src/compat.h b/libglusterfs/src/compat.h
+index 1d0ac27e8..b1a7c0a93 100644
+--- a/libglusterfs/src/compat.h
++++ b/libglusterfs/src/compat.h
+@@ -510,6 +510,7 @@ int gf_mkostemp (char *tmpl, int suffixlen, int flags);
+ /* Use run API, see run.h */
+ #include <stdlib.h> /* system(), mkostemp() */
+ #include <stdio.h> /* popen() */
++#include <sys/sysmacros.h>
+ #pragma GCC poison system mkostemp popen
+ #endif
diff --git a/sys-cluster/glusterfs/files/glusterfs-3.12.2-silent_rules.patch b/sys-cluster/glusterfs/files/glusterfs-3.12.2-silent_rules.patch
new file mode 100644
index 00000000000..d5e2727aa8d
--- /dev/null
+++ b/sys-cluster/glusterfs/files/glusterfs-3.12.2-silent_rules.patch
@@ -0,0 +1,22 @@
+--- a/configure.ac 2017-08-30 13:46:34.075359703 +0100
++++ b/configure.ac 2017-09-07 21:28:48.110879291 +0100
+@@ -19,19 +19,6 @@
+ #but libglusterfs fails to build with contrib (Then are not set up that way?)
+ #AM_INIT_AUTOMAKE([subdir-objects])
+
+-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 site.h])
+
diff --git a/sys-cluster/glusterfs/glusterfs-3.12.2.ebuild b/sys-cluster/glusterfs/glusterfs-3.12.2.ebuild
new file mode 100644
index 00000000000..3811ea410c4
--- /dev/null
+++ b/sys-cluster/glusterfs/glusterfs-3.12.2.ebuild
@@ -0,0 +1,213 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+PYTHON_COMPAT=( python2_7 )
+
+inherit autotools elisp-common python-single-r1 systemd user versionator
+
+DESCRIPTION="GlusterFS is a powerful network/cluster filesystem"
+HOMEPAGE="https://www.gluster.org/"
+SRC_URI="https://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: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.12.2-poisoned-sysmacros.patch"
+ "${FILESDIR}/${PN}-3.12.2-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
+
+ # Needed for statedumps
+ # https://github.com/gluster/glusterfs/commit/0e50c4b3ea734456c14e2d7a578463999bd332c3
+ enewgroup gluster
+ enewuser gluster -1 -1 "${EPREFIX}"/var/run/gluster gluster
+}
+
+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-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) \
+ --with-tmpfilesdir="${EPREFIX}"/etc/tmpfiles.d \
+ --docdir="${EPREFIX}"/usr/share/doc/${PF} \
+ --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
+
+ # QA
+ rm -r "${ED}/var/run/" || die
+ if ! use static-libs; then
+ find "${D}" -type f -name '*.la' -delete || die
+ fi
+
+ # fix all shebang for python2 #560750
+ python_fix_shebang "${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_$(get_version_component_range '1-2')/"
+
+ use emacs && elisp-site-regen
+}
+
+pkg_postrm() {
+ use emacs && elisp-site-regen
+}
^ permalink raw reply related [flat|nested] 7+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-cluster/glusterfs/files/, sys-cluster/glusterfs/
@ 2018-05-26 11:07 James Le Cuirot
0 siblings, 0 replies; 7+ messages in thread
From: James Le Cuirot @ 2018-05-26 11:07 UTC (permalink / raw
To: gentoo-commits
commit: 726354281e331b53c25f336cf5b8b6a4b8e9beba
Author: James Le Cuirot <chewi <AT> gentoo <DOT> org>
AuthorDate: Sat May 26 11:06:51 2018 +0000
Commit: James Le Cuirot <chewi <AT> gentoo <DOT> org>
CommitDate: Sat May 26 11:07:30 2018 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=72635428
sys-cluster/glusterfs: Drop old 3.12.3
Closes: https://bugs.gentoo.org/639838
Package-Manager: Portage-2.3.40, Repoman-2.3.9
sys-cluster/glusterfs/Manifest | 1 -
.../files/glusterfs-3.12.3-libtirpc.patch | 45 -----
sys-cluster/glusterfs/glusterfs-3.12.3.ebuild | 218 ---------------------
3 files changed, 264 deletions(-)
diff --git a/sys-cluster/glusterfs/Manifest b/sys-cluster/glusterfs/Manifest
index 0f908a04fce..c3dd54c6e00 100644
--- a/sys-cluster/glusterfs/Manifest
+++ b/sys-cluster/glusterfs/Manifest
@@ -1,3 +1,2 @@
-DIST glusterfs-3.12.3.tar.gz 7187644 BLAKE2B 736c6bb408b0bd289ce5ce0abcc7e8bf4b7f96e4e92a1e669f016b59fb16993b17f7cf50fed09a6eeb851b57054c7bf9e595b642c506b0aca567d7ae80de0e84 SHA512 f648b8324a69360b510c947e49918467c969dcc21b6a408b6916b780aa78c44abe027b6c84d696eed7d5f381b055edd3be1dfe4f3ea8f76d15d9319cd08cfa3d
DIST glusterfs-4.0.0.tar.gz 7632629 BLAKE2B 9367d2c99452d261d889cf564f3a055e1459ee54377cbf8cf6cc46c8d7f153bb258892fb73fc492d1dc6c5bea156d204971256fefc96f9f4825583d9c1086563 SHA512 acd3c462a8e15fb31f4b30d2e217928488e32d66ae7d1061df3e166354a4ddcdeb0ba0bcc994b7563f83376c882800fad07e190e0086fda987915c195266421f
DIST glusterfs-4.0.2.tar.gz 7643713 BLAKE2B 6314f81fe1474bcf8c577aa68a32c46a6d1e586b32c698a9e30850080408958c0541c1afe72520574fcabebb0884cf3bf315b22582d932876bbb5a4393e167f0 SHA512 33afed4fb4f6d63f1d2b7caedae1ce41e7f6aa4299fb4a7ee2f5e4bc14c97d66f68097171fded6d1f2141dd7127eb408596cce4f5f7287038a14e387ad5ec5e6
diff --git a/sys-cluster/glusterfs/files/glusterfs-3.12.3-libtirpc.patch b/sys-cluster/glusterfs/files/glusterfs-3.12.3-libtirpc.patch
deleted file mode 100644
index fdc1f1f9597..00000000000
--- a/sys-cluster/glusterfs/files/glusterfs-3.12.3-libtirpc.patch
+++ /dev/null
@@ -1,45 +0,0 @@
-From 6394d8d8e90d5400b49005bf3005523b2e306b2c Mon Sep 17 00:00:00 2001
-From: James Le Cuirot <chewi@gentoo.org>
-Date: Mon, 20 Nov 2017 20:44:45 +0000
-Subject: [PATCH] build: Allow libtirpc to be explicitly requested
-
-Some distributions like Gentoo no longer include the RPC stuff in
-their glibc packages.
-
-Signed-off-by: James Le Cuirot <chewi@gentoo.org>
----
- configure.ac | 11 +++++++++++
- 1 file changed, 11 insertions(+)
-
-diff --git a/configure.ac b/configure.ac
-index ce689225c..90d2f98c8 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -291,6 +291,10 @@ else
- CFLAGS="${CFLAGS} -g -rdynamic"
- fi
-
-+AC_ARG_WITH([libtirpc],
-+ AS_HELP_STRING([--with-libtirpc], [Use libtirpc as RPC implementation (instead of sunrpc)]),
-+ [], [with_libtirpc=no])
-+
- AC_ARG_ENABLE([privport_tracking],
- AC_HELP_STRING([--disable-privport_tracking],
- [Disable internal tracking of privileged ports.]))
-@@ -1050,6 +1054,13 @@ AC_SUBST(GF_DISTRIBUTION)
- GF_HOST_OS=""
- GF_LDFLAGS="-rdynamic"
-
-+if test "x$with_libtirpc" = "xyes" ; then
-+ PKG_CHECK_MODULES([TIRPC], [libtirpc],
-+ [GF_CFLAGS="$GF_CFLAGS $TIRPC_CFLAGS"; GF_LDFLAGS="$GF_LDFLAGS $TIRPC_LIBS";],
-+ [AC_MSG_ERROR([libtirpc requested but library not found])]
-+ )
-+fi
-+
- dnl check for gcc -Werror=format-security
- saved_CFLAGS=$CFLAGS
- CFLAGS="-Wformat -Werror=format-security"
---
-2.15.0
-
diff --git a/sys-cluster/glusterfs/glusterfs-3.12.3.ebuild b/sys-cluster/glusterfs/glusterfs-3.12.3.ebuild
deleted file mode 100644
index 04036b762ed..00000000000
--- a/sys-cluster/glusterfs/glusterfs-3.12.3.ebuild
+++ /dev/null
@@ -1,218 +0,0 @@
-# Copyright 1999-2017 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-PYTHON_COMPAT=( python2_7 )
-
-inherit autotools elisp-common python-single-r1 systemd user versionator
-
-DESCRIPTION="GlusterFS is a powerful network/cluster filesystem"
-HOMEPAGE="https://www.gluster.org/"
-SRC_URI="https://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 ~arm ~arm64 ppc ppc64 x86"
-IUSE="bd-xlator crypt-xlator debug emacs +fuse +georeplication glupy infiniband +libtirpc 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 )
- !elibc_glibc? ( sys-libs/argp-standalone )
- emacs? ( virtual/emacs )
- fuse? ( >=sys-fs/fuse-2.7.0:0 )
- georeplication? ( ${PYTHON_DEPS} )
- infiniband? ( sys-fabric/libibverbs:* sys-fabric/librdmacm:* )
- libtirpc? ( net-libs/libtirpc:= )
- !libtirpc? ( elibc_glibc? ( sys-libs/glibc[rpc(-)] ) )
- 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:=
- net-libs/rpcsvc-proto
- 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.12.2-poisoned-sysmacros.patch"
- "${FILESDIR}/${PN}-3.12.2-silent_rules.patch"
- "${FILESDIR}/${PN}-3.12.3-libtirpc.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
-
- # Needed for statedumps
- # https://github.com/gluster/glusterfs/commit/0e50c4b3ea734456c14e2d7a578463999bd332c3
- enewgroup gluster
- enewuser gluster -1 -1 "${EPREFIX}"/var/run/gluster gluster
-}
-
-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-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) \
- $(use_with libtirpc) \
- --with-tmpfilesdir="${EPREFIX}"/etc/tmpfiles.d \
- --docdir="${EPREFIX}"/usr/share/doc/${PF} \
- --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
-
- # QA
- rm -r "${ED}/var/run/" || die
- if ! use static-libs; then
- find "${D}" -type f -name '*.la' -delete || die
- fi
-
- # fix all shebang for python2 #560750
- python_fix_shebang "${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_$(get_version_component_range '1-2')/"
-
- use emacs && elisp-site-regen
-}
-
-pkg_postrm() {
- use emacs && elisp-site-regen
-}
^ permalink raw reply related [flat|nested] 7+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-cluster/glusterfs/files/, sys-cluster/glusterfs/
@ 2020-01-19 9:47 Alexys Jacob
0 siblings, 0 replies; 7+ messages in thread
From: Alexys Jacob @ 2020-01-19 9:47 UTC (permalink / raw
To: gentoo-commits
commit: d1dc56b8af7550ce3d2b4ceb1419cf9ab7d9276f
Author: Tomáš Mózes <hydrapolic <AT> gmail <DOT> com>
AuthorDate: Sat Jan 18 05:32:11 2020 +0000
Commit: Alexys Jacob <ultrabug <AT> gentoo <DOT> org>
CommitDate: Sun Jan 19 09:44:34 2020 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=d1dc56b8
sys-cluster/glusterfs: bump to 6.7, drop old
Closes: https://bugs.gentoo.org/705396
Signed-off-by: Tomáš Mózes <hydrapolic <AT> gmail.com>
Closes: https://github.com/gentoo/gentoo/pull/14373
Signed-off-by: Alexys Jacob <ultrabug <AT> gentoo.org>
sys-cluster/glusterfs/Manifest | 2 +-
.../files/glusterfs-6.7-fix-rebalance-crash.patch | 185 +++++++++++++++++++++
.../{glusterfs-6.1.ebuild => glusterfs-6.7.ebuild} | 5 +-
3 files changed, 190 insertions(+), 2 deletions(-)
diff --git a/sys-cluster/glusterfs/Manifest b/sys-cluster/glusterfs/Manifest
index 7467705eeaf..3e30ba37cb9 100644
--- a/sys-cluster/glusterfs/Manifest
+++ b/sys-cluster/glusterfs/Manifest
@@ -1,3 +1,3 @@
DIST glusterfs-4.1.8.tar.gz 7835272 BLAKE2B 2546b9c0fe38989df71b8f72b193ce42c499621dcaaa4c5e3deeacfba68179f2280fc699cebeb87486171442152fa8b56b42a0d17465b739769eb227c82307d7 SHA512 950cd2fd774e3eb00f1ec06d54566736b6fbe8d1aed54477a19d9b2727eff8a70ef7ac32815cc7e01d45b5d357fc01af786e16c451f6ad314d472e61ba04ce85
-DIST glusterfs-6.1.tar.gz 7510074 BLAKE2B 8002597f8f695d11578be250cafb3f32358ac29d873b27f87bb26edd38b64d896050322d9591b156793fe6ee7af111904961d5a3e7a933f7c5176cf0c6793305 SHA512 53f4195ecb565a8dcc0d66e74d07dd7334e3c8b1cc1671517612be32a00e9e9bbfb5e983955c4f116b25f7df990bcd1c05bbd3d0b740e9f8c76a16b9b16bec00
DIST glusterfs-6.5.tar.gz 7536238 BLAKE2B 35c58da9e8564bda1f34b095f14316148cae2b5ff1820d22ae945a06d34ac57aea968e5914af3f5831250fd591a103fe4022e160bb96d491a7c915b5b68c54e7 SHA512 b7356de07e8126aea80b0489b9ac39ce0d10ea324fe38d05ff5740765e886f80fc7e6bdda9d4db1371d7b955b055cb76ea29e918e759a575db331a6436bad90f
+DIST glusterfs-6.7.tar.gz 7565257 BLAKE2B bb38383cad0cbf890b89dd75f7b260d21b381aed6da0bf7cf7b3335941d8e195fe5ff60a1c882df941daeb8ad627fddd1a44223c62d71e2388fd85a7ea46a386 SHA512 64d576c91e5accdb3547dc7216d854e96512c9035ddb87dc4018930f2b0a008ad929cd80ae89a340fca7a8d36e2106a30797d7b08768477b1415db95123e07d4
diff --git a/sys-cluster/glusterfs/files/glusterfs-6.7-fix-rebalance-crash.patch b/sys-cluster/glusterfs/files/glusterfs-6.7-fix-rebalance-crash.patch
new file mode 100644
index 00000000000..e5a31623a32
--- /dev/null
+++ b/sys-cluster/glusterfs/files/glusterfs-6.7-fix-rebalance-crash.patch
@@ -0,0 +1,185 @@
+From ff1eae7f882b8f12380e0c35a9a73b672583cd4c Mon Sep 17 00:00:00 2001
+From: N Balachandran <nbalacha@redhat.com>
+Date: Tue, 01 Oct 2019 17:37:15 +0530
+Subject: [PATCH] cluster/dht: Correct fd processing loop
+
+The fd processing loops in the
+dht_migration_complete_check_task and the
+dht_rebalance_inprogress_task functions were unsafe
+and could cause an open to be sent on an already freed
+fd. This has been fixed.
+
+> Change-Id: I0a3c7d2fba314089e03dfd704f9dceb134749540
+> Fixes: bz#1757399
+> Signed-off-by: N Balachandran <nbalacha@redhat.com>
+> (cherry picked from commit 9b15867070b0cc241ab165886292ecffc3bc0aed)
+
+Change-Id: I0a3c7d2fba314089e03dfd704f9dceb134749540
+Fixes: bz#1786983
+Signed-off-by: Mohit Agrawal <moagrawa@redhat.com>
+---
+
+diff --git a/xlators/cluster/dht/src/dht-helper.c b/xlators/cluster/dht/src/dht-helper.c
+index acad493..4f7370d 100644
+--- a/xlators/cluster/dht/src/dht-helper.c
++++ b/xlators/cluster/dht/src/dht-helper.c
+@@ -1290,6 +1290,7 @@
+ fd_t *tmp = NULL;
+ uint64_t tmp_miginfo = 0;
+ dht_migrate_info_t *miginfo = NULL;
++ gf_boolean_t skip_open = _gf_false;
+ int open_failed = 0;
+
+ this = THIS;
+@@ -1428,24 +1429,34 @@
+ * the loop will cause the destruction of the fd. So we need to
+ * iterate the list safely because iter_fd cannot be trusted.
+ */
+- list_for_each_entry_safe(iter_fd, tmp, &inode->fd_list, inode_list)
+- {
+- if (fd_is_anonymous(iter_fd))
+- continue;
+-
+- if (dht_fd_open_on_dst(this, iter_fd, dst_node))
+- continue;
+-
++ iter_fd = list_entry((&inode->fd_list)->next, typeof(*iter_fd), inode_list);
++ while (&iter_fd->inode_list != (&inode->fd_list)) {
++ if (fd_is_anonymous(iter_fd) ||
++ (dht_fd_open_on_dst(this, iter_fd, dst_node))) {
++ if (!tmp) {
++ iter_fd = list_entry(iter_fd->inode_list.next, typeof(*iter_fd),
++ inode_list);
++ continue;
++ }
++ skip_open = _gf_true;
++ }
+ /* We need to release the inode->lock before calling
+ * syncop_open() to avoid possible deadlocks. However this
+ * can cause the iter_fd to be released by other threads.
+ * To avoid this, we take a reference before releasing the
+ * lock.
+ */
+- __fd_ref(iter_fd);
++ fd_ref(iter_fd);
+
+ UNLOCK(&inode->lock);
+
++ if (tmp) {
++ fd_unref(tmp);
++ tmp = NULL;
++ }
++ if (skip_open)
++ goto next;
++
+ /* flags for open are stripped down to allow following the
+ * new location of the file, otherwise we can get EEXIST or
+ * truncate the file again as rebalance is moving the data */
+@@ -1467,9 +1478,11 @@
+ dht_fd_ctx_set(this, iter_fd, dst_node);
+ }
+
+- fd_unref(iter_fd);
+-
++ next:
+ LOCK(&inode->lock);
++ skip_open = _gf_false;
++ tmp = iter_fd;
++ iter_fd = list_entry(tmp->inode_list.next, typeof(*tmp), inode_list);
+ }
+
+ SYNCTASK_SETID(frame->root->uid, frame->root->gid);
+@@ -1482,6 +1495,10 @@
+
+ unlock:
+ UNLOCK(&inode->lock);
++ if (tmp) {
++ fd_unref(tmp);
++ tmp = NULL;
++ }
+
+ out:
+ if (dict) {
+@@ -1563,6 +1580,7 @@
+ int open_failed = 0;
+ uint64_t tmp_miginfo = 0;
+ dht_migrate_info_t *miginfo = NULL;
++ gf_boolean_t skip_open = _gf_false;
+
+ this = THIS;
+ frame = data;
+@@ -1683,24 +1701,40 @@
+ * the loop will cause the destruction of the fd. So we need to
+ * iterate the list safely because iter_fd cannot be trusted.
+ */
+- list_for_each_entry_safe(iter_fd, tmp, &inode->fd_list, inode_list)
+- {
+- if (fd_is_anonymous(iter_fd))
+- continue;
+-
+- if (dht_fd_open_on_dst(this, iter_fd, dst_node))
+- continue;
+-
++ iter_fd = list_entry((&inode->fd_list)->next, typeof(*iter_fd), inode_list);
++ while (&iter_fd->inode_list != (&inode->fd_list)) {
+ /* We need to release the inode->lock before calling
+ * syncop_open() to avoid possible deadlocks. However this
+ * can cause the iter_fd to be released by other threads.
+ * To avoid this, we take a reference before releasing the
+ * lock.
+ */
+- __fd_ref(iter_fd);
+
++ if (fd_is_anonymous(iter_fd) ||
++ (dht_fd_open_on_dst(this, iter_fd, dst_node))) {
++ if (!tmp) {
++ iter_fd = list_entry(iter_fd->inode_list.next, typeof(*iter_fd),
++ inode_list);
++ continue;
++ }
++ skip_open = _gf_true;
++ }
++
++ /* Yes, this is ugly but there isn't a cleaner way to do this
++ * the fd_ref is an atomic increment so not too bad. We want to
++ * reduce the number of inode locks and unlocks.
++ */
++
++ fd_ref(iter_fd);
+ UNLOCK(&inode->lock);
+
++ if (tmp) {
++ fd_unref(tmp);
++ tmp = NULL;
++ }
++ if (skip_open)
++ goto next;
++
+ /* flags for open are stripped down to allow following the
+ * new location of the file, otherwise we can get EEXIST or
+ * truncate the file again as rebalance is moving the data */
+@@ -1721,9 +1755,11 @@
+ dht_fd_ctx_set(this, iter_fd, dst_node);
+ }
+
+- fd_unref(iter_fd);
+-
++ next:
+ LOCK(&inode->lock);
++ skip_open = _gf_false;
++ tmp = iter_fd;
++ iter_fd = list_entry(tmp->inode_list.next, typeof(*tmp), inode_list);
+ }
+
+ SYNCTASK_SETID(frame->root->uid, frame->root->gid);
+@@ -1731,6 +1767,10 @@
+ unlock:
+ UNLOCK(&inode->lock);
+
++ if (tmp) {
++ fd_unref(tmp);
++ tmp = NULL;
++ }
+ if (open_failed) {
+ ret = -1;
+ goto out;
diff --git a/sys-cluster/glusterfs/glusterfs-6.1.ebuild b/sys-cluster/glusterfs/glusterfs-6.7.ebuild
similarity index 97%
rename from sys-cluster/glusterfs/glusterfs-6.1.ebuild
rename to sys-cluster/glusterfs/glusterfs-6.7.ebuild
index 87b3e519ab2..9bb5a61620b 100644
--- a/sys-cluster/glusterfs/glusterfs-6.1.ebuild
+++ b/sys-cluster/glusterfs/glusterfs-6.7.ebuild
@@ -3,7 +3,7 @@
EAPI=7
-PYTHON_COMPAT=( python3_{6,7} )
+PYTHON_COMPAT=( python3_{6,7,8} )
inherit autotools elisp-common python-single-r1 systemd user
@@ -80,6 +80,9 @@ pkg_setup() {
src_prepare() {
default
+ # https://bugzilla.redhat.com/show_bug.cgi?id=1786983
+ eapply "${FILESDIR}/glusterfs-6.7-fix-rebalance-crash.patch"
+
# 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
^ permalink raw reply related [flat|nested] 7+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-cluster/glusterfs/files/, sys-cluster/glusterfs/
@ 2020-02-09 16:32 Alexys Jacob
0 siblings, 0 replies; 7+ messages in thread
From: Alexys Jacob @ 2020-02-09 16:32 UTC (permalink / raw
To: gentoo-commits
commit: 2a677e4cdb886a25f62f26059c4247b96c7545a4
Author: Tomáš Mózes <hydrapolic <AT> gmail <DOT> com>
AuthorDate: Mon Jan 27 06:54:03 2020 +0000
Commit: Alexys Jacob <ultrabug <AT> gentoo <DOT> org>
CommitDate: Sun Feb 9 16:31:54 2020 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=2a677e4c
sys-cluster/glusterfs: fix seek
Bug: https://bugs.gentoo.org/705536
Package-Manager: Portage-2.3.85, Repoman-2.3.20
Signed-off-by: Tomáš Mózes <hydrapolic <AT> gmail.com>
Closes: https://github.com/gentoo/gentoo/pull/14468
Signed-off-by: Alexys Jacob <ultrabug <AT> gentoo.org>
.../glusterfs/files/glusterfs-6.7-fix-seek.patch | 45 ++++++++++++++++++++++
...lusterfs-6.7.ebuild => glusterfs-6.7-r1.ebuild} | 4 ++
...lusterfs-7.2.ebuild => glusterfs-7.2-r1.ebuild} | 4 ++
3 files changed, 53 insertions(+)
diff --git a/sys-cluster/glusterfs/files/glusterfs-6.7-fix-seek.patch b/sys-cluster/glusterfs/files/glusterfs-6.7-fix-seek.patch
new file mode 100644
index 00000000000..07d1ecef037
--- /dev/null
+++ b/sys-cluster/glusterfs/files/glusterfs-6.7-fix-seek.patch
@@ -0,0 +1,45 @@
+diff --git a/xlators/performance/open-behind/src/open-behind.c b/xlators/performance/open-behind/src/open-behind.c
+index 70a144abb5..95e00dbd79 100644
+--- a/xlators/performance/open-behind/src/open-behind.c
++++ b/xlators/performance/open-behind/src/open-behind.c
+@@ -708,6 +708,32 @@ ob_fstat(call_frame_t *frame, xlator_t *this, fd_t *fd, dict_t *xdata)
+ return 0;
+ }
+
++int
++ob_seek(call_frame_t *frame, xlator_t *this, fd_t *fd, off_t offset,
++ gf_seek_what_t what, dict_t *xdata)
++{
++ call_stub_t *stub = NULL;
++ fd_t *wind_fd = NULL;
++
++ wind_fd = ob_get_wind_fd(this, fd, NULL);
++
++ stub = fop_seek_stub(frame, default_seek_resume, wind_fd, offset, what,
++ xdata);
++
++ fd_unref(wind_fd);
++
++ if (!stub)
++ goto err;
++
++ open_and_resume(this, wind_fd, stub);
++
++ return 0;
++err:
++ STACK_UNWIND_STRICT(fstat, frame, -1, ENOMEM, 0, 0);
++
++ return 0;
++}
++
+ int
+ ob_flush(call_frame_t *frame, xlator_t *this, fd_t *fd, dict_t *xdata)
+ {
+@@ -1256,6 +1282,7 @@ struct xlator_fops fops = {
+ .flush = ob_flush,
+ .fsync = ob_fsync,
+ .fstat = ob_fstat,
++ .seek = ob_seek,
+ .ftruncate = ob_ftruncate,
+ .fsetxattr = ob_fsetxattr,
+ .setxattr = ob_setxattr,
diff --git a/sys-cluster/glusterfs/glusterfs-6.7.ebuild b/sys-cluster/glusterfs/glusterfs-6.7-r1.ebuild
similarity index 97%
rename from sys-cluster/glusterfs/glusterfs-6.7.ebuild
rename to sys-cluster/glusterfs/glusterfs-6.7-r1.ebuild
index 9bb5a61620b..d36a647109c 100644
--- a/sys-cluster/glusterfs/glusterfs-6.7.ebuild
+++ b/sys-cluster/glusterfs/glusterfs-6.7-r1.ebuild
@@ -83,6 +83,10 @@ src_prepare() {
# https://bugzilla.redhat.com/show_bug.cgi?id=1786983
eapply "${FILESDIR}/glusterfs-6.7-fix-rebalance-crash.patch"
+ # https://bugs.gentoo.org/705536
+ # https://bugzilla.redhat.com/show_bug.cgi?id=1793990
+ eapply "${FILESDIR}/glusterfs-6.7-fix-seek.patch"
+
# 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
diff --git a/sys-cluster/glusterfs/glusterfs-7.2.ebuild b/sys-cluster/glusterfs/glusterfs-7.2-r1.ebuild
similarity index 97%
rename from sys-cluster/glusterfs/glusterfs-7.2.ebuild
rename to sys-cluster/glusterfs/glusterfs-7.2-r1.ebuild
index 27be5d5543a..d122e64c226 100644
--- a/sys-cluster/glusterfs/glusterfs-7.2.ebuild
+++ b/sys-cluster/glusterfs/glusterfs-7.2-r1.ebuild
@@ -80,6 +80,10 @@ pkg_setup() {
src_prepare() {
default
+ # https://bugs.gentoo.org/705536
+ # https://bugzilla.redhat.com/show_bug.cgi?id=1793990
+ eapply "${FILESDIR}/glusterfs-6.7-fix-seek.patch"
+
# 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
^ permalink raw reply related [flat|nested] 7+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-cluster/glusterfs/files/, sys-cluster/glusterfs/
@ 2022-07-23 12:50 Joonas Niilola
0 siblings, 0 replies; 7+ messages in thread
From: Joonas Niilola @ 2022-07-23 12:50 UTC (permalink / raw
To: gentoo-commits
commit: 4be63a6fbf68a239d28e28bddce2f81b57d470c1
Author: Jaco Kroon <jaco <AT> uls <DOT> co <DOT> za>
AuthorDate: Mon Jul 11 20:34:58 2022 +0000
Commit: Joonas Niilola <juippis <AT> gentoo <DOT> org>
CommitDate: Sat Jul 23 12:50:17 2022 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=4be63a6f
sys-cluster/glusterfs: revbump to fix init.d file
Fix initd $(( ... )) vs (( ... )). The former returns the result, then
attempts to execute it, the latter merely executes the math.
Package-Manager: Portage-3.0.30, Repoman-3.0.3
Signed-off-by: Jaco Kroon <jaco <AT> uls.co.za>
Closes: https://github.com/gentoo/gentoo/pull/26354
Signed-off-by: Joonas Niilola <juippis <AT> gentoo.org>
.../glusterfs/files/{glusterd-10.2.initd => glusterd-10.2-r1.initd} | 2 +-
.../glusterfs/{glusterfs-10.2.ebuild => glusterfs-10.2-r1.ebuild} | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/sys-cluster/glusterfs/files/glusterd-10.2.initd b/sys-cluster/glusterfs/files/glusterd-10.2-r1.initd
similarity index 98%
rename from sys-cluster/glusterfs/files/glusterd-10.2.initd
rename to sys-cluster/glusterfs/files/glusterd-10.2-r1.initd
index af8f941d87d7..f5210ef7cd1c 100644
--- a/sys-cluster/glusterfs/files/glusterd-10.2.initd
+++ b/sys-cluster/glusterfs/files/glusterd-10.2-r1.initd
@@ -23,7 +23,7 @@ start_post() {
local c=0
ebegin "Waiting for glusterd to start up"
while ! /usr/sbin/gluster volume list >/dev/null 2>&1 && [ "${c}" -lt "${glusterd_max_wait_start-60}" ]; do
- $(( c=c+1 ))
+ (( c=c+1 ))
done
[ "${c}" -lt "${glusterd_max_wait_start-60}" ]
eend $?
diff --git a/sys-cluster/glusterfs/glusterfs-10.2.ebuild b/sys-cluster/glusterfs/glusterfs-10.2-r1.ebuild
similarity index 99%
rename from sys-cluster/glusterfs/glusterfs-10.2.ebuild
rename to sys-cluster/glusterfs/glusterfs-10.2-r1.ebuild
index 2551faf99a31..9f76a974689c 100644
--- a/sys-cluster/glusterfs/glusterfs-10.2.ebuild
+++ b/sys-cluster/glusterfs/glusterfs-10.2-r1.ebuild
@@ -150,7 +150,7 @@ src_install() {
chmod 0755 "${ED}"/usr/share/glusterfs/scripts/*.sh || die
newinitd "${FILESDIR}/glusterfsd-10.2.initd" glusterfsd
- newinitd "${FILESDIR}/glusterd-10.2.initd" glusterd
+ newinitd "${FILESDIR}/glusterd-10.2-r1.initd" glusterd
newconfd "${FILESDIR}/${PN}.confd" glusterfsd
keepdir /var/log/${PN}
^ permalink raw reply related [flat|nested] 7+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-cluster/glusterfs/files/, sys-cluster/glusterfs/
@ 2022-08-18 18:43 Sam James
0 siblings, 0 replies; 7+ messages in thread
From: Sam James @ 2022-08-18 18:43 UTC (permalink / raw
To: gentoo-commits
commit: f8bf4ec3380d4dabc612b93f6a0e257c812cadf0
Author: Jaco Kroon <jaco <AT> uls <DOT> co <DOT> za>
AuthorDate: Thu Aug 18 16:47:19 2022 +0000
Commit: Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Thu Aug 18 18:42:25 2022 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=f8bf4ec3
sys-cluster/glusterfs: 10.2-r2 bump to enable USE=uring.
Other minor fixes:
Closes: https://bugs.gentoo.org/860312
Closes: https://bugs.gentoo.org/860309
Package-Manager: Portage-3.0.30, Repoman-3.0.3
Signed-off-by: Jaco Kroon <jaco <AT> uls.co.za>
Closes: https://github.com/gentoo/gentoo/pull/26912
Signed-off-by: Sam James <sam <AT> gentoo.org>
sys-cluster/glusterfs/files/glusterd-10.2-r2.initd | 32 ++++
sys-cluster/glusterfs/glusterfs-10.2-r2.ebuild | 203 +++++++++++++++++++++
sys-cluster/glusterfs/metadata.xml | 1 +
3 files changed, 236 insertions(+)
diff --git a/sys-cluster/glusterfs/files/glusterd-10.2-r2.initd b/sys-cluster/glusterfs/files/glusterd-10.2-r2.initd
new file mode 100644
index 000000000000..e7e53f3ed9c4
--- /dev/null
+++ b/sys-cluster/glusterfs/files/glusterd-10.2-r2.initd
@@ -0,0 +1,32 @@
+#!/sbin/openrc-run
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+description="Gluster elastic volume management daemon"
+command="/usr/sbin/glusterd"
+pidfile="/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 gluster:gluster --mode 0775 /run/gluster
+}
+
+start_post() {
+ local c=0
+ ebegin "Waiting for glusterd to start up"
+ while ! /usr/sbin/gluster volume list >/dev/null 2>&1 && [ "${c}" -lt "${glusterd_max_wait_start-60}" ]; do
+ c=$(( c+1 ))
+ done
+ [ "${c}" -lt "${glusterd_max_wait_start-60}" ]
+ eend $?
+
+ return 0
+}
diff --git a/sys-cluster/glusterfs/glusterfs-10.2-r2.ebuild b/sys-cluster/glusterfs/glusterfs-10.2-r2.ebuild
new file mode 100644
index 000000000000..ef78462da8cb
--- /dev/null
+++ b/sys-cluster/glusterfs/glusterfs-10.2-r2.ebuild
@@ -0,0 +1,203 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+PYTHON_COMPAT=( python3_{8..11} )
+
+inherit autotools elisp-common python-single-r1 tmpfiles systemd
+
+DESCRIPTION="GlusterFS is a powerful network/cluster filesystem"
+HOMEPAGE="https://www.gluster.org/ https://github.com/gluster/glusterfs/"
+SRC_URI="https://download.gluster.org/pub/gluster/${PN}/$(ver_cut 1)/${PV}/${P}.tar.gz"
+
+LICENSE="|| ( GPL-2 LGPL-3+ )"
+SLOT="0/${PV%%.*}"
+KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~x86"
+
+IUSE="debug emacs +fuse georeplication ipv6 +libtirpc rsyslog static-libs tcmalloc test +uring xml"
+
+REQUIRED_USE="${PYTHON_REQUIRED_USE}
+ georeplication? ( xml )
+ 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/openssl:=[-bindist(-)]
+ net-libs/rpcsvc-proto
+ dev-libs/userspace-rcu:=
+ sys-apps/util-linux
+ sys-libs/readline:=
+ !elibc_glibc? ( sys-libs/argp-standalone )
+ emacs? ( >=app-editors/emacs-23.1:* )
+ fuse? ( >=sys-fs/fuse-2.7.0:0 )
+ georeplication? ( ${PYTHON_DEPS} )
+ libtirpc? ( net-libs/libtirpc:= )
+ !libtirpc? ( elibc_glibc? ( sys-libs/glibc[rpc(-)] ) )
+ tcmalloc? ( dev-util/google-perftools )
+ uring? ( sys-libs/liburing:= )
+ xml? ( dev-libs/libxml2 )
+"
+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 )
+
+QA_PKGCONFIG_VERSION=7.10.2
+
+# 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 -exec \
+ 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 \
+ --disable-lto \
+ $(use_enable debug) \
+ $(use_enable fuse fuse-client) \
+ $(use_enable georeplication) \
+ $(use_enable static-libs static) \
+ $(use_enable test cmocka) \
+ $(use_enable uring linux-io-uring) \
+ $(use_enable xml xml-output) \
+ $(usex ipv6 --with-ipv6-default "") \
+ $(usex libtirpc "" --without-libtirpc) \
+ $(usex tcmalloc "" --without-tcmalloc) \
+ --with-tmpfilesdir="${EPREFIX}"/usr/lib/tmpfiles.d \
+ --localstatedir="${EPREFIX}"/var
+}
+
+src_compile() {
+ default
+ use emacs && elisp-compile extras/glusterfs-mode.el
+}
+
+src_test() {
+ ./run-tests.sh || die
+}
+
+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
+
+ insinto /usr/share/vim/vimfiles/ftdetect; doins "${FILESDIR}"/${PN}.vim
+ insinto /usr/share/vim/vimfiles/syntax; doins extras/${PN}.vim
+
+ # 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
+
+ newinitd "${FILESDIR}/glusterfsd-10.2.initd" glusterfsd
+ newinitd "${FILESDIR}/glusterd-10.2-r2.initd" glusterd
+ newconfd "${FILESDIR}/${PN}.confd" glusterfsd
+
+ keepdir /var/log/${PN}
+ keepdir /var/lib/glusterd/{events,glusterfind/.keys}
+
+ systemd_dounit extras/systemd/{glusterd,glustereventsd,glusterfssharedstorage,gluster-ta-volume}.service
+
+ # QA
+ rm -r "${ED}/var/run/" || die
+ if ! use static-libs; then
+ find "${D}" -type f -name '*.la' -delete || die
+ fi
+
+ python_optimize "${ED}"
+}
+
+pkg_postinst() {
+ tmpfiles_process gluster.conf
+
+ 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/metadata.xml b/sys-cluster/glusterfs/metadata.xml
index 73cd1d833a48..ec48e5f0ac96 100644
--- a/sys-cluster/glusterfs/metadata.xml
+++ b/sys-cluster/glusterfs/metadata.xml
@@ -26,5 +26,6 @@
<flag name="ipv6">Use IPv6 by default, requires libtirpc</flag>
<flag name="libtirpc">Build against <pkg>net-libs/libtirpc</pkg> for RPC support</flag>
<flag name="rsyslog">Install configuration snippet for <pkg>app-admin/rsyslog</pkg></flag>
+ <flag name="uring">Control whether or not glusterfs is compiled with uring support or not.</flag>
</use>
</pkgmetadata>
^ permalink raw reply related [flat|nested] 7+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-cluster/glusterfs/files/, sys-cluster/glusterfs/
@ 2024-04-15 12:55 Michał Górny
0 siblings, 0 replies; 7+ messages in thread
From: Michał Górny @ 2024-04-15 12:55 UTC (permalink / raw
To: gentoo-commits
commit: 54f9f4e0810c8984f625eb20450856afe1533947
Author: Jaco Kroon <jaco <AT> uls <DOT> co <DOT> za>
AuthorDate: Mon Mar 25 05:07:39 2024 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Mon Apr 15 12:55:27 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=54f9f4e0
sys-cluster/glusterfs: drop 10.4, 11.0-r2
Signed-off-by: Jaco Kroon <jaco <AT> uls.co.za>
Closes: https://github.com/gentoo/gentoo/pull/35905
Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>
sys-cluster/glusterfs/Manifest | 2 -
.../glusterfs/files/glusterfs-11.0-fix-crash.patch | 16 --
sys-cluster/glusterfs/glusterfs-10.4.ebuild | 206 --------------------
sys-cluster/glusterfs/glusterfs-11.0-r2.ebuild | 215 ---------------------
4 files changed, 439 deletions(-)
diff --git a/sys-cluster/glusterfs/Manifest b/sys-cluster/glusterfs/Manifest
index b963955981e5..c70f65d694f5 100644
--- a/sys-cluster/glusterfs/Manifest
+++ b/sys-cluster/glusterfs/Manifest
@@ -1,4 +1,2 @@
-DIST glusterfs-10.4.tar.gz 8293872 BLAKE2B 01f8764cc71b7bac2ee0419f3f1069ac1c85e26314828b47f348b9bf88ad0b8aa327be16ccfe9cf820aebb7dd9477a7840c721df4435c895be91fed0b1129b7c SHA512 06c563ab77a29145b1fac44f5a56a91539accb69ba736fe6297aa3f38b128e68ba4f7d0b49ac6eb56397a51950fb4de882ff60037e91c61ad13dd89a18139d82
DIST glusterfs-10.5.tar.gz 8170057 BLAKE2B f614abe8a7333266d75a26fc1756408211b9d83225f4180002d0c04cd9328c75c78644faae0c73140325ac49759a2237855be17469cb544942c5f3de19fdf66a SHA512 393b976308da911562e653e1ed6db2149a7d7390fbd31155bbd4b1bb067c6c155f2c7ca74dc8409474294a8542b6cb4d83cd52f6b68bab6a430a8c080be1be29
-DIST glusterfs-11.0.tar.gz 8355706 BLAKE2B d0ee895b8ce5f506d9bc1f8b962a0f29b0379f086bf18cff0092938b7c2f7025afa2fccf54f58ac751a184a3b0e91a086df2d6496892f204373e070d7576a5d6 SHA512 075f0025a1892ebb28d45d0a4e8971656319582dd7bc2c8b19ea26cd08a789bb54f8bc9752839706cd0ee0ca54be74245230bc453a5d1e9e163af84f08937e69
DIST glusterfs-11.1.tar.gz 8365581 BLAKE2B 56697bc484be53659f6f277041c6f4fc5f2ef3221709d90dbd621e66138fe2b3be2e31bde4c65d596fed3beacb2ee6a86506e97854cda00066ac804ee57923e9 SHA512 a021a612b01c2c43858b092db926e6d229f0f736c19b8a1015c0d3121fbc7739ab5273384d5e96fde6dbf4eaf620bc32a0530597e80483865d8ca79b820ed3b0
diff --git a/sys-cluster/glusterfs/files/glusterfs-11.0-fix-crash.patch b/sys-cluster/glusterfs/files/glusterfs-11.0-fix-crash.patch
deleted file mode 100644
index 6a4a1ec517ab..000000000000
--- a/sys-cluster/glusterfs/files/glusterfs-11.0-fix-crash.patch
+++ /dev/null
@@ -1,16 +0,0 @@
-# https://bugs.gentoo.org/911588
-# https://github.com/gluster/glusterfs/issues/4192
-# https://github.com/gluster/glusterfs/pull/4196
-diff --git a/libglusterfs/src/glusterfs/mem-pool.h b/libglusterfs/src/glusterfs/mem-pool.h
-index 46f764f56e5..416b7ddf1e3 100644
---- a/libglusterfs/src/glusterfs/mem-pool.h
-+++ b/libglusterfs/src/glusterfs/mem-pool.h
-@@ -297,7 +297,7 @@ typedef struct per_thread_pool_list {
- * in the implementation code so we just make it a single-element array
- * here.
- */
-- per_thread_pool_t pools[];
-+ per_thread_pool_t pools[1];
- } per_thread_pool_list_t;
-
- /* actual pool structure, shared between different mem_pools */
diff --git a/sys-cluster/glusterfs/glusterfs-10.4.ebuild b/sys-cluster/glusterfs/glusterfs-10.4.ebuild
deleted file mode 100644
index a386a0e05b29..000000000000
--- a/sys-cluster/glusterfs/glusterfs-10.4.ebuild
+++ /dev/null
@@ -1,206 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{10..11} )
-
-inherit autotools elisp-common python-single-r1 tmpfiles systemd
-
-DESCRIPTION="GlusterFS is a powerful network/cluster filesystem"
-HOMEPAGE="https://www.gluster.org/ https://github.com/gluster/glusterfs/"
-SRC_URI="https://download.gluster.org/pub/gluster/${PN}/$(ver_cut 1)/${PV}/${P}.tar.gz"
-
-LICENSE="|| ( GPL-2 LGPL-3+ )"
-SLOT="0/${PV%%.*}"
-KEYWORDS="amd64 ~arm ~arm64 ~loong ~ppc ppc64 ~riscv x86"
-
-IUSE="debug emacs +fuse georeplication ipv6 +libtirpc rsyslog selinux static-libs tcmalloc test +uring xml"
-
-REQUIRED_USE="${PYTHON_REQUIRED_USE}
- georeplication? ( xml )
- 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/openssl:=[-bindist(-)]
- net-libs/rpcsvc-proto
- dev-libs/userspace-rcu:=
- sys-apps/util-linux
- sys-libs/readline:=
- ${PYTHON_DEPS}
-
- !elibc_glibc? ( sys-libs/argp-standalone )
- emacs? ( >=app-editors/emacs-23.1:* )
- fuse? ( >=sys-fs/fuse-2.7.0:0 )
- libtirpc? ( net-libs/libtirpc:= )
- !libtirpc? ( elibc_glibc? ( sys-libs/glibc[rpc(-)] ) )
- selinux? ( sec-policy/selinux-glusterfs )
- tcmalloc? ( dev-util/google-perftools )
- uring? ( sys-libs/liburing:= )
- xml? ( dev-libs/libxml2 )
-"
-DEPEND="
- ${RDEPEND}
- virtual/acl
- test? ( >=dev-util/cmocka-1.0.1
- app-benchmarks/dbench
- dev-vcs/git
- virtual/perl-Test-Harness
- dev-libs/yajl
- sys-fs/xfsprogs
- sys-apps/attr )
-"
-BDEPEND="
- sys-devel/bison
- sys-devel/flex
- virtual/pkgconfig
-"
-
-SITEFILE="50${PN}-mode-gentoo.el"
-
-DOCS=( AUTHORS ChangeLog NEWS README.md THANKS )
-
-QA_PKGCONFIG_VERSION=7.10.2
-
-# 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 -exec \
- sed -i 's|.*$(top_srcdir).*\.sym|\0 -shared|' {} + || die
-
- # fix execution permissions
- chmod +x libglusterfs/src/gen-defaults.py || die
-
- eautoreconf
-}
-
-src_configure() {
- econf \
- YACC=yacc.bison \
- LEX=flex \
- --disable-fusermount \
- --disable-lto \
- $(use_enable debug) \
- $(use_enable fuse fuse-client) \
- $(use_enable georeplication) \
- $(use_enable static-libs static) \
- $(use_enable test cmocka) \
- $(use_enable uring linux-io-uring) \
- $(use_enable xml xml-output) \
- $(usex ipv6 --with-ipv6-default "") \
- $(usex libtirpc "" --without-libtirpc) \
- $(usex tcmalloc "" --without-tcmalloc) \
- --with-tmpfilesdir="${EPREFIX}"/usr/lib/tmpfiles.d \
- --localstatedir="${EPREFIX}"/var
-}
-
-src_compile() {
- default
- use emacs && elisp-compile extras/glusterfs-mode.el
-}
-
-src_test() {
- ./run-tests.sh || die
-}
-
-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
-
- insinto /usr/share/vim/vimfiles/ftdetect; doins "${FILESDIR}"/${PN}.vim
- insinto /usr/share/vim/vimfiles/syntax; doins extras/${PN}.vim
-
- # 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
-
- newinitd "${FILESDIR}/glusterfsd-10.2.initd" glusterfsd
- newinitd "${FILESDIR}/glusterd-10.2-r2.initd" glusterd
- newconfd "${FILESDIR}/${PN}.confd" glusterfsd
-
- keepdir /var/log/${PN}
- keepdir /var/lib/glusterd/{events,glusterfind/.keys}
-
- systemd_dounit extras/systemd/{glusterd,glustereventsd,glusterfssharedstorage,gluster-ta-volume}.service
-
- # QA
- rm -r "${ED}/var/run/" || die
- if ! use static-libs; then
- find "${D}" -type f -name '*.la' -delete || die
- fi
-
- python_optimize "${ED}"
-}
-
-pkg_postinst() {
- tmpfiles_process gluster.conf
-
- 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-11.0-r2.ebuild b/sys-cluster/glusterfs/glusterfs-11.0-r2.ebuild
deleted file mode 100644
index 902ae0e31b69..000000000000
--- a/sys-cluster/glusterfs/glusterfs-11.0-r2.ebuild
+++ /dev/null
@@ -1,215 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{10..12} )
-
-inherit autotools elisp-common python-single-r1 tmpfiles systemd bash-completion-r1
-
-DESCRIPTION="GlusterFS is a powerful network/cluster filesystem"
-HOMEPAGE="https://www.gluster.org/ https://github.com/gluster/glusterfs/"
-SRC_URI="https://download.gluster.org/pub/gluster/${PN}/$(ver_cut 1)/${PV}/${P}.tar.gz"
-
-LICENSE="|| ( GPL-2 LGPL-3+ )"
-SLOT="0/${PV%%.*}"
-KEYWORDS="amd64 ~arm ~arm64 ~loong ~ppc ppc64 ~riscv x86"
-
-IUSE="debug emacs +fuse georeplication ipv6 +libtirpc rsyslog selinux static-libs tcmalloc test +uring xml"
-
-REQUIRED_USE="${PYTHON_REQUIRED_USE}
- georeplication? ( xml )
- ipv6? ( libtirpc )"
-
-# the tests must be run as root
-RESTRICT="test"
-
-PATCHES=(
- "${FILESDIR}/${PN}-11.0-fix-crash.patch"
- "${FILESDIR}/${PN}-11.0-extras-defer-invoking-of-gluster-volume-set-help-as-.patch"
-)
-
-# sys-apps/util-linux is required for libuuid
-RDEPEND="
- acct-group/gluster
- acct-user/gluster
- dev-libs/libaio
- dev-libs/openssl:=[-bindist(-)]
- net-libs/rpcsvc-proto
- dev-libs/userspace-rcu:=
- sys-apps/util-linux
- sys-libs/readline:=
- ${PYTHON_DEPS}
-
- !elibc_glibc? ( sys-libs/argp-standalone )
- emacs? ( >=app-editors/emacs-23.1:* )
- fuse? ( >=sys-fs/fuse-2.7.0:0 )
- libtirpc? ( net-libs/libtirpc:= )
- !libtirpc? ( elibc_glibc? ( sys-libs/glibc[rpc(-)] ) )
- selinux? ( sec-policy/selinux-glusterfs )
- tcmalloc? ( dev-util/google-perftools )
- uring? ( sys-libs/liburing:= )
- xml? ( dev-libs/libxml2 )
-"
-DEPEND="
- ${RDEPEND}
- virtual/acl
- test? (
- >=dev-util/cmocka-1.0.1
- app-benchmarks/dbench
- dev-libs/xxhash
- dev-vcs/git
- virtual/perl-Test-Harness
- dev-libs/yajl
- sys-fs/xfsprogs
- sys-apps/attr
- )
-"
-BDEPEND="
- sys-devel/bison
- sys-devel/flex
- virtual/pkgconfig
-"
-
-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 -exec \
- sed -i 's|.*$(top_srcdir).*\.sym|\0 -shared|' {} + || die
-
- # fix execution permissions
- chmod +x libglusterfs/src/gen-defaults.py || die
-
- eautoreconf
-}
-
-src_configure() {
- econf \
- YACC=yacc.bison \
- LEX=flex \
- --disable-fusermount \
- --disable-lto \
- $(use_enable debug) \
- $(use_enable fuse fuse-client) \
- $(use_enable georeplication) \
- $(use_enable static-libs static) \
- $(use_enable test cmocka) \
- $(use_enable uring linux-io-uring) \
- $(use_enable xml xml-output) \
- $(usex ipv6 --with-ipv6-default "") \
- $(usex libtirpc "" --without-libtirpc) \
- $(usex tcmalloc "" --without-tcmalloc) \
- --with-tmpfilesdir="${EPREFIX}"/usr/lib/tmpfiles.d \
- --localstatedir="${EPREFIX}"/var
-}
-
-src_compile() {
- default
- use emacs && elisp-compile extras/glusterfs-mode.el
-}
-
-src_test() {
- ./run-tests.sh || die
-}
-
-src_install() {
- default
-
- # Path changes based on whether app-shells/bash-completion is installed, bug #911523
- rm -rf "${ED}"/etc/bash_completion.d "${D}$(get_bashcompdir)" || die
- newbashcomp extras/command-completion/gluster.bash gluster
-
- 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}/50glusterfs-mode-gentoo.el"
- fi
-
- insinto /usr/share/vim/vimfiles/ftdetect; doins "${FILESDIR}"/${PN}.vim
- insinto /usr/share/vim/vimfiles/syntax; doins extras/${PN}.vim
-
- # 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
-
- newinitd "${FILESDIR}/glusterfsd-10.2.initd" glusterfsd
- newinitd "${FILESDIR}/glusterd-10.2-r2.initd" glusterd
- newconfd "${FILESDIR}/${PN}.confd" glusterfsd
-
- keepdir /var/log/${PN}
- keepdir /var/lib/glusterd/{events,glusterfind/.keys}
-
- systemd_dounit extras/systemd/{glusterd,glustereventsd,glusterfssharedstorage,gluster-ta-volume}.service
-
- # QA
- rm -r "${ED}/var/run/" || die
- if ! use static-libs; then
- find "${D}" -type f -name '*.la' -delete || die
- fi
-
- python_fix_shebang "${ED}"
- python_optimize
-}
-
-pkg_postinst() {
- tmpfiles_process gluster.conf
-
- 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
-}
^ permalink raw reply related [flat|nested] 7+ messages in thread
end of thread, other threads:[~2024-04-15 12:55 UTC | newest]
Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2018-05-26 11:07 [gentoo-commits] repo/gentoo:master commit in: sys-cluster/glusterfs/files/, sys-cluster/glusterfs/ James Le Cuirot
-- strict thread matches above, loose matches on Subject: below --
2024-04-15 12:55 Michał Górny
2022-08-18 18:43 Sam James
2022-07-23 12:50 Joonas Niilola
2020-02-09 16:32 Alexys Jacob
2020-01-19 9:47 Alexys Jacob
2017-10-22 14:17 James Le Cuirot
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox