Gentoo Archives: gentoo-commits

From: Thomas Deutschmann <whissi@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] repo/gentoo:master commit in: sys-cluster/ceph/
Date: Wed, 26 May 2021 20:55:23
Message-Id: 1622062509.8de8aea99fb92f1cf48d1cb803ada4d4aaa520f6.whissi@gentoo
1 commit: 8de8aea99fb92f1cf48d1cb803ada4d4aaa520f6
2 Author: Thomas Deutschmann <whissi <AT> gentoo <DOT> org>
3 AuthorDate: Wed May 26 20:55:09 2021 +0000
4 Commit: Thomas Deutschmann <whissi <AT> gentoo <DOT> org>
5 CommitDate: Wed May 26 20:55:09 2021 +0000
6 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=8de8aea9
7
8 sys-cluster/ceph: security cleanup
9
10 Bug: https://bugs.gentoo.org/791253
11 Package-Manager: Portage-3.0.18, Repoman-3.0.3
12 Signed-off-by: Thomas Deutschmann <whissi <AT> gentoo.org>
13
14 sys-cluster/ceph/Manifest | 5 -
15 sys-cluster/ceph/ceph-14.2.19.ebuild | 394 ------------------------------
16 sys-cluster/ceph/ceph-14.2.20.ebuild | 394 ------------------------------
17 sys-cluster/ceph/ceph-15.2.11.ebuild | 405 -------------------------------
18 sys-cluster/ceph/ceph-16.2.1.ebuild | 448 ----------------------------------
19 sys-cluster/ceph/ceph-16.2.3.ebuild | 449 -----------------------------------
20 6 files changed, 2095 deletions(-)
21
22 diff --git a/sys-cluster/ceph/Manifest b/sys-cluster/ceph/Manifest
23 index fd9f8d6b434..1fc50693970 100644
24 --- a/sys-cluster/ceph/Manifest
25 +++ b/sys-cluster/ceph/Manifest
26 @@ -1,8 +1,3 @@
27 -DIST ceph-14.2.19.tar.gz 129290834 BLAKE2B d1de69afcdacd4507a4d1d230a9a4cbd75067f7efa67c01b9f7100d29bf91b7196a36df6514d307affc3194bd83f1e91b5c274b424d0cb1931c9457f6321dc36 SHA512 69e3adba292d003e364f3b7eb16878992a3f3015a1ad0b73a9bd9b4ccb2f2f46518833346d40e024b62274985d30b684e1927e533a34a1e357a1780812c231fa
28 -DIST ceph-14.2.20.tar.gz 129271968 BLAKE2B 45abcd35d4c854fcd7920ce19ea8d4369e567a77e89afb63d470220a2c5854cf5cad410dfd8f52f40fec732bc7e18cc3cdb93ecd7e4542866da9fd8fee4f1d92 SHA512 e67baabaf611dc9a52fb0114a491f72666f87ec7dd4dbd63448581baebaa9cd1e70a4e90b2f2db06bf675b778858d1b057aa39986ac858de7f3894b24b07bf7e
29 DIST ceph-14.2.21.tar.gz 129272778 BLAKE2B f82f452e0f0c40a95ea1bdb3654c2d322caa3edeeb05e41247e02a8ffe731c570d9e49aefa61c447a8b73620d4a9b9872335171f1e08fbd9a08eea930ccbfe76 SHA512 39b4a0624dcab2bafa50f51a42155fcf96dad74531a001d75009ad246a8ca80ce81ae538b34c0a1b773691c363626f1d0342f2439b711bd0dd16214592171884
30 -DIST ceph-15.2.11.tar.gz 149695132 BLAKE2B 2dcb335a289314aaf6f68fc44950459c978dfd60fc0c064479f3230957a755d6a9bc238b57d3ec354efdfa5483461bac1080dd0afd7e4e2cd0a20c9410ae1a10 SHA512 e1b0627b7e4212c63b2ea2eb612247fcc9235247e63accc1fe456643b192275eea538e095cc859dbdffd5e00fe1c315563940f258708c8584ac0d0ad0641276f
31 DIST ceph-15.2.12.tar.gz 148509713 BLAKE2B 4962e7d574b38592a874a1b3fa8610bb2d0afc8713d995d67a790c025bb086cb619cbbaec76482ec096b4c55b9f1df383f5bd4806a231bc88e70ac3efbac24b5 SHA512 08266a2e9a7ca5a37e03f340873571fd012c630dd898a87241cd97c29760b2bf41fe64c8883e7b08e0f83c26245072cd26e69ecb1db02378d1ec38335ba1cd0f
32 -DIST ceph-16.2.1.tar.gz 155832182 BLAKE2B 9331d74ada9fb37e59f60daa813cdfe4711000f916365818435580c11d3295db5a13f98c2d2493cccf84cb4c6896c5a8137e3fe9b7a32ff0bedc0b524a0744b1 SHA512 42e404aa41565485dc4c08b66efb3de719adee72cfc535586992e15ab4601bfbd909ef61abf412badbbfa7ef13bf91a7c0576fbbf3f9f687bc7b465b21a8c416
33 -DIST ceph-16.2.3.tar.gz 155866118 BLAKE2B 7b1766effaa7b72697fad06e43eb1a3f2450b64fe970857cefc1d05271611a50b8cf55c574163b3f43d4a42b35b0bc0236c9089ac88b149f9b4d7fd706887db9 SHA512 07bc2b386fb0607df3128c151ee41565afe28b5efe3d907972198fc7fff9cecbafd51570d1b2624d1f921b259f788f0c3d133fb31f11bf6650cb2552f72f8047
34 DIST ceph-16.2.4.tar.gz 155840423 BLAKE2B a803ffa61ac9fd6d42790d6d8e12aa8df843968627df0051475355f3ba0dc1272afa3d9e2716115ad769b2f322d7bd239d99b89e51610e89ce9efe39af4f01ae SHA512 8904e7fcabd50276e4e86735fd85dba96f417c194c219025146f994707def7abe372528b0f2e862e274b2f405d7b791bac86b6cbb8d57cecd6f44023a2ffb6f6
35
36 diff --git a/sys-cluster/ceph/ceph-14.2.19.ebuild b/sys-cluster/ceph/ceph-14.2.19.ebuild
37 deleted file mode 100644
38 index dd17dadcdbb..00000000000
39 --- a/sys-cluster/ceph/ceph-14.2.19.ebuild
40 +++ /dev/null
41 @@ -1,394 +0,0 @@
42 -# Copyright 1999-2021 Gentoo Authors
43 -# Distributed under the terms of the GNU General Public License v2
44 -
45 -EAPI=7
46 -PYTHON_COMPAT=( python3_{7,8} )
47 -DISTUTILS_USE_SETUPTOOLS=rdepend
48 -CMAKE_MAKEFILE_GENERATOR=emake
49 -
50 -DISTUTILS_OPTIONAL=1
51 -
52 -inherit check-reqs bash-completion-r1 cmake distutils-r1 flag-o-matic \
53 - python-r1 udev readme.gentoo-r1 toolchain-funcs systemd tmpfiles
54 -
55 -if [[ ${PV} == *9999* ]]; then
56 - inherit git-r3
57 - EGIT_REPO_URI="https://github.com/ceph/ceph.git"
58 - SRC_URI=""
59 -else
60 - SRC_URI="https://download.ceph.com/tarballs/${P}.tar.gz"
61 - KEYWORDS="amd64 ~ppc64"
62 -fi
63 -
64 -DESCRIPTION="Ceph distributed filesystem"
65 -HOMEPAGE="https://ceph.com/"
66 -
67 -LICENSE="Apache-2.0 LGPL-2.1 CC-BY-SA-3.0 GPL-2 GPL-2+ LGPL-2+ LGPL-2.1 LGPL-3 GPL-3 BSD Boost-1.0 MIT public-domain"
68 -SLOT="0"
69 -
70 -CPU_FLAGS_X86=(sse{,2,3,4_1,4_2} ssse3)
71 -
72 -IUSE="babeltrace +cephfs custom-cflags diskprediction dpdk fuse grafana jemalloc
73 - kafka kerberos ldap lttng +mgr numa rabbitmq +radosgw +ssl spdk system-boost
74 - systemd +tcmalloc test xfs zfs"
75 -IUSE+=" $(printf "cpu_flags_x86_%s\n" ${CPU_FLAGS_X86[@]})"
76 -
77 -DEPEND="
78 - acct-group/ceph
79 - acct-user/ceph
80 - virtual/libudev:=
81 - app-arch/bzip2:=
82 - app-arch/lz4:=
83 - app-arch/snappy:=
84 - app-arch/zstd:=
85 - app-shells/bash:0
86 - app-misc/jq:=
87 - dev-libs/crypto++:=
88 - dev-libs/leveldb:=[snappy,tcmalloc(-)?]
89 - dev-libs/libaio:=
90 - dev-libs/libnl:3=
91 - dev-libs/libxml2:=
92 - <dev-libs/rocksdb-6.15:=
93 - dev-libs/xmlsec:=[openssl]
94 - dev-cpp/yaml-cpp:=
95 - dev-libs/nss:=
96 - dev-libs/protobuf:=
97 - net-dns/c-ares:=
98 - net-libs/gnutls:=
99 - sys-auth/oath-toolkit:=
100 - sys-apps/coreutils
101 - sys-apps/grep
102 - sys-apps/hwloc:=
103 - sys-apps/keyutils:=
104 - sys-apps/util-linux:=
105 - sys-apps/sed
106 - sys-apps/util-linux
107 - sys-libs/libcap-ng:=
108 - sys-libs/ncurses:0=
109 - sys-libs/zlib:=
110 - sys-process/numactl:=
111 - x11-libs/libpciaccess:=
112 - babeltrace? ( dev-util/babeltrace )
113 - fuse? ( sys-fs/fuse:0= )
114 - jemalloc? ( dev-libs/jemalloc:= )
115 - !jemalloc? ( >=dev-util/google-perftools-2.6.1:= )
116 - kafka? ( dev-libs/librdkafka:= )
117 - kerberos? ( virtual/krb5 )
118 - ldap? ( net-nds/openldap:= )
119 - lttng? ( dev-util/lttng-ust:= )
120 - rabbitmq? ( net-libs/rabbitmq-c:= )
121 - radosgw? (
122 - dev-libs/expat:=
123 - dev-libs/openssl:=
124 - net-misc/curl:=[curl_ssl_openssl]
125 - )
126 - ssl? ( dev-libs/openssl:= )
127 - system-boost? ( dev-libs/boost[threads,context,python,${PYTHON_USEDEP}] )
128 - xfs? ( sys-fs/xfsprogs:= )
129 - zfs? ( sys-fs/zfs:= )
130 - ${PYTHON_DEPS}
131 -"
132 -BDEPEND="
133 - amd64? ( dev-lang/yasm )
134 - x86? ( dev-lang/yasm )
135 - app-arch/cpio
136 - >=dev-util/cmake-3.5.0
137 - dev-python/cython[${PYTHON_USEDEP}]
138 - dev-python/sphinx
139 - dev-util/cunit
140 - dev-util/gperf
141 - dev-util/ragel
142 - dev-util/valgrind
143 - sys-apps/coreutils
144 - sys-apps/findutils
145 - sys-apps/grep
146 - sys-apps/sed
147 - sys-apps/which
148 - sys-devel/bc
149 - sys-devel/patch
150 - virtual/pkgconfig
151 - test? (
152 - dev-python/coverage[${PYTHON_USEDEP}]
153 - dev-python/virtualenv[${PYTHON_USEDEP}]
154 - dev-python/requests-mock[${PYTHON_USEDEP}]
155 - sys-apps/grep[pcre]
156 - sys-fs/btrfs-progs
157 - )
158 -"
159 -RDEPEND="${DEPEND}
160 - app-admin/sudo
161 - net-misc/socat
162 - sys-apps/gptfdisk
163 - >=sys-apps/smartmontools-7.0
164 - sys-block/parted
165 - sys-fs/cryptsetup
166 - sys-fs/lsscsi
167 - sys-fs/lvm2[-device-mapper-only(-)]
168 - virtual/awk
169 - dev-python/bcrypt[${PYTHON_USEDEP}]
170 - dev-python/cherrypy[${PYTHON_USEDEP}]
171 - dev-python/flask[${PYTHON_USEDEP}]
172 - dev-python/jinja[${PYTHON_USEDEP}]
173 - dev-python/pecan[${PYTHON_USEDEP}]
174 - dev-python/prettytable[${PYTHON_USEDEP}]
175 - dev-python/pyopenssl[${PYTHON_USEDEP}]
176 - dev-python/requests[${PYTHON_USEDEP}]
177 - dev-python/werkzeug[${PYTHON_USEDEP}]
178 - mgr? (
179 - dev-python/more-itertools[${PYTHON_USEDEP}]
180 - dev-python/numpy[${PYTHON_USEDEP}]
181 - <dev-python/pyjwt-2.0[${PYTHON_USEDEP}]
182 - dev-python/pyyaml[${PYTHON_USEDEP}]
183 - dev-python/routes[${PYTHON_USEDEP}]
184 - diskprediction? (
185 - $(python_gen_cond_dep '<dev-python/scipy-1.4.0[${PYTHON_USEDEP}]' python3_{6,7})
186 - )
187 - sci-libs/scikit-learn[${PYTHON_USEDEP}]
188 - dev-python/six[${PYTHON_USEDEP}]
189 - )
190 -"
191 -# diskprediction needs older scipy not compatible with py38
192 -# bug #724438
193 -REQUIRED_USE="
194 - ${PYTHON_REQUIRED_USE}
195 - ?? ( jemalloc tcmalloc )
196 - diskprediction? ( mgr !python_targets_python3_8 )
197 - kafka? ( radosgw )
198 - mgr? ( cephfs )
199 - rabbitmq? ( radosgw )
200 -"
201 -RESTRICT="!test? ( test )"
202 -
203 -# the tests need root access
204 -RESTRICT="test? ( userpriv )"
205 -
206 -# distribution tarball does not include everything needed for tests
207 -RESTRICT+=" test"
208 -
209 -# create a non-debug release
210 -CMAKE_BUILD_TYPE=RelWithDebInfo
211 -
212 -# false positives unless all USE flags are on
213 -CMAKE_WARN_UNUSED_CLI=no
214 -
215 -PATCHES=(
216 - "${FILESDIR}/ceph-12.2.0-use-provided-cpu-flag-values.patch"
217 - "${FILESDIR}/ceph-14.2.0-cflags.patch"
218 - "${FILESDIR}/ceph-12.2.4-boost-build-none-options.patch"
219 - "${FILESDIR}/ceph-13.2.0-cflags.patch"
220 - "${FILESDIR}/ceph-14.2.0-mgr-python-version.patch"
221 - "${FILESDIR}/ceph-14.2.5-no-virtualenvs.patch"
222 - "${FILESDIR}/ceph-13.2.2-dont-install-sysvinit-script.patch"
223 - "${FILESDIR}/ceph-14.2.0-dpdk-cflags.patch"
224 - "${FILESDIR}/ceph-14.2.0-link-crc32-statically.patch"
225 - "${FILESDIR}/ceph-14.2.0-cython-0.29.patch"
226 - "${FILESDIR}/ceph-14.2.3-dpdk-compile-fix-1.patch"
227 - "${FILESDIR}/ceph-14.2.4-python-executable.patch"
228 - "${FILESDIR}/ceph-14.2.4-undefined-behaviour.patch"
229 - "${FILESDIR}/ceph-14.2.10-build-without-mgr.patch"
230 - "${FILESDIR}/ceph-14.2.11-systemd-unit-fix.patch"
231 - "${FILESDIR}/ceph-15.2.9-dont-compile-isal_compress-if-don-t-have-SSE4_1.patch"
232 -)
233 -
234 -check-reqs_export_vars() {
235 - CHECKREQS_DISK_BUILD="5200M"
236 - CHECKREQS_DISK_USR="510M"
237 -
238 - export CHECKREQS_DISK_BUILD CHECKREQS_DISK_USR
239 -}
240 -
241 -pkg_pretend() {
242 - check-reqs_export_vars
243 - check-reqs_pkg_pretend
244 -}
245 -
246 -pkg_setup() {
247 - python_setup
248 - check-reqs_export_vars
249 - check-reqs_pkg_setup
250 -}
251 -
252 -src_prepare() {
253 - cmake_src_prepare
254 -
255 - if use system-boost; then
256 - find "${S}" -name '*.cmake' -or -name 'CMakeLists.txt' -print0 \
257 - | xargs --null sed -r \
258 - -e 's|Boost::|boost_|g' \
259 - -e 's|Boost_|boost_|g' \
260 - -e 's|[Bb]oost_boost|boost_system|g' -i || die
261 - fi
262 -
263 - sed -r -e "s:DESTINATION .+\\):DESTINATION $(get_bashcompdir)\\):" \
264 - -i src/bash_completion/CMakeLists.txt || die
265 -
266 - sed -e "s:objdump -p:$(tc-getOBJDUMP) -p:" -i CMakeLists.txt || die
267 -
268 - if ! use diskprediction; then
269 - rm -rf src/pybind/mgr/diskprediction_local || die
270 - fi
271 -
272 - # remove tests that need root access
273 - rm src/test/cli/ceph-authtool/cap*.t || die
274 -}
275 -
276 -ceph_src_configure() {
277 - local flag
278 - local mycmakeargs=(
279 - -DWITH_BABELTRACE=$(usex babeltrace)
280 - -DWITH_CEPHFS=$(usex cephfs)
281 - -DWITH_CEPHFS_SHELL=$(usex cephfs)
282 - -DWITH_DPDK=$(usex dpdk)
283 - -DWITH_SPDK=$(usex spdk)
284 - -DWITH_FUSE=$(usex fuse)
285 - -DWITH_LTTNG=$(usex lttng)
286 - -DWITH_GSSAPI=$(usex kerberos)
287 - -DWITH_GRAFANA=$(usex grafana)
288 - -DWITH_MGR=$(usex mgr)
289 - -DWITH_MGR_DASHBOARD_FRONTEND=OFF
290 - -DWITH_NUMA=$(usex numa)
291 - -DWITH_OPENLDAP=$(usex ldap)
292 - -DWITH_PYTHON3=3
293 - -DWITH_RADOSGW=$(usex radosgw)
294 - -DWITH_RADOSGW_AMQP_ENDPOINT=$(usex rabbitmq)
295 - -DWITH_RADOSGW_KAFKA_ENDPOINT=$(usex kafka)
296 - -DWITH_SSL=$(usex ssl)
297 - -DWITH_SYSTEMD=$(usex systemd)
298 - -DWITH_TESTS=$(usex test)
299 - -DWITH_XFS=$(usex xfs)
300 - -DWITH_ZFS=$(usex zfs)
301 - -DENABLE_SHARED="ON"
302 - -DALLOCATOR=$(usex tcmalloc 'tcmalloc' "$(usex jemalloc 'jemalloc' 'libc')")
303 - -DWITH_SYSTEM_BOOST=$(usex system-boost)
304 - -DBOOST_J=$(makeopts_jobs)
305 - -DWITH_SYSTEM_ROCKSDB=ON
306 - -DWITH_RDMA=OFF
307 - -DWITH_TBB=OFF
308 - -DSYSTEMD_UNITDIR=$(systemd_get_systemunitdir)
309 - -DCMAKE_INSTALL_SYSTEMD_SERVICEDIR=$(systemd_get_systemunitdir)
310 - -DEPYTHON_VERSION="${EPYTHON#python}"
311 - -DCMAKE_INSTALL_DOCDIR="${EPREFIX}/usr/share/doc/${PN}-${PVR}"
312 - -DCMAKE_INSTALL_SYSCONFDIR="${EPREFIX}/etc"
313 - -Wno-dev
314 - )
315 - if use amd64 || use x86; then
316 - for flag in ${CPU_FLAGS_X86[@]}; do
317 - mycmakeargs+=("$(usex cpu_flags_x86_${flag} "-DHAVE_INTEL_${flag^^}=1")")
318 - done
319 - fi
320 -
321 - # needed for >=glibc-2.32
322 - has_version '>=sys-libs/glibc-2.32' && mycmakeargs+=(-DWITH_REENTRANT_STRSIGNAL:BOOL=ON)
323 -
324 - rm -f "${BUILD_DIR:-${S}}/CMakeCache.txt" \
325 - || die "failed to remove cmake cache"
326 -
327 - cmake_src_configure
328 -
329 - # bug #630232
330 - sed -i "s:\"${T//:\\:}/${EPYTHON}/bin/python\":\"${PYTHON}\":" \
331 - "${BUILD_DIR:-${S}}"/include/acconfig.h \
332 - || die "sed failed"
333 -}
334 -
335 -src_configure() {
336 - use custom-cflags || strip-flags
337 - ceph_src_configure
338 -}
339 -
340 -python_compile() {
341 - local CMAKE_USE_DIR="${S}"
342 - ceph_src_configure
343 -
344 - pushd "${BUILD_DIR}/src/pybind" >/dev/null || die
345 - emake VERBOSE=1 clean
346 - emake VERBOSE=1 all
347 -
348 - # python modules are only compiled with "make install" so we need to do this to
349 - # prevent doing a bunch of compilation in src_install
350 - DESTDIR="${T}" emake VERBOSE=1 install
351 - popd >/dev/null || die
352 -}
353 -
354 -src_compile() {
355 - cmake_build VERBOSE=1 all
356 -
357 - # we have to do this here to prevent from building everything multiple times
358 - python_copy_sources
359 - python_foreach_impl python_compile
360 -}
361 -
362 -src_test() {
363 - make check || die "make check failed"
364 -}
365 -
366 -python_install() {
367 - local CMAKE_USE_DIR="${S}"
368 - pushd "${BUILD_DIR}/src/pybind" >/dev/null || die
369 - DESTDIR="${ED}" emake VERBOSE=1 install
370 - popd >/dev/null || die
371 -
372 - python_optimize
373 -}
374 -
375 -src_install() {
376 - cmake_src_install
377 - python_foreach_impl python_install
378 -
379 - find "${ED}" -name '*.la' -type f -delete || die
380 -
381 - exeinto /usr/$(get_libdir)/ceph
382 - newexe "${BUILD_DIR}/bin/init-ceph" init-ceph
383 -
384 - insinto /etc/logrotate.d/
385 - newins "${FILESDIR}"/ceph.logrotate-r2 ${PN}
386 -
387 - keepdir /var/lib/${PN}{,/tmp} /var/log/${PN}/stat
388 -
389 - fowners -R ceph:ceph /var/log/ceph
390 -
391 - newinitd "${FILESDIR}/rbdmap.initd" rbdmap
392 - newinitd "${FILESDIR}/${PN}.initd-r12" ${PN}
393 - newconfd "${FILESDIR}/${PN}.confd-r5" ${PN}
394 -
395 - insinto /etc/sysctl.d
396 - newins "${FILESDIR}"/sysctld 90-${PN}.conf
397 -
398 - use tcmalloc && newenvd "${FILESDIR}"/envd-tcmalloc 99${PN}-tcmalloc
399 -
400 - # units aren't installed by the build system unless systemd is enabled
401 - # so no point installing these with the USE flag disabled
402 - if use systemd; then
403 - systemd_install_serviced "${FILESDIR}/ceph-mds_at.service.conf" \
404 - "ceph-mds@.service"
405 -
406 - systemd_install_serviced "${FILESDIR}/ceph-osd_at.service.conf" \
407 - "ceph-osd@.service"
408 -
409 - fi
410 -
411 - udev_dorules udev/*.rules
412 - newtmpfiles "${FILESDIR}"/ceph-tmpfilesd ${PN}.conf
413 -
414 - readme.gentoo_create_doc
415 -
416 - python_setup
417 -
418 - # bug #630232
419 - sed -i -r "s:${T//:/\\:}/${EPYTHON}:/usr:" "${ED}"/usr/bin/ceph{,-crash} \
420 - || die "sed failed"
421 -
422 - python_fix_shebang "${ED}"/usr/{,s}bin/
423 -
424 - # python_fix_shebang apparently is not idempotent
425 - local shebang_regex='(/usr/lib/python-exec/python[0-9]\.[0-9]/python)[0-9]\.[0-9]'
426 - grep -r -E -l --null "${shebang_regex}" "${ED}"/usr/{s,}bin/ \
427 - | xargs --null --no-run-if-empty -- sed -i -r "s:${shebang_regex}:\1:" || die
428 -
429 - local -a rados_classes=( "${ED}/usr/$(get_libdir)/rados-classes"/* )
430 - dostrip -x "${rados_classes[@]#${ED}}"
431 -}
432 -
433 -pkg_postinst() {
434 - readme.gentoo_print_elog
435 -}
436
437 diff --git a/sys-cluster/ceph/ceph-14.2.20.ebuild b/sys-cluster/ceph/ceph-14.2.20.ebuild
438 deleted file mode 100644
439 index 9b819976edd..00000000000
440 --- a/sys-cluster/ceph/ceph-14.2.20.ebuild
441 +++ /dev/null
442 @@ -1,394 +0,0 @@
443 -# Copyright 1999-2021 Gentoo Authors
444 -# Distributed under the terms of the GNU General Public License v2
445 -
446 -EAPI=7
447 -PYTHON_COMPAT=( python3_{7,8} )
448 -DISTUTILS_USE_SETUPTOOLS=rdepend
449 -CMAKE_MAKEFILE_GENERATOR=emake
450 -
451 -DISTUTILS_OPTIONAL=1
452 -
453 -inherit check-reqs bash-completion-r1 cmake distutils-r1 flag-o-matic \
454 - python-r1 udev readme.gentoo-r1 toolchain-funcs systemd tmpfiles
455 -
456 -if [[ ${PV} == *9999* ]]; then
457 - inherit git-r3
458 - EGIT_REPO_URI="https://github.com/ceph/ceph.git"
459 - SRC_URI=""
460 -else
461 - SRC_URI="https://download.ceph.com/tarballs/${P}.tar.gz"
462 - KEYWORDS="~amd64 ~ppc64"
463 -fi
464 -
465 -DESCRIPTION="Ceph distributed filesystem"
466 -HOMEPAGE="https://ceph.com/"
467 -
468 -LICENSE="Apache-2.0 LGPL-2.1 CC-BY-SA-3.0 GPL-2 GPL-2+ LGPL-2+ LGPL-2.1 LGPL-3 GPL-3 BSD Boost-1.0 MIT public-domain"
469 -SLOT="0"
470 -
471 -CPU_FLAGS_X86=(sse{,2,3,4_1,4_2} ssse3)
472 -
473 -IUSE="babeltrace +cephfs custom-cflags diskprediction dpdk fuse grafana jemalloc
474 - kafka kerberos ldap lttng +mgr numa rabbitmq +radosgw +ssl spdk system-boost
475 - systemd +tcmalloc test xfs zfs"
476 -IUSE+=" $(printf "cpu_flags_x86_%s\n" ${CPU_FLAGS_X86[@]})"
477 -
478 -DEPEND="
479 - acct-group/ceph
480 - acct-user/ceph
481 - virtual/libudev:=
482 - app-arch/bzip2:=
483 - app-arch/lz4:=
484 - app-arch/snappy:=
485 - app-arch/zstd:=
486 - app-shells/bash:0
487 - app-misc/jq:=
488 - dev-libs/crypto++:=
489 - dev-libs/leveldb:=[snappy,tcmalloc(-)?]
490 - dev-libs/libaio:=
491 - dev-libs/libnl:3=
492 - dev-libs/libxml2:=
493 - <dev-libs/rocksdb-6.15:=
494 - dev-libs/xmlsec:=[openssl]
495 - dev-cpp/yaml-cpp:=
496 - dev-libs/nss:=
497 - dev-libs/protobuf:=
498 - net-dns/c-ares:=
499 - net-libs/gnutls:=
500 - sys-auth/oath-toolkit:=
501 - sys-apps/coreutils
502 - sys-apps/grep
503 - sys-apps/hwloc:=
504 - sys-apps/keyutils:=
505 - sys-apps/util-linux:=
506 - sys-apps/sed
507 - sys-apps/util-linux
508 - sys-libs/libcap-ng:=
509 - sys-libs/ncurses:0=
510 - sys-libs/zlib:=
511 - sys-process/numactl:=
512 - x11-libs/libpciaccess:=
513 - babeltrace? ( dev-util/babeltrace )
514 - fuse? ( sys-fs/fuse:0= )
515 - jemalloc? ( dev-libs/jemalloc:= )
516 - !jemalloc? ( >=dev-util/google-perftools-2.6.1:= )
517 - kafka? ( dev-libs/librdkafka:= )
518 - kerberos? ( virtual/krb5 )
519 - ldap? ( net-nds/openldap:= )
520 - lttng? ( dev-util/lttng-ust:= )
521 - rabbitmq? ( net-libs/rabbitmq-c:= )
522 - radosgw? (
523 - dev-libs/expat:=
524 - dev-libs/openssl:=
525 - net-misc/curl:=[curl_ssl_openssl]
526 - )
527 - ssl? ( dev-libs/openssl:= )
528 - system-boost? ( dev-libs/boost[threads,context,python,${PYTHON_USEDEP}] )
529 - xfs? ( sys-fs/xfsprogs:= )
530 - zfs? ( sys-fs/zfs:= )
531 - ${PYTHON_DEPS}
532 -"
533 -BDEPEND="
534 - amd64? ( dev-lang/yasm )
535 - x86? ( dev-lang/yasm )
536 - app-arch/cpio
537 - >=dev-util/cmake-3.5.0
538 - dev-python/cython[${PYTHON_USEDEP}]
539 - dev-python/sphinx
540 - dev-util/cunit
541 - dev-util/gperf
542 - dev-util/ragel
543 - dev-util/valgrind
544 - sys-apps/coreutils
545 - sys-apps/findutils
546 - sys-apps/grep
547 - sys-apps/sed
548 - sys-apps/which
549 - sys-devel/bc
550 - sys-devel/patch
551 - virtual/pkgconfig
552 - test? (
553 - dev-python/coverage[${PYTHON_USEDEP}]
554 - dev-python/virtualenv[${PYTHON_USEDEP}]
555 - dev-python/requests-mock[${PYTHON_USEDEP}]
556 - sys-apps/grep[pcre]
557 - sys-fs/btrfs-progs
558 - )
559 -"
560 -RDEPEND="${DEPEND}
561 - app-admin/sudo
562 - net-misc/socat
563 - sys-apps/gptfdisk
564 - >=sys-apps/smartmontools-7.0
565 - sys-block/parted
566 - sys-fs/cryptsetup
567 - sys-fs/lsscsi
568 - sys-fs/lvm2[-device-mapper-only(-)]
569 - virtual/awk
570 - dev-python/bcrypt[${PYTHON_USEDEP}]
571 - dev-python/cherrypy[${PYTHON_USEDEP}]
572 - dev-python/flask[${PYTHON_USEDEP}]
573 - dev-python/jinja[${PYTHON_USEDEP}]
574 - dev-python/pecan[${PYTHON_USEDEP}]
575 - dev-python/prettytable[${PYTHON_USEDEP}]
576 - dev-python/pyopenssl[${PYTHON_USEDEP}]
577 - dev-python/requests[${PYTHON_USEDEP}]
578 - dev-python/werkzeug[${PYTHON_USEDEP}]
579 - mgr? (
580 - dev-python/more-itertools[${PYTHON_USEDEP}]
581 - dev-python/numpy[${PYTHON_USEDEP}]
582 - <dev-python/pyjwt-2.0[${PYTHON_USEDEP}]
583 - dev-python/pyyaml[${PYTHON_USEDEP}]
584 - dev-python/routes[${PYTHON_USEDEP}]
585 - diskprediction? (
586 - $(python_gen_cond_dep '<dev-python/scipy-1.4.0[${PYTHON_USEDEP}]' python3_{6,7})
587 - )
588 - sci-libs/scikit-learn[${PYTHON_USEDEP}]
589 - dev-python/six[${PYTHON_USEDEP}]
590 - )
591 -"
592 -# diskprediction needs older scipy not compatible with py38
593 -# bug #724438
594 -REQUIRED_USE="
595 - ${PYTHON_REQUIRED_USE}
596 - ?? ( jemalloc tcmalloc )
597 - diskprediction? ( mgr !python_targets_python3_8 )
598 - kafka? ( radosgw )
599 - mgr? ( cephfs )
600 - rabbitmq? ( radosgw )
601 -"
602 -RESTRICT="!test? ( test )"
603 -
604 -# the tests need root access
605 -RESTRICT="test? ( userpriv )"
606 -
607 -# distribution tarball does not include everything needed for tests
608 -RESTRICT+=" test"
609 -
610 -# create a non-debug release
611 -CMAKE_BUILD_TYPE=RelWithDebInfo
612 -
613 -# false positives unless all USE flags are on
614 -CMAKE_WARN_UNUSED_CLI=no
615 -
616 -PATCHES=(
617 - "${FILESDIR}/ceph-12.2.0-use-provided-cpu-flag-values.patch"
618 - "${FILESDIR}/ceph-14.2.0-cflags.patch"
619 - "${FILESDIR}/ceph-12.2.4-boost-build-none-options.patch"
620 - "${FILESDIR}/ceph-13.2.0-cflags.patch"
621 - "${FILESDIR}/ceph-14.2.0-mgr-python-version.patch"
622 - "${FILESDIR}/ceph-14.2.5-no-virtualenvs.patch"
623 - "${FILESDIR}/ceph-13.2.2-dont-install-sysvinit-script.patch"
624 - "${FILESDIR}/ceph-14.2.0-dpdk-cflags.patch"
625 - "${FILESDIR}/ceph-14.2.0-link-crc32-statically.patch"
626 - "${FILESDIR}/ceph-14.2.0-cython-0.29.patch"
627 - "${FILESDIR}/ceph-14.2.3-dpdk-compile-fix-1.patch"
628 - "${FILESDIR}/ceph-14.2.4-python-executable.patch"
629 - "${FILESDIR}/ceph-14.2.4-undefined-behaviour.patch"
630 - "${FILESDIR}/ceph-14.2.10-build-without-mgr.patch"
631 - "${FILESDIR}/ceph-14.2.11-systemd-unit-fix.patch"
632 - "${FILESDIR}/ceph-15.2.9-dont-compile-isal_compress-if-don-t-have-SSE4_1.patch"
633 -)
634 -
635 -check-reqs_export_vars() {
636 - CHECKREQS_DISK_BUILD="5200M"
637 - CHECKREQS_DISK_USR="510M"
638 -
639 - export CHECKREQS_DISK_BUILD CHECKREQS_DISK_USR
640 -}
641 -
642 -pkg_pretend() {
643 - check-reqs_export_vars
644 - check-reqs_pkg_pretend
645 -}
646 -
647 -pkg_setup() {
648 - python_setup
649 - check-reqs_export_vars
650 - check-reqs_pkg_setup
651 -}
652 -
653 -src_prepare() {
654 - cmake_src_prepare
655 -
656 - if use system-boost; then
657 - find "${S}" -name '*.cmake' -or -name 'CMakeLists.txt' -print0 \
658 - | xargs --null sed -r \
659 - -e 's|Boost::|boost_|g' \
660 - -e 's|Boost_|boost_|g' \
661 - -e 's|[Bb]oost_boost|boost_system|g' -i || die
662 - fi
663 -
664 - sed -r -e "s:DESTINATION .+\\):DESTINATION $(get_bashcompdir)\\):" \
665 - -i src/bash_completion/CMakeLists.txt || die
666 -
667 - sed -e "s:objdump -p:$(tc-getOBJDUMP) -p:" -i CMakeLists.txt || die
668 -
669 - if ! use diskprediction; then
670 - rm -rf src/pybind/mgr/diskprediction_local || die
671 - fi
672 -
673 - # remove tests that need root access
674 - rm src/test/cli/ceph-authtool/cap*.t || die
675 -}
676 -
677 -ceph_src_configure() {
678 - local flag
679 - local mycmakeargs=(
680 - -DWITH_BABELTRACE=$(usex babeltrace)
681 - -DWITH_CEPHFS=$(usex cephfs)
682 - -DWITH_CEPHFS_SHELL=$(usex cephfs)
683 - -DWITH_DPDK=$(usex dpdk)
684 - -DWITH_SPDK=$(usex spdk)
685 - -DWITH_FUSE=$(usex fuse)
686 - -DWITH_LTTNG=$(usex lttng)
687 - -DWITH_GSSAPI=$(usex kerberos)
688 - -DWITH_GRAFANA=$(usex grafana)
689 - -DWITH_MGR=$(usex mgr)
690 - -DWITH_MGR_DASHBOARD_FRONTEND=OFF
691 - -DWITH_NUMA=$(usex numa)
692 - -DWITH_OPENLDAP=$(usex ldap)
693 - -DWITH_PYTHON3=3
694 - -DWITH_RADOSGW=$(usex radosgw)
695 - -DWITH_RADOSGW_AMQP_ENDPOINT=$(usex rabbitmq)
696 - -DWITH_RADOSGW_KAFKA_ENDPOINT=$(usex kafka)
697 - -DWITH_SSL=$(usex ssl)
698 - -DWITH_SYSTEMD=$(usex systemd)
699 - -DWITH_TESTS=$(usex test)
700 - -DWITH_XFS=$(usex xfs)
701 - -DWITH_ZFS=$(usex zfs)
702 - -DENABLE_SHARED="ON"
703 - -DALLOCATOR=$(usex tcmalloc 'tcmalloc' "$(usex jemalloc 'jemalloc' 'libc')")
704 - -DWITH_SYSTEM_BOOST=$(usex system-boost)
705 - -DBOOST_J=$(makeopts_jobs)
706 - -DWITH_SYSTEM_ROCKSDB=ON
707 - -DWITH_RDMA=OFF
708 - -DWITH_TBB=OFF
709 - -DSYSTEMD_UNITDIR=$(systemd_get_systemunitdir)
710 - -DCMAKE_INSTALL_SYSTEMD_SERVICEDIR=$(systemd_get_systemunitdir)
711 - -DEPYTHON_VERSION="${EPYTHON#python}"
712 - -DCMAKE_INSTALL_DOCDIR="${EPREFIX}/usr/share/doc/${PN}-${PVR}"
713 - -DCMAKE_INSTALL_SYSCONFDIR="${EPREFIX}/etc"
714 - -Wno-dev
715 - )
716 - if use amd64 || use x86; then
717 - for flag in ${CPU_FLAGS_X86[@]}; do
718 - mycmakeargs+=("$(usex cpu_flags_x86_${flag} "-DHAVE_INTEL_${flag^^}=1")")
719 - done
720 - fi
721 -
722 - # needed for >=glibc-2.32
723 - has_version '>=sys-libs/glibc-2.32' && mycmakeargs+=(-DWITH_REENTRANT_STRSIGNAL:BOOL=ON)
724 -
725 - rm -f "${BUILD_DIR:-${S}}/CMakeCache.txt" \
726 - || die "failed to remove cmake cache"
727 -
728 - cmake_src_configure
729 -
730 - # bug #630232
731 - sed -i "s:\"${T//:\\:}/${EPYTHON}/bin/python\":\"${PYTHON}\":" \
732 - "${BUILD_DIR:-${S}}"/include/acconfig.h \
733 - || die "sed failed"
734 -}
735 -
736 -src_configure() {
737 - use custom-cflags || strip-flags
738 - ceph_src_configure
739 -}
740 -
741 -python_compile() {
742 - local CMAKE_USE_DIR="${S}"
743 - ceph_src_configure
744 -
745 - pushd "${BUILD_DIR}/src/pybind" >/dev/null || die
746 - emake VERBOSE=1 clean
747 - emake VERBOSE=1 all
748 -
749 - # python modules are only compiled with "make install" so we need to do this to
750 - # prevent doing a bunch of compilation in src_install
751 - DESTDIR="${T}" emake VERBOSE=1 install
752 - popd >/dev/null || die
753 -}
754 -
755 -src_compile() {
756 - cmake_build VERBOSE=1 all
757 -
758 - # we have to do this here to prevent from building everything multiple times
759 - python_copy_sources
760 - python_foreach_impl python_compile
761 -}
762 -
763 -src_test() {
764 - make check || die "make check failed"
765 -}
766 -
767 -python_install() {
768 - local CMAKE_USE_DIR="${S}"
769 - pushd "${BUILD_DIR}/src/pybind" >/dev/null || die
770 - DESTDIR="${ED}" emake VERBOSE=1 install
771 - popd >/dev/null || die
772 -
773 - python_optimize
774 -}
775 -
776 -src_install() {
777 - cmake_src_install
778 - python_foreach_impl python_install
779 -
780 - find "${ED}" -name '*.la' -type f -delete || die
781 -
782 - exeinto /usr/$(get_libdir)/ceph
783 - newexe "${BUILD_DIR}/bin/init-ceph" init-ceph
784 -
785 - insinto /etc/logrotate.d/
786 - newins "${FILESDIR}"/ceph.logrotate-r2 ${PN}
787 -
788 - keepdir /var/lib/${PN}{,/tmp} /var/log/${PN}/stat
789 -
790 - fowners -R ceph:ceph /var/log/ceph
791 -
792 - newinitd "${FILESDIR}/rbdmap.initd" rbdmap
793 - newinitd "${FILESDIR}/${PN}.initd-r12" ${PN}
794 - newconfd "${FILESDIR}/${PN}.confd-r5" ${PN}
795 -
796 - insinto /etc/sysctl.d
797 - newins "${FILESDIR}"/sysctld 90-${PN}.conf
798 -
799 - use tcmalloc && newenvd "${FILESDIR}"/envd-tcmalloc 99${PN}-tcmalloc
800 -
801 - # units aren't installed by the build system unless systemd is enabled
802 - # so no point installing these with the USE flag disabled
803 - if use systemd; then
804 - systemd_install_serviced "${FILESDIR}/ceph-mds_at.service.conf" \
805 - "ceph-mds@.service"
806 -
807 - systemd_install_serviced "${FILESDIR}/ceph-osd_at.service.conf" \
808 - "ceph-osd@.service"
809 -
810 - fi
811 -
812 - udev_dorules udev/*.rules
813 - newtmpfiles "${FILESDIR}"/ceph-tmpfilesd ${PN}.conf
814 -
815 - readme.gentoo_create_doc
816 -
817 - python_setup
818 -
819 - # bug #630232
820 - sed -i -r "s:${T//:/\\:}/${EPYTHON}:/usr:" "${ED}"/usr/bin/ceph{,-crash} \
821 - || die "sed failed"
822 -
823 - python_fix_shebang "${ED}"/usr/{,s}bin/
824 -
825 - # python_fix_shebang apparently is not idempotent
826 - local shebang_regex='(/usr/lib/python-exec/python[0-9]\.[0-9]/python)[0-9]\.[0-9]'
827 - grep -r -E -l --null "${shebang_regex}" "${ED}"/usr/{s,}bin/ \
828 - | xargs --null --no-run-if-empty -- sed -i -r "s:${shebang_regex}:\1:" || die
829 -
830 - local -a rados_classes=( "${ED}/usr/$(get_libdir)/rados-classes"/* )
831 - dostrip -x "${rados_classes[@]#${ED}}"
832 -}
833 -
834 -pkg_postinst() {
835 - readme.gentoo_print_elog
836 -}
837
838 diff --git a/sys-cluster/ceph/ceph-15.2.11.ebuild b/sys-cluster/ceph/ceph-15.2.11.ebuild
839 deleted file mode 100644
840 index d90c82927bc..00000000000
841 --- a/sys-cluster/ceph/ceph-15.2.11.ebuild
842 +++ /dev/null
843 @@ -1,405 +0,0 @@
844 -# Copyright 1999-2021 Gentoo Authors
845 -# Distributed under the terms of the GNU General Public License v2
846 -
847 -EAPI=7
848 -PYTHON_COMPAT=( python3_{7..9} )
849 -DISTUTILS_USE_SETUPTOOLS=rdepend
850 -CMAKE_MAKEFILE_GENERATOR=emake
851 -
852 -DISTUTILS_OPTIONAL=1
853 -
854 -inherit check-reqs bash-completion-r1 cmake distutils-r1 flag-o-matic \
855 - python-r1 udev readme.gentoo-r1 toolchain-funcs systemd tmpfiles
856 -
857 -if [[ ${PV} == *9999* ]]; then
858 - inherit git-r3
859 - EGIT_REPO_URI="https://github.com/ceph/ceph.git"
860 - SRC_URI=""
861 -else
862 - SRC_URI="https://download.ceph.com/tarballs/${P}.tar.gz"
863 - KEYWORDS="~amd64 ~arm64 ~ppc64"
864 -fi
865 -
866 -DESCRIPTION="Ceph distributed filesystem"
867 -HOMEPAGE="https://ceph.com/"
868 -
869 -LICENSE="Apache-2.0 LGPL-2.1 CC-BY-SA-3.0 GPL-2 GPL-2+ LGPL-2+ LGPL-2.1 LGPL-3 GPL-3 BSD Boost-1.0 MIT public-domain"
870 -SLOT="0"
871 -
872 -CPU_FLAGS_X86=(sse{,2,3,4_1,4_2} ssse3)
873 -
874 -IUSE="babeltrace +cephfs custom-cflags diskprediction dpdk fuse grafana jemalloc
875 - kafka kerberos ldap lttng +mgr numa pmdk rabbitmq +radosgw rbd-rwl +ssl spdk
876 - system-boost systemd +tcmalloc test uring xfs zfs"
877 -IUSE+=" $(printf "cpu_flags_x86_%s\n" ${CPU_FLAGS_X86[@]})"
878 -
879 -DEPEND="
880 - acct-group/ceph
881 - acct-user/ceph
882 - virtual/libudev:=
883 - app-arch/bzip2:=
884 - app-arch/lz4:=
885 - app-arch/snappy:=
886 - app-arch/zstd:=
887 - app-shells/bash:0
888 - app-misc/jq:=
889 - dev-libs/crypto++:=
890 - dev-cpp/gflags:=
891 - dev-libs/leveldb:=[snappy,tcmalloc(-)?]
892 - dev-libs/libaio:=
893 - dev-libs/libfmt:=
894 - dev-libs/libnl:3=
895 - dev-libs/libxml2:=
896 - <dev-libs/rocksdb-6.15:=
897 - dev-libs/xmlsec:=[openssl]
898 - dev-cpp/yaml-cpp:=
899 - dev-libs/nss:=
900 - dev-libs/protobuf:=
901 - net-dns/c-ares:=
902 - net-libs/gnutls:=
903 - sys-auth/oath-toolkit:=
904 - sys-apps/coreutils
905 - sys-apps/grep
906 - sys-apps/hwloc:=
907 - sys-apps/keyutils:=
908 - sys-apps/util-linux:=
909 - sys-apps/sed
910 - sys-apps/util-linux
911 - sys-libs/libcap-ng:=
912 - sys-libs/ncurses:0=
913 - sys-libs/zlib:=
914 - sys-process/numactl:=
915 - x11-libs/libpciaccess:=
916 - babeltrace? ( dev-util/babeltrace )
917 - fuse? ( sys-fs/fuse:0= )
918 - jemalloc? ( dev-libs/jemalloc:= )
919 - !jemalloc? ( >=dev-util/google-perftools-2.6.1:= )
920 - kafka? ( dev-libs/librdkafka:= )
921 - kerberos? ( virtual/krb5 )
922 - ldap? ( net-nds/openldap:= )
923 - lttng? ( dev-util/lttng-ust:= )
924 - pmdk? ( dev-libs/pmdk:= )
925 - rabbitmq? ( net-libs/rabbitmq-c:= )
926 - radosgw? (
927 - dev-libs/expat:=
928 - dev-libs/openssl:=
929 - net-misc/curl:=[curl_ssl_openssl]
930 - )
931 - rbd-rwl? ( dev-libs/pmdk:= )
932 - ssl? ( dev-libs/openssl:= )
933 - system-boost? ( >=dev-libs/boost-1.72[threads,context,python,${PYTHON_USEDEP}] )
934 - uring? ( sys-libs/liburing:= )
935 - xfs? ( sys-fs/xfsprogs:= )
936 - zfs? ( sys-fs/zfs:= )
937 - ${PYTHON_DEPS}
938 -"
939 -BDEPEND="
940 - amd64? ( dev-lang/yasm )
941 - x86? ( dev-lang/yasm )
942 - app-arch/cpio
943 - >=dev-util/cmake-3.5.0
944 - dev-python/cython[${PYTHON_USEDEP}]
945 - dev-python/sphinx
946 - dev-util/cunit
947 - dev-util/gperf
948 - dev-util/ragel
949 - dev-util/valgrind
950 - sys-apps/coreutils
951 - sys-apps/findutils
952 - sys-apps/grep
953 - sys-apps/sed
954 - sys-apps/which
955 - sys-devel/bc
956 - sys-devel/patch
957 - virtual/pkgconfig
958 - test? (
959 - dev-python/coverage[${PYTHON_USEDEP}]
960 - dev-python/virtualenv[${PYTHON_USEDEP}]
961 - dev-python/requests-mock[${PYTHON_USEDEP}]
962 - sys-apps/grep[pcre]
963 - sys-fs/btrfs-progs
964 - )
965 -"
966 -RDEPEND="${DEPEND}
967 - app-admin/sudo
968 - net-misc/socat
969 - sys-apps/gptfdisk
970 - sys-apps/nvme-cli
971 - >=sys-apps/smartmontools-7.0
972 - sys-block/parted
973 - sys-fs/cryptsetup
974 - sys-fs/lsscsi
975 - sys-fs/lvm2[-device-mapper-only(-)]
976 - virtual/awk
977 - dev-python/bcrypt[${PYTHON_USEDEP}]
978 - dev-python/cherrypy[${PYTHON_USEDEP}]
979 - dev-python/python-dateutil[${PYTHON_USEDEP}]
980 - dev-python/flask[${PYTHON_USEDEP}]
981 - dev-python/jinja[${PYTHON_USEDEP}]
982 - dev-python/pecan[${PYTHON_USEDEP}]
983 - dev-python/prettytable[${PYTHON_USEDEP}]
984 - dev-python/pyopenssl[${PYTHON_USEDEP}]
985 - dev-python/requests[${PYTHON_USEDEP}]
986 - dev-python/werkzeug[${PYTHON_USEDEP}]
987 - mgr? (
988 - dev-python/jsonpatch[${PYTHON_USEDEP}]
989 - dev-python/more-itertools[${PYTHON_USEDEP}]
990 - dev-python/numpy[${PYTHON_USEDEP}]
991 - dev-python/pyjwt[${PYTHON_USEDEP}]
992 - dev-python/pyyaml[${PYTHON_USEDEP}]
993 - dev-python/routes[${PYTHON_USEDEP}]
994 - diskprediction? (
995 - $(python_gen_cond_dep '<dev-python/scipy-1.4.0[${PYTHON_USEDEP}]' python3_{6,7})
996 - )
997 - sci-libs/scikit-learn[${PYTHON_USEDEP}]
998 - dev-python/six[${PYTHON_USEDEP}]
999 - )
1000 -"
1001 -# diskprediction needs older scipy not compatible with py38
1002 -# bug #724438
1003 -REQUIRED_USE="
1004 - ${PYTHON_REQUIRED_USE}
1005 - ?? ( jemalloc tcmalloc )
1006 - diskprediction? ( mgr !python_targets_python3_8 )
1007 - kafka? ( radosgw )
1008 - mgr? ( cephfs )
1009 - rabbitmq? ( radosgw )
1010 -"
1011 -RESTRICT="!test? ( test )"
1012 -
1013 -# the tests need root access
1014 -RESTRICT="test? ( userpriv )"
1015 -
1016 -# distribution tarball does not include everything needed for tests
1017 -RESTRICT+=" test"
1018 -
1019 -# create a non-debug release
1020 -CMAKE_BUILD_TYPE=RelWithDebInfo
1021 -
1022 -# false positives unless all USE flags are on
1023 -CMAKE_WARN_UNUSED_CLI=no
1024 -
1025 -PATCHES=(
1026 - "${FILESDIR}/ceph-12.2.0-use-provided-cpu-flag-values.patch"
1027 - "${FILESDIR}/ceph-14.2.0-cflags.patch"
1028 - "${FILESDIR}/ceph-12.2.4-boost-build-none-options.patch"
1029 - "${FILESDIR}/ceph-13.2.0-cflags.patch"
1030 - "${FILESDIR}/ceph-15.2.0-no-virtualenvs.patch"
1031 - "${FILESDIR}/ceph-13.2.2-dont-install-sysvinit-script.patch"
1032 - "${FILESDIR}/ceph-14.2.0-dpdk-cflags.patch"
1033 - "${FILESDIR}/ceph-14.2.0-link-crc32-statically.patch"
1034 - "${FILESDIR}/ceph-14.2.0-cython-0.29.patch"
1035 - "${FILESDIR}/ceph-15.2.0-rocksdb-cmake.patch"
1036 - "${FILESDIR}/ceph-15.2.2-systemd-unit.patch"
1037 - "${FILESDIR}/ceph-15.2.3-spdk-compile.patch"
1038 - "${FILESDIR}/ceph-15.2.4-system-uring.patch"
1039 - "${FILESDIR}/ceph-15.2.5-missing-includes.patch"
1040 - "${FILESDIR}/ceph-15.2.9-dont-compile-isal_compress-if-don-t-have-SSE4_1.patch"
1041 -)
1042 -
1043 -check-reqs_export_vars() {
1044 - CHECKREQS_DISK_BUILD="5400M"
1045 - CHECKREQS_DISK_USR="510M"
1046 -
1047 - export CHECKREQS_DISK_BUILD CHECKREQS_DISK_USR
1048 -}
1049 -
1050 -pkg_pretend() {
1051 - check-reqs_export_vars
1052 - check-reqs_pkg_pretend
1053 -}
1054 -
1055 -pkg_setup() {
1056 - python_setup
1057 - check-reqs_export_vars
1058 - check-reqs_pkg_setup
1059 -}
1060 -
1061 -src_prepare() {
1062 - cmake_src_prepare
1063 -
1064 - if use system-boost; then
1065 - find "${S}" -name '*.cmake' -or -name 'CMakeLists.txt' -print0 \
1066 - | xargs --null sed -r \
1067 - -e 's|Boost::|boost_|g' \
1068 - -e 's|Boost_|boost_|g' \
1069 - -e 's|[Bb]oost_boost|boost_system|g' -i || die
1070 - fi
1071 -
1072 - sed -r -e "s:DESTINATION .+\\):DESTINATION $(get_bashcompdir)\\):" \
1073 - -i src/bash_completion/CMakeLists.txt || die
1074 -
1075 - sed -e "s:objdump -p:$(tc-getOBJDUMP) -p:" -i CMakeLists.txt || die
1076 -
1077 - if ! use diskprediction; then
1078 - rm -rf src/pybind/mgr/diskprediction_local || die
1079 - fi
1080 -
1081 - # remove tests that need root access
1082 - rm src/test/cli/ceph-authtool/cap*.t || die
1083 -}
1084 -
1085 -ceph_src_configure() {
1086 - local flag
1087 - local mycmakeargs=(
1088 - -DWITH_BABELTRACE=$(usex babeltrace)
1089 - -DWITH_BLUESTORE_PMEM=$(usex pmdk)
1090 - -DWITH_CEPHFS=$(usex cephfs)
1091 - -DWITH_CEPHFS_SHELL=$(usex cephfs)
1092 - -DWITH_DPDK=$(usex dpdk)
1093 - -DWITH_SPDK=$(usex spdk)
1094 - -DWITH_FUSE=$(usex fuse)
1095 - -DWITH_LTTNG=$(usex lttng)
1096 - -DWITH_GSSAPI=$(usex kerberos)
1097 - -DWITH_GRAFANA=$(usex grafana)
1098 - -DWITH_MGR=$(usex mgr)
1099 - -DWITH_MGR_DASHBOARD_FRONTEND=OFF
1100 - -DWITH_NUMA=$(usex numa)
1101 - -DWITH_OPENLDAP=$(usex ldap)
1102 - -DWITH_PYTHON3=3
1103 - -DWITH_RADOSGW=$(usex radosgw)
1104 - -DWITH_RADOSGW_AMQP_ENDPOINT=$(usex rabbitmq)
1105 - -DWITH_RADOSGW_KAFKA_ENDPOINT=$(usex kafka)
1106 - -DWITH_RBD_RWL=$(usex rbd-rwl)
1107 - -DWITH_SSL=$(usex ssl)
1108 - -DWITH_SYSTEMD=$(usex systemd)
1109 - -DWITH_TESTS=$(usex test)
1110 - -DWITH_LIBURING=$(usex uring)
1111 - -DWITH_XFS=$(usex xfs)
1112 - -DWITH_ZFS=$(usex zfs)
1113 - -DENABLE_SHARED="ON"
1114 - -DALLOCATOR=$(usex tcmalloc 'tcmalloc' "$(usex jemalloc 'jemalloc' 'libc')")
1115 - -DWITH_SYSTEM_PMDK=$(usex pmdk 'YES' "$(usex rbd-rwl)")
1116 - -DWITH_SYSTEM_BOOST=$(usex system-boost)
1117 - -DBOOST_J=$(makeopts_jobs)
1118 - -DWITH_SYSTEM_ROCKSDB=ON
1119 - -DWITH_RDMA=OFF
1120 - -DWITH_TBB=OFF
1121 - -DSYSTEMD_UNITDIR=$(systemd_get_systemunitdir)
1122 - -DCMAKE_INSTALL_SYSTEMD_SERVICEDIR=$(systemd_get_systemunitdir)
1123 - -DEPYTHON_VERSION="${EPYTHON#python}"
1124 - -DCMAKE_INSTALL_DOCDIR="${EPREFIX}/usr/share/doc/${PN}-${PVR}"
1125 - -DCMAKE_INSTALL_SYSCONFDIR="${EPREFIX}/etc"
1126 - -Wno-dev
1127 - )
1128 - if use amd64 || use x86; then
1129 - for flag in ${CPU_FLAGS_X86[@]}; do
1130 - mycmakeargs+=("$(usex cpu_flags_x86_${flag} "-DHAVE_INTEL_${flag^^}=1")")
1131 - done
1132 - fi
1133 -
1134 - # needed for >=glibc-2.32
1135 - has_version '>=sys-libs/glibc-2.32' && mycmakeargs+=(-DWITH_REENTRANT_STRSIGNAL:BOOL=ON)
1136 -
1137 - rm -f "${BUILD_DIR:-${S}}/CMakeCache.txt" \
1138 - || die "failed to remove cmake cache"
1139 -
1140 - cmake_src_configure
1141 -
1142 - # bug #630232
1143 - sed -i "s:\"${T//:\\:}/${EPYTHON}/bin/python\":\"${PYTHON}\":" \
1144 - "${BUILD_DIR:-${S}}"/include/acconfig.h \
1145 - || die "sed failed"
1146 -}
1147 -
1148 -src_configure() {
1149 - use custom-cflags || strip-flags
1150 - ceph_src_configure
1151 -}
1152 -
1153 -python_compile() {
1154 - local CMAKE_USE_DIR="${S}"
1155 - ceph_src_configure
1156 -
1157 - pushd "${BUILD_DIR}/src/pybind" >/dev/null || die
1158 - emake VERBOSE=1 clean
1159 - emake VERBOSE=1 all
1160 -
1161 - # python modules are only compiled with "make install" so we need to do this to
1162 - # prevent doing a bunch of compilation in src_install
1163 - DESTDIR="${T}" emake VERBOSE=1 install
1164 - popd >/dev/null || die
1165 -}
1166 -
1167 -src_compile() {
1168 - cmake_build VERBOSE=1 all
1169 -
1170 - # we have to do this here to prevent from building everything multiple times
1171 - python_copy_sources
1172 - python_foreach_impl python_compile
1173 -}
1174 -
1175 -src_test() {
1176 - make check || die "make check failed"
1177 -}
1178 -
1179 -python_install() {
1180 - local CMAKE_USE_DIR="${S}"
1181 - pushd "${BUILD_DIR}/src/pybind" >/dev/null || die
1182 - DESTDIR="${ED}" emake VERBOSE=1 install
1183 - popd >/dev/null || die
1184 -
1185 - python_optimize
1186 -}
1187 -
1188 -src_install() {
1189 - cmake_src_install
1190 - python_foreach_impl python_install
1191 -
1192 - find "${ED}" -name '*.la' -type f -delete || die
1193 -
1194 - exeinto /usr/$(get_libdir)/ceph
1195 - newexe "${BUILD_DIR}/bin/init-ceph" init-ceph
1196 -
1197 - insinto /etc/logrotate.d/
1198 - newins "${FILESDIR}"/ceph.logrotate-r2 ${PN}
1199 -
1200 - keepdir /var/lib/${PN}{,/tmp} /var/log/${PN}/stat
1201 -
1202 - fowners -R ceph:ceph /var/log/ceph
1203 -
1204 - newinitd "${FILESDIR}/rbdmap.initd-r1" rbdmap
1205 - newinitd "${FILESDIR}/${PN}.initd-r12" ${PN}
1206 - newconfd "${FILESDIR}/${PN}.confd-r5" ${PN}
1207 -
1208 - insinto /etc/sysctl.d
1209 - newins "${FILESDIR}"/sysctld 90-${PN}.conf
1210 -
1211 - use tcmalloc && newenvd "${FILESDIR}"/envd-tcmalloc 99${PN}-tcmalloc
1212 -
1213 - # units aren't installed by the build system unless systemd is enabled
1214 - # so no point installing these with the USE flag disabled
1215 - if use systemd; then
1216 - systemd_install_serviced "${FILESDIR}/ceph-mds_at.service.conf" \
1217 - "ceph-mds@.service"
1218 -
1219 - systemd_install_serviced "${FILESDIR}/ceph-osd_at.service.conf" \
1220 - "ceph-osd@.service"
1221 -
1222 - fi
1223 -
1224 - udev_dorules udev/*.rules
1225 - newtmpfiles "${FILESDIR}"/ceph-tmpfilesd ${PN}.conf
1226 -
1227 - readme.gentoo_create_doc
1228 -
1229 - python_setup
1230 -
1231 - # bug #630232
1232 - sed -i -r "s:${T//:/\\:}/${EPYTHON}:/usr:" "${ED}"/usr/bin/ceph{,-crash} \
1233 - || die "sed failed"
1234 -
1235 - python_fix_shebang "${ED}"/usr/{,s}bin/
1236 -
1237 - # python_fix_shebang apparently is not idempotent
1238 - local shebang_regex='(/usr/lib/python-exec/python[0-9]\.[0-9]/python)[0-9]\.[0-9]'
1239 - grep -r -E -l --null "${shebang_regex}" "${ED}"/usr/{s,}bin/ \
1240 - | xargs --null --no-run-if-empty -- sed -i -r "s:${shebang_regex}:\1:" || die
1241 -
1242 - local -a rados_classes=( "${ED}/usr/$(get_libdir)/rados-classes"/* )
1243 - dostrip -x "${rados_classes[@]#${ED}}"
1244 -}
1245 -
1246 -pkg_postinst() {
1247 - readme.gentoo_print_elog
1248 -}
1249
1250 diff --git a/sys-cluster/ceph/ceph-16.2.1.ebuild b/sys-cluster/ceph/ceph-16.2.1.ebuild
1251 deleted file mode 100644
1252 index ba5408dd220..00000000000
1253 --- a/sys-cluster/ceph/ceph-16.2.1.ebuild
1254 +++ /dev/null
1255 @@ -1,448 +0,0 @@
1256 -# Copyright 1999-2021 Gentoo Authors
1257 -# Distributed under the terms of the GNU General Public License v2
1258 -
1259 -EAPI=7
1260 -
1261 -PYTHON_COMPAT=( python3_{7..9} )
1262 -DISTUTILS_USE_SETUPTOOLS=rdepend
1263 -DISTUTILS_OPTIONAL=1
1264 -LUA_COMPAT=( lua5-3 )
1265 -
1266 -CMAKE_MAKEFILE_GENERATOR=emake
1267 -
1268 -inherit check-reqs bash-completion-r1 cmake distutils-r1 flag-o-matic \
1269 - lua-single python-r1 udev readme.gentoo-r1 toolchain-funcs \
1270 - systemd tmpfiles
1271 -
1272 -if [[ ${PV} == *9999* ]]; then
1273 - inherit git-r3
1274 - EGIT_REPO_URI="https://github.com/ceph/ceph.git"
1275 - SRC_URI=""
1276 -else
1277 - SRC_URI="https://download.ceph.com/tarballs/${P}.tar.gz"
1278 - KEYWORDS="~amd64 ~arm64 ~ppc64"
1279 -fi
1280 -
1281 -DESCRIPTION="Ceph distributed filesystem"
1282 -HOMEPAGE="https://ceph.com/"
1283 -
1284 -LICENSE="Apache-2.0 LGPL-2.1 CC-BY-SA-3.0 GPL-2 GPL-2+ LGPL-2+ LGPL-2.1 LGPL-3 GPL-3 BSD Boost-1.0 MIT public-domain"
1285 -SLOT="0"
1286 -
1287 -CPU_FLAGS_X86=(avx2 avx512f pclmul sse{,2,3,4_1,4_2} ssse3)
1288 -
1289 -IUSE="babeltrace +cephfs custom-cflags diskprediction dpdk fuse grafana
1290 - jemalloc jaeger kafka kerberos ldap lttng +mgr numa pmdk rabbitmq
1291 - +radosgw rbd-rwl rbd-ssd rgw-lua +ssl spdk +sqlite system-boost systemd
1292 - +tcmalloc test uring xfs zbd zfs"
1293 -IUSE+=" $(printf "cpu_flags_x86_%s\n" ${CPU_FLAGS_X86[@]})"
1294 -
1295 -DEPEND="
1296 - ${LUA_DEPS}
1297 - acct-group/ceph
1298 - acct-user/ceph
1299 - virtual/libudev:=
1300 - app-arch/bzip2:=
1301 - app-arch/lz4:=
1302 - app-arch/snappy:=
1303 - app-arch/zstd:=
1304 - app-shells/bash:0
1305 - app-misc/jq:=
1306 - dev-libs/crypto++:=
1307 - dev-cpp/gflags:=
1308 - dev-libs/leveldb:=[snappy,tcmalloc(-)?]
1309 - dev-libs/libaio:=
1310 - dev-libs/libfmt:=
1311 - dev-libs/libnl:3=
1312 - dev-libs/libxml2:=
1313 - dev-libs/libevent:=
1314 - <dev-libs/rocksdb-6.15:=
1315 - dev-libs/xmlsec:=[openssl]
1316 - dev-cpp/yaml-cpp:=
1317 - dev-libs/nss:=
1318 - dev-libs/protobuf:=
1319 - net-dns/c-ares:=
1320 - net-libs/gnutls:=
1321 - sys-auth/oath-toolkit:=
1322 - sys-apps/coreutils
1323 - sys-apps/grep
1324 - sys-apps/hwloc:=
1325 - sys-apps/keyutils:=
1326 - sys-apps/util-linux:=
1327 - sys-apps/sed
1328 - sys-apps/util-linux
1329 - sys-libs/libcap-ng:=
1330 - sys-libs/ncurses:0=
1331 - sys-libs/zlib:=
1332 - sys-process/numactl:=
1333 - x11-libs/libpciaccess:=
1334 - babeltrace? ( dev-util/babeltrace )
1335 - fuse? ( sys-fs/fuse:0= )
1336 - jemalloc? ( dev-libs/jemalloc:= )
1337 - !jemalloc? ( >=dev-util/google-perftools-2.6.1:= )
1338 - jaeger? ( dev-cpp/nlohmann_json:= )
1339 - kafka? ( dev-libs/librdkafka:= )
1340 - kerberos? ( virtual/krb5 )
1341 - ldap? ( net-nds/openldap:= )
1342 - lttng? ( dev-util/lttng-ust:= )
1343 - pmdk? ( dev-libs/pmdk:= )
1344 - rabbitmq? ( net-libs/rabbitmq-c:= )
1345 - radosgw? (
1346 - dev-libs/icu:=
1347 - dev-libs/expat:=
1348 - dev-libs/openssl:=
1349 - net-misc/curl:=[curl_ssl_openssl]
1350 - )
1351 - rbd-rwl? ( dev-libs/pmdk:= )
1352 - ssl? ( dev-libs/openssl:= )
1353 - sqlite? ( dev-db/sqlite:= )
1354 - system-boost? ( >=dev-libs/boost-1.72[threads,context,python,${PYTHON_USEDEP}] )
1355 - uring? ( sys-libs/liburing:= )
1356 - xfs? ( sys-fs/xfsprogs:= )
1357 - zbd? ( sys-block/libzbd:= )
1358 - zfs? ( sys-fs/zfs:= )
1359 - ${PYTHON_DEPS}
1360 -"
1361 -BDEPEND="
1362 - amd64? ( dev-lang/nasm )
1363 - x86? ( dev-lang/yasm )
1364 - app-arch/cpio
1365 - >=dev-util/cmake-3.5.0
1366 - dev-python/cython[${PYTHON_USEDEP}]
1367 - dev-python/sphinx
1368 - dev-util/cunit
1369 - dev-util/gperf
1370 - dev-util/ragel
1371 - dev-util/valgrind
1372 - sys-apps/coreutils
1373 - sys-apps/findutils
1374 - sys-apps/grep
1375 - sys-apps/sed
1376 - sys-apps/which
1377 - sys-devel/bc
1378 - sys-devel/patch
1379 - virtual/pkgconfig
1380 - jaeger? (
1381 - sys-devel/bison
1382 - sys-devel/flex
1383 - )
1384 - test? (
1385 - dev-python/coverage[${PYTHON_USEDEP}]
1386 - dev-python/virtualenv[${PYTHON_USEDEP}]
1387 - dev-python/requests-mock[${PYTHON_USEDEP}]
1388 - sys-apps/grep[pcre]
1389 - sys-fs/btrfs-progs
1390 - )
1391 -"
1392 -RDEPEND="
1393 - ${DEPEND}
1394 - app-admin/sudo
1395 - net-misc/socat
1396 - sys-apps/gptfdisk
1397 - sys-apps/nvme-cli
1398 - >=sys-apps/smartmontools-7.0
1399 - sys-block/parted
1400 - sys-fs/cryptsetup
1401 - sys-fs/lsscsi
1402 - sys-fs/lvm2[-device-mapper-only(-)]
1403 - virtual/awk
1404 - dev-python/bcrypt[${PYTHON_USEDEP}]
1405 - dev-python/cherrypy[${PYTHON_USEDEP}]
1406 - dev-python/python-dateutil[${PYTHON_USEDEP}]
1407 - dev-python/flask[${PYTHON_USEDEP}]
1408 - dev-python/jinja[${PYTHON_USEDEP}]
1409 - dev-python/pecan[${PYTHON_USEDEP}]
1410 - dev-python/prettytable[${PYTHON_USEDEP}]
1411 - dev-python/pyopenssl[${PYTHON_USEDEP}]
1412 - dev-python/requests[${PYTHON_USEDEP}]
1413 - dev-python/werkzeug[${PYTHON_USEDEP}]
1414 - mgr? (
1415 - dev-python/jsonpatch[${PYTHON_USEDEP}]
1416 - dev-python/more-itertools[${PYTHON_USEDEP}]
1417 - dev-python/numpy[${PYTHON_USEDEP}]
1418 - dev-python/pyjwt[${PYTHON_USEDEP}]
1419 - dev-python/pyyaml[${PYTHON_USEDEP}]
1420 - dev-python/routes[${PYTHON_USEDEP}]
1421 - diskprediction? (
1422 - >=dev-python/scipy-1.4.0[${PYTHON_USEDEP}]
1423 - )
1424 - sci-libs/scikit-learn[${PYTHON_USEDEP}]
1425 - dev-python/six[${PYTHON_USEDEP}]
1426 - )
1427 -"
1428 -# diskprediction needs older scipy not compatible with py38
1429 -# bug #724438
1430 -REQUIRED_USE="
1431 - ${PYTHON_REQUIRED_USE}
1432 - ${LUA_REQUIRED_USE}
1433 - ?? ( jemalloc tcmalloc )
1434 - jaeger? ( !system-boost )
1435 - diskprediction? ( mgr )
1436 - kafka? ( radosgw )
1437 - mgr? ( cephfs )
1438 - rabbitmq? ( radosgw )
1439 -"
1440 -RESTRICT="!test? ( test )"
1441 -
1442 -# the tests need root access
1443 -RESTRICT="test? ( userpriv )"
1444 -
1445 -# distribution tarball does not include everything needed for tests
1446 -RESTRICT+=" test"
1447 -
1448 -# create a non-debug release
1449 -CMAKE_BUILD_TYPE=RelWithDebInfo
1450 -
1451 -# false positives unless all USE flags are on
1452 -CMAKE_WARN_UNUSED_CLI=no
1453 -
1454 -PATCHES=(
1455 - "${FILESDIR}/ceph-12.2.0-use-provided-cpu-flag-values.patch"
1456 - "${FILESDIR}/ceph-14.2.0-cflags.patch"
1457 - "${FILESDIR}/ceph-12.2.4-boost-build-none-options.patch"
1458 - "${FILESDIR}/ceph-13.2.0-cflags.patch"
1459 - "${FILESDIR}/ceph-16.2.0-no-virtualenvs.patch"
1460 - "${FILESDIR}/ceph-13.2.2-dont-install-sysvinit-script.patch"
1461 - "${FILESDIR}/ceph-14.2.0-dpdk-cflags.patch"
1462 - "${FILESDIR}/ceph-14.2.0-link-crc32-statically.patch"
1463 - "${FILESDIR}/ceph-14.2.0-cython-0.29.patch"
1464 - "${FILESDIR}/ceph-16.2.0-rocksdb-cmake.patch"
1465 - "${FILESDIR}/ceph-15.2.3-spdk-compile.patch"
1466 - "${FILESDIR}/ceph-16.2.0-install-libblk.patch"
1467 - "${FILESDIR}/ceph-16.2.0-spdk-tinfo.patch"
1468 - "${FILESDIR}/ceph-16.2.0-jaeger-system-boost.patch"
1469 - "${FILESDIR}/ceph-16.2.0-liburing.patch"
1470 -)
1471 -
1472 -check-reqs_export_vars() {
1473 - CHECKREQS_DISK_BUILD="6G"
1474 -
1475 - if use system-boost; then
1476 - CHECKREQS_DISK_USR="350M"
1477 - else
1478 - CHECKREQS_DISK_USR="510M"
1479 - fi
1480 -
1481 - export CHECKREQS_DISK_BUILD CHECKREQS_DISK_USR
1482 -}
1483 -
1484 -pkg_pretend() {
1485 - check-reqs_export_vars
1486 - check-reqs_pkg_pretend
1487 -}
1488 -
1489 -pkg_setup() {
1490 - python_setup
1491 - lua_setup
1492 - check-reqs_export_vars
1493 - check-reqs_pkg_setup
1494 -}
1495 -
1496 -src_prepare() {
1497 - cmake_src_prepare
1498 -
1499 - if use system-boost; then
1500 - find "${S}" -name '*.cmake' -or -name 'CMakeLists.txt' -print0 \
1501 - | xargs --null sed -r \
1502 - -e 's|Boost::|boost_|g' \
1503 - -e 's|Boost_|boost_|g' \
1504 - -e 's|[Bb]oost_boost|boost_system|g' -i || die
1505 - fi
1506 -
1507 - sed -r -e "s:DESTINATION .+\\):DESTINATION $(get_bashcompdir)\\):" \
1508 - -i src/bash_completion/CMakeLists.txt || die
1509 -
1510 - sed -e "s:objdump -p:$(tc-getOBJDUMP) -p:" -i CMakeLists.txt || die
1511 -
1512 - if ! use diskprediction; then
1513 - rm -rf src/pybind/mgr/diskprediction_local || die
1514 - fi
1515 -
1516 - # force lua version to use selected version
1517 - local lua_version
1518 - lua_version=$(ver_cut 1-2 $(lua_get_version))
1519 - sed -i "s:find_package(Lua [0-9][.][0-9] REQUIRED):find_package(Lua ${lua_version} EXACT REQUIRED):" src/CMakeLists.txt
1520 -
1521 - # remove tests that need root access
1522 - rm src/test/cli/ceph-authtool/cap*.t || die
1523 -}
1524 -
1525 -ceph_src_configure() {
1526 - local flag
1527 - local mycmakeargs=(
1528 - -DWITH_BABELTRACE=$(usex babeltrace)
1529 - -DWITH_BLUESTORE_PMEM=$(usex pmdk)
1530 - -DWITH_CEPHFS=$(usex cephfs)
1531 - -DWITH_CEPHFS_SHELL=$(usex cephfs)
1532 - -DWITH_DPDK=$(usex dpdk)
1533 - -DWITH_SPDK=$(usex spdk)
1534 - -DWITH_FUSE=$(usex fuse)
1535 - -DWITH_LTTNG=$(usex lttng)
1536 - -DWITH_GSSAPI=$(usex kerberos)
1537 - -DWITH_GRAFANA=$(usex grafana)
1538 - -DWITH_MGR=$(usex mgr)
1539 - -DWITH_MGR_DASHBOARD_FRONTEND=OFF
1540 - -DWITH_NUMA=$(usex numa)
1541 - -DWITH_OPENLDAP=$(usex ldap)
1542 - -DWITH_PYTHON3=3
1543 - -DWITH_RADOSGW=$(usex radosgw)
1544 - -DWITH_RADOSGW_AMQP_ENDPOINT=$(usex rabbitmq)
1545 - -DWITH_RADOSGW_KAFKA_ENDPOINT=$(usex kafka)
1546 - -DWITH_RADOSGW_LUA_PACKAGES=$(usex rgw-lua "$(usex radosgw)" "NO")
1547 - -DWITH_RBD_RWL=$(usex rbd-rwl)
1548 - -DWITH_RBD_SSD_CACHE=$(usex rbd-ssd)
1549 - -DWITH_SSL=$(usex ssl)
1550 - -DWITH_SYSTEMD=$(usex systemd)
1551 - -DWITH_TESTS=$(usex test)
1552 - -DWITH_LIBURING=$(usex uring)
1553 - -DWITH_SYSTEM_LIBURING=$(usex uring)
1554 - -DWITH_LIBCEPHSQLITE=$(usex sqlite)
1555 - -DWITH_XFS=$(usex xfs)
1556 - -DWITH_ZBD=$(usex zbd)
1557 - -DWITH_ZFS=$(usex zfs)
1558 - -DENABLE_SHARED="ON"
1559 - -DALLOCATOR=$(usex tcmalloc 'tcmalloc' "$(usex jemalloc 'jemalloc' 'libc')")
1560 - -DWITH_SYSTEM_PMDK=$(usex pmdk 'YES' "$(usex rbd-rwl)")
1561 - -DWITH_SYSTEM_BOOST=$(usex system-boost)
1562 - -DBOOST_J=$(makeopts_jobs)
1563 - -DWITH_SYSTEM_ROCKSDB=ON
1564 - -DWITH_RDMA=OFF
1565 - -DWITH_TBB=OFF
1566 - -DSYSTEMD_UNITDIR=$(systemd_get_systemunitdir)
1567 - -DCMAKE_INSTALL_SYSTEMD_SERVICEDIR=$(systemd_get_systemunitdir)
1568 - -DEPYTHON_VERSION="${EPYTHON#python}"
1569 - -DCMAKE_INSTALL_DOCDIR="${EPREFIX}/usr/share/doc/${PN}-${PVR}"
1570 - -DCMAKE_INSTALL_SYSCONFDIR="${EPREFIX}/etc"
1571 - -Wno-dev
1572 - )
1573 -
1574 - # this breaks when re-configuring for python impl
1575 - [[ ${EBUILD_PHASE} == configure ]] && mycmakeargs+=(-DWITH_JAEGER=$(usex jaeger))
1576 -
1577 - if use amd64 || use x86; then
1578 - for flag in ${CPU_FLAGS_X86[@]}; do
1579 - case "${flag}" in
1580 - avx*)
1581 - local var=${flag%f}
1582 - mycmakeargs+=("$(usex cpu_flags_x86_${flag} "-DHAVE_NASM_X64_${var^^}=1")")
1583 - ;;
1584 - *) mycmakeargs+=("$(usex cpu_flags_x86_${flag} "-DHAVE_INTEL_${flag^^}=1")");;
1585 - esac
1586 - done
1587 - fi
1588 -
1589 - # needed for >=glibc-2.32
1590 - has_version '>=sys-libs/glibc-2.32' && mycmakeargs+=(-DWITH_REENTRANT_STRSIGNAL:BOOL=ON)
1591 -
1592 - rm -f "${BUILD_DIR:-${S}}/CMakeCache.txt" \
1593 - || die "failed to remove cmake cache"
1594 -
1595 - cmake_src_configure
1596 -
1597 - # bug #630232
1598 - sed -i "s:\"${T//:\\:}/${EPYTHON}/bin/python\":\"${PYTHON}\":" \
1599 - "${BUILD_DIR:-${S}}"/include/acconfig.h \
1600 - || die "sed failed"
1601 -}
1602 -
1603 -src_configure() {
1604 - use custom-cflags || strip-flags
1605 - ceph_src_configure
1606 -}
1607 -
1608 -python_compile() {
1609 - local CMAKE_USE_DIR="${S}"
1610 - ceph_src_configure
1611 -
1612 - pushd "${BUILD_DIR}/src/pybind" >/dev/null || die
1613 - emake VERBOSE=1 clean
1614 - emake VERBOSE=1 all
1615 -
1616 - # python modules are only compiled with "make install" so we need to do this to
1617 - # prevent doing a bunch of compilation in src_install
1618 - DESTDIR="${T}" emake VERBOSE=1 install
1619 - popd >/dev/null || die
1620 -}
1621 -
1622 -src_compile() {
1623 - cmake_build VERBOSE=1 all
1624 -
1625 - # we have to do this here to prevent from building everything multiple times
1626 - python_copy_sources
1627 - python_foreach_impl python_compile
1628 -}
1629 -
1630 -src_test() {
1631 - make check || die "make check failed"
1632 -}
1633 -
1634 -python_install() {
1635 - local CMAKE_USE_DIR="${S}"
1636 - pushd "${BUILD_DIR}/src/pybind" >/dev/null || die
1637 - DESTDIR="${ED}" emake VERBOSE=1 install
1638 - popd >/dev/null || die
1639 -
1640 - python_optimize
1641 -}
1642 -
1643 -src_install() {
1644 - cmake_src_install
1645 - python_foreach_impl python_install
1646 -
1647 - find "${ED}" -name '*.la' -type f -delete || die
1648 -
1649 - exeinto /usr/$(get_libdir)/ceph
1650 - newexe "${BUILD_DIR}/bin/init-ceph" init-ceph
1651 -
1652 - insinto /etc/logrotate.d/
1653 - newins "${FILESDIR}"/ceph.logrotate-r2 ${PN}
1654 -
1655 - keepdir /var/lib/${PN}{,/tmp} /var/log/${PN}/stat
1656 -
1657 - fowners -R ceph:ceph /var/log/ceph
1658 -
1659 - newinitd "${FILESDIR}/rbdmap.initd-r1" rbdmap
1660 - newinitd "${FILESDIR}/${PN}.initd-r12" ${PN}
1661 - newconfd "${FILESDIR}/${PN}.confd-r5" ${PN}
1662 -
1663 - insinto /etc/sysctl.d
1664 - newins "${FILESDIR}"/sysctld 90-${PN}.conf
1665 -
1666 - use tcmalloc && newenvd "${FILESDIR}"/envd-tcmalloc 99${PN}-tcmalloc
1667 -
1668 - # units aren't installed by the build system unless systemd is enabled
1669 - # so no point installing these with the USE flag disabled
1670 - if use systemd; then
1671 - systemd_install_serviced "${FILESDIR}/ceph-mds_at.service.conf" \
1672 - "ceph-mds@.service"
1673 -
1674 - systemd_install_serviced "${FILESDIR}/ceph-osd_at.service.conf" \
1675 - "ceph-osd@.service"
1676 -
1677 - fi
1678 -
1679 - udev_dorules udev/*.rules
1680 - newtmpfiles "${FILESDIR}"/ceph-tmpfilesd ${PN}.conf
1681 -
1682 - readme.gentoo_create_doc
1683 -
1684 - python_setup
1685 -
1686 - # bug #630232
1687 - sed -i -r "s:${T//:/\\:}/${EPYTHON}:/usr:" "${ED}"/usr/bin/ceph{,-crash} \
1688 - || die "sed failed"
1689 -
1690 - python_fix_shebang "${ED}"/usr/{,s}bin/
1691 -
1692 - # python_fix_shebang apparently is not idempotent
1693 - local shebang_regex='(/usr/lib/python-exec/python[0-9]\.[0-9]/python)[0-9]\.[0-9]'
1694 - grep -r -E -l --null "${shebang_regex}" "${ED}"/usr/{s,}bin/ \
1695 - | xargs --null --no-run-if-empty -- sed -i -r "s:${shebang_regex}:\1:" || die
1696 -
1697 - local -a rados_classes=( "${ED}/usr/$(get_libdir)/rados-classes"/* )
1698 - dostrip -x "${rados_classes[@]#${ED}}"
1699 -}
1700 -
1701 -pkg_postinst() {
1702 - readme.gentoo_print_elog
1703 -}
1704
1705 diff --git a/sys-cluster/ceph/ceph-16.2.3.ebuild b/sys-cluster/ceph/ceph-16.2.3.ebuild
1706 deleted file mode 100644
1707 index 8775e532d15..00000000000
1708 --- a/sys-cluster/ceph/ceph-16.2.3.ebuild
1709 +++ /dev/null
1710 @@ -1,449 +0,0 @@
1711 -# Copyright 1999-2021 Gentoo Authors
1712 -# Distributed under the terms of the GNU General Public License v2
1713 -
1714 -EAPI=7
1715 -
1716 -PYTHON_COMPAT=( python3_{7..9} )
1717 -DISTUTILS_USE_SETUPTOOLS=rdepend
1718 -DISTUTILS_OPTIONAL=1
1719 -LUA_COMPAT=( lua5-3 )
1720 -
1721 -CMAKE_MAKEFILE_GENERATOR=emake
1722 -
1723 -inherit check-reqs bash-completion-r1 cmake distutils-r1 flag-o-matic \
1724 - lua-single python-r1 udev readme.gentoo-r1 toolchain-funcs \
1725 - systemd tmpfiles
1726 -
1727 -if [[ ${PV} == *9999* ]]; then
1728 - inherit git-r3
1729 - EGIT_REPO_URI="https://github.com/ceph/ceph.git"
1730 - SRC_URI=""
1731 -else
1732 - SRC_URI="https://download.ceph.com/tarballs/${P}.tar.gz"
1733 - KEYWORDS="~amd64 ~arm64 ~ppc64"
1734 -fi
1735 -
1736 -DESCRIPTION="Ceph distributed filesystem"
1737 -HOMEPAGE="https://ceph.com/"
1738 -
1739 -LICENSE="Apache-2.0 LGPL-2.1 CC-BY-SA-3.0 GPL-2 GPL-2+ LGPL-2+ LGPL-2.1 LGPL-3 GPL-3 BSD Boost-1.0 MIT public-domain"
1740 -SLOT="0"
1741 -
1742 -CPU_FLAGS_X86=(avx2 avx512f pclmul sse{,2,3,4_1,4_2} ssse3)
1743 -
1744 -IUSE="babeltrace +cephfs custom-cflags diskprediction dpdk fuse grafana
1745 - jemalloc jaeger kafka kerberos ldap lttng +mgr numa pmdk rabbitmq
1746 - +radosgw rbd-rwl rbd-ssd rgw-lua +ssl spdk +sqlite system-boost systemd
1747 - +tcmalloc test uring xfs zbd zfs"
1748 -IUSE+=" $(printf "cpu_flags_x86_%s\n" ${CPU_FLAGS_X86[@]})"
1749 -
1750 -DEPEND="
1751 - ${LUA_DEPS}
1752 - acct-group/ceph
1753 - acct-user/ceph
1754 - virtual/libudev:=
1755 - app-arch/bzip2:=
1756 - app-arch/lz4:=
1757 - app-arch/snappy:=
1758 - app-arch/zstd:=
1759 - app-shells/bash:0
1760 - app-misc/jq:=
1761 - dev-libs/crypto++:=
1762 - dev-cpp/gflags:=
1763 - dev-libs/leveldb:=[snappy,tcmalloc(-)?]
1764 - dev-libs/libaio:=
1765 - dev-libs/libfmt:=
1766 - dev-libs/libnl:3=
1767 - dev-libs/libxml2:=
1768 - dev-libs/libevent:=
1769 - <dev-libs/rocksdb-6.15:=
1770 - dev-libs/xmlsec:=[openssl]
1771 - dev-cpp/yaml-cpp:=
1772 - dev-libs/nss:=
1773 - dev-libs/protobuf:=
1774 - net-dns/c-ares:=
1775 - net-libs/gnutls:=
1776 - sys-auth/oath-toolkit:=
1777 - sys-apps/coreutils
1778 - sys-apps/grep
1779 - sys-apps/hwloc:=
1780 - sys-apps/keyutils:=
1781 - sys-apps/util-linux:=
1782 - sys-apps/sed
1783 - sys-apps/util-linux
1784 - sys-libs/libcap-ng:=
1785 - sys-libs/ncurses:0=
1786 - sys-libs/zlib:=
1787 - sys-process/numactl:=
1788 - x11-libs/libpciaccess:=
1789 - babeltrace? ( dev-util/babeltrace )
1790 - fuse? ( sys-fs/fuse:0= )
1791 - jemalloc? ( dev-libs/jemalloc:= )
1792 - !jemalloc? ( >=dev-util/google-perftools-2.6.1:= )
1793 - jaeger? ( dev-cpp/nlohmann_json:= )
1794 - kafka? ( dev-libs/librdkafka:= )
1795 - kerberos? ( virtual/krb5 )
1796 - ldap? ( net-nds/openldap:= )
1797 - lttng? ( dev-util/lttng-ust:= )
1798 - pmdk? ( dev-libs/pmdk:= )
1799 - rabbitmq? ( net-libs/rabbitmq-c:= )
1800 - radosgw? (
1801 - dev-libs/icu:=
1802 - dev-libs/expat:=
1803 - dev-libs/openssl:=
1804 - net-misc/curl:=[curl_ssl_openssl]
1805 - )
1806 - rbd-rwl? ( dev-libs/pmdk:= )
1807 - ssl? ( dev-libs/openssl:= )
1808 - sqlite? ( dev-db/sqlite:= )
1809 - system-boost? ( >=dev-libs/boost-1.72[threads,context,python,${PYTHON_USEDEP}] )
1810 - uring? ( sys-libs/liburing:= )
1811 - xfs? ( sys-fs/xfsprogs:= )
1812 - zbd? ( sys-block/libzbd:= )
1813 - zfs? ( sys-fs/zfs:= )
1814 - ${PYTHON_DEPS}
1815 -"
1816 -BDEPEND="
1817 - amd64? ( dev-lang/nasm )
1818 - x86? ( dev-lang/yasm )
1819 - app-arch/cpio
1820 - >=dev-util/cmake-3.5.0
1821 - dev-python/cython[${PYTHON_USEDEP}]
1822 - dev-python/sphinx
1823 - dev-util/cunit
1824 - dev-util/gperf
1825 - dev-util/ragel
1826 - dev-util/valgrind
1827 - sys-apps/coreutils
1828 - sys-apps/findutils
1829 - sys-apps/grep
1830 - sys-apps/sed
1831 - sys-apps/which
1832 - sys-devel/bc
1833 - sys-devel/patch
1834 - virtual/pkgconfig
1835 - jaeger? (
1836 - sys-devel/bison
1837 - sys-devel/flex
1838 - )
1839 - test? (
1840 - dev-python/coverage[${PYTHON_USEDEP}]
1841 - dev-python/virtualenv[${PYTHON_USEDEP}]
1842 - dev-python/requests-mock[${PYTHON_USEDEP}]
1843 - sys-apps/grep[pcre]
1844 - sys-fs/btrfs-progs
1845 - )
1846 -"
1847 -RDEPEND="
1848 - ${DEPEND}
1849 - app-admin/sudo
1850 - net-misc/socat
1851 - sys-apps/gptfdisk
1852 - sys-apps/nvme-cli
1853 - >=sys-apps/smartmontools-7.0
1854 - sys-block/parted
1855 - sys-fs/cryptsetup
1856 - sys-fs/lsscsi
1857 - sys-fs/lvm2[-device-mapper-only(-)]
1858 - virtual/awk
1859 - dev-python/bcrypt[${PYTHON_USEDEP}]
1860 - dev-python/cherrypy[${PYTHON_USEDEP}]
1861 - dev-python/python-dateutil[${PYTHON_USEDEP}]
1862 - dev-python/flask[${PYTHON_USEDEP}]
1863 - dev-python/jinja[${PYTHON_USEDEP}]
1864 - dev-python/pecan[${PYTHON_USEDEP}]
1865 - dev-python/prettytable[${PYTHON_USEDEP}]
1866 - dev-python/pyopenssl[${PYTHON_USEDEP}]
1867 - dev-python/requests[${PYTHON_USEDEP}]
1868 - dev-python/werkzeug[${PYTHON_USEDEP}]
1869 - mgr? (
1870 - dev-python/jsonpatch[${PYTHON_USEDEP}]
1871 - dev-python/more-itertools[${PYTHON_USEDEP}]
1872 - dev-python/numpy[${PYTHON_USEDEP}]
1873 - dev-python/pyjwt[${PYTHON_USEDEP}]
1874 - dev-python/pyyaml[${PYTHON_USEDEP}]
1875 - dev-python/routes[${PYTHON_USEDEP}]
1876 - diskprediction? (
1877 - >=dev-python/scipy-1.4.0[${PYTHON_USEDEP}]
1878 - )
1879 - sci-libs/scikit-learn[${PYTHON_USEDEP}]
1880 - dev-python/six[${PYTHON_USEDEP}]
1881 - )
1882 -"
1883 -# diskprediction needs older scipy not compatible with py38
1884 -# bug #724438
1885 -REQUIRED_USE="
1886 - ${PYTHON_REQUIRED_USE}
1887 - ${LUA_REQUIRED_USE}
1888 - ?? ( jemalloc tcmalloc )
1889 - jaeger? ( !system-boost )
1890 - diskprediction? ( mgr )
1891 - kafka? ( radosgw )
1892 - mgr? ( cephfs )
1893 - rabbitmq? ( radosgw )
1894 -"
1895 -RESTRICT="!test? ( test )"
1896 -
1897 -# the tests need root access
1898 -RESTRICT="test? ( userpriv )"
1899 -
1900 -# distribution tarball does not include everything needed for tests
1901 -RESTRICT+=" test"
1902 -
1903 -# create a non-debug release
1904 -CMAKE_BUILD_TYPE=RelWithDebInfo
1905 -
1906 -# false positives unless all USE flags are on
1907 -CMAKE_WARN_UNUSED_CLI=no
1908 -
1909 -PATCHES=(
1910 - "${FILESDIR}/ceph-12.2.0-use-provided-cpu-flag-values.patch"
1911 - "${FILESDIR}/ceph-14.2.0-cflags.patch"
1912 - "${FILESDIR}/ceph-12.2.4-boost-build-none-options.patch"
1913 - "${FILESDIR}/ceph-16.2.2-cflags.patch"
1914 - "${FILESDIR}/ceph-16.2.2-no-virtualenvs.patch"
1915 - "${FILESDIR}/ceph-13.2.2-dont-install-sysvinit-script.patch"
1916 - "${FILESDIR}/ceph-14.2.0-dpdk-cflags.patch"
1917 - "${FILESDIR}/ceph-14.2.0-link-crc32-statically.patch"
1918 - "${FILESDIR}/ceph-14.2.0-cython-0.29.patch"
1919 - "${FILESDIR}/ceph-16.2.0-rocksdb-cmake.patch"
1920 - "${FILESDIR}/ceph-15.2.3-spdk-compile.patch"
1921 - "${FILESDIR}/ceph-16.2.0-install-libblk.patch"
1922 - "${FILESDIR}/ceph-16.2.0-spdk-tinfo.patch"
1923 - "${FILESDIR}/ceph-16.2.0-jaeger-system-boost.patch"
1924 - "${FILESDIR}/ceph-16.2.0-liburing.patch"
1925 - "${FILESDIR}/ceph-16.2.2-system-zstd.patch"
1926 -)
1927 -
1928 -check-reqs_export_vars() {
1929 - CHECKREQS_DISK_BUILD="6G"
1930 -
1931 - if use system-boost; then
1932 - CHECKREQS_DISK_USR="350M"
1933 - else
1934 - CHECKREQS_DISK_USR="510M"
1935 - fi
1936 -
1937 - export CHECKREQS_DISK_BUILD CHECKREQS_DISK_USR
1938 -}
1939 -
1940 -pkg_pretend() {
1941 - check-reqs_export_vars
1942 - check-reqs_pkg_pretend
1943 -}
1944 -
1945 -pkg_setup() {
1946 - python_setup
1947 - lua_setup
1948 - check-reqs_export_vars
1949 - check-reqs_pkg_setup
1950 -}
1951 -
1952 -src_prepare() {
1953 - cmake_src_prepare
1954 -
1955 - if use system-boost; then
1956 - find "${S}" -name '*.cmake' -or -name 'CMakeLists.txt' -print0 \
1957 - | xargs --null sed -r \
1958 - -e 's|Boost::|boost_|g' \
1959 - -e 's|Boost_|boost_|g' \
1960 - -e 's|[Bb]oost_boost|boost_system|g' -i || die
1961 - fi
1962 -
1963 - sed -r -e "s:DESTINATION .+\\):DESTINATION $(get_bashcompdir)\\):" \
1964 - -i src/bash_completion/CMakeLists.txt || die
1965 -
1966 - sed -e "s:objdump -p:$(tc-getOBJDUMP) -p:" -i CMakeLists.txt || die
1967 -
1968 - if ! use diskprediction; then
1969 - rm -rf src/pybind/mgr/diskprediction_local || die
1970 - fi
1971 -
1972 - # force lua version to use selected version
1973 - local lua_version
1974 - lua_version=$(ver_cut 1-2 $(lua_get_version))
1975 - sed -i "s:find_package(Lua [0-9][.][0-9] REQUIRED):find_package(Lua ${lua_version} EXACT REQUIRED):" src/CMakeLists.txt
1976 -
1977 - # remove tests that need root access
1978 - rm src/test/cli/ceph-authtool/cap*.t || die
1979 -}
1980 -
1981 -ceph_src_configure() {
1982 - local flag
1983 - local mycmakeargs=(
1984 - -DWITH_BABELTRACE=$(usex babeltrace)
1985 - -DWITH_BLUESTORE_PMEM=$(usex pmdk)
1986 - -DWITH_CEPHFS=$(usex cephfs)
1987 - -DWITH_CEPHFS_SHELL=$(usex cephfs)
1988 - -DWITH_DPDK=$(usex dpdk)
1989 - -DWITH_SPDK=$(usex spdk)
1990 - -DWITH_FUSE=$(usex fuse)
1991 - -DWITH_LTTNG=$(usex lttng)
1992 - -DWITH_GSSAPI=$(usex kerberos)
1993 - -DWITH_GRAFANA=$(usex grafana)
1994 - -DWITH_MGR=$(usex mgr)
1995 - -DWITH_MGR_DASHBOARD_FRONTEND=OFF
1996 - -DWITH_NUMA=$(usex numa)
1997 - -DWITH_OPENLDAP=$(usex ldap)
1998 - -DWITH_PYTHON3=3
1999 - -DWITH_RADOSGW=$(usex radosgw)
2000 - -DWITH_RADOSGW_AMQP_ENDPOINT=$(usex rabbitmq)
2001 - -DWITH_RADOSGW_KAFKA_ENDPOINT=$(usex kafka)
2002 - -DWITH_RADOSGW_LUA_PACKAGES=$(usex rgw-lua "$(usex radosgw)" "NO")
2003 - -DWITH_RBD_RWL=$(usex rbd-rwl)
2004 - -DWITH_RBD_SSD_CACHE=$(usex rbd-ssd)
2005 - -DWITH_SSL=$(usex ssl)
2006 - -DWITH_SYSTEMD=$(usex systemd)
2007 - -DWITH_TESTS=$(usex test)
2008 - -DWITH_LIBURING=$(usex uring)
2009 - -DWITH_SYSTEM_LIBURING=$(usex uring)
2010 - -DWITH_LIBCEPHSQLITE=$(usex sqlite)
2011 - -DWITH_XFS=$(usex xfs)
2012 - -DWITH_ZBD=$(usex zbd)
2013 - -DWITH_ZFS=$(usex zfs)
2014 - -DENABLE_SHARED="ON"
2015 - -DALLOCATOR=$(usex tcmalloc 'tcmalloc' "$(usex jemalloc 'jemalloc' 'libc')")
2016 - -DWITH_SYSTEM_PMDK=$(usex pmdk 'YES' "$(usex rbd-rwl)")
2017 - -DWITH_SYSTEM_BOOST=$(usex system-boost)
2018 - -DBOOST_J=$(makeopts_jobs)
2019 - -DWITH_SYSTEM_ROCKSDB=ON
2020 - -DWITH_RDMA=OFF
2021 - -DWITH_TBB=OFF
2022 - -DSYSTEMD_UNITDIR=$(systemd_get_systemunitdir)
2023 - -DCMAKE_INSTALL_SYSTEMD_SERVICEDIR=$(systemd_get_systemunitdir)
2024 - -DEPYTHON_VERSION="${EPYTHON#python}"
2025 - -DCMAKE_INSTALL_DOCDIR="${EPREFIX}/usr/share/doc/${PN}-${PVR}"
2026 - -DCMAKE_INSTALL_SYSCONFDIR="${EPREFIX}/etc"
2027 - -Wno-dev
2028 - )
2029 -
2030 - # this breaks when re-configuring for python impl
2031 - [[ ${EBUILD_PHASE} == configure ]] && mycmakeargs+=(-DWITH_JAEGER=$(usex jaeger))
2032 -
2033 - if use amd64 || use x86; then
2034 - for flag in ${CPU_FLAGS_X86[@]}; do
2035 - case "${flag}" in
2036 - avx*)
2037 - local var=${flag%f}
2038 - mycmakeargs+=("$(usex cpu_flags_x86_${flag} "-DHAVE_NASM_X64_${var^^}=1")")
2039 - ;;
2040 - *) mycmakeargs+=("$(usex cpu_flags_x86_${flag} "-DHAVE_INTEL_${flag^^}=1")");;
2041 - esac
2042 - done
2043 - fi
2044 -
2045 - # needed for >=glibc-2.32
2046 - has_version '>=sys-libs/glibc-2.32' && mycmakeargs+=(-DWITH_REENTRANT_STRSIGNAL:BOOL=ON)
2047 -
2048 - rm -f "${BUILD_DIR:-${S}}/CMakeCache.txt" \
2049 - || die "failed to remove cmake cache"
2050 -
2051 - cmake_src_configure
2052 -
2053 - # bug #630232
2054 - sed -i "s:\"${T//:\\:}/${EPYTHON}/bin/python\":\"${PYTHON}\":" \
2055 - "${BUILD_DIR:-${S}}"/include/acconfig.h \
2056 - || die "sed failed"
2057 -}
2058 -
2059 -src_configure() {
2060 - use custom-cflags || strip-flags
2061 - ceph_src_configure
2062 -}
2063 -
2064 -python_compile() {
2065 - local CMAKE_USE_DIR="${S}"
2066 - ceph_src_configure
2067 -
2068 - pushd "${BUILD_DIR}/src/pybind" >/dev/null || die
2069 - emake VERBOSE=1 clean
2070 - emake VERBOSE=1 all
2071 -
2072 - # python modules are only compiled with "make install" so we need to do this to
2073 - # prevent doing a bunch of compilation in src_install
2074 - DESTDIR="${T}" emake VERBOSE=1 install
2075 - popd >/dev/null || die
2076 -}
2077 -
2078 -src_compile() {
2079 - cmake_build VERBOSE=1 all
2080 -
2081 - # we have to do this here to prevent from building everything multiple times
2082 - python_copy_sources
2083 - python_foreach_impl python_compile
2084 -}
2085 -
2086 -src_test() {
2087 - make check || die "make check failed"
2088 -}
2089 -
2090 -python_install() {
2091 - local CMAKE_USE_DIR="${S}"
2092 - pushd "${BUILD_DIR}/src/pybind" >/dev/null || die
2093 - DESTDIR="${ED}" emake VERBOSE=1 install
2094 - popd >/dev/null || die
2095 -
2096 - python_optimize
2097 -}
2098 -
2099 -src_install() {
2100 - cmake_src_install
2101 - python_foreach_impl python_install
2102 -
2103 - find "${ED}" -name '*.la' -type f -delete || die
2104 -
2105 - exeinto /usr/$(get_libdir)/ceph
2106 - newexe "${BUILD_DIR}/bin/init-ceph" init-ceph
2107 -
2108 - insinto /etc/logrotate.d/
2109 - newins "${FILESDIR}"/ceph.logrotate-r2 ${PN}
2110 -
2111 - keepdir /var/lib/${PN}{,/tmp} /var/log/${PN}/stat
2112 -
2113 - fowners -R ceph:ceph /var/log/ceph
2114 -
2115 - newinitd "${FILESDIR}/rbdmap.initd-r1" rbdmap
2116 - newinitd "${FILESDIR}/${PN}.initd-r12" ${PN}
2117 - newconfd "${FILESDIR}/${PN}.confd-r5" ${PN}
2118 -
2119 - insinto /etc/sysctl.d
2120 - newins "${FILESDIR}"/sysctld 90-${PN}.conf
2121 -
2122 - use tcmalloc && newenvd "${FILESDIR}"/envd-tcmalloc 99${PN}-tcmalloc
2123 -
2124 - # units aren't installed by the build system unless systemd is enabled
2125 - # so no point installing these with the USE flag disabled
2126 - if use systemd; then
2127 - systemd_install_serviced "${FILESDIR}/ceph-mds_at.service.conf" \
2128 - "ceph-mds@.service"
2129 -
2130 - systemd_install_serviced "${FILESDIR}/ceph-osd_at.service.conf" \
2131 - "ceph-osd@.service"
2132 -
2133 - fi
2134 -
2135 - udev_dorules udev/*.rules
2136 - newtmpfiles "${FILESDIR}"/ceph-tmpfilesd ${PN}.conf
2137 -
2138 - readme.gentoo_create_doc
2139 -
2140 - python_setup
2141 -
2142 - # bug #630232
2143 - sed -i -r "s:${T//:/\\:}/${EPYTHON}:/usr:" "${ED}"/usr/bin/ceph{,-crash} \
2144 - || die "sed failed"
2145 -
2146 - python_fix_shebang "${ED}"/usr/{,s}bin/
2147 -
2148 - # python_fix_shebang apparently is not idempotent
2149 - local shebang_regex='(/usr/lib/python-exec/python[0-9]\.[0-9]/python)[0-9]\.[0-9]'
2150 - grep -r -E -l --null "${shebang_regex}" "${ED}"/usr/{s,}bin/ \
2151 - | xargs --null --no-run-if-empty -- sed -i -r "s:${shebang_regex}:\1:" || die
2152 -
2153 - local -a rados_classes=( "${ED}/usr/$(get_libdir)/rados-classes"/* )
2154 - dostrip -x "${rados_classes[@]#${ED}}"
2155 -}
2156 -
2157 -pkg_postinst() {
2158 - readme.gentoo_print_elog
2159 -}