Gentoo Archives: gentoo-commits

From: Sam James <sam@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] repo/gentoo:master commit in: sys-cluster/glusterfs/
Date: Tue, 05 Oct 2021 04:29:43
Message-Id: 1633408167.7bdcabb05d1ab5d51f13229cd3912d16f882d5b8.sam@gentoo
1 commit: 7bdcabb05d1ab5d51f13229cd3912d16f882d5b8
2 Author: Jaco Kroon <jaco <AT> uls <DOT> co <DOT> za>
3 AuthorDate: Sun Oct 3 22:34:22 2021 +0000
4 Commit: Sam James <sam <AT> gentoo <DOT> org>
5 CommitDate: Tue Oct 5 04:29:27 2021 +0000
6 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=7bdcabb0
7
8 sys-cluster/glusterfs: Version 8.6
9
10 Package-Manager: Portage-3.0.20, Repoman-3.0.3
11 Signed-off-by: Jaco Kroon <jaco <AT> uls.co.za>
12 Closes: https://github.com/gentoo/gentoo/pull/22479
13 Signed-off-by: Sam James <sam <AT> gentoo.org>
14
15 sys-cluster/glusterfs/Manifest | 1 +
16 sys-cluster/glusterfs/glusterfs-8.6.ebuild | 195 +++++++++++++++++++++++++++++
17 2 files changed, 196 insertions(+)
18
19 diff --git a/sys-cluster/glusterfs/Manifest b/sys-cluster/glusterfs/Manifest
20 index e898928fc11..a7d6acbfcbf 100644
21 --- a/sys-cluster/glusterfs/Manifest
22 +++ b/sys-cluster/glusterfs/Manifest
23 @@ -2,6 +2,7 @@ DIST glusterfs-7.9.tar.gz 7702149 BLAKE2B e23b5a45a8c2c4f02f0992dfc78bea942a1dcc
24 DIST glusterfs-8.3.tar.gz 7829522 BLAKE2B 1ba60f7209db4f1ce21237c3adea94df1b9eae04d15f99eb414bf961ea67aa7e08d01ea47c8793a33afbc0ff6cf63ecb81f78fa1ba74d66e2d4358ef2bdadacc SHA512 7ca9d3d8938eb27a7347461a07457e90d1ee6e8d5417970e38245c819cf09bf2ecf9de3954b75edf5cf14816e1059fb381b95935ae1f973ebd14ee7531322aa9
25 DIST glusterfs-8.4.tar.gz 7833014 BLAKE2B c67f510c655465e9fbecaa7f391531543e37a2a84917592e699d88564b24fe55689b95770f385ac5b645069f287d4af974db76a77c0f44ea5d2e88f995b427f7 SHA512 a81394b3584c2e6c27060367b443c0879512054ed9287740bc24308603b9e3c11376179ed6589d5d38441982cd6415e3612f98ae4c97ddf7d5c747b42171d796
26 DIST glusterfs-8.5.tar.gz 7873397 BLAKE2B 6ababf15fda216c9a47c05859f7123847d711dd5a12e3ec2c5dcf8475f35830c9a32f7b21ad763ab1be59b06f1d93f83acc0cbb8f7635456a3638be73b162aa4 SHA512 e256141a76deb9a255be31422d76b0c81aad4a7e5b166d2be90a79d340ceb811cbff11f469166ef7582f40f58f47fb056aa05aafd4b35f094bf9c21a5c08f3bb
27 +DIST glusterfs-8.6.tar.gz 7826147 BLAKE2B 3a8a488c9a8e4b1daf3ed01fa5e52a62cf791349c1169aaf8609252bfb8bc0a0534f9fc23fac27cfab11ac6fb5e3e1d9588b4ec8080b02cf97e679bf2c8fb5c2 SHA512 bb1125e5d6b4d424234bc40786847f217e7a05cecad1462dd91248cf9559569914f04e1f909e829051cb1db4079ecf906440a38af9de2bbf3bcf53ca8fa1f349
28 DIST glusterfs-9.1.tar.gz 8206207 BLAKE2B dea099eb1d366704010247964c24de404fb09c00a375dde4af30a2af836d3b35689fab91a75268aa01dba45860eb50a6e0572913c059e53fb5799d2302c2f005 SHA512 2c26813f12fed7a0640cc470badc2b83f156b660ef475487a689dca6c3fa407192f4959aeaf7a981969a079cf5d2c7aace85ff818ea6133d5a085d90d226e1da
29 DIST glusterfs-9.2.tar.gz 8212980 BLAKE2B 7fb42186c5d309c357f72e3037fc09d8b15f32770d74173dd4779bab91056d1ceb78a4a651fec2018faf1597357576d41593e9d7b04cf9af7f4742301b284b01 SHA512 34a0a1745029e2fad3c8fc6a044b4e4645f8cf11eddc3c8c8e94cce9733449248c577ce6066bc49010a65121d991daf67766393fe513ac694082f0efa1d4ef95
30 DIST glusterfs-9.3.tar.gz 8167846 BLAKE2B 119e2c089ef250fafb2b2dfdcf71f40cc25fdda6ac1cbb38a8557a3c206f721227eceadd87b40341e6bf2b32a7cb24996910f45e061f25d193ab2ca4070ddc76 SHA512 0974cf57a6810505f767c490b53201e62bb73ca2fd3c5203d9882dcbe4088c816afb5445ef606d12fb797b1b1fa5e0994f2ea0816577f70e630637668a20f005
31
32 diff --git a/sys-cluster/glusterfs/glusterfs-8.6.ebuild b/sys-cluster/glusterfs/glusterfs-8.6.ebuild
33 new file mode 100644
34 index 00000000000..6b77e7d8a67
35 --- /dev/null
36 +++ b/sys-cluster/glusterfs/glusterfs-8.6.ebuild
37 @@ -0,0 +1,195 @@
38 +# Copyright 1999-2021 Gentoo Authors
39 +# Distributed under the terms of the GNU General Public License v2
40 +
41 +EAPI=7
42 +
43 +PYTHON_COMPAT=( python3_{8,9} )
44 +
45 +inherit autotools elisp-common python-single-r1 tmpfiles
46 +
47 +DESCRIPTION="GlusterFS is a powerful network/cluster filesystem"
48 +HOMEPAGE="https://www.gluster.org/ https://github.com/gluster/glusterfs/"
49 +SRC_URI="https://download.gluster.org/pub/gluster/${PN}/$(ver_cut 1)/${PV}/${P}.tar.gz"
50 +
51 +LICENSE="|| ( GPL-2 LGPL-3+ )"
52 +SLOT="0/${PV%%.*}"
53 +KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~x86"
54 +
55 +IUSE="debug emacs +fuse +georeplication ipv6 +libtirpc rsyslog static-libs +syslog test +xml"
56 +
57 +REQUIRED_USE="georeplication? ( ${PYTHON_REQUIRED_USE} xml )
58 + ipv6? ( libtirpc )"
59 +
60 +# the tests must be run as root
61 +RESTRICT="test"
62 +
63 +# sys-apps/util-linux is required for libuuid
64 +RDEPEND="
65 + acct-group/gluster
66 + acct-user/gluster
67 + dev-libs/libaio
68 + dev-libs/userspace-rcu:=
69 + net-libs/rpcsvc-proto
70 + sys-apps/util-linux
71 + sys-libs/readline:=
72 + emacs? ( >=app-editors/emacs-23.1:* )
73 + fuse? ( >=sys-fs/fuse-2.7.0:0 )
74 + georeplication? ( ${PYTHON_DEPS} )
75 + xml? ( dev-libs/libxml2 )
76 + !elibc_glibc? ( sys-libs/argp-standalone )
77 + libtirpc? ( net-libs/libtirpc:= )
78 + !libtirpc? ( elibc_glibc? ( sys-libs/glibc[rpc(-)] ) )
79 + dev-libs/openssl:=[-bindist(-)]
80 +"
81 +DEPEND="
82 + ${RDEPEND}
83 + sys-devel/bison
84 + sys-devel/flex
85 + virtual/acl
86 + test? ( >=dev-util/cmocka-1.0.1
87 + app-benchmarks/dbench
88 + dev-vcs/git
89 + net-fs/nfs-utils
90 + virtual/perl-Test-Harness
91 + dev-libs/yajl
92 + sys-fs/xfsprogs
93 + sys-apps/attr )
94 +"
95 +BDEPEND="
96 + virtual/pkgconfig
97 +"
98 +
99 +SITEFILE="50${PN}-mode-gentoo.el"
100 +
101 +DOCS=( AUTHORS ChangeLog NEWS README.md THANKS )
102 +
103 +# Maintainer notes:
104 +# * The build system will always configure & build argp-standalone but it'll never use it
105 +# if the argp.h header is found in the system. Which should be the case with
106 +# glibc or if argp-standalone is installed.
107 +
108 +pkg_setup() {
109 + python_setup "python3*"
110 + python-single-r1_pkg_setup
111 +}
112 +
113 +src_prepare() {
114 + default
115 +
116 + # build rpc-transport and xlators only once as shared libs
117 + find rpc/rpc-transport xlators -name Makefile.am -exec \
118 + sed -i 's|.*$(top_srcdir).*\.sym|\0 -shared|' {} + || die
119 +
120 + # fix execution permissions
121 + chmod +x libglusterfs/src/gen-defaults.py || die
122 +
123 + eautoreconf
124 +}
125 +
126 +src_configure() {
127 + econf \
128 + --disable-fusermount \
129 + $(use_enable debug) \
130 + $(use_enable fuse fuse-client) \
131 + $(use_enable georeplication) \
132 + $(use_enable static-libs static) \
133 + $(use_enable syslog) \
134 + $(use_enable test cmocka) \
135 + $(use_enable xml xml-output) \
136 + $(use libtirpc || echo --without-libtirpc) \
137 + $(use ipv6 && echo --with-ipv6-default) \
138 + --with-tmpfilesdir="${EPREFIX}"/usr/lib/tmpfiles.d \
139 + --localstatedir="${EPREFIX}"/var
140 +}
141 +
142 +src_compile() {
143 + default
144 + use emacs && elisp-compile extras/glusterfs-mode.el
145 +}
146 +
147 +src_test() {
148 + ./run-tests.sh || die
149 +}
150 +
151 +src_install() {
152 + default
153 +
154 + rm \
155 + "${ED}"/etc/glusterfs/glusterfs-{georep-,}logrotate \
156 + "${ED}"/etc/glusterfs/gluster-rsyslog-*.conf \
157 + "${ED}"/usr/share/doc/${PF}/glusterfs{-mode.el,.vim} || die "removing false files failed"
158 +
159 + insinto /etc/logrotate.d
160 + newins "${FILESDIR}"/glusterfs.logrotate glusterfs
161 +
162 + if use rsyslog ; then
163 + insinto /etc/rsyslog.d
164 + newins extras/gluster-rsyslog-7.2.conf 60-gluster.conf
165 + fi
166 +
167 + if use emacs ; then
168 + elisp-install ${PN} extras/glusterfs-mode.el*
169 + elisp-site-file-install "${FILESDIR}/${SITEFILE}"
170 + fi
171 +
172 + insinto /usr/share/vim/vimfiles/ftdetect; doins "${FILESDIR}"/${PN}.vim
173 + insinto /usr/share/vim/vimfiles/syntax; doins extras/${PN}.vim
174 +
175 + # insert some other tools which might be useful
176 + insinto /usr/share/glusterfs/scripts
177 + doins \
178 + extras/backend-{cleanup,xattr-sanitize}.sh \
179 + extras/clear_xattrs.sh \
180 + extras/migrate-unify-to-distribute.sh
181 +
182 + # correct permissions on installed scripts
183 + # fperms 0755 /usr/share/glusterfs/scripts/*.sh
184 + chmod 0755 "${ED}"/usr/share/glusterfs/scripts/*.sh || die
185 +
186 + newinitd "${FILESDIR}/${PN}-r1.initd" glusterfsd
187 + newinitd "${FILESDIR}/glusterd-r4.initd" glusterd
188 + newconfd "${FILESDIR}/${PN}.confd" glusterfsd
189 +
190 + keepdir /var/log/${PN}
191 + keepdir /var/lib/glusterd/{events,glusterfind/.keys}
192 +
193 + # QA
194 + rm -r "${ED}/var/run/" || die
195 + if ! use static-libs; then
196 + find "${D}" -type f -name '*.la' -delete || die
197 + fi
198 +
199 + python_optimize "${ED}"
200 +}
201 +
202 +pkg_postinst() {
203 + tmpfiles_process gluster.conf
204 +
205 + elog "Starting with ${PN}-3.1.0, you can use the glusterd daemon to configure your"
206 + elog "volumes dynamically. To do so, simply use the gluster CLI after running:"
207 + elog " /etc/init.d/glusterd start"
208 + echo
209 + elog "For static configurations, the glusterfsd startup script can be multiplexed."
210 + elog "The default startup script uses /etc/conf.d/glusterfsd to configure the"
211 + elog "separate service. To create additional instances of the glusterfsd service"
212 + elog "simply create a symlink to the glusterfsd startup script."
213 + echo
214 + elog "Example:"
215 + elog " # ln -s glusterfsd /etc/init.d/glusterfsd2"
216 + elog " # ${EDITOR} /etc/glusterfs/glusterfsd2.vol"
217 + elog "You can now treat glusterfsd2 like any other service"
218 + echo
219 + ewarn "You need to use a ntp client to keep the clocks synchronized across all"
220 + ewarn "of your servers. Setup a NTP synchronizing service before attempting to"
221 + ewarn "run GlusterFS."
222 + echo
223 + elog "If you are upgrading from a previous version of ${PN}, please read:"
224 + elog " http://docs.gluster.org/en/latest/Upgrade-Guide/upgrade_to_$(ver_cut '1-2')/"
225 +
226 + use emacs && elisp-site-regen
227 +
228 +}
229 +
230 +pkg_postrm() {
231 + use emacs && elisp-site-regen
232 +}