Gentoo Archives: gentoo-commits

From: Patrick McLean <chutzpah@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] repo/gentoo:master commit in: sys-cluster/ceph/
Date: Fri, 17 Mar 2023 17:49:47
Message-Id: 1679075378.ca4d8713fa74d920580d4e1968d8a4f6693a1728.chutzpah@gentoo
1 commit: ca4d8713fa74d920580d4e1968d8a4f6693a1728
2 Author: Patrick McLean <chutzpah <AT> gentoo <DOT> org>
3 AuthorDate: Fri Mar 17 17:19:35 2023 +0000
4 Commit: Patrick McLean <chutzpah <AT> gentoo <DOT> org>
5 CommitDate: Fri Mar 17 17:49:38 2023 +0000
6 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=ca4d8713
7
8 sys-cluster/ceph: drop 15.2.17-r1, 16.2.10-r3, 16.2.10-r4
9
10 Signed-off-by: Patrick McLean <chutzpah <AT> gentoo.org>
11
12 sys-cluster/ceph/ceph-15.2.17-r1.ebuild | 404 ---------------------------
13 sys-cluster/ceph/ceph-16.2.10-r3.ebuild | 469 -------------------------------
14 sys-cluster/ceph/ceph-16.2.10-r4.ebuild | 473 --------------------------------
15 3 files changed, 1346 deletions(-)
16
17 diff --git a/sys-cluster/ceph/ceph-15.2.17-r1.ebuild b/sys-cluster/ceph/ceph-15.2.17-r1.ebuild
18 deleted file mode 100644
19 index f66294813c56..000000000000
20 --- a/sys-cluster/ceph/ceph-15.2.17-r1.ebuild
21 +++ /dev/null
22 @@ -1,404 +0,0 @@
23 -# Copyright 1999-2023 Gentoo Authors
24 -# Distributed under the terms of the GNU General Public License v2
25 -
26 -EAPI=8
27 -PYTHON_COMPAT=( python3_9 )
28 -CMAKE_MAKEFILE_GENERATOR=emake
29 -
30 -DISTUTILS_OPTIONAL=1
31 -
32 -inherit check-reqs bash-completion-r1 cmake distutils-r1 flag-o-matic \
33 - python-r1 udev readme.gentoo-r1 toolchain-funcs systemd tmpfiles \
34 - multiprocessing
35 -
36 -if [[ ${PV} == *9999* ]]; then
37 - inherit git-r3
38 - EGIT_REPO_URI="https://github.com/ceph/ceph.git"
39 - SRC_URI=""
40 -else
41 - SRC_URI="https://download.ceph.com/tarballs/${P}.tar.gz"
42 - KEYWORDS=""
43 -fi
44 -
45 -DESCRIPTION="Ceph distributed filesystem"
46 -HOMEPAGE="https://ceph.com/"
47 -
48 -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"
49 -SLOT="0"
50 -
51 -CPU_FLAGS_X86=(sse{,2,3,4_1,4_2} ssse3)
52 -
53 -IUSE="babeltrace +cephfs custom-cflags diskprediction dpdk fuse grafana jemalloc
54 - kafka kerberos ldap lttng +mgr numa pmdk rabbitmq +radosgw rbd-rwl +ssl spdk
55 - +system-boost systemd +tcmalloc test uring xfs zfs"
56 -IUSE+=" $(printf "cpu_flags_x86_%s\n" ${CPU_FLAGS_X86[@]})"
57 -
58 -DEPEND="
59 - acct-group/ceph
60 - acct-user/ceph
61 - virtual/libudev:=
62 - app-arch/bzip2:=
63 - app-arch/lz4:=
64 - app-arch/snappy:=
65 - || ( >=app-arch/snappy-1.1.9-r1 <app-arch/snappy-1.1.9 )
66 - app-arch/zstd:=
67 - app-shells/bash:0
68 - app-misc/jq:=
69 - dev-libs/crypto++:=
70 - dev-cpp/gflags:=
71 - dev-libs/leveldb:=[snappy,tcmalloc(-)?]
72 - dev-libs/libaio:=
73 - dev-libs/libfmt:=
74 - <dev-libs/libfmt-9:=
75 - dev-libs/libnl:3=
76 - dev-libs/libxml2:=
77 - <dev-libs/rocksdb-6.15:=
78 - dev-libs/xmlsec:=[openssl]
79 - dev-cpp/yaml-cpp:=
80 - dev-libs/nss:=
81 - dev-libs/protobuf:=
82 - net-dns/c-ares:=
83 - net-libs/gnutls:=
84 - sys-auth/oath-toolkit:=
85 - sys-apps/coreutils
86 - sys-apps/grep
87 - sys-apps/hwloc:=
88 - sys-apps/keyutils:=
89 - sys-apps/util-linux:=
90 - sys-apps/util-linux
91 - sys-libs/libcap-ng:=
92 - sys-libs/ncurses:0=
93 - sys-libs/zlib:=
94 - sys-process/numactl:=
95 - virtual/libcrypt:=
96 - x11-libs/libpciaccess:=
97 - babeltrace? ( dev-util/babeltrace )
98 - fuse? ( sys-fs/fuse:0= )
99 - jemalloc? ( dev-libs/jemalloc:= )
100 - !jemalloc? ( >=dev-util/google-perftools-2.6.1:= )
101 - kafka? ( dev-libs/librdkafka:= )
102 - kerberos? ( virtual/krb5 )
103 - ldap? ( net-nds/openldap:= )
104 - lttng? ( dev-util/lttng-ust:= )
105 - pmdk? ( dev-libs/pmdk:= )
106 - rabbitmq? ( net-libs/rabbitmq-c:= )
107 - radosgw? (
108 - dev-libs/expat:=
109 - dev-libs/openssl:=
110 - net-misc/curl:=[curl_ssl_openssl]
111 - )
112 - rbd-rwl? ( dev-libs/pmdk:= )
113 - ssl? ( dev-libs/openssl:= )
114 - system-boost? ( dev-libs/boost:=[context,python,${PYTHON_USEDEP}] )
115 - !system-boost? ( <sys-libs/glibc-2.34 )
116 - uring? ( sys-libs/liburing:= )
117 - xfs? ( sys-fs/xfsprogs:= )
118 - zfs? ( sys-fs/zfs:= )
119 -"
120 -BDEPEND="
121 - ${PYTHON_DEPS}
122 - amd64? ( dev-lang/yasm )
123 - x86? ( dev-lang/yasm )
124 - app-arch/cpio
125 - >=dev-util/cmake-3.5.0
126 - dev-python/cython[${PYTHON_USEDEP}]
127 - dev-python/setuptools[${PYTHON_USEDEP}]
128 - dev-python/sphinx
129 - dev-util/cunit
130 - dev-util/gperf
131 - dev-util/ragel
132 - dev-util/valgrind
133 - sys-apps/coreutils
134 - sys-apps/grep
135 - sys-apps/which
136 - sys-devel/bc
137 - sys-devel/patch
138 - virtual/pkgconfig
139 - test? (
140 - dev-python/coverage[${PYTHON_USEDEP}]
141 - dev-python/virtualenv[${PYTHON_USEDEP}]
142 - dev-python/requests-mock[${PYTHON_USEDEP}]
143 - sys-apps/grep[pcre]
144 - sys-fs/btrfs-progs
145 - )
146 -"
147 -RDEPEND="${DEPEND}
148 - ${PYTHON_DEPS}
149 - app-admin/sudo
150 - net-misc/socat
151 - sys-apps/gptfdisk
152 - sys-apps/nvme-cli
153 - >=sys-apps/smartmontools-7.0
154 - sys-block/parted
155 - sys-fs/cryptsetup
156 - sys-fs/lsscsi
157 - sys-fs/lvm2[lvm]
158 - app-alternatives/awk
159 - dev-python/bcrypt[${PYTHON_USEDEP}]
160 - dev-python/cherrypy[${PYTHON_USEDEP}]
161 - dev-python/python-dateutil[${PYTHON_USEDEP}]
162 - dev-python/flask[${PYTHON_USEDEP}]
163 - dev-python/jinja[${PYTHON_USEDEP}]
164 - dev-python/pecan[${PYTHON_USEDEP}]
165 - dev-python/prettytable[${PYTHON_USEDEP}]
166 - dev-python/pyopenssl[${PYTHON_USEDEP}]
167 - dev-python/requests[${PYTHON_USEDEP}]
168 - dev-python/setuptools[${PYTHON_USEDEP}]
169 - dev-python/werkzeug[${PYTHON_USEDEP}]
170 - mgr? (
171 - dev-python/jsonpatch[${PYTHON_USEDEP}]
172 - dev-python/more-itertools[${PYTHON_USEDEP}]
173 - dev-python/numpy[${PYTHON_USEDEP}]
174 - dev-python/pyjwt[${PYTHON_USEDEP}]
175 - dev-python/pyyaml[${PYTHON_USEDEP}]
176 - dev-python/routes[${PYTHON_USEDEP}]
177 - sci-libs/scikit-learn[${PYTHON_USEDEP}]
178 - dev-python/six[${PYTHON_USEDEP}]
179 - )
180 -"
181 -REQUIRED_USE="
182 - ${PYTHON_REQUIRED_USE}
183 - ?? ( jemalloc tcmalloc )
184 - diskprediction? ( mgr )
185 - kafka? ( radosgw )
186 - mgr? ( cephfs )
187 - rabbitmq? ( radosgw )
188 -"
189 -RESTRICT="!test? ( test )"
190 -
191 -# the tests need root access
192 -RESTRICT="test? ( userpriv )"
193 -
194 -# distribution tarball does not include everything needed for tests
195 -RESTRICT+=" test"
196 -
197 -# create a non-debug release
198 -CMAKE_BUILD_TYPE=RelWithDebInfo
199 -
200 -# false positives unless all USE flags are on
201 -CMAKE_WARN_UNUSED_CLI=no
202 -
203 -PATCHES=(
204 - "${FILESDIR}/ceph-12.2.0-use-provided-cpu-flag-values.patch"
205 - "${FILESDIR}/ceph-14.2.0-cflags.patch"
206 - "${FILESDIR}/ceph-12.2.4-boost-build-none-options.patch"
207 - "${FILESDIR}/ceph-13.2.0-cflags.patch"
208 - "${FILESDIR}/ceph-15.2.15-no-virtualenvs.patch"
209 - "${FILESDIR}/ceph-13.2.2-dont-install-sysvinit-script.patch"
210 - "${FILESDIR}/ceph-14.2.0-dpdk-cflags.patch"
211 - "${FILESDIR}/ceph-14.2.0-cython-0.29.patch"
212 - "${FILESDIR}/ceph-15.2.0-rocksdb-cmake.patch"
213 - "${FILESDIR}/ceph-15.2.2-systemd-unit.patch"
214 - "${FILESDIR}/ceph-15.2.3-spdk-compile.patch"
215 - "${FILESDIR}/ceph-15.2.4-system-uring.patch"
216 - "${FILESDIR}/ceph-15.2.9-dont-compile-isal_compress-if-don-t-have-SSE4_1.patch"
217 - "${FILESDIR}/ceph-15.2.15-snappy-1.1.9.patch"
218 -)
219 -
220 -check-reqs_export_vars() {
221 - CHECKREQS_DISK_BUILD="5400M"
222 - CHECKREQS_DISK_USR="510M"
223 -
224 - export CHECKREQS_DISK_BUILD CHECKREQS_DISK_USR
225 -}
226 -
227 -pkg_pretend() {
228 - check-reqs_export_vars
229 - check-reqs_pkg_pretend
230 -}
231 -
232 -pkg_setup() {
233 - python_setup
234 - check-reqs_export_vars
235 - check-reqs_pkg_setup
236 -}
237 -
238 -src_prepare() {
239 - cmake_src_prepare
240 -
241 - if use system-boost; then
242 - find "${S}" -name '*.cmake' -or -name 'CMakeLists.txt' -print0 \
243 - | xargs --null sed -r \
244 - -e 's|Boost::|boost_|g' \
245 - -e 's|Boost_|boost_|g' \
246 - -e 's|[Bb]oost_boost|boost_system|g' -i || die
247 - fi
248 -
249 - sed -r -e "s:DESTINATION .+\\):DESTINATION $(get_bashcompdir)\\):" \
250 - -i src/bash_completion/CMakeLists.txt || die
251 -
252 - sed -e "s:objdump -p:$(tc-getOBJDUMP) -p:" -i CMakeLists.txt || die
253 -
254 - if ! use diskprediction; then
255 - rm -rf src/pybind/mgr/diskprediction_local || die
256 - fi
257 -
258 - # remove tests that need root access
259 - rm src/test/cli/ceph-authtool/cap*.t || die
260 -}
261 -
262 -ceph_src_configure() {
263 - local flag
264 - local mycmakeargs=(
265 - -DWITH_BABELTRACE=$(usex babeltrace)
266 - -DWITH_BLUESTORE_PMEM=$(usex pmdk)
267 - -DWITH_CEPHFS=$(usex cephfs)
268 - -DWITH_CEPHFS_SHELL=$(usex cephfs)
269 - -DWITH_DPDK=$(usex dpdk)
270 - -DWITH_SPDK=$(usex spdk)
271 - -DWITH_FUSE=$(usex fuse)
272 - -DWITH_LTTNG=$(usex lttng)
273 - -DWITH_GSSAPI=$(usex kerberos)
274 - -DWITH_GRAFANA=$(usex grafana)
275 - -DWITH_MGR=$(usex mgr)
276 - -DWITH_MGR_DASHBOARD_FRONTEND=OFF
277 - -DWITH_NUMA=$(usex numa)
278 - -DWITH_OPENLDAP=$(usex ldap)
279 - -DWITH_PYTHON3=3
280 - -DWITH_RADOSGW=$(usex radosgw)
281 - -DWITH_RADOSGW_AMQP_ENDPOINT=$(usex rabbitmq)
282 - -DWITH_RADOSGW_KAFKA_ENDPOINT=$(usex kafka)
283 - -DWITH_RBD_RWL=$(usex rbd-rwl)
284 - -DWITH_SSL=$(usex ssl)
285 - -DWITH_SYSTEMD=$(usex systemd)
286 - -DWITH_TESTS=$(usex test)
287 - -DWITH_LIBURING=$(usex uring)
288 - -DWITH_XFS=$(usex xfs)
289 - -DWITH_ZFS=$(usex zfs)
290 - -DENABLE_SHARED="ON"
291 - -DALLOCATOR=$(usex tcmalloc 'tcmalloc' "$(usex jemalloc 'jemalloc' 'libc')")
292 - -DWITH_SYSTEM_PMDK=$(usex pmdk 'YES' "$(usex rbd-rwl)")
293 - -DWITH_SYSTEM_BOOST=$(usex system-boost)
294 - -DBOOST_J=$(makeopts_jobs)
295 - -DWITH_SYSTEM_ROCKSDB=ON
296 - -DWITH_RDMA=OFF
297 - -DWITH_TBB=OFF
298 - -DSYSTEMD_UNITDIR=$(systemd_get_systemunitdir)
299 - -DCMAKE_INSTALL_SYSTEMD_SERVICEDIR=$(systemd_get_systemunitdir)
300 - -DEPYTHON_VERSION="${EPYTHON#python}"
301 - -DCMAKE_INSTALL_DOCDIR="${EPREFIX}/usr/share/doc/${PN}-${PVR}"
302 - -DCMAKE_INSTALL_SYSCONFDIR="${EPREFIX}/etc"
303 - -Wno-dev
304 - )
305 - if use amd64 || use x86; then
306 - for flag in ${CPU_FLAGS_X86[@]}; do
307 - mycmakeargs+=("$(usex cpu_flags_x86_${flag} "-DHAVE_INTEL_${flag^^}=1")")
308 - done
309 - fi
310 -
311 - # needed for >=glibc-2.32
312 - has_version '>=sys-libs/glibc-2.32' && mycmakeargs+=(-DWITH_REENTRANT_STRSIGNAL:BOOL=ON)
313 -
314 - rm -f "${BUILD_DIR:-${S}}/CMakeCache.txt" \
315 - || die "failed to remove cmake cache"
316 -
317 - cmake_src_configure
318 -
319 - # bug #630232
320 - sed -i "s:\"${T//:\\:}/${EPYTHON}/bin/python\":\"${PYTHON}\":" \
321 - "${BUILD_DIR:-${S}}"/include/acconfig.h \
322 - || die "sed failed"
323 -}
324 -
325 -src_configure() {
326 - use custom-cflags || strip-flags
327 - ceph_src_configure
328 -}
329 -
330 -python_compile() {
331 - local CMAKE_USE_DIR="${S}"
332 - ceph_src_configure
333 -
334 - pushd "${BUILD_DIR}/src/pybind" >/dev/null || die
335 - emake VERBOSE=1 clean
336 - emake VERBOSE=1 all
337 -
338 - # python modules are only compiled with "make install" so we need to do this to
339 - # prevent doing a bunch of compilation in src_install
340 - DESTDIR="${T}" emake VERBOSE=1 install
341 - popd >/dev/null || die
342 -}
343 -
344 -src_compile() {
345 - cmake_build VERBOSE=1 all
346 -
347 - # we have to do this here to prevent from building everything multiple times
348 - python_copy_sources
349 - distutils-r1_src_compile
350 -}
351 -
352 -src_test() {
353 - make check || die "make check failed"
354 -}
355 -
356 -python_install() {
357 - local CMAKE_USE_DIR="${S}"
358 - pushd "${BUILD_DIR}/src/pybind" >/dev/null || die
359 - DESTDIR="${ED}" emake VERBOSE=1 install
360 - popd >/dev/null || die
361 -
362 - python_optimize
363 -}
364 -
365 -src_install() {
366 - cmake_src_install
367 - distutils-r1_src_install
368 -
369 - find "${ED}" -name '*.la' -type f -delete || die
370 -
371 - exeinto /usr/$(get_libdir)/ceph
372 - newexe "${BUILD_DIR}/bin/init-ceph" init-ceph
373 -
374 - insinto /etc/logrotate.d/
375 - newins "${FILESDIR}"/ceph.logrotate-r2 ${PN}
376 -
377 - keepdir /var/lib/${PN}{,/tmp} /var/log/${PN}/stat
378 -
379 - fowners -R ceph:ceph /var/log/ceph
380 -
381 - newinitd "${FILESDIR}/rbdmap.initd-r1" rbdmap
382 - newinitd "${FILESDIR}/${PN}.initd-r12" ${PN}
383 - newconfd "${FILESDIR}/${PN}.confd-r5" ${PN}
384 -
385 - insinto /etc/sysctl.d
386 - newins "${FILESDIR}"/sysctld 90-${PN}.conf
387 -
388 - use tcmalloc && newenvd "${FILESDIR}"/envd-tcmalloc 99${PN}-tcmalloc
389 -
390 - # units aren't installed by the build system unless systemd is enabled
391 - # so no point installing these with the USE flag disabled
392 - if use systemd; then
393 - systemd_install_serviced "${FILESDIR}/ceph-mds_at.service.conf" \
394 - "ceph-mds@.service"
395 -
396 - systemd_install_serviced "${FILESDIR}/ceph-osd_at.service.conf" \
397 - "ceph-osd@.service"
398 -
399 - fi
400 -
401 - udev_dorules udev/*.rules
402 - newtmpfiles "${FILESDIR}"/ceph-tmpfilesd ${PN}.conf
403 -
404 - readme.gentoo_create_doc
405 -
406 - python_setup
407 -
408 - # bug #630232
409 - sed -i -r "s:${T//:/\\:}/${EPYTHON}:/usr:" "${ED}"/usr/bin/ceph{,-crash} \
410 - || die "sed failed"
411 -
412 - python_fix_shebang "${ED}"/usr/{,s}bin/
413 -
414 - # python_fix_shebang apparently is not idempotent
415 - local shebang_regex='(/usr/lib/python-exec/python[0-9]\.[0-9]/python)[0-9]\.[0-9]'
416 - grep -r -E -l --null "${shebang_regex}" "${ED}"/usr/{s,}bin/ \
417 - | xargs --null --no-run-if-empty -- sed -i -r "s:${shebang_regex}:\1:" || die
418 -
419 - local -a rados_classes=( "${ED}/usr/$(get_libdir)/rados-classes"/* )
420 - dostrip -x "${rados_classes[@]#${ED}}"
421 -}
422 -
423 -pkg_postinst() {
424 - readme.gentoo_print_elog
425 - tmpfiles_process ${PN}.conf
426 -}
427
428 diff --git a/sys-cluster/ceph/ceph-16.2.10-r3.ebuild b/sys-cluster/ceph/ceph-16.2.10-r3.ebuild
429 deleted file mode 100644
430 index 061114221670..000000000000
431 --- a/sys-cluster/ceph/ceph-16.2.10-r3.ebuild
432 +++ /dev/null
433 @@ -1,469 +0,0 @@
434 -# Copyright 1999-2023 Gentoo Authors
435 -# Distributed under the terms of the GNU General Public License v2
436 -
437 -EAPI=8
438 -
439 -PYTHON_COMPAT=( python3_{9..10} )
440 -LUA_COMPAT=( lua5-3 )
441 -
442 -CMAKE_MAKEFILE_GENERATOR=emake
443 -
444 -inherit check-reqs bash-completion-r1 cmake python-r1 flag-o-matic \
445 - lua-single udev readme.gentoo-r1 toolchain-funcs systemd tmpfiles
446 -
447 -SRC_URI="https://download.ceph.com/tarballs/${P}.tar.gz"
448 -KEYWORDS="~amd64 ~arm64 ~ppc64"
449 -
450 -DESCRIPTION="Ceph distributed filesystem"
451 -HOMEPAGE="https://ceph.com/"
452 -
453 -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"
454 -SLOT="0"
455 -
456 -CPU_FLAGS_X86=(avx2 avx512f pclmul sse{,2,3,4_1,4_2} ssse3)
457 -
458 -IUSE="
459 - babeltrace +cephfs custom-cflags diskprediction dpdk fuse grafana
460 - jemalloc jaeger kafka kerberos ldap lttng +mgr numa pmdk rabbitmq
461 - +radosgw rbd-rwl rbd-ssd rdma rgw-lua +ssl spdk +sqlite +system-boost
462 - systemd +tcmalloc test uring xfs zbd zfs
463 -"
464 -
465 -IUSE+="$(printf "cpu_flags_x86_%s\n" ${CPU_FLAGS_X86[@]})"
466 -
467 -DEPEND="
468 - ${LUA_DEPS}
469 - ${PYTHON_DEPS}
470 - acct-group/ceph
471 - acct-user/ceph
472 - virtual/libudev:=
473 - app-arch/bzip2:=
474 - app-arch/lz4:=
475 - app-arch/snappy:=
476 - >=app-arch/snappy-1.1.9-r1
477 - app-arch/zstd:=
478 - app-shells/bash:0
479 - app-misc/jq:=
480 - dev-libs/crypto++:=
481 - dev-cpp/gflags:=
482 - <dev-libs/leveldb-1.23:=[snappy,tcmalloc(-)?]
483 - dev-libs/libaio:=
484 - <dev-libs/libfmt-9:=
485 - dev-libs/libnl:3=
486 - dev-libs/libxml2:=
487 - dev-libs/libevent:=
488 - dev-libs/openssl:=
489 - <dev-libs/rocksdb-6.15:=
490 - dev-libs/xmlsec:=[openssl]
491 - dev-cpp/yaml-cpp:=
492 - dev-libs/nss:=
493 - dev-libs/protobuf:=
494 - net-dns/c-ares:=
495 - net-libs/gnutls:=
496 - sys-auth/oath-toolkit:=
497 - sys-apps/coreutils
498 - sys-apps/hwloc:=
499 - sys-apps/keyutils:=
500 - sys-apps/util-linux:=
501 - sys-apps/util-linux
502 - sys-libs/libcap-ng:=
503 - sys-libs/ncurses:0=
504 - sys-libs/zlib:=
505 - sys-process/numactl:=
506 - virtual/libcrypt:=
507 - x11-libs/libpciaccess:=
508 - babeltrace? ( dev-util/babeltrace )
509 - fuse? ( sys-fs/fuse:3= )
510 - jemalloc? ( dev-libs/jemalloc:= )
511 - !jemalloc? ( >=dev-util/google-perftools-2.6.1:= )
512 - jaeger? ( dev-cpp/nlohmann_json:= )
513 - kafka? ( dev-libs/librdkafka:= )
514 - kerberos? ( virtual/krb5 )
515 - ldap? ( net-nds/openldap:= )
516 - lttng? ( dev-util/lttng-ust:= )
517 - pmdk? ( dev-libs/pmdk:= )
518 - rabbitmq? ( net-libs/rabbitmq-c:= )
519 - radosgw? (
520 - dev-libs/icu:=
521 - dev-libs/expat:=
522 - net-misc/curl:=[curl_ssl_openssl]
523 - )
524 - rbd-rwl? ( dev-libs/pmdk:= )
525 - rdma? ( sys-cluster/rdma-core:= )
526 - spdk? ( dev-util/cunit )
527 - sqlite? ( dev-db/sqlite:= )
528 - system-boost? ( dev-libs/boost:=[context,python,${PYTHON_USEDEP},zlib] )
529 - !system-boost? ( $(python_gen_impl_dep '' 3.8 3.9) )
530 - uring? ( sys-libs/liburing:= )
531 - xfs? ( sys-fs/xfsprogs:= )
532 - zbd? ( sys-block/libzbd:= )
533 - zfs? ( sys-fs/zfs:= )
534 -"
535 -BDEPEND="
536 - amd64? ( dev-lang/nasm )
537 - x86? ( dev-lang/yasm )
538 - app-arch/cpio
539 - >=dev-util/cmake-3.5.0
540 - dev-python/cython[${PYTHON_USEDEP}]
541 - dev-python/setuptools[${PYTHON_USEDEP}]
542 - dev-python/sphinx
543 - dev-util/gperf
544 - dev-util/ragel
545 - dev-util/valgrind
546 - sys-apps/coreutils
547 - sys-apps/grep
548 - sys-apps/util-linux
549 - sys-apps/which
550 - sys-devel/bc
551 - sys-devel/patch
552 - virtual/pkgconfig
553 - jaeger? (
554 - sys-devel/bison
555 - sys-devel/flex
556 - )
557 - test? (
558 - dev-util/cunit
559 - dev-python/coverage[${PYTHON_USEDEP}]
560 - dev-python/virtualenv[${PYTHON_USEDEP}]
561 - dev-python/requests-mock[${PYTHON_USEDEP}]
562 - sys-apps/grep[pcre]
563 - sys-fs/btrfs-progs
564 - )
565 -"
566 -RDEPEND="
567 - ${DEPEND}
568 - app-admin/sudo
569 - net-misc/socat
570 - sys-apps/gptfdisk
571 - sys-apps/nvme-cli
572 - >=sys-apps/smartmontools-7.0
573 - sys-block/parted
574 - sys-fs/cryptsetup
575 - sys-fs/lsscsi
576 - sys-fs/lvm2[lvm]
577 - app-alternatives/awk
578 - dev-python/bcrypt[${PYTHON_USEDEP}]
579 - dev-python/cherrypy[${PYTHON_USEDEP}]
580 - dev-python/python-dateutil[${PYTHON_USEDEP}]
581 - dev-python/flask[${PYTHON_USEDEP}]
582 - dev-python/jinja[${PYTHON_USEDEP}]
583 - dev-python/pecan[${PYTHON_USEDEP}]
584 - dev-python/prettytable[${PYTHON_USEDEP}]
585 - dev-python/pyopenssl[${PYTHON_USEDEP}]
586 - dev-python/pyyaml[${PYTHON_USEDEP}]
587 - dev-python/requests[${PYTHON_USEDEP}]
588 - dev-python/werkzeug[${PYTHON_USEDEP}]
589 - mgr? (
590 - dev-python/jsonpatch[${PYTHON_USEDEP}]
591 - dev-python/more-itertools[${PYTHON_USEDEP}]
592 - dev-python/numpy[${PYTHON_USEDEP}]
593 - dev-python/pyjwt[${PYTHON_USEDEP}]
594 - dev-python/routes[${PYTHON_USEDEP}]
595 - diskprediction? (
596 - >=dev-python/scipy-1.4.0[${PYTHON_USEDEP}]
597 - )
598 - sci-libs/scikit-learn[${PYTHON_USEDEP}]
599 - dev-python/six[${PYTHON_USEDEP}]
600 - )
601 -"
602 -REQUIRED_USE="
603 - ${PYTHON_REQUIRED_USE}
604 - ${LUA_REQUIRED_USE}
605 - ?? ( jemalloc tcmalloc )
606 - jaeger? ( !system-boost )
607 - diskprediction? ( mgr )
608 - kafka? ( radosgw )
609 - mgr? ( cephfs )
610 - rabbitmq? ( radosgw )
611 - !system-boost? (
612 - python_targets_python3_9
613 - python_targets_python3_10
614 - )
615 -"
616 -
617 -RESTRICT="
618 - !test? ( test )
619 -"
620 -
621 -# tests need root access, and network access
622 -RESTRICT+="test"
623 -
624 -# create a non-debug release
625 -CMAKE_BUILD_TYPE=RelWithDebInfo
626 -
627 -# false positives unless all USE flags are on
628 -CMAKE_WARN_UNUSED_CLI=no
629 -
630 -PATCHES=(
631 - "${FILESDIR}/ceph-12.2.0-use-provided-cpu-flag-values.patch"
632 - "${FILESDIR}/ceph-14.2.0-cflags.patch"
633 - "${FILESDIR}/ceph-12.2.4-boost-build-none-options.patch"
634 - "${FILESDIR}/ceph-16.2.2-cflags.patch"
635 - "${FILESDIR}/ceph-16.2.8-no-virtualenvs.patch"
636 - "${FILESDIR}/ceph-13.2.2-dont-install-sysvinit-script.patch"
637 - "${FILESDIR}/ceph-14.2.0-dpdk-cflags.patch"
638 - "${FILESDIR}/ceph-14.2.0-cython-0.29.patch"
639 - "${FILESDIR}/ceph-16.2.0-rocksdb-cmake.patch"
640 - "${FILESDIR}/ceph-15.2.3-spdk-compile.patch"
641 - "${FILESDIR}/ceph-16.2.0-spdk-tinfo.patch"
642 - "${FILESDIR}/ceph-16.2.0-jaeger-system-boost.patch"
643 - "${FILESDIR}/ceph-16.2.0-liburing.patch"
644 - "${FILESDIR}/ceph-16.2.2-system-zstd.patch"
645 - "${FILESDIR}/ceph-16.2.7-string-includes.patch"
646 - "${FILESDIR}/ceph-17.2.0-fuse3.patch"
647 - "${FILESDIR}/ceph-16.2.9-python310.patch"
648 - "${FILESDIR}/ceph-17.2.0-gcc12-header.patch"
649 - "${FILESDIR}/ceph-16.2.10-flags.patch"
650 -)
651 -
652 -check-reqs_export_vars() {
653 - CHECKREQS_DISK_BUILD="6G"
654 -
655 - if use system-boost; then
656 - CHECKREQS_DISK_USR="350M"
657 - else
658 - CHECKREQS_DISK_USR="510M"
659 - fi
660 -
661 - export CHECKREQS_DISK_BUILD CHECKREQS_DISK_USR
662 -}
663 -
664 -pkg_pretend() {
665 - check-reqs_export_vars
666 - check-reqs_pkg_pretend
667 -}
668 -
669 -pkg_setup() {
670 - if ! use system-boost; then
671 - python_setup 3.8 3.9
672 - else
673 - python_setup
674 - fi
675 - lua_setup
676 - check-reqs_export_vars
677 - check-reqs_pkg_setup
678 -}
679 -
680 -src_prepare() {
681 - cmake_src_prepare
682 -
683 - if use system-boost; then
684 - find "${S}" -name '*.cmake' -or -name 'CMakeLists.txt' -print0 \
685 - | xargs --null sed -r \
686 - -e 's|Boost::|boost_|g' \
687 - -e 's|Boost_|boost_|g' \
688 - -e 's|[Bb]oost_boost|boost_system|g' \
689 - -i || die
690 - fi
691 -
692 - if ! use systemd; then
693 - find "${S}"/src/ceph-volume/ceph_volume -name '*.py' -print0 \
694 - | xargs --null sed \
695 - -e '/^from ceph_volume.systemd import systemctl/ d' \
696 - -i || die
697 - fi
698 -
699 - sed -r -e "s:DESTINATION .+\\):DESTINATION $(get_bashcompdir)\\):" \
700 - -i src/bash_completion/CMakeLists.txt || die
701 -
702 - sed -e "s:objdump -p:$(tc-getOBJDUMP) -p:" -i CMakeLists.txt || die
703 -
704 - if ! use diskprediction; then
705 - rm -rf src/pybind/mgr/diskprediction_local || die
706 - fi
707 -
708 - # force lua version to use selected version
709 - local lua_version
710 - lua_version=$(ver_cut 1-2 $(lua_get_version))
711 - sed "s:find_package(Lua [0-9][.][0-9] REQUIRED):find_package(Lua ${lua_version} EXACT REQUIRED):" \
712 - -i src/CMakeLists.txt
713 -
714 - # remove tests that need root access
715 - rm src/test/cli/ceph-authtool/cap*.t || die
716 -}
717 -
718 -ceph_src_configure() {
719 - local mycmakeargs=(
720 - -DWITH_BABELTRACE:BOOL=$(usex babeltrace)
721 - -DWITH_BLUESTORE_PMEM:BOOL=$(usex pmdk)
722 - -DWITH_CEPHFS:BOOL=$(usex cephfs)
723 - -DWITH_CEPHFS_SHELL:BOOL=$(usex cephfs)
724 - -DWITH_DPDK:BOOL=$(usex dpdk)
725 - -DWITH_SPDK:BOOL=$(usex spdk)
726 - -DWITH_FUSE:BOOL=$(usex fuse)
727 - -DWITH_LTTNG:BOOL=$(usex lttng)
728 - -DWITH_GSSAPI:BOOL=$(usex kerberos)
729 - -DWITH_GRAFANA:BOOL=$(usex grafana)
730 - -DWITH_MGR:BOOL=$(usex mgr)
731 - -DWITH_MGR_DASHBOARD_FRONTEND:BOOL=OFF
732 - -DWITH_OPENLDAP:BOOL=$(usex ldap)
733 - -DWITH_PYTHON3:STRING=3
734 - -DWITH_RADOSGW:BOOL=$(usex radosgw)
735 - -DWITH_RADOSGW_AMQP_ENDPOINT:BOOL=$(usex rabbitmq)
736 - -DWITH_RADOSGW_KAFKA_ENDPOINT:BOOL=$(usex kafka)
737 - -DWITH_RADOSGW_LUA_PACKAGES:BOOL=$(usex rgw-lua "$(usex radosgw)" "NO")
738 - -DWITH_RBD_RWL:BOOL=$(usex rbd-rwl)
739 - -DWITH_RBD_SSD_CACHE:BOOL=$(usex rbd-ssd)
740 - -DWITH_SYSTEMD:BOOL=$(usex systemd)
741 - -DWITH_TESTS:BOOL=$(usex test)
742 - -DWITH_LIBURING:BOOL=$(usex uring)
743 - -DWITH_SYSTEM_LIBURING:BOOL=$(usex uring)
744 - -DWITH_LIBCEPHSQLITE:BOOL=$(usex sqlite)
745 - -DWITH_XFS:BOOL=$(usex xfs)
746 - -DWITH_ZBD:BOOL=$(usex zbd)
747 - -DWITH_ZFS:BOOL=$(usex zfs)
748 - -DENABLE_SHARED:BOOL=ON
749 - -DALLOCATOR:STRING=$(usex tcmalloc 'tcmalloc' "$(usex jemalloc 'jemalloc' 'libc')")
750 - -DWITH_SYSTEM_PMDK:BOOL=$(usex pmdk 'YES' "$(usex rbd-rwl)")
751 - -DWITH_SYSTEM_BOOST:BOOL=$(usex system-boost)
752 - -DWITH_SYSTEM_ROCKSDB:BOOL=ON
753 - -DWITH_RDMA:BOOL=$(usex rdma)
754 - -DCMAKE_INSTALL_DOCDIR:PATH="${EPREFIX}/usr/share/doc/${PN}-${PVR}"
755 - -DCMAKE_INSTALL_SYSCONFDIR:PATH="${EPREFIX}/etc"
756 - -Wno-dev
757 - )
758 -
759 - # this breaks when re-configuring for python impl
760 - if [[ ${EBUILD_PHASE} == configure ]]; then
761 - mycmakeargs+=(
762 - -DWITH_JAEGER:BOOL=$(usex jaeger)
763 - )
764 - else
765 - mycmakeargs+=(
766 - -DWITH_RADOSGW_SELECT_PARQUET:BOOL=OFF
767 - )
768 - fi
769 -
770 - # conditionally used cmake args
771 - use test && mycmakearts+=( -DWITH_SYSTEM_GTEST:BOOL=$(usex test) )
772 - use systemd && mycmakeargs+=( -DCMAKE_INSTALL_SYSTEMD_SERVICEDIR:PATH=$(systemd_get_systemunitdir) )
773 -
774 - if use amd64 || use x86; then
775 - local flag
776 - for flag in "${CPU_FLAGS_X86[@]}"; do
777 - case "${flag}" in
778 - avx*)
779 - local var=${flag%f}
780 - mycmakeargs+=(
781 - "-DHAVE_NASM_X64_${var^^}:BOOL=$(usex cpu_flags_x86_${flag})"
782 - )
783 - ;;
784 - *) mycmakeargs+=(
785 - "-DHAVE_INTEL_${flag^^}:BOOL=$(usex cpu_flags_x86_${flag})"
786 - );;
787 - esac
788 - done
789 - fi
790 -
791 - # needed for >=glibc-2.32
792 - has_version '>=sys-libs/glibc-2.32' && mycmakeargs+=( -DWITH_REENTRANT_STRSIGNAL:BOOL=ON )
793 -
794 - rm -f "${BUILD_DIR:-${S}}/CMakeCache.txt" \
795 - || die "failed to remove cmake cache"
796 -
797 - cmake_src_configure
798 -
799 - # bug #630232
800 - sed -i "s:\"${T//:\\:}/${EPYTHON}/bin/python\":\"${PYTHON}\":" \
801 - "${BUILD_DIR:-${S}}"/include/acconfig.h \
802 - || die "sed failed"
803 -}
804 -
805 -src_configure() {
806 - use custom-cflags || strip-flags
807 - ceph_src_configure
808 -}
809 -
810 -src_compile() {
811 - cmake_build VERBOSE=1 all
812 -
813 - # we have to do this here to prevent from building everything multiple times
814 - python_copy_sources
815 - python_foreach_impl python_compile
816 -}
817 -
818 -python_compile() {
819 - local CMAKE_USE_DIR="${S}"
820 - ceph_src_configure
821 -
822 - pushd "${BUILD_DIR}/src/pybind" >/dev/null || die
823 - cmake_build VERBOSE=1 clean
824 - cmake_build VERBOSE=1 all
825 -
826 - # python modules are only compiled with "make install" so we need to do this to
827 - # prevent doing a bunch of compilation in src_install
828 - DESTDIR="${T}" cmake_build VERBOSE=1 install
829 - popd >/dev/null || die
830 -}
831 -
832 -src_install() {
833 - python_foreach_impl python_install
834 -
835 - python_setup
836 - cmake_src_install
837 -
838 - find "${ED}" -name '*.la' -type f -delete || die
839 -
840 - exeinto /usr/$(get_libdir)/ceph
841 - newexe "${BUILD_DIR}/bin/init-ceph" init-ceph
842 -
843 - insinto /etc/logrotate.d/
844 - newins "${FILESDIR}"/ceph.logrotate-r2 ${PN}
845 -
846 - keepdir /var/lib/${PN}{,/tmp} /var/log/${PN}/stat
847 -
848 - fowners -R ceph:ceph /var/log/ceph
849 -
850 - newinitd "${FILESDIR}/rbdmap.initd-r1" rbdmap
851 - newinitd "${FILESDIR}/${PN}.initd-r12" ${PN}
852 - newconfd "${FILESDIR}/${PN}.confd-r5" ${PN}
853 -
854 - insinto /etc/sudoers.d
855 - doins sudoers.d/*
856 -
857 - insinto /etc/sysctl.d
858 - newins "${FILESDIR}"/sysctld 90-${PN}.conf
859 -
860 - use tcmalloc && newenvd "${FILESDIR}"/envd-tcmalloc 99${PN}-tcmalloc
861 -
862 - # units aren't installed by the build system unless systemd is enabled
863 - # so no point installing these with the USE flag disabled
864 - if use systemd; then
865 - systemd_install_serviced "${FILESDIR}/ceph-mds_at.service.conf" "ceph-mds@.service"
866 - systemd_install_serviced "${FILESDIR}/ceph-osd_at.service.conf" "ceph-osd@.service"
867 - fi
868 -
869 - udev_dorules udev/*.rules
870 - newtmpfiles "${FILESDIR}"/ceph-tmpfilesd ${PN}.conf
871 -
872 - readme.gentoo_create_doc
873 -
874 - # bug #630232
875 - sed -i -r "s:${T//:/\\:}/${EPYTHON}:/usr:" "${ED}"/usr/bin/ceph{,-crash} \
876 - || die "sed failed"
877 -
878 - python_fix_shebang "${ED}"/usr/{,s}bin/
879 -
880 - # python_fix_shebang apparently is not idempotent
881 - local shebang_regex='(/usr/lib/python-exec/python[0-9]\.[0-9]/python)[0-9]\.[0-9]'
882 - grep -r -E -l --null "${shebang_regex}" "${ED}"/usr/{s,}bin/ \
883 - | xargs --null --no-run-if-empty -- sed -i -r "s:${shebang_regex}:\1:" || die
884 -
885 - local -a rados_classes=( "${ED}/usr/$(get_libdir)/rados-classes"/* )
886 - dostrip -x "${rados_classes[@]#${ED}}"
887 -}
888 -
889 -python_install() {
890 - local CMAKE_USE_DIR="${S}"
891 - pushd "${BUILD_DIR}/src/pybind" >/dev/null || die
892 - DESTDIR="${ED}" cmake_build VERBOSE=1 install
893 - popd >/dev/null || die
894 -
895 - python_optimize
896 -}
897 -
898 -pkg_postinst() {
899 - readme.gentoo_print_elog
900 - tmpfiles_process ${PN}.conf
901 - udev_reload
902 -}
903
904 diff --git a/sys-cluster/ceph/ceph-16.2.10-r4.ebuild b/sys-cluster/ceph/ceph-16.2.10-r4.ebuild
905 deleted file mode 100644
906 index 785867d546c5..000000000000
907 --- a/sys-cluster/ceph/ceph-16.2.10-r4.ebuild
908 +++ /dev/null
909 @@ -1,473 +0,0 @@
910 -# Copyright 1999-2023 Gentoo Authors
911 -# Distributed under the terms of the GNU General Public License v2
912 -
913 -EAPI=8
914 -
915 -PYTHON_COMPAT=( python3_{9..10} )
916 -LUA_COMPAT=( lua5-3 )
917 -
918 -CMAKE_MAKEFILE_GENERATOR=emake
919 -
920 -inherit check-reqs bash-completion-r1 cmake python-r1 flag-o-matic \
921 - lua-single udev readme.gentoo-r1 toolchain-funcs systemd tmpfiles
922 -
923 -SRC_URI="https://download.ceph.com/tarballs/${P}.tar.gz"
924 -KEYWORDS="~amd64 ~arm64 ~ppc64"
925 -
926 -DESCRIPTION="Ceph distributed filesystem"
927 -HOMEPAGE="https://ceph.com/"
928 -
929 -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"
930 -SLOT="0"
931 -
932 -CPU_FLAGS_X86=(avx2 avx512f pclmul sse{,2,3,4_1,4_2} ssse3)
933 -
934 -IUSE="
935 - babeltrace +cephfs custom-cflags diskprediction dpdk fuse grafana
936 - jemalloc jaeger kafka kerberos ldap lttng +mgr numa pmdk rabbitmq
937 - +radosgw rbd-rwl rbd-ssd rdma rgw-lua +ssl spdk +sqlite +system-boost
938 - systemd +tcmalloc test uring xfs zbd zfs
939 -"
940 -
941 -IUSE+="$(printf "cpu_flags_x86_%s\n" ${CPU_FLAGS_X86[@]})"
942 -
943 -DEPEND="
944 - ${LUA_DEPS}
945 - ${PYTHON_DEPS}
946 - acct-group/ceph
947 - acct-user/ceph
948 - virtual/libudev:=
949 - app-arch/bzip2:=
950 - app-arch/lz4:=
951 - app-arch/snappy:=
952 - >=app-arch/snappy-1.1.9-r1
953 - app-arch/zstd:=
954 - app-shells/bash:0
955 - app-misc/jq:=
956 - dev-libs/crypto++:=
957 - dev-cpp/gflags:=
958 - <dev-libs/leveldb-1.23:=[snappy,tcmalloc(-)?]
959 - dev-libs/libaio:=
960 - <dev-libs/libfmt-9:=
961 - dev-libs/libnl:3=
962 - dev-libs/libxml2:=
963 - dev-libs/libevent:=
964 - dev-libs/openssl:=
965 - <dev-libs/rocksdb-6.15:=
966 - dev-libs/xmlsec:=[openssl]
967 - dev-cpp/yaml-cpp:=
968 - dev-libs/nss:=
969 - dev-libs/protobuf:=
970 - net-dns/c-ares:=
971 - net-libs/gnutls:=
972 - sys-auth/oath-toolkit:=
973 - sys-apps/coreutils
974 - sys-apps/hwloc:=
975 - sys-apps/keyutils:=
976 - sys-apps/util-linux:=
977 - sys-apps/util-linux
978 - sys-libs/libcap-ng:=
979 - sys-libs/ncurses:0=
980 - sys-libs/zlib:=
981 - sys-process/numactl:=
982 - virtual/libcrypt:=
983 - x11-libs/libpciaccess:=
984 - babeltrace? ( dev-util/babeltrace )
985 - fuse? ( sys-fs/fuse:3= )
986 - jemalloc? ( dev-libs/jemalloc:= )
987 - !jemalloc? ( >=dev-util/google-perftools-2.6.1:= )
988 - jaeger? ( dev-cpp/nlohmann_json:= )
989 - kafka? ( dev-libs/librdkafka:= )
990 - kerberos? ( virtual/krb5 )
991 - ldap? ( net-nds/openldap:= )
992 - lttng? ( dev-util/lttng-ust:= )
993 - pmdk? ( dev-libs/pmdk:= )
994 - rabbitmq? ( net-libs/rabbitmq-c:= )
995 - radosgw? (
996 - dev-libs/icu:=
997 - dev-libs/expat:=
998 - net-misc/curl:=[curl_ssl_openssl]
999 - )
1000 - rbd-rwl? ( dev-libs/pmdk:= )
1001 - rdma? ( sys-cluster/rdma-core:= )
1002 - spdk? ( dev-util/cunit )
1003 - sqlite? ( dev-db/sqlite:= )
1004 - system-boost? ( dev-libs/boost:=[context,python,${PYTHON_USEDEP},zlib] )
1005 - !system-boost? ( $(python_gen_impl_dep '' 3.8 3.9) )
1006 - uring? ( sys-libs/liburing:= )
1007 - xfs? ( sys-fs/xfsprogs:= )
1008 - zbd? ( sys-block/libzbd:= )
1009 - zfs? ( sys-fs/zfs:= )
1010 -"
1011 -BDEPEND="
1012 - amd64? ( dev-lang/nasm )
1013 - x86? ( dev-lang/yasm )
1014 - app-arch/cpio
1015 - >=dev-util/cmake-3.5.0
1016 - dev-python/cython[${PYTHON_USEDEP}]
1017 - dev-python/setuptools[${PYTHON_USEDEP}]
1018 - dev-python/sphinx
1019 - dev-util/gperf
1020 - dev-util/ragel
1021 - dev-util/valgrind
1022 - sys-apps/coreutils
1023 - sys-apps/grep
1024 - sys-apps/util-linux
1025 - sys-apps/which
1026 - sys-devel/bc
1027 - sys-devel/patch
1028 - virtual/pkgconfig
1029 - jaeger? (
1030 - sys-devel/bison
1031 - sys-devel/flex
1032 - )
1033 - test? (
1034 - dev-util/cunit
1035 - dev-python/coverage[${PYTHON_USEDEP}]
1036 - dev-python/virtualenv[${PYTHON_USEDEP}]
1037 - dev-python/requests-mock[${PYTHON_USEDEP}]
1038 - sys-apps/grep[pcre]
1039 - sys-fs/btrfs-progs
1040 - )
1041 -"
1042 -RDEPEND="
1043 - ${DEPEND}
1044 - app-admin/sudo
1045 - net-misc/socat
1046 - sys-apps/gptfdisk
1047 - sys-apps/nvme-cli
1048 - >=sys-apps/smartmontools-7.0
1049 - sys-block/parted
1050 - sys-fs/cryptsetup
1051 - sys-fs/lsscsi
1052 - sys-fs/lvm2[lvm]
1053 - app-alternatives/awk
1054 - dev-python/bcrypt[${PYTHON_USEDEP}]
1055 - dev-python/cherrypy[${PYTHON_USEDEP}]
1056 - dev-python/python-dateutil[${PYTHON_USEDEP}]
1057 - dev-python/flask[${PYTHON_USEDEP}]
1058 - dev-python/jinja[${PYTHON_USEDEP}]
1059 - dev-python/pecan[${PYTHON_USEDEP}]
1060 - dev-python/prettytable[${PYTHON_USEDEP}]
1061 - dev-python/pyopenssl[${PYTHON_USEDEP}]
1062 - dev-python/pyyaml[${PYTHON_USEDEP}]
1063 - dev-python/requests[${PYTHON_USEDEP}]
1064 - dev-python/werkzeug[${PYTHON_USEDEP}]
1065 - mgr? (
1066 - dev-python/jsonpatch[${PYTHON_USEDEP}]
1067 - dev-python/more-itertools[${PYTHON_USEDEP}]
1068 - dev-python/numpy[${PYTHON_USEDEP}]
1069 - dev-python/pyjwt[${PYTHON_USEDEP}]
1070 - dev-python/routes[${PYTHON_USEDEP}]
1071 - diskprediction? (
1072 - >=dev-python/scipy-1.4.0[${PYTHON_USEDEP}]
1073 - )
1074 - sci-libs/scikit-learn[${PYTHON_USEDEP}]
1075 - dev-python/six[${PYTHON_USEDEP}]
1076 - )
1077 -"
1078 -REQUIRED_USE="
1079 - ${PYTHON_REQUIRED_USE}
1080 - ${LUA_REQUIRED_USE}
1081 - ?? ( jemalloc tcmalloc )
1082 - jaeger? ( !system-boost )
1083 - diskprediction? ( mgr )
1084 - kafka? ( radosgw )
1085 - mgr? ( cephfs )
1086 - rabbitmq? ( radosgw )
1087 - !system-boost? (
1088 - python_targets_python3_9
1089 - python_targets_python3_10
1090 - )
1091 -"
1092 -
1093 -RESTRICT="
1094 - !test? ( test )
1095 -"
1096 -
1097 -# tests need root access, and network access
1098 -RESTRICT+="test"
1099 -
1100 -# create a non-debug release
1101 -CMAKE_BUILD_TYPE=RelWithDebInfo
1102 -
1103 -# false positives unless all USE flags are on
1104 -CMAKE_WARN_UNUSED_CLI=no
1105 -
1106 -PATCHES=(
1107 - "${FILESDIR}/ceph-12.2.0-use-provided-cpu-flag-values.patch"
1108 - "${FILESDIR}/ceph-14.2.0-cflags.patch"
1109 - "${FILESDIR}/ceph-12.2.4-boost-build-none-options.patch"
1110 - "${FILESDIR}/ceph-16.2.2-cflags.patch"
1111 - "${FILESDIR}/ceph-16.2.8-no-virtualenvs.patch"
1112 - "${FILESDIR}/ceph-13.2.2-dont-install-sysvinit-script.patch"
1113 - "${FILESDIR}/ceph-14.2.0-dpdk-cflags.patch"
1114 - "${FILESDIR}/ceph-14.2.0-cython-0.29.patch"
1115 - "${FILESDIR}/ceph-16.2.0-rocksdb-cmake.patch"
1116 - "${FILESDIR}/ceph-15.2.3-spdk-compile.patch"
1117 - "${FILESDIR}/ceph-16.2.0-spdk-tinfo.patch"
1118 - "${FILESDIR}/ceph-16.2.0-jaeger-system-boost.patch"
1119 - "${FILESDIR}/ceph-16.2.0-liburing.patch"
1120 - "${FILESDIR}/ceph-16.2.2-system-zstd.patch"
1121 - "${FILESDIR}/ceph-16.2.7-string-includes.patch"
1122 - "${FILESDIR}/ceph-17.2.0-fuse3.patch"
1123 - "${FILESDIR}/ceph-16.2.9-python310.patch"
1124 - "${FILESDIR}/ceph-17.2.0-gcc12-header.patch"
1125 - "${FILESDIR}/ceph-16.2.10-flags.patch"
1126 -)
1127 -
1128 -check-reqs_export_vars() {
1129 - CHECKREQS_DISK_BUILD="6G"
1130 -
1131 - if use system-boost; then
1132 - CHECKREQS_DISK_USR="350M"
1133 - else
1134 - CHECKREQS_DISK_USR="510M"
1135 - fi
1136 -
1137 - export CHECKREQS_DISK_BUILD CHECKREQS_DISK_USR
1138 -}
1139 -
1140 -pkg_pretend() {
1141 - check-reqs_export_vars
1142 - check-reqs_pkg_pretend
1143 -}
1144 -
1145 -pkg_setup() {
1146 - if ! use system-boost; then
1147 - python_setup 3.8 3.9
1148 - else
1149 - python_setup
1150 - fi
1151 - lua_setup
1152 - check-reqs_export_vars
1153 - check-reqs_pkg_setup
1154 -}
1155 -
1156 -src_prepare() {
1157 - cmake_src_prepare
1158 -
1159 - if use system-boost; then
1160 - find "${S}" -name '*.cmake' -or -name 'CMakeLists.txt' -print0 \
1161 - | xargs --null sed -r \
1162 - -e 's|Boost::|boost_|g' \
1163 - -e 's|Boost_|boost_|g' \
1164 - -e 's|[Bb]oost_boost|boost_system|g' \
1165 - -i || die
1166 - fi
1167 -
1168 - if ! use systemd; then
1169 - find "${S}"/src/ceph-volume/ceph_volume -name '*.py' -print0 \
1170 - | xargs --null sed \
1171 - -e '/^from ceph_volume.systemd import systemctl/ d' \
1172 - -i || die
1173 - fi
1174 -
1175 - sed -r -e "s:DESTINATION .+\\):DESTINATION $(get_bashcompdir)\\):" \
1176 - -i src/bash_completion/CMakeLists.txt || die
1177 -
1178 - sed -e "s:objdump -p:$(tc-getOBJDUMP) -p:" -i CMakeLists.txt || die
1179 -
1180 - if ! use diskprediction; then
1181 - rm -rf src/pybind/mgr/diskprediction_local || die
1182 - fi
1183 -
1184 - # force lua version to use selected version
1185 - local lua_version
1186 - lua_version=$(ver_cut 1-2 $(lua_get_version))
1187 - sed "s:find_package(Lua [0-9][.][0-9] REQUIRED):find_package(Lua ${lua_version} EXACT REQUIRED):" \
1188 - -i src/CMakeLists.txt
1189 -
1190 - # remove tests that need root access
1191 - rm src/test/cli/ceph-authtool/cap*.t || die
1192 -}
1193 -
1194 -ceph_src_configure() {
1195 - local mycmakeargs=(
1196 - -DWITH_BABELTRACE:BOOL=$(usex babeltrace)
1197 - -DWITH_BLUESTORE_PMEM:BOOL=$(usex pmdk)
1198 - -DWITH_CEPHFS:BOOL=$(usex cephfs)
1199 - -DWITH_CEPHFS_SHELL:BOOL=$(usex cephfs)
1200 - -DWITH_DPDK:BOOL=$(usex dpdk)
1201 - -DWITH_SPDK:BOOL=$(usex spdk)
1202 - -DWITH_FUSE:BOOL=$(usex fuse)
1203 - -DWITH_LTTNG:BOOL=$(usex lttng)
1204 - -DWITH_GSSAPI:BOOL=$(usex kerberos)
1205 - -DWITH_GRAFANA:BOOL=$(usex grafana)
1206 - -DWITH_MGR:BOOL=$(usex mgr)
1207 - -DWITH_MGR_DASHBOARD_FRONTEND:BOOL=OFF
1208 - -DWITH_OPENLDAP:BOOL=$(usex ldap)
1209 - -DWITH_PYTHON3:STRING=3
1210 - -DWITH_RADOSGW:BOOL=$(usex radosgw)
1211 - -DWITH_RADOSGW_AMQP_ENDPOINT:BOOL=$(usex rabbitmq)
1212 - -DWITH_RADOSGW_KAFKA_ENDPOINT:BOOL=$(usex kafka)
1213 - -DWITH_RADOSGW_LUA_PACKAGES:BOOL=$(usex rgw-lua "$(usex radosgw)" "NO")
1214 - -DWITH_RBD_RWL:BOOL=$(usex rbd-rwl)
1215 - -DWITH_RBD_SSD_CACHE:BOOL=$(usex rbd-ssd)
1216 - -DWITH_SYSTEMD:BOOL=$(usex systemd)
1217 - -DWITH_TESTS:BOOL=$(usex test)
1218 - -DWITH_LIBURING:BOOL=$(usex uring)
1219 - -DWITH_SYSTEM_LIBURING:BOOL=$(usex uring)
1220 - -DWITH_LIBCEPHSQLITE:BOOL=$(usex sqlite)
1221 - -DWITH_XFS:BOOL=$(usex xfs)
1222 - -DWITH_ZBD:BOOL=$(usex zbd)
1223 - -DWITH_ZFS:BOOL=$(usex zfs)
1224 - -DENABLE_SHARED:BOOL=ON
1225 - -DALLOCATOR:STRING=$(usex tcmalloc 'tcmalloc' "$(usex jemalloc 'jemalloc' 'libc')")
1226 - -DWITH_SYSTEM_PMDK:BOOL=$(usex pmdk 'YES' "$(usex rbd-rwl)")
1227 - -DWITH_SYSTEM_BOOST:BOOL=$(usex system-boost)
1228 - -DWITH_SYSTEM_ROCKSDB:BOOL=ON
1229 - -DWITH_RDMA:BOOL=$(usex rdma)
1230 - -DCMAKE_INSTALL_DOCDIR:PATH="${EPREFIX}/usr/share/doc/${PN}-${PVR}"
1231 - -DCMAKE_INSTALL_SYSCONFDIR:PATH="${EPREFIX}/etc"
1232 - -Wno-dev
1233 - )
1234 -
1235 - # this breaks when re-configuring for python impl
1236 - if [[ ${EBUILD_PHASE} == configure ]]; then
1237 - mycmakeargs+=(
1238 - -DWITH_JAEGER:BOOL=$(usex jaeger)
1239 - )
1240 - else
1241 - mycmakeargs+=(
1242 - -DWITH_RADOSGW_SELECT_PARQUET:BOOL=OFF
1243 - )
1244 - fi
1245 -
1246 - # conditionally used cmake args
1247 - use test && mycmakearts+=( -DWITH_SYSTEM_GTEST:BOOL=$(usex test) )
1248 - use systemd && mycmakeargs+=( -DCMAKE_INSTALL_SYSTEMD_SERVICEDIR:PATH=$(systemd_get_systemunitdir) )
1249 -
1250 - if use amd64 || use x86; then
1251 - local flag
1252 - for flag in "${CPU_FLAGS_X86[@]}"; do
1253 - case "${flag}" in
1254 - avx*)
1255 - local var=${flag%f}
1256 - mycmakeargs+=(
1257 - "-DHAVE_NASM_X64_${var^^}:BOOL=$(usex cpu_flags_x86_${flag})"
1258 - )
1259 - ;;
1260 - *) mycmakeargs+=(
1261 - "-DHAVE_INTEL_${flag^^}:BOOL=$(usex cpu_flags_x86_${flag})"
1262 - );;
1263 - esac
1264 - done
1265 - fi
1266 -
1267 - # needed for >=glibc-2.32
1268 - has_version '>=sys-libs/glibc-2.32' && mycmakeargs+=( -DWITH_REENTRANT_STRSIGNAL:BOOL=ON )
1269 -
1270 - rm -f "${BUILD_DIR:-${S}}/CMakeCache.txt" \
1271 - || die "failed to remove cmake cache"
1272 -
1273 - cmake_src_configure
1274 -
1275 - # bug #630232
1276 - sed -i "s:\"${T//:\\:}/${EPYTHON}/bin/python\":\"${PYTHON}\":" \
1277 - "${BUILD_DIR:-${S}}"/include/acconfig.h \
1278 - || die "sed failed"
1279 -}
1280 -
1281 -src_configure() {
1282 - use custom-cflags || strip-flags
1283 - ceph_src_configure
1284 -}
1285 -
1286 -src_compile() {
1287 - cmake_build VERBOSE=1 all
1288 -
1289 - # we have to do this here to prevent from building everything multiple times
1290 - python_copy_sources
1291 - python_foreach_impl python_compile
1292 -}
1293 -
1294 -python_compile() {
1295 - local CMAKE_USE_DIR="${S}"
1296 - ceph_src_configure
1297 -
1298 - pushd "${BUILD_DIR}/src/pybind" >/dev/null || die
1299 - cmake_build VERBOSE=1 clean
1300 - cmake_build VERBOSE=1 all
1301 -
1302 - # python modules are only compiled with "make install" so we need to do this to
1303 - # prevent doing a bunch of compilation in src_install
1304 - DESTDIR="${T}" cmake_build VERBOSE=1 install
1305 - popd >/dev/null || die
1306 -}
1307 -
1308 -src_install() {
1309 - python_foreach_impl python_install
1310 -
1311 - python_setup
1312 - cmake_src_install
1313 -
1314 - find "${ED}" -name '*.la' -type f -delete || die
1315 -
1316 - exeinto /usr/$(get_libdir)/ceph
1317 - newexe "${BUILD_DIR}/bin/init-ceph" init-ceph
1318 -
1319 - insinto /etc/logrotate.d/
1320 - newins "${FILESDIR}"/ceph.logrotate-r2 ${PN}
1321 -
1322 - keepdir /var/lib/${PN}{,/tmp} /var/log/ceph/stat /var/log/ceph/console
1323 -
1324 - fowners -R ceph:ceph /var/log/ceph
1325 -
1326 - newinitd "${FILESDIR}/rbdmap.initd-r1" rbdmap
1327 - newinitd "${FILESDIR}/${PN}.initd-r13" ${PN}
1328 - newconfd "${FILESDIR}/${PN}.confd-r5" ${PN}
1329 -
1330 - insinto /etc/sudoers.d
1331 - doins sudoers.d/*
1332 -
1333 - insinto /etc/sysctl.d
1334 - newins "${FILESDIR}"/sysctld 90-${PN}.conf
1335 -
1336 - use tcmalloc && newenvd "${FILESDIR}"/envd-tcmalloc 99${PN}-tcmalloc
1337 -
1338 - # units aren't installed by the build system unless systemd is enabled
1339 - # so no point installing these with the USE flag disabled
1340 - if use systemd; then
1341 - systemd_install_serviced "${FILESDIR}/ceph-mds_at.service.conf" "ceph-mds@.service"
1342 - systemd_install_serviced "${FILESDIR}/ceph-osd_at.service.conf" "ceph-osd@.service"
1343 - fi
1344 -
1345 - udev_dorules udev/*.rules
1346 - newtmpfiles "${FILESDIR}"/ceph-tmpfilesd ${PN}.conf
1347 -
1348 - readme.gentoo_create_doc
1349 -
1350 - # bug #630232
1351 - sed -i -r "s:${T//:/\\:}/${EPYTHON}:/usr:" "${ED}"/usr/bin/ceph{,-crash} \
1352 - || die "sed failed"
1353 -
1354 - python_fix_shebang "${ED}"/usr/{,s}bin/
1355 -
1356 - # python_fix_shebang apparently is not idempotent
1357 - local shebang_regex='(/usr/lib/python-exec/python[0-9]\.[0-9]/python)[0-9]\.[0-9]'
1358 - grep -r -E -l --null "${shebang_regex}" "${ED}"/usr/{s,}bin/ \
1359 - | xargs --null --no-run-if-empty -- sed -i -r "s:${shebang_regex}:\1:" || die
1360 -
1361 - local -a rados_classes=( "${ED}/usr/$(get_libdir)/rados-classes"/* )
1362 - dostrip -x "${rados_classes[@]#${ED}}"
1363 -}
1364 -
1365 -python_install() {
1366 - local CMAKE_USE_DIR="${S}"
1367 - pushd "${BUILD_DIR}/src/pybind" >/dev/null || die
1368 - DESTDIR="${ED}" cmake_build VERBOSE=1 install
1369 - popd >/dev/null || die
1370 -
1371 - python_optimize
1372 -}
1373 -
1374 -pkg_postinst() {
1375 - readme.gentoo_print_elog
1376 - tmpfiles_process ${PN}.conf
1377 - udev_reload
1378 -}
1379 -
1380 -pkg_postrm() {
1381 - udev_reload
1382 -}