public inbox for gentoo-commits@lists.gentoo.org
 help / color / mirror / Atom feed
* [gentoo-commits] repo/gentoo:master commit in: sys-cluster/ceph/, sys-cluster/ceph/files/
@ 2017-09-27 21:19 Patrick McLean
  0 siblings, 0 replies; 68+ messages in thread
From: Patrick McLean @ 2017-09-27 21:19 UTC (permalink / raw
  To: gentoo-commits

commit:     9dd511f4d8969258c23668e21dbd08f5ab76ae46
Author:     Patrick McLean <chutzpah <AT> gentoo <DOT> org>
AuthorDate: Wed Sep 27 21:19:27 2017 +0000
Commit:     Patrick McLean <chutzpah <AT> gentoo <DOT> org>
CommitDate: Wed Sep 27 21:19:27 2017 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=9dd511f4

sys-cluster/ceph: Version bump to 12.2.1

Package-Manager: Portage-2.3.10, Repoman-2.3.3

 sys-cluster/ceph/Manifest                          |   1 +
 sys-cluster/ceph/ceph-12.2.1.ebuild                | 290 +++++++++++++++++++++
 .../ceph/files/ceph-12.2.1-systemd-unitdir.patch   |  10 +
 3 files changed, 301 insertions(+)

diff --git a/sys-cluster/ceph/Manifest b/sys-cluster/ceph/Manifest
index 54c044058ee..22da72e93ca 100644
--- a/sys-cluster/ceph/Manifest
+++ b/sys-cluster/ceph/Manifest
@@ -2,3 +2,4 @@ DIST ceph-10.2.3.tar.gz 11596171 SHA256 dca933aa14db67b404d836ef510bd418091978ed
 DIST ceph-10.2.7.tar.gz 14518491 SHA256 2cdfeaa9a08e94c2d35f540b450bbf64b2a694bd537679834185e98fc59d8ba2 SHA512 7e0686e9efa4ddd9d548f4145b448f8232f1ca29b08428daa5cd60a74ce26f1176a1f2ebbf2ac1761d9e6c1d364a5ffa194d2b3a18a8111f59b7c27f7a1d7734 WHIRLPOOL b6b6902230401b5f4c6f27801f315678bdc7b99aab4e50b54d941fc3a425b4f0fa9390484f2e12d6b4f962253fb8772fb706dad35d490b4542b06db166fab59b
 DIST ceph-10.2.9.tar.gz 14550219 SHA256 3d93f4fc4a66b1d9f9ce43f65868dc18287cea32fbb2c7421faca6aed2b52a80 SHA512 1d59146614aa87ca551b05b795a684071a3cfb4ce6013e978ba650403c6732b2aa13f3c3cc191e6a1ea34b4631c82e97700593c24e200c41ec2f2b43b3ef5547 WHIRLPOOL 42215d33c4f617087e1b0ef81cd41b42330c3605acf625b0668d44eba9e982239683b466a1cc1a6f926fc1d439dfd6be4ce220f783da7d2214d36a2a6cc9181f
 DIST ceph-12.2.0.tar.gz 148372459 SHA256 0f601a9e28e9ce6837119b3ef0d89e1e44e0432f1f5d55567a947efefdd4d4ce SHA512 e084109c48f5666e35df5ee49262dee36ba5e7620fda30002dec538a87de11bdd21157436b5656557cd909a0943071046f3a17dd679aa1129b88b8b925f73113 WHIRLPOOL 60016eb5a20159bfc74b16c4135055cf8bf68bd868ef897b2455107a1014d4663efd55e6f5977e7d2e29010660a59d6134e3af32922d15dccbae07145c9023ea
+DIST ceph-12.2.1.tar.gz 148738778 SHA256 512666ee88610640d66b261f9307c96ccd70eb25cd3349acd083fb1220c8a32e SHA512 ec2623c1f6ab563c6fd0bb5fd046c78528fdbedca7cde347c92a9b15005d2ab2b1a46d7294e93f56933386462f1066750285109aafb6bf94f7d5bcdb7214d8a8 WHIRLPOOL 6a22bc7080483b3fe161bfc441b9fdf1a85d2bd9a394e89db2005a229397d206614d3e7a0d84cf7521822688faf4b92ca75ad4ce586de0d262fdda5c94b4f904

diff --git a/sys-cluster/ceph/ceph-12.2.1.ebuild b/sys-cluster/ceph/ceph-12.2.1.ebuild
new file mode 100644
index 00000000000..c7fa5ee49c0
--- /dev/null
+++ b/sys-cluster/ceph/ceph-12.2.1.ebuild
@@ -0,0 +1,290 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+PYTHON_COMPAT=( python{2_7,3_{4,5,6}} )
+DISTUTILS_OPTIONAL=1
+
+inherit check-reqs cmake-utils distutils-r1 python-r1 udev user systemd \
+	readme.gentoo-r1 flag-o-matic
+
+if [[ ${PV} == *9999* ]]; then
+	inherit git-r3
+	EGIT_REPO_URI="https://github.com/ceph/ceph.git"
+	SRC_URI=""
+else
+	SRC_URI="https://download.ceph.com/tarballs/${P}.tar.gz"
+	KEYWORDS="~amd64 ~arm64 ~x86"
+fi
+
+DESCRIPTION="Ceph distributed filesystem"
+HOMEPAGE="https://ceph.com/"
+
+LICENSE="LGPL-2.1 CC-BY-SA-1.0 GPL-2 BSD Boost-1.0 MIT"
+SLOT="0"
+
+CPU_FLAGS_X86=(sse{,2,3,4_1,4_2} ssse3)
+
+IUSE="babeltrace cephfs fuse jemalloc ldap lttng +mgr nss +radosgw +ssl"
+IUSE+=" static-libs systemd +tcmalloc test xfs zfs"
+IUSE+=" $(printf "cpu_flags_x86_%s\n" ${CPU_FLAGS_X86[@]})"
+
+# unbundling code commented out pending bugs 584056 and 584058
+#>=dev-libs/jerasure-2.0.0-r1
+#>=dev-libs/gf-complete-2.0.0
+COMMON_DEPEND="
+	virtual/libudev
+	app-arch/bzip2:=[static-libs?]
+	app-arch/lz4:=[static-libs?]
+	app-arch/snappy:=[static-libs?]
+	app-arch/zstd:=[static-libs?]
+	app-misc/jq:=[static-libs?]
+	dev-libs/boost:=[threads,context,python,static-libs?,${PYTHON_USEDEP}]
+	dev-libs/crypto++:=[static-libs?]
+	dev-libs/leveldb:=[snappy,static-libs?]
+	dev-libs/libaio:=[static-libs?]
+	dev-libs/libxml2:=[static-libs?]
+	sys-apps/keyutils:=[static-libs?]
+	sys-apps/util-linux:=[static-libs?]
+	sys-libs/zlib:=[static-libs?]
+	babeltrace? ( dev-util/babeltrace )
+	ldap? ( net-nds/openldap:=[static-libs?] )
+	lttng? ( dev-util/lttng-ust:= )
+	nss? ( dev-libs/nss:= )
+	fuse? ( sys-fs/fuse:0=[static-libs?] )
+	ssl? ( dev-libs/openssl:=[static-libs?] )
+	xfs? ( sys-fs/xfsprogs:=[static-libs?] )
+	zfs? ( sys-fs/zfs:=[static-libs?] )
+	radosgw? (
+		dev-libs/expat:=[static-libs?]
+		dev-libs/openssl:=[static-libs?]
+		net-misc/curl:=[static-libs?]
+	)
+	jemalloc? ( dev-libs/jemalloc:=[static-libs?] )
+	!jemalloc? ( >=dev-util/google-perftools-2.4:=[static-libs?] )
+	${PYTHON_DEPS}
+	"
+DEPEND="${COMMON_DEPEND}
+	app-arch/cpio
+	dev-lang/yasm
+	dev-python/cython[${PYTHON_USEDEP}]
+	dev-python/sphinx
+	dev-util/gperf
+	dev-util/valgrind
+	sys-apps/which
+	sys-devel/bc
+	virtual/pkgconfig
+	test? (
+		dev-python/tox[${PYTHON_USEDEP}]
+		dev-python/virtualenv[${PYTHON_USEDEP}]
+		sys-apps/grep[pcre]
+		sys-fs/btrfs-progs
+	)"
+RDEPEND="${COMMON_DEPEND}
+	net-misc/socat
+	sys-apps/gptfdisk
+	sys-block/parted
+	sys-fs/cryptsetup
+	!<sys-apps/openrc-0.26.3
+	dev-python/cherrypy[${PYTHON_USEDEP}]
+	dev-python/flask[${PYTHON_USEDEP}]
+	dev-python/pecan[${PYTHON_USEDEP}]
+	dev-python/prettytable[${PYTHON_USEDEP}]
+	dev-python/pyopenssl[${PYTHON_USEDEP}]
+	dev-python/requests[${PYTHON_USEDEP}]
+	dev-python/werkzeug[${PYTHON_USEDEP}]
+	"
+REQUIRED_USE="
+	$(python_gen_useflags 'python2*')
+	${PYTHON_REQUIRED_USE}
+	?? ( ssl nss )
+	?? ( jemalloc tcmalloc )
+	"
+
+# radosgw seems to be required to actually build
+REQUIRED_USE+=" radosgw"
+
+RESTRICT="test? ( userpriv )"
+
+# distribution tarball does not include everything needed for tests
+RESTRICT+=" test"
+
+STRIP_MASK="/usr/lib*/rados-classes/*"
+
+UNBUNDLE_LIBS=(
+	src/erasure-code/jerasure/jerasure
+	src/erasure-code/jerasure/gf-complete
+)
+
+PATCHES=(
+	"${FILESDIR}/${PN}-12.2.0-use-provided-cpu-flag-values.patch"
+	"${FILESDIR}/${PN}-12.2.0-cflags.patch"
+	"${FILESDIR}/${PN}-12.2.1-systemd-unitdir.patch"
+)
+
+check-reqs_export_vars() {
+	if use amd64; then
+		CHECKREQS_DISK_BUILD="12G"
+		CHECKREQS_DISK_USR="460M"
+	else
+		CHECKREQS_DISK_BUILD="1400M"
+		CHECKREQS_DISK_USR="450M"
+	fi
+
+	export CHECKREQS_DISK_BUILD CHECKREQS_DISK_USR
+}
+
+user_setup() {
+	enewgroup ceph ${CEPH_GID:--1}
+	enewuser ceph "${CEPH_UID:--1}" -1 /var/lib/ceph ceph
+}
+
+pkg_pretend() {
+	check-reqs_export_vars
+	check-reqs_pkg_pretend
+}
+
+pkg_setup() {
+	python_setup 'python2*'
+	check-reqs_export_vars
+	check-reqs_pkg_setup
+	user_setup
+}
+
+src_prepare() {
+	default
+
+	# remove tests that need root access
+	rm src/test/cli/ceph-authtool/cap*.t
+
+	#rm -rf "${UNBUNDLE_LIBS[@]}"
+}
+
+ceph_src_configure() {
+	local flag
+	local mycmakeargs=(
+		-DWITH_BABELTRACE=$(usex babeltrace)
+		-DWITH_CEPHFS=$(usex cephfs)
+		-DWITH_FUSE=$(usex fuse)
+		-DWITH_LTTNG=$(usex lttng)
+		-DWITH_MGR=$(usex mgr)
+		-DWITH_NSS=$(usex nss)
+		-DWITH_OPENLDAP=$(usex ldap)
+		-DWITH_RADOSGW=$(usex radosgw)
+		-DWITH_SSL=$(usex ssl)
+		-DWITH_SYSTEMD=$(usex systemd)
+		-DWITH_TESTS=$(usex test)
+		-DWITH_XFS=$(usex xfs)
+		-DWITH_ZFS=$(usex zfs)
+		-DENABLE_SHARED=$(usex static-libs '' 'yes' 'no')
+		-DALLOCATOR=$(usex tcmalloc 'tcmalloc' '' "$(usex jemalloc 'jemalloc' '' 'libc' '')" '')
+		-DWITH_SYSTEM_BOOST=yes
+		-DWITH_RDMA=no
+		-DSYSTEMD_UNITDIR=$(systemd_get_systemunitdir)
+	)
+	if use amd64 || use x86; then
+		for flag in ${CPU_FLAGS_X86[@]}; do
+			mycmakeargs+=("$(usex cpu_flags_x86_${flag} "-DHAVE_INTEL_${flag^^}=1")")
+		done
+	fi
+
+	rm -f "${BUILD_DIR:-${S}}/CMakeCache.txt"
+	cmake-utils_src_configure
+
+	# bug #630232
+	sed -i "s:\"${T//:\\:}/${EPYTHON}/bin/python\":\"${PYTHON}\":" \
+		"${BUILD_DIR:-${CMAKE_BUILD_DIR:-${S}}}"/include/acconfig.h \
+		|| die "sed failed"
+}
+
+src_configure() {
+	ceph_src_configure
+}
+
+python_compile() {
+	local CMAKE_USE_DIR="${S}"
+
+	ceph_src_configure
+	pushd "${BUILD_DIR}/src/pybind" >/dev/null || die
+	emake VERBOSE=1 all
+
+	# python modules are only compiled with "make install" so we need to do this to
+	# prevent doing a bunch of compilation in src_install
+	DESTDIR="${T}" emake VERBOSE=1 install
+	popd >/dev/null || die
+}
+
+src_compile() {
+	cmake-utils_src_make all
+
+	# we have to do this here to prevent from building everything multiple times
+	BUILD_DIR="${CMAKE_BUILD_DIR}" python_copy_sources
+	python_foreach_impl python_compile
+}
+
+src_test() {
+	make check || die "make check failed"
+}
+
+python_install() {
+	local CMAKE_USE_DIR="${S}"
+	pushd "${BUILD_DIR}/src/pybind" >/dev/null || die
+	DESTDIR="${D}" emake install
+	popd >/dev/null || die
+}
+
+src_install() {
+	cmake-utils_src_install
+	python_foreach_impl python_install
+
+	prune_libtool_files --all
+
+	exeinto /usr/$(get_libdir)/ceph
+	newexe "${CMAKE_BUILD_DIR}/bin/init-ceph" ceph_init.sh
+
+	insinto /etc/logrotate.d/
+	newins "${FILESDIR}"/ceph.logrotate ${PN}
+
+	keepdir /var/lib/${PN}{,/tmp} /var/log/${PN}/stat
+
+	fowners -R ceph:ceph /var/lib/ceph /var/log/ceph
+
+	newinitd "${FILESDIR}/rbdmap.initd" rbdmap
+	newinitd "${FILESDIR}/${PN}.initd-r5" ${PN}
+	newconfd "${FILESDIR}/${PN}.confd-r3" ${PN}
+
+	insinto /etc/sysctl.d
+	newins "${FILESDIR}"/sysctld 90-${PN}.conf
+
+	use tcmalloc && newenvd "${FILESDIR}"/envd-tcmalloc 99${PN}-tcmalloc
+
+	# units aren't installed by the build system unless systemd is enabled
+	# so no point installing these with the USE flag disabled
+	if use systemd; then
+		systemd_install_serviced "${FILESDIR}/ceph-mds_at.service.conf" \
+			"ceph-mds@.service"
+
+		systemd_install_serviced "${FILESDIR}/ceph-osd_at.service.conf" \
+			"ceph-osd@.service"
+	fi
+
+	udev_dorules udev/*.rules
+
+	readme.gentoo_create_doc
+
+	python_setup 'python2*'
+
+	# bug #630232
+	sed -i -r "s:${T//:/\\:}/${EPYTHON}:/usr:" "${ED}"/usr/bin/ceph \
+		|| die "sed failed"
+
+	python_fix_shebang "${ED}"/usr/{,s}bin/
+
+	# python_fix_shebang apparently is not idempotent
+	sed -i -r  's:(/usr/lib/python-exec/python[0-9]\.[0-9]/python)[0-9]\.[0-9]:\1:' \
+		"${ED}"/usr/{sbin/ceph-disk,bin/ceph-detect-init} || die "sed failed"
+}
+
+pkg_postinst() {
+	readme.gentoo_print_elog
+}

diff --git a/sys-cluster/ceph/files/ceph-12.2.1-systemd-unitdir.patch b/sys-cluster/ceph/files/ceph-12.2.1-systemd-unitdir.patch
new file mode 100644
index 00000000000..28d1a02d711
--- /dev/null
+++ b/sys-cluster/ceph/files/ceph-12.2.1-systemd-unitdir.patch
@@ -0,0 +1,10 @@
+diff --git a/systemd/CMakeLists.txt b/systemd/CMakeLists.txt
+index 3b03b6e613..c359ad2df9 100644
+--- a/systemd/CMakeLists.txt
++++ b/systemd/CMakeLists.txt
+@@ -17,4 +17,4 @@ install(FILES
+   ceph-disk@.service
+   ceph-volume@.service
+   rbdmap.service
+-  DESTINATION ${CMAKE_INSTALL_LIBEXECDIR}/systemd/system)
++  DESTINATION ${SYSTEMD_UNITDIR})


^ permalink raw reply related	[flat|nested] 68+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-cluster/ceph/, sys-cluster/ceph/files/
@ 2024-10-14  0:50 Sam James
  0 siblings, 0 replies; 68+ messages in thread
From: Sam James @ 2024-10-14  0:50 UTC (permalink / raw
  To: gentoo-commits

commit:     5404f9963b19a5ceebe574bed1b1808ba9b9dba4
Author:     Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Mon Oct 14 00:49:45 2024 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Mon Oct 14 00:49:45 2024 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=5404f996

sys-cluster/ceph: fix compat w/ newer importlib

Closes: https://bugs.gentoo.org/920906
Signed-off-by: Sam James <sam <AT> gentoo.org>

 sys-cluster/ceph/ceph-19.2.0-r1.ebuild             | 513 +++++++++++++++++++++
 sys-cluster/ceph/files/ceph-19.2.0-importlib.patch |  45 ++
 2 files changed, 558 insertions(+)

diff --git a/sys-cluster/ceph/ceph-19.2.0-r1.ebuild b/sys-cluster/ceph/ceph-19.2.0-r1.ebuild
new file mode 100644
index 000000000000..354bf3c96702
--- /dev/null
+++ b/sys-cluster/ceph/ceph-19.2.0-r1.ebuild
@@ -0,0 +1,513 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{10..12} )
+LUA_COMPAT=( lua5-{3..4} )
+
+inherit check-reqs bash-completion-r1 cmake flag-o-matic lua-single \
+		python-r1 udev readme.gentoo-r1 toolchain-funcs systemd tmpfiles
+
+XSIMD_HASH="aeec9c872c8b475dedd7781336710f2dd2666cb2"
+
+DESCRIPTION="Ceph distributed filesystem"
+HOMEPAGE="https://ceph.com/"
+
+SRC_URI="
+	https://download.ceph.com/tarballs/${P}.tar.gz
+	parquet? ( https://github.com/xtensor-stack/xsimd/archive/${XSIMD_HASH}.tar.gz -> ceph-xsimd-${PV}.tar.gz
+		mirror://apache/arrow/arrow-17.0.0/apache-arrow-17.0.0.tar.gz )
+"
+
+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"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~ppc64"
+
+CPU_FLAGS_X86=(avx2 avx512f pclmul sse{,2,3,4_1,4_2} ssse3)
+
+IUSE="
+	babeltrace +cephfs custom-cflags diskprediction dpdk fuse grafana
+	jemalloc jaeger kafka kerberos ldap lttng +mgr +parquet pmdk rabbitmq
+	+radosgw rbd-rwl rbd-ssd rdma rgw-lua selinux +ssl spdk +sqlite +system-boost
+	systemd +tcmalloc test +uring xfs zbd
+"
+
+IUSE+="$(printf "cpu_flags_x86_%s\n" ${CPU_FLAGS_X86[@]})"
+
+DEPEND="
+	${LUA_DEPS}
+	${PYTHON_DEPS}
+	acct-group/ceph
+	acct-user/ceph
+	virtual/libudev:=
+	app-arch/bzip2:=
+	app-arch/lz4:=
+	app-arch/snappy:=
+	>=app-arch/snappy-1.1.9-r1
+	app-arch/zstd:=
+	app-shells/bash:0
+	app-misc/jq:=
+	dev-cpp/gflags:=
+	dev-db/lmdb:=
+	dev-lang/jsonnet:=
+	dev-libs/libaio:=
+	dev-libs/libnl:3=
+	dev-libs/libxml2:=
+	dev-libs/libevent:=
+	dev-libs/libutf8proc:=
+	dev-libs/nss:=
+	dev-libs/openssl:=
+	<dev-libs/rocksdb-7.9.3:=
+	dev-libs/thrift:=
+	dev-libs/xmlsec:=[openssl]
+	dev-cpp/yaml-cpp:=
+	dev-python/natsort[${PYTHON_USEDEP}]
+	dev-python/pyyaml[${PYTHON_USEDEP}]
+	dev-vcs/git
+	net-dns/c-ares:=
+	net-libs/gnutls:=
+	sys-auth/oath-toolkit:=
+	sys-apps/coreutils
+	sys-apps/hwloc:=
+	sys-apps/keyutils:=
+	sys-apps/util-linux:=
+	sys-libs/libcap-ng:=
+	sys-libs/ncurses:0=
+	sys-libs/zlib:=
+	sys-process/numactl:=
+	virtual/libcrypt:=
+	x11-libs/libpciaccess:=
+	babeltrace? ( dev-util/babeltrace:0/1 )
+	fuse? ( sys-fs/fuse:3= )
+	jemalloc? ( dev-libs/jemalloc:= )
+	!jemalloc? ( >=dev-util/google-perftools-2.6.1:= )
+	jaeger? (
+		dev-cpp/nlohmann_json:=
+		dev-cpp/opentelemetry-cpp:=[jaeger]
+	)
+	kafka? ( dev-libs/librdkafka:= )
+	kerberos? ( virtual/krb5 )
+	ldap? ( net-nds/openldap:= )
+	lttng? ( dev-util/lttng-ust:= )
+	parquet? (
+		>=app-arch/lz4-1.10
+		dev-cpp/xsimd
+		dev-libs/re2:=
+	)
+	pmdk? (
+		>=dev-libs/pmdk-1.10.0:=
+		sys-block/ndctl:=
+	)
+	rabbitmq? ( net-libs/rabbitmq-c:= )
+	radosgw? (
+		dev-libs/icu:=
+		dev-libs/expat:=
+		net-misc/curl:=[curl_ssl_openssl]
+	)
+	rbd-rwl? ( dev-libs/pmdk:= )
+	rdma? ( sys-cluster/rdma-core:= )
+	spdk? ( dev-util/cunit )
+	sqlite? ( dev-db/sqlite:= )
+	system-boost? ( dev-libs/boost:=[context,python,${PYTHON_USEDEP},zlib] )
+	uring? ( sys-libs/liburing:= )
+	xfs? ( sys-fs/xfsprogs:= )
+	zbd? ( sys-block/libzbd:= )
+"
+BDEPEND="
+	amd64? ( dev-lang/nasm )
+	x86? ( dev-lang/yasm )
+	app-alternatives/cpio
+	dev-debug/valgrind
+	>=dev-build/cmake-3.5.0
+	dev-python/cython[${PYTHON_USEDEP}]
+	dev-python/setuptools[${PYTHON_USEDEP}]
+	dev-python/sphinx
+	dev-util/gperf
+	dev-util/ragel
+	sys-apps/coreutils
+	sys-apps/grep
+	sys-apps/util-linux
+	sys-apps/which
+	app-alternatives/bc
+	sys-devel/patch
+	virtual/pkgconfig
+	jaeger? (
+		app-alternatives/yacc
+		app-alternatives/lex
+	)
+	test? (
+		dev-util/cunit
+		dev-python/coverage[${PYTHON_USEDEP}]
+		dev-python/virtualenv[${PYTHON_USEDEP}]
+		dev-python/requests-mock[${PYTHON_USEDEP}]
+		sys-apps/grep[pcre]
+		sys-fs/btrfs-progs
+	)
+"
+RDEPEND="
+	${DEPEND}
+	app-admin/sudo
+	net-misc/socat
+	sys-apps/gptfdisk
+	sys-apps/nvme-cli
+	>=sys-apps/smartmontools-7.0
+	sys-block/parted
+	sys-fs/cryptsetup
+	sys-fs/lsscsi
+	sys-fs/lvm2[lvm]
+	app-alternatives/awk
+	dev-python/bcrypt[${PYTHON_USEDEP}]
+	dev-python/cherrypy[${PYTHON_USEDEP}]
+	dev-python/python-dateutil[${PYTHON_USEDEP}]
+	dev-python/flask[${PYTHON_USEDEP}]
+	dev-python/jinja[${PYTHON_USEDEP}]
+	dev-python/pecan[${PYTHON_USEDEP}]
+	dev-python/prettytable[${PYTHON_USEDEP}]
+	dev-python/pyopenssl[${PYTHON_USEDEP}]
+	dev-python/requests[${PYTHON_USEDEP}]
+	dev-python/werkzeug[${PYTHON_USEDEP}]
+	mgr? (
+		dev-python/jsonpatch[${PYTHON_USEDEP}]
+		dev-python/more-itertools[${PYTHON_USEDEP}]
+		dev-python/numpy[${PYTHON_USEDEP}]
+		dev-python/pyjwt[${PYTHON_USEDEP}]
+		dev-python/routes[${PYTHON_USEDEP}]
+		diskprediction? (
+			>=dev-python/scipy-1.4.0[${PYTHON_USEDEP}]
+		)
+		dev-python/scikit-learn[${PYTHON_USEDEP}]
+		dev-python/six[${PYTHON_USEDEP}]
+	)
+	selinux? ( sec-policy/selinux-ceph )
+"
+REQUIRED_USE="
+	${PYTHON_REQUIRED_USE}
+	${LUA_REQUIRED_USE}
+	?? ( jemalloc tcmalloc )
+	diskprediction? ( mgr )
+	kafka? ( radosgw )
+	mgr? ( cephfs )
+	rabbitmq? ( radosgw )
+	rgw-lua? ( radosgw )
+"
+
+RESTRICT="
+	!test? ( test )
+"
+
+# tests need root access, and network access
+RESTRICT+="test"
+
+# false positives unless all USE flags are on
+CMAKE_WARN_UNUSED_CLI=no
+
+PATCHES=(
+	"${FILESDIR}/ceph-12.2.0-use-provided-cpu-flag-values.patch"
+	"${FILESDIR}/ceph-14.2.0-cflags.patch"
+	"${FILESDIR}/ceph-17.2.1-no-virtualenvs.patch"
+	"${FILESDIR}/ceph-13.2.2-dont-install-sysvinit-script.patch"
+	"${FILESDIR}/ceph-14.2.0-dpdk-cflags.patch"
+	"${FILESDIR}/ceph-16.2.0-rocksdb-cmake.patch"
+	"${FILESDIR}/ceph-16.2.0-spdk-tinfo.patch"
+	"${FILESDIR}/ceph-16.2.0-jaeger-system-boost.patch"
+	"${FILESDIR}/ceph-17.2.0-pybind-boost-1.74.patch"
+	"${FILESDIR}/ceph-17.2.0-findre2.patch"
+	"${FILESDIR}/ceph-18.2.0-system-opentelemetry.patch"
+	"${FILESDIR}/ceph-17.2.0-osd_class_dir.patch"
+	"${FILESDIR}/ceph-17.2.0-gcc12-header.patch"
+	"${FILESDIR}/ceph-17.2.3-flags.patch"
+	# https://bugs.gentoo.org/866165
+	"${FILESDIR}/ceph-17.2.5-suppress-cmake-warning.patch"
+	"${FILESDIR}/ceph-17.2.5-gcc13-deux.patch"
+	# https://bugs.gentoo.org/905626
+	"${FILESDIR}/ceph-17.2.6-arrow-flatbuffers-c++14.patch"
+	# https://bugs.gentoo.org/868891
+	"${FILESDIR}/ceph-17.2.6-cmake.patch"
+	"${FILESDIR}/ceph-18.2.0-cyclic-deps.patch"
+	# https://bugs.gentoo.org/907739
+	"${FILESDIR}/ceph-18.2.0-cython3.patch"
+	# https://bugs.gentoo.org/936889
+	"${FILESDIR}/ceph-18.2.1-gcc14.patch"
+	"${FILESDIR}/ceph-18.2.4-liburing.patch"
+	"${FILESDIR}/ceph-18.2.4-spdk.patch"
+	# https://bugs.gentoo.org/941069
+	"${FILESDIR}/ceph-19.2.0-importlib.patch"
+)
+
+check-reqs_export_vars() {
+	CHECKREQS_DISK_BUILD="6G"
+
+	if use system-boost; then
+		CHECKREQS_DISK_USR="350M"
+	else
+		CHECKREQS_DISK_USR="510M"
+	fi
+
+	export CHECKREQS_DISK_BUILD CHECKREQS_DISK_USR
+}
+
+pkg_pretend() {
+	check-reqs_export_vars
+	check-reqs_pkg_pretend
+}
+
+pkg_setup() {
+	python_setup
+	lua_setup
+	check-reqs_export_vars
+	check-reqs_pkg_setup
+}
+
+src_prepare() {
+	cmake_src_prepare
+
+	if use system-boost; then
+		find "${S}" -name '*.cmake' -or -name 'CMakeLists.txt' -print0 \
+			| xargs --null sed -r \
+			-e 's|Boost::|boost_|g' \
+			-e 's|Boost_|boost_|g' \
+			-e 's|[Bb]oost_boost|boost_system|g' \
+			-i || die
+	fi
+
+	if ! use systemd; then
+		find "${S}"/src/ceph-volume/ceph_volume -name '*.py' -print0 \
+			| xargs --null sed \
+			-e '/^from ceph_volume.systemd import systemctl/ d' \
+			-i || die
+	fi
+
+	sed -r -e "s:DESTINATION .+\\):DESTINATION $(get_bashcompdir)\\):" \
+		-i src/bash_completion/CMakeLists.txt || die
+
+	sed -e "s:objdump -p:$(tc-getOBJDUMP) -p:" -i CMakeLists.txt || die
+
+	# force lua version to use selected version
+	local lua_version
+	lua_version=$(ver_cut 1-2 $(lua_get_version))
+	sed "s:find_package(Lua [0-9][.][0-9] REQUIRED):find_package(Lua ${lua_version} EXACT REQUIRED):" \
+		-i src/CMakeLists.txt
+
+	if use spdk; then
+		# https://bugs.gentoo.org/871942
+		sed -i 's/[#]ifndef HAVE_ARC4RANDOM/#if 0/' src/spdk/lib/iscsi/iscsi.c || die
+		# unittests fail to build (??!?)
+		sed -i -e 's/CONFIG_UNIT_TESTS=y/CONFIG_UNIT_TESTS=n/' src/spdk/CONFIG || die
+	fi
+
+	# remove tests that need root access
+	rm src/test/cli/ceph-authtool/cap*.t || die
+
+	if use parquet; then
+		# hammer in newer version of parquet/arrow
+		rm -rf src/arrow/
+		mv "${WORKDIR}/apache-arrow-17.0.0" src/arrow || die
+	fi
+
+	# newer boost don't support no header-only
+	sed -i -e 's~#include <boost/url/src.hpp>~#include <boost/url.hpp>~' src/mds/BoostUrlImpl.cc || die
+
+	# everyone forgot to link to boost_url
+	sed -i -e 's~target_link_libraries(ceph-mds mds ${CMAKE_DL_LIBS} global-static ceph-common~target_link_libraries(ceph-mds mds ${CMAKE_DL_LIBS} global-static ceph-common boost_url~' src/CMakeLists.txt || die
+	sed -i -e 's/target_link_libraries(journal cls_journal_client)/target_link_libraries(journal cls_journal_client boost_url)/' src/journal/CMakeLists.txt || die
+	sed -i -e 's/${BLKID_LIBRARIES} ${CMAKE_DL_LIBS})/${BLKID_LIBRARIES} ${CMAKE_DL_LIBS} boost_url)/g' src/tools/cephfs/CMakeLists.txt || die
+}
+
+ceph_src_configure() {
+	local mycmakeargs=(
+		-DWITH_BABELTRACE:BOOL=$(usex babeltrace)
+		-DWITH_BLUESTORE_PMEM:BOOL=$(usex pmdk)
+		-DWITH_CEPHFS:BOOL=$(usex cephfs)
+		-DWITH_CEPHFS_SHELL:BOOL=$(usex cephfs)
+		-DWITH_DPDK:BOOL=$(usex dpdk)
+		-DWITH_SPDK:BOOL=$(usex spdk)
+		-DWITH_FUSE:BOOL=$(usex fuse)
+		-DWITH_LTTNG:BOOL=$(usex lttng)
+		-DWITH_GSSAPI:BOOL=$(usex kerberos)
+		-DWITH_GRAFANA:BOOL=$(usex grafana)
+		-DWITH_MGR:BOOL=$(usex mgr)
+		-DWITH_MGR_DASHBOARD_FRONTEND:BOOL=OFF
+		-DWITH_OPENLDAP:BOOL=$(usex ldap)
+		-DWITH_PYTHON3:STRING=3
+		-DWITH_RADOSGW:BOOL=$(usex radosgw)
+		-DWITH_RADOSGW_AMQP_ENDPOINT:BOOL=$(usex rabbitmq)
+		-DWITH_RADOSGW_KAFKA_ENDPOINT:BOOL=$(usex kafka)
+		-DWITH_RADOSGW_LUA_PACKAGES:BOOL=$(usex rgw-lua "$(usex radosgw)" "NO")
+		-DWITH_RBD_RWL:BOOL=$(usex rbd-rwl)
+		-DWITH_RBD_SSD_CACHE:BOOL=$(usex rbd-ssd)
+		-DWITH_SYSTEMD:BOOL=$(usex systemd)
+		-DWITH_TESTS:BOOL=$(usex test)
+		-DWITH_LIBURING:BOOL=$(usex uring)
+		-DWITH_SYSTEM_LIBURING:BOOL=$(usex uring)
+		-DWITH_LIBCEPHSQLITE:BOOL=$(usex sqlite)
+		-DWITH_XFS:BOOL=$(usex xfs)
+		-DWITH_ZBD:BOOL=$(usex zbd)
+		-DENABLE_SHARED:BOOL=ON
+		-DALLOCATOR:STRING=$(usex tcmalloc 'tcmalloc' "$(usex jemalloc 'jemalloc' 'libc')")
+		-DWITH_SYSTEM_PMDK:BOOL=$(usex pmdk 'YES' "$(usex rbd-rwl '')")
+		-DWITH_SYSTEM_BOOST:BOOL=$(usex system-boost)
+		-DWITH_SYSTEM_ROCKSDB:BOOL=ON
+		-DWITH_SYSTEM_ZSTD:BOOL=ON
+		-DWITH_RDMA:BOOL=$(usex rdma)
+		-DCMAKE_INSTALL_DOCDIR:PATH="${EPREFIX}/usr/share/doc/${PN}-${PVR}"
+		-DCMAKE_INSTALL_SYSCONFDIR:PATH="${EPREFIX}/etc"
+		# use the bundled libfmt for now since they seem to constantly break their API
+		-DCMAKE_DISABLE_FIND_PACKAGE_fmt=ON
+		-Wno-dev
+		-DCEPHADM_BUNDLED_DEPENDENCIES=none
+	)
+
+	# this breaks when re-configuring for python impl
+	if [[ ${EBUILD_PHASE} == configure ]]; then
+		mycmakeargs+=(
+			-DWITH_JAEGER:BOOL=$(usex jaeger)
+			-DWITH_RADOSGW_SELECT_PARQUET:BOOL=$(usex parquet)
+		)
+	else
+		mycmakeargs+=(
+			-DWITH_RADOSGW_SELECT_PARQUET:BOOL=OFF
+			-DWITH_JAEGER:BOOL=OFF
+			# don't want to warn about unused CLI when reconfiguring for python
+			-DCMAKE_WARN_UNUSED_CLI:BOOL=OFF
+		)
+	fi
+
+	# conditionally used cmake args
+	use test && mycmakearts+=( -DWITH_SYSTEM_GTEST:BOOL=$(usex test) )
+	use systemd && mycmakeargs+=( -DSYSTEMD_SYSTEM_UNIT_DIR:PATH=$(systemd_get_systemunitdir) )
+
+	if use amd64 || use x86; then
+		local flag
+		for flag in "${CPU_FLAGS_X86[@]}"; do
+			case "${flag}" in
+				avx*)
+					local var=${flag%f}
+					mycmakeargs+=(
+						"-DHAVE_NASM_X64_${var^^}:BOOL=$(usex cpu_flags_x86_${flag})"
+					)
+				;;
+				*) mycmakeargs+=(
+						"-DHAVE_INTEL_${flag^^}:BOOL=$(usex cpu_flags_x86_${flag})"
+					);;
+			esac
+		done
+	fi
+
+	# needed for >=glibc-2.32
+	has_version '>=sys-libs/glibc-2.32' && mycmakeargs+=( -DWITH_REENTRANT_STRSIGNAL:BOOL=ON )
+
+	rm -f "${BUILD_DIR:-${S}}/CMakeCache.txt" \
+		|| die "failed to remove cmake cache"
+
+	# hopefully this will not be necessary in the next release
+	use parquet && export ARROW_XSIMD_URL="file:///${DISTDIR}/ceph-xsimd-${PV}.tar.gz"
+
+	# https://bugs.gentoo.org/927066
+	filter-lto
+
+	cmake_src_configure
+
+	# bug #630232
+	sed -i "s:\"${T//:\\:}/${EPYTHON}/bin/python\":\"${PYTHON}\":" \
+		"${BUILD_DIR:-${S}}"/include/acconfig.h \
+		|| die "sed failed"
+}
+
+src_configure() {
+	use custom-cflags || strip-flags
+	ceph_src_configure
+}
+
+src_compile() {
+	cmake_build all
+
+	# we have to do this here to prevent from building everything multiple times
+	python_copy_sources
+	python_foreach_impl python_compile
+}
+
+python_compile() {
+	local CMAKE_USE_DIR="${S}"
+	ceph_src_configure
+
+	cmake_build src/pybind/CMakeFiles/cython_modules
+	cmake_build cephadm
+}
+
+src_install() {
+	python_foreach_impl python_install
+
+	python_setup
+	cmake_src_install
+
+	python_optimize
+
+	find "${ED}" -name '*.la' -type f -delete || die
+
+	exeinto /usr/$(get_libdir)/ceph
+	newexe "${BUILD_DIR}/bin/init-ceph" init-ceph
+
+	insinto /etc/logrotate.d/
+	newins "${FILESDIR}"/ceph.logrotate-r2 ${PN}
+
+	keepdir /var/lib/${PN}{,/tmp} /var/log/ceph/stat /var/log/ceph/console
+
+	fowners -R ceph:ceph /var/log/ceph
+
+	newinitd "${FILESDIR}/rbdmap.initd-r1" rbdmap
+	newinitd "${FILESDIR}/${PN}.initd-r14" ${PN}
+	newconfd "${FILESDIR}/${PN}.confd-r5" ${PN}
+
+	insinto /etc/sudoers.d
+	doins sudoers.d/*
+
+	insinto /etc/sysctl.d
+	newins "${FILESDIR}"/sysctld 90-${PN}.conf
+
+	use tcmalloc && newenvd "${FILESDIR}"/envd-tcmalloc 99${PN}-tcmalloc
+
+	# units aren't installed by the build system unless systemd is enabled
+	# so no point installing these with the USE flag disabled
+	if use systemd; then
+		systemd_install_serviced "${FILESDIR}/ceph-mds_at.service.conf" "ceph-mds@.service"
+		systemd_install_serviced "${FILESDIR}/ceph-osd_at.service.conf" "ceph-osd@.service"
+	fi
+
+	udev_dorules udev/*.rules
+	newtmpfiles "${FILESDIR}"/ceph-tmpfilesd ${PN}.conf
+
+	readme.gentoo_create_doc
+
+	# bug #630232
+	sed -i -r "s:${T//:/\\:}/${EPYTHON}:/usr:" "${ED}"/usr/bin/ceph{,-crash} \
+		|| die "sed failed"
+
+	python_fix_shebang "${ED}"/usr/{,s}bin/
+
+	# python_fix_shebang apparently is not idempotent
+	local shebang_regex='(/usr/lib/python-exec/python[0-9]\.[0-9]/python)[0-9]\.[0-9]'
+	grep -r -E -l --null "${shebang_regex}" "${ED}"/usr/{s,}bin/ \
+		| xargs --null --no-run-if-empty -- sed -i -r  "s:${shebang_regex}:\1:" || die
+
+	local -a rados_classes=( "${ED}/usr/$(get_libdir)/rados-classes"/* )
+	dostrip -x "${rados_classes[@]#${ED}}"
+}
+
+python_install() {
+	local CMAKE_USE_DIR="${S}"
+	DESTDIR="${ED}" cmake_build src/pybind/install
+	DESTDIR="${ED}" cmake_build src/cephadm/install
+
+	python_optimize
+}
+
+pkg_postinst() {
+	readme.gentoo_print_elog
+	tmpfiles_process ${PN}.conf
+	udev_reload
+}
+
+pkg_postrm() {
+	udev_reload
+}

diff --git a/sys-cluster/ceph/files/ceph-19.2.0-importlib.patch b/sys-cluster/ceph/files/ceph-19.2.0-importlib.patch
new file mode 100644
index 000000000000..422d2dc87c20
--- /dev/null
+++ b/sys-cluster/ceph/files/ceph-19.2.0-importlib.patch
@@ -0,0 +1,45 @@
+https://bugs.gentoo.org/941069
+https://tracker.ceph.com/issues/68032
+https://github.com/ceph/ceph/pull/59739
+
+From 12cc90a8dac62824c9326f5a4b31744c3f2bf10b Mon Sep 17 00:00:00 2001
+From: Peter Sabaini <peter.sabaini@canonical.com>
+Date: Wed, 11 Sep 2024 16:56:50 +0200
+Subject: [PATCH] ceph-volume: fix importlib.metadata compat
+
+The importlib.metadata library removed older shims in releases >5.0.0
+where EntryPoints objects use .select() instead of dict-like access.
+
+Fixes: https://tracker.ceph.com/issues/68032
+
+Signed-off-by: Peter Sabaini <peter.sabaini@canonical.com>
+--- a/src/ceph-volume/ceph_volume/main.py
++++ b/src/ceph-volume/ceph_volume/main.py
+@@ -9,15 +9,25 @@
+ # `entry_points` from `importlib.metadata` does not.
+ try:
+     from importlib.metadata import entry_points
++    from importlib.metadata import EntryPoints
+ 
+     def get_entry_points(group: str):  # type: ignore
+-        return entry_points().get(group, [])  # type: ignore
++        eps = entry_points()
++        if isinstance(eps, EntryPoints) and hasattr(eps, 'select'):
++            # New importlib.metadata uses .select()
++            return eps.select(group=group)
++        else:
++            # Fallback to older EntryPoints that returns dicts
++            return eps.get(group, [])  # type: ignore
++
+ except ImportError:
++    # Fallback to `pkg_resources` for older versions
+     from pkg_resources import iter_entry_points as entry_points  # type: ignore
+ 
+     def get_entry_points(group: str):  # type: ignore
+         return entry_points(group=group)  # type: ignore
+ 
++
+ from ceph_volume.decorators import catches
+ from ceph_volume import log, devices, configuration, conf, exceptions, terminal, inventory, drive_group, activate
+ 
+


^ permalink raw reply related	[flat|nested] 68+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-cluster/ceph/, sys-cluster/ceph/files/
@ 2024-10-01  9:32 Patrick Lauer
  0 siblings, 0 replies; 68+ messages in thread
From: Patrick Lauer @ 2024-10-01  9:32 UTC (permalink / raw
  To: gentoo-commits

commit:     9926bd53f3da2dad26bc5517390241982bfa70e3
Author:     Patrick Lauer <patrick <AT> gentoo <DOT> org>
AuthorDate: Tue Oct  1 09:29:21 2024 +0000
Commit:     Patrick Lauer <patrick <AT> gentoo <DOT> org>
CommitDate: Tue Oct  1 09:32:46 2024 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=9926bd53

sys-cluster/ceph: add 19.2.0

Signed-off-by: Patrick Lauer <patrick <AT> gentoo.org>

 sys-cluster/ceph/Manifest                          |   2 +
 sys-cluster/ceph/ceph-19.2.0.ebuild                | 508 +++++++++++++++++++++
 .../ceph-19.1.0-boost-build-none-options.patch     |  13 +
 3 files changed, 523 insertions(+)

diff --git a/sys-cluster/ceph/Manifest b/sys-cluster/ceph/Manifest
index 7f14b615ae13..5078a3abc1b1 100644
--- a/sys-cluster/ceph/Manifest
+++ b/sys-cluster/ceph/Manifest
@@ -5,7 +5,9 @@ DIST ceph-17.2.6.tar.gz 168093221 BLAKE2B f79efce9bd7f485b43ae1b4da94a1d9fb37530
 DIST ceph-17.2.7.tar.gz 168577111 BLAKE2B e3470819305e580b4afc658564b9ac261d1db53242acc5d5ec6bf6166024394de927b745b7a752e010fdc020a3829ca5e7d3ac27a99cf60f45876f12fef1c927 SHA512 9005de7661c6a9d1054f1388cff2f48eb1af93565ebf852669de546eed594ed6a2668944b25a64c406d00f88bd2f7a6eac2ae96b04789c03ea4d248d1a683e7b
 DIST ceph-18.2.1.tar.gz 197490056 BLAKE2B bcb66957a4e9502fda268aea09550ecc3775c83c2b4780a338364fd13b553164cae4c66dc69e64fb5df345d89161fe9d72ec42d9aa38eada0f77970b4125dc3c SHA512 88e1c18bc6c824b6203cf026cca4c9409000e7cf5b2b986e22ab74d2790d8b93d91556bd3af15a320dbdd0cf2302308f0b2c75fd1243bc5a65f76fc6b3d70736
 DIST ceph-18.2.4.tar.gz 226953064 BLAKE2B 3865ea051d1bd2f9aa44e6379f5bf2c7a526b076b327366dcf502d5a2358cc4d9bc53c7275e7b0f91387ec22a8a0e427f5e851a9f5308320091d1a6306bc9097 SHA512 a4ebb4e14032e6ab8e1fd8836f39234b771cb0a4b655166e9c69493a2c0d687064af4bb35523d0501629605521854e49f5c53a56279f72810d108c76f4f88c5b
+DIST ceph-19.2.0.tar.gz 236860160 BLAKE2B 0f0b93f89591b67986ead414fef2e41b1bbba914fb7f8d875a7fac9f3d00d127b0ca6d92912c2c082662cdbfc7ad71b8e56767273e6f380aade192725f812d28 SHA512 c7c68229b0bc5cf33ec30945c07ee464c757dc47812c0a901dd6e73a088f7a053ecd537468c6ca7caae91ed7d1fb25bde4630e5004f1717e22355ce276da005f
 DIST ceph-xsimd-17.2.6.tar.gz 173025 BLAKE2B 54679c24804c195ae55b9f49589e331dde92c6d89aaa20e827539e9a4e0010c7549cdd5cf02a7ebed83f953ab2a6f1d9cc9a98cf45c3dc7758ae4938c9c43713 SHA512 ecc58e7909648aaa22aefbf76ee2c5a2bece4b1b88da9c7eda1b69a46247e619ff99c4366afd6015f95debd68c1a6b89292c677b9049462d0fc0255fbc0c2a33
 DIST ceph-xsimd-17.2.7.tar.gz 173025 BLAKE2B 54679c24804c195ae55b9f49589e331dde92c6d89aaa20e827539e9a4e0010c7549cdd5cf02a7ebed83f953ab2a6f1d9cc9a98cf45c3dc7758ae4938c9c43713 SHA512 ecc58e7909648aaa22aefbf76ee2c5a2bece4b1b88da9c7eda1b69a46247e619ff99c4366afd6015f95debd68c1a6b89292c677b9049462d0fc0255fbc0c2a33
 DIST ceph-xsimd-18.2.1.tar.gz 173025 BLAKE2B 54679c24804c195ae55b9f49589e331dde92c6d89aaa20e827539e9a4e0010c7549cdd5cf02a7ebed83f953ab2a6f1d9cc9a98cf45c3dc7758ae4938c9c43713 SHA512 ecc58e7909648aaa22aefbf76ee2c5a2bece4b1b88da9c7eda1b69a46247e619ff99c4366afd6015f95debd68c1a6b89292c677b9049462d0fc0255fbc0c2a33
 DIST ceph-xsimd-18.2.4.tar.gz 173025 BLAKE2B 54679c24804c195ae55b9f49589e331dde92c6d89aaa20e827539e9a4e0010c7549cdd5cf02a7ebed83f953ab2a6f1d9cc9a98cf45c3dc7758ae4938c9c43713 SHA512 ecc58e7909648aaa22aefbf76ee2c5a2bece4b1b88da9c7eda1b69a46247e619ff99c4366afd6015f95debd68c1a6b89292c677b9049462d0fc0255fbc0c2a33
+DIST ceph-xsimd-19.2.0.tar.gz 173025 BLAKE2B 54679c24804c195ae55b9f49589e331dde92c6d89aaa20e827539e9a4e0010c7549cdd5cf02a7ebed83f953ab2a6f1d9cc9a98cf45c3dc7758ae4938c9c43713 SHA512 ecc58e7909648aaa22aefbf76ee2c5a2bece4b1b88da9c7eda1b69a46247e619ff99c4366afd6015f95debd68c1a6b89292c677b9049462d0fc0255fbc0c2a33

diff --git a/sys-cluster/ceph/ceph-19.2.0.ebuild b/sys-cluster/ceph/ceph-19.2.0.ebuild
new file mode 100644
index 000000000000..6ff5e322718e
--- /dev/null
+++ b/sys-cluster/ceph/ceph-19.2.0.ebuild
@@ -0,0 +1,508 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{10..12} )
+LUA_COMPAT=( lua5-{3..4} )
+
+inherit check-reqs bash-completion-r1 cmake flag-o-matic lua-single \
+		python-r1 udev readme.gentoo-r1 toolchain-funcs systemd tmpfiles
+
+XSIMD_HASH="aeec9c872c8b475dedd7781336710f2dd2666cb2"
+
+DESCRIPTION="Ceph distributed filesystem"
+HOMEPAGE="https://ceph.com/"
+
+SRC_URI="
+	https://download.ceph.com/tarballs/${P}.tar.gz
+	parquet? ( https://github.com/xtensor-stack/xsimd/archive/${XSIMD_HASH}.tar.gz -> ceph-xsimd-${PV}.tar.gz
+		mirror://apache/arrow/arrow-17.0.0/apache-arrow-17.0.0.tar.gz )
+"
+
+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"
+SLOT="0"
+KEYWORDS=""
+
+CPU_FLAGS_X86=(avx2 avx512f pclmul sse{,2,3,4_1,4_2} ssse3)
+
+IUSE="
+	babeltrace +cephfs custom-cflags diskprediction dpdk fuse grafana
+	jemalloc jaeger kafka kerberos ldap lttng +mgr +parquet pmdk rabbitmq
+	+radosgw rbd-rwl rbd-ssd rdma rgw-lua selinux +ssl spdk +sqlite +system-boost
+	systemd +tcmalloc test +uring xfs zbd
+"
+
+IUSE+="$(printf "cpu_flags_x86_%s\n" ${CPU_FLAGS_X86[@]})"
+
+DEPEND="
+	${LUA_DEPS}
+	${PYTHON_DEPS}
+	acct-group/ceph
+	acct-user/ceph
+	virtual/libudev:=
+	app-arch/bzip2:=
+	app-arch/lz4:=
+	app-arch/snappy:=
+	>=app-arch/snappy-1.1.9-r1
+	app-arch/zstd:=
+	app-shells/bash:0
+	app-misc/jq:=
+	dev-cpp/gflags:=
+	dev-db/lmdb:=
+	dev-lang/jsonnet:=
+	dev-libs/libaio:=
+	dev-libs/libnl:3=
+	dev-libs/libxml2:=
+	dev-libs/libevent:=
+	dev-libs/libutf8proc:=
+	dev-libs/nss:=
+	dev-libs/openssl:=
+	<dev-libs/rocksdb-7.9.3:=
+	dev-libs/thrift:=
+	dev-libs/xmlsec:=[openssl]
+	dev-cpp/yaml-cpp:=
+	dev-python/natsort[${PYTHON_USEDEP}]
+	dev-python/pyyaml[${PYTHON_USEDEP}]
+	dev-vcs/git
+	net-dns/c-ares:=
+	net-libs/gnutls:=
+	sys-auth/oath-toolkit:=
+	sys-apps/coreutils
+	sys-apps/hwloc:=
+	sys-apps/keyutils:=
+	sys-apps/util-linux:=
+	sys-libs/libcap-ng:=
+	sys-libs/ncurses:0=
+	sys-libs/zlib:=
+	sys-process/numactl:=
+	virtual/libcrypt:=
+	x11-libs/libpciaccess:=
+	babeltrace? ( dev-util/babeltrace:0/1 )
+	fuse? ( sys-fs/fuse:3= )
+	jemalloc? ( dev-libs/jemalloc:= )
+	!jemalloc? ( >=dev-util/google-perftools-2.6.1:= )
+	jaeger? (
+		dev-cpp/nlohmann_json:=
+		dev-cpp/opentelemetry-cpp:=[jaeger]
+	)
+	kafka? ( dev-libs/librdkafka:= )
+	kerberos? ( virtual/krb5 )
+	ldap? ( net-nds/openldap:= )
+	lttng? ( dev-util/lttng-ust:= )
+	parquet? (
+		>=app-arch/lz4-1.10
+		dev-cpp/xsimd
+		dev-libs/re2:=
+	)
+	pmdk? (
+		>=dev-libs/pmdk-1.10.0:=
+		sys-block/ndctl:=
+	)
+	rabbitmq? ( net-libs/rabbitmq-c:= )
+	radosgw? (
+		dev-libs/icu:=
+		dev-libs/expat:=
+		net-misc/curl:=[curl_ssl_openssl]
+	)
+	rbd-rwl? ( dev-libs/pmdk:= )
+	rdma? ( sys-cluster/rdma-core:= )
+	spdk? ( dev-util/cunit )
+	sqlite? ( dev-db/sqlite:= )
+	system-boost? ( dev-libs/boost:=[context,python,${PYTHON_USEDEP},zlib] )
+	uring? ( sys-libs/liburing:= )
+	xfs? ( sys-fs/xfsprogs:= )
+	zbd? ( sys-block/libzbd:= )
+"
+BDEPEND="
+	amd64? ( dev-lang/nasm )
+	x86? ( dev-lang/yasm )
+	app-alternatives/cpio
+	dev-debug/valgrind
+	>=dev-build/cmake-3.5.0
+	dev-python/cython[${PYTHON_USEDEP}]
+	dev-python/setuptools[${PYTHON_USEDEP}]
+	dev-python/sphinx
+	dev-util/gperf
+	dev-util/ragel
+	sys-apps/coreutils
+	sys-apps/grep
+	sys-apps/util-linux
+	sys-apps/which
+	app-alternatives/bc
+	sys-devel/patch
+	virtual/pkgconfig
+	jaeger? (
+		app-alternatives/yacc
+		app-alternatives/lex
+	)
+	test? (
+		dev-util/cunit
+		dev-python/coverage[${PYTHON_USEDEP}]
+		dev-python/virtualenv[${PYTHON_USEDEP}]
+		dev-python/requests-mock[${PYTHON_USEDEP}]
+		sys-apps/grep[pcre]
+		sys-fs/btrfs-progs
+	)
+"
+RDEPEND="
+	${DEPEND}
+	app-admin/sudo
+	net-misc/socat
+	sys-apps/gptfdisk
+	sys-apps/nvme-cli
+	>=sys-apps/smartmontools-7.0
+	sys-block/parted
+	sys-fs/cryptsetup
+	sys-fs/lsscsi
+	sys-fs/lvm2[lvm]
+	app-alternatives/awk
+	dev-python/bcrypt[${PYTHON_USEDEP}]
+	dev-python/cherrypy[${PYTHON_USEDEP}]
+	dev-python/python-dateutil[${PYTHON_USEDEP}]
+	dev-python/flask[${PYTHON_USEDEP}]
+	dev-python/jinja[${PYTHON_USEDEP}]
+	dev-python/pecan[${PYTHON_USEDEP}]
+	dev-python/prettytable[${PYTHON_USEDEP}]
+	dev-python/pyopenssl[${PYTHON_USEDEP}]
+	dev-python/requests[${PYTHON_USEDEP}]
+	dev-python/werkzeug[${PYTHON_USEDEP}]
+	mgr? (
+		dev-python/jsonpatch[${PYTHON_USEDEP}]
+		dev-python/more-itertools[${PYTHON_USEDEP}]
+		dev-python/numpy[${PYTHON_USEDEP}]
+		dev-python/pyjwt[${PYTHON_USEDEP}]
+		dev-python/routes[${PYTHON_USEDEP}]
+		diskprediction? (
+			>=dev-python/scipy-1.4.0[${PYTHON_USEDEP}]
+		)
+		dev-python/scikit-learn[${PYTHON_USEDEP}]
+		dev-python/six[${PYTHON_USEDEP}]
+	)
+	selinux? ( sec-policy/selinux-ceph )
+"
+REQUIRED_USE="
+	${PYTHON_REQUIRED_USE}
+	${LUA_REQUIRED_USE}
+	?? ( jemalloc tcmalloc )
+	diskprediction? ( mgr )
+	kafka? ( radosgw )
+	mgr? ( cephfs )
+	rabbitmq? ( radosgw )
+	rgw-lua? ( radosgw )
+"
+
+RESTRICT="
+	!test? ( test )
+"
+
+# tests need root access, and network access
+RESTRICT+="test"
+
+# false positives unless all USE flags are on
+CMAKE_WARN_UNUSED_CLI=no
+
+PATCHES=(
+	"${FILESDIR}/ceph-12.2.0-use-provided-cpu-flag-values.patch"
+	"${FILESDIR}/ceph-14.2.0-cflags.patch"
+	"${FILESDIR}/ceph-17.2.1-no-virtualenvs.patch"
+	"${FILESDIR}/ceph-13.2.2-dont-install-sysvinit-script.patch"
+	"${FILESDIR}/ceph-14.2.0-dpdk-cflags.patch"
+	"${FILESDIR}/ceph-16.2.0-rocksdb-cmake.patch"
+	"${FILESDIR}/ceph-16.2.0-spdk-tinfo.patch"
+	"${FILESDIR}/ceph-16.2.0-jaeger-system-boost.patch"
+	"${FILESDIR}/ceph-17.2.0-pybind-boost-1.74.patch"
+	"${FILESDIR}/ceph-17.2.0-findre2.patch"
+	"${FILESDIR}/ceph-18.2.0-system-opentelemetry.patch"
+	"${FILESDIR}/ceph-17.2.0-osd_class_dir.patch"
+	"${FILESDIR}/ceph-17.2.0-gcc12-header.patch"
+	"${FILESDIR}/ceph-17.2.3-flags.patch"
+	# https://bugs.gentoo.org/866165
+	"${FILESDIR}/ceph-17.2.5-suppress-cmake-warning.patch"
+	"${FILESDIR}/ceph-17.2.5-gcc13-deux.patch"
+	# https://bugs.gentoo.org/905626
+	"${FILESDIR}/ceph-17.2.6-arrow-flatbuffers-c++14.patch"
+	# https://bugs.gentoo.org/868891
+	"${FILESDIR}/ceph-17.2.6-cmake.patch"
+	"${FILESDIR}/ceph-18.2.0-cyclic-deps.patch"
+	# https://bugs.gentoo.org/907739
+	"${FILESDIR}/ceph-18.2.0-cython3.patch"
+	# https://bugs.gentoo.org/936889
+	"${FILESDIR}/ceph-18.2.1-gcc14.patch"
+	"${FILESDIR}/ceph-18.2.4-liburing.patch"
+)
+
+check-reqs_export_vars() {
+	CHECKREQS_DISK_BUILD="6G"
+
+	if use system-boost; then
+		CHECKREQS_DISK_USR="350M"
+	else
+		CHECKREQS_DISK_USR="510M"
+	fi
+
+	export CHECKREQS_DISK_BUILD CHECKREQS_DISK_USR
+}
+
+pkg_pretend() {
+	check-reqs_export_vars
+	check-reqs_pkg_pretend
+}
+
+pkg_setup() {
+	python_setup
+	lua_setup
+	check-reqs_export_vars
+	check-reqs_pkg_setup
+}
+
+src_prepare() {
+	cmake_src_prepare
+
+	if use system-boost; then
+		find "${S}" -name '*.cmake' -or -name 'CMakeLists.txt' -print0 \
+			| xargs --null sed -r \
+			-e 's|Boost::|boost_|g' \
+			-e 's|Boost_|boost_|g' \
+			-e 's|[Bb]oost_boost|boost_system|g' \
+			-i || die
+	fi
+
+	if ! use systemd; then
+		find "${S}"/src/ceph-volume/ceph_volume -name '*.py' -print0 \
+			| xargs --null sed \
+			-e '/^from ceph_volume.systemd import systemctl/ d' \
+			-i || die
+	fi
+
+	sed -r -e "s:DESTINATION .+\\):DESTINATION $(get_bashcompdir)\\):" \
+		-i src/bash_completion/CMakeLists.txt || die
+
+	sed -e "s:objdump -p:$(tc-getOBJDUMP) -p:" -i CMakeLists.txt || die
+
+	# force lua version to use selected version
+	local lua_version
+	lua_version=$(ver_cut 1-2 $(lua_get_version))
+	sed "s:find_package(Lua [0-9][.][0-9] REQUIRED):find_package(Lua ${lua_version} EXACT REQUIRED):" \
+		-i src/CMakeLists.txt
+
+	if use spdk; then
+		# https://bugs.gentoo.org/871942
+		sed -i 's/[#]ifndef HAVE_ARC4RANDOM/#if 0/' src/spdk/lib/iscsi/iscsi.c || die
+	fi
+
+	# remove tests that need root access
+	rm src/test/cli/ceph-authtool/cap*.t || die
+
+	if use parquet; then
+		# hammer in newer version of parquet/arrow
+		rm -rf src/arrow/
+		mv "${WORKDIR}/apache-arrow-17.0.0" src/arrow || die
+	fi
+
+	# newer boost don't support no header-only
+	sed -i -e 's~#include <boost/url/src.hpp>~#include <boost/url.hpp>~' src/mds/BoostUrlImpl.cc || die
+
+	# everyone forgot to link to boost_url
+	sed -i -e 's~target_link_libraries(ceph-mds mds ${CMAKE_DL_LIBS} global-static ceph-common~target_link_libraries(ceph-mds mds ${CMAKE_DL_LIBS} global-static ceph-common boost_url~' src/CMakeLists.txt || die
+	sed -i -e 's/target_link_libraries(journal cls_journal_client)/target_link_libraries(journal cls_journal_client boost_url)/' src/journal/CMakeLists.txt || die
+	sed -i -e 's/${BLKID_LIBRARIES} ${CMAKE_DL_LIBS})/${BLKID_LIBRARIES} ${CMAKE_DL_LIBS} boost_url)/g' src/tools/cephfs/CMakeLists.txt || die
+}
+
+ceph_src_configure() {
+	local mycmakeargs=(
+		-DWITH_BABELTRACE:BOOL=$(usex babeltrace)
+		-DWITH_BLUESTORE_PMEM:BOOL=$(usex pmdk)
+		-DWITH_CEPHFS:BOOL=$(usex cephfs)
+		-DWITH_CEPHFS_SHELL:BOOL=$(usex cephfs)
+		-DWITH_DPDK:BOOL=$(usex dpdk)
+		-DWITH_SPDK:BOOL=$(usex spdk)
+		-DWITH_FUSE:BOOL=$(usex fuse)
+		-DWITH_LTTNG:BOOL=$(usex lttng)
+		-DWITH_GSSAPI:BOOL=$(usex kerberos)
+		-DWITH_GRAFANA:BOOL=$(usex grafana)
+		-DWITH_MGR:BOOL=$(usex mgr)
+		-DWITH_MGR_DASHBOARD_FRONTEND:BOOL=OFF
+		-DWITH_OPENLDAP:BOOL=$(usex ldap)
+		-DWITH_PYTHON3:STRING=3
+		-DWITH_RADOSGW:BOOL=$(usex radosgw)
+		-DWITH_RADOSGW_AMQP_ENDPOINT:BOOL=$(usex rabbitmq)
+		-DWITH_RADOSGW_KAFKA_ENDPOINT:BOOL=$(usex kafka)
+		-DWITH_RADOSGW_LUA_PACKAGES:BOOL=$(usex rgw-lua "$(usex radosgw)" "NO")
+		-DWITH_RBD_RWL:BOOL=$(usex rbd-rwl)
+		-DWITH_RBD_SSD_CACHE:BOOL=$(usex rbd-ssd)
+		-DWITH_SYSTEMD:BOOL=$(usex systemd)
+		-DWITH_TESTS:BOOL=$(usex test)
+		-DWITH_LIBURING:BOOL=$(usex uring)
+		-DWITH_SYSTEM_LIBURING:BOOL=$(usex uring)
+		-DWITH_LIBCEPHSQLITE:BOOL=$(usex sqlite)
+		-DWITH_XFS:BOOL=$(usex xfs)
+		-DWITH_ZBD:BOOL=$(usex zbd)
+		-DENABLE_SHARED:BOOL=ON
+		-DALLOCATOR:STRING=$(usex tcmalloc 'tcmalloc' "$(usex jemalloc 'jemalloc' 'libc')")
+		-DWITH_SYSTEM_PMDK:BOOL=$(usex pmdk 'YES' "$(usex rbd-rwl '')")
+		-DWITH_SYSTEM_BOOST:BOOL=$(usex system-boost)
+		-DWITH_SYSTEM_ROCKSDB:BOOL=ON
+		-DWITH_SYSTEM_ZSTD:BOOL=ON
+		-DWITH_RDMA:BOOL=$(usex rdma)
+		-DCMAKE_INSTALL_DOCDIR:PATH="${EPREFIX}/usr/share/doc/${PN}-${PVR}"
+		-DCMAKE_INSTALL_SYSCONFDIR:PATH="${EPREFIX}/etc"
+		# use the bundled libfmt for now since they seem to constantly break their API
+		-DCMAKE_DISABLE_FIND_PACKAGE_fmt=ON
+		-Wno-dev
+		-DCEPHADM_BUNDLED_DEPENDENCIES=none
+	)
+
+	# this breaks when re-configuring for python impl
+	if [[ ${EBUILD_PHASE} == configure ]]; then
+		mycmakeargs+=(
+			-DWITH_JAEGER:BOOL=$(usex jaeger)
+			-DWITH_RADOSGW_SELECT_PARQUET:BOOL=$(usex parquet)
+		)
+	else
+		mycmakeargs+=(
+			-DWITH_RADOSGW_SELECT_PARQUET:BOOL=OFF
+			-DWITH_JAEGER:BOOL=OFF
+			# don't want to warn about unused CLI when reconfiguring for python
+			-DCMAKE_WARN_UNUSED_CLI:BOOL=OFF
+		)
+	fi
+
+	# conditionally used cmake args
+	use test && mycmakearts+=( -DWITH_SYSTEM_GTEST:BOOL=$(usex test) )
+	use systemd && mycmakeargs+=( -DSYSTEMD_SYSTEM_UNIT_DIR:PATH=$(systemd_get_systemunitdir) )
+
+	if use amd64 || use x86; then
+		local flag
+		for flag in "${CPU_FLAGS_X86[@]}"; do
+			case "${flag}" in
+				avx*)
+					local var=${flag%f}
+					mycmakeargs+=(
+						"-DHAVE_NASM_X64_${var^^}:BOOL=$(usex cpu_flags_x86_${flag})"
+					)
+				;;
+				*) mycmakeargs+=(
+						"-DHAVE_INTEL_${flag^^}:BOOL=$(usex cpu_flags_x86_${flag})"
+					);;
+			esac
+		done
+	fi
+
+	# needed for >=glibc-2.32
+	has_version '>=sys-libs/glibc-2.32' && mycmakeargs+=( -DWITH_REENTRANT_STRSIGNAL:BOOL=ON )
+
+	rm -f "${BUILD_DIR:-${S}}/CMakeCache.txt" \
+		|| die "failed to remove cmake cache"
+
+	# hopefully this will not be necessary in the next release
+	use parquet && export ARROW_XSIMD_URL="file:///${DISTDIR}/ceph-xsimd-${PV}.tar.gz"
+
+	# https://bugs.gentoo.org/927066
+	filter-lto
+
+	cmake_src_configure
+
+	# bug #630232
+	sed -i "s:\"${T//:\\:}/${EPYTHON}/bin/python\":\"${PYTHON}\":" \
+		"${BUILD_DIR:-${S}}"/include/acconfig.h \
+		|| die "sed failed"
+}
+
+src_configure() {
+	use custom-cflags || strip-flags
+	ceph_src_configure
+}
+
+src_compile() {
+	cmake_build all
+
+	# we have to do this here to prevent from building everything multiple times
+	python_copy_sources
+	python_foreach_impl python_compile
+}
+
+python_compile() {
+	local CMAKE_USE_DIR="${S}"
+	ceph_src_configure
+
+	cmake_build src/pybind/CMakeFiles/cython_modules
+	cmake_build cephadm
+}
+
+src_install() {
+	python_foreach_impl python_install
+
+	python_setup
+	cmake_src_install
+
+	python_optimize
+
+	find "${ED}" -name '*.la' -type f -delete || die
+
+	exeinto /usr/$(get_libdir)/ceph
+	newexe "${BUILD_DIR}/bin/init-ceph" init-ceph
+
+	insinto /etc/logrotate.d/
+	newins "${FILESDIR}"/ceph.logrotate-r2 ${PN}
+
+	keepdir /var/lib/${PN}{,/tmp} /var/log/ceph/stat /var/log/ceph/console
+
+	fowners -R ceph:ceph /var/log/ceph
+
+	newinitd "${FILESDIR}/rbdmap.initd-r1" rbdmap
+	newinitd "${FILESDIR}/${PN}.initd-r14" ${PN}
+	newconfd "${FILESDIR}/${PN}.confd-r5" ${PN}
+
+	insinto /etc/sudoers.d
+	doins sudoers.d/*
+
+	insinto /etc/sysctl.d
+	newins "${FILESDIR}"/sysctld 90-${PN}.conf
+
+	use tcmalloc && newenvd "${FILESDIR}"/envd-tcmalloc 99${PN}-tcmalloc
+
+	# units aren't installed by the build system unless systemd is enabled
+	# so no point installing these with the USE flag disabled
+	if use systemd; then
+		systemd_install_serviced "${FILESDIR}/ceph-mds_at.service.conf" "ceph-mds@.service"
+		systemd_install_serviced "${FILESDIR}/ceph-osd_at.service.conf" "ceph-osd@.service"
+	fi
+
+	udev_dorules udev/*.rules
+	newtmpfiles "${FILESDIR}"/ceph-tmpfilesd ${PN}.conf
+
+	readme.gentoo_create_doc
+
+	# bug #630232
+	sed -i -r "s:${T//:/\\:}/${EPYTHON}:/usr:" "${ED}"/usr/bin/ceph{,-crash} \
+		|| die "sed failed"
+
+	python_fix_shebang "${ED}"/usr/{,s}bin/
+
+	# python_fix_shebang apparently is not idempotent
+	local shebang_regex='(/usr/lib/python-exec/python[0-9]\.[0-9]/python)[0-9]\.[0-9]'
+	grep -r -E -l --null "${shebang_regex}" "${ED}"/usr/{s,}bin/ \
+		| xargs --null --no-run-if-empty -- sed -i -r  "s:${shebang_regex}:\1:" || die
+
+	local -a rados_classes=( "${ED}/usr/$(get_libdir)/rados-classes"/* )
+	dostrip -x "${rados_classes[@]#${ED}}"
+}
+
+python_install() {
+	local CMAKE_USE_DIR="${S}"
+	DESTDIR="${ED}" cmake_build src/pybind/install
+	DESTDIR="${ED}" cmake_build src/cephadm/install
+
+	python_optimize
+}
+
+pkg_postinst() {
+	readme.gentoo_print_elog
+	tmpfiles_process ${PN}.conf
+	udev_reload
+}
+
+pkg_postrm() {
+	udev_reload
+}

diff --git a/sys-cluster/ceph/files/ceph-19.1.0-boost-build-none-options.patch b/sys-cluster/ceph/files/ceph-19.1.0-boost-build-none-options.patch
new file mode 100644
index 000000000000..bef4f6199eb0
--- /dev/null
+++ b/sys-cluster/ceph/files/ceph-19.1.0-boost-build-none-options.patch
@@ -0,0 +1,13 @@
+diff --git a/src/boost/tools/build/src/tools/features/optimization-feature.jam b/src/boost/tools/build/src/tools/features/optimization-feature.jam
+index 761f76f1..fb2a5dec 100644
+--- a/src/boost/tools/build/src/tools/features/optimization-feature.jam
++++ b/src/boost/tools/build/src/tools/features/optimization-feature.jam
+@@ -8,7 +8,7 @@
+ import feature ;
+ 
+ feature.feature optimization
+-    : off speed space
++    : off none speed space
+     : propagated ;
+ 
+ feature.feature inlining


^ permalink raw reply related	[flat|nested] 68+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-cluster/ceph/, sys-cluster/ceph/files/
@ 2024-07-30  9:05 Patrick Lauer
  0 siblings, 0 replies; 68+ messages in thread
From: Patrick Lauer @ 2024-07-30  9:05 UTC (permalink / raw
  To: gentoo-commits

commit:     c8481002b920e87cfbffc3ca7908921134d70087
Author:     Patrick Lauer <patrick <AT> gentoo <DOT> org>
AuthorDate: Tue Jul 30 07:49:34 2024 +0000
Commit:     Patrick Lauer <patrick <AT> gentoo <DOT> org>
CommitDate: Tue Jul 30 09:05:03 2024 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=c8481002

sys-cluster/ceph: Fix build with gcc-14

Bug: https://bugs.gentoo.org/936889
Signed-off-by: Patrick Lauer <patrick <AT> gentoo.org>

 sys-cluster/ceph/ceph-18.2.1-r3.ebuild           | 493 +++++++++++++++++++++++
 sys-cluster/ceph/files/ceph-18.2.1-gcc14-2.patch | 253 ++++++++++++
 sys-cluster/ceph/files/ceph-18.2.1-gcc14.patch   | 141 +++++++
 3 files changed, 887 insertions(+)

diff --git a/sys-cluster/ceph/ceph-18.2.1-r3.ebuild b/sys-cluster/ceph/ceph-18.2.1-r3.ebuild
new file mode 100644
index 000000000000..212dd1166fae
--- /dev/null
+++ b/sys-cluster/ceph/ceph-18.2.1-r3.ebuild
@@ -0,0 +1,493 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{10..12} )
+LUA_COMPAT=( lua5-{3..4} )
+
+inherit check-reqs bash-completion-r1 cmake flag-o-matic lua-single \
+		python-r1 udev readme.gentoo-r1 toolchain-funcs systemd tmpfiles
+
+XSIMD_HASH="aeec9c872c8b475dedd7781336710f2dd2666cb2"
+
+DESCRIPTION="Ceph distributed filesystem"
+HOMEPAGE="https://ceph.com/"
+
+SRC_URI="
+	https://download.ceph.com/tarballs/${P}.tar.gz
+	parquet? ( https://github.com/xtensor-stack/xsimd/archive/${XSIMD_HASH}.tar.gz -> ceph-xsimd-${PV}.tar.gz )
+"
+
+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"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~ppc64"
+
+CPU_FLAGS_X86=(avx2 avx512f pclmul sse{,2,3,4_1,4_2} ssse3)
+
+IUSE="
+	babeltrace +cephfs custom-cflags diskprediction dpdk fuse grafana
+	jemalloc jaeger kafka kerberos ldap lttng +mgr +parquet pmdk rabbitmq
+	+radosgw rbd-rwl rbd-ssd rdma rgw-lua selinux +ssl spdk +sqlite +system-boost
+	systemd +tcmalloc test +uring xfs zbd zfs
+"
+
+IUSE+="$(printf "cpu_flags_x86_%s\n" ${CPU_FLAGS_X86[@]})"
+
+DEPEND="
+	${LUA_DEPS}
+	${PYTHON_DEPS}
+	acct-group/ceph
+	acct-user/ceph
+	virtual/libudev:=
+	app-arch/bzip2:=
+	app-arch/lz4:=
+	app-arch/snappy:=
+	>=app-arch/snappy-1.1.9-r1
+	app-arch/zstd:=
+	app-shells/bash:0
+	app-misc/jq:=
+	dev-cpp/gflags:=
+	dev-lang/jsonnet:=
+	dev-libs/libaio:=
+	dev-libs/libnl:3=
+	dev-libs/libxml2:=
+	dev-libs/libevent:=
+	dev-libs/libutf8proc:=
+	dev-libs/nss:=
+	dev-libs/openssl:=
+	<dev-libs/rocksdb-7.9.3:=
+	dev-libs/thrift:=
+	dev-libs/xmlsec:=[openssl]
+	dev-cpp/yaml-cpp:=
+	dev-python/natsort[${PYTHON_USEDEP}]
+	dev-python/pyyaml[${PYTHON_USEDEP}]
+	net-dns/c-ares:=
+	net-libs/gnutls:=
+	sys-auth/oath-toolkit:=
+	sys-apps/coreutils
+	sys-apps/hwloc:=
+	sys-apps/keyutils:=
+	sys-apps/util-linux:=
+	sys-libs/libcap-ng:=
+	sys-libs/ncurses:0=
+	sys-libs/zlib:=
+	sys-process/numactl:=
+	virtual/libcrypt:=
+	x11-libs/libpciaccess:=
+	babeltrace? ( dev-util/babeltrace:0/1 )
+	fuse? ( sys-fs/fuse:3= )
+	jemalloc? ( dev-libs/jemalloc:= )
+	!jemalloc? ( >=dev-util/google-perftools-2.6.1:= )
+	jaeger? (
+		dev-cpp/nlohmann_json:=
+		dev-cpp/opentelemetry-cpp:=[jaeger]
+	)
+	kafka? ( dev-libs/librdkafka:= )
+	kerberos? ( virtual/krb5 )
+	ldap? ( net-nds/openldap:= )
+	lttng? ( dev-util/lttng-ust:= )
+	parquet? ( dev-libs/re2:= )
+	pmdk? (
+		>=dev-libs/pmdk-1.10.0:=
+		sys-block/ndctl:=
+	)
+	rabbitmq? ( net-libs/rabbitmq-c:= )
+	radosgw? (
+		dev-libs/icu:=
+		dev-libs/expat:=
+		net-misc/curl:=[curl_ssl_openssl]
+	)
+	rbd-rwl? ( dev-libs/pmdk:= )
+	rdma? ( sys-cluster/rdma-core:= )
+	spdk? ( dev-util/cunit )
+	sqlite? ( dev-db/sqlite:= )
+	system-boost? ( dev-libs/boost:=[context,python,${PYTHON_USEDEP},zlib] )
+	uring? ( sys-libs/liburing:= )
+	xfs? ( sys-fs/xfsprogs:= )
+	zbd? ( sys-block/libzbd:= )
+	zfs? ( sys-fs/zfs:= )
+"
+BDEPEND="
+	amd64? ( dev-lang/nasm )
+	x86? ( dev-lang/yasm )
+	app-alternatives/cpio
+	dev-debug/valgrind
+	>=dev-build/cmake-3.5.0
+	dev-python/cython[${PYTHON_USEDEP}]
+	dev-python/setuptools[${PYTHON_USEDEP}]
+	dev-python/sphinx
+	dev-util/gperf
+	dev-util/ragel
+	sys-apps/coreutils
+	sys-apps/grep
+	sys-apps/util-linux
+	sys-apps/which
+	app-alternatives/bc
+	sys-devel/patch
+	virtual/pkgconfig
+	jaeger? (
+		app-alternatives/yacc
+		app-alternatives/lex
+	)
+	test? (
+		dev-util/cunit
+		dev-python/coverage[${PYTHON_USEDEP}]
+		dev-python/virtualenv[${PYTHON_USEDEP}]
+		dev-python/requests-mock[${PYTHON_USEDEP}]
+		sys-apps/grep[pcre]
+		sys-fs/btrfs-progs
+	)
+"
+RDEPEND="
+	${DEPEND}
+	app-admin/sudo
+	net-misc/socat
+	sys-apps/gptfdisk
+	sys-apps/nvme-cli
+	>=sys-apps/smartmontools-7.0
+	sys-block/parted
+	sys-fs/cryptsetup
+	sys-fs/lsscsi
+	sys-fs/lvm2[lvm]
+	app-alternatives/awk
+	dev-python/bcrypt[${PYTHON_USEDEP}]
+	dev-python/cherrypy[${PYTHON_USEDEP}]
+	dev-python/python-dateutil[${PYTHON_USEDEP}]
+	dev-python/flask[${PYTHON_USEDEP}]
+	dev-python/jinja[${PYTHON_USEDEP}]
+	dev-python/pecan[${PYTHON_USEDEP}]
+	dev-python/prettytable[${PYTHON_USEDEP}]
+	dev-python/pyopenssl[${PYTHON_USEDEP}]
+	dev-python/requests[${PYTHON_USEDEP}]
+	dev-python/werkzeug[${PYTHON_USEDEP}]
+	mgr? (
+		dev-python/jsonpatch[${PYTHON_USEDEP}]
+		dev-python/more-itertools[${PYTHON_USEDEP}]
+		dev-python/numpy[${PYTHON_USEDEP}]
+		dev-python/pyjwt[${PYTHON_USEDEP}]
+		dev-python/routes[${PYTHON_USEDEP}]
+		diskprediction? (
+			>=dev-python/scipy-1.4.0[${PYTHON_USEDEP}]
+		)
+		dev-python/scikit-learn[${PYTHON_USEDEP}]
+		dev-python/six[${PYTHON_USEDEP}]
+	)
+	selinux? ( sec-policy/selinux-ceph )
+"
+REQUIRED_USE="
+	${PYTHON_REQUIRED_USE}
+	${LUA_REQUIRED_USE}
+	?? ( jemalloc tcmalloc )
+	diskprediction? ( mgr )
+	kafka? ( radosgw )
+	mgr? ( cephfs )
+	rabbitmq? ( radosgw )
+	rgw-lua? ( radosgw )
+"
+
+RESTRICT="
+	!test? ( test )
+"
+
+# tests need root access, and network access
+RESTRICT+="test"
+
+# false positives unless all USE flags are on
+CMAKE_WARN_UNUSED_CLI=no
+
+PATCHES=(
+	"${FILESDIR}/ceph-12.2.0-use-provided-cpu-flag-values.patch"
+	"${FILESDIR}/ceph-14.2.0-cflags.patch"
+	"${FILESDIR}/ceph-12.2.4-boost-build-none-options.patch"
+	"${FILESDIR}/ceph-17.2.1-no-virtualenvs.patch"
+	"${FILESDIR}/ceph-13.2.2-dont-install-sysvinit-script.patch"
+	"${FILESDIR}/ceph-14.2.0-dpdk-cflags.patch"
+	"${FILESDIR}/ceph-16.2.0-rocksdb-cmake.patch"
+	"${FILESDIR}/ceph-16.2.0-spdk-tinfo.patch"
+	"${FILESDIR}/ceph-16.2.0-jaeger-system-boost.patch"
+	"${FILESDIR}/ceph-16.2.0-liburing.patch"
+	"${FILESDIR}/ceph-17.2.0-pybind-boost-1.74.patch"
+	"${FILESDIR}/ceph-17.2.0-findre2.patch"
+	"${FILESDIR}/ceph-18.2.0-system-opentelemetry.patch"
+	"${FILESDIR}/ceph-17.2.0-osd_class_dir.patch"
+	"${FILESDIR}/ceph-17.2.0-gcc12-header.patch"
+	"${FILESDIR}/ceph-17.2.3-flags.patch"
+	# https://bugs.gentoo.org/866165
+	"${FILESDIR}/ceph-17.2.5-suppress-cmake-warning.patch"
+	"${FILESDIR}/ceph-17.2.5-gcc13-deux.patch"
+	"${FILESDIR}/ceph-17.2.5-boost-1.81.patch"
+	# https://bugs.gentoo.org/901403
+	"${FILESDIR}/ceph-17.2.6-link-boost-context.patch"
+	# https://bugs.gentoo.org/905626
+	"${FILESDIR}/ceph-17.2.6-arrow-flatbuffers-c++14.patch"
+	# https://bugs.gentoo.org/868891
+	"${FILESDIR}/ceph-17.2.6-cmake.patch"
+	"${FILESDIR}/ceph-18.2.0-cyclic-deps.patch"
+	# https://bugs.gentoo.org/907739
+	"${FILESDIR}/ceph-18.2.0-cython3.patch"
+	# https://bugs.gentoo.org/936889
+	"${FILESDIR}/ceph-18.2.1-gcc14.patch"
+	"${FILESDIR}/ceph-18.2.1-gcc14-2.patch"
+)
+
+check-reqs_export_vars() {
+	CHECKREQS_DISK_BUILD="6G"
+
+	if use system-boost; then
+		CHECKREQS_DISK_USR="350M"
+	else
+		CHECKREQS_DISK_USR="510M"
+	fi
+
+	export CHECKREQS_DISK_BUILD CHECKREQS_DISK_USR
+}
+
+pkg_pretend() {
+	check-reqs_export_vars
+	check-reqs_pkg_pretend
+}
+
+pkg_setup() {
+	python_setup
+	lua_setup
+	check-reqs_export_vars
+	check-reqs_pkg_setup
+}
+
+src_prepare() {
+	cmake_src_prepare
+
+	if use system-boost; then
+		find "${S}" -name '*.cmake' -or -name 'CMakeLists.txt' -print0 \
+			| xargs --null sed -r \
+			-e 's|Boost::|boost_|g' \
+			-e 's|Boost_|boost_|g' \
+			-e 's|[Bb]oost_boost|boost_system|g' \
+			-i || die
+	fi
+
+	if ! use systemd; then
+		find "${S}"/src/ceph-volume/ceph_volume -name '*.py' -print0 \
+			| xargs --null sed \
+			-e '/^from ceph_volume.systemd import systemctl/ d' \
+			-i || die
+	fi
+
+	sed -r -e "s:DESTINATION .+\\):DESTINATION $(get_bashcompdir)\\):" \
+		-i src/bash_completion/CMakeLists.txt || die
+
+	sed -e "s:objdump -p:$(tc-getOBJDUMP) -p:" -i CMakeLists.txt || die
+
+	# force lua version to use selected version
+	local lua_version
+	lua_version=$(ver_cut 1-2 $(lua_get_version))
+	sed "s:find_package(Lua [0-9][.][0-9] REQUIRED):find_package(Lua ${lua_version} EXACT REQUIRED):" \
+		-i src/CMakeLists.txt
+
+	if use spdk; then
+		# https://bugs.gentoo.org/871942
+		sed -i 's/[#]ifndef HAVE_ARC4RANDOM/#if 0/' src/spdk/lib/iscsi/iscsi.c || die
+	fi
+
+	# remove tests that need root access
+	rm src/test/cli/ceph-authtool/cap*.t || die
+}
+
+ceph_src_configure() {
+	local mycmakeargs=(
+		-DWITH_BABELTRACE:BOOL=$(usex babeltrace)
+		-DWITH_BLUESTORE_PMEM:BOOL=$(usex pmdk)
+		-DWITH_CEPHFS:BOOL=$(usex cephfs)
+		-DWITH_CEPHFS_SHELL:BOOL=$(usex cephfs)
+		-DWITH_DPDK:BOOL=$(usex dpdk)
+		-DWITH_SPDK:BOOL=$(usex spdk)
+		-DWITH_FUSE:BOOL=$(usex fuse)
+		-DWITH_LTTNG:BOOL=$(usex lttng)
+		-DWITH_GSSAPI:BOOL=$(usex kerberos)
+		-DWITH_GRAFANA:BOOL=$(usex grafana)
+		-DWITH_MGR:BOOL=$(usex mgr)
+		-DWITH_MGR_DASHBOARD_FRONTEND:BOOL=OFF
+		-DWITH_OPENLDAP:BOOL=$(usex ldap)
+		-DWITH_PYTHON3:STRING=3
+		-DWITH_RADOSGW:BOOL=$(usex radosgw)
+		-DWITH_RADOSGW_AMQP_ENDPOINT:BOOL=$(usex rabbitmq)
+		-DWITH_RADOSGW_KAFKA_ENDPOINT:BOOL=$(usex kafka)
+		-DWITH_RADOSGW_LUA_PACKAGES:BOOL=$(usex rgw-lua "$(usex radosgw)" "NO")
+		-DWITH_RBD_RWL:BOOL=$(usex rbd-rwl)
+		-DWITH_RBD_SSD_CACHE:BOOL=$(usex rbd-ssd)
+		-DWITH_SYSTEMD:BOOL=$(usex systemd)
+		-DWITH_TESTS:BOOL=$(usex test)
+		-DWITH_LIBURING:BOOL=$(usex uring)
+		-DWITH_SYSTEM_LIBURING:BOOL=$(usex uring)
+		-DWITH_LIBCEPHSQLITE:BOOL=$(usex sqlite)
+		-DWITH_XFS:BOOL=$(usex xfs)
+		-DWITH_ZBD:BOOL=$(usex zbd)
+		-DWITH_ZFS:BOOL=$(usex zfs)
+		-DENABLE_SHARED:BOOL=ON
+		-DALLOCATOR:STRING=$(usex tcmalloc 'tcmalloc' "$(usex jemalloc 'jemalloc' 'libc')")
+		-DWITH_SYSTEM_PMDK:BOOL=$(usex pmdk 'YES' "$(usex rbd-rwl '')")
+		-DWITH_SYSTEM_BOOST:BOOL=$(usex system-boost)
+		-DWITH_SYSTEM_ROCKSDB:BOOL=ON
+		-DWITH_SYSTEM_ZSTD:BOOL=ON
+		-DWITH_RDMA:BOOL=$(usex rdma)
+		-DCMAKE_INSTALL_DOCDIR:PATH="${EPREFIX}/usr/share/doc/${PN}-${PVR}"
+		-DCMAKE_INSTALL_SYSCONFDIR:PATH="${EPREFIX}/etc"
+		# use the bundled libfmt for now since they seem to constantly break their API
+		-DCMAKE_DISABLE_FIND_PACKAGE_fmt=ON
+		-Wno-dev
+	)
+
+	# this breaks when re-configuring for python impl
+	if [[ ${EBUILD_PHASE} == configure ]]; then
+		mycmakeargs+=(
+			-DWITH_JAEGER:BOOL=$(usex jaeger)
+			-DWITH_RADOSGW_SELECT_PARQUET:BOOL=$(usex parquet)
+		)
+	else
+		mycmakeargs+=(
+			-DWITH_RADOSGW_SELECT_PARQUET:BOOL=OFF
+			-DWITH_JAEGER:BOOL=OFF
+			# don't want to warn about unused CLI when reconfiguring for python
+			-DCMAKE_WARN_UNUSED_CLI:BOOL=OFF
+		)
+	fi
+
+	# conditionally used cmake args
+	use test && mycmakearts+=( -DWITH_SYSTEM_GTEST:BOOL=$(usex test) )
+	use systemd && mycmakeargs+=( -DSYSTEMD_SYSTEM_UNIT_DIR:PATH=$(systemd_get_systemunitdir) )
+
+	if use amd64 || use x86; then
+		local flag
+		for flag in "${CPU_FLAGS_X86[@]}"; do
+			case "${flag}" in
+				avx*)
+					local var=${flag%f}
+					mycmakeargs+=(
+						"-DHAVE_NASM_X64_${var^^}:BOOL=$(usex cpu_flags_x86_${flag})"
+					)
+				;;
+				*) mycmakeargs+=(
+						"-DHAVE_INTEL_${flag^^}:BOOL=$(usex cpu_flags_x86_${flag})"
+					);;
+			esac
+		done
+	fi
+
+	# needed for >=glibc-2.32
+	has_version '>=sys-libs/glibc-2.32' && mycmakeargs+=( -DWITH_REENTRANT_STRSIGNAL:BOOL=ON )
+
+	rm -f "${BUILD_DIR:-${S}}/CMakeCache.txt" \
+		|| die "failed to remove cmake cache"
+
+	# hopefully this will not be necessary in the next release
+	use parquet && export ARROW_XSIMD_URL="file:///${DISTDIR}/ceph-xsimd-${PV}.tar.gz"
+
+	# https://bugs.gentoo.org/927066
+	filter-lto
+
+	cmake_src_configure
+
+	# bug #630232
+	sed -i "s:\"${T//:\\:}/${EPYTHON}/bin/python\":\"${PYTHON}\":" \
+		"${BUILD_DIR:-${S}}"/include/acconfig.h \
+		|| die "sed failed"
+}
+
+src_configure() {
+	use custom-cflags || strip-flags
+	ceph_src_configure
+}
+
+src_compile() {
+	cmake_build all
+
+	# we have to do this here to prevent from building everything multiple times
+	python_copy_sources
+	python_foreach_impl python_compile
+}
+
+python_compile() {
+	local CMAKE_USE_DIR="${S}"
+	ceph_src_configure
+
+	cmake_build src/pybind/CMakeFiles/cython_modules
+	cmake_build cephadm
+}
+
+src_install() {
+	python_foreach_impl python_install
+
+	python_setup
+	cmake_src_install
+
+	python_optimize
+
+	find "${ED}" -name '*.la' -type f -delete || die
+
+	exeinto /usr/$(get_libdir)/ceph
+	newexe "${BUILD_DIR}/bin/init-ceph" init-ceph
+
+	insinto /etc/logrotate.d/
+	newins "${FILESDIR}"/ceph.logrotate-r2 ${PN}
+
+	keepdir /var/lib/${PN}{,/tmp} /var/log/ceph/stat /var/log/ceph/console
+
+	fowners -R ceph:ceph /var/log/ceph
+
+	newinitd "${FILESDIR}/rbdmap.initd-r1" rbdmap
+	newinitd "${FILESDIR}/${PN}.initd-r14" ${PN}
+	newconfd "${FILESDIR}/${PN}.confd-r5" ${PN}
+
+	insinto /etc/sudoers.d
+	doins sudoers.d/*
+
+	insinto /etc/sysctl.d
+	newins "${FILESDIR}"/sysctld 90-${PN}.conf
+
+	use tcmalloc && newenvd "${FILESDIR}"/envd-tcmalloc 99${PN}-tcmalloc
+
+	# units aren't installed by the build system unless systemd is enabled
+	# so no point installing these with the USE flag disabled
+	if use systemd; then
+		systemd_install_serviced "${FILESDIR}/ceph-mds_at.service.conf" "ceph-mds@.service"
+		systemd_install_serviced "${FILESDIR}/ceph-osd_at.service.conf" "ceph-osd@.service"
+	fi
+
+	udev_dorules udev/*.rules
+	newtmpfiles "${FILESDIR}"/ceph-tmpfilesd ${PN}.conf
+
+	readme.gentoo_create_doc
+
+	# bug #630232
+	sed -i -r "s:${T//:/\\:}/${EPYTHON}:/usr:" "${ED}"/usr/bin/ceph{,-crash} \
+		|| die "sed failed"
+
+	python_fix_shebang "${ED}"/usr/{,s}bin/
+
+	# python_fix_shebang apparently is not idempotent
+	local shebang_regex='(/usr/lib/python-exec/python[0-9]\.[0-9]/python)[0-9]\.[0-9]'
+	grep -r -E -l --null "${shebang_regex}" "${ED}"/usr/{s,}bin/ \
+		| xargs --null --no-run-if-empty -- sed -i -r  "s:${shebang_regex}:\1:" || die
+
+	local -a rados_classes=( "${ED}/usr/$(get_libdir)/rados-classes"/* )
+	dostrip -x "${rados_classes[@]#${ED}}"
+}
+
+python_install() {
+	local CMAKE_USE_DIR="${S}"
+	DESTDIR="${ED}" cmake_build src/pybind/install
+	DESTDIR="${ED}" cmake_build src/cephadm/install
+
+	python_optimize
+}
+
+pkg_postinst() {
+	readme.gentoo_print_elog
+	tmpfiles_process ${PN}.conf
+	udev_reload
+}
+
+pkg_postrm() {
+	udev_reload
+}

diff --git a/sys-cluster/ceph/files/ceph-18.2.1-gcc14-2.patch b/sys-cluster/ceph/files/ceph-18.2.1-gcc14-2.patch
new file mode 100644
index 000000000000..334de92fec08
--- /dev/null
+++ b/sys-cluster/ceph/files/ceph-18.2.1-gcc14-2.patch
@@ -0,0 +1,253 @@
+From f9aea9105b6c1a8d7bff0ec0675f84f2ffb1db6f Mon Sep 17 00:00:00 2001
+From: Florian Weimer <fweimer@redhat.com>
+Date: Wed, 20 Dec 2023 14:16:19 +0100
+Subject: [PATCH 1/2] tracing: Fix C type errors in librados tracing
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+This fixes type errors like this:
+
+In file included from /usr/include/lttng/tracepoint-event.h:69,
+                 from …-build/include/tracing/librados.h:4143,
+                 from …/src/tracing/librados.c:6
+:
+…-build/include/tracing/librados.h:
+ In function ‘lttng_ust__event_probe__librados___rados_mon_command_exit’:
+…-build/include/tracing/librados.h:477:9: error: initialization of ‘size_t’ {aka ‘long unsigned int’} from ‘size_t *’ {aka ‘long unsigned int *’} makes integer from pointer without a cast
+  477 |         ceph_ctf_integerp(size_t, outslen, outslen)
+      |         ^~~~~~~~~~~~~~~~~
+
+GCC 14 will likely treat these type mismatches as an error
+and fail the build.
+
+Signed-off-by: Florian Weimer <fweimer@redhat.com>
+---
+ src/tracing/librados.tp      | 4 ++--
+ src/tracing/tracing-common.h | 2 +-
+ 2 files changed, 3 insertions(+), 3 deletions(-)
+
+diff --git a/src/tracing/librados.tp b/src/tracing/librados.tp
+index 8b5e78ef15d65..8e116124b83d5 100644
+--- a/src/tracing/librados.tp
++++ b/src/tracing/librados.tp
+@@ -2628,7 +2628,7 @@ TRACEPOINT_EVENT(librados, rados_watch3_enter,
+     TP_FIELDS(
+         ctf_integer_hex(rados_ioctx_t, ioctx, ioctx)
+         ctf_string(oid, oid)
+-        ctf_integer_hex(uint64_t, phandle, phandle)
++        ctf_integer_hex(uint64_t*, phandle, phandle)
+         ctf_integer_hex(rados_watchcb2_t, callback, callback)
+         ctf_integer(uint32_t, timeout, timeout)
+         ctf_integer_hex(void*, arg, arg)
+@@ -2658,7 +2658,7 @@ TRACEPOINT_EVENT(librados, rados_aio_watch2_enter,
+         ctf_integer_hex(rados_ioctx_t, ioctx, ioctx)
+         ctf_string(oid, oid)
+         ctf_integer_hex(rados_completion_t, completion, completion)
+-        ctf_integer_hex(uint64_t, phandle, phandle)
++        ctf_integer_hex(uint64_t*, phandle, phandle)
+         ctf_integer_hex(rados_watchcb2_t, callback, callback)
+         ctf_integer(uint32_t, timeout, timeout)
+         ctf_integer_hex(void*, arg, arg)
+diff --git a/src/tracing/tracing-common.h b/src/tracing/tracing-common.h
+index 3e07f9de8e85c..03449ab588615 100644
+--- a/src/tracing/tracing-common.h
++++ b/src/tracing/tracing-common.h
+@@ -21,7 +21,7 @@
+ // type should be an integer type
+ // val should have type type*
+ #define ceph_ctf_integerp(type, field, val) \
+-    ctf_integer(type, field, (val) == NULL ? 0 : (val)) \
++    ctf_integer(type, field, (val) == NULL ? 0 : *(val)) \
+     ctf_integer(uint8_t, field##_isnull, (val) == NULL)
+ 
+ // val should have type char*
+
+From a49d154f4a8e493baf2296a15c7b5c56cd25e993 Mon Sep 17 00:00:00 2001
+From: Florian Weimer <fweimer@redhat.com>
+Date: Wed, 20 Dec 2023 14:59:19 +0100
+Subject: [PATCH 2/2] pybind: Fix C type errors in Cython-generated Python
+ bindings
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+Several Ceph APIs use bool * types, which correspond to
+libcpp.bool * types in Cython.  The bint type has an incorrect
+size 4 and cannot be used as a replacement.
+
+This prevents a compilation failure with future compilers:
+
+…-build/src/pybind/rbd/rbd.c: In function ‘__pyx_pf_3rbd_3RBD_104namespace_exists’:
+…-build/src/pybind/rbd/rbd.c:42165:76: error: passing argument 3 of ‘rbd_namespace_exists’ from incompatible pointer type
+42165 |         __pyx_v_ret = rbd_namespace_exists(__pyx_v__ioctx, __pyx_v__name, (&__pyx_v__exists));
+      |                                                                           ~^~~~~~~~~~~~~~~~~
+      |                                                                            |
+      |                                                                            int *
+In file included from …-build/src/pybind/rbd/rbd.c:1268:
+…/src/include/rbd/librbd.h:1496:45: note: expected ‘_Bool *’ but argument is of type ‘int *’
+ 1496 |                                       bool *exists);
+      |                                             ^
+
+Signed-off-by: Florian Weimer <fweimer@redhat.com>
+---
+ src/pybind/rbd/c_rbd.pxd    | 5 +++--
+ src/pybind/rbd/mock_rbd.pxi | 9 +++++++--
+ src/pybind/rbd/rbd.pyx      | 9 +++++----
+ src/pybind/rgw/mock_rgw.pxi | 9 +++++++--
+ src/pybind/rgw/rgw.pyx      | 3 ++-
+ 5 files changed, 24 insertions(+), 11 deletions(-)
+
+diff --git a/src/pybind/rbd/c_rbd.pxd b/src/pybind/rbd/c_rbd.pxd
+index 885f7bd46abde..bda23bbc4735f 100644
+--- a/src/pybind/rbd/c_rbd.pxd
++++ b/src/pybind/rbd/c_rbd.pxd
+@@ -2,6 +2,7 @@
+ 
+ from libc.stdint cimport *
+ from ctime cimport time_t, timespec
++cimport libcpp
+ 
+ cdef extern from "rados/librados.h":
+     enum:
+@@ -525,7 +526,7 @@ cdef extern from "rbd/librbd.h" nogil:
+     int rbd_snap_unprotect(rbd_image_t image, const char *snap_name)
+     int rbd_snap_is_protected(rbd_image_t image, const char *snap_name,
+                               int *is_protected)
+-    int rbd_snap_exists(rbd_image_t image, const char *snapname, bint *exists)
++    int rbd_snap_exists(rbd_image_t image, const char *snapname, libcpp.bool *exists)
+     int rbd_snap_get_limit(rbd_image_t image, uint64_t *limit)
+     int rbd_snap_set_limit(rbd_image_t image, uint64_t limit)
+     int rbd_snap_get_timestamp(rbd_image_t image, uint64_t snap_id, timespec *timestamp)
+@@ -711,7 +712,7 @@ cdef extern from "rbd/librbd.h" nogil:
+     int rbd_namespace_list(rados_ioctx_t io, char *namespace_names,
+                            size_t *size)
+     int rbd_namespace_exists(rados_ioctx_t io, const char *namespace_name,
+-                             bint *exists)
++                             libcpp.bool *exists)
+ 
+     int rbd_pool_init(rados_ioctx_t, bint force)
+ 
+diff --git a/src/pybind/rbd/mock_rbd.pxi b/src/pybind/rbd/mock_rbd.pxi
+index 11872bd8146de..364f965fbad43 100644
+--- a/src/pybind/rbd/mock_rbd.pxi
++++ b/src/pybind/rbd/mock_rbd.pxi
+@@ -3,6 +3,11 @@
+ from libc.stdint cimport *
+ from ctime cimport time_t, timespec
+ 
++# Make the bool type available as libcpp.bool, for both C and C++.
++cimport libcpp
++cdef extern from "<stdbool.h>":
++    pass
++
+ cdef nogil:
+     enum:
+         _LIBRADOS_SNAP_HEAD "LIBRADOS_SNAP_HEAD"
+@@ -637,7 +642,7 @@ cdef nogil:
+     int rbd_snap_is_protected(rbd_image_t image, const char *snap_name,
+                               int *is_protected):
+         pass
+-    int rbd_snap_exists(rbd_image_t image, const char *snapname, bint *exists):
++    int rbd_snap_exists(rbd_image_t image, const char *snapname, libcpp.bool *exists):
+         pass
+     int rbd_snap_get_limit(rbd_image_t image, uint64_t *limit):
+         pass
+@@ -896,7 +901,7 @@ cdef nogil:
+                            size_t *size):
+         pass
+     int rbd_namespace_exists(rados_ioctx_t io, const char *namespace_name,
+-                             bint *exists):
++                             libcpp.bool *exists):
+         pass
+     int rbd_pool_init(rados_ioctx_t io, bint force):
+         pass
+diff --git a/src/pybind/rbd/rbd.pyx b/src/pybind/rbd/rbd.pyx
+index fcb2fb3470600..f59ba23f0fe21 100644
+--- a/src/pybind/rbd/rbd.pyx
++++ b/src/pybind/rbd/rbd.pyx
+@@ -23,6 +23,7 @@ from libc cimport errno
+ from libc.stdint cimport *
+ from libc.stdlib cimport malloc, realloc, free
+ from libc.string cimport strdup, memset
++cimport libcpp
+ 
+ try:
+     from collections.abc import Iterable
+@@ -1935,12 +1936,12 @@ class RBD(object):
+         cdef:
+             rados_ioctx_t _ioctx = convert_ioctx(ioctx)
+             const char *_name = name
+-            bint _exists = False
++            libcpp.bool _exists = False
+         with nogil:
+             ret = rbd_namespace_exists(_ioctx, _name, &_exists)
+         if ret != 0:
+             raise make_ex(ret, 'error verifying namespace')
+-        return bool(_exists != 0)
++        return _exists
+ 
+     def namespace_list(self, ioctx):
+         """
+@@ -3679,12 +3680,12 @@ cdef class Image(object):
+         name = cstr(name, 'name')
+         cdef:
+             char *_name = name
+-            bint _exists = False
++            libcpp.bool _exists = False
+         with nogil:
+             ret = rbd_snap_exists(self.image, _name, &_exists)
+         if ret != 0:
+             raise make_ex(ret, 'error getting snapshot exists for %s' % self.name)
+-        return bool(_exists != 0)
++        return _exists
+ 
+     @requires_not_closed
+     def get_snap_limit(self):
+diff --git a/src/pybind/rgw/mock_rgw.pxi b/src/pybind/rgw/mock_rgw.pxi
+index ca893a5bb8a16..806d4df75de05 100644
+--- a/src/pybind/rgw/mock_rgw.pxi
++++ b/src/pybind/rgw/mock_rgw.pxi
+@@ -1,5 +1,10 @@
+ # cython: embedsignature=True
+ 
++# Make the bool type available as libcpp.bool, for both C and C++.
++cimport libcpp
++cdef extern from "<stdbool.h>":
++    pass
++
+ cdef nogil:
+     ctypedef void* librgw_t
+ 
+@@ -111,8 +116,8 @@ cdef nogil:
+ 
+     int rgw_readdir(rgw_fs *fs,
+                     rgw_file_handle *parent_fh, uint64_t *offset,
+-                    bint (*cb)(const char *name, void *arg, uint64_t offset, stat *st, uint32_t st_mask, uint32_t flags) nogil except? -9000,
+-                    void *cb_arg, bint *eof, uint32_t flags) except? -9000:
++                    libcpp.bool (*cb)(const char *name, void *arg, uint64_t offset, stat *st, uint32_t st_mask, uint32_t flags) nogil except? -9000,
++                    void *cb_arg, libcpp.bool *eof, uint32_t flags) except? -9000:
+         pass
+ 
+     int rgw_getattr(rgw_fs *fs,
+diff --git a/src/pybind/rgw/rgw.pyx b/src/pybind/rgw/rgw.pyx
+index 9bbcdfff586a8..d210a70bbb8e3 100644
+--- a/src/pybind/rgw/rgw.pyx
++++ b/src/pybind/rgw/rgw.pyx
+@@ -7,6 +7,7 @@ from cpython cimport PyObject, ref, exc, array
+ from libc.stdint cimport *
+ from libc.stdlib cimport malloc, realloc, free
+ from cstat cimport stat
++cimport libcpp
+ 
+ IF BUILD_DOC:
+     include "mock_rgw.pxi"
+@@ -373,7 +374,7 @@ cdef class LibRGWFS(object):
+         cdef:
+             rgw_file_handle *_dir_handler = <rgw_file_handle*>dir_handler.handler
+             uint64_t _offset = offset
+-            bint _eof
++            libcpp.bool _eof
+             uint32_t _flags = flags
+         with nogil:
+             ret = rgw_readdir(self.fs, _dir_handler, &_offset, &readdir_cb,

diff --git a/sys-cluster/ceph/files/ceph-18.2.1-gcc14.patch b/sys-cluster/ceph/files/ceph-18.2.1-gcc14.patch
new file mode 100644
index 000000000000..129f50e2857b
--- /dev/null
+++ b/sys-cluster/ceph/files/ceph-18.2.1-gcc14.patch
@@ -0,0 +1,141 @@
+From 0eace4ea9ea42412d4d6a16d24a8660642e41173 Mon Sep 17 00:00:00 2001
+From: Radoslaw Zarzynski <rzarzyns@redhat.com>
+Date: Wed, 24 Jan 2024 17:22:44 +0000
+Subject: [PATCH] common/dout: fix FTBFS on GCC 14
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+The following problem has been reported by Kaleb Keithley:
+
+```
+/builddir/build/BUILD/ceph-18.2.1/src/osd/osd_types.h: In lambda function:
+/builddir/build/BUILD/ceph-18.2.1/src/common/dout.h:184:73: error: call to non-‘constexpr’ function ‘virtual unsigned int DoutPrefixProvider::get_subsys() const’
+  184 |     dout_impl(pdpp->get_cct(), ceph::dout::need_dynamic(pdpp->get_subsys()), v) \
+      |                                                         ~~~~~~~~~~~~~~~~^~
+/builddir/build/BUILD/ceph-18.2.1/src/common/dout.h:155:58: note: in definition of macro ‘dout_impl’
+  155 |       return (cctX->_conf->subsys.template should_gather<sub, v>());    \
+      |                                                          ^~~
+/builddir/build/BUILD/ceph-18.2.1/src/osd/osd_types.h:3617:3: note: in expansion of macro ‘ldpp_dout’
+ 3617 |   ldpp_dout(dpp, 10) << "build_prior all_probe " << all_probe << dendl;
+      |   ^~~~~~~~~
+```
+
+For details of the problem and the idea behind the fix,
+please refer to the comment this commit brings to `dout.h`.
+
+The minimized replicator that the facilitated Goldbot-based
+investigation:
+
+```cpp
+namespace ceph::dout {
+
+template<typename T>
+struct dynamic_marker_t {
+  T value;
+  // constexpr ctor isn't needed as it's an aggregate type
+  constexpr operator T() const { return value; }
+};
+
+template<typename T>
+constexpr dynamic_marker_t<T> need_dynamic(T&& t) {
+  return dynamic_marker_t<T>{ std::forward<T>(t) };
+}
+
+template<typename T>
+struct is_dynamic : public std::false_type {};
+
+template<typename T>
+struct is_dynamic<dynamic_marker_t<T>> : public std::true_type {};
+
+} // ceph::dout
+
+struct subsys_t {
+  template <unsigned SubV, int LvlV>
+  bool should_gather() const {
+    return true;
+  }
+  bool should_gather(const unsigned sub, int level) const {
+    return false;
+  }
+};
+
+static subsys_t subsys;
+
+  do {                                                                  \
+  const bool should_gather = [&](const auto cctX) {                     \
+    if constexpr (ceph::dout::is_dynamic<decltype(sub)>::value ||       \
+                  ceph::dout::is_dynamic<decltype(v)>::value) {         \
+      std::cout << "the dynamic path" << std::endl;                     \
+      return subsys.should_gather(sub, v);                              \
+    } else {                                                            \
+      /* The parentheses are **essential** because commas in angle      \
+       * brackets are NOT ignored on macro expansion! A language's      \
+       * limitation, sorry. */                                          \
+      std::cout << "the static path" << std::endl;                      \
+      /*return subsys.should_gather(sub, v);*/                              \
+      return (subsys.template should_gather<sub, v>());             \
+    }                                                                   \
+  }(cct);                                                               \
+  } while (0)
+
+  if (decltype(auto) pdpp = (dpp); pdpp) /* workaround -Wnonnull-compare for 'this' */ \
+    dout_impl(42, sub, v)
+
+  if (decltype(auto) pdpp = (dpp); pdpp) /* workaround -Wnonnull-compare for 'this' */ \
+    dout_impl(42, ceph::dout::need_dynamic(42), v)
+
+int main() {
+    std::random_device dev;
+    std::mt19937 rng(dev());
+    std::uniform_int_distribution<std::mt19937::result_type> dist6(1,6); // distribution in range [1, 6]
+
+    int sub = dist6(rng);
+    ldpp_dout("mocked out", sub);
+    //ldpp_subdout("mocked out", 4, 3);
+}
+```
+
+Fixes: https://tracker.ceph.com/issues/64050
+Signed-off-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
+---
+ src/common/dout.h | 20 +++++++++++++++-----
+ 1 file changed, 15 insertions(+), 5 deletions(-)
+
+diff --git a/src/common/dout.h b/src/common/dout.h
+index 4cd60efff8fef..6516060c5438e 100644
+--- a/src/common/dout.h
++++ b/src/common/dout.h
+@@ -144,17 +144,27 @@ struct is_dynamic<dynamic_marker_t<T>> : public std::true_type {};
+ #else
+ #define dout_impl(cct, sub, v)						\
+   do {									\
+-  const bool should_gather = [&](const auto cctX) {			\
+-    if constexpr (ceph::dout::is_dynamic<decltype(sub)>::value ||	\
+-		  ceph::dout::is_dynamic<decltype(v)>::value) {		\
++  const bool should_gather = [&](const auto cctX, auto sub_, auto v_) {	\
++    /* The check is performed on `sub_` and `v_` to leverage the C++'s 	\
++     * guarantee on _discarding_ one of blocks of `if constexpr`, which	\
++     * includes also the checks for ill-formed code (`should_gather<>`	\
++     * must not be feed with non-const expresions), BUT ONLY within	\
++     * a template (thus the generic lambda) and under the restriction	\
++     * it's dependant on a parameter of this template).			\
++     * GCC prior to v14 was not enforcing these restrictions. */	\
++    if constexpr (ceph::dout::is_dynamic<decltype(sub_)>::value ||	\
++		  ceph::dout::is_dynamic<decltype(v_)>::value) {	\
+       return cctX->_conf->subsys.should_gather(sub, v);			\
+     } else {								\
++      constexpr auto sub_helper = static_cast<decltype(sub_)>(sub);	\
++      constexpr auto v_helper = static_cast<decltype(v_)>(v);		\
+       /* The parentheses are **essential** because commas in angle	\
+        * brackets are NOT ignored on macro expansion! A language's	\
+        * limitation, sorry. */						\
+-      return (cctX->_conf->subsys.template should_gather<sub, v>());	\
++      return (cctX->_conf->subsys.template should_gather<sub_helper,	\
++							 v_helper>());	\
+     }									\
+-  }(cct);								\
++  }(cct, sub, v);							\
+ 									\
+   if (should_gather) {							\
+     ceph::logging::MutableEntry _dout_e(v, sub);                        \


^ permalink raw reply related	[flat|nested] 68+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-cluster/ceph/, sys-cluster/ceph/files/
@ 2024-07-30  9:05 Patrick Lauer
  0 siblings, 0 replies; 68+ messages in thread
From: Patrick Lauer @ 2024-07-30  9:05 UTC (permalink / raw
  To: gentoo-commits

commit:     facfa7ae3832068faf09c7671993f816e8c6486e
Author:     Patrick Lauer <patrick <AT> gentoo <DOT> org>
AuthorDate: Tue Jul 30 09:04:54 2024 +0000
Commit:     Patrick Lauer <patrick <AT> gentoo <DOT> org>
CommitDate: Tue Jul 30 09:05:04 2024 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=facfa7ae

sys-cluster/ceph: add 18.2.4

Signed-off-by: Patrick Lauer <patrick <AT> gentoo.org>

 sys-cluster/ceph/Manifest                         |   2 +
 sys-cluster/ceph/ceph-18.2.4.ebuild               | 493 ++++++++++++++++++++++
 sys-cluster/ceph/files/ceph-18.2.4-liburing.patch |  26 ++
 3 files changed, 521 insertions(+)

diff --git a/sys-cluster/ceph/Manifest b/sys-cluster/ceph/Manifest
index 7359f5913f9f..39bec2fe54d7 100644
--- a/sys-cluster/ceph/Manifest
+++ b/sys-cluster/ceph/Manifest
@@ -3,6 +3,8 @@ DIST ceph-16.2.15.tar.gz 157260936 BLAKE2B 4de2e35c870ca005bf86f8158709d021785ec
 DIST ceph-17.2.6.tar.gz 168093221 BLAKE2B f79efce9bd7f485b43ae1b4da94a1d9fb3753003f34535e93c80e480ffeaaf054d371f75bca72402da5f9dd460aafa820bb2af550d213bdbcca74aa939180431 SHA512 dca9aea2ce210c15fcc34cb06a5dc5b4488ffa36d684166d47ebd87e48b54b6fee0882e1c67007a780e1c25754e9bc6e760cc10f60ea1183263f8504ef2dbd9b
 DIST ceph-17.2.7.tar.gz 168577111 BLAKE2B e3470819305e580b4afc658564b9ac261d1db53242acc5d5ec6bf6166024394de927b745b7a752e010fdc020a3829ca5e7d3ac27a99cf60f45876f12fef1c927 SHA512 9005de7661c6a9d1054f1388cff2f48eb1af93565ebf852669de546eed594ed6a2668944b25a64c406d00f88bd2f7a6eac2ae96b04789c03ea4d248d1a683e7b
 DIST ceph-18.2.1.tar.gz 197490056 BLAKE2B bcb66957a4e9502fda268aea09550ecc3775c83c2b4780a338364fd13b553164cae4c66dc69e64fb5df345d89161fe9d72ec42d9aa38eada0f77970b4125dc3c SHA512 88e1c18bc6c824b6203cf026cca4c9409000e7cf5b2b986e22ab74d2790d8b93d91556bd3af15a320dbdd0cf2302308f0b2c75fd1243bc5a65f76fc6b3d70736
+DIST ceph-18.2.4.tar.gz 226953064 BLAKE2B 3865ea051d1bd2f9aa44e6379f5bf2c7a526b076b327366dcf502d5a2358cc4d9bc53c7275e7b0f91387ec22a8a0e427f5e851a9f5308320091d1a6306bc9097 SHA512 a4ebb4e14032e6ab8e1fd8836f39234b771cb0a4b655166e9c69493a2c0d687064af4bb35523d0501629605521854e49f5c53a56279f72810d108c76f4f88c5b
 DIST ceph-xsimd-17.2.6.tar.gz 173025 BLAKE2B 54679c24804c195ae55b9f49589e331dde92c6d89aaa20e827539e9a4e0010c7549cdd5cf02a7ebed83f953ab2a6f1d9cc9a98cf45c3dc7758ae4938c9c43713 SHA512 ecc58e7909648aaa22aefbf76ee2c5a2bece4b1b88da9c7eda1b69a46247e619ff99c4366afd6015f95debd68c1a6b89292c677b9049462d0fc0255fbc0c2a33
 DIST ceph-xsimd-17.2.7.tar.gz 173025 BLAKE2B 54679c24804c195ae55b9f49589e331dde92c6d89aaa20e827539e9a4e0010c7549cdd5cf02a7ebed83f953ab2a6f1d9cc9a98cf45c3dc7758ae4938c9c43713 SHA512 ecc58e7909648aaa22aefbf76ee2c5a2bece4b1b88da9c7eda1b69a46247e619ff99c4366afd6015f95debd68c1a6b89292c677b9049462d0fc0255fbc0c2a33
 DIST ceph-xsimd-18.2.1.tar.gz 173025 BLAKE2B 54679c24804c195ae55b9f49589e331dde92c6d89aaa20e827539e9a4e0010c7549cdd5cf02a7ebed83f953ab2a6f1d9cc9a98cf45c3dc7758ae4938c9c43713 SHA512 ecc58e7909648aaa22aefbf76ee2c5a2bece4b1b88da9c7eda1b69a46247e619ff99c4366afd6015f95debd68c1a6b89292c677b9049462d0fc0255fbc0c2a33
+DIST ceph-xsimd-18.2.4.tar.gz 173025 BLAKE2B 54679c24804c195ae55b9f49589e331dde92c6d89aaa20e827539e9a4e0010c7549cdd5cf02a7ebed83f953ab2a6f1d9cc9a98cf45c3dc7758ae4938c9c43713 SHA512 ecc58e7909648aaa22aefbf76ee2c5a2bece4b1b88da9c7eda1b69a46247e619ff99c4366afd6015f95debd68c1a6b89292c677b9049462d0fc0255fbc0c2a33

diff --git a/sys-cluster/ceph/ceph-18.2.4.ebuild b/sys-cluster/ceph/ceph-18.2.4.ebuild
new file mode 100644
index 000000000000..12e9de0776c2
--- /dev/null
+++ b/sys-cluster/ceph/ceph-18.2.4.ebuild
@@ -0,0 +1,493 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{10..12} )
+LUA_COMPAT=( lua5-{3..4} )
+
+inherit check-reqs bash-completion-r1 cmake flag-o-matic lua-single \
+		python-r1 udev readme.gentoo-r1 toolchain-funcs systemd tmpfiles
+
+XSIMD_HASH="aeec9c872c8b475dedd7781336710f2dd2666cb2"
+
+DESCRIPTION="Ceph distributed filesystem"
+HOMEPAGE="https://ceph.com/"
+
+SRC_URI="
+	https://download.ceph.com/tarballs/${P}.tar.gz
+	parquet? ( https://github.com/xtensor-stack/xsimd/archive/${XSIMD_HASH}.tar.gz -> ceph-xsimd-${PV}.tar.gz )
+"
+
+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"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~ppc64"
+
+CPU_FLAGS_X86=(avx2 avx512f pclmul sse{,2,3,4_1,4_2} ssse3)
+
+IUSE="
+	babeltrace +cephfs custom-cflags diskprediction dpdk fuse grafana
+	jemalloc jaeger kafka kerberos ldap lttng +mgr +parquet pmdk rabbitmq
+	+radosgw rbd-rwl rbd-ssd rdma rgw-lua selinux +ssl spdk +sqlite +system-boost
+	systemd +tcmalloc test +uring xfs zbd zfs
+"
+
+IUSE+="$(printf "cpu_flags_x86_%s\n" ${CPU_FLAGS_X86[@]})"
+
+DEPEND="
+	${LUA_DEPS}
+	${PYTHON_DEPS}
+	acct-group/ceph
+	acct-user/ceph
+	virtual/libudev:=
+	app-arch/bzip2:=
+	app-arch/lz4:=
+	app-arch/snappy:=
+	>=app-arch/snappy-1.1.9-r1
+	app-arch/zstd:=
+	app-shells/bash:0
+	app-misc/jq:=
+	dev-cpp/gflags:=
+	dev-lang/jsonnet:=
+	dev-libs/libaio:=
+	dev-libs/libnl:3=
+	dev-libs/libxml2:=
+	dev-libs/libevent:=
+	dev-libs/libutf8proc:=
+	dev-libs/nss:=
+	dev-libs/openssl:=
+	<dev-libs/rocksdb-7.9.3:=
+	dev-libs/thrift:=
+	dev-libs/xmlsec:=[openssl]
+	dev-cpp/yaml-cpp:=
+	dev-python/natsort[${PYTHON_USEDEP}]
+	dev-python/pyyaml[${PYTHON_USEDEP}]
+	net-dns/c-ares:=
+	net-libs/gnutls:=
+	sys-auth/oath-toolkit:=
+	sys-apps/coreutils
+	sys-apps/hwloc:=
+	sys-apps/keyutils:=
+	sys-apps/util-linux:=
+	sys-libs/libcap-ng:=
+	sys-libs/ncurses:0=
+	sys-libs/zlib:=
+	sys-process/numactl:=
+	virtual/libcrypt:=
+	x11-libs/libpciaccess:=
+	babeltrace? ( dev-util/babeltrace:0/1 )
+	fuse? ( sys-fs/fuse:3= )
+	jemalloc? ( dev-libs/jemalloc:= )
+	!jemalloc? ( >=dev-util/google-perftools-2.6.1:= )
+	jaeger? (
+		dev-cpp/nlohmann_json:=
+		dev-cpp/opentelemetry-cpp:=[jaeger]
+	)
+	kafka? ( dev-libs/librdkafka:= )
+	kerberos? ( virtual/krb5 )
+	ldap? ( net-nds/openldap:= )
+	lttng? ( dev-util/lttng-ust:= )
+	parquet? ( dev-libs/re2:= )
+	pmdk? (
+		>=dev-libs/pmdk-1.10.0:=
+		sys-block/ndctl:=
+	)
+	rabbitmq? ( net-libs/rabbitmq-c:= )
+	radosgw? (
+		dev-libs/icu:=
+		dev-libs/expat:=
+		net-misc/curl:=[curl_ssl_openssl]
+	)
+	rbd-rwl? ( dev-libs/pmdk:= )
+	rdma? ( sys-cluster/rdma-core:= )
+	spdk? ( dev-util/cunit )
+	sqlite? ( dev-db/sqlite:= )
+	system-boost? ( dev-libs/boost:=[context,python,${PYTHON_USEDEP},zlib] )
+	uring? ( sys-libs/liburing:= )
+	xfs? ( sys-fs/xfsprogs:= )
+	zbd? ( sys-block/libzbd:= )
+	zfs? ( sys-fs/zfs:= )
+"
+BDEPEND="
+	amd64? ( dev-lang/nasm )
+	x86? ( dev-lang/yasm )
+	app-alternatives/cpio
+	dev-debug/valgrind
+	>=dev-build/cmake-3.5.0
+	dev-python/cython[${PYTHON_USEDEP}]
+	dev-python/setuptools[${PYTHON_USEDEP}]
+	dev-python/sphinx
+	dev-util/gperf
+	dev-util/ragel
+	sys-apps/coreutils
+	sys-apps/grep
+	sys-apps/util-linux
+	sys-apps/which
+	app-alternatives/bc
+	sys-devel/patch
+	virtual/pkgconfig
+	jaeger? (
+		app-alternatives/yacc
+		app-alternatives/lex
+	)
+	test? (
+		dev-util/cunit
+		dev-python/coverage[${PYTHON_USEDEP}]
+		dev-python/virtualenv[${PYTHON_USEDEP}]
+		dev-python/requests-mock[${PYTHON_USEDEP}]
+		sys-apps/grep[pcre]
+		sys-fs/btrfs-progs
+	)
+"
+RDEPEND="
+	${DEPEND}
+	app-admin/sudo
+	net-misc/socat
+	sys-apps/gptfdisk
+	sys-apps/nvme-cli
+	>=sys-apps/smartmontools-7.0
+	sys-block/parted
+	sys-fs/cryptsetup
+	sys-fs/lsscsi
+	sys-fs/lvm2[lvm]
+	app-alternatives/awk
+	dev-python/bcrypt[${PYTHON_USEDEP}]
+	dev-python/cherrypy[${PYTHON_USEDEP}]
+	dev-python/python-dateutil[${PYTHON_USEDEP}]
+	dev-python/flask[${PYTHON_USEDEP}]
+	dev-python/jinja[${PYTHON_USEDEP}]
+	dev-python/pecan[${PYTHON_USEDEP}]
+	dev-python/prettytable[${PYTHON_USEDEP}]
+	dev-python/pyopenssl[${PYTHON_USEDEP}]
+	dev-python/requests[${PYTHON_USEDEP}]
+	dev-python/werkzeug[${PYTHON_USEDEP}]
+	mgr? (
+		dev-python/jsonpatch[${PYTHON_USEDEP}]
+		dev-python/more-itertools[${PYTHON_USEDEP}]
+		dev-python/numpy[${PYTHON_USEDEP}]
+		dev-python/pyjwt[${PYTHON_USEDEP}]
+		dev-python/routes[${PYTHON_USEDEP}]
+		diskprediction? (
+			>=dev-python/scipy-1.4.0[${PYTHON_USEDEP}]
+		)
+		dev-python/scikit-learn[${PYTHON_USEDEP}]
+		dev-python/six[${PYTHON_USEDEP}]
+	)
+	selinux? ( sec-policy/selinux-ceph )
+"
+REQUIRED_USE="
+	${PYTHON_REQUIRED_USE}
+	${LUA_REQUIRED_USE}
+	?? ( jemalloc tcmalloc )
+	diskprediction? ( mgr )
+	kafka? ( radosgw )
+	mgr? ( cephfs )
+	rabbitmq? ( radosgw )
+	rgw-lua? ( radosgw )
+"
+
+RESTRICT="
+	!test? ( test )
+"
+
+# tests need root access, and network access
+RESTRICT+="test"
+
+# false positives unless all USE flags are on
+CMAKE_WARN_UNUSED_CLI=no
+
+PATCHES=(
+	"${FILESDIR}/ceph-12.2.0-use-provided-cpu-flag-values.patch"
+	"${FILESDIR}/ceph-14.2.0-cflags.patch"
+	"${FILESDIR}/ceph-12.2.4-boost-build-none-options.patch"
+	"${FILESDIR}/ceph-17.2.1-no-virtualenvs.patch"
+	"${FILESDIR}/ceph-13.2.2-dont-install-sysvinit-script.patch"
+	"${FILESDIR}/ceph-14.2.0-dpdk-cflags.patch"
+	"${FILESDIR}/ceph-16.2.0-rocksdb-cmake.patch"
+	"${FILESDIR}/ceph-16.2.0-spdk-tinfo.patch"
+	"${FILESDIR}/ceph-16.2.0-jaeger-system-boost.patch"
+	"${FILESDIR}/ceph-17.2.0-pybind-boost-1.74.patch"
+	"${FILESDIR}/ceph-17.2.0-findre2.patch"
+	"${FILESDIR}/ceph-18.2.0-system-opentelemetry.patch"
+	"${FILESDIR}/ceph-17.2.0-osd_class_dir.patch"
+	"${FILESDIR}/ceph-17.2.0-gcc12-header.patch"
+	"${FILESDIR}/ceph-17.2.3-flags.patch"
+	# https://bugs.gentoo.org/866165
+	"${FILESDIR}/ceph-17.2.5-suppress-cmake-warning.patch"
+	"${FILESDIR}/ceph-17.2.5-gcc13-deux.patch"
+	"${FILESDIR}/ceph-17.2.5-boost-1.81.patch"
+	# https://bugs.gentoo.org/901403
+	"${FILESDIR}/ceph-17.2.6-link-boost-context.patch"
+	# https://bugs.gentoo.org/905626
+	"${FILESDIR}/ceph-17.2.6-arrow-flatbuffers-c++14.patch"
+	# https://bugs.gentoo.org/868891
+	"${FILESDIR}/ceph-17.2.6-cmake.patch"
+	"${FILESDIR}/ceph-18.2.0-cyclic-deps.patch"
+	# https://bugs.gentoo.org/907739
+	"${FILESDIR}/ceph-18.2.0-cython3.patch"
+	# https://bugs.gentoo.org/936889
+	"${FILESDIR}/ceph-18.2.1-gcc14.patch"
+	"${FILESDIR}/ceph-18.2.1-gcc14-2.patch"
+	"${FILESDIR}/ceph-18.2.4-liburing.patch"
+)
+
+check-reqs_export_vars() {
+	CHECKREQS_DISK_BUILD="6G"
+
+	if use system-boost; then
+		CHECKREQS_DISK_USR="350M"
+	else
+		CHECKREQS_DISK_USR="510M"
+	fi
+
+	export CHECKREQS_DISK_BUILD CHECKREQS_DISK_USR
+}
+
+pkg_pretend() {
+	check-reqs_export_vars
+	check-reqs_pkg_pretend
+}
+
+pkg_setup() {
+	python_setup
+	lua_setup
+	check-reqs_export_vars
+	check-reqs_pkg_setup
+}
+
+src_prepare() {
+	cmake_src_prepare
+
+	if use system-boost; then
+		find "${S}" -name '*.cmake' -or -name 'CMakeLists.txt' -print0 \
+			| xargs --null sed -r \
+			-e 's|Boost::|boost_|g' \
+			-e 's|Boost_|boost_|g' \
+			-e 's|[Bb]oost_boost|boost_system|g' \
+			-i || die
+	fi
+
+	if ! use systemd; then
+		find "${S}"/src/ceph-volume/ceph_volume -name '*.py' -print0 \
+			| xargs --null sed \
+			-e '/^from ceph_volume.systemd import systemctl/ d' \
+			-i || die
+	fi
+
+	sed -r -e "s:DESTINATION .+\\):DESTINATION $(get_bashcompdir)\\):" \
+		-i src/bash_completion/CMakeLists.txt || die
+
+	sed -e "s:objdump -p:$(tc-getOBJDUMP) -p:" -i CMakeLists.txt || die
+
+	# force lua version to use selected version
+	local lua_version
+	lua_version=$(ver_cut 1-2 $(lua_get_version))
+	sed "s:find_package(Lua [0-9][.][0-9] REQUIRED):find_package(Lua ${lua_version} EXACT REQUIRED):" \
+		-i src/CMakeLists.txt
+
+	if use spdk; then
+		# https://bugs.gentoo.org/871942
+		sed -i 's/[#]ifndef HAVE_ARC4RANDOM/#if 0/' src/spdk/lib/iscsi/iscsi.c || die
+	fi
+
+	# remove tests that need root access
+	rm src/test/cli/ceph-authtool/cap*.t || die
+}
+
+ceph_src_configure() {
+	local mycmakeargs=(
+		-DWITH_BABELTRACE:BOOL=$(usex babeltrace)
+		-DWITH_BLUESTORE_PMEM:BOOL=$(usex pmdk)
+		-DWITH_CEPHFS:BOOL=$(usex cephfs)
+		-DWITH_CEPHFS_SHELL:BOOL=$(usex cephfs)
+		-DWITH_DPDK:BOOL=$(usex dpdk)
+		-DWITH_SPDK:BOOL=$(usex spdk)
+		-DWITH_FUSE:BOOL=$(usex fuse)
+		-DWITH_LTTNG:BOOL=$(usex lttng)
+		-DWITH_GSSAPI:BOOL=$(usex kerberos)
+		-DWITH_GRAFANA:BOOL=$(usex grafana)
+		-DWITH_MGR:BOOL=$(usex mgr)
+		-DWITH_MGR_DASHBOARD_FRONTEND:BOOL=OFF
+		-DWITH_OPENLDAP:BOOL=$(usex ldap)
+		-DWITH_PYTHON3:STRING=3
+		-DWITH_RADOSGW:BOOL=$(usex radosgw)
+		-DWITH_RADOSGW_AMQP_ENDPOINT:BOOL=$(usex rabbitmq)
+		-DWITH_RADOSGW_KAFKA_ENDPOINT:BOOL=$(usex kafka)
+		-DWITH_RADOSGW_LUA_PACKAGES:BOOL=$(usex rgw-lua "$(usex radosgw)" "NO")
+		-DWITH_RBD_RWL:BOOL=$(usex rbd-rwl)
+		-DWITH_RBD_SSD_CACHE:BOOL=$(usex rbd-ssd)
+		-DWITH_SYSTEMD:BOOL=$(usex systemd)
+		-DWITH_TESTS:BOOL=$(usex test)
+		-DWITH_LIBURING:BOOL=$(usex uring)
+		-DWITH_SYSTEM_LIBURING:BOOL=$(usex uring)
+		-DWITH_LIBCEPHSQLITE:BOOL=$(usex sqlite)
+		-DWITH_XFS:BOOL=$(usex xfs)
+		-DWITH_ZBD:BOOL=$(usex zbd)
+		-DWITH_ZFS:BOOL=$(usex zfs)
+		-DENABLE_SHARED:BOOL=ON
+		-DALLOCATOR:STRING=$(usex tcmalloc 'tcmalloc' "$(usex jemalloc 'jemalloc' 'libc')")
+		-DWITH_SYSTEM_PMDK:BOOL=$(usex pmdk 'YES' "$(usex rbd-rwl '')")
+		-DWITH_SYSTEM_BOOST:BOOL=$(usex system-boost)
+		-DWITH_SYSTEM_ROCKSDB:BOOL=ON
+		-DWITH_SYSTEM_ZSTD:BOOL=ON
+		-DWITH_RDMA:BOOL=$(usex rdma)
+		-DCMAKE_INSTALL_DOCDIR:PATH="${EPREFIX}/usr/share/doc/${PN}-${PVR}"
+		-DCMAKE_INSTALL_SYSCONFDIR:PATH="${EPREFIX}/etc"
+		# use the bundled libfmt for now since they seem to constantly break their API
+		-DCMAKE_DISABLE_FIND_PACKAGE_fmt=ON
+		-Wno-dev
+	)
+
+	# this breaks when re-configuring for python impl
+	if [[ ${EBUILD_PHASE} == configure ]]; then
+		mycmakeargs+=(
+			-DWITH_JAEGER:BOOL=$(usex jaeger)
+			-DWITH_RADOSGW_SELECT_PARQUET:BOOL=$(usex parquet)
+		)
+	else
+		mycmakeargs+=(
+			-DWITH_RADOSGW_SELECT_PARQUET:BOOL=OFF
+			-DWITH_JAEGER:BOOL=OFF
+			# don't want to warn about unused CLI when reconfiguring for python
+			-DCMAKE_WARN_UNUSED_CLI:BOOL=OFF
+		)
+	fi
+
+	# conditionally used cmake args
+	use test && mycmakearts+=( -DWITH_SYSTEM_GTEST:BOOL=$(usex test) )
+	use systemd && mycmakeargs+=( -DSYSTEMD_SYSTEM_UNIT_DIR:PATH=$(systemd_get_systemunitdir) )
+
+	if use amd64 || use x86; then
+		local flag
+		for flag in "${CPU_FLAGS_X86[@]}"; do
+			case "${flag}" in
+				avx*)
+					local var=${flag%f}
+					mycmakeargs+=(
+						"-DHAVE_NASM_X64_${var^^}:BOOL=$(usex cpu_flags_x86_${flag})"
+					)
+				;;
+				*) mycmakeargs+=(
+						"-DHAVE_INTEL_${flag^^}:BOOL=$(usex cpu_flags_x86_${flag})"
+					);;
+			esac
+		done
+	fi
+
+	# needed for >=glibc-2.32
+	has_version '>=sys-libs/glibc-2.32' && mycmakeargs+=( -DWITH_REENTRANT_STRSIGNAL:BOOL=ON )
+
+	rm -f "${BUILD_DIR:-${S}}/CMakeCache.txt" \
+		|| die "failed to remove cmake cache"
+
+	# hopefully this will not be necessary in the next release
+	use parquet && export ARROW_XSIMD_URL="file:///${DISTDIR}/ceph-xsimd-${PV}.tar.gz"
+
+	# https://bugs.gentoo.org/927066
+	filter-lto
+
+	cmake_src_configure
+
+	# bug #630232
+	sed -i "s:\"${T//:\\:}/${EPYTHON}/bin/python\":\"${PYTHON}\":" \
+		"${BUILD_DIR:-${S}}"/include/acconfig.h \
+		|| die "sed failed"
+}
+
+src_configure() {
+	use custom-cflags || strip-flags
+	ceph_src_configure
+}
+
+src_compile() {
+	cmake_build all
+
+	# we have to do this here to prevent from building everything multiple times
+	python_copy_sources
+	python_foreach_impl python_compile
+}
+
+python_compile() {
+	local CMAKE_USE_DIR="${S}"
+	ceph_src_configure
+
+	cmake_build src/pybind/CMakeFiles/cython_modules
+	cmake_build cephadm
+}
+
+src_install() {
+	python_foreach_impl python_install
+
+	python_setup
+	cmake_src_install
+
+	python_optimize
+
+	find "${ED}" -name '*.la' -type f -delete || die
+
+	exeinto /usr/$(get_libdir)/ceph
+	newexe "${BUILD_DIR}/bin/init-ceph" init-ceph
+
+	insinto /etc/logrotate.d/
+	newins "${FILESDIR}"/ceph.logrotate-r2 ${PN}
+
+	keepdir /var/lib/${PN}{,/tmp} /var/log/ceph/stat /var/log/ceph/console
+
+	fowners -R ceph:ceph /var/log/ceph
+
+	newinitd "${FILESDIR}/rbdmap.initd-r1" rbdmap
+	newinitd "${FILESDIR}/${PN}.initd-r14" ${PN}
+	newconfd "${FILESDIR}/${PN}.confd-r5" ${PN}
+
+	insinto /etc/sudoers.d
+	doins sudoers.d/*
+
+	insinto /etc/sysctl.d
+	newins "${FILESDIR}"/sysctld 90-${PN}.conf
+
+	use tcmalloc && newenvd "${FILESDIR}"/envd-tcmalloc 99${PN}-tcmalloc
+
+	# units aren't installed by the build system unless systemd is enabled
+	# so no point installing these with the USE flag disabled
+	if use systemd; then
+		systemd_install_serviced "${FILESDIR}/ceph-mds_at.service.conf" "ceph-mds@.service"
+		systemd_install_serviced "${FILESDIR}/ceph-osd_at.service.conf" "ceph-osd@.service"
+	fi
+
+	udev_dorules udev/*.rules
+	newtmpfiles "${FILESDIR}"/ceph-tmpfilesd ${PN}.conf
+
+	readme.gentoo_create_doc
+
+	# bug #630232
+	sed -i -r "s:${T//:/\\:}/${EPYTHON}:/usr:" "${ED}"/usr/bin/ceph{,-crash} \
+		|| die "sed failed"
+
+	python_fix_shebang "${ED}"/usr/{,s}bin/
+
+	# python_fix_shebang apparently is not idempotent
+	local shebang_regex='(/usr/lib/python-exec/python[0-9]\.[0-9]/python)[0-9]\.[0-9]'
+	grep -r -E -l --null "${shebang_regex}" "${ED}"/usr/{s,}bin/ \
+		| xargs --null --no-run-if-empty -- sed -i -r  "s:${shebang_regex}:\1:" || die
+
+	local -a rados_classes=( "${ED}/usr/$(get_libdir)/rados-classes"/* )
+	dostrip -x "${rados_classes[@]#${ED}}"
+}
+
+python_install() {
+	local CMAKE_USE_DIR="${S}"
+	DESTDIR="${ED}" cmake_build src/pybind/install
+	DESTDIR="${ED}" cmake_build src/cephadm/install
+
+	python_optimize
+}
+
+pkg_postinst() {
+	readme.gentoo_print_elog
+	tmpfiles_process ${PN}.conf
+	udev_reload
+}
+
+pkg_postrm() {
+	udev_reload
+}

diff --git a/sys-cluster/ceph/files/ceph-18.2.4-liburing.patch b/sys-cluster/ceph/files/ceph-18.2.4-liburing.patch
new file mode 100644
index 000000000000..a6830d0b679e
--- /dev/null
+++ b/sys-cluster/ceph/files/ceph-18.2.4-liburing.patch
@@ -0,0 +1,26 @@
+diff --git a/cmake/modules/Finduring.cmake b/cmake/modules/Finduring.cmake
+index 10c8de4255..c0a4dadfe4 100644
+--- a/cmake/modules/Finduring.cmake
++++ b/cmake/modules/Finduring.cmake
+@@ -8,10 +8,10 @@ find_path(URING_INCLUDE_DIR liburing.h)
+ find_library(URING_LIBRARIES liburing.a liburing)
+ 
+ include(FindPackageHandleStandardArgs)
+-find_package_handle_standard_args(uring DEFAULT_MSG URING_LIBRARIES URING_INCLUDE_DIR)
++pkg_check_modules(URING REQUIRED liburing)
+ 
+ if(uring_FOUND AND NOT TARGET uring::uring)
+-  add_library(uring::uring UNKNOWN IMPORTED)
++  add_library(uring::uring ALIAS ${URING_LIBRARIES})
+   set_target_properties(uring::uring PROPERTIES
+     INTERFACE_INCLUDE_DIRECTORIES "${URING_INCLUDE_DIR}"
+     IMPORTED_LINK_INTERFACE_LANGUAGES "C"
+--- a/src/blk/CMakeLists.txt
++++ b/src/blk/CMakeLists.txt
+@@ -57,5 +57,5 @@
+ endif()
+ 
+ if(WITH_LIBURING)
+-  target_link_libraries(blk PRIVATE uring::uring)
++  target_link_libraries(blk PRIVATE ${URING_LIBRARIES})
+ endif()


^ permalink raw reply related	[flat|nested] 68+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-cluster/ceph/, sys-cluster/ceph/files/
@ 2023-11-08  2:51 Patrick McLean
  0 siblings, 0 replies; 68+ messages in thread
From: Patrick McLean @ 2023-11-08  2:51 UTC (permalink / raw
  To: gentoo-commits

commit:     da73f6c325fae089fc913fc3f5ed8a8753f7f2f8
Author:     Patrick McLean <chutzpah <AT> gentoo <DOT> org>
AuthorDate: Wed Nov  8 02:51:26 2023 +0000
Commit:     Patrick McLean <chutzpah <AT> gentoo <DOT> org>
CommitDate: Wed Nov  8 02:51:48 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=da73f6c3

sys-cluster/ceph: add 17.2.7

Signed-off-by: Patrick McLean <chutzpah <AT> gentoo.org>

 sys-cluster/ceph/Manifest                          |   2 +
 sys-cluster/ceph/ceph-17.2.7.ebuild                | 491 +++++++++++++++++++++
 sys-cluster/ceph/files/ceph-17.2.7-fmt-fixes.patch |  12 +
 3 files changed, 505 insertions(+)

diff --git a/sys-cluster/ceph/Manifest b/sys-cluster/ceph/Manifest
index d89b43142d52..c2f0d740e99a 100644
--- a/sys-cluster/ceph/Manifest
+++ b/sys-cluster/ceph/Manifest
@@ -1,5 +1,7 @@
 DIST ceph-16.2.14.tar.gz 157243362 BLAKE2B 799132ebc815380b2040250915c82c5752983a23e2489e7c12e624b70a93b29c151cb1ab9670e43f2c89d75523655e57860dcdc797d455abc6c6ddc3c880c70c SHA512 397845f44d94e01ae49c5f4dabd75b8bf20c9ece9aeba85f4a5c12154335420cce390bfd94146be3bef763d44e47d15522a84b4f6cdc6bdde77982ac8bd79a54
 DIST ceph-17.2.6.tar.gz 168093221 BLAKE2B f79efce9bd7f485b43ae1b4da94a1d9fb3753003f34535e93c80e480ffeaaf054d371f75bca72402da5f9dd460aafa820bb2af550d213bdbcca74aa939180431 SHA512 dca9aea2ce210c15fcc34cb06a5dc5b4488ffa36d684166d47ebd87e48b54b6fee0882e1c67007a780e1c25754e9bc6e760cc10f60ea1183263f8504ef2dbd9b
+DIST ceph-17.2.7.tar.gz 168577111 BLAKE2B e3470819305e580b4afc658564b9ac261d1db53242acc5d5ec6bf6166024394de927b745b7a752e010fdc020a3829ca5e7d3ac27a99cf60f45876f12fef1c927 SHA512 9005de7661c6a9d1054f1388cff2f48eb1af93565ebf852669de546eed594ed6a2668944b25a64c406d00f88bd2f7a6eac2ae96b04789c03ea4d248d1a683e7b
 DIST ceph-18.2.0.tar.gz 197353856 BLAKE2B 0f2217d9ec4105f72b7b48f7981c5cc098e8f6d46b029acaae1aa91d71486e7dc5726cad0763b5bb0f79d006e289a9f590c95f2494c17f2f09fb492c06db455a SHA512 fe6a3ca4227cc05b5effc33a02670c466583ec9e4c7c025241248223992254e6e6551d7db486d5ead36bf0ba922d54e0aabc2aaf456d4593679376ec88bd971a
 DIST ceph-xsimd-17.2.6.tar.gz 173025 BLAKE2B 54679c24804c195ae55b9f49589e331dde92c6d89aaa20e827539e9a4e0010c7549cdd5cf02a7ebed83f953ab2a6f1d9cc9a98cf45c3dc7758ae4938c9c43713 SHA512 ecc58e7909648aaa22aefbf76ee2c5a2bece4b1b88da9c7eda1b69a46247e619ff99c4366afd6015f95debd68c1a6b89292c677b9049462d0fc0255fbc0c2a33
+DIST ceph-xsimd-17.2.7.tar.gz 173025 BLAKE2B 54679c24804c195ae55b9f49589e331dde92c6d89aaa20e827539e9a4e0010c7549cdd5cf02a7ebed83f953ab2a6f1d9cc9a98cf45c3dc7758ae4938c9c43713 SHA512 ecc58e7909648aaa22aefbf76ee2c5a2bece4b1b88da9c7eda1b69a46247e619ff99c4366afd6015f95debd68c1a6b89292c677b9049462d0fc0255fbc0c2a33
 DIST ceph-xsimd-18.2.0.tar.gz 173025 BLAKE2B 54679c24804c195ae55b9f49589e331dde92c6d89aaa20e827539e9a4e0010c7549cdd5cf02a7ebed83f953ab2a6f1d9cc9a98cf45c3dc7758ae4938c9c43713 SHA512 ecc58e7909648aaa22aefbf76ee2c5a2bece4b1b88da9c7eda1b69a46247e619ff99c4366afd6015f95debd68c1a6b89292c677b9049462d0fc0255fbc0c2a33

diff --git a/sys-cluster/ceph/ceph-17.2.7.ebuild b/sys-cluster/ceph/ceph-17.2.7.ebuild
new file mode 100644
index 000000000000..a770396e6b24
--- /dev/null
+++ b/sys-cluster/ceph/ceph-17.2.7.ebuild
@@ -0,0 +1,491 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{10..11} )
+LUA_COMPAT=( lua5-{3..4} )
+
+inherit check-reqs bash-completion-r1 cmake flag-o-matic lua-single \
+		python-r1 udev readme.gentoo-r1 toolchain-funcs systemd tmpfiles
+
+XSIMD_HASH="aeec9c872c8b475dedd7781336710f2dd2666cb2"
+SRC_URI="
+	https://download.ceph.com/tarballs/${P}.tar.gz
+	parquet? ( https://github.com/xtensor-stack/xsimd/archive/${XSIMD_HASH}.tar.gz -> ceph-xsimd-${PV}.tar.gz )
+"
+KEYWORDS="~amd64 ~arm64"
+
+DESCRIPTION="Ceph distributed filesystem"
+HOMEPAGE="https://ceph.com/"
+
+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"
+SLOT="0"
+
+CPU_FLAGS_X86=(avx2 avx512f pclmul sse{,2,3,4_1,4_2} ssse3)
+
+IUSE="
+	babeltrace +cephfs custom-cflags diskprediction dpdk fuse grafana
+	jemalloc jaeger kafka kerberos ldap lttng +mgr +parquet pmdk rabbitmq
+	+radosgw rbd-rwl rbd-ssd rdma rgw-lua selinux +ssl spdk +sqlite +system-boost
+	systemd +tcmalloc test +uring xfs zbd zfs
+"
+
+IUSE+="$(printf "cpu_flags_x86_%s\n" ${CPU_FLAGS_X86[@]})"
+
+DEPEND="
+	${LUA_DEPS}
+	${PYTHON_DEPS}
+	acct-group/ceph
+	acct-user/ceph
+	virtual/libudev:=
+	app-arch/bzip2:=
+	app-arch/lz4:=
+	app-arch/snappy:=
+	>=app-arch/snappy-1.1.9-r1
+	app-arch/zstd:=
+	app-shells/bash:0
+	app-misc/jq:=
+	dev-cpp/gflags:=
+	dev-lang/jsonnet:=
+	dev-libs/libaio:=
+	dev-libs/libnl:3=
+	dev-libs/libxml2:=
+	dev-libs/libevent:=
+	dev-libs/libutf8proc:=
+	dev-libs/nss:=
+	dev-libs/openssl:=
+	<dev-libs/rocksdb-6.15:=
+	dev-libs/thrift:=
+	dev-libs/xmlsec:=[openssl]
+	dev-cpp/yaml-cpp:=
+	dev-python/natsort[${PYTHON_USEDEP}]
+	dev-python/pyyaml[${PYTHON_USEDEP}]
+	net-dns/c-ares:=
+	net-libs/gnutls:=
+	sys-auth/oath-toolkit:=
+	sys-apps/coreutils
+	sys-apps/hwloc:=
+	sys-apps/keyutils:=
+	sys-apps/util-linux:=
+	sys-libs/libcap-ng:=
+	sys-libs/ncurses:0=
+	sys-libs/zlib:=
+	sys-process/numactl:=
+	virtual/libcrypt:=
+	x11-libs/libpciaccess:=
+	babeltrace? ( dev-util/babeltrace )
+	fuse? ( sys-fs/fuse:3= )
+	jemalloc? ( dev-libs/jemalloc:= )
+	!jemalloc? ( >=dev-util/google-perftools-2.6.1:= )
+	jaeger? (
+		dev-cpp/nlohmann_json:=
+		dev-cpp/opentelemetry-cpp:=[jaeger]
+	)
+	kafka? ( dev-libs/librdkafka:= )
+	kerberos? ( virtual/krb5 )
+	ldap? ( net-nds/openldap:= )
+	lttng? ( dev-util/lttng-ust:= )
+	parquet? ( dev-libs/re2:= )
+	pmdk? ( >=dev-libs/pmdk-1.10.0:= )
+	rabbitmq? ( net-libs/rabbitmq-c:= )
+	radosgw? (
+		dev-libs/icu:=
+		dev-libs/expat:=
+		net-misc/curl:=[curl_ssl_openssl]
+	)
+	rbd-rwl? ( dev-libs/pmdk:= )
+	rdma? ( sys-cluster/rdma-core:= )
+	spdk? ( dev-util/cunit )
+	sqlite? ( dev-db/sqlite:= )
+	system-boost? ( dev-libs/boost:=[context,python,${PYTHON_USEDEP},zlib] )
+	uring? ( sys-libs/liburing:= )
+	xfs? ( sys-fs/xfsprogs:= )
+	zbd? ( sys-block/libzbd:= )
+	zfs? ( sys-fs/zfs:= )
+"
+# <cython-3: bug #907739
+BDEPEND="
+	amd64? ( dev-lang/nasm )
+	x86? ( dev-lang/yasm )
+	app-arch/cpio
+	>=dev-util/cmake-3.5.0
+	dev-python/cython[${PYTHON_USEDEP}]
+	dev-python/setuptools[${PYTHON_USEDEP}]
+	dev-python/sphinx
+	dev-util/gperf
+	dev-util/ragel
+	dev-util/valgrind
+	sys-apps/coreutils
+	sys-apps/grep
+	sys-apps/util-linux
+	sys-apps/which
+	sys-devel/bc
+	sys-devel/patch
+	virtual/pkgconfig
+	jaeger? (
+		sys-devel/bison
+		sys-devel/flex
+	)
+	test? (
+		dev-util/cunit
+		dev-python/coverage[${PYTHON_USEDEP}]
+		dev-python/virtualenv[${PYTHON_USEDEP}]
+		dev-python/requests-mock[${PYTHON_USEDEP}]
+		sys-apps/grep[pcre]
+		sys-fs/btrfs-progs
+	)
+"
+RDEPEND="
+	${DEPEND}
+	app-admin/sudo
+	net-misc/socat
+	sys-apps/gptfdisk
+	sys-apps/nvme-cli
+	>=sys-apps/smartmontools-7.0
+	sys-block/parted
+	sys-fs/cryptsetup
+	sys-fs/lsscsi
+	sys-fs/lvm2[lvm]
+	app-alternatives/awk
+	dev-python/bcrypt[${PYTHON_USEDEP}]
+	dev-python/cherrypy[${PYTHON_USEDEP}]
+	dev-python/python-dateutil[${PYTHON_USEDEP}]
+	dev-python/flask[${PYTHON_USEDEP}]
+	dev-python/jinja[${PYTHON_USEDEP}]
+	dev-python/pecan[${PYTHON_USEDEP}]
+	dev-python/prettytable[${PYTHON_USEDEP}]
+	dev-python/pyopenssl[${PYTHON_USEDEP}]
+	dev-python/requests[${PYTHON_USEDEP}]
+	dev-python/werkzeug[${PYTHON_USEDEP}]
+	mgr? (
+		dev-python/jsonpatch[${PYTHON_USEDEP}]
+		dev-python/more-itertools[${PYTHON_USEDEP}]
+		dev-python/numpy[${PYTHON_USEDEP}]
+		dev-python/pyjwt[${PYTHON_USEDEP}]
+		dev-python/routes[${PYTHON_USEDEP}]
+		diskprediction? (
+			>=dev-python/scipy-1.4.0[${PYTHON_USEDEP}]
+		)
+		sci-libs/scikit-learn[${PYTHON_USEDEP}]
+		dev-python/six[${PYTHON_USEDEP}]
+	)
+	selinux? ( sec-policy/selinux-ceph )
+"
+REQUIRED_USE="
+	${PYTHON_REQUIRED_USE}
+	${LUA_REQUIRED_USE}
+	?? ( jemalloc tcmalloc )
+	diskprediction? ( mgr )
+	kafka? ( radosgw )
+	mgr? ( cephfs )
+	rabbitmq? ( radosgw )
+	rgw-lua? ( radosgw )
+"
+
+RESTRICT="
+	!test? ( test )
+"
+
+# tests need root access, and network access
+RESTRICT+="test"
+
+# false positives unless all USE flags are on
+CMAKE_WARN_UNUSED_CLI=no
+
+PATCHES=(
+	"${FILESDIR}/ceph-12.2.0-use-provided-cpu-flag-values.patch"
+	"${FILESDIR}/ceph-14.2.0-cflags.patch"
+	"${FILESDIR}/ceph-12.2.4-boost-build-none-options.patch"
+	"${FILESDIR}/ceph-16.2.2-cflags.patch"
+	"${FILESDIR}/ceph-17.2.1-no-virtualenvs.patch"
+	"${FILESDIR}/ceph-13.2.2-dont-install-sysvinit-script.patch"
+	"${FILESDIR}/ceph-14.2.0-dpdk-cflags.patch"
+	"${FILESDIR}/ceph-16.2.0-rocksdb-cmake.patch"
+	"${FILESDIR}/ceph-16.2.0-spdk-tinfo.patch"
+	"${FILESDIR}/ceph-16.2.0-jaeger-system-boost.patch"
+	"${FILESDIR}/ceph-16.2.0-liburing.patch"
+	"${FILESDIR}/ceph-17.2.0-cyclic-deps.patch"
+	"${FILESDIR}/ceph-17.2.0-pybind-boost-1.74.patch"
+	"${FILESDIR}/ceph-17.2.0-findre2.patch"
+	"${FILESDIR}/ceph-17.2.0-install-dbstore.patch"
+	"${FILESDIR}/ceph-17.2.0-deprecated-boost.patch"
+	"${FILESDIR}/ceph-17.2.0-system-opentelemetry.patch"
+	"${FILESDIR}/ceph-17.2.0-fuse3.patch"
+	"${FILESDIR}/ceph-17.2.0-osd_class_dir.patch"
+	"${FILESDIR}/ceph-17.2.0-gcc12-header.patch"
+	"${FILESDIR}/ceph-17.2.3-flags.patch"
+	"${FILESDIR}/ceph-17.2.4-cyclic-deps.patch"
+	# https://bugs.gentoo.org/866165
+	"${FILESDIR}/ceph-17.2.5-suppress-cmake-warning.patch"
+	"${FILESDIR}/ceph-17.2.5-gcc13-deux.patch"
+	"${FILESDIR}/ceph-17.2.5-boost-1.81.patch"
+	# https://bugs.gentoo.org/901403
+	"${FILESDIR}/ceph-17.2.6-link-boost-context.patch"
+	# https://bugs.gentoo.org/905626
+	"${FILESDIR}/ceph-17.2.6-arrow-flatbuffers-c++14.patch"
+	# https://bugs.gentoo.org/868891
+	"${FILESDIR}/ceph-17.2.6-cmake.patch"
+	# https://bugs.gentoo.org/907739
+	"${FILESDIR}/ceph-18.2.0-cython3.patch"
+	"${FILESDIR}/ceph-17.2.7-fmt-fixes.patch"
+)
+
+check-reqs_export_vars() {
+	CHECKREQS_DISK_BUILD="6G"
+
+	if use system-boost; then
+		CHECKREQS_DISK_USR="350M"
+	else
+		CHECKREQS_DISK_USR="510M"
+	fi
+
+	export CHECKREQS_DISK_BUILD CHECKREQS_DISK_USR
+}
+
+pkg_pretend() {
+	check-reqs_export_vars
+	check-reqs_pkg_pretend
+}
+
+pkg_setup() {
+	python_setup
+	lua_setup
+	check-reqs_export_vars
+	check-reqs_pkg_setup
+}
+
+src_prepare() {
+	cmake_src_prepare
+
+	if use system-boost; then
+		find "${S}" -name '*.cmake' -or -name 'CMakeLists.txt' -print0 \
+			| xargs --null sed -r \
+			-e 's|Boost::|boost_|g' \
+			-e 's|Boost_|boost_|g' \
+			-e 's|[Bb]oost_boost|boost_system|g' \
+			-i || die
+	fi
+
+	if ! use systemd; then
+		find "${S}"/src/ceph-volume/ceph_volume -name '*.py' -print0 \
+			| xargs --null sed \
+			-e '/^from ceph_volume.systemd import systemctl/ d' \
+			-i || die
+	fi
+
+	sed -r -e "s:DESTINATION .+\\):DESTINATION $(get_bashcompdir)\\):" \
+		-i src/bash_completion/CMakeLists.txt || die
+
+	sed -e "s:objdump -p:$(tc-getOBJDUMP) -p:" -i CMakeLists.txt || die
+
+	# force lua version to use selected version
+	local lua_version
+	lua_version=$(ver_cut 1-2 $(lua_get_version))
+	sed "s:find_package(Lua [0-9][.][0-9] REQUIRED):find_package(Lua ${lua_version} EXACT REQUIRED):" \
+		-i src/CMakeLists.txt
+
+	if use spdk; then
+		# https://bugs.gentoo.org/871942
+		sed -i 's/[#]ifndef HAVE_ARC4RANDOM/#if 0/' src/spdk/lib/iscsi/iscsi.c || die
+	fi
+
+	# remove tests that need root access
+	rm src/test/cli/ceph-authtool/cap*.t || die
+}
+
+ceph_src_configure() {
+	local mycmakeargs=(
+		-DWITH_BABELTRACE:BOOL=$(usex babeltrace)
+		-DWITH_BLUESTORE_PMEM:BOOL=$(usex pmdk)
+		-DWITH_CEPHFS:BOOL=$(usex cephfs)
+		-DWITH_CEPHFS_SHELL:BOOL=$(usex cephfs)
+		-DWITH_DPDK:BOOL=$(usex dpdk)
+		-DWITH_SPDK:BOOL=$(usex spdk)
+		-DWITH_FUSE:BOOL=$(usex fuse)
+		-DWITH_LTTNG:BOOL=$(usex lttng)
+		-DWITH_GSSAPI:BOOL=$(usex kerberos)
+		-DWITH_GRAFANA:BOOL=$(usex grafana)
+		-DWITH_MGR:BOOL=$(usex mgr)
+		-DWITH_MGR_DASHBOARD_FRONTEND:BOOL=OFF
+		-DWITH_OPENLDAP:BOOL=$(usex ldap)
+		-DWITH_PYTHON3:STRING=3
+		-DWITH_RADOSGW:BOOL=$(usex radosgw)
+		-DWITH_RADOSGW_AMQP_ENDPOINT:BOOL=$(usex rabbitmq)
+		-DWITH_RADOSGW_KAFKA_ENDPOINT:BOOL=$(usex kafka)
+		-DWITH_RADOSGW_LUA_PACKAGES:BOOL=$(usex rgw-lua "$(usex radosgw)" "NO")
+		-DWITH_RBD_RWL:BOOL=$(usex rbd-rwl)
+		-DWITH_RBD_SSD_CACHE:BOOL=$(usex rbd-ssd)
+		-DWITH_SYSTEMD:BOOL=$(usex systemd)
+		-DWITH_TESTS:BOOL=$(usex test)
+		-DWITH_LIBURING:BOOL=$(usex uring)
+		-DWITH_SYSTEM_LIBURING:BOOL=$(usex uring)
+		-DWITH_LIBCEPHSQLITE:BOOL=$(usex sqlite)
+		-DWITH_XFS:BOOL=$(usex xfs)
+		-DWITH_ZBD:BOOL=$(usex zbd)
+		-DWITH_ZFS:BOOL=$(usex zfs)
+		-DENABLE_SHARED:BOOL=ON
+		-DALLOCATOR:STRING=$(usex tcmalloc 'tcmalloc' "$(usex jemalloc 'jemalloc' 'libc')")
+		-DWITH_SYSTEM_PMDK:BOOL=$(usex pmdk 'YES' "$(usex rbd-rwl '')")
+		-DWITH_SYSTEM_BOOST:BOOL=$(usex system-boost)
+		-DWITH_SYSTEM_ROCKSDB:BOOL=ON
+		-DWITH_SYSTEM_ZSTD:BOOL=ON
+		-DWITH_RDMA:BOOL=$(usex rdma)
+		-DCMAKE_INSTALL_DOCDIR:PATH="${EPREFIX}/usr/share/doc/${PN}-${PVR}"
+		-DCMAKE_INSTALL_SYSCONFDIR:PATH="${EPREFIX}/etc"
+		# use the bundled libfmt for now since they seem to constantly break their API
+		-DCMAKE_DISABLE_FIND_PACKAGE_fmt=ON
+		-Wno-dev
+	)
+
+	# this breaks when re-configuring for python impl
+	if [[ ${EBUILD_PHASE} == configure ]]; then
+		mycmakeargs+=(
+			-DWITH_JAEGER:BOOL=$(usex jaeger)
+			-DWITH_RADOSGW_SELECT_PARQUET:BOOL=$(usex parquet)
+		)
+	else
+		mycmakeargs+=(
+			-DWITH_RADOSGW_SELECT_PARQUET:BOOL=OFF
+			-DWITH_JAEGER:BOOL=OFF
+			# don't want to warn about unused CLI when reconfiguring for python
+			-DCMAKE_WARN_UNUSED_CLI:BOOL=OFF
+		)
+	fi
+
+	# conditionally used cmake args
+	use test && mycmakearts+=( -DWITH_SYSTEM_GTEST:BOOL=$(usex test) )
+	use systemd && mycmakeargs+=( -DSYSTEMD_SYSTEM_UNIT_DIR:PATH=$(systemd_get_systemunitdir) )
+
+	if use amd64 || use x86; then
+		local flag
+		for flag in "${CPU_FLAGS_X86[@]}"; do
+			case "${flag}" in
+				avx*)
+					local var=${flag%f}
+					mycmakeargs+=(
+						"-DHAVE_NASM_X64_${var^^}:BOOL=$(usex cpu_flags_x86_${flag})"
+					)
+				;;
+				*) mycmakeargs+=(
+						"-DHAVE_INTEL_${flag^^}:BOOL=$(usex cpu_flags_x86_${flag})"
+					);;
+			esac
+		done
+	fi
+
+	# needed for >=glibc-2.32
+	has_version '>=sys-libs/glibc-2.32' && mycmakeargs+=( -DWITH_REENTRANT_STRSIGNAL:BOOL=ON )
+
+	rm -f "${BUILD_DIR:-${S}}/CMakeCache.txt" \
+		|| die "failed to remove cmake cache"
+
+	# hopefully this will not be necessary in the next release
+	use parquet && export ARROW_XSIMD_URL="file:///${DISTDIR}/ceph-xsimd-${PV}.tar.gz"
+
+	cmake_src_configure
+
+	# bug #630232
+	sed -i "s:\"${T//:\\:}/${EPYTHON}/bin/python\":\"${PYTHON}\":" \
+		"${BUILD_DIR:-${S}}"/include/acconfig.h \
+		|| die "sed failed"
+}
+
+src_configure() {
+	use custom-cflags || strip-flags
+	ceph_src_configure
+}
+
+src_compile() {
+	cmake_build all
+
+	# we have to do this here to prevent from building everything multiple times
+	python_copy_sources
+	python_foreach_impl python_compile
+}
+
+python_compile() {
+	local CMAKE_USE_DIR="${S}"
+	ceph_src_configure
+
+	cmake_build src/pybind/CMakeFiles/cython_modules
+}
+
+src_install() {
+	python_foreach_impl python_install
+
+	python_setup
+	cmake_src_install
+	python_optimize
+
+	find "${ED}" -name '*.la' -type f -delete || die
+
+	exeinto /usr/$(get_libdir)/ceph
+	newexe "${BUILD_DIR}/bin/init-ceph" init-ceph
+
+	insinto /etc/logrotate.d/
+	newins "${FILESDIR}"/ceph.logrotate-r2 ${PN}
+
+	keepdir /var/lib/${PN}{,/tmp} /var/log/ceph/stat /var/log/ceph/console
+
+	fowners -R ceph:ceph /var/log/ceph
+
+	newinitd "${FILESDIR}/rbdmap.initd-r1" rbdmap
+	newinitd "${FILESDIR}/${PN}.initd-r14" ${PN}
+	newconfd "${FILESDIR}/${PN}.confd-r5" ${PN}
+
+	insinto /etc/sudoers.d
+	doins sudoers.d/*
+
+	insinto /etc/sysctl.d
+	newins "${FILESDIR}"/sysctld 90-${PN}.conf
+
+	use tcmalloc && newenvd "${FILESDIR}"/envd-tcmalloc 99${PN}-tcmalloc
+
+	# units aren't installed by the build system unless systemd is enabled
+	# so no point installing these with the USE flag disabled
+	if use systemd; then
+		systemd_install_serviced "${FILESDIR}/ceph-mds_at.service.conf" "ceph-mds@.service"
+		systemd_install_serviced "${FILESDIR}/ceph-osd_at.service.conf" "ceph-osd@.service"
+	fi
+
+	udev_dorules udev/*.rules
+	newtmpfiles "${FILESDIR}"/ceph-tmpfilesd ${PN}.conf
+
+	readme.gentoo_create_doc
+
+	# bug #630232
+	sed -i -r "s:${T//:/\\:}/${EPYTHON}:/usr:" "${ED}"/usr/bin/ceph{,-crash} \
+		|| die "sed failed"
+
+	python_fix_shebang "${ED}"/usr/{,s}bin/
+
+	# python_fix_shebang apparently is not idempotent
+	local shebang_regex='(/usr/lib/python-exec/python[0-9]\.[0-9]/python)[0-9]\.[0-9]'
+	grep -r -E -l --null "${shebang_regex}" "${ED}"/usr/{s,}bin/ \
+		| xargs --null --no-run-if-empty -- sed -i -r  "s:${shebang_regex}:\1:" || die
+
+	local -a rados_classes=( "${ED}/usr/$(get_libdir)/rados-classes"/* )
+	dostrip -x "${rados_classes[@]#${ED}}"
+}
+
+python_install() {
+	local CMAKE_USE_DIR="${S}"
+	DESTDIR="${ED}" cmake_build src/pybind/install
+	DESTDIR="${ED}" cmake_build src/cephadm/install
+
+	python_scriptinto /usr/sbin
+	python_doscript src/cephadm/cephadm
+
+	python_optimize
+}
+
+pkg_postinst() {
+	readme.gentoo_print_elog
+	tmpfiles_process ${PN}.conf
+	udev_reload
+}
+
+pkg_postrm() {
+	udev_reload
+}

diff --git a/sys-cluster/ceph/files/ceph-17.2.7-fmt-fixes.patch b/sys-cluster/ceph/files/ceph-17.2.7-fmt-fixes.patch
new file mode 100644
index 000000000000..5d8ee2af9ba3
--- /dev/null
+++ b/sys-cluster/ceph/files/ceph-17.2.7-fmt-fixes.patch
@@ -0,0 +1,12 @@
+diff --git a/src/osd/SnapMapper.cc b/src/osd/SnapMapper.cc
+index 4feabcda459..6b9a9bf86ce 100644
+--- a/src/osd/SnapMapper.cc
++++ b/src/osd/SnapMapper.cc
+@@ -17,6 +17,7 @@
+ #include <fmt/printf.h>
+ #include <fmt/ranges.h>
+ 
++#include "include/object_fmt.h"
+ #include "osd/osd_types_fmt.h"
+ #include "SnapMapReaderI.h"
+ 


^ permalink raw reply related	[flat|nested] 68+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-cluster/ceph/, sys-cluster/ceph/files/
@ 2023-09-12  2:24 Patrick McLean
  0 siblings, 0 replies; 68+ messages in thread
From: Patrick McLean @ 2023-09-12  2:24 UTC (permalink / raw
  To: gentoo-commits

commit:     9f923c7270ad28e4d42ea2db627ddd40020d8292
Author:     Patrick McLean <chutzpah <AT> gentoo <DOT> org>
AuthorDate: Tue Sep 12 01:56:36 2023 +0000
Commit:     Patrick McLean <chutzpah <AT> gentoo <DOT> org>
CommitDate: Tue Sep 12 02:24:35 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=9f923c72

sys-cluster/ceph: add 16.2.14, drop 16.2.13-r2

Signed-off-by: Patrick McLean <chutzpah <AT> gentoo.org>

 sys-cluster/ceph/Manifest                          |  2 +-
 ...{ceph-16.2.13-r2.ebuild => ceph-16.2.14.ebuild} |  6 +-
 sys-cluster/ceph/files/ceph-16.2.14-gcc13.patch    | 84 ++++++++++++++++++++++
 3 files changed, 90 insertions(+), 2 deletions(-)

diff --git a/sys-cluster/ceph/Manifest b/sys-cluster/ceph/Manifest
index f4f3aab3b39d..d89b43142d52 100644
--- a/sys-cluster/ceph/Manifest
+++ b/sys-cluster/ceph/Manifest
@@ -1,4 +1,4 @@
-DIST ceph-16.2.13.tar.gz 157213576 BLAKE2B cc319ff67f6320c101341d7bbca0d49630fd6d4a5ed48b34e73a9e780ddf934adc35e3ff09e32115fe4b9a853bff9a85ca2c1e5e62d5596251d2dae535726a28 SHA512 39ec2bed1de0276f08bf93241f9fb275893041fd5f20ade75e68728107011ae5d01aed532d5afd8805951d09061a5a3d96c4311701c8897a29668f77126c19ab
+DIST ceph-16.2.14.tar.gz 157243362 BLAKE2B 799132ebc815380b2040250915c82c5752983a23e2489e7c12e624b70a93b29c151cb1ab9670e43f2c89d75523655e57860dcdc797d455abc6c6ddc3c880c70c SHA512 397845f44d94e01ae49c5f4dabd75b8bf20c9ece9aeba85f4a5c12154335420cce390bfd94146be3bef763d44e47d15522a84b4f6cdc6bdde77982ac8bd79a54
 DIST ceph-17.2.6.tar.gz 168093221 BLAKE2B f79efce9bd7f485b43ae1b4da94a1d9fb3753003f34535e93c80e480ffeaaf054d371f75bca72402da5f9dd460aafa820bb2af550d213bdbcca74aa939180431 SHA512 dca9aea2ce210c15fcc34cb06a5dc5b4488ffa36d684166d47ebd87e48b54b6fee0882e1c67007a780e1c25754e9bc6e760cc10f60ea1183263f8504ef2dbd9b
 DIST ceph-18.2.0.tar.gz 197353856 BLAKE2B 0f2217d9ec4105f72b7b48f7981c5cc098e8f6d46b029acaae1aa91d71486e7dc5726cad0763b5bb0f79d006e289a9f590c95f2494c17f2f09fb492c06db455a SHA512 fe6a3ca4227cc05b5effc33a02670c466583ec9e4c7c025241248223992254e6e6551d7db486d5ead36bf0ba922d54e0aabc2aaf456d4593679376ec88bd971a
 DIST ceph-xsimd-17.2.6.tar.gz 173025 BLAKE2B 54679c24804c195ae55b9f49589e331dde92c6d89aaa20e827539e9a4e0010c7549cdd5cf02a7ebed83f953ab2a6f1d9cc9a98cf45c3dc7758ae4938c9c43713 SHA512 ecc58e7909648aaa22aefbf76ee2c5a2bece4b1b88da9c7eda1b69a46247e619ff99c4366afd6015f95debd68c1a6b89292c677b9049462d0fc0255fbc0c2a33

diff --git a/sys-cluster/ceph/ceph-16.2.13-r2.ebuild b/sys-cluster/ceph/ceph-16.2.14.ebuild
similarity index 98%
rename from sys-cluster/ceph/ceph-16.2.13-r2.ebuild
rename to sys-cluster/ceph/ceph-16.2.14.ebuild
index dccc03e507a4..010b32a6ec27 100644
--- a/sys-cluster/ceph/ceph-16.2.13-r2.ebuild
+++ b/sys-cluster/ceph/ceph-16.2.14.ebuild
@@ -102,7 +102,7 @@ BDEPEND="
 	x86? ( dev-lang/yasm )
 	app-arch/cpio
 	>=dev-util/cmake-3.5.0
-	dev-python/cython[${PYTHON_USEDEP}]
+	<dev-python/cython-3[${PYTHON_USEDEP}]
 	dev-python/setuptools[${PYTHON_USEDEP}]
 	dev-python/sphinx
 	dev-util/gperf
@@ -211,6 +211,7 @@ PATCHES=(
 	"${FILESDIR}/ceph-17.2.0-gcc12-header.patch"
 	"${FILESDIR}/ceph-16.2.10-flags.patch"
 	"${FILESDIR}/ceph-17.2.5-boost-1.81.patch"
+	"${FILESDIR}/ceph-16.2.14-gcc13.patch"
 )
 
 check-reqs_export_vars() {
@@ -458,6 +459,9 @@ python_install() {
 	DESTDIR="${ED}" cmake_build VERBOSE=1 install
 	popd >/dev/null || die
 
+	python_scriptinto /usr/sbin
+	python_doscript src/cephadm/cephadm
+
 	python_optimize
 }
 

diff --git a/sys-cluster/ceph/files/ceph-16.2.14-gcc13.patch b/sys-cluster/ceph/files/ceph-16.2.14-gcc13.patch
new file mode 100644
index 000000000000..7f84a19706dc
--- /dev/null
+++ b/sys-cluster/ceph/files/ceph-16.2.14-gcc13.patch
@@ -0,0 +1,84 @@
+diff --git a/src/common/Cycles.h b/src/common/Cycles.h
+index 16e0aa67fc1..791be43469c 100644
+--- a/src/common/Cycles.h
++++ b/src/common/Cycles.h
+@@ -29,8 +29,9 @@
+  */
+ 
+ 
+-#ifndef CEPH_CYCLES_H
+-#define CEPH_CYCLES_H
++#pragma once
++
++#include <cstdint>
+ 
+ /**
+  * This class provides static methods that read the fine-grain CPU
+@@ -112,4 +113,3 @@ private:
+   }
+ };
+ 
+-#endif  // CEPH_CYCLES_H
+diff --git a/src/common/subsys_types.h b/src/common/subsys_types.h
+index 52171809b23..1a2ab796b6d 100644
+--- a/src/common/subsys_types.h
++++ b/src/common/subsys_types.h
+@@ -53,7 +53,7 @@ ceph_subsys_get_as_array() {
+ #undef DEFAULT_SUBSYS
+ }
+ 
+-constexpr static std::uint8_t
++constexpr static uint8_t
+ ceph_subsys_get_max_default_level(const std::size_t subidx) {
+   const auto item = ceph_subsys_get_as_array()[subidx];
+   return std::max(item.log_level, item.gather_level);
+diff --git a/src/librbd/api/PoolMetadata.h b/src/librbd/api/PoolMetadata.h
+index c0a8173596e..8d982879aa9 100644
+--- a/src/librbd/api/PoolMetadata.h
++++ b/src/librbd/api/PoolMetadata.h
+@@ -9,6 +9,7 @@
+ 
+ #include <map>
+ #include <string>
++#include <cstdint>
+ 
+ namespace librbd {
+ 
+diff --git a/src/msg/async/crypto_onwire.h b/src/msg/async/crypto_onwire.h
+index 55f7550868f..2213c21d08d 100644
+--- a/src/msg/async/crypto_onwire.h
++++ b/src/msg/async/crypto_onwire.h
+@@ -95,7 +95,7 @@ public:
+   // Transmitter can append extra bytes of ciphertext at the -final step.
+   // This method return how much was added, and thus let client translate
+   // plaintext size into ciphertext size to grab from wire.
+-  virtual std::uint32_t get_extra_size_at_final() = 0;
++  virtual uint32_t get_extra_size_at_final() = 0;
+ 
+   // Instance of RxHandler must be reset before doing any decrypt-update
+   // step. This applies also to situation when decrypt-final was already
+diff --git a/src/test/librados/op_speed.cc b/src/test/librados/op_speed.cc
+index 90c7bdac571..9452da6dcc9 100644
+--- a/src/test/librados/op_speed.cc
++++ b/src/test/librados/op_speed.cc
+@@ -9,7 +9,7 @@ int main() {
+   for (int i = 0; i < to_create; ++i) {
+     librados::ObjectReadOperation op;
+     bufferlist bl;
+-    std::uint64_t sz;
++    uint64_t sz;
+     struct timespec tm;
+     std::map<std::string, ceph::buffer::list> xattrs;
+     std::map<std::string, ceph::buffer::list> omap;
+diff --git a/src/test/mon/test_log_rss_usage.cc b/src/test/mon/test_log_rss_usage.cc
+index f6e85f414c8..9769cabd884 100644
+--- a/src/test/mon/test_log_rss_usage.cc
++++ b/src/test/mon/test_log_rss_usage.cc
+@@ -5,6 +5,7 @@
+ #include <string>
+ #include <iostream>
+ #include <fstream>
++#include <cstdint>
+ #include <stdlib.h>
+ #include <stdio.h>
+ #include <unistd.h>


^ permalink raw reply related	[flat|nested] 68+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-cluster/ceph/, sys-cluster/ceph/files/
@ 2023-06-04  5:06 Sam James
  0 siblings, 0 replies; 68+ messages in thread
From: Sam James @ 2023-06-04  5:06 UTC (permalink / raw
  To: gentoo-commits

commit:     bbbbb0a44b36b8e45c4b94e9cd55e3b564882389
Author:     Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Sun Jun  4 04:59:34 2023 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Sun Jun  4 05:06:39 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=bbbbb0a4

sys-cluster/ceph: fix parallel(?) build failure

... or at least a non-deterministic issue, as it only happens on some machines.

We've seen that kind of thing in the past with ninja, although only pretty
rarely (on m68k...).

Closes: https://bugs.gentoo.org/868891
Signed-off-by: Sam James <sam <AT> gentoo.org>

 sys-cluster/ceph/ceph-17.2.6-r3.ebuild         |  4 +-
 sys-cluster/ceph/files/ceph-17.2.6-cmake.patch | 80 ++++++++++++++++++++++++++
 2 files changed, 83 insertions(+), 1 deletion(-)

diff --git a/sys-cluster/ceph/ceph-17.2.6-r3.ebuild b/sys-cluster/ceph/ceph-17.2.6-r3.ebuild
index 259638cf91a1..0c028dec1610 100644
--- a/sys-cluster/ceph/ceph-17.2.6-r3.ebuild
+++ b/sys-cluster/ceph/ceph-17.2.6-r3.ebuild
@@ -3,7 +3,7 @@
 
 EAPI=8
 
-PYTHON_COMPAT=( python3_{9..11} )
+PYTHON_COMPAT=( python3_{10..11} )
 LUA_COMPAT=( lua5-{3..4} )
 
 inherit check-reqs bash-completion-r1 cmake flag-o-matic lua-single \
@@ -227,6 +227,8 @@ PATCHES=(
 	"${FILESDIR}/ceph-17.2.6-link-boost-context.patch"
 	# https://bugs.gentoo.org/905626
 	"${FILESDIR}/ceph-17.2.6-arrow-flatbuffers-c++14.patch"
+	# https://bugs.gentoo.org/868891
+	"${FILESDIR}/ceph-17.2.6-cmake.patch"
 )
 
 check-reqs_export_vars() {

diff --git a/sys-cluster/ceph/files/ceph-17.2.6-cmake.patch b/sys-cluster/ceph/files/ceph-17.2.6-cmake.patch
new file mode 100644
index 000000000000..82bf399fb6f1
--- /dev/null
+++ b/sys-cluster/ceph/files/ceph-17.2.6-cmake.patch
@@ -0,0 +1,80 @@
+https://bugs.gentoo.org/868891
+https://github.com/ceph/ceph/pull/49517
+
+From aa4b3652399b317652407959ee880982d4f648de Mon Sep 17 00:00:00 2001
+From: jinqiang zhang <peeweep@0x0.ee>
+Date: Tue, 20 Dec 2022 04:28:52 +0000
+Subject: [PATCH 1/2] cmake: fix common-msg-objs can't find common-options-objs
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+compile ceph-17.2.5 failed with follow error message:
+
+```
+ceph-17.2.5/src/msg/Messenger.h:723:30: error: ‘class ConfigValues’ has no member named ‘ms_die_on_unhandled_msg’
+```
+
+Add common-options-objs to common-msg-objs's depend to fix it.
+
+Full build log: https://fars.ee/YMqu
+Releated downstream issue: https://bugs.gentoo.org/866449
+Signed-off-by: jinqiang zhang <peeweep@0x0.ee>
+--- a/src/msg/CMakeLists.txt
++++ b/src/msg/CMakeLists.txt
+@@ -48,6 +48,7 @@ add_library(common-msg-objs OBJECT ${msg_srcs})
+ target_compile_definitions(common-msg-objs PRIVATE
+   $<TARGET_PROPERTY:fmt::fmt,INTERFACE_COMPILE_DEFINITIONS>)
+ target_include_directories(common-msg-objs PRIVATE ${OPENSSL_INCLUDE_DIR})
++add_dependencies(common-msg-objs common-options-objs)
+ 
+ if(WITH_DPDK)
+   set(async_dpdk_srcs
+
+From 80e422234acb1f8ffcbe8ee3898cb00f889466a3 Mon Sep 17 00:00:00 2001
+From: jinqiang zhang <peeweep@0x0.ee>
+Date: Tue, 20 Dec 2022 04:36:56 +0000
+Subject: [PATCH 2/2] cmake: fix krbd and rados_snap_set_diff_obj can't find
+ global_legacy_options.h
+
+compile ceph-17.2.5 failed with follow error messages:
+
+1. src/librados/snap_set_diff.cc can't find global_legacy_options.h
+```
+                 from /var/tmp/portage/sys-cluster/ceph-17.2.5-r1/work/ceph-17.2.5/src/librados/snap_set_diff.cc:7:
+/var/tmp/portage/sys-cluster/ceph-17.2.5-r1/work/ceph-17.2.5/src/common/options/legacy_config_opts.h:1:10: fatal error: global_legacy_options.h: No such file or directory
+
+```
+
+2. src/krbd.cc can't find global_legacy_options.h
+
+```
+                 from /var/tmp/portage/sys-cluster/ceph-17.2.5-r1/work/ceph-17.2.5/src/krbd.cc:44:
+/var/tmp/portage/sys-cluster/ceph-17.2.5-r1/work/ceph-17.2.5/src/common/options/legacy_config_opts.h:1:10: fatal error: global_legacy_options.h: No such file or directory
+
+```
+
+Add common-options-objs to depend to let it build ealier, similar with 3b3da64d.
+
+Full build log: https://fars.ee/SZFs
+Releated downstream issue: https://bugs.gentoo.org/868891
+Signed-off-by: jinqiang zhang <peeweep@0x0.ee>
+--- a/src/CMakeLists.txt
++++ b/src/CMakeLists.txt
+@@ -614,6 +614,7 @@ add_subdirectory(osdc)
+ add_subdirectory(perfglue)
+ 
+ add_library(rados_snap_set_diff_obj OBJECT librados/snap_set_diff.cc)
++add_dependencies(rados_snap_set_diff_obj common-options-objs)
+ 
+ option(WITH_LIBRADOSSTRIPER "build with libradosstriper support" ON)
+ 
+@@ -867,6 +868,7 @@ add_subdirectory(journal)
+ if(WITH_RBD)
+   if(WITH_KRBD)
+     add_library(krbd STATIC krbd.cc
++      $<TARGET_OBJECTS:common-options-objs>
+       $<TARGET_OBJECTS:parse_secret_objs>)
+     target_link_libraries(krbd keyutils::keyutils)
+   endif()
+


^ permalink raw reply related	[flat|nested] 68+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-cluster/ceph/, sys-cluster/ceph/files/
@ 2023-06-03  1:54 Sam James
  0 siblings, 0 replies; 68+ messages in thread
From: Sam James @ 2023-06-03  1:54 UTC (permalink / raw
  To: gentoo-commits

commit:     37730ad6c0384670c28db327239bcf6be3480b03
Author:     Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Sat Jun  3 01:54:01 2023 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Sat Jun  3 01:54:35 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=37730ad6

sys-cluster/ceph: fix build w/ new abseil

Closes: https://bugs.gentoo.org/895254
Signed-off-by: Sam James <sam <AT> gentoo.org>

 sys-cluster/ceph/ceph-17.2.6-r3.ebuild             |  2 +
 .../ceph-17.2.6-arrow-flatbuffers-c++14.patch      | 92 ++++++++++++++++++++++
 2 files changed, 94 insertions(+)

diff --git a/sys-cluster/ceph/ceph-17.2.6-r3.ebuild b/sys-cluster/ceph/ceph-17.2.6-r3.ebuild
index c1d16e9edab6..259638cf91a1 100644
--- a/sys-cluster/ceph/ceph-17.2.6-r3.ebuild
+++ b/sys-cluster/ceph/ceph-17.2.6-r3.ebuild
@@ -225,6 +225,8 @@ PATCHES=(
 	"${FILESDIR}/ceph-17.2.5-boost-1.81.patch"
 	# https://bugs.gentoo.org/901403
 	"${FILESDIR}/ceph-17.2.6-link-boost-context.patch"
+	# https://bugs.gentoo.org/905626
+	"${FILESDIR}/ceph-17.2.6-arrow-flatbuffers-c++14.patch"
 )
 
 check-reqs_export_vars() {

diff --git a/sys-cluster/ceph/files/ceph-17.2.6-arrow-flatbuffers-c++14.patch b/sys-cluster/ceph/files/ceph-17.2.6-arrow-flatbuffers-c++14.patch
new file mode 100644
index 000000000000..e5ab9943a4f6
--- /dev/null
+++ b/sys-cluster/ceph/files/ceph-17.2.6-arrow-flatbuffers-c++14.patch
@@ -0,0 +1,92 @@
+https://bugs.gentoo.org/905626
+https://github.com/google/flatbuffers/pull/7897
+https://github.com/apache/arrow/commit/22dc537e581b385b53ce579a03786a2db0bd4487
+
+From 22dc537e581b385b53ce579a03786a2db0bd4487 Mon Sep 17 00:00:00 2001
+From: Antoine Pitrou <antoine@python.org>
+Date: Thu, 20 Jan 2022 20:44:40 +0100
+Subject: [PATCH] ARROW-15388: [C++] Avoid including absl from flatbuffers
+
+There may be an incomplete/broken copy of the Abseil library lying around
+(for example because of a race condition while installing it as a bundled library).
+
+Since absl is only used by Flatbuffers to provide a string_view facility,
+use our own vendored string_view instead.
+
+Closes #12204 from pitrou/ARROW-15388-flatbuffers-string-view
+
+Authored-by: Antoine Pitrou <antoine@python.org>
+Signed-off-by: Antoine Pitrou <antoine@python.org>
+---
+ cpp/thirdparty/flatbuffers/README.md          | 42 +++++++++++++++++++
+ .../flatbuffers/include/flatbuffers/base.h    |  7 ----
+ 2 files changed, 42 insertions(+), 7 deletions(-)
+ create mode 100644 cpp/thirdparty/flatbuffers/README.md
+
+diff --git a/src/arrow/cpp/thirdparty/flatbuffers/README.md b/src/arrow/cpp/thirdparty/flatbuffers/README.md
+new file mode 100644
+index 0000000000000..e955adba4cebb
+--- /dev/null
++++ b/src/arrow/cpp/thirdparty/flatbuffers/README.md
+@@ -0,0 +1,42 @@
++<!---
++  Licensed to the Apache Software Foundation (ASF) under one
++  or more contributor license agreements.  See the NOTICE file
++  distributed with this work for additional information
++  regarding copyright ownership.  The ASF licenses this file
++  to you under the Apache License, Version 2.0 (the
++  "License"); you may not use this file except in compliance
++  with the License.  You may obtain a copy of the License at
++
++    http://www.apache.org/licenses/LICENSE-2.0
++
++  Unless required by applicable law or agreed to in writing,
++  software distributed under the License is distributed on an
++  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
++  KIND, either express or implied.  See the License for the
++  specific language governing permissions and limitations
++  under the License.
++-->
++
++This directory contains a vendored version of Flatbuffers
++(unknown changeset), with the following patch for ARROW-15388:
++
++```diff
++diff --git a/cpp/thirdparty/flatbuffers/include/flatbuffers/base.h b/cpp/thirdparty/flatbuffers/include/flatbuffers/base.h
++index 955738067..fccce42f6 100644
++--- a/cpp/thirdparty/flatbuffers/include/flatbuffers/base.h
+++++ b/cpp/thirdparty/flatbuffers/include/flatbuffers/base.h
++@@ -212,13 +212,6 @@ namespace flatbuffers {
++         typedef std::experimental::string_view string_view;
++       }
++       #define FLATBUFFERS_HAS_STRING_VIEW 1
++-    // Check for absl::string_view
++-    #elif __has_include("absl/strings/string_view.h")
++-      #include "absl/strings/string_view.h"
++-      namespace flatbuffers {
++-        typedef absl::string_view string_view;
++-      }
++-      #define FLATBUFFERS_HAS_STRING_VIEW 1
++     #endif
++   #endif // __has_include
++ #endif // !FLATBUFFERS_HAS_STRING_VIEW
++```
+diff --git a/src/arrow/cpp/thirdparty/flatbuffers/include/flatbuffers/base.h b/src/arrow/cpp/thirdparty/flatbuffers/include/flatbuffers/base.h
+index 9557380672342..fccce42f68aa6 100644
+--- a/src/arrow/cpp/thirdparty/flatbuffers/include/flatbuffers/base.h
++++ b/src/arrow/cpp/thirdparty/flatbuffers/include/flatbuffers/base.h
+@@ -212,13 +212,6 @@ namespace flatbuffers {
+         typedef std::experimental::string_view string_view;
+       }
+       #define FLATBUFFERS_HAS_STRING_VIEW 1
+-    // Check for absl::string_view
+-    #elif __has_include("absl/strings/string_view.h")
+-      #include "absl/strings/string_view.h"
+-      namespace flatbuffers {
+-        typedef absl::string_view string_view;
+-      }
+-      #define FLATBUFFERS_HAS_STRING_VIEW 1
+     #endif
+   #endif // __has_include
+ #endif // !FLATBUFFERS_HAS_STRING_VIEW
+


^ permalink raw reply related	[flat|nested] 68+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-cluster/ceph/, sys-cluster/ceph/files/
@ 2023-04-11 23:28 Patrick McLean
  0 siblings, 0 replies; 68+ messages in thread
From: Patrick McLean @ 2023-04-11 23:28 UTC (permalink / raw
  To: gentoo-commits

commit:     8ae00bcaa9f1d663442445ac3f35eaa559478751
Author:     Patrick McLean <chutzpah <AT> gentoo <DOT> org>
AuthorDate: Tue Apr 11 23:25:14 2023 +0000
Commit:     Patrick McLean <chutzpah <AT> gentoo <DOT> org>
CommitDate: Tue Apr 11 23:28:52 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=8ae00bca

sys-cluster/ceph: add 17.2.6

Signed-off-by: Patrick McLean <chutzpah <AT> gentoo.org>

 sys-cluster/ceph/ceph-17.2.6.ebuild                | 479 +++++++++++++++++++++
 .../files/ceph-17.2.6-link-boost-context.patch     |  13 +
 2 files changed, 492 insertions(+)

diff --git a/sys-cluster/ceph/ceph-17.2.6.ebuild b/sys-cluster/ceph/ceph-17.2.6.ebuild
new file mode 100644
index 000000000000..aa370edc1017
--- /dev/null
+++ b/sys-cluster/ceph/ceph-17.2.6.ebuild
@@ -0,0 +1,479 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{9..11} )
+LUA_COMPAT=( lua5-{3..4} )
+
+inherit check-reqs bash-completion-r1 cmake flag-o-matic lua-single \
+		python-r1 udev readme.gentoo-r1 toolchain-funcs systemd tmpfiles
+
+XSIMD_HASH="aeec9c872c8b475dedd7781336710f2dd2666cb2"
+SRC_URI="
+	https://download.ceph.com/tarballs/${P}.tar.gz
+	parquet? ( https://github.com/xtensor-stack/xsimd/archive/${XSIMD_HASH}.tar.gz -> ceph-xsimd-${PV}.tar.gz )
+"
+KEYWORDS="~amd64 ~arm64"
+
+DESCRIPTION="Ceph distributed filesystem"
+HOMEPAGE="https://ceph.com/"
+
+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"
+SLOT="0"
+
+CPU_FLAGS_X86=(avx2 avx512f pclmul sse{,2,3,4_1,4_2} ssse3)
+
+IUSE="
+	babeltrace +cephfs custom-cflags diskprediction dpdk fuse grafana
+	jemalloc jaeger kafka kerberos ldap lttng +mgr +parquet pmdk rabbitmq
+	+radosgw rbd-rwl rbd-ssd rdma rgw-lua +ssl spdk +sqlite +system-boost
+	systemd +tcmalloc test +uring xfs zbd zfs
+"
+
+IUSE+="$(printf "cpu_flags_x86_%s\n" ${CPU_FLAGS_X86[@]})"
+
+DEPEND="
+	${LUA_DEPS}
+	${PYTHON_DEPS}
+	acct-group/ceph
+	acct-user/ceph
+	virtual/libudev:=
+	app-arch/bzip2:=
+	app-arch/lz4:=
+	app-arch/snappy:=
+	>=app-arch/snappy-1.1.9-r1
+	app-arch/zstd:=
+	app-shells/bash:0
+	app-misc/jq:=
+	dev-libs/crypto++:=
+	dev-cpp/gflags:=
+	dev-lang/jsonnet:=
+	<dev-libs/leveldb-1.23:=[snappy,tcmalloc(-)?]
+	dev-libs/libaio:=
+	>=dev-libs/libfmt-6.2.1:=
+	<dev-libs/libfmt-9:=
+	dev-libs/libnl:3=
+	dev-libs/libxml2:=
+	dev-libs/libevent:=
+	dev-libs/libutf8proc:=
+	dev-libs/nss:=
+	dev-libs/openssl:=
+	<dev-libs/rocksdb-6.15:=
+	dev-libs/thrift:=
+	dev-libs/xmlsec:=[openssl]
+	dev-cpp/yaml-cpp:=
+	dev-python/natsort[${PYTHON_USEDEP}]
+	dev-python/pyyaml[${PYTHON_USEDEP}]
+	net-dns/c-ares:=
+	net-libs/gnutls:=
+	sys-auth/oath-toolkit:=
+	sys-apps/coreutils
+	sys-apps/hwloc:=
+	sys-apps/keyutils:=
+	sys-apps/util-linux:=
+	sys-libs/libcap-ng:=
+	sys-libs/ncurses:0=
+	sys-libs/zlib:=
+	sys-process/numactl:=
+	virtual/libcrypt:=
+	x11-libs/libpciaccess:=
+	babeltrace? ( dev-util/babeltrace )
+	fuse? ( sys-fs/fuse:3= )
+	jemalloc? ( dev-libs/jemalloc:= )
+	!jemalloc? ( >=dev-util/google-perftools-2.6.1:= )
+	jaeger? (
+		dev-cpp/nlohmann_json:=
+		dev-cpp/opentelemetry-cpp:=[jaeger]
+	)
+	kafka? ( dev-libs/librdkafka:= )
+	kerberos? ( virtual/krb5 )
+	ldap? ( net-nds/openldap:= )
+	lttng? ( dev-util/lttng-ust:= )
+	parquet? ( dev-libs/re2:= )
+	pmdk? ( >=dev-libs/pmdk-1.10.0:= )
+	rabbitmq? ( net-libs/rabbitmq-c:= )
+	radosgw? (
+		dev-libs/icu:=
+		dev-libs/expat:=
+		net-misc/curl:=[curl_ssl_openssl]
+	)
+	rbd-rwl? ( dev-libs/pmdk:= )
+	rdma? ( sys-cluster/rdma-core:= )
+	spdk? ( dev-util/cunit )
+	sqlite? ( dev-db/sqlite:= )
+	system-boost? ( dev-libs/boost:=[context,python,${PYTHON_USEDEP},zlib] )
+	uring? ( sys-libs/liburing:= )
+	xfs? ( sys-fs/xfsprogs:= )
+	zbd? ( sys-block/libzbd:= )
+	zfs? ( sys-fs/zfs:= )
+"
+BDEPEND="
+	amd64? ( dev-lang/nasm )
+	x86? ( dev-lang/yasm )
+	app-arch/cpio
+	>=dev-util/cmake-3.5.0
+	dev-python/cython[${PYTHON_USEDEP}]
+	dev-python/setuptools[${PYTHON_USEDEP}]
+	dev-python/sphinx
+	dev-util/gperf
+	dev-util/ragel
+	dev-util/valgrind
+	sys-apps/coreutils
+	sys-apps/grep
+	sys-apps/util-linux
+	sys-apps/which
+	sys-devel/bc
+	sys-devel/patch
+	virtual/pkgconfig
+	jaeger? (
+		sys-devel/bison
+		sys-devel/flex
+	)
+	test? (
+		dev-util/cunit
+		dev-python/coverage[${PYTHON_USEDEP}]
+		dev-python/virtualenv[${PYTHON_USEDEP}]
+		dev-python/requests-mock[${PYTHON_USEDEP}]
+		sys-apps/grep[pcre]
+		sys-fs/btrfs-progs
+	)
+"
+RDEPEND="
+	${DEPEND}
+	app-admin/sudo
+	net-misc/socat
+	sys-apps/gptfdisk
+	sys-apps/nvme-cli
+	>=sys-apps/smartmontools-7.0
+	sys-block/parted
+	sys-fs/cryptsetup
+	sys-fs/lsscsi
+	sys-fs/lvm2[lvm]
+	app-alternatives/awk
+	dev-python/bcrypt[${PYTHON_USEDEP}]
+	dev-python/cherrypy[${PYTHON_USEDEP}]
+	dev-python/python-dateutil[${PYTHON_USEDEP}]
+	dev-python/flask[${PYTHON_USEDEP}]
+	dev-python/jinja[${PYTHON_USEDEP}]
+	dev-python/pecan[${PYTHON_USEDEP}]
+	dev-python/prettytable[${PYTHON_USEDEP}]
+	dev-python/pyopenssl[${PYTHON_USEDEP}]
+	dev-python/requests[${PYTHON_USEDEP}]
+	dev-python/werkzeug[${PYTHON_USEDEP}]
+	mgr? (
+		dev-python/jsonpatch[${PYTHON_USEDEP}]
+		dev-python/more-itertools[${PYTHON_USEDEP}]
+		dev-python/numpy[${PYTHON_USEDEP}]
+		dev-python/pyjwt[${PYTHON_USEDEP}]
+		dev-python/routes[${PYTHON_USEDEP}]
+		diskprediction? (
+			>=dev-python/scipy-1.4.0[${PYTHON_USEDEP}]
+		)
+		sci-libs/scikit-learn[${PYTHON_USEDEP}]
+		dev-python/six[${PYTHON_USEDEP}]
+	)
+"
+REQUIRED_USE="
+	${PYTHON_REQUIRED_USE}
+	${LUA_REQUIRED_USE}
+	?? ( jemalloc tcmalloc )
+	diskprediction? ( mgr )
+	kafka? ( radosgw )
+	mgr? ( cephfs )
+	rabbitmq? ( radosgw )
+	rgw-lua? ( radosgw )
+"
+
+RESTRICT="
+	!test? ( test )
+"
+
+# tests need root access, and network access
+RESTRICT+="test"
+
+# false positives unless all USE flags are on
+CMAKE_WARN_UNUSED_CLI=no
+
+PATCHES=(
+	"${FILESDIR}/ceph-12.2.0-use-provided-cpu-flag-values.patch"
+	"${FILESDIR}/ceph-14.2.0-cflags.patch"
+	"${FILESDIR}/ceph-12.2.4-boost-build-none-options.patch"
+	"${FILESDIR}/ceph-16.2.2-cflags.patch"
+	"${FILESDIR}/ceph-17.2.1-no-virtualenvs.patch"
+	"${FILESDIR}/ceph-13.2.2-dont-install-sysvinit-script.patch"
+	"${FILESDIR}/ceph-14.2.0-dpdk-cflags.patch"
+	"${FILESDIR}/ceph-16.2.0-rocksdb-cmake.patch"
+	"${FILESDIR}/ceph-16.2.0-spdk-tinfo.patch"
+	"${FILESDIR}/ceph-16.2.0-jaeger-system-boost.patch"
+	"${FILESDIR}/ceph-16.2.0-liburing.patch"
+	"${FILESDIR}/ceph-17.2.0-cyclic-deps.patch"
+	"${FILESDIR}/ceph-17.2.0-pybind-boost-1.74.patch"
+	"${FILESDIR}/ceph-17.2.0-findre2.patch"
+	"${FILESDIR}/ceph-17.2.0-install-dbstore.patch"
+	"${FILESDIR}/ceph-17.2.0-deprecated-boost.patch"
+	"${FILESDIR}/ceph-17.2.0-system-opentelemetry.patch"
+	"${FILESDIR}/ceph-17.2.0-fuse3.patch"
+	"${FILESDIR}/ceph-17.2.0-osd_class_dir.patch"
+	"${FILESDIR}/ceph-17.2.0-gcc12-header.patch"
+	"${FILESDIR}/ceph-17.2.3-flags.patch"
+	"${FILESDIR}/ceph-17.2.4-cyclic-deps.patch"
+	# https://bugs.gentoo.org/866165
+	"${FILESDIR}/ceph-17.2.5-suppress-cmake-warning.patch"
+	"${FILESDIR}/ceph-17.2.5-boost-1.81.patch"
+	# https://bugs.gentoo.org/901403
+	"${FILESDIR}/ceph-17.2.6-link-boost-context.patch"
+)
+
+check-reqs_export_vars() {
+	CHECKREQS_DISK_BUILD="6G"
+
+	if use system-boost; then
+		CHECKREQS_DISK_USR="350M"
+	else
+		CHECKREQS_DISK_USR="510M"
+	fi
+
+	export CHECKREQS_DISK_BUILD CHECKREQS_DISK_USR
+}
+
+pkg_pretend() {
+	check-reqs_export_vars
+	check-reqs_pkg_pretend
+}
+
+pkg_setup() {
+	python_setup
+	lua_setup
+	check-reqs_export_vars
+	check-reqs_pkg_setup
+}
+
+src_prepare() {
+	cmake_src_prepare
+
+	if use system-boost; then
+		find "${S}" -name '*.cmake' -or -name 'CMakeLists.txt' -print0 \
+			| xargs --null sed -r \
+			-e 's|Boost::|boost_|g' \
+			-e 's|Boost_|boost_|g' \
+			-e 's|[Bb]oost_boost|boost_system|g' \
+			-i || die
+	fi
+
+	if ! use systemd; then
+		find "${S}"/src/ceph-volume/ceph_volume -name '*.py' -print0 \
+			| xargs --null sed \
+			-e '/^from ceph_volume.systemd import systemctl/ d' \
+			-i || die
+	fi
+
+	sed -r -e "s:DESTINATION .+\\):DESTINATION $(get_bashcompdir)\\):" \
+		-i src/bash_completion/CMakeLists.txt || die
+
+	sed -e "s:objdump -p:$(tc-getOBJDUMP) -p:" -i CMakeLists.txt || die
+
+	# force lua version to use selected version
+	local lua_version
+	lua_version=$(ver_cut 1-2 $(lua_get_version))
+	sed "s:find_package(Lua [0-9][.][0-9] REQUIRED):find_package(Lua ${lua_version} EXACT REQUIRED):" \
+		-i src/CMakeLists.txt
+
+	if use spdk; then
+		# https://bugs.gentoo.org/871942
+		sed -i 's/[#]ifndef HAVE_ARC4RANDOM/#if 0/' src/spdk/lib/iscsi/iscsi.c || die
+	fi
+
+	# remove tests that need root access
+	rm src/test/cli/ceph-authtool/cap*.t || die
+}
+
+ceph_src_configure() {
+	local mycmakeargs=(
+		-DWITH_BABELTRACE:BOOL=$(usex babeltrace)
+		-DWITH_BLUESTORE_PMEM:BOOL=$(usex pmdk)
+		-DWITH_CEPHFS:BOOL=$(usex cephfs)
+		-DWITH_CEPHFS_SHELL:BOOL=$(usex cephfs)
+		-DWITH_DPDK:BOOL=$(usex dpdk)
+		-DWITH_SPDK:BOOL=$(usex spdk)
+		-DWITH_FUSE:BOOL=$(usex fuse)
+		-DWITH_LTTNG:BOOL=$(usex lttng)
+		-DWITH_GSSAPI:BOOL=$(usex kerberos)
+		-DWITH_GRAFANA:BOOL=$(usex grafana)
+		-DWITH_MGR:BOOL=$(usex mgr)
+		-DWITH_MGR_DASHBOARD_FRONTEND:BOOL=OFF
+		-DWITH_OPENLDAP:BOOL=$(usex ldap)
+		-DWITH_PYTHON3:STRING=3
+		-DWITH_RADOSGW:BOOL=$(usex radosgw)
+		-DWITH_RADOSGW_AMQP_ENDPOINT:BOOL=$(usex rabbitmq)
+		-DWITH_RADOSGW_KAFKA_ENDPOINT:BOOL=$(usex kafka)
+		-DWITH_RADOSGW_LUA_PACKAGES:BOOL=$(usex rgw-lua "$(usex radosgw)" "NO")
+		-DWITH_RBD_RWL:BOOL=$(usex rbd-rwl)
+		-DWITH_RBD_SSD_CACHE:BOOL=$(usex rbd-ssd)
+		-DWITH_SYSTEMD:BOOL=$(usex systemd)
+		-DWITH_TESTS:BOOL=$(usex test)
+		-DWITH_LIBURING:BOOL=$(usex uring)
+		-DWITH_SYSTEM_LIBURING:BOOL=$(usex uring)
+		-DWITH_LIBCEPHSQLITE:BOOL=$(usex sqlite)
+		-DWITH_XFS:BOOL=$(usex xfs)
+		-DWITH_ZBD:BOOL=$(usex zbd)
+		-DWITH_ZFS:BOOL=$(usex zfs)
+		-DENABLE_SHARED:BOOL=ON
+		-DALLOCATOR:STRING=$(usex tcmalloc 'tcmalloc' "$(usex jemalloc 'jemalloc' 'libc')")
+		-DWITH_SYSTEM_PMDK:BOOL=$(usex pmdk 'YES' "$(usex rbd-rwl '')")
+		-DWITH_SYSTEM_BOOST:BOOL=$(usex system-boost)
+		-DWITH_SYSTEM_ROCKSDB:BOOL=ON
+		-DWITH_SYSTEM_ZSTD:BOOL=ON
+		-DWITH_RDMA:BOOL=$(usex rdma)
+		-DCMAKE_INSTALL_DOCDIR:PATH="${EPREFIX}/usr/share/doc/${PN}-${PVR}"
+		-DCMAKE_INSTALL_SYSCONFDIR:PATH="${EPREFIX}/etc"
+		-Wno-dev
+	)
+
+	# this breaks when re-configuring for python impl
+	if [[ ${EBUILD_PHASE} == configure ]]; then
+		mycmakeargs+=(
+			-DWITH_JAEGER:BOOL=$(usex jaeger)
+			-DWITH_RADOSGW_SELECT_PARQUET:BOOL=$(usex parquet)
+		)
+	else
+		mycmakeargs+=(
+			-DWITH_RADOSGW_SELECT_PARQUET:BOOL=OFF
+			-DWITH_JAEGER:BOOL=OFF
+			# don't want to warn about unused CLI when reconfiguring for python
+			-DCMAKE_WARN_UNUSED_CLI:BOOL=OFF
+		)
+	fi
+
+	# conditionally used cmake args
+	use test && mycmakearts+=( -DWITH_SYSTEM_GTEST:BOOL=$(usex test) )
+	use systemd && mycmakeargs+=( -DSYSTEMD_SYSTEM_UNIT_DIR:PATH=$(systemd_get_systemunitdir) )
+
+	if use amd64 || use x86; then
+		local flag
+		for flag in "${CPU_FLAGS_X86[@]}"; do
+			case "${flag}" in
+				avx*)
+					local var=${flag%f}
+					mycmakeargs+=(
+						"-DHAVE_NASM_X64_${var^^}:BOOL=$(usex cpu_flags_x86_${flag})"
+					)
+				;;
+				*) mycmakeargs+=(
+						"-DHAVE_INTEL_${flag^^}:BOOL=$(usex cpu_flags_x86_${flag})"
+					);;
+			esac
+		done
+	fi
+
+	# needed for >=glibc-2.32
+	has_version '>=sys-libs/glibc-2.32' && mycmakeargs+=( -DWITH_REENTRANT_STRSIGNAL:BOOL=ON )
+
+	rm -f "${BUILD_DIR:-${S}}/CMakeCache.txt" \
+		|| die "failed to remove cmake cache"
+
+	# hopefully this will not be necessary in the next release
+	use parquet && export ARROW_XSIMD_URL="file:///${DISTDIR}/ceph-xsimd-${PV}.tar.gz"
+
+	cmake_src_configure
+
+	# bug #630232
+	sed -i "s:\"${T//:\\:}/${EPYTHON}/bin/python\":\"${PYTHON}\":" \
+		"${BUILD_DIR:-${S}}"/include/acconfig.h \
+		|| die "sed failed"
+}
+
+src_configure() {
+	use custom-cflags || strip-flags
+	ceph_src_configure
+}
+
+src_compile() {
+	cmake_build all
+
+	# we have to do this here to prevent from building everything multiple times
+	python_copy_sources
+	python_foreach_impl python_compile
+}
+
+python_compile() {
+	local CMAKE_USE_DIR="${S}"
+	ceph_src_configure
+
+	cmake_build src/pybind/CMakeFiles/cython_modules
+}
+
+src_install() {
+	python_foreach_impl python_install
+
+	python_setup
+	cmake_src_install
+	python_optimize
+
+	find "${ED}" -name '*.la' -type f -delete || die
+
+	exeinto /usr/$(get_libdir)/ceph
+	newexe "${BUILD_DIR}/bin/init-ceph" init-ceph
+
+	insinto /etc/logrotate.d/
+	newins "${FILESDIR}"/ceph.logrotate-r2 ${PN}
+
+	keepdir /var/lib/${PN}{,/tmp} /var/log/ceph/stat /var/log/ceph/console
+
+	fowners -R ceph:ceph /var/log/ceph
+
+	newinitd "${FILESDIR}/rbdmap.initd-r1" rbdmap
+	newinitd "${FILESDIR}/${PN}.initd-r13" ${PN}
+	newconfd "${FILESDIR}/${PN}.confd-r5" ${PN}
+
+	insinto /etc/sudoers.d
+	doins sudoers.d/*
+
+	insinto /etc/sysctl.d
+	newins "${FILESDIR}"/sysctld 90-${PN}.conf
+
+	use tcmalloc && newenvd "${FILESDIR}"/envd-tcmalloc 99${PN}-tcmalloc
+
+	# units aren't installed by the build system unless systemd is enabled
+	# so no point installing these with the USE flag disabled
+	if use systemd; then
+		systemd_install_serviced "${FILESDIR}/ceph-mds_at.service.conf" "ceph-mds@.service"
+		systemd_install_serviced "${FILESDIR}/ceph-osd_at.service.conf" "ceph-osd@.service"
+	fi
+
+	udev_dorules udev/*.rules
+	newtmpfiles "${FILESDIR}"/ceph-tmpfilesd ${PN}.conf
+
+	readme.gentoo_create_doc
+
+	# bug #630232
+	sed -i -r "s:${T//:/\\:}/${EPYTHON}:/usr:" "${ED}"/usr/bin/ceph{,-crash} \
+		|| die "sed failed"
+
+	python_fix_shebang "${ED}"/usr/{,s}bin/
+
+	# python_fix_shebang apparently is not idempotent
+	local shebang_regex='(/usr/lib/python-exec/python[0-9]\.[0-9]/python)[0-9]\.[0-9]'
+	grep -r -E -l --null "${shebang_regex}" "${ED}"/usr/{s,}bin/ \
+		| xargs --null --no-run-if-empty -- sed -i -r  "s:${shebang_regex}:\1:" || die
+
+	local -a rados_classes=( "${ED}/usr/$(get_libdir)/rados-classes"/* )
+	dostrip -x "${rados_classes[@]#${ED}}"
+}
+
+python_install() {
+	local CMAKE_USE_DIR="${S}"
+	DESTDIR="${ED}" cmake_build src/pybind/install
+
+	python_optimize
+}
+
+pkg_postinst() {
+	readme.gentoo_print_elog
+	tmpfiles_process ${PN}.conf
+	udev_reload
+}
+
+pkg_postrm() {
+	udev_reload
+}

diff --git a/sys-cluster/ceph/files/ceph-17.2.6-link-boost-context.patch b/sys-cluster/ceph/files/ceph-17.2.6-link-boost-context.patch
new file mode 100644
index 000000000000..24f3fe796aac
--- /dev/null
+++ b/sys-cluster/ceph/files/ceph-17.2.6-link-boost-context.patch
@@ -0,0 +1,13 @@
+diff --git a/src/neorados/CMakeLists.txt b/src/neorados/CMakeLists.txt
+index c66043ac9f9..4b1013d26b7 100644
+--- a/src/neorados/CMakeLists.txt
++++ b/src/neorados/CMakeLists.txt
+@@ -11,7 +11,7 @@ add_library(libneorados STATIC
+   $<TARGET_OBJECTS:neorados_api_obj>
+   $<TARGET_OBJECTS:neorados_objs>)
+ target_link_libraries(libneorados PRIVATE
+-  osdc ceph-common cls_lock_client fmt::fmt
++  osdc ceph-common cls_lock_client fmt::fmt Boost::context
+   ${BLKID_LIBRARIES} ${CRYPTO_LIBS} ${EXTRALIBS})
+ 
+ # if(ENABLE_SHARED)


^ permalink raw reply related	[flat|nested] 68+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-cluster/ceph/, sys-cluster/ceph/files/
@ 2023-03-17 18:07 Patrick McLean
  0 siblings, 0 replies; 68+ messages in thread
From: Patrick McLean @ 2023-03-17 18:07 UTC (permalink / raw
  To: gentoo-commits

commit:     dfd010b1e7b61d35f957a37573f8c755695f9200
Author:     Patrick McLean <chutzpah <AT> gentoo <DOT> org>
AuthorDate: Fri Mar 17 18:05:44 2023 +0000
Commit:     Patrick McLean <chutzpah <AT> gentoo <DOT> org>
CommitDate: Fri Mar 17 18:07:14 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=dfd010b1

sys-cluster/ceph: Attempt to fix bug #901403

I am unable to reproduce this locally, but this *should* fix it.

Closes: https://bugs.gentoo.org/901403
Signed-off-by: Patrick McLean <chutzpah <AT> gentoo.org>

 sys-cluster/ceph/ceph-17.2.5-r3.ebuild                      |  5 ++++-
 sys-cluster/ceph/files/ceph-17.2.5-link-boost-context.patch | 10 ++++++++++
 2 files changed, 14 insertions(+), 1 deletion(-)

diff --git a/sys-cluster/ceph/ceph-17.2.5-r3.ebuild b/sys-cluster/ceph/ceph-17.2.5-r3.ebuild
index a99834673e30..2221ccb8e94e 100644
--- a/sys-cluster/ceph/ceph-17.2.5-r3.ebuild
+++ b/sys-cluster/ceph/ceph-17.2.5-r3.ebuild
@@ -9,9 +9,10 @@ LUA_COMPAT=( lua5-{3..4} )
 inherit check-reqs bash-completion-r1 cmake flag-o-matic lua-single \
 		python-r1 udev readme.gentoo-r1 toolchain-funcs systemd tmpfiles
 
+XSIMD_HASH="aeec9c872c8b475dedd7781336710f2dd2666cb2"
 SRC_URI="
 	https://download.ceph.com/tarballs/${P}.tar.gz
-	parquet? ( https://github.com/xtensor-stack/xsimd/archive/aeec9c872c8b475dedd7781336710f2dd2666cb2.tar.gz -> ceph-xsimd-${PV}.tar.gz )
+	parquet? ( https://github.com/xtensor-stack/xsimd/archive/${XSIMD_HASH}.tar.gz -> ceph-xsimd-${PV}.tar.gz )
 "
 KEYWORDS="~amd64 ~arm64"
 
@@ -221,6 +222,8 @@ PATCHES=(
 	"${FILESDIR}/ceph-17.2.5-suppress-cmake-warning.patch"
 	"${FILESDIR}/ceph-17.2.5-gcc13.patch"
 	"${FILESDIR}/ceph-17.2.5-boost-1.81.patch"
+	# https://bugs.gentoo.org/901403
+	"${FILESDIR}/ceph-17.2.5-link-boost-context.patch"
 )
 
 check-reqs_export_vars() {

diff --git a/sys-cluster/ceph/files/ceph-17.2.5-link-boost-context.patch b/sys-cluster/ceph/files/ceph-17.2.5-link-boost-context.patch
new file mode 100644
index 000000000000..9ebc70ecce9e
--- /dev/null
+++ b/sys-cluster/ceph/files/ceph-17.2.5-link-boost-context.patch
@@ -0,0 +1,10 @@
+diff --git a/src/neorados/CMakeLists.txt b/src/neorados/CMakeLists.txt
+index 3c7aee7c6fe..bda666ea95b 100644
+--- a/src/neorados/CMakeLists.txt
++++ b/src/neorados/CMakeLists.txt
+@@ -41,4 +41,4 @@ target_link_libraries(libneorados PRIVATE
+ # install(TARGETS libneorados DESTINATION ${CMAKE_INSTALL_LIBDIR})
+ add_library(neorados_cls_fifo STATIC cls/fifo.cc)
+ target_link_libraries(neorados_cls_fifo PRIVATE
+-	libneorados ceph-common fmt::fmt)
++	libneorados ceph-common fmt::fmt Boost::context)


^ permalink raw reply related	[flat|nested] 68+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-cluster/ceph/, sys-cluster/ceph/files/
@ 2022-10-28 15:57 Sam James
  0 siblings, 0 replies; 68+ messages in thread
From: Sam James @ 2022-10-28 15:57 UTC (permalink / raw
  To: gentoo-commits

commit:     76be863aea1a150aa3611453bb3c6740abc4fed4
Author:     Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Fri Oct 28 15:51:59 2022 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Fri Oct 28 15:54:15 2022 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=76be863a

sys-cluster/ceph: fix build w/ gcc 13

Closes: https://bugs.gentoo.org/878531
Signed-off-by: Sam James <sam <AT> gentoo.org>

 sys-cluster/ceph/ceph-17.2.5.ebuild            |  1 +
 sys-cluster/ceph/files/ceph-17.2.5-gcc13.patch | 37 ++++++++++++++++++++++++++
 2 files changed, 38 insertions(+)

diff --git a/sys-cluster/ceph/ceph-17.2.5.ebuild b/sys-cluster/ceph/ceph-17.2.5.ebuild
index 59cec215e6f8..b743f6636743 100644
--- a/sys-cluster/ceph/ceph-17.2.5.ebuild
+++ b/sys-cluster/ceph/ceph-17.2.5.ebuild
@@ -222,6 +222,7 @@ PATCHES=(
 	"${FILESDIR}/ceph-17.2.4-cyclic-deps.patch"
 	# https://bugs.gentoo.org/866165
 	"${FILESDIR}/ceph-17.2.5-suppress-cmake-warning.patch"
+	"${FILESDIR}/ceph-17.2.5-gcc13.patch"
 )
 
 check-reqs_export_vars() {

diff --git a/sys-cluster/ceph/files/ceph-17.2.5-gcc13.patch b/sys-cluster/ceph/files/ceph-17.2.5-gcc13.patch
new file mode 100644
index 000000000000..c23badcc5e09
--- /dev/null
+++ b/sys-cluster/ceph/files/ceph-17.2.5-gcc13.patch
@@ -0,0 +1,37 @@
+https://bugs.gentoo.org/878531
+https://github.com/ceph/ceph/pull/48661
+
+From 74794f9d6f5c6671438085bdba730b504901a7c0 Mon Sep 17 00:00:00 2001
+From: Sam James <sam@gentoo.org>
+Date: Fri, 28 Oct 2022 16:47:38 +0100
+Subject: [PATCH] common: fix build with GCC 13 (missing <cstdint> include)
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+Needed for uint8_t. Only worked by chance before (see
+https://www.gnu.org/software/gcc/gcc-13/porting_to.html).
+
+```
+FAILED: src/CMakeFiles/common-objs.dir/mds/FSMapUser.cc.o
+/usr/bin/x86_64-pc-linux-gnu-g++ -DBOOST_ASIO_DISABLE_THREAD_KEYWORD_EXTENSION -DHAVE_CONFIG_H -D_FILE_OFFSET_BITS=64 -D_FORTIFY_SOURCE=2 -D_GNU_SOURCE -D_REENTRANT -D_THREAD_SAFE -D__CEPH__ -D__STDC_FORMAT_MACROS -D__linux__ -I/var/tmp/portage/sys-cluster/ceph-17.2.5/work/ceph-17.2.5_build/src/include -I/var/tmp/portage/sys-cluster/ceph-17.2.5/work/ceph-17.2.5/src -isystem /var/tmp/portage/sys-cluster/ceph-17.2.5/work/ceph-17.2.5_build/include -isystem /var/tmp/portage/sys-cluster/ceph-17.2.5/work/ceph-17.2.5/src/xxHash -isystem /var/tmp/portage/sys-cluster/ceph-17.2.5/work/ceph-17.2.5/src/rapidjson/include  -O2 -march=native -pipe -fPIC   -U_FORTIFY_SOURCE -Wall -fno-strict-aliasing -fsigned-char -Wtype-limits -Wignored-qualifiers -Wpointer-arith -Werror=format-security -Winit-self -Wno-unknown-pragmas -Wnon-virtual-dtor -Wno-ignored-qualifiers -ftemplate-depth-1024 -Wpessimizing-move -Wredundant-move -Wstrict-null-sentinel -Woverloaded-virtual -fno-new-ttp-matching -fstack-protec
 tor-strong -fdiagnostics-color=auto -fno-builtin-malloc -fno-builtin-calloc -fno-builtin-realloc -fno-builtin-free -std=c++17 -MD -MT src/CMakeFiles/common-objs.dir/mds/FSMapUser.cc.o -MF src/CMakeFiles/common-objs.dir/mds/FSMapUser.cc.o.d -o src/CMakeFiles/common-objs.dir/mds/FSMapUser.cc.o -c /var/tmp/portage/sys-cluster/ceph-17.2.5/work/ceph-17.2.5/src/mds/FSMapUser.cc
+In file included from /var/tmp/portage/sys-cluster/ceph-17.2.5/work/ceph-17.2.5/src/log/SubsystemMap.h:12,
+                 from /var/tmp/portage/sys-cluster/ceph-17.2.5/work/ceph-17.2.5/src/common/config.h:23,
+                 from /var/tmp/portage/sys-cluster/ceph-17.2.5/work/ceph-17.2.5/src/mds/mdstypes.h:13,
+                 from /var/tmp/portage/sys-cluster/ceph-17.2.5/work/ceph-17.2.5/src/mds/FSMapUser.h:21,
+                 from /var/tmp/portage/sys-cluster/ceph-17.2.5/work/ceph-17.2.5/src/mds/FSMapUser.cc:1:
+/var/tmp/portage/sys-cluster/ceph-17.2.5/work/ceph-17.2.5/src/common/subsys_types.h:56:23: error: ‘uint8_t’ in namespace ‘std’ does not name a type; did you mean ‘wint_t’?
+```
+
+Bug: https://bugs.gentoo.org/878531
+Signed-off-by: Sam James <sam@gentoo.org>
+--- a/src/common/subsys_types.h
++++ b/src/common/subsys_types.h
+@@ -17,6 +17,7 @@
+ 
+ #include <algorithm>
+ #include <array>
++#include <cstdint>
+ 
+ enum ceph_subsys_id_t {
+   ceph_subsys_,   // default


^ permalink raw reply related	[flat|nested] 68+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-cluster/ceph/, sys-cluster/ceph/files/
@ 2022-10-04 23:42 Patrick McLean
  0 siblings, 0 replies; 68+ messages in thread
From: Patrick McLean @ 2022-10-04 23:42 UTC (permalink / raw
  To: gentoo-commits

commit:     70f70e210c1d4175688a07f331c7cf2a88169f88
Author:     Patrick McLean <chutzpah <AT> gentoo <DOT> org>
AuthorDate: Tue Oct  4 23:42:27 2022 +0000
Commit:     Patrick McLean <chutzpah <AT> gentoo <DOT> org>
CommitDate: Tue Oct  4 23:42:27 2022 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=70f70e21

sys-cluster/ceph: add 17.2.4

Signed-off-by: Patrick McLean <chutzpah <AT> gentoo.org>

 sys-cluster/ceph/Manifest                          |   2 +
 sys-cluster/ceph/ceph-17.2.4.ebuild                | 471 +++++++++++++++++++++
 .../ceph/files/ceph-17.2.4-cyclic-deps.patch       |  13 +
 3 files changed, 486 insertions(+)

diff --git a/sys-cluster/ceph/Manifest b/sys-cluster/ceph/Manifest
index 85706e051c7c..2b750ba706c0 100644
--- a/sys-cluster/ceph/Manifest
+++ b/sys-cluster/ceph/Manifest
@@ -2,4 +2,6 @@ DIST ceph-15.2.17.tar.gz 148640102 BLAKE2B a10dd702ffca005a8741bff645eaf2f671300
 DIST ceph-16.2.10.tar.gz 157176743 BLAKE2B 065b6f1941f87fde150ab22ba45aa9f58069acf7f33a483456faf0a26e41936846944e800ccd7f99bd8863db8438ae70804621522f75065c0b2506522c4fdd7d SHA512 ae164c24462c3e08763d202acc3e2fe86ffc09f312b5059bae07863e804fc47bd158fc130aa2923246ffcfe26ae6d6d9317326aec96373226e6f9030d7123c8b
 DIST ceph-16.2.9.tar.gz 157168096 BLAKE2B 0a667a9699925cfc920ca0cc535e5331cbcd95997fb0b9816a4d84c8add454b6b17813018bc1d1de07c802167ef50aa528704b10b01f42759189392ccdb5088f SHA512 bf369038ad6383f88abbed267f0239e9d8a1d33b46b34ed260aeeb1fda1b374cb6e658238e1ace013fbbb68e73b8cd2922b7def318d7a110e5f4560eeae8fca3
 DIST ceph-17.2.3.tar.gz 168821857 BLAKE2B 21ec5ac33591ae8b22eae3d88680ae87340e639cc21cb9c79bc4fb2f7b6cc7e93aa6b5af0242a6c094a4af9808a2b6f86b6bd7e3c8f247a513c91defa6d4e4a9 SHA512 fd6e057ba8440f69423e870dddb2705d68015089ff8d97356bdc359c2ab41e19351fb1c914330de6ba05180f48e328e3ea4c877e9dd80be049e2ec5895068595
+DIST ceph-17.2.4.tar.gz 169013206 BLAKE2B 05c30a88b05b28845eb18cf89f323673d8a271fbe0011caef1badf26779e932bff610622cc93c4f4436726ade1a71dc6841c47a6a58c9ef2a31b471e52737cfe SHA512 430e916004a697bddda8cb7a83026b6e0e2b2e618e645df48c0580d16d7370d5a40d94b802db5b344faeab7c4e48d65c8ade47d0cbf0eaa0e7ddf399b09a279d
 DIST ceph-xsimd-17.2.3.tar.gz 173025 BLAKE2B 54679c24804c195ae55b9f49589e331dde92c6d89aaa20e827539e9a4e0010c7549cdd5cf02a7ebed83f953ab2a6f1d9cc9a98cf45c3dc7758ae4938c9c43713 SHA512 ecc58e7909648aaa22aefbf76ee2c5a2bece4b1b88da9c7eda1b69a46247e619ff99c4366afd6015f95debd68c1a6b89292c677b9049462d0fc0255fbc0c2a33
+DIST ceph-xsimd-17.2.4.tar.gz 173025 BLAKE2B 54679c24804c195ae55b9f49589e331dde92c6d89aaa20e827539e9a4e0010c7549cdd5cf02a7ebed83f953ab2a6f1d9cc9a98cf45c3dc7758ae4938c9c43713 SHA512 ecc58e7909648aaa22aefbf76ee2c5a2bece4b1b88da9c7eda1b69a46247e619ff99c4366afd6015f95debd68c1a6b89292c677b9049462d0fc0255fbc0c2a33

diff --git a/sys-cluster/ceph/ceph-17.2.4.ebuild b/sys-cluster/ceph/ceph-17.2.4.ebuild
new file mode 100644
index 000000000000..a704f275f39d
--- /dev/null
+++ b/sys-cluster/ceph/ceph-17.2.4.ebuild
@@ -0,0 +1,471 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{8..10} )
+LUA_COMPAT=( lua5-{3..4} )
+
+inherit check-reqs bash-completion-r1 cmake flag-o-matic lua-single \
+		python-r1 udev readme.gentoo-r1 toolchain-funcs systemd tmpfiles
+
+SRC_URI="
+	https://download.ceph.com/tarballs/${P}.tar.gz
+	parquet? ( https://github.com/xtensor-stack/xsimd/archive/aeec9c872c8b475dedd7781336710f2dd2666cb2.tar.gz -> ceph-xsimd-${PV}.tar.gz )
+"
+KEYWORDS="~amd64 ~arm64"
+
+DESCRIPTION="Ceph distributed filesystem"
+HOMEPAGE="https://ceph.com/"
+
+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"
+SLOT="0"
+
+CPU_FLAGS_X86=(avx2 avx512f pclmul sse{,2,3,4_1,4_2} ssse3)
+
+IUSE="
+	babeltrace +cephfs custom-cflags diskprediction dpdk fuse grafana
+	jemalloc jaeger kafka kerberos ldap lttng +mgr +parquet pmdk rabbitmq
+	+radosgw rbd-rwl rbd-ssd rdma rgw-lua +ssl spdk +sqlite +system-boost
+	systemd +tcmalloc test +uring xfs zbd zfs
+"
+
+IUSE+="$(printf "cpu_flags_x86_%s\n" ${CPU_FLAGS_X86[@]})"
+
+DEPEND="
+	${LUA_DEPS}
+	${PYTHON_DEPS}
+	acct-group/ceph
+	acct-user/ceph
+	virtual/libudev:=
+	app-arch/bzip2:=
+	app-arch/lz4:=
+	app-arch/snappy:=
+	>=app-arch/snappy-1.1.9-r1
+	app-arch/zstd:=
+	app-shells/bash:0
+	app-misc/jq:=
+	dev-libs/crypto++:=
+	dev-cpp/gflags:=
+	dev-lang/jsonnet:=
+	<dev-libs/leveldb-1.23:=[snappy,tcmalloc(-)?]
+	dev-libs/libaio:=
+	>=dev-libs/libfmt-6.2.1:=
+	<dev-libs/libfmt-9:=
+	dev-libs/libnl:3=
+	dev-libs/libxml2:=
+	dev-libs/libevent:=
+	dev-libs/libutf8proc:=
+	dev-libs/nss:=
+	dev-libs/openssl:=
+	<dev-libs/rocksdb-6.15:=
+	dev-libs/thrift:=
+	dev-libs/xmlsec:=[openssl]
+	dev-cpp/yaml-cpp:=
+	dev-python/natsort[${PYTHON_USEDEP}]
+	dev-python/pyyaml[${PYTHON_USEDEP}]
+	net-dns/c-ares:=
+	net-libs/gnutls:=
+	sys-auth/oath-toolkit:=
+	sys-apps/coreutils
+	sys-apps/hwloc:=
+	sys-apps/keyutils:=
+	sys-apps/util-linux:=
+	sys-libs/libcap-ng:=
+	sys-libs/ncurses:0=
+	sys-libs/zlib:=
+	sys-process/numactl:=
+	virtual/libcrypt:=
+	x11-libs/libpciaccess:=
+	babeltrace? ( dev-util/babeltrace )
+	fuse? ( sys-fs/fuse:3= )
+	jemalloc? ( dev-libs/jemalloc:= )
+	!jemalloc? ( >=dev-util/google-perftools-2.6.1:= )
+	jaeger? (
+		dev-cpp/nlohmann_json:=
+		dev-cpp/opentelemetry-cpp:=[jaeger]
+	)
+	kafka? ( dev-libs/librdkafka:= )
+	kerberos? ( virtual/krb5 )
+	ldap? ( net-nds/openldap:= )
+	lttng? ( dev-util/lttng-ust:= )
+	parquet? ( dev-libs/re2:= )
+	pmdk? ( dev-libs/pmdk:= )
+	rabbitmq? ( net-libs/rabbitmq-c:= )
+	radosgw? (
+		dev-libs/icu:=
+		dev-libs/expat:=
+		net-misc/curl:=[curl_ssl_openssl]
+	)
+	rbd-rwl? ( dev-libs/pmdk:= )
+	rdma? ( sys-cluster/rdma-core:= )
+	spdk? ( dev-util/cunit )
+	sqlite? ( dev-db/sqlite:= )
+	system-boost? ( dev-libs/boost:=[context,python,${PYTHON_USEDEP},zlib] )
+	uring? ( sys-libs/liburing:= )
+	xfs? ( sys-fs/xfsprogs:= )
+	zbd? ( sys-block/libzbd:= )
+	zfs? ( sys-fs/zfs:= )
+"
+BDEPEND="
+	amd64? ( dev-lang/nasm )
+	x86? ( dev-lang/yasm )
+	app-arch/cpio
+	>=dev-util/cmake-3.5.0
+	dev-python/cython[${PYTHON_USEDEP}]
+	dev-python/setuptools[${PYTHON_USEDEP}]
+	dev-python/sphinx
+	dev-util/gperf
+	dev-util/ragel
+	dev-util/valgrind
+	sys-apps/coreutils
+	sys-apps/grep
+	sys-apps/sed
+	sys-apps/util-linux
+	sys-apps/which
+	sys-devel/bc
+	sys-devel/patch
+	virtual/pkgconfig
+	jaeger? (
+		sys-devel/bison
+		sys-devel/flex
+	)
+	test? (
+		dev-util/cunit
+		dev-python/coverage[${PYTHON_USEDEP}]
+		dev-python/virtualenv[${PYTHON_USEDEP}]
+		dev-python/requests-mock[${PYTHON_USEDEP}]
+		sys-apps/grep[pcre]
+		sys-fs/btrfs-progs
+	)
+"
+RDEPEND="
+	${DEPEND}
+	app-admin/sudo
+	net-misc/socat
+	sys-apps/gptfdisk
+	sys-apps/nvme-cli
+	>=sys-apps/smartmontools-7.0
+	sys-block/parted
+	sys-fs/cryptsetup
+	sys-fs/lsscsi
+	sys-fs/lvm2[-device-mapper-only(-)]
+	virtual/awk
+	dev-python/bcrypt[${PYTHON_USEDEP}]
+	dev-python/cherrypy[${PYTHON_USEDEP}]
+	dev-python/python-dateutil[${PYTHON_USEDEP}]
+	dev-python/flask[${PYTHON_USEDEP}]
+	dev-python/jinja[${PYTHON_USEDEP}]
+	dev-python/pecan[${PYTHON_USEDEP}]
+	dev-python/prettytable[${PYTHON_USEDEP}]
+	dev-python/pyopenssl[${PYTHON_USEDEP}]
+	dev-python/requests[${PYTHON_USEDEP}]
+	dev-python/werkzeug[${PYTHON_USEDEP}]
+	mgr? (
+		dev-python/jsonpatch[${PYTHON_USEDEP}]
+		dev-python/more-itertools[${PYTHON_USEDEP}]
+		dev-python/numpy[${PYTHON_USEDEP}]
+		dev-python/pyjwt[${PYTHON_USEDEP}]
+		dev-python/routes[${PYTHON_USEDEP}]
+		diskprediction? (
+			>=dev-python/scipy-1.4.0[${PYTHON_USEDEP}]
+		)
+		sci-libs/scikit-learn[${PYTHON_USEDEP}]
+		dev-python/six[${PYTHON_USEDEP}]
+	)
+"
+# diskprediction needs older scipy not compatible with py38
+# bug #724438
+REQUIRED_USE="
+	${PYTHON_REQUIRED_USE}
+	${LUA_REQUIRED_USE}
+	?? ( jemalloc tcmalloc )
+	diskprediction? ( mgr )
+	kafka? ( radosgw )
+	mgr? ( cephfs )
+	rabbitmq? ( radosgw )
+	rgw-lua? ( radosgw )
+"
+
+RESTRICT="
+	!test? ( test )
+"
+
+# tests need root access, and network access
+RESTRICT+="test"
+
+# false positives unless all USE flags are on
+CMAKE_WARN_UNUSED_CLI=no
+
+PATCHES=(
+	"${FILESDIR}/ceph-12.2.0-use-provided-cpu-flag-values.patch"
+	"${FILESDIR}/ceph-14.2.0-cflags.patch"
+	"${FILESDIR}/ceph-12.2.4-boost-build-none-options.patch"
+	"${FILESDIR}/ceph-16.2.2-cflags.patch"
+	"${FILESDIR}/ceph-17.2.1-no-virtualenvs.patch"
+	"${FILESDIR}/ceph-13.2.2-dont-install-sysvinit-script.patch"
+	"${FILESDIR}/ceph-14.2.0-dpdk-cflags.patch"
+	"${FILESDIR}/ceph-16.2.0-rocksdb-cmake.patch"
+	"${FILESDIR}/ceph-16.2.0-spdk-tinfo.patch"
+	"${FILESDIR}/ceph-16.2.0-jaeger-system-boost.patch"
+	"${FILESDIR}/ceph-16.2.0-liburing.patch"
+	"${FILESDIR}/ceph-17.2.0-cyclic-deps.patch"
+	"${FILESDIR}/ceph-17.2.0-pybind-boost-1.74.patch"
+	"${FILESDIR}/ceph-17.2.0-findre2.patch"
+	"${FILESDIR}/ceph-17.2.0-install-dbstore.patch"
+	"${FILESDIR}/ceph-17.2.0-deprecated-boost.patch"
+	"${FILESDIR}/ceph-17.2.0-system-opentelemetry.patch"
+	"${FILESDIR}/ceph-17.2.0-fuse3.patch"
+	"${FILESDIR}/ceph-17.2.0-osd_class_dir.patch"
+	"${FILESDIR}/ceph-17.2.0-gcc12-header.patch"
+	"${FILESDIR}/ceph-17.2.3-flags.patch"
+	"${FILESDIR}/ceph-17.2.4-cyclic-deps.patch"
+)
+
+check-reqs_export_vars() {
+	CHECKREQS_DISK_BUILD="6G"
+
+	if use system-boost; then
+		CHECKREQS_DISK_USR="350M"
+	else
+		CHECKREQS_DISK_USR="510M"
+	fi
+
+	export CHECKREQS_DISK_BUILD CHECKREQS_DISK_USR
+}
+
+pkg_pretend() {
+	check-reqs_export_vars
+	check-reqs_pkg_pretend
+}
+
+pkg_setup() {
+	python_setup
+	lua_setup
+	check-reqs_export_vars
+	check-reqs_pkg_setup
+}
+
+src_prepare() {
+	cmake_src_prepare
+
+	if use system-boost; then
+		find "${S}" -name '*.cmake' -or -name 'CMakeLists.txt' -print0 \
+			| xargs --null sed -r \
+			-e 's|Boost::|boost_|g' \
+			-e 's|Boost_|boost_|g' \
+			-e 's|[Bb]oost_boost|boost_system|g' \
+			-i || die
+	fi
+
+	if ! use systemd; then
+		find "${S}"/src/ceph-volume/ceph_volume -name '*.py' -print0 \
+			| xargs --null sed \
+			-e '/^from ceph_volume.systemd import systemctl/ d' \
+			-i || die
+	fi
+
+	sed -r -e "s:DESTINATION .+\\):DESTINATION $(get_bashcompdir)\\):" \
+		-i src/bash_completion/CMakeLists.txt || die
+
+	sed -e "s:objdump -p:$(tc-getOBJDUMP) -p:" -i CMakeLists.txt || die
+
+	# force lua version to use selected version
+	local lua_version
+	lua_version=$(ver_cut 1-2 $(lua_get_version))
+	sed "s:find_package(Lua [0-9][.][0-9] REQUIRED):find_package(Lua ${lua_version} EXACT REQUIRED):" \
+		-i src/CMakeLists.txt
+
+	# remove tests that need root access
+	rm src/test/cli/ceph-authtool/cap*.t || die
+}
+
+ceph_src_configure() {
+	local mycmakeargs=(
+		-DWITH_BABELTRACE:BOOL=$(usex babeltrace)
+		-DWITH_BLUESTORE_PMEM:BOOL=$(usex pmdk)
+		-DWITH_CEPHFS:BOOL=$(usex cephfs)
+		-DWITH_CEPHFS_SHELL:BOOL=$(usex cephfs)
+		-DWITH_DPDK:BOOL=$(usex dpdk)
+		-DWITH_SPDK:BOOL=$(usex spdk)
+		-DWITH_FUSE:BOOL=$(usex fuse)
+		-DWITH_LTTNG:BOOL=$(usex lttng)
+		-DWITH_GSSAPI:BOOL=$(usex kerberos)
+		-DWITH_GRAFANA:BOOL=$(usex grafana)
+		-DWITH_MGR:BOOL=$(usex mgr)
+		-DWITH_MGR_DASHBOARD_FRONTEND:BOOL=OFF
+		-DWITH_OPENLDAP:BOOL=$(usex ldap)
+		-DWITH_PYTHON3:STRING=3
+		-DWITH_RADOSGW:BOOL=$(usex radosgw)
+		-DWITH_RADOSGW_AMQP_ENDPOINT:BOOL=$(usex rabbitmq)
+		-DWITH_RADOSGW_KAFKA_ENDPOINT:BOOL=$(usex kafka)
+		-DWITH_RADOSGW_LUA_PACKAGES:BOOL=$(usex rgw-lua "$(usex radosgw)" "NO")
+		-DWITH_RBD_RWL:BOOL=$(usex rbd-rwl)
+		-DWITH_RBD_SSD_CACHE:BOOL=$(usex rbd-ssd)
+		-DWITH_SYSTEMD:BOOL=$(usex systemd)
+		-DWITH_TESTS:BOOL=$(usex test)
+		-DWITH_LIBURING:BOOL=$(usex uring)
+		-DWITH_SYSTEM_LIBURING:BOOL=$(usex uring)
+		-DWITH_LIBCEPHSQLITE:BOOL=$(usex sqlite)
+		-DWITH_XFS:BOOL=$(usex xfs)
+		-DWITH_ZBD:BOOL=$(usex zbd)
+		-DWITH_ZFS:BOOL=$(usex zfs)
+		-DENABLE_SHARED:BOOL=ON
+		-DALLOCATOR:STRING=$(usex tcmalloc 'tcmalloc' "$(usex jemalloc 'jemalloc' 'libc')")
+		-DWITH_SYSTEM_PMDK:BOOL=$(usex pmdk 'YES' "$(usex rbd-rwl '')")
+		-DWITH_SYSTEM_BOOST:BOOL=$(usex system-boost)
+		-DWITH_SYSTEM_ROCKSDB:BOOL=ON
+		-DWITH_SYSTEM_ZSTD:BOOL=ON
+		-DWITH_RDMA:BOOL=$(usex rdma)
+		-DCMAKE_INSTALL_DOCDIR:PATH="${EPREFIX}/usr/share/doc/${PN}-${PVR}"
+		-DCMAKE_INSTALL_SYSCONFDIR:PATH="${EPREFIX}/etc"
+		-Wno-dev
+	)
+
+	# this breaks when re-configuring for python impl
+	if [[ ${EBUILD_PHASE} == configure ]]; then
+		mycmakeargs+=(
+			-DWITH_JAEGER:BOOL=$(usex jaeger)
+			-DWITH_RADOSGW_SELECT_PARQUET:BOOL=$(usex parquet)
+		)
+	else
+		mycmakeargs+=(
+			-DWITH_RADOSGW_SELECT_PARQUET:BOOL=OFF
+			-DWITH_JAEGER:BOOL=OFF
+			# don't want to warn about unused CLI when reconfiguring for python
+			-DCMAKE_WARN_UNUSED_CLI:BOOL=OFF
+		)
+	fi
+
+	# conditionally used cmake args
+	use test && mycmakearts+=( -DWITH_SYSTEM_GTEST:BOOL=$(usex test) )
+	use systemd && mycmakeargs+=( -DSYSTEMD_SYSTEM_UNIT_DIR:PATH=$(systemd_get_systemunitdir) )
+
+	if use amd64 || use x86; then
+		local flag
+		for flag in "${CPU_FLAGS_X86[@]}"; do
+			case "${flag}" in
+				avx*)
+					local var=${flag%f}
+					mycmakeargs+=(
+						"-DHAVE_NASM_X64_${var^^}:BOOL=$(usex cpu_flags_x86_${flag})"
+					)
+				;;
+				*) mycmakeargs+=(
+						"-DHAVE_INTEL_${flag^^}:BOOL=$(usex cpu_flags_x86_${flag})"
+					);;
+			esac
+		done
+	fi
+
+	# needed for >=glibc-2.32
+	has_version '>=sys-libs/glibc-2.32' && mycmakeargs+=( -DWITH_REENTRANT_STRSIGNAL:BOOL=ON )
+
+	rm -f "${BUILD_DIR:-${S}}/CMakeCache.txt" \
+		|| die "failed to remove cmake cache"
+
+	# hopefully this will not be necessary in the next release
+	use parquet && export ARROW_XSIMD_URL="file:///${DISTDIR}/ceph-xsimd-${PV}.tar.gz"
+
+	cmake_src_configure
+
+	# bug #630232
+	sed -i "s:\"${T//:\\:}/${EPYTHON}/bin/python\":\"${PYTHON}\":" \
+		"${BUILD_DIR:-${S}}"/include/acconfig.h \
+		|| die "sed failed"
+}
+
+src_configure() {
+	use custom-cflags || strip-flags
+	ceph_src_configure
+}
+
+src_compile() {
+	cmake_build all
+
+	# we have to do this here to prevent from building everything multiple times
+	python_copy_sources
+	python_foreach_impl python_compile
+}
+
+python_compile() {
+	local CMAKE_USE_DIR="${S}"
+	ceph_src_configure
+
+	cmake_build src/pybind/CMakeFiles/cython_modules
+}
+
+src_install() {
+	python_foreach_impl python_install
+
+	python_setup
+	cmake_src_install
+	python_optimize
+
+	find "${ED}" -name '*.la' -type f -delete || die
+
+	exeinto /usr/$(get_libdir)/ceph
+	newexe "${BUILD_DIR}/bin/init-ceph" init-ceph
+
+	insinto /etc/logrotate.d/
+	newins "${FILESDIR}"/ceph.logrotate-r2 ${PN}
+
+	keepdir /var/lib/${PN}{,/tmp} /var/log/${PN}/stat
+
+	fowners -R ceph:ceph /var/log/ceph
+
+	newinitd "${FILESDIR}/rbdmap.initd-r1" rbdmap
+	newinitd "${FILESDIR}/${PN}.initd-r12" ${PN}
+	newconfd "${FILESDIR}/${PN}.confd-r5" ${PN}
+
+	insinto /etc/sudoers.d
+	doins sudoers.d/*
+
+	insinto /etc/sysctl.d
+	newins "${FILESDIR}"/sysctld 90-${PN}.conf
+
+	use tcmalloc && newenvd "${FILESDIR}"/envd-tcmalloc 99${PN}-tcmalloc
+
+	# units aren't installed by the build system unless systemd is enabled
+	# so no point installing these with the USE flag disabled
+	if use systemd; then
+		systemd_install_serviced "${FILESDIR}/ceph-mds_at.service.conf" "ceph-mds@.service"
+		systemd_install_serviced "${FILESDIR}/ceph-osd_at.service.conf" "ceph-osd@.service"
+	fi
+
+	udev_dorules udev/*.rules
+	newtmpfiles "${FILESDIR}"/ceph-tmpfilesd ${PN}.conf
+
+	readme.gentoo_create_doc
+
+	# bug #630232
+	sed -i -r "s:${T//:/\\:}/${EPYTHON}:/usr:" "${ED}"/usr/bin/ceph{,-crash} \
+		|| die "sed failed"
+
+	python_fix_shebang "${ED}"/usr/{,s}bin/
+
+	# python_fix_shebang apparently is not idempotent
+	local shebang_regex='(/usr/lib/python-exec/python[0-9]\.[0-9]/python)[0-9]\.[0-9]'
+	grep -r -E -l --null "${shebang_regex}" "${ED}"/usr/{s,}bin/ \
+		| xargs --null --no-run-if-empty -- sed -i -r  "s:${shebang_regex}:\1:" || die
+
+	local -a rados_classes=( "${ED}/usr/$(get_libdir)/rados-classes"/* )
+	dostrip -x "${rados_classes[@]#${ED}}"
+}
+
+python_install() {
+	local CMAKE_USE_DIR="${S}"
+	DESTDIR="${ED}" cmake_build src/pybind/install
+
+	python_optimize
+}
+
+pkg_postinst() {
+	readme.gentoo_print_elog
+	tmpfiles_process ${PN}.conf
+	udev_reload
+}
+
+pkg_postrm() {
+	udev_reload
+}

diff --git a/sys-cluster/ceph/files/ceph-17.2.4-cyclic-deps.patch b/sys-cluster/ceph/files/ceph-17.2.4-cyclic-deps.patch
new file mode 100644
index 000000000000..6040906a3f19
--- /dev/null
+++ b/sys-cluster/ceph/files/ceph-17.2.4-cyclic-deps.patch
@@ -0,0 +1,13 @@
+diff --git a/src/rgw/store/dbstore/CMakeLists.txt b/src/rgw/store/dbstore/CMakeLists.txt
+index 1feac6dcee0..586d0dbb961 100644
+--- a/src/rgw/store/dbstore/CMakeLists.txt
++++ b/src/rgw/store/dbstore/CMakeLists.txt
+@@ -16,7 +16,7 @@ set(dbstore_mgr_srcs
+     dbstore_mgr.cc
+     )
+ 
+-add_library(dbstore_lib ${dbstore_srcs})
++	add_library(dbstore_lib STATIC ${dbstore_srcs})
+ target_include_directories(dbstore_lib PUBLIC "${CMAKE_SOURCE_DIR}/src/fmt/include")
+ target_include_directories(dbstore_lib PUBLIC "${CMAKE_SOURCE_DIR}/src/rgw")
+ set(link_targets spawn)


^ permalink raw reply related	[flat|nested] 68+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-cluster/ceph/, sys-cluster/ceph/files/
@ 2022-08-24 17:07 Patrick McLean
  0 siblings, 0 replies; 68+ messages in thread
From: Patrick McLean @ 2022-08-24 17:07 UTC (permalink / raw
  To: gentoo-commits

commit:     c588d0c55a2facb7b98331abf3ccb2439cc34286
Author:     Patrick McLean <chutzpah <AT> gentoo <DOT> org>
AuthorDate: Wed Aug 24 17:06:28 2022 +0000
Commit:     Patrick McLean <chutzpah <AT> gentoo <DOT> org>
CommitDate: Wed Aug 24 17:06:28 2022 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=c588d0c5

sys-cluster/ceph: Fix CI bugs 866159, 866161, 866163, 866167

Closes: https://bugs.gentoo.org/866159
Closes: https://bugs.gentoo.org/866161
Closes: https://bugs.gentoo.org/866163
Closes: https://bugs.gentoo.org/866167
Signed-off-by: Patrick McLean <chutzpah <AT> gentoo.org>

 .../{ceph-17.2.3-r2.ebuild => ceph-17.2.3-r3.ebuild}  |  9 +++++++++
 sys-cluster/ceph/files/ceph-17.2.3-flags.patch        | 19 +++++++++++++++++++
 2 files changed, 28 insertions(+)

diff --git a/sys-cluster/ceph/ceph-17.2.3-r2.ebuild b/sys-cluster/ceph/ceph-17.2.3-r3.ebuild
similarity index 98%
rename from sys-cluster/ceph/ceph-17.2.3-r2.ebuild
rename to sys-cluster/ceph/ceph-17.2.3-r3.ebuild
index c31770f38434..a604240f1560 100644
--- a/sys-cluster/ceph/ceph-17.2.3-r2.ebuild
+++ b/sys-cluster/ceph/ceph-17.2.3-r3.ebuild
@@ -219,6 +219,7 @@ PATCHES=(
 	"${FILESDIR}/ceph-17.2.3-gcc12.patch"
 	"${FILESDIR}/ceph-17.2.0-gcc12-dout.patch"
 	"${FILESDIR}/ceph-17.2.0-gcc12-header.patch"
+	"${FILESDIR}/ceph-17.2.3-flags.patch"
 )
 
 check-reqs_export_vars() {
@@ -330,6 +331,9 @@ ceph_src_configure() {
 	else
 		mycmakeargs+=(
 			-DWITH_RADOSGW_SELECT_PARQUET:BOOL=OFF
+			-DWITH_JAEGER:BOOL=OFF
+			# don't want to warn about unused CLI when reconfiguring for python
+			-DCMAKE_WARN_UNUSED_CLI:BOOL=OFF
 		)
 	fi
 
@@ -396,6 +400,7 @@ src_install() {
 
 	python_setup
 	cmake_src_install
+	python_optimize
 
 	find "${ED}" -name '*.la' -type f -delete || die
 
@@ -460,3 +465,7 @@ pkg_postinst() {
 	tmpfiles_process ${PN}.conf
 	udev_reload
 }
+
+pkg_postrm() {
+	udev_reload
+}

diff --git a/sys-cluster/ceph/files/ceph-17.2.3-flags.patch b/sys-cluster/ceph/files/ceph-17.2.3-flags.patch
new file mode 100644
index 000000000000..236ff5441831
--- /dev/null
+++ b/sys-cluster/ceph/files/ceph-17.2.3-flags.patch
@@ -0,0 +1,19 @@
+diff --git a/cmake/modules/Distutils.cmake b/cmake/modules/Distutils.cmake
+index 1916363382f..ae460d84542 100644
+--- a/cmake/modules/Distutils.cmake
++++ b/cmake/modules/Distutils.cmake
+@@ -94,12 +94,12 @@ function(distutils_add_cython_module target name src)
+     COMMAND
+     env
+     CC="${PY_CC}"
+-    CFLAGS="${PY_CFLAGS}"
++    CFLAGS="${PY_CFLAGS}"\ ${CMAKE_C_FLAGS}
+     CPPFLAGS="${PY_CPPFLAGS}"
+     CXX="${PY_CXX}"
+     LDSHARED="${PY_LDSHARED}"
+     OPT=\"-DNDEBUG -g -fwrapv -w\"
+-    LDFLAGS=-L${CMAKE_LIBRARY_OUTPUT_DIRECTORY}
++    LDFLAGS=-L${CMAKE_LIBRARY_OUTPUT_DIRECTORY}\ ${CMAKE_LINKER_FLAGS}\ ${CMAKE_SHARED_LINKER_FLAGS}
+     CYTHON_BUILD_DIR=${CMAKE_CURRENT_BINARY_DIR}
+     CEPH_LIBDIR=${CMAKE_LIBRARY_OUTPUT_DIRECTORY}
+     ${Python3_EXECUTABLE} ${setup_py}


^ permalink raw reply related	[flat|nested] 68+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-cluster/ceph/, sys-cluster/ceph/files/
@ 2022-08-22 20:29 Patrick McLean
  0 siblings, 0 replies; 68+ messages in thread
From: Patrick McLean @ 2022-08-22 20:29 UTC (permalink / raw
  To: gentoo-commits

commit:     1fc10bd005747daa1917f0c4d9394ae0ef1a70c9
Author:     Patrick McLean <chutzpah <AT> gentoo <DOT> org>
AuthorDate: Mon Aug 22 18:35:21 2022 +0000
Commit:     Patrick McLean <chutzpah <AT> gentoo <DOT> org>
CommitDate: Mon Aug 22 20:29:27 2022 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=1fc10bd0

sys-cluster/ceph: 17.2.3 more gcc12 fixes (bug #866039), bug #865509

- Fix system-boost boost dependency (bug #865509)
- Remove some documentation from patches to reduce the size of the files
  directory
- Drop old snappy dep since it's no longer in the tree

Bug: https://bugs.gentoo.org/865509
Closes: https://bugs.gentoo.org/866039
Signed-off-by: Patrick McLean <chutzpah <AT> gentoo.org>

 .../{ceph-17.2.3.ebuild => ceph-17.2.3-r1.ebuild}  |  4 +--
 .../ceph/files/ceph-17.2.0-cyclic-deps.patch       | 29 -------------------
 sys-cluster/ceph/files/ceph-17.2.1-python310.patch | 23 ---------------
 sys-cluster/ceph/files/ceph-17.2.3-gcc12.patch     | 33 +++++++++++++++++-----
 4 files changed, 28 insertions(+), 61 deletions(-)

diff --git a/sys-cluster/ceph/ceph-17.2.3.ebuild b/sys-cluster/ceph/ceph-17.2.3-r1.ebuild
similarity index 99%
rename from sys-cluster/ceph/ceph-17.2.3.ebuild
rename to sys-cluster/ceph/ceph-17.2.3-r1.ebuild
index 49a8857b5c24..737e960de9d5 100644
--- a/sys-cluster/ceph/ceph-17.2.3.ebuild
+++ b/sys-cluster/ceph/ceph-17.2.3-r1.ebuild
@@ -41,7 +41,7 @@ DEPEND="
 	app-arch/bzip2:=
 	app-arch/lz4:=
 	app-arch/snappy:=
-	|| ( >=app-arch/snappy-1.1.9-r1 <app-arch/snappy-1.1.9 )
+	>=app-arch/snappy-1.1.9-r1
 	app-arch/zstd:=
 	app-shells/bash:0
 	app-misc/jq:=
@@ -99,7 +99,7 @@ DEPEND="
 	rdma? ( sys-cluster/rdma-core:= )
 	spdk? ( dev-util/cunit )
 	sqlite? ( dev-db/sqlite:= )
-	system-boost? ( >=dev-libs/boost-1.72:=[threads(+),context,python,${PYTHON_USEDEP}] )
+	system-boost? ( >=dev-libs/boost-1.72:=[threads(+),context,python,${PYTHON_USEDEP},zlib] )
 	uring? ( sys-libs/liburing:= )
 	xfs? ( sys-fs/xfsprogs:= )
 	zbd? ( sys-block/libzbd:= )

diff --git a/sys-cluster/ceph/files/ceph-17.2.0-cyclic-deps.patch b/sys-cluster/ceph/files/ceph-17.2.0-cyclic-deps.patch
index f80edddd8de7..e9177cc02764 100644
--- a/sys-cluster/ceph/files/ceph-17.2.0-cyclic-deps.patch
+++ b/sys-cluster/ceph/files/ceph-17.2.0-cyclic-deps.patch
@@ -1,32 +1,3 @@
-From 78edb6a91788133334ceeeda0c95529df5f40da8 Mon Sep 17 00:00:00 2001
-From: "Kaleb S. KEITHLEY" <kkeithle@redhat.com>
-Date: Mon, 14 Feb 2022 07:42:08 -0500
-Subject: [PATCH] rgw: cmake configure error on fedora-37/rawhide
-
-see
-https://kojipkgs.fedoraproject.org//work/tasks/6624/82706624/build.log,
-excerpted below
-
-...
-CMake Error: The inter-target dependency graph contains the following
-strongly connected component (cycle): "rgw_common" of type
-STATIC_LIBRARY depends on "dbstore" (weak) depends on "sqlite_db" (weak)
-"dbstore" of type SHARED_LIBRARY depends on "rgw_common" (weak) depends
-on "sqlite_db" (weak) "sqlite_db" of type SHARED_LIBRARY depends on
-"rgw_common" (weak) depends on "dbstore" (weak) At least one of these
-targets is not a STATIC_LIBRARY. Cyclic dependencies are allowed only
-among static libraries. CMake Generate step failed. Build files cannot
-be regenerated correctly.
-...
-
-https://tracker.ceph.com/issues/54266
-
-Signed-off-by: Kaleb S. KEITHLEY <kkeithle@redhat.com>
----
- src/rgw/store/dbstore/CMakeLists.txt        | 2 +-
- src/rgw/store/dbstore/sqlite/CMakeLists.txt | 2 +-
- 2 files changed, 2 insertions(+), 2 deletions(-)
-
 diff --git a/src/rgw/store/dbstore/CMakeLists.txt b/src/rgw/store/dbstore/CMakeLists.txt
 index 143ede3c094c9..18e032b73f54f 100644
 --- a/src/rgw/store/dbstore/CMakeLists.txt

diff --git a/sys-cluster/ceph/files/ceph-17.2.1-python310.patch b/sys-cluster/ceph/files/ceph-17.2.1-python310.patch
index 767cd2922a26..959e98a8067a 100644
--- a/sys-cluster/ceph/files/ceph-17.2.1-python310.patch
+++ b/sys-cluster/ceph/files/ceph-17.2.1-python310.patch
@@ -1,26 +1,3 @@
-From 389054888f2aa782f73564125ec7a1ef0212d536 Mon Sep 17 00:00:00 2001
-From: Pete Zaitcev <zaitcev@redhat.com>
-Date: Tue, 14 Dec 2021 23:04:34 -0600
-Subject: [PATCH] mgr: Define PY_SSIZE_T_CLEAN ahead of every Python.h
-
-Building on Fedora 35 with Python 3.10 makes vstart to loop
-forever, throwing the following message:
-
- Error EINVAL: SystemError: PY_SSIZE_T_CLEAN macro must be
- defined for '#' formats
-
-I followed the hint in the following document:
- https://docs.python.org/3/c-api/intro.html
-
-It says "recommended" to always define PY_SSIZE_T_CLEAN,
-but as you can see it is actually required in our case.
-
-Fixes: https://tracker.ceph.com/issues/53441
-Signed-off-by: Pete Zaitcev <zaitcev@redhat.com>
----
- src/mgr/CMakeLists.txt | 1 +
- 1 file changed, 1 insertion(+)
-
 diff --git a/src/mgr/CMakeLists.txt b/src/mgr/CMakeLists.txt
 index 55147af4fc6ba..8f39e41ac0694 100644
 --- a/src/mgr/CMakeLists.txt

diff --git a/sys-cluster/ceph/files/ceph-17.2.3-gcc12.patch b/sys-cluster/ceph/files/ceph-17.2.3-gcc12.patch
index e5e77b4116f6..356da385fedb 100644
--- a/sys-cluster/ceph/files/ceph-17.2.3-gcc12.patch
+++ b/sys-cluster/ceph/files/ceph-17.2.3-gcc12.patch
@@ -1,12 +1,31 @@
 diff --git a/src/include/buffer.h b/src/include/buffer.h
-index 0c89367dd3b..98fcd7c3e08 100644
+index 7c8f90e9fb5d3..71cb01935000b 100644
 --- a/src/include/buffer.h
 +++ b/src/include/buffer.h
-@@ -62,6 +62,7 @@
- #endif
- 
- #include "inline_memory.h"
+@@ -41,6 +41,7 @@
+ #include <iosfwd>
+ #include <iomanip>
+ #include <list>
 +#include <memory>
+ #include <vector>
+ #include <string>
+ #if __cplusplus >= 201703L
+
+diff --git a/src/test/encoding.cc b/src/test/encoding.cc
+index 6d252fae18b71..f18901cbd27d9 100644
+--- a/src/test/encoding.cc
++++ b/src/test/encoding.cc
+@@ -334,11 +334,11 @@ void lame_decoder(int which) {
+ }
  
- #define CEPH_BUFFER_API
- 
+ TEST(EncodingException, Macros) {
+-  for (unsigned i = 0; i < sizeof(expected_what)/sizeof(expected_what[0]); i++) {
++  for (unsigned i = 0; i < std::size(expected_what); i++) {
+     try {
+       lame_decoder(i);
+     } catch (const exception& e) {
+-      ASSERT_EQ(string(expected_what[i]), string(e.what()));
++      ASSERT_NE(string(e.what()).find(expected_what[i]), string::npos);
+     }
+   }
+ }


^ permalink raw reply related	[flat|nested] 68+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-cluster/ceph/, sys-cluster/ceph/files/
@ 2022-07-07 18:32 Patrick McLean
  0 siblings, 0 replies; 68+ messages in thread
From: Patrick McLean @ 2022-07-07 18:32 UTC (permalink / raw
  To: gentoo-commits

commit:     acfc1302516c2ca8fa56ad53830037f8f9ed32fe
Author:     Patrick McLean <chutzpah <AT> gentoo <DOT> org>
AuthorDate: Thu Jul  7 18:32:47 2022 +0000
Commit:     Patrick McLean <chutzpah <AT> gentoo <DOT> org>
CommitDate: Thu Jul  7 18:32:47 2022 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=acfc1302

sys-cluster/ceph: drop 16.2.7, 16.2.7-r1

Signed-off-by: Patrick McLean <chutzpah <AT> gentoo.org>

 sys-cluster/ceph/Manifest                          |   1 -
 sys-cluster/ceph/ceph-16.2.7-r1.ebuild             | 465 ---------------------
 sys-cluster/ceph/ceph-16.2.7.ebuild                | 460 --------------------
 .../ceph/files/ceph-16.2.7-no-virtualenvs.patch    |  74 ----
 4 files changed, 1000 deletions(-)

diff --git a/sys-cluster/ceph/Manifest b/sys-cluster/ceph/Manifest
index a49e97b7bd5a..747abc3e2996 100644
--- a/sys-cluster/ceph/Manifest
+++ b/sys-cluster/ceph/Manifest
@@ -1,5 +1,4 @@
 DIST ceph-15.2.16.tar.gz 148628915 BLAKE2B 4f624078027c706428eae3eddd5b5479efe3b4442c19a4e6b6cdf8d3839cf56e2863b18249dc3c5079a7e25f60796bfec3202ffd695537587654f5e2f820caaa SHA512 532b8a5073e157fe9ed552b26976faeb64dc29b79a249910c0982134ad5f945d4f57d8bf451adf63487b6d285c6e4bd5c39f0e3fcd449230d6fb3087539f8c3b
-DIST ceph-16.2.7.tar.gz 156621262 BLAKE2B 3c79cb1586e71927df4578fe7f3a13f4ab257a5e145b6bf76d942292cbca7bf32583350373f3d816f6d8f8700ee0f98a14f350c823b0eb89ffd7735acee7de63 SHA512 eab047e646970d444acf1064d98237b8b1677fb16b5e771082d55880f7bc6d8bdb278c2fe514c82ae12c438878d9ecea29139fa6b8d890f9f737138f10fb740c
 DIST ceph-16.2.9.tar.gz 157168096 BLAKE2B 0a667a9699925cfc920ca0cc535e5331cbcd95997fb0b9816a4d84c8add454b6b17813018bc1d1de07c802167ef50aa528704b10b01f42759189392ccdb5088f SHA512 bf369038ad6383f88abbed267f0239e9d8a1d33b46b34ed260aeeb1fda1b374cb6e658238e1ace013fbbb68e73b8cd2922b7def318d7a110e5f4560eeae8fca3
 DIST ceph-17.2.0.tar.gz 168742006 BLAKE2B 15272da3471722936198f62b5ef7537d29bd944b35ef1552e87cf0f0f400a8be5fd1fa873494eb17ca71df9360d7ffa4fa20a6f1b1ba819520b180770a4e6299 SHA512 70b96e709f153f16069bec8346ea73812d699eaab91a012351d02addb3fd176b84fce32c3dae84fdf91d0ffe49f2bb258410b47caeee81d81a672b4dbd04cc7e
 DIST ceph-17.2.1.tar.gz 168819036 BLAKE2B 2d6506f3a43ccbe4a149163c13ab2de72aeba568308ca7c0c59d0ff32316519d27b334451fd8d78af799cabe3b5a8c5b7b19d5da028e52c420ec7fc38efe5aad SHA512 cb88a3feff67ce41c575cb6c0067a32de51fcbf36d8f9f7273cccd54a3413ee890f473e83fcc1429a86b858b05c412fca8b2cfc24871c5adf612e3d224227cf0

diff --git a/sys-cluster/ceph/ceph-16.2.7-r1.ebuild b/sys-cluster/ceph/ceph-16.2.7-r1.ebuild
deleted file mode 100644
index 64fd34329764..000000000000
--- a/sys-cluster/ceph/ceph-16.2.7-r1.ebuild
+++ /dev/null
@@ -1,465 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{8..10} )
-LUA_COMPAT=( lua5-3 )
-
-CMAKE_MAKEFILE_GENERATOR=emake
-
-inherit check-reqs bash-completion-r1 cmake python-r1 flag-o-matic \
-		lua-single python-r1 udev readme.gentoo-r1 toolchain-funcs \
-		systemd tmpfiles
-
-SRC_URI="https://download.ceph.com/tarballs/${P}.tar.gz"
-KEYWORDS="~amd64 ~arm64 ~ppc64"
-
-DESCRIPTION="Ceph distributed filesystem"
-HOMEPAGE="https://ceph.com/"
-
-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"
-SLOT="0"
-
-CPU_FLAGS_X86=(avx2 avx512f pclmul sse{,2,3,4_1,4_2} ssse3)
-
-IUSE="
-	babeltrace +cephfs custom-cflags diskprediction dpdk fuse grafana
-	jemalloc jaeger kafka kerberos ldap lttng +mgr numa pmdk rabbitmq
-	+radosgw rbd-rwl rbd-ssd rdma rgw-lua +ssl spdk +sqlite +system-boost
-	systemd +tcmalloc test uring xfs zbd zfs
-"
-
-IUSE+="$(printf "cpu_flags_x86_%s\n" ${CPU_FLAGS_X86[@]})"
-
-DEPEND="
-	${LUA_DEPS}
-	${PYTHON_DEPS}
-	acct-group/ceph
-	acct-user/ceph
-	virtual/libudev:=
-	app-arch/bzip2:=
-	app-arch/lz4:=
-	app-arch/snappy:=
-	|| ( >=app-arch/snappy-1.1.9-r1 <app-arch/snappy-1.1.9 )
-	app-arch/zstd:=
-	app-shells/bash:0
-	app-misc/jq:=
-	dev-libs/crypto++:=
-	dev-cpp/gflags:=
-	<dev-libs/leveldb-1.23:=[snappy,tcmalloc(-)?]
-	dev-libs/libaio:=
-	dev-libs/libfmt:=
-	dev-libs/libnl:3=
-	dev-libs/libxml2:=
-	dev-libs/libevent:=
-	dev-libs/openssl:=
-	<dev-libs/rocksdb-6.15:=
-	dev-libs/xmlsec:=[openssl]
-	dev-cpp/yaml-cpp:=
-	dev-libs/nss:=
-	dev-libs/protobuf:=
-	net-dns/c-ares:=
-	net-libs/gnutls:=
-	sys-auth/oath-toolkit:=
-	sys-apps/coreutils
-	sys-apps/hwloc:=
-	sys-apps/keyutils:=
-	sys-apps/util-linux:=
-	sys-apps/util-linux
-	sys-libs/libcap-ng:=
-	sys-libs/ncurses:0=
-	sys-libs/zlib:=
-	sys-process/numactl:=
-	virtual/libcrypt:=
-	x11-libs/libpciaccess:=
-	babeltrace? ( dev-util/babeltrace )
-	fuse? ( sys-fs/fuse:3= )
-	jemalloc? ( dev-libs/jemalloc:= )
-	!jemalloc? ( >=dev-util/google-perftools-2.6.1:= )
-	jaeger? ( dev-cpp/nlohmann_json:= )
-	kafka? ( dev-libs/librdkafka:= )
-	kerberos? ( virtual/krb5 )
-	ldap? ( net-nds/openldap:= )
-	lttng? ( dev-util/lttng-ust:= )
-	pmdk? ( dev-libs/pmdk:= )
-	rabbitmq? ( net-libs/rabbitmq-c:= )
-	radosgw? (
-		dev-libs/icu:=
-		dev-libs/expat:=
-		net-misc/curl:=[curl_ssl_openssl]
-	)
-	rbd-rwl? ( dev-libs/pmdk:= )
-	rdma? ( sys-cluster/rdma-core:= )
-	spdk? ( dev-util/cunit )
-	sqlite? ( dev-db/sqlite:= )
-	system-boost? ( >=dev-libs/boost-1.72:=[threads(+),context,python,${PYTHON_USEDEP}] )
-	uring? ( sys-libs/liburing:= )
-	xfs? ( sys-fs/xfsprogs:= )
-	zbd? ( sys-block/libzbd:= )
-	zfs? ( sys-fs/zfs:= )
-"
-BDEPEND="
-	amd64? ( dev-lang/nasm )
-	x86? ( dev-lang/yasm )
-	app-arch/cpio
-	>=dev-util/cmake-3.5.0
-	dev-python/cython[${PYTHON_USEDEP}]
-	dev-python/setuptools[${PYTHON_USEDEP}]
-	dev-python/sphinx
-	dev-util/gperf
-	dev-util/ragel
-	dev-util/valgrind
-	sys-apps/coreutils
-	sys-apps/grep
-	sys-apps/sed
-	sys-apps/util-linux
-	sys-apps/which
-	sys-devel/bc
-	sys-devel/patch
-	virtual/pkgconfig
-	jaeger? (
-		sys-devel/bison
-		sys-devel/flex
-	)
-	test? (
-		dev-util/cunit
-		dev-python/coverage[${PYTHON_USEDEP}]
-		dev-python/virtualenv[${PYTHON_USEDEP}]
-		dev-python/requests-mock[${PYTHON_USEDEP}]
-		sys-apps/grep[pcre]
-		sys-fs/btrfs-progs
-	)
-"
-RDEPEND="
-	${DEPEND}
-	app-admin/sudo
-	net-misc/socat
-	sys-apps/gptfdisk
-	sys-apps/nvme-cli
-	>=sys-apps/smartmontools-7.0
-	sys-block/parted
-	sys-fs/cryptsetup
-	sys-fs/lsscsi
-	sys-fs/lvm2[-device-mapper-only(-)]
-	virtual/awk
-	dev-python/bcrypt[${PYTHON_USEDEP}]
-	dev-python/cherrypy[${PYTHON_USEDEP}]
-	dev-python/python-dateutil[${PYTHON_USEDEP}]
-	dev-python/flask[${PYTHON_USEDEP}]
-	dev-python/jinja[${PYTHON_USEDEP}]
-	dev-python/pecan[${PYTHON_USEDEP}]
-	dev-python/prettytable[${PYTHON_USEDEP}]
-	dev-python/pyopenssl[${PYTHON_USEDEP}]
-	dev-python/pyyaml[${PYTHON_USEDEP}]
-	dev-python/requests[${PYTHON_USEDEP}]
-	dev-python/werkzeug[${PYTHON_USEDEP}]
-	mgr? (
-		dev-python/jsonpatch[${PYTHON_USEDEP}]
-		dev-python/more-itertools[${PYTHON_USEDEP}]
-		dev-python/numpy[${PYTHON_USEDEP}]
-		dev-python/pyjwt[${PYTHON_USEDEP}]
-		dev-python/routes[${PYTHON_USEDEP}]
-		diskprediction? (
-			>=dev-python/scipy-1.4.0[${PYTHON_USEDEP}]
-		)
-		sci-libs/scikit-learn[${PYTHON_USEDEP}]
-		dev-python/six[${PYTHON_USEDEP}]
-	)
-"
-# diskprediction needs older scipy not compatible with py38
-# bug #724438
-REQUIRED_USE="
-	${PYTHON_REQUIRED_USE}
-	${LUA_REQUIRED_USE}
-	?? ( jemalloc tcmalloc )
-	jaeger? ( !system-boost )
-	diskprediction? ( mgr )
-	kafka? ( radosgw )
-	mgr? ( cephfs )
-	rabbitmq? ( radosgw )
-"
-
-RESTRICT="
-	!test? ( test )
-"
-
-# tests need root access, and network access
-RESTRICT+="test"
-
-# create a non-debug release
-CMAKE_BUILD_TYPE=RelWithDebInfo
-
-# false positives unless all USE flags are on
-CMAKE_WARN_UNUSED_CLI=no
-
-PATCHES=(
-	"${FILESDIR}/ceph-12.2.0-use-provided-cpu-flag-values.patch"
-	"${FILESDIR}/ceph-14.2.0-cflags.patch"
-	"${FILESDIR}/ceph-12.2.4-boost-build-none-options.patch"
-	"${FILESDIR}/ceph-16.2.2-cflags.patch"
-	"${FILESDIR}/ceph-16.2.7-no-virtualenvs.patch"
-	"${FILESDIR}/ceph-13.2.2-dont-install-sysvinit-script.patch"
-	"${FILESDIR}/ceph-14.2.0-dpdk-cflags.patch"
-	"${FILESDIR}/ceph-14.2.0-cython-0.29.patch"
-	"${FILESDIR}/ceph-16.2.0-rocksdb-cmake.patch"
-	"${FILESDIR}/ceph-15.2.3-spdk-compile.patch"
-	"${FILESDIR}/ceph-16.2.0-spdk-tinfo.patch"
-	"${FILESDIR}/ceph-16.2.0-jaeger-system-boost.patch"
-	"${FILESDIR}/ceph-16.2.0-liburing.patch"
-	"${FILESDIR}/ceph-16.2.2-system-zstd.patch"
-	"${FILESDIR}/ceph-16.2.7-string-includes.patch"
-	"${FILESDIR}/ceph-17.2.0-fuse3.patch"
-)
-
-check-reqs_export_vars() {
-	CHECKREQS_DISK_BUILD="6G"
-
-	if use system-boost; then
-		CHECKREQS_DISK_USR="350M"
-	else
-		CHECKREQS_DISK_USR="510M"
-	fi
-
-	export CHECKREQS_DISK_BUILD CHECKREQS_DISK_USR
-}
-
-pkg_pretend() {
-	check-reqs_export_vars
-	check-reqs_pkg_pretend
-}
-
-pkg_setup() {
-	python_setup
-	lua_setup
-	check-reqs_export_vars
-	check-reqs_pkg_setup
-}
-
-src_prepare() {
-	cmake_src_prepare
-
-	if use system-boost; then
-		find "${S}" -name '*.cmake' -or -name 'CMakeLists.txt' -print0 \
-			| xargs --null sed -r \
-			-e 's|Boost::|boost_|g' \
-			-e 's|Boost_|boost_|g' \
-			-e 's|[Bb]oost_boost|boost_system|g' \
-			-i || die
-	fi
-
-	if ! use systemd; then
-		find "${S}"/src/ceph-volume/ceph_volume -name '*.py' -print0 \
-			| xargs --null sed \
-			-e '/^from ceph_volume.systemd import systemctl/ d' \
-			-i || die
-	fi
-
-	sed -r -e "s:DESTINATION .+\\):DESTINATION $(get_bashcompdir)\\):" \
-		-i src/bash_completion/CMakeLists.txt || die
-
-	sed  -e "s:objdump -p:$(tc-getOBJDUMP) -p:" -i CMakeLists.txt || die
-
-	if ! use diskprediction; then
-		rm -rf src/pybind/mgr/diskprediction_local || die
-	fi
-
-	# force lua version to use selected version
-	local lua_version
-	lua_version=$(ver_cut 1-2 $(lua_get_version))
-	sed "s:find_package(Lua [0-9][.][0-9] REQUIRED):find_package(Lua ${lua_version} EXACT REQUIRED):" \
-		-i src/CMakeLists.txt
-
-	# remove tests that need root access
-	rm src/test/cli/ceph-authtool/cap*.t || die
-}
-
-ceph_src_configure() {
-	local mycmakeargs=(
-		-DWITH_BABELTRACE:BOOL=$(usex babeltrace)
-		-DWITH_BLUESTORE_PMEM:BOOL=$(usex pmdk)
-		-DWITH_CEPHFS:BOOL=$(usex cephfs)
-		-DWITH_CEPHFS_SHELL:BOOL=$(usex cephfs)
-		-DWITH_DPDK:BOOL=$(usex dpdk)
-		-DWITH_SPDK:BOOL=$(usex spdk)
-		-DWITH_FUSE:BOOL=$(usex fuse)
-		-DWITH_LTTNG:BOOL=$(usex lttng)
-		-DWITH_GSSAPI:BOOL=$(usex kerberos)
-		-DWITH_GRAFANA:BOOL=$(usex grafana)
-		-DWITH_MGR:BOOL=$(usex mgr)
-		-DWITH_MGR_DASHBOARD_FRONTEND:BOOL=OFF
-		-DWITH_OPENLDAP:BOOL=$(usex ldap)
-		-DWITH_PYTHON3:STRING=3
-		-DWITH_RADOSGW:BOOL=$(usex radosgw)
-		-DWITH_RADOSGW_AMQP_ENDPOINT:BOOL=$(usex rabbitmq)
-		-DWITH_RADOSGW_KAFKA_ENDPOINT:BOOL=$(usex kafka)
-		-DWITH_RADOSGW_LUA_PACKAGES:BOOL=$(usex rgw-lua "$(usex radosgw)" "NO")
-		-DWITH_RBD_RWL:BOOL=$(usex rbd-rwl)
-		-DWITH_RBD_SSD_CACHE:BOOL=$(usex rbd-ssd)
-		-DWITH_SYSTEMD:BOOL=$(usex systemd)
-		-DWITH_TESTS:BOOL=$(usex test)
-		-DWITH_LIBURING:BOOL=$(usex uring)
-		-DWITH_SYSTEM_LIBURING:BOOL=$(usex uring)
-		-DWITH_LIBCEPHSQLITE:BOOL=$(usex sqlite)
-		-DWITH_XFS:BOOL=$(usex xfs)
-		-DWITH_ZBD:BOOL=$(usex zbd)
-		-DWITH_ZFS:BOOL=$(usex zfs)
-		-DENABLE_SHARED:BOOL=ON
-		-DALLOCATOR:STRING=$(usex tcmalloc 'tcmalloc' "$(usex jemalloc 'jemalloc' 'libc')")
-		-DWITH_SYSTEM_PMDK:BOOL=$(usex pmdk 'YES' "$(usex rbd-rwl)")
-		-DWITH_SYSTEM_BOOST:BOOL=$(usex system-boost)
-		-DWITH_SYSTEM_ROCKSDB:BOOL=ON
-		-DWITH_RDMA:BOOL=$(usex rdma)
-		-DCMAKE_INSTALL_DOCDIR:PATH="${EPREFIX}/usr/share/doc/${PN}-${PVR}"
-		-DCMAKE_INSTALL_SYSCONFDIR:PATH="${EPREFIX}/etc"
-		-Wno-dev
-	)
-
-	# this breaks when re-configuring for python impl
-	if [[ ${EBUILD_PHASE} == configure ]]; then
-		mycmakeargs+=(
-			-DWITH_JAEGER:BOOL=$(usex jaeger)
-		)
-	else
-		mycmakeargs+=(
-			-DWITH_RADOSGW_SELECT_PARQUET:BOOL=OFF
-		)
-	fi
-
-	# conditionally used cmake args
-	use test && mycmakearts+=( -DWITH_SYSTEM_GTEST:BOOL=$(usex test) )
-	use systemd && mycmakeargs+=( -DCMAKE_INSTALL_SYSTEMD_SERVICEDIR:PATH=$(systemd_get_systemunitdir) )
-
-	if use amd64 || use x86; then
-		local flag
-		for flag in "${CPU_FLAGS_X86[@]}"; do
-			case "${flag}" in
-				avx*)
-					local var=${flag%f}
-					mycmakeargs+=(
-						"-DHAVE_NASM_X64_${var^^}:BOOL=$(usex cpu_flags_x86_${flag})"
-					)
-				;;
-				*) mycmakeargs+=(
-						"-DHAVE_INTEL_${flag^^}:BOOL=$(usex cpu_flags_x86_${flag})"
-					);;
-			esac
-		done
-	fi
-
-	# needed for >=glibc-2.32
-	has_version '>=sys-libs/glibc-2.32' && mycmakeargs+=( -DWITH_REENTRANT_STRSIGNAL:BOOL=ON )
-
-	rm -f "${BUILD_DIR:-${S}}/CMakeCache.txt" \
-		|| die "failed to remove cmake cache"
-
-	cmake_src_configure
-
-	# bug #630232
-	sed -i "s:\"${T//:\\:}/${EPYTHON}/bin/python\":\"${PYTHON}\":" \
-		"${BUILD_DIR:-${S}}"/include/acconfig.h \
-		|| die "sed failed"
-}
-
-src_configure() {
-	use custom-cflags || strip-flags
-	ceph_src_configure
-}
-
-src_compile() {
-	cmake_build VERBOSE=1 all
-
-	# we have to do this here to prevent from building everything multiple times
-	python_copy_sources
-	python_foreach_impl python_compile
-}
-
-python_compile() {
-	local CMAKE_USE_DIR="${S}"
-	ceph_src_configure
-
-	pushd "${BUILD_DIR}/src/pybind" >/dev/null || die
-	emake VERBOSE=1 clean
-	emake VERBOSE=1 all
-
-	# python modules are only compiled with "make install" so we need to do this to
-	# prevent doing a bunch of compilation in src_install
-	DESTDIR="${T}" emake VERBOSE=1 install
-	popd >/dev/null || die
-}
-
-src_test() {
-	make check || die "make check failed"
-}
-
-src_install() {
-	python_foreach_impl python_install
-
-	python_setup
-	cmake_src_install
-
-	find "${ED}" -name '*.la' -type f -delete || die
-
-	exeinto /usr/$(get_libdir)/ceph
-	newexe "${BUILD_DIR}/bin/init-ceph" init-ceph
-
-	insinto /etc/logrotate.d/
-	newins "${FILESDIR}"/ceph.logrotate-r2 ${PN}
-
-	keepdir /var/lib/${PN}{,/tmp} /var/log/${PN}/stat
-
-	fowners -R ceph:ceph /var/log/ceph
-
-	newinitd "${FILESDIR}/rbdmap.initd-r1" rbdmap
-	newinitd "${FILESDIR}/${PN}.initd-r12" ${PN}
-	newconfd "${FILESDIR}/${PN}.confd-r5" ${PN}
-
-	insinto /etc/sudoers.d
-	doins sudoers.d/*
-
-	insinto /etc/sysctl.d
-	newins "${FILESDIR}"/sysctld 90-${PN}.conf
-
-	use tcmalloc && newenvd "${FILESDIR}"/envd-tcmalloc 99${PN}-tcmalloc
-
-	# units aren't installed by the build system unless systemd is enabled
-	# so no point installing these with the USE flag disabled
-	if use systemd; then
-		systemd_install_serviced "${FILESDIR}/ceph-mds_at.service.conf" "ceph-mds@.service"
-		systemd_install_serviced "${FILESDIR}/ceph-osd_at.service.conf" "ceph-osd@.service"
-	fi
-
-	udev_dorules udev/*.rules
-	newtmpfiles "${FILESDIR}"/ceph-tmpfilesd ${PN}.conf
-
-	readme.gentoo_create_doc
-
-	# bug #630232
-	sed -i -r "s:${T//:/\\:}/${EPYTHON}:/usr:" "${ED}"/usr/bin/ceph{,-crash} \
-		|| die "sed failed"
-
-	python_fix_shebang "${ED}"/usr/{,s}bin/
-
-	# python_fix_shebang apparently is not idempotent
-	local shebang_regex='(/usr/lib/python-exec/python[0-9]\.[0-9]/python)[0-9]\.[0-9]'
-	grep -r -E -l --null "${shebang_regex}" "${ED}"/usr/{s,}bin/ \
-		| xargs --null --no-run-if-empty -- sed -i -r  "s:${shebang_regex}:\1:" || die
-
-	local -a rados_classes=( "${ED}/usr/$(get_libdir)/rados-classes"/* )
-	dostrip -x "${rados_classes[@]#${ED}}"
-}
-
-python_install() {
-	local CMAKE_USE_DIR="${S}"
-	pushd "${BUILD_DIR}/src/pybind" >/dev/null || die
-	DESTDIR="${ED}" emake VERBOSE=1 install
-	popd >/dev/null || die
-
-	python_optimize
-}
-
-pkg_postinst() {
-	readme.gentoo_print_elog
-	tmpfiles_process ${PN}.conf
-	udev_reload
-}

diff --git a/sys-cluster/ceph/ceph-16.2.7.ebuild b/sys-cluster/ceph/ceph-16.2.7.ebuild
deleted file mode 100644
index 7a95b9398834..000000000000
--- a/sys-cluster/ceph/ceph-16.2.7.ebuild
+++ /dev/null
@@ -1,460 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{7..10} )
-DISTUTILS_OPTIONAL=1
-LUA_COMPAT=( lua5-3 )
-
-CMAKE_MAKEFILE_GENERATOR=emake
-
-inherit check-reqs bash-completion-r1 cmake distutils-r1 flag-o-matic \
-		lua-single python-r1 udev readme.gentoo-r1 toolchain-funcs \
-		systemd tmpfiles multiprocessing
-
-if [[ ${PV} == *9999* ]]; then
-	inherit git-r3
-	EGIT_REPO_URI="https://github.com/ceph/ceph.git"
-	SRC_URI=""
-else
-	SRC_URI="https://download.ceph.com/tarballs/${P}.tar.gz"
-	KEYWORDS="amd64 ~arm64 ~ppc64"
-fi
-
-DESCRIPTION="Ceph distributed filesystem"
-HOMEPAGE="https://ceph.com/"
-
-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"
-SLOT="0"
-
-CPU_FLAGS_X86=(avx2 avx512f pclmul sse{,2,3,4_1,4_2} ssse3)
-
-IUSE="babeltrace +cephfs custom-cflags diskprediction dpdk fuse grafana
-	jemalloc jaeger kafka kerberos ldap lttng +mgr numa pmdk rabbitmq
-	+radosgw rbd-rwl rbd-ssd rgw-lua +ssl spdk +sqlite +system-boost systemd
-	+tcmalloc test uring xfs zbd zfs"
-IUSE+=" $(printf "cpu_flags_x86_%s\n" ${CPU_FLAGS_X86[@]})"
-
-DEPEND="
-	${LUA_DEPS}
-	acct-group/ceph
-	acct-user/ceph
-	virtual/libudev:=
-	app-arch/bzip2:=
-	app-arch/lz4:=
-	app-arch/snappy
-	|| ( >=app-arch/snappy-1.1.9-r1 <app-arch/snappy-1.1.9 )
-	app-arch/zstd:=
-	app-shells/bash:0
-	app-misc/jq:=
-	dev-libs/crypto++:=
-	dev-cpp/gflags:=
-	<dev-libs/leveldb-1.23:=[snappy,tcmalloc(-)?]
-	dev-libs/libaio:=
-	dev-libs/libfmt:=
-	dev-libs/libnl:3=
-	dev-libs/libxml2:=
-	dev-libs/libevent:=
-	<dev-libs/rocksdb-6.15:=
-	dev-libs/xmlsec:=[openssl]
-	dev-cpp/yaml-cpp:=
-	dev-libs/nss:=
-	dev-libs/protobuf:=
-	net-dns/c-ares:=
-	net-libs/gnutls:=
-	sys-auth/oath-toolkit:=
-	sys-apps/coreutils
-	sys-apps/grep
-	sys-apps/hwloc:=
-	sys-apps/keyutils:=
-	sys-apps/util-linux:=
-	sys-apps/sed
-	sys-apps/util-linux
-	sys-libs/libcap-ng:=
-	sys-libs/ncurses:0=
-	sys-libs/zlib:=
-	sys-process/numactl:=
-	virtual/libcrypt:=
-	x11-libs/libpciaccess:=
-	babeltrace? ( dev-util/babeltrace )
-	fuse? ( sys-fs/fuse:0= )
-	jemalloc? ( dev-libs/jemalloc:= )
-	!jemalloc? ( >=dev-util/google-perftools-2.6.1:= )
-	jaeger? ( dev-cpp/nlohmann_json:= )
-	kafka? ( dev-libs/librdkafka:= )
-	kerberos? ( virtual/krb5 )
-	ldap? ( net-nds/openldap:= )
-	lttng? ( dev-util/lttng-ust:= )
-	pmdk? ( dev-libs/pmdk:= )
-	rabbitmq? ( net-libs/rabbitmq-c:= )
-	radosgw? (
-		dev-libs/icu:=
-		dev-libs/expat:=
-		dev-libs/openssl:=
-		net-misc/curl:=[curl_ssl_openssl]
-	)
-	rbd-rwl? ( dev-libs/pmdk:= )
-	ssl? ( dev-libs/openssl:= )
-	sqlite? ( dev-db/sqlite:= )
-	system-boost? ( >=dev-libs/boost-1.72:=[threads(+),context,python,${PYTHON_USEDEP}] )
-	uring? ( sys-libs/liburing:= )
-	xfs? ( sys-fs/xfsprogs:= )
-	zbd? ( sys-block/libzbd:= )
-	zfs? ( sys-fs/zfs:= )
-	${PYTHON_DEPS}
-"
-BDEPEND="
-	amd64? ( dev-lang/nasm )
-	x86? ( dev-lang/yasm )
-	app-arch/cpio
-	>=dev-util/cmake-3.5.0
-	dev-python/cython[${PYTHON_USEDEP}]
-	dev-python/setuptools[${PYTHON_USEDEP}]
-	dev-python/sphinx
-	dev-util/cunit
-	dev-util/gperf
-	dev-util/ragel
-	dev-util/valgrind
-	sys-apps/coreutils
-	sys-apps/grep
-	sys-apps/sed
-	sys-apps/which
-	sys-devel/bc
-	sys-devel/patch
-	virtual/pkgconfig
-	jaeger? (
-		sys-devel/bison
-		sys-devel/flex
-	)
-	test? (
-		dev-python/coverage[${PYTHON_USEDEP}]
-		dev-python/virtualenv[${PYTHON_USEDEP}]
-		dev-python/requests-mock[${PYTHON_USEDEP}]
-		sys-apps/grep[pcre]
-		sys-fs/btrfs-progs
-	)
-"
-RDEPEND="
-	${DEPEND}
-	app-admin/sudo
-	net-misc/socat
-	sys-apps/gptfdisk
-	sys-apps/nvme-cli
-	>=sys-apps/smartmontools-7.0
-	sys-block/parted
-	sys-fs/cryptsetup
-	sys-fs/lsscsi
-	sys-fs/lvm2[-device-mapper-only(-)]
-	virtual/awk
-	dev-python/bcrypt[${PYTHON_USEDEP}]
-	dev-python/cherrypy[${PYTHON_USEDEP}]
-	dev-python/python-dateutil[${PYTHON_USEDEP}]
-	dev-python/flask[${PYTHON_USEDEP}]
-	dev-python/jinja[${PYTHON_USEDEP}]
-	dev-python/pecan[${PYTHON_USEDEP}]
-	dev-python/prettytable[${PYTHON_USEDEP}]
-	dev-python/pyopenssl[${PYTHON_USEDEP}]
-	dev-python/pyyaml[${PYTHON_USEDEP}]
-	dev-python/requests[${PYTHON_USEDEP}]
-	dev-python/werkzeug[${PYTHON_USEDEP}]
-	mgr? (
-		dev-python/jsonpatch[${PYTHON_USEDEP}]
-		dev-python/more-itertools[${PYTHON_USEDEP}]
-		dev-python/numpy[${PYTHON_USEDEP}]
-		dev-python/pyjwt[${PYTHON_USEDEP}]
-		dev-python/routes[${PYTHON_USEDEP}]
-		diskprediction? (
-			>=dev-python/scipy-1.4.0[${PYTHON_USEDEP}]
-		)
-		sci-libs/scikit-learn[${PYTHON_USEDEP}]
-		dev-python/six[${PYTHON_USEDEP}]
-	)
-"
-# diskprediction needs older scipy not compatible with py38
-# bug #724438
-REQUIRED_USE="
-	${PYTHON_REQUIRED_USE}
-	${LUA_REQUIRED_USE}
-	?? ( jemalloc tcmalloc )
-	jaeger? ( !system-boost )
-	diskprediction? ( mgr )
-	kafka? ( radosgw )
-	mgr? ( cephfs )
-	rabbitmq? ( radosgw )
-"
-RESTRICT="!test? ( test )"
-
-# the tests need root access
-RESTRICT="test? ( userpriv )"
-
-# distribution tarball does not include everything needed for tests
-RESTRICT+=" test"
-
-# create a non-debug release
-CMAKE_BUILD_TYPE=RelWithDebInfo
-
-# false positives unless all USE flags are on
-CMAKE_WARN_UNUSED_CLI=no
-
-PATCHES=(
-	"${FILESDIR}/ceph-12.2.0-use-provided-cpu-flag-values.patch"
-	"${FILESDIR}/ceph-14.2.0-cflags.patch"
-	"${FILESDIR}/ceph-12.2.4-boost-build-none-options.patch"
-	"${FILESDIR}/ceph-16.2.2-cflags.patch"
-	"${FILESDIR}/ceph-16.2.7-no-virtualenvs.patch"
-	"${FILESDIR}/ceph-13.2.2-dont-install-sysvinit-script.patch"
-	"${FILESDIR}/ceph-14.2.0-dpdk-cflags.patch"
-	"${FILESDIR}/ceph-14.2.0-cython-0.29.patch"
-	"${FILESDIR}/ceph-16.2.0-rocksdb-cmake.patch"
-	"${FILESDIR}/ceph-15.2.3-spdk-compile.patch"
-	"${FILESDIR}/ceph-16.2.0-spdk-tinfo.patch"
-	"${FILESDIR}/ceph-16.2.0-jaeger-system-boost.patch"
-	"${FILESDIR}/ceph-16.2.0-liburing.patch"
-	"${FILESDIR}/ceph-16.2.2-system-zstd.patch"
-	"${FILESDIR}/ceph-16.2.7-string-includes.patch"
-)
-
-check-reqs_export_vars() {
-	CHECKREQS_DISK_BUILD="6G"
-
-	if use system-boost; then
-		CHECKREQS_DISK_USR="350M"
-	else
-		CHECKREQS_DISK_USR="510M"
-	fi
-
-	export CHECKREQS_DISK_BUILD CHECKREQS_DISK_USR
-}
-
-pkg_pretend() {
-	check-reqs_export_vars
-	check-reqs_pkg_pretend
-}
-
-pkg_setup() {
-	python_setup
-	lua_setup
-	check-reqs_export_vars
-	check-reqs_pkg_setup
-}
-
-src_prepare() {
-	cmake_src_prepare
-
-	if use system-boost; then
-		find "${S}" -name '*.cmake' -or -name 'CMakeLists.txt' -print0 \
-			| xargs --null sed -r \
-			-e 's|Boost::|boost_|g' \
-			-e 's|Boost_|boost_|g' \
-			-e 's|[Bb]oost_boost|boost_system|g' -i || die
-	fi
-
-	if ! use systemd; then
-		find "${S}"/src/ceph-volume/ceph_volume -name '*.py' -print0 \
-			| xargs --null sed \
-			-e '/^from ceph_volume.systemd import systemctl/ d' \
-			-i || die
-	fi
-
-	sed -r -e "s:DESTINATION .+\\):DESTINATION $(get_bashcompdir)\\):" \
-		-i src/bash_completion/CMakeLists.txt || die
-
-	sed  -e "s:objdump -p:$(tc-getOBJDUMP) -p:" -i CMakeLists.txt || die
-
-	if ! use diskprediction; then
-		rm -rf src/pybind/mgr/diskprediction_local || die
-	fi
-
-	# force lua version to use selected version
-	local lua_version
-	lua_version=$(ver_cut 1-2 $(lua_get_version))
-	sed -i "s:find_package(Lua [0-9][.][0-9] REQUIRED):find_package(Lua ${lua_version} EXACT REQUIRED):" src/CMakeLists.txt
-
-	# remove tests that need root access
-	rm src/test/cli/ceph-authtool/cap*.t || die
-}
-
-ceph_src_configure() {
-	local flag
-	local mycmakeargs=(
-		-DWITH_BABELTRACE=$(usex babeltrace)
-		-DWITH_BLUESTORE_PMEM=$(usex pmdk)
-		-DWITH_CEPHFS=$(usex cephfs)
-		-DWITH_CEPHFS_SHELL=$(usex cephfs)
-		-DWITH_DPDK=$(usex dpdk)
-		-DWITH_SPDK=$(usex spdk)
-		-DWITH_FUSE=$(usex fuse)
-		-DWITH_LTTNG=$(usex lttng)
-		-DWITH_GSSAPI=$(usex kerberos)
-		-DWITH_GRAFANA=$(usex grafana)
-		-DWITH_MGR=$(usex mgr)
-		-DWITH_MGR_DASHBOARD_FRONTEND=OFF
-		-DWITH_NUMA=$(usex numa)
-		-DWITH_OPENLDAP=$(usex ldap)
-		-DWITH_PYTHON3=3
-		-DWITH_RADOSGW=$(usex radosgw)
-		-DWITH_RADOSGW_AMQP_ENDPOINT=$(usex rabbitmq)
-		-DWITH_RADOSGW_KAFKA_ENDPOINT=$(usex kafka)
-		-DWITH_RADOSGW_LUA_PACKAGES=$(usex rgw-lua "$(usex radosgw)" "NO")
-		-DWITH_RBD_RWL=$(usex rbd-rwl)
-		-DWITH_RBD_SSD_CACHE=$(usex rbd-ssd)
-		-DWITH_SSL=$(usex ssl)
-		-DWITH_SYSTEMD=$(usex systemd)
-		-DWITH_TESTS=$(usex test)
-		-DWITH_LIBURING=$(usex uring)
-		-DWITH_SYSTEM_LIBURING=$(usex uring)
-		-DWITH_LIBCEPHSQLITE=$(usex sqlite)
-		-DWITH_XFS=$(usex xfs)
-		-DWITH_ZBD=$(usex zbd)
-		-DWITH_ZFS=$(usex zfs)
-		-DENABLE_SHARED="ON"
-		-DALLOCATOR=$(usex tcmalloc 'tcmalloc' "$(usex jemalloc 'jemalloc' 'libc')")
-		-DWITH_SYSTEM_PMDK=$(usex pmdk 'YES' "$(usex rbd-rwl)")
-		-DWITH_SYSTEM_BOOST=$(usex system-boost)
-		-DBOOST_J=$(makeopts_jobs)
-		-DWITH_SYSTEM_ROCKSDB=ON
-		-DWITH_RDMA=OFF
-		-DWITH_TBB=OFF
-		-DSYSTEMD_UNITDIR=$(systemd_get_systemunitdir)
-		-DCMAKE_INSTALL_SYSTEMD_SERVICEDIR=$(systemd_get_systemunitdir)
-		-DEPYTHON_VERSION="${EPYTHON#python}"
-		-DCMAKE_INSTALL_DOCDIR="${EPREFIX}/usr/share/doc/${PN}-${PVR}"
-		-DCMAKE_INSTALL_SYSCONFDIR="${EPREFIX}/etc"
-		-Wno-dev
-	)
-
-	# this breaks when re-configuring for python impl
-	[[ ${EBUILD_PHASE} == configure ]] && mycmakeargs+=(-DWITH_JAEGER=$(usex jaeger))
-
-	if use amd64 || use x86; then
-		for flag in ${CPU_FLAGS_X86[@]}; do
-			case "${flag}" in
-				avx*)
-					local var=${flag%f}
-					mycmakeargs+=("$(usex cpu_flags_x86_${flag} "-DHAVE_NASM_X64_${var^^}=1")")
-				;;
-				*) mycmakeargs+=("$(usex cpu_flags_x86_${flag} "-DHAVE_INTEL_${flag^^}=1")");;
-			esac
-		done
-	fi
-
-	# needed for >=glibc-2.32
-	has_version '>=sys-libs/glibc-2.32' && mycmakeargs+=(-DWITH_REENTRANT_STRSIGNAL:BOOL=ON)
-
-	rm -f "${BUILD_DIR:-${S}}/CMakeCache.txt" \
-		|| die "failed to remove cmake cache"
-
-	cmake_src_configure
-
-	# bug #630232
-	sed -i "s:\"${T//:\\:}/${EPYTHON}/bin/python\":\"${PYTHON}\":" \
-		"${BUILD_DIR:-${S}}"/include/acconfig.h \
-		|| die "sed failed"
-}
-
-src_configure() {
-	use custom-cflags || strip-flags
-	ceph_src_configure
-}
-
-python_compile() {
-	local CMAKE_USE_DIR="${S}"
-	ceph_src_configure
-
-	pushd "${BUILD_DIR}/src/pybind" >/dev/null || die
-	emake VERBOSE=1 clean
-	emake VERBOSE=1 all
-
-	# python modules are only compiled with "make install" so we need to do this to
-	# prevent doing a bunch of compilation in src_install
-	DESTDIR="${T}" emake VERBOSE=1 install
-	popd >/dev/null || die
-}
-
-src_compile() {
-	cmake_build VERBOSE=1 all
-
-	# we have to do this here to prevent from building everything multiple times
-	python_copy_sources
-	python_foreach_impl python_compile
-}
-
-src_test() {
-	make check || die "make check failed"
-}
-
-python_install() {
-	local CMAKE_USE_DIR="${S}"
-	pushd "${BUILD_DIR}/src/pybind" >/dev/null || die
-	DESTDIR="${ED}" emake VERBOSE=1 install
-	popd >/dev/null || die
-
-	python_optimize
-}
-
-src_install() {
-	cmake_src_install
-	python_foreach_impl python_install
-
-	find "${ED}" -name '*.la' -type f -delete || die
-
-	exeinto /usr/$(get_libdir)/ceph
-	newexe "${BUILD_DIR}/bin/init-ceph" init-ceph
-
-	insinto /etc/logrotate.d/
-	newins "${FILESDIR}"/ceph.logrotate-r2 ${PN}
-
-	keepdir /var/lib/${PN}{,/tmp} /var/log/${PN}/stat
-
-	fowners -R ceph:ceph /var/log/ceph
-
-	newinitd "${FILESDIR}/rbdmap.initd-r1" rbdmap
-	newinitd "${FILESDIR}/${PN}.initd-r12" ${PN}
-	newconfd "${FILESDIR}/${PN}.confd-r5" ${PN}
-
-	insinto /etc/sudoers.d
-	doins sudoers.d/*
-
-	insinto /etc/sysctl.d
-	newins "${FILESDIR}"/sysctld 90-${PN}.conf
-
-	use tcmalloc && newenvd "${FILESDIR}"/envd-tcmalloc 99${PN}-tcmalloc
-
-	# units aren't installed by the build system unless systemd is enabled
-	# so no point installing these with the USE flag disabled
-	if use systemd; then
-		systemd_install_serviced "${FILESDIR}/ceph-mds_at.service.conf" \
-			"ceph-mds@.service"
-
-		systemd_install_serviced "${FILESDIR}/ceph-osd_at.service.conf" \
-			"ceph-osd@.service"
-
-	fi
-
-	udev_dorules udev/*.rules
-	newtmpfiles "${FILESDIR}"/ceph-tmpfilesd ${PN}.conf
-
-	readme.gentoo_create_doc
-
-	python_setup
-
-	# bug #630232
-	sed -i -r "s:${T//:/\\:}/${EPYTHON}:/usr:" "${ED}"/usr/bin/ceph{,-crash} \
-		|| die "sed failed"
-
-	python_fix_shebang "${ED}"/usr/{,s}bin/
-
-	# python_fix_shebang apparently is not idempotent
-	local shebang_regex='(/usr/lib/python-exec/python[0-9]\.[0-9]/python)[0-9]\.[0-9]'
-	grep -r -E -l --null "${shebang_regex}" "${ED}"/usr/{s,}bin/ \
-		| xargs --null --no-run-if-empty -- sed -i -r  "s:${shebang_regex}:\1:" || die
-
-	local -a rados_classes=( "${ED}/usr/$(get_libdir)/rados-classes"/* )
-	dostrip -x "${rados_classes[@]#${ED}}"
-}
-
-pkg_postinst() {
-	readme.gentoo_print_elog
-	tmpfiles_process ${PN}.conf
-}

diff --git a/sys-cluster/ceph/files/ceph-16.2.7-no-virtualenvs.patch b/sys-cluster/ceph/files/ceph-16.2.7-no-virtualenvs.patch
deleted file mode 100644
index 977a3ab50cba..000000000000
--- a/sys-cluster/ceph/files/ceph-16.2.7-no-virtualenvs.patch
+++ /dev/null
@@ -1,74 +0,0 @@
-diff --git a/cmake/modules/AddCephTest.cmake b/cmake/modules/AddCephTest.cmake
-index d26d003c779..bc962e3aa73 100644
---- a/cmake/modules/AddCephTest.cmake
-+++ b/cmake/modules/AddCephTest.cmake
-@@ -70,14 +70,6 @@ function(add_tox_test name)
-   endif()
-   string(REPLACE ";" "," tox_envs "${tox_envs}")
-   find_package(Python3 QUIET REQUIRED)
--  add_custom_command(
--    OUTPUT ${venv_path}/bin/activate
--    COMMAND ${CMAKE_SOURCE_DIR}/src/tools/setup-virtualenv.sh --python="${Python3_EXECUTABLE}" ${venv_path}
--    WORKING_DIRECTORY ${tox_path}
--    COMMENT "preparing venv for ${name}")
--  add_custom_target(${name}-venv
--    DEPENDS ${venv_path}/bin/activate)
--  add_dependencies(tests ${name}-venv)
-   add_test(
-     NAME ${test_name}
-     COMMAND ${CMAKE_SOURCE_DIR}/src/script/run_tox.sh
-diff --git a/src/ceph-volume/CMakeLists.txt b/src/ceph-volume/CMakeLists.txt
-index 9166553dc73..9a6c87595b9 100644
---- a/src/ceph-volume/CMakeLists.txt
-+++ b/src/ceph-volume/CMakeLists.txt
-@@ -8,22 +8,6 @@ if(FREEBSD)
-   add_subdirectory(plugin/zfs)
- endif()
- 
--# Required for running ceph-volume inventory in a vstart environment
--set(CEPH_VOLUME_VIRTUALENV ${CEPH_BUILD_VIRTUALENV}/ceph-volume-virtualenv)
--
--add_custom_command(
--  OUTPUT ${CEPH_VOLUME_VIRTUALENV}/bin/python
--  COMMAND ${CMAKE_SOURCE_DIR}/src/tools/setup-virtualenv.sh --python=${Python3_EXECUTABLE} ${CEPH_VOLUME_VIRTUALENV}
--  WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}/src/ceph-volume
--  COMMENT "ceph-volume venv is being created")
--
--add_custom_command(
--  OUTPUT ${CEPH_VOLUME_VIRTUALENV}/bin/ceph-volume
--  DEPENDS ${CEPH_VOLUME_VIRTUALENV}/bin/python
--  COMMAND . ${CEPH_VOLUME_VIRTUALENV}/bin/activate && ${CEPH_VOLUME_VIRTUALENV}/bin/python setup.py develop && deactivate
--  WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}/src/ceph-volume
--  COMMENT "${CMAKE_SOURCE_DIR}/src/ceph-volume")
--
- add_custom_target(ceph-volume-venv-setup
-   DEPENDS ${CEPH_VOLUME_VIRTUALENV}/bin/ceph-volume)
- 
-diff --git a/src/pybind/mgr/dashboard/CMakeLists.txt b/src/pybind/mgr/dashboard/CMakeLists.txt
-index 9b3432213a0..973b185f5de 100644
---- a/src/pybind/mgr/dashboard/CMakeLists.txt
-+++ b/src/pybind/mgr/dashboard/CMakeLists.txt
-@@ -5,9 +5,6 @@ function(add_npm_command)
-   set(multi_kw COMMAND DEPENDS)
-   cmake_parse_arguments(NC "${options}" "${single_kw}" "${multi_kw}" ${ARGN})
-   string(REPLACE ";" " " command "${NC_COMMAND}")
--  if(NC_NODEENV)
--    string(REGEX REPLACE "^(.*(npm|npx) .*)$" ". ${mgr-dashboard-nodeenv-dir}/bin/activate && \\1 && deactivate" command ${command})
--  endif()
-   string(REPLACE " " ";" command "${command}")
-   add_custom_command(
-     OUTPUT "${NC_OUTPUT}"
-@@ -51,11 +48,8 @@ else(WITH_SYSTEM_NPM)
-     set(node_mirror_opt "--mirror=$ENV{NODE_MIRROR}")
-   endif()
-   add_custom_command(
--    OUTPUT "${mgr-dashboard-nodeenv-dir}/bin/npm"
--    COMMAND ${CMAKE_SOURCE_DIR}/src/tools/setup-virtualenv.sh --python=${MGR_PYTHON_EXECUTABLE} ${mgr-dashboard-nodeenv-dir}
--    COMMAND ${mgr-dashboard-nodeenv-dir}/bin/pip install nodeenv
--    COMMAND ${mgr-dashboard-nodeenv-dir}/bin/nodeenv --verbose ${node_mirror_opt} -p --node=12.18.2
--    COMMAND mkdir ${mgr-dashboard-nodeenv-dir}/.npm
-+    OUTPUT "/bin/npm"
-+    COMMAND /bin/nodeenv ${node_mirror_opt} -p --node=12.18.2
-     WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
-     COMMENT "dashboard nodeenv is being installed"
-     )


^ permalink raw reply related	[flat|nested] 68+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-cluster/ceph/, sys-cluster/ceph/files/
@ 2022-06-28  0:27 Patrick McLean
  0 siblings, 0 replies; 68+ messages in thread
From: Patrick McLean @ 2022-06-28  0:27 UTC (permalink / raw
  To: gentoo-commits

commit:     dc779185168bea4e14e59a15f4fc878f31df97fa
Author:     Patrick McLean <chutzpah <AT> gentoo <DOT> org>
AuthorDate: Tue Jun 28 00:25:59 2022 +0000
Commit:     Patrick McLean <chutzpah <AT> gentoo <DOT> org>
CommitDate: Tue Jun 28 00:27:37 2022 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=dc779185

sys-cluster/ceph: add 17.2.1

Signed-off-by: Patrick McLean <chutzpah <AT> gentoo.org>

 sys-cluster/ceph/Manifest                          |   2 +
 sys-cluster/ceph/ceph-17.2.1.ebuild                | 457 +++++++++++++++++++++
 .../ceph/files/ceph-17.2.1-no-virtualenvs.patch    |  68 +++
 3 files changed, 527 insertions(+)

diff --git a/sys-cluster/ceph/Manifest b/sys-cluster/ceph/Manifest
index d69ecc81be06..a49e97b7bd5a 100644
--- a/sys-cluster/ceph/Manifest
+++ b/sys-cluster/ceph/Manifest
@@ -2,4 +2,6 @@ DIST ceph-15.2.16.tar.gz 148628915 BLAKE2B 4f624078027c706428eae3eddd5b5479efe3b
 DIST ceph-16.2.7.tar.gz 156621262 BLAKE2B 3c79cb1586e71927df4578fe7f3a13f4ab257a5e145b6bf76d942292cbca7bf32583350373f3d816f6d8f8700ee0f98a14f350c823b0eb89ffd7735acee7de63 SHA512 eab047e646970d444acf1064d98237b8b1677fb16b5e771082d55880f7bc6d8bdb278c2fe514c82ae12c438878d9ecea29139fa6b8d890f9f737138f10fb740c
 DIST ceph-16.2.9.tar.gz 157168096 BLAKE2B 0a667a9699925cfc920ca0cc535e5331cbcd95997fb0b9816a4d84c8add454b6b17813018bc1d1de07c802167ef50aa528704b10b01f42759189392ccdb5088f SHA512 bf369038ad6383f88abbed267f0239e9d8a1d33b46b34ed260aeeb1fda1b374cb6e658238e1ace013fbbb68e73b8cd2922b7def318d7a110e5f4560eeae8fca3
 DIST ceph-17.2.0.tar.gz 168742006 BLAKE2B 15272da3471722936198f62b5ef7537d29bd944b35ef1552e87cf0f0f400a8be5fd1fa873494eb17ca71df9360d7ffa4fa20a6f1b1ba819520b180770a4e6299 SHA512 70b96e709f153f16069bec8346ea73812d699eaab91a012351d02addb3fd176b84fce32c3dae84fdf91d0ffe49f2bb258410b47caeee81d81a672b4dbd04cc7e
+DIST ceph-17.2.1.tar.gz 168819036 BLAKE2B 2d6506f3a43ccbe4a149163c13ab2de72aeba568308ca7c0c59d0ff32316519d27b334451fd8d78af799cabe3b5a8c5b7b19d5da028e52c420ec7fc38efe5aad SHA512 cb88a3feff67ce41c575cb6c0067a32de51fcbf36d8f9f7273cccd54a3413ee890f473e83fcc1429a86b858b05c412fca8b2cfc24871c5adf612e3d224227cf0
 DIST ceph-xsimd-17.2.0.tar.gz 173025 BLAKE2B 54679c24804c195ae55b9f49589e331dde92c6d89aaa20e827539e9a4e0010c7549cdd5cf02a7ebed83f953ab2a6f1d9cc9a98cf45c3dc7758ae4938c9c43713 SHA512 ecc58e7909648aaa22aefbf76ee2c5a2bece4b1b88da9c7eda1b69a46247e619ff99c4366afd6015f95debd68c1a6b89292c677b9049462d0fc0255fbc0c2a33
+DIST ceph-xsimd-17.2.1.tar.gz 173025 BLAKE2B 54679c24804c195ae55b9f49589e331dde92c6d89aaa20e827539e9a4e0010c7549cdd5cf02a7ebed83f953ab2a6f1d9cc9a98cf45c3dc7758ae4938c9c43713 SHA512 ecc58e7909648aaa22aefbf76ee2c5a2bece4b1b88da9c7eda1b69a46247e619ff99c4366afd6015f95debd68c1a6b89292c677b9049462d0fc0255fbc0c2a33

diff --git a/sys-cluster/ceph/ceph-17.2.1.ebuild b/sys-cluster/ceph/ceph-17.2.1.ebuild
new file mode 100644
index 000000000000..4b5281e5f669
--- /dev/null
+++ b/sys-cluster/ceph/ceph-17.2.1.ebuild
@@ -0,0 +1,457 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{8..10} )
+LUA_COMPAT=( lua5-{3..4} )
+
+inherit check-reqs bash-completion-r1 cmake flag-o-matic lua-single \
+		python-r1 udev readme.gentoo-r1 toolchain-funcs systemd tmpfiles
+
+SRC_URI="
+	https://download.ceph.com/tarballs/${P}.tar.gz
+	parquet? ( https://github.com/xtensor-stack/xsimd/archive/aeec9c872c8b475dedd7781336710f2dd2666cb2.tar.gz -> ceph-xsimd-${PV}.tar.gz )
+"
+KEYWORDS="~amd64 ~arm64"
+
+DESCRIPTION="Ceph distributed filesystem"
+HOMEPAGE="https://ceph.com/"
+
+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"
+SLOT="0"
+
+CPU_FLAGS_X86=(avx2 avx512f pclmul sse{,2,3,4_1,4_2} ssse3)
+
+IUSE="
+	babeltrace +cephfs custom-cflags diskprediction dpdk fuse grafana
+	jemalloc jaeger kafka kerberos ldap lttng +mgr +parquet pmdk rabbitmq
+	+radosgw rbd-rwl rbd-ssd rdma rgw-lua +ssl spdk +sqlite +system-boost
+	systemd +tcmalloc test +uring xfs zbd zfs
+"
+
+IUSE+="$(printf "cpu_flags_x86_%s\n" ${CPU_FLAGS_X86[@]})"
+
+DEPEND="
+	${LUA_DEPS}
+	${PYTHON_DEPS}
+	acct-group/ceph
+	acct-user/ceph
+	virtual/libudev:=
+	app-arch/bzip2:=
+	app-arch/lz4:=
+	app-arch/snappy:=
+	|| ( >=app-arch/snappy-1.1.9-r1 <app-arch/snappy-1.1.9 )
+	app-arch/zstd:=
+	app-shells/bash:0
+	app-misc/jq:=
+	dev-libs/crypto++:=
+	dev-cpp/gflags:=
+	<dev-libs/leveldb-1.23:=[snappy,tcmalloc(-)?]
+	dev-libs/libaio:=
+	>=dev-libs/libfmt-6.2.1:=
+	dev-libs/libnl:3=
+	dev-libs/libxml2:=
+	dev-libs/libevent:=
+	dev-libs/libutf8proc:=
+	dev-libs/openssl:=
+	<dev-libs/rocksdb-6.15:=
+	dev-libs/thrift:=
+	dev-libs/xmlsec:=[openssl]
+	dev-cpp/yaml-cpp:=
+	dev-libs/nss:=
+	dev-python/pyyaml[${PYTHON_USEDEP}]
+	net-dns/c-ares:=
+	net-libs/gnutls:=
+	sys-auth/oath-toolkit:=
+	sys-apps/coreutils
+	sys-apps/hwloc:=
+	sys-apps/keyutils:=
+	sys-apps/util-linux:=
+	sys-libs/libcap-ng:=
+	sys-libs/ncurses:0=
+	sys-libs/zlib:=
+	sys-process/numactl:=
+	virtual/libcrypt:=
+	x11-libs/libpciaccess:=
+	babeltrace? ( dev-util/babeltrace )
+	fuse? ( sys-fs/fuse:3= )
+	jemalloc? ( dev-libs/jemalloc:= )
+	!jemalloc? ( >=dev-util/google-perftools-2.6.1:= )
+	jaeger? (
+		dev-cpp/nlohmann_json:=
+		dev-cpp/opentelemetry-cpp:=[jaeger]
+	)
+	kafka? ( dev-libs/librdkafka:= )
+	kerberos? ( virtual/krb5 )
+	ldap? ( net-nds/openldap:= )
+	lttng? ( dev-util/lttng-ust:= )
+	parquet? ( dev-libs/re2:= )
+	pmdk? ( dev-libs/pmdk:= )
+	rabbitmq? ( net-libs/rabbitmq-c:= )
+	radosgw? (
+		dev-libs/icu:=
+		dev-libs/expat:=
+		net-misc/curl:=[curl_ssl_openssl]
+	)
+	rbd-rwl? ( dev-libs/pmdk:= )
+	rdma? ( sys-cluster/rdma-core:= )
+	spdk? ( dev-util/cunit )
+	sqlite? ( dev-db/sqlite:= )
+	system-boost? ( >=dev-libs/boost-1.72:=[threads(+),context,python,${PYTHON_USEDEP}] )
+	uring? ( sys-libs/liburing:= )
+	xfs? ( sys-fs/xfsprogs:= )
+	zbd? ( sys-block/libzbd:= )
+	zfs? ( sys-fs/zfs:= )
+"
+BDEPEND="
+	amd64? ( dev-lang/nasm )
+	x86? ( dev-lang/yasm )
+	app-arch/cpio
+	>=dev-util/cmake-3.5.0
+	dev-python/cython[${PYTHON_USEDEP}]
+	dev-python/setuptools[${PYTHON_USEDEP}]
+	dev-python/sphinx
+	dev-util/gperf
+	dev-util/ragel
+	dev-util/valgrind
+	sys-apps/coreutils
+	sys-apps/grep
+	sys-apps/sed
+	sys-apps/util-linux
+	sys-apps/which
+	sys-devel/bc
+	sys-devel/patch
+	virtual/pkgconfig
+	jaeger? (
+		sys-devel/bison
+		sys-devel/flex
+	)
+	test? (
+		dev-util/cunit
+		dev-python/coverage[${PYTHON_USEDEP}]
+		dev-python/virtualenv[${PYTHON_USEDEP}]
+		dev-python/requests-mock[${PYTHON_USEDEP}]
+		sys-apps/grep[pcre]
+		sys-fs/btrfs-progs
+	)
+"
+RDEPEND="
+	${DEPEND}
+	app-admin/sudo
+	net-misc/socat
+	sys-apps/gptfdisk
+	sys-apps/nvme-cli
+	>=sys-apps/smartmontools-7.0
+	sys-block/parted
+	sys-fs/cryptsetup
+	sys-fs/lsscsi
+	sys-fs/lvm2[-device-mapper-only(-)]
+	virtual/awk
+	dev-python/bcrypt[${PYTHON_USEDEP}]
+	dev-python/cherrypy[${PYTHON_USEDEP}]
+	dev-python/python-dateutil[${PYTHON_USEDEP}]
+	dev-python/flask[${PYTHON_USEDEP}]
+	dev-python/jinja[${PYTHON_USEDEP}]
+	dev-python/pecan[${PYTHON_USEDEP}]
+	dev-python/prettytable[${PYTHON_USEDEP}]
+	dev-python/pyopenssl[${PYTHON_USEDEP}]
+	dev-python/requests[${PYTHON_USEDEP}]
+	dev-python/werkzeug[${PYTHON_USEDEP}]
+	mgr? (
+		dev-python/jsonpatch[${PYTHON_USEDEP}]
+		dev-python/more-itertools[${PYTHON_USEDEP}]
+		dev-python/numpy[${PYTHON_USEDEP}]
+		dev-python/pyjwt[${PYTHON_USEDEP}]
+		dev-python/routes[${PYTHON_USEDEP}]
+		diskprediction? (
+			>=dev-python/scipy-1.4.0[${PYTHON_USEDEP}]
+		)
+		sci-libs/scikit-learn[${PYTHON_USEDEP}]
+		dev-python/six[${PYTHON_USEDEP}]
+	)
+"
+# diskprediction needs older scipy not compatible with py38
+# bug #724438
+REQUIRED_USE="
+	${PYTHON_REQUIRED_USE}
+	${LUA_REQUIRED_USE}
+	?? ( jemalloc tcmalloc )
+	diskprediction? ( mgr )
+	kafka? ( radosgw )
+	mgr? ( cephfs )
+	rabbitmq? ( radosgw )
+	rgw-lua? ( radosgw )
+"
+
+RESTRICT="
+	!test? ( test )
+"
+
+# tests need root access, and network access
+RESTRICT+="test"
+
+# false positives unless all USE flags are on
+CMAKE_WARN_UNUSED_CLI=no
+
+PATCHES=(
+	"${FILESDIR}/ceph-12.2.0-use-provided-cpu-flag-values.patch"
+	"${FILESDIR}/ceph-14.2.0-cflags.patch"
+	"${FILESDIR}/ceph-12.2.4-boost-build-none-options.patch"
+	"${FILESDIR}/ceph-16.2.2-cflags.patch"
+	"${FILESDIR}/ceph-17.2.1-no-virtualenvs.patch"
+	"${FILESDIR}/ceph-13.2.2-dont-install-sysvinit-script.patch"
+	"${FILESDIR}/ceph-14.2.0-dpdk-cflags.patch"
+	"${FILESDIR}/ceph-16.2.0-rocksdb-cmake.patch"
+	"${FILESDIR}/ceph-16.2.0-spdk-tinfo.patch"
+	"${FILESDIR}/ceph-16.2.0-jaeger-system-boost.patch"
+	"${FILESDIR}/ceph-16.2.0-liburing.patch"
+	"${FILESDIR}/ceph-17.2.0-cyclic-deps.patch"
+	"${FILESDIR}/ceph-17.2.0-pybind-boost-1.74.patch"
+	"${FILESDIR}/ceph-17.2.0-findre2.patch"
+	"${FILESDIR}/ceph-17.2.0-install-dbstore.patch"
+	"${FILESDIR}/ceph-17.2.0-deprecated-boost.patch"
+	"${FILESDIR}/ceph-17.2.0-system-opentelemetry.patch"
+	"${FILESDIR}/ceph-17.2.0-fuse3.patch"
+	"${FILESDIR}/ceph-17.2.0-osd_class_dir.patch"
+)
+
+check-reqs_export_vars() {
+	CHECKREQS_DISK_BUILD="6G"
+
+	if use system-boost; then
+		CHECKREQS_DISK_USR="350M"
+	else
+		CHECKREQS_DISK_USR="510M"
+	fi
+
+	export CHECKREQS_DISK_BUILD CHECKREQS_DISK_USR
+}
+
+pkg_pretend() {
+	check-reqs_export_vars
+	check-reqs_pkg_pretend
+}
+
+pkg_setup() {
+	python_setup
+	lua_setup
+	check-reqs_export_vars
+	check-reqs_pkg_setup
+}
+
+src_prepare() {
+	cmake_src_prepare
+
+	if use system-boost; then
+		find "${S}" -name '*.cmake' -or -name 'CMakeLists.txt' -print0 \
+			| xargs --null sed -r \
+			-e 's|Boost::|boost_|g' \
+			-e 's|Boost_|boost_|g' \
+			-e 's|[Bb]oost_boost|boost_system|g' \
+			-i || die
+	fi
+
+	if ! use systemd; then
+		find "${S}"/src/ceph-volume/ceph_volume -name '*.py' -print0 \
+			| xargs --null sed \
+			-e '/^from ceph_volume.systemd import systemctl/ d' \
+			-i || die
+	fi
+
+	sed -r -e "s:DESTINATION .+\\):DESTINATION $(get_bashcompdir)\\):" \
+		-i src/bash_completion/CMakeLists.txt || die
+
+	sed -e "s:objdump -p:$(tc-getOBJDUMP) -p:" -i CMakeLists.txt || die
+
+	# force lua version to use selected version
+	local lua_version
+	lua_version=$(ver_cut 1-2 $(lua_get_version))
+	sed "s:find_package(Lua [0-9][.][0-9] REQUIRED):find_package(Lua ${lua_version} EXACT REQUIRED):" \
+		-i src/CMakeLists.txt
+
+	# remove tests that need root access
+	rm src/test/cli/ceph-authtool/cap*.t || die
+}
+
+ceph_src_configure() {
+	local mycmakeargs=(
+		-DWITH_BABELTRACE:BOOL=$(usex babeltrace)
+		-DWITH_BLUESTORE_PMEM:BOOL=$(usex pmdk)
+		-DWITH_CEPHFS:BOOL=$(usex cephfs)
+		-DWITH_CEPHFS_SHELL:BOOL=$(usex cephfs)
+		-DWITH_DPDK:BOOL=$(usex dpdk)
+		-DWITH_SPDK:BOOL=$(usex spdk)
+		-DWITH_FUSE:BOOL=$(usex fuse)
+		-DWITH_LTTNG:BOOL=$(usex lttng)
+		-DWITH_GSSAPI:BOOL=$(usex kerberos)
+		-DWITH_GRAFANA:BOOL=$(usex grafana)
+		-DWITH_MGR:BOOL=$(usex mgr)
+		-DWITH_MGR_DASHBOARD_FRONTEND:BOOL=OFF
+		-DWITH_OPENLDAP:BOOL=$(usex ldap)
+		-DWITH_PYTHON3:STRING=3
+		-DWITH_RADOSGW:BOOL=$(usex radosgw)
+		-DWITH_RADOSGW_AMQP_ENDPOINT:BOOL=$(usex rabbitmq)
+		-DWITH_RADOSGW_KAFKA_ENDPOINT:BOOL=$(usex kafka)
+		-DWITH_RADOSGW_LUA_PACKAGES:BOOL=$(usex rgw-lua "$(usex radosgw)" "NO")
+		-DWITH_RBD_RWL:BOOL=$(usex rbd-rwl)
+		-DWITH_RBD_SSD_CACHE:BOOL=$(usex rbd-ssd)
+		-DWITH_SYSTEMD:BOOL=$(usex systemd)
+		-DWITH_TESTS:BOOL=$(usex test)
+		-DWITH_LIBURING:BOOL=$(usex uring)
+		-DWITH_SYSTEM_LIBURING:BOOL=$(usex uring)
+		-DWITH_LIBCEPHSQLITE:BOOL=$(usex sqlite)
+		-DWITH_XFS:BOOL=$(usex xfs)
+		-DWITH_ZBD:BOOL=$(usex zbd)
+		-DWITH_ZFS:BOOL=$(usex zfs)
+		-DENABLE_SHARED:BOOL=ON
+		-DALLOCATOR:STRING=$(usex tcmalloc 'tcmalloc' "$(usex jemalloc 'jemalloc' 'libc')")
+		-DWITH_SYSTEM_PMDK:BOOL=$(usex pmdk 'YES' "$(usex rbd-rwl '')")
+		-DWITH_SYSTEM_BOOST:BOOL=$(usex system-boost)
+		-DWITH_SYSTEM_ROCKSDB:BOOL=ON
+		-DWITH_SYSTEM_ZSTD:BOOL=ON
+		-DWITH_RDMA:BOOL=$(usex rdma)
+		-DCMAKE_INSTALL_DOCDIR:PATH="${EPREFIX}/usr/share/doc/${PN}-${PVR}"
+		-DCMAKE_INSTALL_SYSCONFDIR:PATH="${EPREFIX}/etc"
+		-Wno-dev
+	)
+
+	# this breaks when re-configuring for python impl
+	if [[ ${EBUILD_PHASE} == configure ]]; then
+		mycmakeargs+=(
+			-DWITH_JAEGER:BOOL=$(usex jaeger)
+			-DWITH_RADOSGW_SELECT_PARQUET:BOOL=$(usex parquet)
+		)
+	else
+		mycmakeargs+=(
+			-DWITH_RADOSGW_SELECT_PARQUET:BOOL=OFF
+		)
+	fi
+
+	# conditionally used cmake args
+	use test && mycmakearts+=( -DWITH_SYSTEM_GTEST:BOOL=$(usex test) )
+	use systemd && mycmakeargs+=( -DSYSTEMD_SYSTEM_UNIT_DIR:PATH=$(systemd_get_systemunitdir) )
+
+	if use amd64 || use x86; then
+		local flag
+		for flag in "${CPU_FLAGS_X86[@]}"; do
+			case "${flag}" in
+				avx*)
+					local var=${flag%f}
+					mycmakeargs+=(
+						"-DHAVE_NASM_X64_${var^^}:BOOL=$(usex cpu_flags_x86_${flag})"
+					)
+				;;
+				*) mycmakeargs+=(
+						"-DHAVE_INTEL_${flag^^}:BOOL=$(usex cpu_flags_x86_${flag})"
+					);;
+			esac
+		done
+	fi
+
+	# needed for >=glibc-2.32
+	has_version '>=sys-libs/glibc-2.32' && mycmakeargs+=( -DWITH_REENTRANT_STRSIGNAL:BOOL=ON )
+
+	rm -f "${BUILD_DIR:-${S}}/CMakeCache.txt" \
+		|| die "failed to remove cmake cache"
+
+	# hopefully this will not be necessary in the next release
+	use parquet && export ARROW_XSIMD_URL="file:///${DISTDIR}/ceph-xsimd-${PV}.tar.gz"
+
+	cmake_src_configure
+
+	# bug #630232
+	sed -i "s:\"${T//:\\:}/${EPYTHON}/bin/python\":\"${PYTHON}\":" \
+		"${BUILD_DIR:-${S}}"/include/acconfig.h \
+		|| die "sed failed"
+}
+
+src_configure() {
+	use custom-cflags || strip-flags
+	ceph_src_configure
+}
+
+src_compile() {
+	cmake_build all
+
+	# we have to do this here to prevent from building everything multiple times
+	python_copy_sources
+	python_foreach_impl python_compile
+}
+
+python_compile() {
+	local CMAKE_USE_DIR="${S}"
+	ceph_src_configure
+
+	cmake_build src/pybind/CMakeFiles/cython_modules
+}
+
+src_install() {
+	python_foreach_impl python_install
+
+	python_setup
+	cmake_src_install
+
+	find "${ED}" -name '*.la' -type f -delete || die
+
+	exeinto /usr/$(get_libdir)/ceph
+	newexe "${BUILD_DIR}/bin/init-ceph" init-ceph
+
+	insinto /etc/logrotate.d/
+	newins "${FILESDIR}"/ceph.logrotate-r2 ${PN}
+
+	keepdir /var/lib/${PN}{,/tmp} /var/log/${PN}/stat
+
+	fowners -R ceph:ceph /var/log/ceph
+
+	newinitd "${FILESDIR}/rbdmap.initd-r1" rbdmap
+	newinitd "${FILESDIR}/${PN}.initd-r12" ${PN}
+	newconfd "${FILESDIR}/${PN}.confd-r5" ${PN}
+
+	insinto /etc/sudoers.d
+	doins sudoers.d/*
+
+	insinto /etc/sysctl.d
+	newins "${FILESDIR}"/sysctld 90-${PN}.conf
+
+	use tcmalloc && newenvd "${FILESDIR}"/envd-tcmalloc 99${PN}-tcmalloc
+
+	# units aren't installed by the build system unless systemd is enabled
+	# so no point installing these with the USE flag disabled
+	if use systemd; then
+		systemd_install_serviced "${FILESDIR}/ceph-mds_at.service.conf" "ceph-mds@.service"
+		systemd_install_serviced "${FILESDIR}/ceph-osd_at.service.conf" "ceph-osd@.service"
+	fi
+
+	udev_dorules udev/*.rules
+	newtmpfiles "${FILESDIR}"/ceph-tmpfilesd ${PN}.conf
+
+	readme.gentoo_create_doc
+
+	# bug #630232
+	sed -i -r "s:${T//:/\\:}/${EPYTHON}:/usr:" "${ED}"/usr/bin/ceph{,-crash} \
+		|| die "sed failed"
+
+	python_fix_shebang "${ED}"/usr/{,s}bin/
+
+	# python_fix_shebang apparently is not idempotent
+	local shebang_regex='(/usr/lib/python-exec/python[0-9]\.[0-9]/python)[0-9]\.[0-9]'
+	grep -r -E -l --null "${shebang_regex}" "${ED}"/usr/{s,}bin/ \
+		| xargs --null --no-run-if-empty -- sed -i -r  "s:${shebang_regex}:\1:" || die
+
+	local -a rados_classes=( "${ED}/usr/$(get_libdir)/rados-classes"/* )
+	dostrip -x "${rados_classes[@]#${ED}}"
+}
+
+python_install() {
+	local CMAKE_USE_DIR="${S}"
+	DESTDIR="${ED}" cmake_build src/pybind/install
+
+	python_optimize
+}
+
+pkg_postinst() {
+	readme.gentoo_print_elog
+	tmpfiles_process ${PN}.conf
+	udev_reload
+}

diff --git a/sys-cluster/ceph/files/ceph-17.2.1-no-virtualenvs.patch b/sys-cluster/ceph/files/ceph-17.2.1-no-virtualenvs.patch
new file mode 100644
index 000000000000..b0112dff9242
--- /dev/null
+++ b/sys-cluster/ceph/files/ceph-17.2.1-no-virtualenvs.patch
@@ -0,0 +1,68 @@
+diff --git a/cmake/modules/AddCephTest.cmake b/cmake/modules/AddCephTest.cmake
+index 46d3a1b4cb8..b05490e1224 100644
+--- a/cmake/modules/AddCephTest.cmake
++++ b/cmake/modules/AddCephTest.cmake
+@@ -56,7 +56,6 @@ endfunction()
+ 
+ function(add_tox_test name)
+   set(test_name run-tox-${name})
+-  set(venv_path ${CEPH_BUILD_VIRTUALENV}/${name}-virtualenv)
+   cmake_parse_arguments(TOXTEST "" "TOX_PATH" "TOX_ENVS" ${ARGN})
+   if(DEFINED TOXTEST_TOX_PATH)
+     set(tox_path ${TOXTEST_TOX_PATH})
+@@ -69,27 +68,13 @@ function(add_tox_test name)
+     list(APPEND tox_envs py3)
+   endif()
+   string(REPLACE ";" "," tox_envs "${tox_envs}")
+-  add_test(
+-    NAME setup-venv-for-${name}
+-    COMMAND ${CMAKE_SOURCE_DIR}/src/tools/setup-virtualenv.sh --python=${Python3_EXECUTABLE} ${venv_path}
+-    WORKING_DIRECTORY ${tox_path})
+-  set_tests_properties(setup-venv-for-${name} PROPERTIES
+-    FIXTURES_SETUP venv-for-${name})
+-  add_test(
+-    NAME teardown-venv-for-${name}
+-    COMMAND ${CMAKE_COMMAND} -E remove_directory ${venv_path})
+-  set_tests_properties(teardown-venv-for-${name} PROPERTIES
+-    FIXTURES_CLEANUP venv-for-${name})
+   add_test(
+     NAME ${test_name}
+     COMMAND ${CMAKE_SOURCE_DIR}/src/script/run_tox.sh
+               --source-dir ${CMAKE_SOURCE_DIR}
+               --build-dir ${CMAKE_BINARY_DIR}
+               --tox-path ${tox_path}
+-              --tox-envs ${tox_envs}
+-              --venv-path ${venv_path})
+-  set_tests_properties(${test_name} PROPERTIES
+-    FIXTURES_REQUIRED venv-for-${name})
++              --tox-envs ${tox_envs})
+   set_property(
+     TEST ${test_name}
+     PROPERTY ENVIRONMENT
+diff --git a/src/ceph-volume/CMakeLists.txt b/src/ceph-volume/CMakeLists.txt
+index 9166553dc73..9a6c87595b9 100644
+--- a/src/ceph-volume/CMakeLists.txt
++++ b/src/ceph-volume/CMakeLists.txt
+@@ -8,22 +8,6 @@ if(FREEBSD)
+   add_subdirectory(plugin/zfs)
+ endif()
+ 
+-# Required for running ceph-volume inventory in a vstart environment
+-set(CEPH_VOLUME_VIRTUALENV ${CEPH_BUILD_VIRTUALENV}/ceph-volume-virtualenv)
+-
+-add_custom_command(
+-  OUTPUT ${CEPH_VOLUME_VIRTUALENV}/bin/python
+-  COMMAND ${CMAKE_SOURCE_DIR}/src/tools/setup-virtualenv.sh --python=${Python3_EXECUTABLE} ${CEPH_VOLUME_VIRTUALENV}
+-  WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}/src/ceph-volume
+-  COMMENT "ceph-volume venv is being created")
+-
+-add_custom_command(
+-  OUTPUT ${CEPH_VOLUME_VIRTUALENV}/bin/ceph-volume
+-  DEPENDS ${CEPH_VOLUME_VIRTUALENV}/bin/python
+-  COMMAND . ${CEPH_VOLUME_VIRTUALENV}/bin/activate && ${CEPH_VOLUME_VIRTUALENV}/bin/python setup.py develop && deactivate
+-  WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}/src/ceph-volume
+-  COMMENT "${CMAKE_SOURCE_DIR}/src/ceph-volume")
+-
+ add_custom_target(ceph-volume-venv-setup
+   DEPENDS ${CEPH_VOLUME_VIRTUALENV}/bin/ceph-volume)
+ 


^ permalink raw reply related	[flat|nested] 68+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-cluster/ceph/, sys-cluster/ceph/files/
@ 2022-05-17 18:03 Patrick McLean
  0 siblings, 0 replies; 68+ messages in thread
From: Patrick McLean @ 2022-05-17 18:03 UTC (permalink / raw
  To: gentoo-commits

commit:     5ef4bb8aca305f23370c2ec4eddaa1d59d7fd6ff
Author:     Patrick McLean <chutzpah <AT> gentoo <DOT> org>
AuthorDate: Tue May 17 18:03:16 2022 +0000
Commit:     Patrick McLean <chutzpah <AT> gentoo <DOT> org>
CommitDate: Tue May 17 18:03:32 2022 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=5ef4bb8a

sys-cluster/ceph: add 16.2.8

Signed-off-by: Patrick McLean <chutzpah <AT> gentoo.org>

 sys-cluster/ceph/Manifest                          |   1 +
 sys-cluster/ceph/ceph-16.2.8.ebuild                | 471 +++++++++++++++++++++
 .../ceph/files/ceph-16.2.8-no-virtualenvs.patch    |  82 ++++
 3 files changed, 554 insertions(+)

diff --git a/sys-cluster/ceph/Manifest b/sys-cluster/ceph/Manifest
index 325977641159..67b64e166350 100644
--- a/sys-cluster/ceph/Manifest
+++ b/sys-cluster/ceph/Manifest
@@ -1,4 +1,5 @@
 DIST ceph-15.2.16.tar.gz 148628915 BLAKE2B 4f624078027c706428eae3eddd5b5479efe3b4442c19a4e6b6cdf8d3839cf56e2863b18249dc3c5079a7e25f60796bfec3202ffd695537587654f5e2f820caaa SHA512 532b8a5073e157fe9ed552b26976faeb64dc29b79a249910c0982134ad5f945d4f57d8bf451adf63487b6d285c6e4bd5c39f0e3fcd449230d6fb3087539f8c3b
 DIST ceph-16.2.7.tar.gz 156621262 BLAKE2B 3c79cb1586e71927df4578fe7f3a13f4ab257a5e145b6bf76d942292cbca7bf32583350373f3d816f6d8f8700ee0f98a14f350c823b0eb89ffd7735acee7de63 SHA512 eab047e646970d444acf1064d98237b8b1677fb16b5e771082d55880f7bc6d8bdb278c2fe514c82ae12c438878d9ecea29139fa6b8d890f9f737138f10fb740c
+DIST ceph-16.2.8.tar.gz 157167317 BLAKE2B 06958b165c0bf8aa467c11c55e4c42c8284525db532da0aac180b05491b9577501af14040bb7c2dc9544c657b8cc3ceaa49a1e00912d1fb43938fdca79aefcf8 SHA512 5ea3857d6ba401d3ac969d95eaed4ea9f43bba1dc25b1c84a9ca14420d790413b8eda953edd576341c79d937433adce0c268f2e8bde9137bbd69f4535b0cc740
 DIST ceph-17.2.0.tar.gz 168742006 BLAKE2B 15272da3471722936198f62b5ef7537d29bd944b35ef1552e87cf0f0f400a8be5fd1fa873494eb17ca71df9360d7ffa4fa20a6f1b1ba819520b180770a4e6299 SHA512 70b96e709f153f16069bec8346ea73812d699eaab91a012351d02addb3fd176b84fce32c3dae84fdf91d0ffe49f2bb258410b47caeee81d81a672b4dbd04cc7e
 DIST ceph-xsimd-17.2.0.tar.gz 173025 BLAKE2B 54679c24804c195ae55b9f49589e331dde92c6d89aaa20e827539e9a4e0010c7549cdd5cf02a7ebed83f953ab2a6f1d9cc9a98cf45c3dc7758ae4938c9c43713 SHA512 ecc58e7909648aaa22aefbf76ee2c5a2bece4b1b88da9c7eda1b69a46247e619ff99c4366afd6015f95debd68c1a6b89292c677b9049462d0fc0255fbc0c2a33

diff --git a/sys-cluster/ceph/ceph-16.2.8.ebuild b/sys-cluster/ceph/ceph-16.2.8.ebuild
new file mode 100644
index 000000000000..56debbe477af
--- /dev/null
+++ b/sys-cluster/ceph/ceph-16.2.8.ebuild
@@ -0,0 +1,471 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{8..10} )
+LUA_COMPAT=( lua5-3 )
+
+CMAKE_MAKEFILE_GENERATOR=emake
+
+inherit check-reqs bash-completion-r1 cmake python-r1 flag-o-matic \
+		lua-single udev readme.gentoo-r1 toolchain-funcs systemd tmpfiles
+
+SRC_URI="https://download.ceph.com/tarballs/${P}.tar.gz"
+KEYWORDS="~amd64 ~arm64 ~ppc64"
+
+DESCRIPTION="Ceph distributed filesystem"
+HOMEPAGE="https://ceph.com/"
+
+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"
+SLOT="0"
+
+CPU_FLAGS_X86=(avx2 avx512f pclmul sse{,2,3,4_1,4_2} ssse3)
+
+IUSE="
+	babeltrace +cephfs custom-cflags diskprediction dpdk fuse grafana
+	jemalloc jaeger kafka kerberos ldap lttng +mgr numa pmdk rabbitmq
+	+radosgw rbd-rwl rbd-ssd rdma rgw-lua +ssl spdk +sqlite +system-boost
+	systemd +tcmalloc test uring xfs zbd zfs
+"
+
+IUSE+="$(printf "cpu_flags_x86_%s\n" ${CPU_FLAGS_X86[@]})"
+
+DEPEND="
+	${LUA_DEPS}
+	${PYTHON_DEPS}
+	acct-group/ceph
+	acct-user/ceph
+	virtual/libudev:=
+	app-arch/bzip2:=
+	app-arch/lz4:=
+	app-arch/snappy:=
+	|| ( >=app-arch/snappy-1.1.9-r1 <app-arch/snappy-1.1.9 )
+	app-arch/zstd:=
+	app-shells/bash:0
+	app-misc/jq:=
+	dev-libs/crypto++:=
+	dev-cpp/gflags:=
+	<dev-libs/leveldb-1.23:=[snappy,tcmalloc(-)?]
+	dev-libs/libaio:=
+	dev-libs/libfmt:=
+	dev-libs/libnl:3=
+	dev-libs/libxml2:=
+	dev-libs/libevent:=
+	dev-libs/openssl:=
+	<dev-libs/rocksdb-6.15:=
+	dev-libs/xmlsec:=[openssl]
+	dev-cpp/yaml-cpp:=
+	dev-libs/nss:=
+	dev-libs/protobuf:=
+	net-dns/c-ares:=
+	net-libs/gnutls:=
+	sys-auth/oath-toolkit:=
+	sys-apps/coreutils
+	sys-apps/hwloc:=
+	sys-apps/keyutils:=
+	sys-apps/util-linux:=
+	sys-apps/util-linux
+	sys-libs/libcap-ng:=
+	sys-libs/ncurses:0=
+	sys-libs/zlib:=
+	sys-process/numactl:=
+	virtual/libcrypt:=
+	x11-libs/libpciaccess:=
+	babeltrace? ( dev-util/babeltrace )
+	fuse? ( sys-fs/fuse:3= )
+	jemalloc? ( dev-libs/jemalloc:= )
+	!jemalloc? ( >=dev-util/google-perftools-2.6.1:= )
+	jaeger? ( dev-cpp/nlohmann_json:= )
+	kafka? ( dev-libs/librdkafka:= )
+	kerberos? ( virtual/krb5 )
+	ldap? ( net-nds/openldap:= )
+	lttng? ( dev-util/lttng-ust:= )
+	pmdk? ( dev-libs/pmdk:= )
+	rabbitmq? ( net-libs/rabbitmq-c:= )
+	radosgw? (
+		dev-libs/icu:=
+		dev-libs/expat:=
+		net-misc/curl:=[curl_ssl_openssl]
+	)
+	rbd-rwl? ( dev-libs/pmdk:= )
+	rdma? ( sys-cluster/rdma-core:= )
+	spdk? ( dev-util/cunit )
+	sqlite? ( dev-db/sqlite:= )
+	system-boost? ( >=dev-libs/boost-1.72:=[threads(+),context,python,${PYTHON_USEDEP}] )
+	!system-boost? ( $(python_gen_impl_dep '' 3.8 3.9) )
+	uring? ( sys-libs/liburing:= )
+	xfs? ( sys-fs/xfsprogs:= )
+	zbd? ( sys-block/libzbd:= )
+	zfs? ( sys-fs/zfs:= )
+"
+BDEPEND="
+	amd64? ( dev-lang/nasm )
+	x86? ( dev-lang/yasm )
+	app-arch/cpio
+	>=dev-util/cmake-3.5.0
+	dev-python/cython[${PYTHON_USEDEP}]
+	dev-python/setuptools[${PYTHON_USEDEP}]
+	dev-python/sphinx
+	dev-util/gperf
+	dev-util/ragel
+	dev-util/valgrind
+	sys-apps/coreutils
+	sys-apps/grep
+	sys-apps/sed
+	sys-apps/util-linux
+	sys-apps/which
+	sys-devel/bc
+	sys-devel/patch
+	virtual/pkgconfig
+	jaeger? (
+		sys-devel/bison
+		sys-devel/flex
+	)
+	test? (
+		dev-util/cunit
+		dev-python/coverage[${PYTHON_USEDEP}]
+		dev-python/virtualenv[${PYTHON_USEDEP}]
+		dev-python/requests-mock[${PYTHON_USEDEP}]
+		sys-apps/grep[pcre]
+		sys-fs/btrfs-progs
+	)
+"
+RDEPEND="
+	${DEPEND}
+	app-admin/sudo
+	net-misc/socat
+	sys-apps/gptfdisk
+	sys-apps/nvme-cli
+	>=sys-apps/smartmontools-7.0
+	sys-block/parted
+	sys-fs/cryptsetup
+	sys-fs/lsscsi
+	sys-fs/lvm2[-device-mapper-only(-)]
+	virtual/awk
+	dev-python/bcrypt[${PYTHON_USEDEP}]
+	dev-python/cherrypy[${PYTHON_USEDEP}]
+	dev-python/python-dateutil[${PYTHON_USEDEP}]
+	dev-python/flask[${PYTHON_USEDEP}]
+	dev-python/jinja[${PYTHON_USEDEP}]
+	dev-python/pecan[${PYTHON_USEDEP}]
+	dev-python/prettytable[${PYTHON_USEDEP}]
+	dev-python/pyopenssl[${PYTHON_USEDEP}]
+	dev-python/pyyaml[${PYTHON_USEDEP}]
+	dev-python/requests[${PYTHON_USEDEP}]
+	dev-python/werkzeug[${PYTHON_USEDEP}]
+	mgr? (
+		dev-python/jsonpatch[${PYTHON_USEDEP}]
+		dev-python/more-itertools[${PYTHON_USEDEP}]
+		dev-python/numpy[${PYTHON_USEDEP}]
+		dev-python/pyjwt[${PYTHON_USEDEP}]
+		dev-python/routes[${PYTHON_USEDEP}]
+		diskprediction? (
+			>=dev-python/scipy-1.4.0[${PYTHON_USEDEP}]
+		)
+		sci-libs/scikit-learn[${PYTHON_USEDEP}]
+		dev-python/six[${PYTHON_USEDEP}]
+	)
+"
+# diskprediction needs older scipy not compatible with py38
+# bug #724438
+REQUIRED_USE="
+	${PYTHON_REQUIRED_USE}
+	${LUA_REQUIRED_USE}
+	?? ( jemalloc tcmalloc )
+	jaeger? ( !system-boost )
+	diskprediction? ( mgr )
+	kafka? ( radosgw )
+	mgr? ( cephfs )
+	rabbitmq? ( radosgw )
+	!system-boost? (
+		|| (
+			python_targets_python3_8
+			python_targets_python3_9
+		)
+	)
+"
+
+RESTRICT="
+	!test? ( test )
+"
+
+# tests need root access, and network access
+RESTRICT+="test"
+
+# create a non-debug release
+CMAKE_BUILD_TYPE=RelWithDebInfo
+
+# false positives unless all USE flags are on
+CMAKE_WARN_UNUSED_CLI=no
+
+PATCHES=(
+	"${FILESDIR}/ceph-12.2.0-use-provided-cpu-flag-values.patch"
+	"${FILESDIR}/ceph-14.2.0-cflags.patch"
+	"${FILESDIR}/ceph-12.2.4-boost-build-none-options.patch"
+	"${FILESDIR}/ceph-16.2.2-cflags.patch"
+	"${FILESDIR}/ceph-16.2.8-no-virtualenvs.patch"
+	"${FILESDIR}/ceph-13.2.2-dont-install-sysvinit-script.patch"
+	"${FILESDIR}/ceph-14.2.0-dpdk-cflags.patch"
+	"${FILESDIR}/ceph-14.2.0-cython-0.29.patch"
+	"${FILESDIR}/ceph-16.2.0-rocksdb-cmake.patch"
+	"${FILESDIR}/ceph-15.2.3-spdk-compile.patch"
+	"${FILESDIR}/ceph-16.2.0-spdk-tinfo.patch"
+	"${FILESDIR}/ceph-16.2.0-jaeger-system-boost.patch"
+	"${FILESDIR}/ceph-16.2.0-liburing.patch"
+	"${FILESDIR}/ceph-16.2.2-system-zstd.patch"
+	"${FILESDIR}/ceph-16.2.7-string-includes.patch"
+	"${FILESDIR}/ceph-17.2.0-fuse3.patch"
+)
+
+check-reqs_export_vars() {
+	CHECKREQS_DISK_BUILD="6G"
+
+	if use system-boost; then
+		CHECKREQS_DISK_USR="350M"
+	else
+		CHECKREQS_DISK_USR="510M"
+	fi
+
+	export CHECKREQS_DISK_BUILD CHECKREQS_DISK_USR
+}
+
+pkg_pretend() {
+	check-reqs_export_vars
+	check-reqs_pkg_pretend
+}
+
+pkg_setup() {
+	if ! use system-boost; then
+		python_setup 3.8 3.9
+	else
+		python_setup
+	fi
+	lua_setup
+	check-reqs_export_vars
+	check-reqs_pkg_setup
+}
+
+src_prepare() {
+	cmake_src_prepare
+
+	if use system-boost; then
+		find "${S}" -name '*.cmake' -or -name 'CMakeLists.txt' -print0 \
+			| xargs --null sed -r \
+			-e 's|Boost::|boost_|g' \
+			-e 's|Boost_|boost_|g' \
+			-e 's|[Bb]oost_boost|boost_system|g' \
+			-i || die
+	fi
+
+	if ! use systemd; then
+		find "${S}"/src/ceph-volume/ceph_volume -name '*.py' -print0 \
+			| xargs --null sed \
+			-e '/^from ceph_volume.systemd import systemctl/ d' \
+			-i || die
+	fi
+
+	sed -r -e "s:DESTINATION .+\\):DESTINATION $(get_bashcompdir)\\):" \
+		-i src/bash_completion/CMakeLists.txt || die
+
+	sed  -e "s:objdump -p:$(tc-getOBJDUMP) -p:" -i CMakeLists.txt || die
+
+	if ! use diskprediction; then
+		rm -rf src/pybind/mgr/diskprediction_local || die
+	fi
+
+	# force lua version to use selected version
+	local lua_version
+	lua_version=$(ver_cut 1-2 $(lua_get_version))
+	sed "s:find_package(Lua [0-9][.][0-9] REQUIRED):find_package(Lua ${lua_version} EXACT REQUIRED):" \
+		-i src/CMakeLists.txt
+
+	# remove tests that need root access
+	rm src/test/cli/ceph-authtool/cap*.t || die
+}
+
+ceph_src_configure() {
+	local mycmakeargs=(
+		-DWITH_BABELTRACE:BOOL=$(usex babeltrace)
+		-DWITH_BLUESTORE_PMEM:BOOL=$(usex pmdk)
+		-DWITH_CEPHFS:BOOL=$(usex cephfs)
+		-DWITH_CEPHFS_SHELL:BOOL=$(usex cephfs)
+		-DWITH_DPDK:BOOL=$(usex dpdk)
+		-DWITH_SPDK:BOOL=$(usex spdk)
+		-DWITH_FUSE:BOOL=$(usex fuse)
+		-DWITH_LTTNG:BOOL=$(usex lttng)
+		-DWITH_GSSAPI:BOOL=$(usex kerberos)
+		-DWITH_GRAFANA:BOOL=$(usex grafana)
+		-DWITH_MGR:BOOL=$(usex mgr)
+		-DWITH_MGR_DASHBOARD_FRONTEND:BOOL=OFF
+		-DWITH_OPENLDAP:BOOL=$(usex ldap)
+		-DWITH_PYTHON3:STRING=3
+		-DWITH_RADOSGW:BOOL=$(usex radosgw)
+		-DWITH_RADOSGW_AMQP_ENDPOINT:BOOL=$(usex rabbitmq)
+		-DWITH_RADOSGW_KAFKA_ENDPOINT:BOOL=$(usex kafka)
+		-DWITH_RADOSGW_LUA_PACKAGES:BOOL=$(usex rgw-lua "$(usex radosgw)" "NO")
+		-DWITH_RBD_RWL:BOOL=$(usex rbd-rwl)
+		-DWITH_RBD_SSD_CACHE:BOOL=$(usex rbd-ssd)
+		-DWITH_SYSTEMD:BOOL=$(usex systemd)
+		-DWITH_TESTS:BOOL=$(usex test)
+		-DWITH_LIBURING:BOOL=$(usex uring)
+		-DWITH_SYSTEM_LIBURING:BOOL=$(usex uring)
+		-DWITH_LIBCEPHSQLITE:BOOL=$(usex sqlite)
+		-DWITH_XFS:BOOL=$(usex xfs)
+		-DWITH_ZBD:BOOL=$(usex zbd)
+		-DWITH_ZFS:BOOL=$(usex zfs)
+		-DENABLE_SHARED:BOOL=ON
+		-DALLOCATOR:STRING=$(usex tcmalloc 'tcmalloc' "$(usex jemalloc 'jemalloc' 'libc')")
+		-DWITH_SYSTEM_PMDK:BOOL=$(usex pmdk 'YES' "$(usex rbd-rwl)")
+		-DWITH_SYSTEM_BOOST:BOOL=$(usex system-boost)
+		-DWITH_SYSTEM_ROCKSDB:BOOL=ON
+		-DWITH_RDMA:BOOL=$(usex rdma)
+		-DCMAKE_INSTALL_DOCDIR:PATH="${EPREFIX}/usr/share/doc/${PN}-${PVR}"
+		-DCMAKE_INSTALL_SYSCONFDIR:PATH="${EPREFIX}/etc"
+		-Wno-dev
+	)
+
+	# this breaks when re-configuring for python impl
+	if [[ ${EBUILD_PHASE} == configure ]]; then
+		mycmakeargs+=(
+			-DWITH_JAEGER:BOOL=$(usex jaeger)
+		)
+	else
+		mycmakeargs+=(
+			-DWITH_RADOSGW_SELECT_PARQUET:BOOL=OFF
+		)
+	fi
+
+	# conditionally used cmake args
+	use test && mycmakearts+=( -DWITH_SYSTEM_GTEST:BOOL=$(usex test) )
+	use systemd && mycmakeargs+=( -DCMAKE_INSTALL_SYSTEMD_SERVICEDIR:PATH=$(systemd_get_systemunitdir) )
+
+	if use amd64 || use x86; then
+		local flag
+		for flag in "${CPU_FLAGS_X86[@]}"; do
+			case "${flag}" in
+				avx*)
+					local var=${flag%f}
+					mycmakeargs+=(
+						"-DHAVE_NASM_X64_${var^^}:BOOL=$(usex cpu_flags_x86_${flag})"
+					)
+				;;
+				*) mycmakeargs+=(
+						"-DHAVE_INTEL_${flag^^}:BOOL=$(usex cpu_flags_x86_${flag})"
+					);;
+			esac
+		done
+	fi
+
+	# needed for >=glibc-2.32
+	has_version '>=sys-libs/glibc-2.32' && mycmakeargs+=( -DWITH_REENTRANT_STRSIGNAL:BOOL=ON )
+
+	rm -f "${BUILD_DIR:-${S}}/CMakeCache.txt" \
+		|| die "failed to remove cmake cache"
+
+	cmake_src_configure
+
+	# bug #630232
+	sed -i "s:\"${T//:\\:}/${EPYTHON}/bin/python\":\"${PYTHON}\":" \
+		"${BUILD_DIR:-${S}}"/include/acconfig.h \
+		|| die "sed failed"
+}
+
+src_configure() {
+	use custom-cflags || strip-flags
+	ceph_src_configure
+}
+
+src_compile() {
+	cmake_build VERBOSE=1 all
+
+	# we have to do this here to prevent from building everything multiple times
+	python_copy_sources
+	python_foreach_impl python_compile
+}
+
+python_compile() {
+	local CMAKE_USE_DIR="${S}"
+	ceph_src_configure
+
+	pushd "${BUILD_DIR}/src/pybind" >/dev/null || die
+	cmake_build VERBOSE=1 clean
+	cmake_build VERBOSE=1 all
+
+	# python modules are only compiled with "make install" so we need to do this to
+	# prevent doing a bunch of compilation in src_install
+	DESTDIR="${T}" cmake_build VERBOSE=1 install
+	popd >/dev/null || die
+}
+
+src_install() {
+	python_foreach_impl python_install
+
+	python_setup
+	cmake_src_install
+
+	find "${ED}" -name '*.la' -type f -delete || die
+
+	exeinto /usr/$(get_libdir)/ceph
+	newexe "${BUILD_DIR}/bin/init-ceph" init-ceph
+
+	insinto /etc/logrotate.d/
+	newins "${FILESDIR}"/ceph.logrotate-r2 ${PN}
+
+	keepdir /var/lib/${PN}{,/tmp} /var/log/${PN}/stat
+
+	fowners -R ceph:ceph /var/log/ceph
+
+	newinitd "${FILESDIR}/rbdmap.initd-r1" rbdmap
+	newinitd "${FILESDIR}/${PN}.initd-r12" ${PN}
+	newconfd "${FILESDIR}/${PN}.confd-r5" ${PN}
+
+	insinto /etc/sudoers.d
+	doins sudoers.d/*
+
+	insinto /etc/sysctl.d
+	newins "${FILESDIR}"/sysctld 90-${PN}.conf
+
+	use tcmalloc && newenvd "${FILESDIR}"/envd-tcmalloc 99${PN}-tcmalloc
+
+	# units aren't installed by the build system unless systemd is enabled
+	# so no point installing these with the USE flag disabled
+	if use systemd; then
+		systemd_install_serviced "${FILESDIR}/ceph-mds_at.service.conf" "ceph-mds@.service"
+		systemd_install_serviced "${FILESDIR}/ceph-osd_at.service.conf" "ceph-osd@.service"
+	fi
+
+	udev_dorules udev/*.rules
+	newtmpfiles "${FILESDIR}"/ceph-tmpfilesd ${PN}.conf
+
+	readme.gentoo_create_doc
+
+	# bug #630232
+	sed -i -r "s:${T//:/\\:}/${EPYTHON}:/usr:" "${ED}"/usr/bin/ceph{,-crash} \
+		|| die "sed failed"
+
+	python_fix_shebang "${ED}"/usr/{,s}bin/
+
+	# python_fix_shebang apparently is not idempotent
+	local shebang_regex='(/usr/lib/python-exec/python[0-9]\.[0-9]/python)[0-9]\.[0-9]'
+	grep -r -E -l --null "${shebang_regex}" "${ED}"/usr/{s,}bin/ \
+		| xargs --null --no-run-if-empty -- sed -i -r  "s:${shebang_regex}:\1:" || die
+
+	local -a rados_classes=( "${ED}/usr/$(get_libdir)/rados-classes"/* )
+	dostrip -x "${rados_classes[@]#${ED}}"
+}
+
+python_install() {
+	local CMAKE_USE_DIR="${S}"
+	pushd "${BUILD_DIR}/src/pybind" >/dev/null || die
+	DESTDIR="${ED}" cmake_build VERBOSE=1 install
+	popd >/dev/null || die
+
+	python_optimize
+}
+
+pkg_postinst() {
+	readme.gentoo_print_elog
+	tmpfiles_process ${PN}.conf
+	udev_reload
+}

diff --git a/sys-cluster/ceph/files/ceph-16.2.8-no-virtualenvs.patch b/sys-cluster/ceph/files/ceph-16.2.8-no-virtualenvs.patch
new file mode 100644
index 000000000000..79aee882c2a4
--- /dev/null
+++ b/sys-cluster/ceph/files/ceph-16.2.8-no-virtualenvs.patch
@@ -0,0 +1,82 @@
+diff --git a/cmake/modules/AddCephTest.cmake b/cmake/modules/AddCephTest.cmake
+index cd661be16c9..7183c2f2138 100644
+--- a/cmake/modules/AddCephTest.cmake
++++ b/cmake/modules/AddCephTest.cmake
+@@ -55,7 +55,6 @@ endfunction()
+ 
+ function(add_tox_test name)
+   set(test_name run-tox-${name})
+-  set(venv_path ${CEPH_BUILD_VIRTUALENV}/${name}-virtualenv)
+   cmake_parse_arguments(TOXTEST "" "TOX_PATH" "TOX_ENVS" ${ARGN})
+   if(DEFINED TOXTEST_TOX_PATH)
+     set(tox_path ${TOXTEST_TOX_PATH})
+@@ -68,14 +67,6 @@ function(add_tox_test name)
+     list(APPEND tox_envs py3)
+   endif()
+   string(REPLACE ";" "," tox_envs "${tox_envs}")
+-  add_custom_command(
+-    OUTPUT ${venv_path}/bin/activate
+-    COMMAND ${CMAKE_SOURCE_DIR}/src/tools/setup-virtualenv.sh --python="${Python3_EXECUTABLE}" ${venv_path}
+-    WORKING_DIRECTORY ${tox_path}
+-    COMMENT "preparing venv for ${name}")
+-  add_custom_target(${name}-venv
+-    DEPENDS ${venv_path}/bin/activate)
+-  add_dependencies(tests ${name}-venv)
+   add_test(
+     NAME ${test_name}
+     COMMAND ${CMAKE_SOURCE_DIR}/src/script/run_tox.sh
+diff --git a/src/ceph-volume/CMakeLists.txt b/src/ceph-volume/CMakeLists.txt
+index 9166553dc73..9a6c87595b9 100644
+--- a/src/ceph-volume/CMakeLists.txt
++++ b/src/ceph-volume/CMakeLists.txt
+@@ -8,22 +8,6 @@ if(FREEBSD)
+   add_subdirectory(plugin/zfs)
+ endif()
+ 
+-# Required for running ceph-volume inventory in a vstart environment
+-set(CEPH_VOLUME_VIRTUALENV ${CEPH_BUILD_VIRTUALENV}/ceph-volume-virtualenv)
+-
+-add_custom_command(
+-  OUTPUT ${CEPH_VOLUME_VIRTUALENV}/bin/python
+-  COMMAND ${CMAKE_SOURCE_DIR}/src/tools/setup-virtualenv.sh --python=${Python3_EXECUTABLE} ${CEPH_VOLUME_VIRTUALENV}
+-  WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}/src/ceph-volume
+-  COMMENT "ceph-volume venv is being created")
+-
+-add_custom_command(
+-  OUTPUT ${CEPH_VOLUME_VIRTUALENV}/bin/ceph-volume
+-  DEPENDS ${CEPH_VOLUME_VIRTUALENV}/bin/python
+-  COMMAND . ${CEPH_VOLUME_VIRTUALENV}/bin/activate && ${CEPH_VOLUME_VIRTUALENV}/bin/python setup.py develop && deactivate
+-  WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}/src/ceph-volume
+-  COMMENT "${CMAKE_SOURCE_DIR}/src/ceph-volume")
+-
+ add_custom_target(ceph-volume-venv-setup
+   DEPENDS ${CEPH_VOLUME_VIRTUALENV}/bin/ceph-volume)
+ 
+diff --git a/src/pybind/mgr/dashboard/CMakeLists.txt b/src/pybind/mgr/dashboard/CMakeLists.txt
+index 0c8d46d65ee..67a618f95aa 100644
+--- a/src/pybind/mgr/dashboard/CMakeLists.txt
++++ b/src/pybind/mgr/dashboard/CMakeLists.txt
+@@ -5,9 +5,6 @@ function(add_npm_command)
+   set(multi_kw COMMAND DEPENDS)
+   cmake_parse_arguments(NC "${options}" "${single_kw}" "${multi_kw}" ${ARGN})
+   string(REPLACE ";" " " command "${NC_COMMAND}")
+-  if(NC_NODEENV)
+-    string(REGEX REPLACE "^(.*(npm|npx) .*)$" ". ${mgr-dashboard-nodeenv-dir}/bin/activate && \\1 && deactivate" command ${command})
+-  endif()
+   string(REPLACE " " ";" command "${command}")
+   add_custom_command(
+     OUTPUT "${NC_OUTPUT}"
+@@ -51,11 +48,8 @@ else(WITH_SYSTEM_NPM)
+     set(node_mirror_opt "--mirror=$ENV{NODE_MIRROR}")
+   endif()
+   add_custom_command(
+-    OUTPUT "${mgr-dashboard-nodeenv-dir}/bin/npm"
+-    COMMAND ${CMAKE_SOURCE_DIR}/src/tools/setup-virtualenv.sh --python=${MGR_PYTHON_EXECUTABLE} ${mgr-dashboard-nodeenv-dir}
+-    COMMAND ${mgr-dashboard-nodeenv-dir}/bin/pip install nodeenv
+-    COMMAND ${mgr-dashboard-nodeenv-dir}/bin/nodeenv --verbose ${node_mirror_opt} -p --node=12.18.2
+-    COMMAND mkdir ${mgr-dashboard-nodeenv-dir}/.npm
++    OUTPUT "/bin/npm"
++    COMMAND /bin/nodeenv ${node_mirror_opt} -p --node=12.18.2
+     WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
+     COMMENT "dashboard nodeenv is being installed"
+     )


^ permalink raw reply related	[flat|nested] 68+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-cluster/ceph/, sys-cluster/ceph/files/
@ 2022-05-13 10:59 Michał Górny
  0 siblings, 0 replies; 68+ messages in thread
From: Michał Górny @ 2022-05-13 10:59 UTC (permalink / raw
  To: gentoo-commits

commit:     f85541d10c3ae4ea7feacc2008a278e4dee25044
Author:     Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Fri May 13 10:58:30 2022 +0000
Commit:     Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Fri May 13 10:58:30 2022 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=f85541d1

sys-cluster/ceph: Remove old

Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>

 sys-cluster/ceph/Manifest                          |   1 -
 sys-cluster/ceph/ceph-14.2.22-r1.ebuild            | 394 ---------------------
 .../files/ceph-14.2.0-mgr-python-version.patch     |  17 -
 .../ceph/files/ceph-14.2.11-systemd-unit-fix.patch |  27 --
 .../files/ceph-14.2.22-build-without-mgr.patch     |  32 --
 sys-cluster/ceph/files/ceph-14.2.22-cflags.patch   |  25 --
 .../ceph/files/ceph-14.2.22-no-virtualenvs.patch   |  39 --
 .../ceph/files/ceph-14.2.22-snappy-uint32.patch    |  13 -
 .../files/ceph-14.2.3-dpdk-compile-fix-1.patch     | 111 ------
 .../ceph/files/ceph-14.2.4-python-executable.patch |  29 --
 .../files/ceph-14.2.4-undefined-behaviour.patch    |  76 ----
 11 files changed, 764 deletions(-)

diff --git a/sys-cluster/ceph/Manifest b/sys-cluster/ceph/Manifest
index 884ad263bca6..325977641159 100644
--- a/sys-cluster/ceph/Manifest
+++ b/sys-cluster/ceph/Manifest
@@ -1,4 +1,3 @@
-DIST ceph-14.2.22.tar.gz 130597047 BLAKE2B 58bbb3243de076ed1d25dfd7bd75717c50ad15d16690dcbd1511d1b506477845efc3ff7fbe713cf18fb8cfcc8c16707ad2a0f30159e3198ff82e57fbd2eb3cf2 SHA512 1c66661e1a39fa9151e95e33c390b810ffe269465d8785e2197cc15b8d83bd2edde77de48a8abd71a4da68cd5830ff14bcdf6b98fd17edabe85caeb1eca018d3
 DIST ceph-15.2.16.tar.gz 148628915 BLAKE2B 4f624078027c706428eae3eddd5b5479efe3b4442c19a4e6b6cdf8d3839cf56e2863b18249dc3c5079a7e25f60796bfec3202ffd695537587654f5e2f820caaa SHA512 532b8a5073e157fe9ed552b26976faeb64dc29b79a249910c0982134ad5f945d4f57d8bf451adf63487b6d285c6e4bd5c39f0e3fcd449230d6fb3087539f8c3b
 DIST ceph-16.2.7.tar.gz 156621262 BLAKE2B 3c79cb1586e71927df4578fe7f3a13f4ab257a5e145b6bf76d942292cbca7bf32583350373f3d816f6d8f8700ee0f98a14f350c823b0eb89ffd7735acee7de63 SHA512 eab047e646970d444acf1064d98237b8b1677fb16b5e771082d55880f7bc6d8bdb278c2fe514c82ae12c438878d9ecea29139fa6b8d890f9f737138f10fb740c
 DIST ceph-17.2.0.tar.gz 168742006 BLAKE2B 15272da3471722936198f62b5ef7537d29bd944b35ef1552e87cf0f0f400a8be5fd1fa873494eb17ca71df9360d7ffa4fa20a6f1b1ba819520b180770a4e6299 SHA512 70b96e709f153f16069bec8346ea73812d699eaab91a012351d02addb3fd176b84fce32c3dae84fdf91d0ffe49f2bb258410b47caeee81d81a672b4dbd04cc7e

diff --git a/sys-cluster/ceph/ceph-14.2.22-r1.ebuild b/sys-cluster/ceph/ceph-14.2.22-r1.ebuild
deleted file mode 100644
index 860ccfb14768..000000000000
--- a/sys-cluster/ceph/ceph-14.2.22-r1.ebuild
+++ /dev/null
@@ -1,394 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-PYTHON_COMPAT=( python3_{7,8} )
-CMAKE_MAKEFILE_GENERATOR=emake
-
-DISTUTILS_OPTIONAL=1
-
-inherit check-reqs bash-completion-r1 cmake distutils-r1 flag-o-matic \
-		python-r1 udev readme.gentoo-r1 toolchain-funcs systemd tmpfiles
-
-if [[ ${PV} == *9999* ]]; then
-	inherit git-r3
-	EGIT_REPO_URI="https://github.com/ceph/ceph.git"
-	SRC_URI=""
-else
-	SRC_URI="https://download.ceph.com/tarballs/${P}.tar.gz"
-	KEYWORDS="~amd64 ~ppc64"
-fi
-
-DESCRIPTION="Ceph distributed filesystem"
-HOMEPAGE="https://ceph.com/"
-
-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"
-SLOT="0"
-
-CPU_FLAGS_X86=(sse{,2,3,4_1,4_2} ssse3)
-
-IUSE="babeltrace +cephfs custom-cflags diskprediction dpdk fuse grafana jemalloc
-	kafka kerberos ldap lttng +mgr numa rabbitmq +radosgw +ssl spdk system-boost
-	systemd +tcmalloc test xfs zfs"
-IUSE+=" $(printf "cpu_flags_x86_%s\n" ${CPU_FLAGS_X86[@]})"
-
-DEPEND="
-	acct-group/ceph
-	acct-user/ceph
-	virtual/libudev:=
-	app-arch/bzip2:=
-	app-arch/lz4:=
-	app-arch/snappy:=
-	app-arch/zstd:=
-	app-shells/bash:0
-	app-misc/jq:=
-	dev-libs/crypto++:=
-	<dev-libs/leveldb-1.21:=[snappy,tcmalloc(-)?]
-	dev-libs/libaio:=
-	dev-libs/libnl:3=
-	dev-libs/libxml2:=
-	<dev-libs/rocksdb-6.15:=
-	dev-libs/xmlsec:=[openssl]
-	dev-cpp/yaml-cpp:=
-	dev-libs/nss:=
-	dev-libs/protobuf:=
-	net-dns/c-ares:=
-	net-libs/gnutls:=
-	sys-auth/oath-toolkit:=
-	sys-apps/coreutils
-	sys-apps/grep
-	sys-apps/hwloc:=
-	sys-apps/keyutils:=
-	sys-apps/util-linux:=
-	sys-apps/sed
-	sys-apps/util-linux
-	sys-libs/libcap-ng:=
-	sys-libs/ncurses:0=
-	sys-libs/zlib:=
-	sys-process/numactl:=
-	x11-libs/libpciaccess:=
-	virtual/libcrypt:=
-	babeltrace? ( dev-util/babeltrace )
-	fuse? ( sys-fs/fuse:0= )
-	jemalloc? ( dev-libs/jemalloc:= )
-	!jemalloc? ( >=dev-util/google-perftools-2.6.1:= )
-	kafka? ( dev-libs/librdkafka:= )
-	kerberos? ( virtual/krb5 )
-	ldap? ( net-nds/openldap:= )
-	lttng? ( dev-util/lttng-ust:= )
-	rabbitmq? ( net-libs/rabbitmq-c:= )
-	radosgw? (
-		dev-libs/expat:=
-		dev-libs/openssl:=
-		net-misc/curl:=[curl_ssl_openssl]
-	)
-	ssl? ( dev-libs/openssl:= )
-	system-boost? ( dev-libs/boost:=[threads(+),context,python,${PYTHON_USEDEP}] )
-	xfs? ( sys-fs/xfsprogs:= )
-	zfs? ( sys-fs/zfs:= )
-"
-BDEPEND="
-	${PYTHON_DEPS}
-	amd64? ( dev-lang/yasm )
-	x86? ( dev-lang/yasm )
-	app-arch/cpio
-	>=dev-util/cmake-3.5.0
-	dev-python/cython[${PYTHON_USEDEP}]
-	dev-python/setuptools[${PYTHON_USEDEP}]
-	dev-python/sphinx
-	dev-util/cunit
-	dev-util/gperf
-	dev-util/ragel
-	dev-util/valgrind
-	sys-apps/coreutils
-	sys-apps/grep
-	sys-apps/sed
-	sys-apps/which
-	sys-devel/bc
-	sys-devel/patch
-	virtual/pkgconfig
-	test? (
-		dev-python/coverage[${PYTHON_USEDEP}]
-		dev-python/virtualenv[${PYTHON_USEDEP}]
-		dev-python/requests-mock[${PYTHON_USEDEP}]
-		sys-apps/grep[pcre]
-		sys-fs/btrfs-progs
-	)
-"
-RDEPEND="${DEPEND}
-	${PYTHON_DEPS}
-	app-admin/sudo
-	net-misc/socat
-	sys-apps/gptfdisk
-	>=sys-apps/smartmontools-7.0
-	sys-block/parted
-	sys-fs/cryptsetup
-	sys-fs/lsscsi
-	sys-fs/lvm2[-device-mapper-only(-)]
-	virtual/awk
-	dev-python/bcrypt[${PYTHON_USEDEP}]
-	dev-python/cherrypy[${PYTHON_USEDEP}]
-	dev-python/flask[${PYTHON_USEDEP}]
-	dev-python/jinja[${PYTHON_USEDEP}]
-	dev-python/pecan[${PYTHON_USEDEP}]
-	dev-python/prettytable[${PYTHON_USEDEP}]
-	dev-python/pyopenssl[${PYTHON_USEDEP}]
-	dev-python/requests[${PYTHON_USEDEP}]
-	dev-python/setuptools[${PYTHON_USEDEP}]
-	dev-python/werkzeug[${PYTHON_USEDEP}]
-	mgr? (
-		dev-python/more-itertools[${PYTHON_USEDEP}]
-		dev-python/numpy[${PYTHON_USEDEP}]
-		<dev-python/pyjwt-2.0[${PYTHON_USEDEP}]
-		dev-python/pyyaml[${PYTHON_USEDEP}]
-		dev-python/routes[${PYTHON_USEDEP}]
-		sci-libs/scikit-learn[${PYTHON_USEDEP}]
-		dev-python/six[${PYTHON_USEDEP}]
-	)
-"
-# diskprediction needs older scipy not compatible with py38
-# bug #724438
-REQUIRED_USE="
-	${PYTHON_REQUIRED_USE}
-	?? ( jemalloc tcmalloc )
-	diskprediction? ( mgr !python_targets_python3_8 )
-	kafka? ( radosgw )
-	mgr? ( cephfs )
-	rabbitmq? ( radosgw )
-"
-RESTRICT="!test? ( test )"
-
-# the tests need root access
-RESTRICT="test? ( userpriv )"
-
-# distribution tarball does not include everything needed for tests
-RESTRICT+=" test"
-
-# create a non-debug release
-CMAKE_BUILD_TYPE=RelWithDebInfo
-
-# false positives unless all USE flags are on
-CMAKE_WARN_UNUSED_CLI=no
-
-PATCHES=(
-	"${FILESDIR}/ceph-12.2.0-use-provided-cpu-flag-values.patch"
-	"${FILESDIR}/ceph-14.2.0-cflags.patch"
-	"${FILESDIR}/ceph-12.2.4-boost-build-none-options.patch"
-	"${FILESDIR}/ceph-14.2.22-cflags.patch"
-	"${FILESDIR}/ceph-14.2.0-mgr-python-version.patch"
-	"${FILESDIR}/ceph-14.2.22-no-virtualenvs.patch"
-	"${FILESDIR}/ceph-13.2.2-dont-install-sysvinit-script.patch"
-	"${FILESDIR}/ceph-14.2.0-dpdk-cflags.patch"
-	"${FILESDIR}/ceph-14.2.0-cython-0.29.patch"
-	"${FILESDIR}/ceph-14.2.3-dpdk-compile-fix-1.patch"
-	"${FILESDIR}/ceph-14.2.4-python-executable.patch"
-	"${FILESDIR}/ceph-14.2.4-undefined-behaviour.patch"
-	"${FILESDIR}/ceph-14.2.22-build-without-mgr.patch"
-	"${FILESDIR}/ceph-14.2.11-systemd-unit-fix.patch"
-	"${FILESDIR}/ceph-15.2.9-dont-compile-isal_compress-if-don-t-have-SSE4_1.patch"
-	"${FILESDIR}/ceph-14.2.22-snappy-uint32.patch"
-)
-
-check-reqs_export_vars() {
-	CHECKREQS_DISK_BUILD="5200M"
-	CHECKREQS_DISK_USR="510M"
-
-	export CHECKREQS_DISK_BUILD CHECKREQS_DISK_USR
-}
-
-pkg_pretend() {
-	check-reqs_export_vars
-	check-reqs_pkg_pretend
-}
-
-pkg_setup() {
-	python_setup
-	check-reqs_export_vars
-	check-reqs_pkg_setup
-}
-
-src_prepare() {
-	cmake_src_prepare
-
-	if use system-boost; then
-		find "${S}" -name '*.cmake' -or -name 'CMakeLists.txt' -print0 \
-			| xargs --null sed -r \
-			-e 's|Boost::|boost_|g' \
-			-e 's|Boost_|boost_|g' \
-			-e 's|[Bb]oost_boost|boost_system|g' -i || die
-	fi
-
-	sed -r -e "s:DESTINATION .+\\):DESTINATION $(get_bashcompdir)\\):" \
-		-i src/bash_completion/CMakeLists.txt || die
-
-	sed  -e "s:objdump -p:$(tc-getOBJDUMP) -p:" -i CMakeLists.txt || die
-
-	if ! use diskprediction; then
-		rm -rf src/pybind/mgr/diskprediction_local || die
-	fi
-
-	# remove tests that need root access
-	rm src/test/cli/ceph-authtool/cap*.t || die
-}
-
-ceph_src_configure() {
-	local flag
-	local mycmakeargs=(
-		-DWITH_BABELTRACE=$(usex babeltrace)
-		-DWITH_CEPHFS=$(usex cephfs)
-		-DWITH_CEPHFS_SHELL=$(usex cephfs)
-		-DWITH_DPDK=$(usex dpdk)
-		-DWITH_SPDK=$(usex spdk)
-		-DWITH_FUSE=$(usex fuse)
-		-DWITH_LTTNG=$(usex lttng)
-		-DWITH_GSSAPI=$(usex kerberos)
-		-DWITH_GRAFANA=$(usex grafana)
-		-DWITH_MGR=$(usex mgr)
-		-DWITH_MGR_DASHBOARD_FRONTEND=OFF
-		-DWITH_NUMA=$(usex numa)
-		-DWITH_OPENLDAP=$(usex ldap)
-		-DWITH_PYTHON3=3
-		-DWITH_RADOSGW=$(usex radosgw)
-		-DWITH_RADOSGW_AMQP_ENDPOINT=$(usex rabbitmq)
-		-DWITH_RADOSGW_KAFKA_ENDPOINT=$(usex kafka)
-		-DWITH_SSL=$(usex ssl)
-		-DWITH_SYSTEMD=$(usex systemd)
-		-DWITH_TESTS=$(usex test)
-		-DWITH_XFS=$(usex xfs)
-		-DWITH_ZFS=$(usex zfs)
-		-DENABLE_SHARED="ON"
-		-DALLOCATOR=$(usex tcmalloc 'tcmalloc' "$(usex jemalloc 'jemalloc' 'libc')")
-		-DWITH_SYSTEM_BOOST=$(usex system-boost)
-		-DBOOST_J=$(makeopts_jobs)
-		-DWITH_SYSTEM_ROCKSDB=ON
-		-DWITH_RDMA=OFF
-		-DWITH_TBB=OFF
-		-DSYSTEMD_UNITDIR=$(systemd_get_systemunitdir)
-		-DCMAKE_INSTALL_SYSTEMD_SERVICEDIR=$(systemd_get_systemunitdir)
-		-DEPYTHON_VERSION="${EPYTHON#python}"
-		-DCMAKE_INSTALL_DOCDIR="${EPREFIX}/usr/share/doc/${PN}-${PVR}"
-		-DCMAKE_INSTALL_SYSCONFDIR="${EPREFIX}/etc"
-		-Wno-dev
-	)
-	if use amd64 || use x86; then
-		for flag in ${CPU_FLAGS_X86[@]}; do
-			mycmakeargs+=("$(usex cpu_flags_x86_${flag} "-DHAVE_INTEL_${flag^^}=1")")
-		done
-	fi
-
-	# needed for >=glibc-2.32
-	has_version '>=sys-libs/glibc-2.32' && mycmakeargs+=(-DWITH_REENTRANT_STRSIGNAL:BOOL=ON)
-
-	rm -f "${BUILD_DIR:-${S}}/CMakeCache.txt" \
-		|| die "failed to remove cmake cache"
-
-	cmake_src_configure
-
-	# bug #630232
-	sed -i "s:\"${T//:\\:}/${EPYTHON}/bin/python\":\"${PYTHON}\":" \
-		"${BUILD_DIR:-${S}}"/include/acconfig.h \
-		|| die "sed failed"
-}
-
-src_configure() {
-	use custom-cflags || strip-flags
-	ceph_src_configure
-}
-
-python_compile() {
-	local CMAKE_USE_DIR="${S}"
-	ceph_src_configure
-
-	pushd "${BUILD_DIR}/src/pybind" >/dev/null || die
-	emake VERBOSE=1 clean
-	emake VERBOSE=1 all
-
-	# python modules are only compiled with "make install" so we need to do this to
-	# prevent doing a bunch of compilation in src_install
-	DESTDIR="${T}" emake VERBOSE=1 install
-	popd >/dev/null || die
-}
-
-src_compile() {
-	cmake_build VERBOSE=1 all
-
-	# we have to do this here to prevent from building everything multiple times
-	python_copy_sources
-	python_foreach_impl python_compile
-}
-
-src_test() {
-	make check || die "make check failed"
-}
-
-python_install() {
-	local CMAKE_USE_DIR="${S}"
-	pushd "${BUILD_DIR}/src/pybind" >/dev/null || die
-	DESTDIR="${ED}" emake VERBOSE=1 install
-	popd >/dev/null || die
-
-	python_optimize
-}
-
-src_install() {
-	cmake_src_install
-	python_foreach_impl python_install
-
-	find "${ED}" -name '*.la' -type f -delete || die
-
-	exeinto /usr/$(get_libdir)/ceph
-	newexe "${BUILD_DIR}/bin/init-ceph" init-ceph
-
-	insinto /etc/logrotate.d/
-	newins "${FILESDIR}"/ceph.logrotate-r2 ${PN}
-
-	keepdir /var/lib/${PN}{,/tmp} /var/log/${PN}/stat
-
-	fowners -R ceph:ceph /var/log/ceph
-
-	newinitd "${FILESDIR}/rbdmap.initd" rbdmap
-	newinitd "${FILESDIR}/${PN}.initd-r12" ${PN}
-	newconfd "${FILESDIR}/${PN}.confd-r5" ${PN}
-
-	insinto /etc/sysctl.d
-	newins "${FILESDIR}"/sysctld 90-${PN}.conf
-
-	use tcmalloc && newenvd "${FILESDIR}"/envd-tcmalloc 99${PN}-tcmalloc
-
-	# units aren't installed by the build system unless systemd is enabled
-	# so no point installing these with the USE flag disabled
-	if use systemd; then
-		systemd_install_serviced "${FILESDIR}/ceph-mds_at.service.conf" \
-			"ceph-mds@.service"
-
-		systemd_install_serviced "${FILESDIR}/ceph-osd_at.service.conf" \
-			"ceph-osd@.service"
-
-	fi
-
-	udev_dorules udev/*.rules
-	newtmpfiles "${FILESDIR}"/ceph-tmpfilesd ${PN}.conf
-
-	readme.gentoo_create_doc
-
-	python_setup
-
-	# bug #630232
-	sed -i -r "s:${T//:/\\:}/${EPYTHON}:/usr:" "${ED}"/usr/bin/ceph{,-crash} \
-		|| die "sed failed"
-
-	python_fix_shebang "${ED}"/usr/{,s}bin/
-
-	# python_fix_shebang apparently is not idempotent
-	local shebang_regex='(/usr/lib/python-exec/python[0-9]\.[0-9]/python)[0-9]\.[0-9]'
-	grep -r -E -l --null "${shebang_regex}" "${ED}"/usr/{s,}bin/ \
-		| xargs --null --no-run-if-empty -- sed -i -r  "s:${shebang_regex}:\1:" || die
-
-	local -a rados_classes=( "${ED}/usr/$(get_libdir)/rados-classes"/* )
-	dostrip -x "${rados_classes[@]#${ED}}"
-}
-
-pkg_postinst() {
-	readme.gentoo_print_elog
-	tmpfiles_process ${PN}.conf
-}

diff --git a/sys-cluster/ceph/files/ceph-14.2.0-mgr-python-version.patch b/sys-cluster/ceph/files/ceph-14.2.0-mgr-python-version.patch
deleted file mode 100644
index e4502a608ec2..000000000000
--- a/sys-cluster/ceph/files/ceph-14.2.0-mgr-python-version.patch
+++ /dev/null
@@ -1,17 +0,0 @@
-diff --git a/src/pybind/CMakeLists.txt b/src/pybind/CMakeLists.txt
-index 664543172a..e74d73c084 100644
---- a/src/pybind/CMakeLists.txt
-+++ b/src/pybind/CMakeLists.txt
-@@ -62,12 +62,6 @@ foreach(python_version ${py_vers})
- endforeach()
- 
- if(WITH_MGR)
--  if(NOT WITH_PYTHON2 AND MGR_PYTHON_VERSION_MAJOR EQUAL 2)
--    message(FATAL_ERROR "mgr plugins require python2 binding")
--  elseif(NOT WITH_PYTHON3 AND MGR_PYTHON_VERSION_MAJOR EQUAL 3)
--    message(FATAL_ERROR "mgr plugins require python3 binding")
--  endif()
--
-   if(USE_OPENSSL)
-     execute_process(
-       COMMAND ${PYTHON${PYTHON_VERSION}_EXECUTABLE} -c "import ssl; print('.'.join(map(str,ssl.OPENSSL_VERSION_INFO[0:3])))"

diff --git a/sys-cluster/ceph/files/ceph-14.2.11-systemd-unit-fix.patch b/sys-cluster/ceph/files/ceph-14.2.11-systemd-unit-fix.patch
deleted file mode 100644
index 7309fea029e1..000000000000
--- a/sys-cluster/ceph/files/ceph-14.2.11-systemd-unit-fix.patch
+++ /dev/null
@@ -1,27 +0,0 @@
-From bd8b8540f6b67a25585ca9cf140d6de760bc2a43 Mon Sep 17 00:00:00 2001
-From: Jan Fajerski <jfajerski@suse.com>
-Date: Fri, 12 Jun 2020 09:27:36 +0200
-Subject: [PATCH] systemd/ceph-osd: ceph-osd-prestart.sh now lives in
- /usr/libexec
-
-Fixes: https://tracker.ceph.com/issues/45984
-Fixes: ed6552d5067c9f1d34c426f9ae18b0c37f2a9d29
-
-Signed-off-by: Jan Fajerski <jfajerski@suse.com>
----
- systemd/ceph-osd@.service.in | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/systemd/ceph-osd@.service.in b/systemd/ceph-osd@.service.in
-index a0067d347220..4a2254e99478 100644
---- a/systemd/ceph-osd@.service.in
-+++ b/systemd/ceph-osd@.service.in
-@@ -9,7 +9,7 @@ Environment=CLUSTER=ceph
- EnvironmentFile=-@SYSTEMD_ENV_FILE@
- Environment=CLUSTER=ceph
- ExecStart=/usr/bin/ceph-osd -f --cluster ${CLUSTER} --id %i --setuser ceph --setgroup ceph
--ExecStartPre=/usr/lib/ceph/ceph-osd-prestart.sh --cluster ${CLUSTER} --id %i
-+ExecStartPre=@CMAKE_INSTALL_FULL_LIBEXECDIR@/ceph/ceph-osd-prestart.sh --cluster ${CLUSTER} --id %i
- ExecReload=/bin/kill -HUP $MAINPID
- LockPersonality=true
- MemoryDenyWriteExecute=true

diff --git a/sys-cluster/ceph/files/ceph-14.2.22-build-without-mgr.patch b/sys-cluster/ceph/files/ceph-14.2.22-build-without-mgr.patch
deleted file mode 100644
index f3ba34cc165c..000000000000
--- a/sys-cluster/ceph/files/ceph-14.2.22-build-without-mgr.patch
+++ /dev/null
@@ -1,32 +0,0 @@
-diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
-index ed4bbc75d44..5f5e72918d2 100644
---- a/src/CMakeLists.txt
-+++ b/src/CMakeLists.txt
-@@ -451,9 +451,7 @@ if(WITH_LIBRADOSSTRIPER)
-   add_subdirectory(libradosstriper)
- endif()
- 
--if(WITH_MGR)
--  add_subdirectory(mgr)
--endif()
-+add_subdirectory(mgr)
- 
- set(librados_config_srcs
-   librados-config.cc)
-diff --git a/src/mgr/CMakeLists.txt b/src/mgr/CMakeLists.txt
-index e7caaeff099..b4f13c05184 100644
---- a/src/mgr/CMakeLists.txt
-+++ b/src/mgr/CMakeLists.txt
-@@ -1,6 +1,7 @@
- add_library(mgr_cap_obj OBJECT
-   MgrCap.cc)
- 
-+if(WITH_MGR)
- set(mgr_srcs
-   ${CMAKE_SOURCE_DIR}/src/ceph_mgr.cc
-   ${CMAKE_SOURCE_DIR}/src/mon/PGMap.cc
-@@ -36,3 +37,4 @@ target_link_libraries(ceph-mgr
- set_target_properties(ceph-mgr PROPERTIES
-   POSITION_INDEPENDENT_CODE ${EXE_LINKER_USE_PIE})
- install(TARGETS ceph-mgr DESTINATION bin)
-+endif()

diff --git a/sys-cluster/ceph/files/ceph-14.2.22-cflags.patch b/sys-cluster/ceph/files/ceph-14.2.22-cflags.patch
deleted file mode 100644
index 5c9f17098616..000000000000
--- a/sys-cluster/ceph/files/ceph-14.2.22-cflags.patch
+++ /dev/null
@@ -1,25 +0,0 @@
-diff --git a/cmake/modules/BuildBoost.cmake b/cmake/modules/BuildBoost.cmake
-index eaab331413b..4ee3f1b0768 100644
---- a/cmake/modules/BuildBoost.cmake
-+++ b/cmake/modules/BuildBoost.cmake
-@@ -62,7 +62,7 @@ function(do_build_boost version)
-   else()
-     list(APPEND boost_features "address-model=32")
-   endif()
--  set(BOOST_CXXFLAGS "-fPIC -w") # check on arm, etc <---XXX
-+  set(BOOST_CXXFLAGS "${CMAKE_CXX_FLAGS} -fPIC -w") # check on arm, etc <---XXX
-   list(APPEND boost_features "cxxflags=${BOOST_CXXFLAGS}")
- 
-   set(boost_with_libs)
-diff --git a/cmake/modules/BuildZstd.cmake b/cmake/modules/BuildZstd.cmake
-index 799b14b281d..9b4b5ee8dcf 100644
---- a/cmake/modules/BuildZstd.cmake
-+++ b/cmake/modules/BuildZstd.cmake
-@@ -1,6 +1,6 @@
- # libzstd - build it statically
- function(build_Zstd)
--  set(ZSTD_C_FLAGS "-fPIC -Wno-unused-variable -O3")
-+  set(ZSTD_C_FLAGS "-fPIC -Wno-unused-variable $ENV{CFLAGS} -O3")
- 
-   include(ExternalProject)
-   ExternalProject_Add(zstd_ext

diff --git a/sys-cluster/ceph/files/ceph-14.2.22-no-virtualenvs.patch b/sys-cluster/ceph/files/ceph-14.2.22-no-virtualenvs.patch
deleted file mode 100644
index 534133122f99..000000000000
--- a/sys-cluster/ceph/files/ceph-14.2.22-no-virtualenvs.patch
+++ /dev/null
@@ -1,39 +0,0 @@
-diff --git a/src/pybind/mgr/dashboard/CMakeLists.txt b/src/pybind/mgr/dashboard/CMakeLists.txt
-index 7c9cc4abd56..9f84b0c2b26 100644
---- a/src/pybind/mgr/dashboard/CMakeLists.txt
-+++ b/src/pybind/mgr/dashboard/CMakeLists.txt
-@@ -2,7 +2,7 @@ set(MGR_DASHBOARD_VIRTUALENV ${CEPH_BUILD_VIRTUALENV}/mgr-dashboard-virtualenv)
- 
- add_custom_target(mgr-dashboard-test-venv
-   COMMAND
--  ${CMAKE_SOURCE_DIR}/src/tools/setup-virtualenv.sh --python=${MGR_PYTHON_EXECUTABLE} ${MGR_DASHBOARD_VIRTUALENV}
-+  #${CMAKE_SOURCE_DIR}/src/tools/setup-virtualenv.sh --python=${MGR_PYTHON_EXECUTABLE} ${MGR_DASHBOARD_VIRTUALENV}
-   WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}/src/pybind/mgr/dashboard
-   COMMENT "dashboard tests virtualenv is being created")
- add_dependencies(tests mgr-dashboard-test-venv)
-@@ -14,9 +14,9 @@ function(add_npm_command)
-   set(multi_kw COMMAND DEPENDS)
-   cmake_parse_arguments(NC "${options}" "${single_kw}" "${multi_kw}" ${ARGN})
-   string(REPLACE ";" " " command "${NC_COMMAND}")
--  if(NC_NODEENV)
--    string(REGEX REPLACE "^(.*(npm|npx) .*)$" ". ${mgr-dashboard-nodeenv-dir}/bin/activate && \\1 && deactivate" command ${command})
--  endif()
-+  #if(NC_NODEENV)
-+  #  string(REGEX REPLACE "^(.*(npm|npx) .*)$" ". ${mgr-dashboard-nodeenv-dir}/bin/activate && \\1 && deactivate" command ${command})
-+  #endif()
-   string(REPLACE " " ";" command "${command}")
-   add_custom_command(
-     OUTPUT "${NC_OUTPUT}"
-@@ -41,9 +41,9 @@ else()
- 
-   add_custom_command(
-     OUTPUT "${mgr-dashboard-nodeenv-dir}/bin/npm"
--    COMMAND ${CMAKE_SOURCE_DIR}/src/tools/setup-virtualenv.sh --python=${MGR_PYTHON_EXECUTABLE} ${mgr-dashboard-nodeenv-dir}
--    COMMAND ${mgr-dashboard-nodeenv-dir}/bin/pip install nodeenv
--    COMMAND ${mgr-dashboard-nodeenv-dir}/bin/nodeenv --verbose -p --node=10.13.0
-+	#COMMAND ${CMAKE_SOURCE_DIR}/src/tools/setup-virtualenv.sh --python=${MGR_PYTHON_EXECUTABLE} ${mgr-dashboard-nodeenv-dir}
-+	#COMMAND ${mgr-dashboard-nodeenv-dir}/bin/pip install nodeenv
-+	#COMMAND ${mgr-dashboard-nodeenv-dir}/bin/nodeenv --verbose -p --node=10.13.0
-     WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
-     COMMENT "dashboard nodeenv is being installed"
-   )

diff --git a/sys-cluster/ceph/files/ceph-14.2.22-snappy-uint32.patch b/sys-cluster/ceph/files/ceph-14.2.22-snappy-uint32.patch
deleted file mode 100644
index c783558a1758..000000000000
--- a/sys-cluster/ceph/files/ceph-14.2.22-snappy-uint32.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-diff --git a/src/compressor/snappy/SnappyCompressor.h b/src/compressor/snappy/SnappyCompressor.h
-index 0291a923112..352ab9a9bcf 100644
---- a/src/compressor/snappy/SnappyCompressor.h
-+++ b/src/compressor/snappy/SnappyCompressor.h
-@@ -96,7 +96,7 @@ class SnappyCompressor : public Compressor {
-     if (qat_enabled)
-       return qat_accel.decompress(p, compressed_len, dst);
- #endif
--    snappy::uint32 res_len = 0;
-+    uint32_t res_len = 0;
-     BufferlistSource source_1(p, compressed_len);
-     if (!snappy::GetUncompressedLength(&source_1, &res_len)) {
-       return -1;

diff --git a/sys-cluster/ceph/files/ceph-14.2.3-dpdk-compile-fix-1.patch b/sys-cluster/ceph/files/ceph-14.2.3-dpdk-compile-fix-1.patch
deleted file mode 100644
index ef06758326e9..000000000000
--- a/sys-cluster/ceph/files/ceph-14.2.3-dpdk-compile-fix-1.patch
+++ /dev/null
@@ -1,111 +0,0 @@
-diff --git a/src/msg/async/dpdk/DPDKStack.cc b/src/msg/async/dpdk/DPDKStack.cc
-index 3101ae57ac..1db97c289a 100644
---- a/src/msg/async/dpdk/DPDKStack.cc
-+++ b/src/msg/async/dpdk/DPDKStack.cc
-@@ -203,7 +203,9 @@ DPDKWorker::Impl::~Impl()
-   _dev->unset_local_queue(id);
- }
-
--int DPDKWorker::listen(entity_addr_t &sa, const SocketOptions &opt,
-+int DPDKWorker::listen(entity_addr_t &sa,
-+		       unsigned addr_slot,
-+		       const SocketOptions &opt,
-                        ServerSocket *sock)
- {
-   ceph_assert(sa.get_family() == AF_INET);
-diff --git a/src/msg/async/dpdk/DPDKStack.h b/src/msg/async/dpdk/DPDKStack.h
-index a44ae38367..622ff8a3c6 100644
---- a/src/msg/async/dpdk/DPDKStack.h
-+++ b/src/msg/async/dpdk/DPDKStack.h
-@@ -37,7 +37,7 @@ class DPDKServerSocketImpl : public ServerSocketImpl {
-   typename Protocol::listener _listener;
-  public:
-   DPDKServerSocketImpl(Protocol& proto, uint16_t port, const SocketOptions &opt,
--		       int type);
-+		       int type, unsigned addr_slot);
-   int listen() {
-     return _listener.listen();
-   }
-@@ -184,8 +184,9 @@ class NativeConnectedSocketImpl : public ConnectedSocketImpl {
-
- template <typename Protocol>
- DPDKServerSocketImpl<Protocol>::DPDKServerSocketImpl(
--  Protocol& proto, uint16_t port, const SocketOptions &opt, int type)
--  : ServerSocketImpl(type), _listener(proto.listen(port)) {}
-+  Protocol& proto, uint16_t port, const SocketOptions &opt,
-+  int type, unsigned addr_slot)
-+  : ServerSocketImpl(type, addr_slot), _listener(proto.listen(port)) {}
-
- template <typename Protocol>
- int DPDKServerSocketImpl<Protocol>::accept(ConnectedSocket *s, const SocketOptions &options, entity_addr_t *out, Worker *w) {
-@@ -229,7 +230,8 @@ class DPDKWorker : public Worker {
-
-  public:
-   explicit DPDKWorker(CephContext *c, unsigned i): Worker(c, i) {}
--  virtual int listen(entity_addr_t &addr, const SocketOptions &opts, ServerSocket *) override;
-+  virtual int listen(entity_addr_t &addr, unsigned addr_slot,
-+		     const SocketOptions &opts, ServerSocket *) override;
-   virtual int connect(const entity_addr_t &addr, const SocketOptions &opts, ConnectedSocket *socket) override;
-   void arp_learn(ethernet_address l2, ipv4_address l3) {
-     _impl->_inet.learn(l2, l3);
-diff --git a/src/msg/async/dpdk/TCP.cc b/src/msg/async/dpdk/TCP.cc
-index c6397709b1..26f29e10f7 100644
---- a/src/msg/async/dpdk/TCP.cc
-+++ b/src/msg/async/dpdk/TCP.cc
-@@ -153,9 +153,10 @@ bool ipv4_tcp::forward(forward_hash& out_hash_data, Packet& p, size_t off)
- }
-
- int tcpv4_listen(tcp<ipv4_traits>& tcpv4, uint16_t port, const SocketOptions &opts,
--                 int type, ServerSocket *sock)
-+                 int type, unsigned addr_slot, ServerSocket *sock)
- {
--  auto p = new DPDKServerSocketImpl<tcp<ipv4_traits>>(tcpv4, port, opts, type);
-+  auto p = new DPDKServerSocketImpl<tcp<ipv4_traits>>(tcpv4, port, opts,
-+						      type, addr_slot);
-   int r = p->listen();
-   if (r < 0) {
-     delete p;
-diff --git a/src/msg/async/dpdk/DPDK.h b/src/msg/async/dpdk/DPDK.h
-index fa12af6b27..6bb52973e0 100644
---- a/src/msg/async/dpdk/DPDK.h
-+++ b/src/msg/async/dpdk/DPDK.h
-@@ -833,7 +833,7 @@ class DPDKDevice {
-   subscription<Packet> receive(unsigned cpuid, std::function<int (Packet)> next_packet) {
-     auto sub = _queues[cpuid]->_rx_stream.listen(std::move(next_packet));
-     _queues[cpuid]->rx_start();
--    return std::move(sub);
-+    return sub;
-   }
-   ethernet_address hw_address() {
-     struct ether_addr mac;
-@@ -849,7 +849,7 @@ class DPDKDevice {
-   std::unique_ptr<DPDKQueuePair> init_local_queue(CephContext *c, EventCenter *center, string hugepages, uint16_t qid) {
-     std::unique_ptr<DPDKQueuePair> qp;
-     qp = std::unique_ptr<DPDKQueuePair>(new DPDKQueuePair(c, center, this, qid));
--    return std::move(qp);
-+    return qp;
-   }
-   unsigned hash2qid(uint32_t hash) {
-     // return hash % hw_queues_count();
-diff --git a/src/msg/async/dpdk/Packet.h b/src/msg/async/dpdk/Packet.h
-index db9cd2a764..f929da3178 100644
---- a/src/msg/async/dpdk/Packet.h
-+++ b/src/msg/async/dpdk/Packet.h
-@@ -125,7 +125,7 @@ class Packet {
-       n->rss_hash.construct(old->rss_hash);
-       std::copy(old->frags, old->frags + old->_nr_frags, n->frags);
-       old->copy_internal_fragment_to(n.get());
--      return std::move(n);
-+      return n;
-     }
-
-     static std::unique_ptr<impl> copy(impl* old) {
-@@ -134,7 +134,7 @@ class Packet {
-
-     static std::unique_ptr<impl> allocate_if_needed(std::unique_ptr<impl> old, size_t extra_frags) {
-       if (old->_allocated_frags >= old->_nr_frags + extra_frags) {
--        return std::move(old);
-+        return old;
-       }
-       return copy(old.get(), std::max<size_t>(old->_nr_frags + extra_frags, 2 * old->_nr_frags));
-     }

diff --git a/sys-cluster/ceph/files/ceph-14.2.4-python-executable.patch b/sys-cluster/ceph/files/ceph-14.2.4-python-executable.patch
deleted file mode 100644
index 40feaf11ad39..000000000000
--- a/sys-cluster/ceph/files/ceph-14.2.4-python-executable.patch
+++ /dev/null
@@ -1,29 +0,0 @@
-diff --git a/src/ceph-crash.in b/src/ceph-crash.in
-index 5bfb50c474..d53c4eeb6a 100755
---- a/src/ceph-crash.in
-+++ b/src/ceph-crash.in
-@@ -1,4 +1,4 @@
--#!@PYTHON_EXECUTABLE@
-+#!@PYTHON3_EXECUTABLE@
- # -*- mode:python -*-
- # vim: ts=4 sw=4 smarttab expandtab
- 
-diff --git a/src/ceph.in b/src/ceph.in
-index f060023f57..3a84263ccc 100755
---- a/src/ceph.in
-+++ b/src/ceph.in
-@@ -1,4 +1,4 @@
--#!@PYTHON_EXECUTABLE@
-+#!@PYTHON3_EXECUTABLE@
- # -*- mode:python -*-
- # vim: ts=4 sw=4 smarttab expandtab
- #
-@@ -66,7 +66,7 @@ DEVMODEMSG = '*** DEVELOPER MODE: setting PATH, PYTHONPATH and LD_LIBRARY_PATH *
- def respawn_in_path(lib_path, pybind_path, pythonlib_path, asan_lib_path):
-     execv_cmd = []
-     if 'CEPH_DBG' in os.environ:
--        execv_cmd += ['@PYTHON_EXECUTABLE@', '-mpdb']
-+        execv_cmd += ['@PYTHON3_EXECUTABLE@', '-mpdb']
- 
-     if platform.system() == "Darwin":
-         lib_path_var = "DYLD_LIBRARY_PATH"

diff --git a/sys-cluster/ceph/files/ceph-14.2.4-undefined-behaviour.patch b/sys-cluster/ceph/files/ceph-14.2.4-undefined-behaviour.patch
deleted file mode 100644
index 99249fb01a0c..000000000000
--- a/sys-cluster/ceph/files/ceph-14.2.4-undefined-behaviour.patch
+++ /dev/null
@@ -1,76 +0,0 @@
-diff --git a/src/include/blobhash.h b/src/include/blobhash.h
-index 597884e4c9..97f2065ce3 100644
---- a/src/include/blobhash.h
-+++ b/src/include/blobhash.h
-@@ -14,33 +14,40 @@
- #ifndef CEPH_BLOBHASH_H
- #define CEPH_BLOBHASH_H
- 
-+#include <cstdint>
- #include "hash.h"
- 
--/*
--- this is to make some of the STL types work with 64 bit values, string hash keys, etc.
--- added when i was using an old STL.. maybe try taking these out and see if things 
--  compile now?
--*/
--
- class blobhash {
- public:
--  uint32_t operator()(const char *p, unsigned len) {
--    static rjhash<uint32_t> H;
--    uint32_t acc = 0;
-+  uint32_t operator()(const void* p, size_t len) {
-+    static rjhash<std::uint32_t> H;
-+    std::uint32_t acc = 0;
-+    auto buf = static_cast<const unsigned char*>(p);
-     while (len >= sizeof(acc)) {
--      acc ^= *(uint32_t*)p;
--      p += sizeof(uint32_t);
--      len -= sizeof(uint32_t);
-+      acc ^= unaligned_load(buf);
-+      buf += sizeof(std::uint32_t);
-+      len -= sizeof(std::uint32_t);
-     }
--    int sh = 0;
--    while (len) {
--      acc ^= (uint32_t)*p << sh;
--      sh += 8;
--      len--;
--      p++;
-+    // handle the last few bytes of p[-(len % 4):]
-+    switch (len) {
-+    case 3:
-+      acc ^= buf[2] << 16;
-+      [[fallthrough]];
-+    case 2:
-+      acc ^= buf[1] << 8;
-+      [[fallthrough]];
-+    case 1:
-+      acc ^= buf[0];
-+      [[fallthrough]];
-     }
-     return H(acc);
-   }
-+private:
-+  static inline std::uint32_t unaligned_load(const unsigned char* p) {
-+    std::uint32_t result;
-+    __builtin_memcpy(&result, p, sizeof(result));
-+    return result;
-+  }
- };
- 
- 
-diff --git a/src/msg/msg_types.h b/src/msg/msg_types.h
-index b6952ca498..576b7d6b8a 100644
---- a/src/msg/msg_types.h
-+++ b/src/msg/msg_types.h
-@@ -566,7 +566,7 @@ namespace std {
-     size_t operator()( const entity_addr_t& x ) const
-     {
-       static blobhash H;
--      return H((const char*)&x, sizeof(x));
-+      return H(&x, sizeof(x));
-     }
-   };
- } // namespace std


^ permalink raw reply related	[flat|nested] 68+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-cluster/ceph/, sys-cluster/ceph/files/
@ 2022-05-05 22:51 Patrick McLean
  0 siblings, 0 replies; 68+ messages in thread
From: Patrick McLean @ 2022-05-05 22:51 UTC (permalink / raw
  To: gentoo-commits

commit:     5ae443701f3ac7d74af946097041380e9a8e2014
Author:     Patrick McLean <chutzpah <AT> gentoo <DOT> org>
AuthorDate: Thu May  5 22:48:31 2022 +0000
Commit:     Patrick McLean <chutzpah <AT> gentoo <DOT> org>
CommitDate: Thu May  5 22:51:36 2022 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=5ae44370

sys-cluster/ceph: Fix rados-classes path (bug #842822)

With newer versions of cmake, CMAKE_INSTALL_LIBDIR is no longer an
absolute path. This made the search path for the rados-classes be a
relative path, which did not work. Switch to using
CMAKE_INSTALL_FULL_LIBDIR instead.

Closes: https://bugs.gentoo.org/842822
Signed-off-by: Patrick McLean <chutzpah <AT> gentoo.org>

 .../ceph/{ceph-17.2.0-r1.ebuild => ceph-17.2.0-r2.ebuild}   |  1 +
 sys-cluster/ceph/files/ceph-17.2.0-osd_class_dir.patch      | 13 +++++++++++++
 2 files changed, 14 insertions(+)

diff --git a/sys-cluster/ceph/ceph-17.2.0-r1.ebuild b/sys-cluster/ceph/ceph-17.2.0-r2.ebuild
similarity index 99%
rename from sys-cluster/ceph/ceph-17.2.0-r1.ebuild
rename to sys-cluster/ceph/ceph-17.2.0-r2.ebuild
index 17629a190fe3..6254678f5431 100644
--- a/sys-cluster/ceph/ceph-17.2.0-r1.ebuild
+++ b/sys-cluster/ceph/ceph-17.2.0-r2.ebuild
@@ -213,6 +213,7 @@ PATCHES=(
 	"${FILESDIR}/ceph-17.2.0-deprecated-boost.patch"
 	"${FILESDIR}/ceph-17.2.0-system-opentelemetry.patch"
 	"${FILESDIR}/ceph-17.2.0-fuse3.patch"
+	"${FILESDIR}/ceph-17.2.0-osd_class_dir.patch"
 )
 
 check-reqs_export_vars() {

diff --git a/sys-cluster/ceph/files/ceph-17.2.0-osd_class_dir.patch b/sys-cluster/ceph/files/ceph-17.2.0-osd_class_dir.patch
new file mode 100644
index 000000000000..2f6afc32cbc1
--- /dev/null
+++ b/sys-cluster/ceph/files/ceph-17.2.0-osd_class_dir.patch
@@ -0,0 +1,13 @@
+diff --git a/src/common/options/osd.yaml.in b/src/common/options/osd.yaml.in
+index 8360e4a9223..e176fd37e06 100644
+--- a/src/common/options/osd.yaml.in
++++ b/src/common/options/osd.yaml.in
+@@ -451,7 +451,7 @@ options:
+ - name: osd_class_dir
+   type: str
+   level: advanced
+-  default: @CMAKE_INSTALL_LIBDIR@/rados-classes
++  default: @CMAKE_INSTALL_FULL_LIBDIR@/rados-classes
+   fmt_desc: The class path for RADOS class plug-ins.
+   with_legacy: true
+ - name: osd_open_classes_on_start


^ permalink raw reply related	[flat|nested] 68+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-cluster/ceph/, sys-cluster/ceph/files/
@ 2022-05-04 23:17 Patrick McLean
  0 siblings, 0 replies; 68+ messages in thread
From: Patrick McLean @ 2022-05-04 23:17 UTC (permalink / raw
  To: gentoo-commits

commit:     c3bdeaa31c311c2f5f840a2ef5b247c2d54bda9f
Author:     Patrick McLean <chutzpah <AT> gentoo <DOT> org>
AuthorDate: Wed May  4 22:54:50 2022 +0000
Commit:     Patrick McLean <chutzpah <AT> gentoo <DOT> org>
CommitDate: Wed May  4 23:16:55 2022 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=c3bdeaa3

sys-cluster/ceph: Migrate to fuse:3 (bug #838022)

Bug: https://bugs.gentoo.org/838022
Signed-off-by: Patrick McLean <chutzpah <AT> gentoo.org>

 .../ceph/{ceph-17.2.0.ebuild => ceph-17.2.0-r1.ebuild}      |  3 ++-
 sys-cluster/ceph/files/ceph-17.2.0-fuse3.patch              | 13 +++++++++++++
 2 files changed, 15 insertions(+), 1 deletion(-)

diff --git a/sys-cluster/ceph/ceph-17.2.0.ebuild b/sys-cluster/ceph/ceph-17.2.0-r1.ebuild
similarity index 99%
rename from sys-cluster/ceph/ceph-17.2.0.ebuild
rename to sys-cluster/ceph/ceph-17.2.0-r1.ebuild
index 74a067688a6d..59975f6b8e43 100644
--- a/sys-cluster/ceph/ceph-17.2.0.ebuild
+++ b/sys-cluster/ceph/ceph-17.2.0-r1.ebuild
@@ -75,7 +75,7 @@ DEPEND="
 	virtual/libcrypt:=
 	x11-libs/libpciaccess:=
 	babeltrace? ( dev-util/babeltrace )
-	fuse? ( sys-fs/fuse:0= )
+	fuse? ( sys-fs/fuse:3= )
 	jemalloc? ( dev-libs/jemalloc:= )
 	!jemalloc? ( >=dev-util/google-perftools-2.6.1:= )
 	jaeger? (
@@ -212,6 +212,7 @@ PATCHES=(
 	"${FILESDIR}/ceph-17.2.0-install-dbstore.patch"
 	"${FILESDIR}/ceph-17.2.0-deprecated-boost.patch"
 	"${FILESDIR}/ceph-17.2.0-system-opentelemetry.patch"
+	"${FILESDIR}/ceph-17.2.0-fuse3.patch"
 )
 
 check-reqs_export_vars() {

diff --git a/sys-cluster/ceph/files/ceph-17.2.0-fuse3.patch b/sys-cluster/ceph/files/ceph-17.2.0-fuse3.patch
new file mode 100644
index 000000000000..59b2be6ffd80
--- /dev/null
+++ b/sys-cluster/ceph/files/ceph-17.2.0-fuse3.patch
@@ -0,0 +1,13 @@
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index e95019cedb2..814c7f4d0b7 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -178,7 +178,7 @@ endif()
+ 
+ option(WITH_FUSE "Fuse is here" ON)
+ if(WITH_FUSE)
+-  find_package(FUSE)
++  find_package(FUSE 3.0)
+   set(HAVE_LIBFUSE ${FUSE_FOUND})
+ endif()
+ 


^ permalink raw reply related	[flat|nested] 68+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-cluster/ceph/, sys-cluster/ceph/files/
@ 2022-04-29  0:31 Patrick McLean
  0 siblings, 0 replies; 68+ messages in thread
From: Patrick McLean @ 2022-04-29  0:31 UTC (permalink / raw
  To: gentoo-commits

commit:     613aee5544939a092adeb01c3b9619d2616d5ade
Author:     Patrick McLean <chutzpah <AT> gentoo <DOT> org>
AuthorDate: Fri Apr 29 00:31:07 2022 +0000
Commit:     Patrick McLean <chutzpah <AT> gentoo <DOT> org>
CommitDate: Fri Apr 29 00:31:07 2022 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=613aee55

sys-cluster/ceph: drop 16.2.6-r2, 16.2.6-r4

Signed-off-by: Patrick McLean <chutzpah <AT> gentoo.org>

 sys-cluster/ceph/Manifest                          |   1 -
 sys-cluster/ceph/ceph-16.2.6-r2.ebuild             | 458 --------------------
 sys-cluster/ceph/ceph-16.2.6-r4.ebuild             | 459 ---------------------
 .../ceph/files/ceph-16.2.2-no-virtualenvs.patch    |  74 ----
 4 files changed, 992 deletions(-)

diff --git a/sys-cluster/ceph/Manifest b/sys-cluster/ceph/Manifest
index 0ae493210ad6..45f6d44762e5 100644
--- a/sys-cluster/ceph/Manifest
+++ b/sys-cluster/ceph/Manifest
@@ -1,4 +1,3 @@
 DIST ceph-14.2.22.tar.gz 130597047 BLAKE2B 58bbb3243de076ed1d25dfd7bd75717c50ad15d16690dcbd1511d1b506477845efc3ff7fbe713cf18fb8cfcc8c16707ad2a0f30159e3198ff82e57fbd2eb3cf2 SHA512 1c66661e1a39fa9151e95e33c390b810ffe269465d8785e2197cc15b8d83bd2edde77de48a8abd71a4da68cd5830ff14bcdf6b98fd17edabe85caeb1eca018d3
 DIST ceph-15.2.16.tar.gz 148628915 BLAKE2B 4f624078027c706428eae3eddd5b5479efe3b4442c19a4e6b6cdf8d3839cf56e2863b18249dc3c5079a7e25f60796bfec3202ffd695537587654f5e2f820caaa SHA512 532b8a5073e157fe9ed552b26976faeb64dc29b79a249910c0982134ad5f945d4f57d8bf451adf63487b6d285c6e4bd5c39f0e3fcd449230d6fb3087539f8c3b
-DIST ceph-16.2.6.tar.gz 156087762 BLAKE2B e2595d1a958200e4f1877e4597c53319a9eee2e95606ea1b3ba2966a0d17f1cfcf52e05cca59752cc6ac383e32d944c380920d111aec840631235aef273a4de1 SHA512 f01e29088ae566d4111c21b5d0c173ddb02badaa0d8272f7f1548eb8e66a95dc7052b3945d9fb342e6c97a65c57648fda394317340d1f4236a57af7580073658
 DIST ceph-16.2.7.tar.gz 156621262 BLAKE2B 3c79cb1586e71927df4578fe7f3a13f4ab257a5e145b6bf76d942292cbca7bf32583350373f3d816f6d8f8700ee0f98a14f350c823b0eb89ffd7735acee7de63 SHA512 eab047e646970d444acf1064d98237b8b1677fb16b5e771082d55880f7bc6d8bdb278c2fe514c82ae12c438878d9ecea29139fa6b8d890f9f737138f10fb740c

diff --git a/sys-cluster/ceph/ceph-16.2.6-r2.ebuild b/sys-cluster/ceph/ceph-16.2.6-r2.ebuild
deleted file mode 100644
index 9e09341cd8f2..000000000000
--- a/sys-cluster/ceph/ceph-16.2.6-r2.ebuild
+++ /dev/null
@@ -1,458 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{7..9} )
-DISTUTILS_OPTIONAL=1
-LUA_COMPAT=( lua5-3 )
-
-CMAKE_MAKEFILE_GENERATOR=emake
-
-inherit check-reqs bash-completion-r1 cmake distutils-r1 flag-o-matic \
-		lua-single python-r1 udev readme.gentoo-r1 toolchain-funcs \
-		systemd tmpfiles
-
-if [[ ${PV} == *9999* ]]; then
-	inherit git-r3
-	EGIT_REPO_URI="https://github.com/ceph/ceph.git"
-	SRC_URI=""
-else
-	SRC_URI="https://download.ceph.com/tarballs/${P}.tar.gz"
-	KEYWORDS="amd64 ~arm64 ~ppc64"
-fi
-
-DESCRIPTION="Ceph distributed filesystem"
-HOMEPAGE="https://ceph.com/"
-
-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"
-SLOT="0"
-
-CPU_FLAGS_X86=(avx2 avx512f pclmul sse{,2,3,4_1,4_2} ssse3)
-
-IUSE="babeltrace +cephfs custom-cflags diskprediction dpdk fuse grafana
-	jemalloc jaeger kafka kerberos ldap lttng +mgr numa pmdk rabbitmq
-	+radosgw rbd-rwl rbd-ssd rgw-lua +ssl spdk +sqlite system-boost systemd
-	+tcmalloc test uring xfs zbd zfs"
-IUSE+=" $(printf "cpu_flags_x86_%s\n" ${CPU_FLAGS_X86[@]})"
-
-DEPEND="
-	${LUA_DEPS}
-	acct-group/ceph
-	acct-user/ceph
-	virtual/libudev:=
-	app-arch/bzip2:=
-	app-arch/lz4:=
-	<app-arch/snappy-1.1.9:=
-	app-arch/zstd:=
-	app-shells/bash:0
-	app-misc/jq:=
-	dev-libs/crypto++:=
-	dev-cpp/gflags:=
-	<dev-libs/leveldb-1.23:=[snappy,tcmalloc(-)?]
-	dev-libs/libaio:=
-	dev-libs/libfmt:=
-	dev-libs/libnl:3=
-	dev-libs/libxml2:=
-	dev-libs/libevent:=
-	<dev-libs/rocksdb-6.15:=
-	dev-libs/xmlsec:=[openssl]
-	dev-cpp/yaml-cpp:=
-	dev-libs/nss:=
-	dev-libs/protobuf:=
-	net-dns/c-ares:=
-	net-libs/gnutls:=
-	sys-auth/oath-toolkit:=
-	sys-apps/coreutils
-	sys-apps/grep
-	sys-apps/hwloc:=
-	sys-apps/keyutils:=
-	sys-apps/util-linux:=
-	sys-apps/sed
-	sys-apps/util-linux
-	sys-libs/libcap-ng:=
-	sys-libs/ncurses:0=
-	sys-libs/zlib:=
-	sys-process/numactl:=
-	virtual/libcrypt:=
-	x11-libs/libpciaccess:=
-	babeltrace? ( dev-util/babeltrace )
-	fuse? ( sys-fs/fuse:0= )
-	jemalloc? ( dev-libs/jemalloc:= )
-	!jemalloc? ( >=dev-util/google-perftools-2.6.1:= )
-	jaeger? ( dev-cpp/nlohmann_json:= )
-	kafka? ( dev-libs/librdkafka:= )
-	kerberos? ( virtual/krb5 )
-	ldap? ( net-nds/openldap:= )
-	lttng? ( dev-util/lttng-ust:= )
-	pmdk? ( dev-libs/pmdk:= )
-	rabbitmq? ( net-libs/rabbitmq-c:= )
-	radosgw? (
-		dev-libs/icu:=
-		dev-libs/expat:=
-		dev-libs/openssl:=
-		net-misc/curl:=[curl_ssl_openssl]
-	)
-	rbd-rwl? ( dev-libs/pmdk:= )
-	ssl? ( dev-libs/openssl:= )
-	sqlite? ( dev-db/sqlite:= )
-	system-boost? ( >=dev-libs/boost-1.72:=[threads(+),context,python,${PYTHON_USEDEP}] )
-	uring? ( sys-libs/liburing:= )
-	xfs? ( sys-fs/xfsprogs:= )
-	zbd? ( sys-block/libzbd:= )
-	zfs? ( sys-fs/zfs:= )
-	${PYTHON_DEPS}
-"
-BDEPEND="
-	amd64? ( dev-lang/nasm )
-	x86? ( dev-lang/yasm )
-	app-arch/cpio
-	>=dev-util/cmake-3.5.0
-	dev-python/cython[${PYTHON_USEDEP}]
-	dev-python/setuptools[${PYTHON_USEDEP}]
-	dev-python/sphinx
-	dev-util/cunit
-	dev-util/gperf
-	dev-util/ragel
-	dev-util/valgrind
-	sys-apps/coreutils
-	sys-apps/grep
-	sys-apps/sed
-	sys-apps/which
-	sys-devel/bc
-	sys-devel/patch
-	virtual/pkgconfig
-	jaeger? (
-		sys-devel/bison
-		sys-devel/flex
-	)
-	test? (
-		dev-python/coverage[${PYTHON_USEDEP}]
-		dev-python/virtualenv[${PYTHON_USEDEP}]
-		dev-python/requests-mock[${PYTHON_USEDEP}]
-		sys-apps/grep[pcre]
-		sys-fs/btrfs-progs
-	)
-"
-RDEPEND="
-	${DEPEND}
-	app-admin/sudo
-	net-misc/socat
-	sys-apps/gptfdisk
-	sys-apps/nvme-cli
-	>=sys-apps/smartmontools-7.0
-	sys-block/parted
-	sys-fs/cryptsetup
-	sys-fs/lsscsi
-	sys-fs/lvm2[-device-mapper-only(-)]
-	virtual/awk
-	dev-python/bcrypt[${PYTHON_USEDEP}]
-	dev-python/cherrypy[${PYTHON_USEDEP}]
-	dev-python/python-dateutil[${PYTHON_USEDEP}]
-	dev-python/flask[${PYTHON_USEDEP}]
-	dev-python/jinja[${PYTHON_USEDEP}]
-	dev-python/pecan[${PYTHON_USEDEP}]
-	dev-python/prettytable[${PYTHON_USEDEP}]
-	dev-python/pyopenssl[${PYTHON_USEDEP}]
-	dev-python/pyyaml[${PYTHON_USEDEP}]
-	dev-python/requests[${PYTHON_USEDEP}]
-	dev-python/werkzeug[${PYTHON_USEDEP}]
-	mgr? (
-		dev-python/jsonpatch[${PYTHON_USEDEP}]
-		dev-python/more-itertools[${PYTHON_USEDEP}]
-		dev-python/numpy[${PYTHON_USEDEP}]
-		dev-python/pyjwt[${PYTHON_USEDEP}]
-		dev-python/routes[${PYTHON_USEDEP}]
-		diskprediction? (
-			>=dev-python/scipy-1.4.0[${PYTHON_USEDEP}]
-		)
-		sci-libs/scikit-learn[${PYTHON_USEDEP}]
-		dev-python/six[${PYTHON_USEDEP}]
-	)
-"
-# diskprediction needs older scipy not compatible with py38
-# bug #724438
-REQUIRED_USE="
-	${PYTHON_REQUIRED_USE}
-	${LUA_REQUIRED_USE}
-	?? ( jemalloc tcmalloc )
-	jaeger? ( !system-boost )
-	diskprediction? ( mgr )
-	kafka? ( radosgw )
-	mgr? ( cephfs )
-	rabbitmq? ( radosgw )
-"
-RESTRICT="!test? ( test )"
-
-# the tests need root access
-RESTRICT="test? ( userpriv )"
-
-# distribution tarball does not include everything needed for tests
-RESTRICT+=" test"
-
-# create a non-debug release
-CMAKE_BUILD_TYPE=RelWithDebInfo
-
-# false positives unless all USE flags are on
-CMAKE_WARN_UNUSED_CLI=no
-
-PATCHES=(
-	"${FILESDIR}/ceph-12.2.0-use-provided-cpu-flag-values.patch"
-	"${FILESDIR}/ceph-14.2.0-cflags.patch"
-	"${FILESDIR}/ceph-12.2.4-boost-build-none-options.patch"
-	"${FILESDIR}/ceph-16.2.2-cflags.patch"
-	"${FILESDIR}/ceph-16.2.2-no-virtualenvs.patch"
-	"${FILESDIR}/ceph-13.2.2-dont-install-sysvinit-script.patch"
-	"${FILESDIR}/ceph-14.2.0-dpdk-cflags.patch"
-	"${FILESDIR}/ceph-14.2.0-cython-0.29.patch"
-	"${FILESDIR}/ceph-16.2.0-rocksdb-cmake.patch"
-	"${FILESDIR}/ceph-15.2.3-spdk-compile.patch"
-	"${FILESDIR}/ceph-16.2.0-spdk-tinfo.patch"
-	"${FILESDIR}/ceph-16.2.0-jaeger-system-boost.patch"
-	"${FILESDIR}/ceph-16.2.0-liburing.patch"
-	"${FILESDIR}/ceph-16.2.2-system-zstd.patch"
-)
-
-check-reqs_export_vars() {
-	CHECKREQS_DISK_BUILD="6G"
-
-	if use system-boost; then
-		CHECKREQS_DISK_USR="350M"
-	else
-		CHECKREQS_DISK_USR="510M"
-	fi
-
-	export CHECKREQS_DISK_BUILD CHECKREQS_DISK_USR
-}
-
-pkg_pretend() {
-	check-reqs_export_vars
-	check-reqs_pkg_pretend
-}
-
-pkg_setup() {
-	python_setup
-	lua_setup
-	check-reqs_export_vars
-	check-reqs_pkg_setup
-}
-
-src_prepare() {
-	cmake_src_prepare
-
-	if use system-boost; then
-		find "${S}" -name '*.cmake' -or -name 'CMakeLists.txt' -print0 \
-			| xargs --null sed -r \
-			-e 's|Boost::|boost_|g' \
-			-e 's|Boost_|boost_|g' \
-			-e 's|[Bb]oost_boost|boost_system|g' -i || die
-	fi
-
-	if ! use systemd; then
-		find "${S}"/src/ceph-volume/ceph_volume -name '*.py' -print0 \
-			| xargs --null sed \
-			-e '/^from ceph_volume.systemd import systemctl/ d' \
-			-i || die
-	fi
-
-	sed -r -e "s:DESTINATION .+\\):DESTINATION $(get_bashcompdir)\\):" \
-		-i src/bash_completion/CMakeLists.txt || die
-
-	sed  -e "s:objdump -p:$(tc-getOBJDUMP) -p:" -i CMakeLists.txt || die
-
-	if ! use diskprediction; then
-		rm -rf src/pybind/mgr/diskprediction_local || die
-	fi
-
-	# force lua version to use selected version
-	local lua_version
-	lua_version=$(ver_cut 1-2 $(lua_get_version))
-	sed -i "s:find_package(Lua [0-9][.][0-9] REQUIRED):find_package(Lua ${lua_version} EXACT REQUIRED):" src/CMakeLists.txt
-
-	# remove tests that need root access
-	rm src/test/cli/ceph-authtool/cap*.t || die
-}
-
-ceph_src_configure() {
-	local flag
-	local mycmakeargs=(
-		-DWITH_BABELTRACE=$(usex babeltrace)
-		-DWITH_BLUESTORE_PMEM=$(usex pmdk)
-		-DWITH_CEPHFS=$(usex cephfs)
-		-DWITH_CEPHFS_SHELL=$(usex cephfs)
-		-DWITH_DPDK=$(usex dpdk)
-		-DWITH_SPDK=$(usex spdk)
-		-DWITH_FUSE=$(usex fuse)
-		-DWITH_LTTNG=$(usex lttng)
-		-DWITH_GSSAPI=$(usex kerberos)
-		-DWITH_GRAFANA=$(usex grafana)
-		-DWITH_MGR=$(usex mgr)
-		-DWITH_MGR_DASHBOARD_FRONTEND=OFF
-		-DWITH_NUMA=$(usex numa)
-		-DWITH_OPENLDAP=$(usex ldap)
-		-DWITH_PYTHON3=3
-		-DWITH_RADOSGW=$(usex radosgw)
-		-DWITH_RADOSGW_AMQP_ENDPOINT=$(usex rabbitmq)
-		-DWITH_RADOSGW_KAFKA_ENDPOINT=$(usex kafka)
-		-DWITH_RADOSGW_LUA_PACKAGES=$(usex rgw-lua "$(usex radosgw)" "NO")
-		-DWITH_RBD_RWL=$(usex rbd-rwl)
-		-DWITH_RBD_SSD_CACHE=$(usex rbd-ssd)
-		-DWITH_SSL=$(usex ssl)
-		-DWITH_SYSTEMD=$(usex systemd)
-		-DWITH_TESTS=$(usex test)
-		-DWITH_LIBURING=$(usex uring)
-		-DWITH_SYSTEM_LIBURING=$(usex uring)
-		-DWITH_LIBCEPHSQLITE=$(usex sqlite)
-		-DWITH_XFS=$(usex xfs)
-		-DWITH_ZBD=$(usex zbd)
-		-DWITH_ZFS=$(usex zfs)
-		-DENABLE_SHARED="ON"
-		-DALLOCATOR=$(usex tcmalloc 'tcmalloc' "$(usex jemalloc 'jemalloc' 'libc')")
-		-DWITH_SYSTEM_PMDK=$(usex pmdk 'YES' "$(usex rbd-rwl)")
-		-DWITH_SYSTEM_BOOST=$(usex system-boost)
-		-DBOOST_J=$(makeopts_jobs)
-		-DWITH_SYSTEM_ROCKSDB=ON
-		-DWITH_RDMA=OFF
-		-DWITH_TBB=OFF
-		-DSYSTEMD_UNITDIR=$(systemd_get_systemunitdir)
-		-DCMAKE_INSTALL_SYSTEMD_SERVICEDIR=$(systemd_get_systemunitdir)
-		-DEPYTHON_VERSION="${EPYTHON#python}"
-		-DCMAKE_INSTALL_DOCDIR="${EPREFIX}/usr/share/doc/${PN}-${PVR}"
-		-DCMAKE_INSTALL_SYSCONFDIR="${EPREFIX}/etc"
-		-Wno-dev
-	)
-
-	# this breaks when re-configuring for python impl
-	[[ ${EBUILD_PHASE} == configure ]] && mycmakeargs+=(-DWITH_JAEGER=$(usex jaeger))
-
-	if use amd64 || use x86; then
-		for flag in ${CPU_FLAGS_X86[@]}; do
-			case "${flag}" in
-				avx*)
-					local var=${flag%f}
-					mycmakeargs+=("$(usex cpu_flags_x86_${flag} "-DHAVE_NASM_X64_${var^^}=1")")
-				;;
-				*) mycmakeargs+=("$(usex cpu_flags_x86_${flag} "-DHAVE_INTEL_${flag^^}=1")");;
-			esac
-		done
-	fi
-
-	# needed for >=glibc-2.32
-	has_version '>=sys-libs/glibc-2.32' && mycmakeargs+=(-DWITH_REENTRANT_STRSIGNAL:BOOL=ON)
-
-	rm -f "${BUILD_DIR:-${S}}/CMakeCache.txt" \
-		|| die "failed to remove cmake cache"
-
-	cmake_src_configure
-
-	# bug #630232
-	sed -i "s:\"${T//:\\:}/${EPYTHON}/bin/python\":\"${PYTHON}\":" \
-		"${BUILD_DIR:-${S}}"/include/acconfig.h \
-		|| die "sed failed"
-}
-
-src_configure() {
-	use custom-cflags || strip-flags
-	ceph_src_configure
-}
-
-python_compile() {
-	local CMAKE_USE_DIR="${S}"
-	ceph_src_configure
-
-	pushd "${BUILD_DIR}/src/pybind" >/dev/null || die
-	emake VERBOSE=1 clean
-	emake VERBOSE=1 all
-
-	# python modules are only compiled with "make install" so we need to do this to
-	# prevent doing a bunch of compilation in src_install
-	DESTDIR="${T}" emake VERBOSE=1 install
-	popd >/dev/null || die
-}
-
-src_compile() {
-	cmake_build VERBOSE=1 all
-
-	# we have to do this here to prevent from building everything multiple times
-	python_copy_sources
-	python_foreach_impl python_compile
-}
-
-src_test() {
-	make check || die "make check failed"
-}
-
-python_install() {
-	local CMAKE_USE_DIR="${S}"
-	pushd "${BUILD_DIR}/src/pybind" >/dev/null || die
-	DESTDIR="${ED}" emake VERBOSE=1 install
-	popd >/dev/null || die
-
-	python_optimize
-}
-
-src_install() {
-	cmake_src_install
-	python_foreach_impl python_install
-
-	find "${ED}" -name '*.la' -type f -delete || die
-
-	exeinto /usr/$(get_libdir)/ceph
-	newexe "${BUILD_DIR}/bin/init-ceph" init-ceph
-
-	insinto /etc/logrotate.d/
-	newins "${FILESDIR}"/ceph.logrotate-r2 ${PN}
-
-	keepdir /var/lib/${PN}{,/tmp} /var/log/${PN}/stat
-
-	fowners -R ceph:ceph /var/log/ceph
-
-	newinitd "${FILESDIR}/rbdmap.initd-r1" rbdmap
-	newinitd "${FILESDIR}/${PN}.initd-r12" ${PN}
-	newconfd "${FILESDIR}/${PN}.confd-r5" ${PN}
-
-	insinto /etc/sudoers.d
-	doins sudoers.d/*
-
-	insinto /etc/sysctl.d
-	newins "${FILESDIR}"/sysctld 90-${PN}.conf
-
-	use tcmalloc && newenvd "${FILESDIR}"/envd-tcmalloc 99${PN}-tcmalloc
-
-	# units aren't installed by the build system unless systemd is enabled
-	# so no point installing these with the USE flag disabled
-	if use systemd; then
-		systemd_install_serviced "${FILESDIR}/ceph-mds_at.service.conf" \
-			"ceph-mds@.service"
-
-		systemd_install_serviced "${FILESDIR}/ceph-osd_at.service.conf" \
-			"ceph-osd@.service"
-
-	fi
-
-	udev_dorules udev/*.rules
-	newtmpfiles "${FILESDIR}"/ceph-tmpfilesd ${PN}.conf
-
-	readme.gentoo_create_doc
-
-	python_setup
-
-	# bug #630232
-	sed -i -r "s:${T//:/\\:}/${EPYTHON}:/usr:" "${ED}"/usr/bin/ceph{,-crash} \
-		|| die "sed failed"
-
-	python_fix_shebang "${ED}"/usr/{,s}bin/
-
-	# python_fix_shebang apparently is not idempotent
-	local shebang_regex='(/usr/lib/python-exec/python[0-9]\.[0-9]/python)[0-9]\.[0-9]'
-	grep -r -E -l --null "${shebang_regex}" "${ED}"/usr/{s,}bin/ \
-		| xargs --null --no-run-if-empty -- sed -i -r  "s:${shebang_regex}:\1:" || die
-
-	local -a rados_classes=( "${ED}/usr/$(get_libdir)/rados-classes"/* )
-	dostrip -x "${rados_classes[@]#${ED}}"
-}
-
-pkg_postinst() {
-	readme.gentoo_print_elog
-	tmpfiles_process ${PN}.conf
-}

diff --git a/sys-cluster/ceph/ceph-16.2.6-r4.ebuild b/sys-cluster/ceph/ceph-16.2.6-r4.ebuild
deleted file mode 100644
index f33908a5f253..000000000000
--- a/sys-cluster/ceph/ceph-16.2.6-r4.ebuild
+++ /dev/null
@@ -1,459 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{7..9} )
-DISTUTILS_OPTIONAL=1
-LUA_COMPAT=( lua5-3 )
-
-CMAKE_MAKEFILE_GENERATOR=emake
-
-inherit check-reqs bash-completion-r1 cmake distutils-r1 flag-o-matic \
-		lua-single python-r1 udev readme.gentoo-r1 toolchain-funcs \
-		systemd tmpfiles multiprocessing
-
-if [[ ${PV} == *9999* ]]; then
-	inherit git-r3
-	EGIT_REPO_URI="https://github.com/ceph/ceph.git"
-	SRC_URI=""
-else
-	SRC_URI="https://download.ceph.com/tarballs/${P}.tar.gz"
-	KEYWORDS="~amd64 ~arm64 ~ppc64"
-fi
-
-DESCRIPTION="Ceph distributed filesystem"
-HOMEPAGE="https://ceph.com/"
-
-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"
-SLOT="0"
-
-CPU_FLAGS_X86=(avx2 avx512f pclmul sse{,2,3,4_1,4_2} ssse3)
-
-IUSE="babeltrace +cephfs custom-cflags diskprediction dpdk fuse grafana
-	jemalloc jaeger kafka kerberos ldap lttng +mgr numa pmdk rabbitmq
-	+radosgw rbd-rwl rbd-ssd rgw-lua +ssl spdk +sqlite +system-boost systemd
-	+tcmalloc test uring xfs zbd zfs"
-IUSE+=" $(printf "cpu_flags_x86_%s\n" ${CPU_FLAGS_X86[@]})"
-
-DEPEND="
-	${LUA_DEPS}
-	acct-group/ceph
-	acct-user/ceph
-	virtual/libudev:=
-	app-arch/bzip2:=
-	app-arch/lz4:=
-	app-arch/snappy
-	|| ( >=app-arch/snappy-1.1.9-r1 <app-arch/snappy-1.1.9 )
-	app-arch/zstd:=
-	app-shells/bash:0
-	app-misc/jq:=
-	dev-libs/crypto++:=
-	dev-cpp/gflags:=
-	<dev-libs/leveldb-1.23:=[snappy,tcmalloc(-)?]
-	dev-libs/libaio:=
-	dev-libs/libfmt:=
-	dev-libs/libnl:3=
-	dev-libs/libxml2:=
-	dev-libs/libevent:=
-	<dev-libs/rocksdb-6.15:=
-	dev-libs/xmlsec:=[openssl]
-	dev-cpp/yaml-cpp:=
-	dev-libs/nss:=
-	dev-libs/protobuf:=
-	net-dns/c-ares:=
-	net-libs/gnutls:=
-	sys-auth/oath-toolkit:=
-	sys-apps/coreutils
-	sys-apps/grep
-	sys-apps/hwloc:=
-	sys-apps/keyutils:=
-	sys-apps/util-linux:=
-	sys-apps/sed
-	sys-apps/util-linux
-	sys-libs/libcap-ng:=
-	sys-libs/ncurses:0=
-	sys-libs/zlib:=
-	sys-process/numactl:=
-	virtual/libcrypt:=
-	x11-libs/libpciaccess:=
-	babeltrace? ( dev-util/babeltrace )
-	fuse? ( sys-fs/fuse:0= )
-	jemalloc? ( dev-libs/jemalloc:= )
-	!jemalloc? ( >=dev-util/google-perftools-2.6.1:= )
-	jaeger? ( dev-cpp/nlohmann_json:= )
-	kafka? ( dev-libs/librdkafka:= )
-	kerberos? ( virtual/krb5 )
-	ldap? ( net-nds/openldap:= )
-	lttng? ( dev-util/lttng-ust:= )
-	pmdk? ( dev-libs/pmdk:= )
-	rabbitmq? ( net-libs/rabbitmq-c:= )
-	radosgw? (
-		dev-libs/icu:=
-		dev-libs/expat:=
-		dev-libs/openssl:=
-		net-misc/curl:=[curl_ssl_openssl]
-	)
-	rbd-rwl? ( dev-libs/pmdk:= )
-	ssl? ( dev-libs/openssl:= )
-	sqlite? ( dev-db/sqlite:= )
-	system-boost? ( >=dev-libs/boost-1.72:=[threads(+),context,python,${PYTHON_USEDEP}] )
-	uring? ( sys-libs/liburing:= )
-	xfs? ( sys-fs/xfsprogs:= )
-	zbd? ( sys-block/libzbd:= )
-	zfs? ( sys-fs/zfs:= )
-	${PYTHON_DEPS}
-"
-BDEPEND="
-	amd64? ( dev-lang/nasm )
-	x86? ( dev-lang/yasm )
-	app-arch/cpio
-	>=dev-util/cmake-3.5.0
-	dev-python/cython[${PYTHON_USEDEP}]
-	dev-python/setuptools[${PYTHON_USEDEP}]
-	dev-python/sphinx
-	dev-util/cunit
-	dev-util/gperf
-	dev-util/ragel
-	dev-util/valgrind
-	sys-apps/coreutils
-	sys-apps/grep
-	sys-apps/sed
-	sys-apps/which
-	sys-devel/bc
-	sys-devel/patch
-	virtual/pkgconfig
-	jaeger? (
-		sys-devel/bison
-		sys-devel/flex
-	)
-	test? (
-		dev-python/coverage[${PYTHON_USEDEP}]
-		dev-python/virtualenv[${PYTHON_USEDEP}]
-		dev-python/requests-mock[${PYTHON_USEDEP}]
-		sys-apps/grep[pcre]
-		sys-fs/btrfs-progs
-	)
-"
-RDEPEND="
-	${DEPEND}
-	app-admin/sudo
-	net-misc/socat
-	sys-apps/gptfdisk
-	sys-apps/nvme-cli
-	>=sys-apps/smartmontools-7.0
-	sys-block/parted
-	sys-fs/cryptsetup
-	sys-fs/lsscsi
-	sys-fs/lvm2[-device-mapper-only(-)]
-	virtual/awk
-	dev-python/bcrypt[${PYTHON_USEDEP}]
-	dev-python/cherrypy[${PYTHON_USEDEP}]
-	dev-python/python-dateutil[${PYTHON_USEDEP}]
-	dev-python/flask[${PYTHON_USEDEP}]
-	dev-python/jinja[${PYTHON_USEDEP}]
-	dev-python/pecan[${PYTHON_USEDEP}]
-	dev-python/prettytable[${PYTHON_USEDEP}]
-	dev-python/pyopenssl[${PYTHON_USEDEP}]
-	dev-python/pyyaml[${PYTHON_USEDEP}]
-	dev-python/requests[${PYTHON_USEDEP}]
-	dev-python/werkzeug[${PYTHON_USEDEP}]
-	mgr? (
-		dev-python/jsonpatch[${PYTHON_USEDEP}]
-		dev-python/more-itertools[${PYTHON_USEDEP}]
-		dev-python/numpy[${PYTHON_USEDEP}]
-		dev-python/pyjwt[${PYTHON_USEDEP}]
-		dev-python/routes[${PYTHON_USEDEP}]
-		diskprediction? (
-			>=dev-python/scipy-1.4.0[${PYTHON_USEDEP}]
-		)
-		sci-libs/scikit-learn[${PYTHON_USEDEP}]
-		dev-python/six[${PYTHON_USEDEP}]
-	)
-"
-# diskprediction needs older scipy not compatible with py38
-# bug #724438
-REQUIRED_USE="
-	${PYTHON_REQUIRED_USE}
-	${LUA_REQUIRED_USE}
-	?? ( jemalloc tcmalloc )
-	jaeger? ( !system-boost )
-	diskprediction? ( mgr )
-	kafka? ( radosgw )
-	mgr? ( cephfs )
-	rabbitmq? ( radosgw )
-"
-RESTRICT="!test? ( test )"
-
-# the tests need root access
-RESTRICT="test? ( userpriv )"
-
-# distribution tarball does not include everything needed for tests
-RESTRICT+=" test"
-
-# create a non-debug release
-CMAKE_BUILD_TYPE=RelWithDebInfo
-
-# false positives unless all USE flags are on
-CMAKE_WARN_UNUSED_CLI=no
-
-PATCHES=(
-	"${FILESDIR}/ceph-12.2.0-use-provided-cpu-flag-values.patch"
-	"${FILESDIR}/ceph-14.2.0-cflags.patch"
-	"${FILESDIR}/ceph-12.2.4-boost-build-none-options.patch"
-	"${FILESDIR}/ceph-16.2.2-cflags.patch"
-	"${FILESDIR}/ceph-16.2.2-no-virtualenvs.patch"
-	"${FILESDIR}/ceph-13.2.2-dont-install-sysvinit-script.patch"
-	"${FILESDIR}/ceph-14.2.0-dpdk-cflags.patch"
-	"${FILESDIR}/ceph-14.2.0-cython-0.29.patch"
-	"${FILESDIR}/ceph-16.2.0-rocksdb-cmake.patch"
-	"${FILESDIR}/ceph-15.2.3-spdk-compile.patch"
-	"${FILESDIR}/ceph-16.2.0-spdk-tinfo.patch"
-	"${FILESDIR}/ceph-16.2.0-jaeger-system-boost.patch"
-	"${FILESDIR}/ceph-16.2.0-liburing.patch"
-	"${FILESDIR}/ceph-16.2.2-system-zstd.patch"
-)
-
-check-reqs_export_vars() {
-	CHECKREQS_DISK_BUILD="6G"
-
-	if use system-boost; then
-		CHECKREQS_DISK_USR="350M"
-	else
-		CHECKREQS_DISK_USR="510M"
-	fi
-
-	export CHECKREQS_DISK_BUILD CHECKREQS_DISK_USR
-}
-
-pkg_pretend() {
-	check-reqs_export_vars
-	check-reqs_pkg_pretend
-}
-
-pkg_setup() {
-	python_setup
-	lua_setup
-	check-reqs_export_vars
-	check-reqs_pkg_setup
-}
-
-src_prepare() {
-	cmake_src_prepare
-
-	if use system-boost; then
-		find "${S}" -name '*.cmake' -or -name 'CMakeLists.txt' -print0 \
-			| xargs --null sed -r \
-			-e 's|Boost::|boost_|g' \
-			-e 's|Boost_|boost_|g' \
-			-e 's|[Bb]oost_boost|boost_system|g' -i || die
-	fi
-
-	if ! use systemd; then
-		find "${S}"/src/ceph-volume/ceph_volume -name '*.py' -print0 \
-			| xargs --null sed \
-			-e '/^from ceph_volume.systemd import systemctl/ d' \
-			-i || die
-	fi
-
-	sed -r -e "s:DESTINATION .+\\):DESTINATION $(get_bashcompdir)\\):" \
-		-i src/bash_completion/CMakeLists.txt || die
-
-	sed  -e "s:objdump -p:$(tc-getOBJDUMP) -p:" -i CMakeLists.txt || die
-
-	if ! use diskprediction; then
-		rm -rf src/pybind/mgr/diskprediction_local || die
-	fi
-
-	# force lua version to use selected version
-	local lua_version
-	lua_version=$(ver_cut 1-2 $(lua_get_version))
-	sed -i "s:find_package(Lua [0-9][.][0-9] REQUIRED):find_package(Lua ${lua_version} EXACT REQUIRED):" src/CMakeLists.txt
-
-	# remove tests that need root access
-	rm src/test/cli/ceph-authtool/cap*.t || die
-}
-
-ceph_src_configure() {
-	local flag
-	local mycmakeargs=(
-		-DWITH_BABELTRACE=$(usex babeltrace)
-		-DWITH_BLUESTORE_PMEM=$(usex pmdk)
-		-DWITH_CEPHFS=$(usex cephfs)
-		-DWITH_CEPHFS_SHELL=$(usex cephfs)
-		-DWITH_DPDK=$(usex dpdk)
-		-DWITH_SPDK=$(usex spdk)
-		-DWITH_FUSE=$(usex fuse)
-		-DWITH_LTTNG=$(usex lttng)
-		-DWITH_GSSAPI=$(usex kerberos)
-		-DWITH_GRAFANA=$(usex grafana)
-		-DWITH_MGR=$(usex mgr)
-		-DWITH_MGR_DASHBOARD_FRONTEND=OFF
-		-DWITH_NUMA=$(usex numa)
-		-DWITH_OPENLDAP=$(usex ldap)
-		-DWITH_PYTHON3=3
-		-DWITH_RADOSGW=$(usex radosgw)
-		-DWITH_RADOSGW_AMQP_ENDPOINT=$(usex rabbitmq)
-		-DWITH_RADOSGW_KAFKA_ENDPOINT=$(usex kafka)
-		-DWITH_RADOSGW_LUA_PACKAGES=$(usex rgw-lua "$(usex radosgw)" "NO")
-		-DWITH_RBD_RWL=$(usex rbd-rwl)
-		-DWITH_RBD_SSD_CACHE=$(usex rbd-ssd)
-		-DWITH_SSL=$(usex ssl)
-		-DWITH_SYSTEMD=$(usex systemd)
-		-DWITH_TESTS=$(usex test)
-		-DWITH_LIBURING=$(usex uring)
-		-DWITH_SYSTEM_LIBURING=$(usex uring)
-		-DWITH_LIBCEPHSQLITE=$(usex sqlite)
-		-DWITH_XFS=$(usex xfs)
-		-DWITH_ZBD=$(usex zbd)
-		-DWITH_ZFS=$(usex zfs)
-		-DENABLE_SHARED="ON"
-		-DALLOCATOR=$(usex tcmalloc 'tcmalloc' "$(usex jemalloc 'jemalloc' 'libc')")
-		-DWITH_SYSTEM_PMDK=$(usex pmdk 'YES' "$(usex rbd-rwl)")
-		-DWITH_SYSTEM_BOOST=$(usex system-boost)
-		-DBOOST_J=$(makeopts_jobs)
-		-DWITH_SYSTEM_ROCKSDB=ON
-		-DWITH_RDMA=OFF
-		-DWITH_TBB=OFF
-		-DSYSTEMD_UNITDIR=$(systemd_get_systemunitdir)
-		-DCMAKE_INSTALL_SYSTEMD_SERVICEDIR=$(systemd_get_systemunitdir)
-		-DEPYTHON_VERSION="${EPYTHON#python}"
-		-DCMAKE_INSTALL_DOCDIR="${EPREFIX}/usr/share/doc/${PN}-${PVR}"
-		-DCMAKE_INSTALL_SYSCONFDIR="${EPREFIX}/etc"
-		-Wno-dev
-	)
-
-	# this breaks when re-configuring for python impl
-	[[ ${EBUILD_PHASE} == configure ]] && mycmakeargs+=(-DWITH_JAEGER=$(usex jaeger))
-
-	if use amd64 || use x86; then
-		for flag in ${CPU_FLAGS_X86[@]}; do
-			case "${flag}" in
-				avx*)
-					local var=${flag%f}
-					mycmakeargs+=("$(usex cpu_flags_x86_${flag} "-DHAVE_NASM_X64_${var^^}=1")")
-				;;
-				*) mycmakeargs+=("$(usex cpu_flags_x86_${flag} "-DHAVE_INTEL_${flag^^}=1")");;
-			esac
-		done
-	fi
-
-	# needed for >=glibc-2.32
-	has_version '>=sys-libs/glibc-2.32' && mycmakeargs+=(-DWITH_REENTRANT_STRSIGNAL:BOOL=ON)
-
-	rm -f "${BUILD_DIR:-${S}}/CMakeCache.txt" \
-		|| die "failed to remove cmake cache"
-
-	cmake_src_configure
-
-	# bug #630232
-	sed -i "s:\"${T//:\\:}/${EPYTHON}/bin/python\":\"${PYTHON}\":" \
-		"${BUILD_DIR:-${S}}"/include/acconfig.h \
-		|| die "sed failed"
-}
-
-src_configure() {
-	use custom-cflags || strip-flags
-	ceph_src_configure
-}
-
-python_compile() {
-	local CMAKE_USE_DIR="${S}"
-	ceph_src_configure
-
-	pushd "${BUILD_DIR}/src/pybind" >/dev/null || die
-	emake VERBOSE=1 clean
-	emake VERBOSE=1 all
-
-	# python modules are only compiled with "make install" so we need to do this to
-	# prevent doing a bunch of compilation in src_install
-	DESTDIR="${T}" emake VERBOSE=1 install
-	popd >/dev/null || die
-}
-
-src_compile() {
-	cmake_build VERBOSE=1 all
-
-	# we have to do this here to prevent from building everything multiple times
-	python_copy_sources
-	python_foreach_impl python_compile
-}
-
-src_test() {
-	make check || die "make check failed"
-}
-
-python_install() {
-	local CMAKE_USE_DIR="${S}"
-	pushd "${BUILD_DIR}/src/pybind" >/dev/null || die
-	DESTDIR="${ED}" emake VERBOSE=1 install
-	popd >/dev/null || die
-
-	python_optimize
-}
-
-src_install() {
-	cmake_src_install
-	python_foreach_impl python_install
-
-	find "${ED}" -name '*.la' -type f -delete || die
-
-	exeinto /usr/$(get_libdir)/ceph
-	newexe "${BUILD_DIR}/bin/init-ceph" init-ceph
-
-	insinto /etc/logrotate.d/
-	newins "${FILESDIR}"/ceph.logrotate-r2 ${PN}
-
-	keepdir /var/lib/${PN}{,/tmp} /var/log/${PN}/stat
-
-	fowners -R ceph:ceph /var/log/ceph
-
-	newinitd "${FILESDIR}/rbdmap.initd-r1" rbdmap
-	newinitd "${FILESDIR}/${PN}.initd-r12" ${PN}
-	newconfd "${FILESDIR}/${PN}.confd-r5" ${PN}
-
-	insinto /etc/sudoers.d
-	doins sudoers.d/*
-
-	insinto /etc/sysctl.d
-	newins "${FILESDIR}"/sysctld 90-${PN}.conf
-
-	use tcmalloc && newenvd "${FILESDIR}"/envd-tcmalloc 99${PN}-tcmalloc
-
-	# units aren't installed by the build system unless systemd is enabled
-	# so no point installing these with the USE flag disabled
-	if use systemd; then
-		systemd_install_serviced "${FILESDIR}/ceph-mds_at.service.conf" \
-			"ceph-mds@.service"
-
-		systemd_install_serviced "${FILESDIR}/ceph-osd_at.service.conf" \
-			"ceph-osd@.service"
-
-	fi
-
-	udev_dorules udev/*.rules
-	newtmpfiles "${FILESDIR}"/ceph-tmpfilesd ${PN}.conf
-
-	readme.gentoo_create_doc
-
-	python_setup
-
-	# bug #630232
-	sed -i -r "s:${T//:/\\:}/${EPYTHON}:/usr:" "${ED}"/usr/bin/ceph{,-crash} \
-		|| die "sed failed"
-
-	python_fix_shebang "${ED}"/usr/{,s}bin/
-
-	# python_fix_shebang apparently is not idempotent
-	local shebang_regex='(/usr/lib/python-exec/python[0-9]\.[0-9]/python)[0-9]\.[0-9]'
-	grep -r -E -l --null "${shebang_regex}" "${ED}"/usr/{s,}bin/ \
-		| xargs --null --no-run-if-empty -- sed -i -r  "s:${shebang_regex}:\1:" || die
-
-	local -a rados_classes=( "${ED}/usr/$(get_libdir)/rados-classes"/* )
-	dostrip -x "${rados_classes[@]#${ED}}"
-}
-
-pkg_postinst() {
-	readme.gentoo_print_elog
-	tmpfiles_process ${PN}.conf
-}

diff --git a/sys-cluster/ceph/files/ceph-16.2.2-no-virtualenvs.patch b/sys-cluster/ceph/files/ceph-16.2.2-no-virtualenvs.patch
deleted file mode 100644
index fa865529d424..000000000000
--- a/sys-cluster/ceph/files/ceph-16.2.2-no-virtualenvs.patch
+++ /dev/null
@@ -1,74 +0,0 @@
-diff --git a/cmake/modules/AddCephTest.cmake b/cmake/modules/AddCephTest.cmake
-index d26d003c77..bc962e3aa7 100644
---- a/cmake/modules/AddCephTest.cmake
-+++ b/cmake/modules/AddCephTest.cmake
-@@ -70,14 +70,6 @@ function(add_tox_test name)
-   endif()
-   string(REPLACE ";" "," tox_envs "${tox_envs}")
-   find_package(Python3 QUIET REQUIRED)
--  add_custom_command(
--    OUTPUT ${venv_path}/bin/activate
--    COMMAND ${CMAKE_SOURCE_DIR}/src/tools/setup-virtualenv.sh --python="${Python3_EXECUTABLE}" ${venv_path}
--    WORKING_DIRECTORY ${tox_path}
--    COMMENT "preparing venv for ${name}")
--  add_custom_target(${name}-venv
--    DEPENDS ${venv_path}/bin/activate)
--  add_dependencies(tests ${name}-venv)
-   add_test(
-     NAME ${test_name}
-     COMMAND ${CMAKE_SOURCE_DIR}/src/script/run_tox.sh
-diff --git a/src/ceph-volume/CMakeLists.txt b/src/ceph-volume/CMakeLists.txt
-index 4224499c47..9a6c87595b 100644
---- a/src/ceph-volume/CMakeLists.txt
-+++ b/src/ceph-volume/CMakeLists.txt
-@@ -8,22 +8,6 @@ if(FREEBSD)
-   add_subdirectory(plugin/zfs)
- endif()
- 
--# Required for running ceph-volume inventory in a vstart environment
--set(CEPH_VOLUME_VIRTUALENV ${CEPH_BUILD_VIRTUALENV}/ceph-volume-virtualenv)
--
--add_custom_command(
--  OUTPUT ${CEPH_VOLUME_VIRTUALENV}/bin/python
--  COMMAND ${CMAKE_SOURCE_DIR}/src/tools/setup-virtualenv.sh --python=${Python_EXECUTABLE} ${CEPH_VOLUME_VIRTUALENV}
--  WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}/src/ceph-volume
--  COMMENT "ceph-volume venv is being created")
--
--add_custom_command(
--  OUTPUT ${CEPH_VOLUME_VIRTUALENV}/bin/ceph-volume
--  DEPENDS ${CEPH_VOLUME_VIRTUALENV}/bin/python
--  COMMAND . ${CEPH_VOLUME_VIRTUALENV}/bin/activate && ${CEPH_VOLUME_VIRTUALENV}/bin/python setup.py develop && deactivate
--  WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}/src/ceph-volume
--  COMMENT "${CMAKE_SOURCE_DIR}/src/ceph-volume")
--
- add_custom_target(ceph-volume-venv-setup
-   DEPENDS ${CEPH_VOLUME_VIRTUALENV}/bin/ceph-volume)
- 
-diff --git a/src/pybind/mgr/dashboard/CMakeLists.txt b/src/pybind/mgr/dashboard/CMakeLists.txt
-index 94c0a56827..7f63e2adf4 100644
---- a/src/pybind/mgr/dashboard/CMakeLists.txt
-+++ b/src/pybind/mgr/dashboard/CMakeLists.txt
-@@ -5,9 +5,6 @@ function(add_npm_command)
-   set(multi_kw COMMAND DEPENDS)
-   cmake_parse_arguments(NC "${options}" "${single_kw}" "${multi_kw}" ${ARGN})
-   string(REPLACE ";" " " command "${NC_COMMAND}")
--  if(NC_NODEENV)
--    string(REGEX REPLACE "^(.*(npm|npx) .*)$" ". ${mgr-dashboard-nodeenv-dir}/bin/activate && \\1 && deactivate" command ${command})
--  endif()
-   string(REPLACE " " ";" command "${command}")
-   add_custom_command(
-     OUTPUT "${NC_OUTPUT}"
-@@ -51,11 +48,8 @@ else(WITH_SYSTEM_NPM)
-     set(node_mirror_opt "--mirror=$ENV{NODE_MIRROR}")
-   endif()
-   add_custom_command(
--    OUTPUT "${mgr-dashboard-nodeenv-dir}/bin/npm"
--    COMMAND ${CMAKE_SOURCE_DIR}/src/tools/setup-virtualenv.sh --python=${MGR_PYTHON_EXECUTABLE} ${mgr-dashboard-nodeenv-dir}
--    COMMAND ${mgr-dashboard-nodeenv-dir}/bin/pip install nodeenv
--    COMMAND ${mgr-dashboard-nodeenv-dir}/bin/nodeenv --verbose ${node_mirror_opt} -p --node=12.18.2
--    COMMAND mkdir ${mgr-dashboard-nodeenv-dir}/.npm
-+    OUTPUT "/bin/npm"
-+    COMMAND /bin/nodeenv ${node_mirror_opt} -p --node=12.18.2
-     WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
-     COMMENT "dashboard nodeenv is being installed"
-     )


^ permalink raw reply related	[flat|nested] 68+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-cluster/ceph/, sys-cluster/ceph/files/
@ 2021-10-29 20:49 Patrick McLean
  0 siblings, 0 replies; 68+ messages in thread
From: Patrick McLean @ 2021-10-29 20:49 UTC (permalink / raw
  To: gentoo-commits

commit:     addb9b18a8f99b1be688372f1bb0e2d95cd4ace6
Author:     Patrick McLean <patrick.mclean <AT> sony <DOT> com>
AuthorDate: Fri Oct 29 20:49:25 2021 +0000
Commit:     Patrick McLean <chutzpah <AT> gentoo <DOT> org>
CommitDate: Fri Oct 29 20:49:25 2021 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=addb9b18

sys-cluster/ceph: 14.2.22 add fix for newer snappy

Copyright: Sony Interactive Entertainment Inc.
Package-Manager: Portage-3.0.28, Repoman-3.0.3
Signed-off-by: Patrick McLean <chutzpah <AT> gentoo.org>

 sys-cluster/ceph/ceph-14.2.22.ebuild                    |  1 +
 sys-cluster/ceph/files/ceph-14.2.22-snappy-uint32.patch | 13 +++++++++++++
 2 files changed, 14 insertions(+)

diff --git a/sys-cluster/ceph/ceph-14.2.22.ebuild b/sys-cluster/ceph/ceph-14.2.22.ebuild
index 1288ebd6a78..7e642968cc1 100644
--- a/sys-cluster/ceph/ceph-14.2.22.ebuild
+++ b/sys-cluster/ceph/ceph-14.2.22.ebuild
@@ -185,6 +185,7 @@ PATCHES=(
 	"${FILESDIR}/ceph-14.2.22-build-without-mgr.patch"
 	"${FILESDIR}/ceph-14.2.11-systemd-unit-fix.patch"
 	"${FILESDIR}/ceph-15.2.9-dont-compile-isal_compress-if-don-t-have-SSE4_1.patch"
+	"${FILESDIR}/ceph-14.2.22-snappy-uint32.patch"
 )
 
 check-reqs_export_vars() {

diff --git a/sys-cluster/ceph/files/ceph-14.2.22-snappy-uint32.patch b/sys-cluster/ceph/files/ceph-14.2.22-snappy-uint32.patch
new file mode 100644
index 00000000000..c783558a175
--- /dev/null
+++ b/sys-cluster/ceph/files/ceph-14.2.22-snappy-uint32.patch
@@ -0,0 +1,13 @@
+diff --git a/src/compressor/snappy/SnappyCompressor.h b/src/compressor/snappy/SnappyCompressor.h
+index 0291a923112..352ab9a9bcf 100644
+--- a/src/compressor/snappy/SnappyCompressor.h
++++ b/src/compressor/snappy/SnappyCompressor.h
+@@ -96,7 +96,7 @@ class SnappyCompressor : public Compressor {
+     if (qat_enabled)
+       return qat_accel.decompress(p, compressed_len, dst);
+ #endif
+-    snappy::uint32 res_len = 0;
++    uint32_t res_len = 0;
+     BufferlistSource source_1(p, compressed_len);
+     if (!snappy::GetUncompressedLength(&source_1, &res_len)) {
+       return -1;


^ permalink raw reply related	[flat|nested] 68+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-cluster/ceph/, sys-cluster/ceph/files/
@ 2021-10-25 17:02 Patrick McLean
  0 siblings, 0 replies; 68+ messages in thread
From: Patrick McLean @ 2021-10-25 17:02 UTC (permalink / raw
  To: gentoo-commits

commit:     0ceef4f022db0deba03b1380d872d26a9be363c3
Author:     Patrick McLean <chutzpah <AT> gentoo <DOT> org>
AuthorDate: Sat Oct 23 00:52:43 2021 +0000
Commit:     Patrick McLean <chutzpah <AT> gentoo <DOT> org>
CommitDate: Mon Oct 25 17:02:38 2021 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=0ceef4f0

sys-cluster/ceph-5.2.15: Version bump

Package-Manager: Portage-3.0.28, Repoman-3.0.3
Signed-off-by: Patrick McLean <chutzpah <AT> gentoo.org>

 sys-cluster/ceph/Manifest                          |   1 +
 sys-cluster/ceph/ceph-15.2.15.ebuild               | 403 +++++++++++++++++++++
 .../ceph/files/ceph-15.2.15-no-virtualenvs.patch   |  73 ++++
 .../ceph/files/ceph-15.2.15-snappy-1.1.9.patch     |  36 ++
 4 files changed, 513 insertions(+)

diff --git a/sys-cluster/ceph/Manifest b/sys-cluster/ceph/Manifest
index 7d261913206..7f5036a1bc4 100644
--- a/sys-cluster/ceph/Manifest
+++ b/sys-cluster/ceph/Manifest
@@ -3,6 +3,7 @@ DIST ceph-14.2.22.tar.gz 130597047 BLAKE2B 58bbb3243de076ed1d25dfd7bd75717c50ad1
 DIST ceph-15.2.12.tar.gz 148509713 BLAKE2B 4962e7d574b38592a874a1b3fa8610bb2d0afc8713d995d67a790c025bb086cb619cbbaec76482ec096b4c55b9f1df383f5bd4806a231bc88e70ac3efbac24b5 SHA512 08266a2e9a7ca5a37e03f340873571fd012c630dd898a87241cd97c29760b2bf41fe64c8883e7b08e0f83c26245072cd26e69ecb1db02378d1ec38335ba1cd0f
 DIST ceph-15.2.13.tar.gz 148542333 BLAKE2B 2e9668bcb0fd283ec4ab51b0c6142fc9a3b6310eb5d34e07da5e6b73b55dd7976db5ab9c78a93684ddc2f51873b1a17c4d31c5f5647b2d43a2826ee5362f7e5d SHA512 bde28c331c489db0845959f65c425146c317466a7793f56a83e2827dec35b8cd6f600bf9056151c1e6926cc0155deebbc8681c240ac9f37ad876b9a6afae96da
 DIST ceph-15.2.14.tar.gz 148573546 BLAKE2B dc49a86e17702d73afdcde3932ee3bcb79e50bc5a97e207095a7907e34dac9f44de391b5dcace7f26d3466ca715d9cfd172f65ebbad4ddbc0280daa4643a5976 SHA512 eacc4dea0d8dfe2753aff78d89324d81c5634a784313c3da8ded778e2734958c216f8c705b25f070d7ba66b559424ad3c47cb68852f66f8c9c83a83ca78ad5a5
+DIST ceph-15.2.15.tar.gz 148584988 BLAKE2B 6ff629846a74c9b30c7e5d54731e2c85c67942f1871194cc8e704c56826b86cdd6163d6693805d9d6210bc0e3fc4d84fada12b9d81a5640e34d76be83cfe6e47 SHA512 e4d929ffda5c3e31767d93340fb97b5d49ca1d5641f6c30134ce5542486fc4f72684aef2ef47cb940a332e8b9144d8cec63ce8a9f86c773dbc0ccebdd8e7fb19
 DIST ceph-16.2.4.tar.gz 155840423 BLAKE2B a803ffa61ac9fd6d42790d6d8e12aa8df843968627df0051475355f3ba0dc1272afa3d9e2716115ad769b2f322d7bd239d99b89e51610e89ce9efe39af4f01ae SHA512 8904e7fcabd50276e4e86735fd85dba96f417c194c219025146f994707def7abe372528b0f2e862e274b2f405d7b791bac86b6cbb8d57cecd6f44023a2ffb6f6
 DIST ceph-16.2.5.tar.gz 155933825 BLAKE2B 3c8f3f1663b91d4de1e3736317add0b88d9083db5ab2fc3e2e913278977deec076bd4410e309f4e47ccc169d74356c2ab1221c94532cc45ee75ec73673fc42a0 SHA512 5c32f9aa817ecfa788725bcfe5743756853ca9b3f9ee453242110f1b5e1bdd1feaef79ad9ccf2b185445c9644bcecb1355e151a2255bfd27edc9818e0d6d4c4a
 DIST ceph-16.2.6.tar.gz 156087762 BLAKE2B e2595d1a958200e4f1877e4597c53319a9eee2e95606ea1b3ba2966a0d17f1cfcf52e05cca59752cc6ac383e32d944c380920d111aec840631235aef273a4de1 SHA512 f01e29088ae566d4111c21b5d0c173ddb02badaa0d8272f7f1548eb8e66a95dc7052b3945d9fb342e6c97a65c57648fda394317340d1f4236a57af7580073658

diff --git a/sys-cluster/ceph/ceph-15.2.15.ebuild b/sys-cluster/ceph/ceph-15.2.15.ebuild
new file mode 100644
index 00000000000..164f014af63
--- /dev/null
+++ b/sys-cluster/ceph/ceph-15.2.15.ebuild
@@ -0,0 +1,403 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+PYTHON_COMPAT=( python3_{7..9} )
+DISTUTILS_USE_SETUPTOOLS=rdepend
+CMAKE_MAKEFILE_GENERATOR=emake
+
+DISTUTILS_OPTIONAL=1
+
+inherit check-reqs bash-completion-r1 cmake distutils-r1 flag-o-matic \
+		python-r1 udev readme.gentoo-r1 toolchain-funcs systemd tmpfiles
+
+if [[ ${PV} == *9999* ]]; then
+	inherit git-r3
+	EGIT_REPO_URI="https://github.com/ceph/ceph.git"
+	SRC_URI=""
+else
+	SRC_URI="https://download.ceph.com/tarballs/${P}.tar.gz"
+	KEYWORDS="~amd64 ~arm64 ~ppc64"
+fi
+
+DESCRIPTION="Ceph distributed filesystem"
+HOMEPAGE="https://ceph.com/"
+
+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"
+SLOT="0"
+
+CPU_FLAGS_X86=(sse{,2,3,4_1,4_2} ssse3)
+
+IUSE="babeltrace +cephfs custom-cflags diskprediction dpdk fuse grafana jemalloc
+	kafka kerberos ldap lttng +mgr numa pmdk rabbitmq +radosgw rbd-rwl +ssl spdk
+	system-boost systemd +tcmalloc test uring xfs zfs"
+IUSE+=" $(printf "cpu_flags_x86_%s\n" ${CPU_FLAGS_X86[@]})"
+
+DEPEND="
+	acct-group/ceph
+	acct-user/ceph
+	virtual/libudev:=
+	app-arch/bzip2:=
+	app-arch/lz4:=
+	>=app-arch/snappy-1.1.9:=
+	app-arch/zstd:=
+	app-shells/bash:0
+	app-misc/jq:=
+	dev-libs/crypto++:=
+	dev-cpp/gflags:=
+	dev-libs/leveldb:=[snappy,tcmalloc(-)?]
+	dev-libs/libaio:=
+	dev-libs/libfmt:=
+	dev-libs/libnl:3=
+	dev-libs/libxml2:=
+	<dev-libs/rocksdb-6.15:=
+	dev-libs/xmlsec:=[openssl]
+	dev-cpp/yaml-cpp:=
+	dev-libs/nss:=
+	dev-libs/protobuf:=
+	net-dns/c-ares:=
+	net-libs/gnutls:=
+	sys-auth/oath-toolkit:=
+	sys-apps/coreutils
+	sys-apps/grep
+	sys-apps/hwloc:=
+	sys-apps/keyutils:=
+	sys-apps/util-linux:=
+	sys-apps/sed
+	sys-apps/util-linux
+	sys-libs/libcap-ng:=
+	sys-libs/ncurses:0=
+	sys-libs/zlib:=
+	sys-process/numactl:=
+	virtual/libcrypt:=
+	x11-libs/libpciaccess:=
+	babeltrace? ( dev-util/babeltrace )
+	fuse? ( sys-fs/fuse:0= )
+	jemalloc? ( dev-libs/jemalloc:= )
+	!jemalloc? ( >=dev-util/google-perftools-2.6.1:= )
+	kafka? ( dev-libs/librdkafka:= )
+	kerberos? ( virtual/krb5 )
+	ldap? ( net-nds/openldap:= )
+	lttng? ( dev-util/lttng-ust:= )
+	pmdk? ( dev-libs/pmdk:= )
+	rabbitmq? ( net-libs/rabbitmq-c:= )
+	radosgw? (
+		dev-libs/expat:=
+		dev-libs/openssl:=
+		net-misc/curl:=[curl_ssl_openssl]
+	)
+	rbd-rwl? ( dev-libs/pmdk:= )
+	ssl? ( dev-libs/openssl:= )
+	system-boost? ( >=dev-libs/boost-1.72:=[threads(+),context,python,${PYTHON_USEDEP}] )
+	uring? ( sys-libs/liburing:= )
+	xfs? ( sys-fs/xfsprogs:= )
+	zfs? ( sys-fs/zfs:= )
+	${PYTHON_DEPS}
+"
+BDEPEND="
+	amd64? ( dev-lang/yasm )
+	x86? ( dev-lang/yasm )
+	app-arch/cpio
+	>=dev-util/cmake-3.5.0
+	<=dev-python/cython-0.29.24[${PYTHON_USEDEP}]
+	dev-python/sphinx
+	dev-util/cunit
+	dev-util/gperf
+	dev-util/ragel
+	dev-util/valgrind
+	sys-apps/coreutils
+	sys-apps/findutils
+	sys-apps/grep
+	sys-apps/sed
+	sys-apps/which
+	sys-devel/bc
+	sys-devel/patch
+	virtual/pkgconfig
+	test? (
+		dev-python/coverage[${PYTHON_USEDEP}]
+		dev-python/virtualenv[${PYTHON_USEDEP}]
+		dev-python/requests-mock[${PYTHON_USEDEP}]
+		sys-apps/grep[pcre]
+		sys-fs/btrfs-progs
+	)
+"
+RDEPEND="${DEPEND}
+	app-admin/sudo
+	net-misc/socat
+	sys-apps/gptfdisk
+	sys-apps/nvme-cli
+	>=sys-apps/smartmontools-7.0
+	sys-block/parted
+	sys-fs/cryptsetup
+	sys-fs/lsscsi
+	sys-fs/lvm2[-device-mapper-only(-)]
+	virtual/awk
+	dev-python/bcrypt[${PYTHON_USEDEP}]
+	dev-python/cherrypy[${PYTHON_USEDEP}]
+	dev-python/python-dateutil[${PYTHON_USEDEP}]
+	dev-python/flask[${PYTHON_USEDEP}]
+	dev-python/jinja[${PYTHON_USEDEP}]
+	dev-python/pecan[${PYTHON_USEDEP}]
+	dev-python/prettytable[${PYTHON_USEDEP}]
+	dev-python/pyopenssl[${PYTHON_USEDEP}]
+	dev-python/requests[${PYTHON_USEDEP}]
+	dev-python/werkzeug[${PYTHON_USEDEP}]
+	mgr? (
+		dev-python/jsonpatch[${PYTHON_USEDEP}]
+		dev-python/more-itertools[${PYTHON_USEDEP}]
+		dev-python/numpy[${PYTHON_USEDEP}]
+		dev-python/pyjwt[${PYTHON_USEDEP}]
+		dev-python/pyyaml[${PYTHON_USEDEP}]
+		dev-python/routes[${PYTHON_USEDEP}]
+		sci-libs/scikit-learn[${PYTHON_USEDEP}]
+		dev-python/six[${PYTHON_USEDEP}]
+	)
+"
+# diskprediction needs older scipy not compatible with py38
+# bug #724438
+REQUIRED_USE="
+	${PYTHON_REQUIRED_USE}
+	?? ( jemalloc tcmalloc )
+	diskprediction? ( mgr !python_targets_python3_8 )
+	kafka? ( radosgw )
+	mgr? ( cephfs )
+	rabbitmq? ( radosgw )
+"
+RESTRICT="!test? ( test )"
+
+# the tests need root access
+RESTRICT="test? ( userpriv )"
+
+# distribution tarball does not include everything needed for tests
+RESTRICT+=" test"
+
+# create a non-debug release
+CMAKE_BUILD_TYPE=RelWithDebInfo
+
+# false positives unless all USE flags are on
+CMAKE_WARN_UNUSED_CLI=no
+
+PATCHES=(
+	"${FILESDIR}/ceph-12.2.0-use-provided-cpu-flag-values.patch"
+	"${FILESDIR}/ceph-14.2.0-cflags.patch"
+	"${FILESDIR}/ceph-12.2.4-boost-build-none-options.patch"
+	"${FILESDIR}/ceph-13.2.0-cflags.patch"
+	"${FILESDIR}/ceph-15.2.15-no-virtualenvs.patch"
+	"${FILESDIR}/ceph-13.2.2-dont-install-sysvinit-script.patch"
+	"${FILESDIR}/ceph-14.2.0-dpdk-cflags.patch"
+	"${FILESDIR}/ceph-14.2.0-cython-0.29.patch"
+	"${FILESDIR}/ceph-15.2.0-rocksdb-cmake.patch"
+	"${FILESDIR}/ceph-15.2.2-systemd-unit.patch"
+	"${FILESDIR}/ceph-15.2.3-spdk-compile.patch"
+	"${FILESDIR}/ceph-15.2.4-system-uring.patch"
+	"${FILESDIR}/ceph-15.2.9-dont-compile-isal_compress-if-don-t-have-SSE4_1.patch"
+	"${FILESDIR}/ceph-15.2.15-snappy-1.1.9.patch"
+)
+
+check-reqs_export_vars() {
+	CHECKREQS_DISK_BUILD="5400M"
+	CHECKREQS_DISK_USR="510M"
+
+	export CHECKREQS_DISK_BUILD CHECKREQS_DISK_USR
+}
+
+pkg_pretend() {
+	check-reqs_export_vars
+	check-reqs_pkg_pretend
+}
+
+pkg_setup() {
+	python_setup
+	check-reqs_export_vars
+	check-reqs_pkg_setup
+}
+
+src_prepare() {
+	cmake_src_prepare
+
+	if use system-boost; then
+		find "${S}" -name '*.cmake' -or -name 'CMakeLists.txt' -print0 \
+			| xargs --null sed -r \
+			-e 's|Boost::|boost_|g' \
+			-e 's|Boost_|boost_|g' \
+			-e 's|[Bb]oost_boost|boost_system|g' -i || die
+	fi
+
+	sed -r -e "s:DESTINATION .+\\):DESTINATION $(get_bashcompdir)\\):" \
+		-i src/bash_completion/CMakeLists.txt || die
+
+	sed  -e "s:objdump -p:$(tc-getOBJDUMP) -p:" -i CMakeLists.txt || die
+
+	if ! use diskprediction; then
+		rm -rf src/pybind/mgr/diskprediction_local || die
+	fi
+
+	# remove tests that need root access
+	rm src/test/cli/ceph-authtool/cap*.t || die
+}
+
+ceph_src_configure() {
+	local flag
+	local mycmakeargs=(
+		-DWITH_BABELTRACE=$(usex babeltrace)
+		-DWITH_BLUESTORE_PMEM=$(usex pmdk)
+		-DWITH_CEPHFS=$(usex cephfs)
+		-DWITH_CEPHFS_SHELL=$(usex cephfs)
+		-DWITH_DPDK=$(usex dpdk)
+		-DWITH_SPDK=$(usex spdk)
+		-DWITH_FUSE=$(usex fuse)
+		-DWITH_LTTNG=$(usex lttng)
+		-DWITH_GSSAPI=$(usex kerberos)
+		-DWITH_GRAFANA=$(usex grafana)
+		-DWITH_MGR=$(usex mgr)
+		-DWITH_MGR_DASHBOARD_FRONTEND=OFF
+		-DWITH_NUMA=$(usex numa)
+		-DWITH_OPENLDAP=$(usex ldap)
+		-DWITH_PYTHON3=3
+		-DWITH_RADOSGW=$(usex radosgw)
+		-DWITH_RADOSGW_AMQP_ENDPOINT=$(usex rabbitmq)
+		-DWITH_RADOSGW_KAFKA_ENDPOINT=$(usex kafka)
+		-DWITH_RBD_RWL=$(usex rbd-rwl)
+		-DWITH_SSL=$(usex ssl)
+		-DWITH_SYSTEMD=$(usex systemd)
+		-DWITH_TESTS=$(usex test)
+		-DWITH_LIBURING=$(usex uring)
+		-DWITH_XFS=$(usex xfs)
+		-DWITH_ZFS=$(usex zfs)
+		-DENABLE_SHARED="ON"
+		-DALLOCATOR=$(usex tcmalloc 'tcmalloc' "$(usex jemalloc 'jemalloc' 'libc')")
+		-DWITH_SYSTEM_PMDK=$(usex pmdk 'YES' "$(usex rbd-rwl)")
+		-DWITH_SYSTEM_BOOST=$(usex system-boost)
+		-DBOOST_J=$(makeopts_jobs)
+		-DWITH_SYSTEM_ROCKSDB=ON
+		-DWITH_RDMA=OFF
+		-DWITH_TBB=OFF
+		-DSYSTEMD_UNITDIR=$(systemd_get_systemunitdir)
+		-DCMAKE_INSTALL_SYSTEMD_SERVICEDIR=$(systemd_get_systemunitdir)
+		-DEPYTHON_VERSION="${EPYTHON#python}"
+		-DCMAKE_INSTALL_DOCDIR="${EPREFIX}/usr/share/doc/${PN}-${PVR}"
+		-DCMAKE_INSTALL_SYSCONFDIR="${EPREFIX}/etc"
+		-Wno-dev
+	)
+	if use amd64 || use x86; then
+		for flag in ${CPU_FLAGS_X86[@]}; do
+			mycmakeargs+=("$(usex cpu_flags_x86_${flag} "-DHAVE_INTEL_${flag^^}=1")")
+		done
+	fi
+
+	# needed for >=glibc-2.32
+	has_version '>=sys-libs/glibc-2.32' && mycmakeargs+=(-DWITH_REENTRANT_STRSIGNAL:BOOL=ON)
+
+	rm -f "${BUILD_DIR:-${S}}/CMakeCache.txt" \
+		|| die "failed to remove cmake cache"
+
+	cmake_src_configure
+
+	# bug #630232
+	sed -i "s:\"${T//:\\:}/${EPYTHON}/bin/python\":\"${PYTHON}\":" \
+		"${BUILD_DIR:-${S}}"/include/acconfig.h \
+		|| die "sed failed"
+}
+
+src_configure() {
+	use custom-cflags || strip-flags
+	ceph_src_configure
+}
+
+python_compile() {
+	local CMAKE_USE_DIR="${S}"
+	ceph_src_configure
+
+	pushd "${BUILD_DIR}/src/pybind" >/dev/null || die
+	emake VERBOSE=1 clean
+	emake VERBOSE=1 all
+
+	# python modules are only compiled with "make install" so we need to do this to
+	# prevent doing a bunch of compilation in src_install
+	DESTDIR="${T}" emake VERBOSE=1 install
+	popd >/dev/null || die
+}
+
+src_compile() {
+	cmake_build VERBOSE=1 all
+
+	# we have to do this here to prevent from building everything multiple times
+	python_copy_sources
+	python_foreach_impl python_compile
+}
+
+src_test() {
+	make check || die "make check failed"
+}
+
+python_install() {
+	local CMAKE_USE_DIR="${S}"
+	pushd "${BUILD_DIR}/src/pybind" >/dev/null || die
+	DESTDIR="${ED}" emake VERBOSE=1 install
+	popd >/dev/null || die
+
+	python_optimize
+}
+
+src_install() {
+	cmake_src_install
+	python_foreach_impl python_install
+
+	find "${ED}" -name '*.la' -type f -delete || die
+
+	exeinto /usr/$(get_libdir)/ceph
+	newexe "${BUILD_DIR}/bin/init-ceph" init-ceph
+
+	insinto /etc/logrotate.d/
+	newins "${FILESDIR}"/ceph.logrotate-r2 ${PN}
+
+	keepdir /var/lib/${PN}{,/tmp} /var/log/${PN}/stat
+
+	fowners -R ceph:ceph /var/log/ceph
+
+	newinitd "${FILESDIR}/rbdmap.initd-r1" rbdmap
+	newinitd "${FILESDIR}/${PN}.initd-r12" ${PN}
+	newconfd "${FILESDIR}/${PN}.confd-r5" ${PN}
+
+	insinto /etc/sysctl.d
+	newins "${FILESDIR}"/sysctld 90-${PN}.conf
+
+	use tcmalloc && newenvd "${FILESDIR}"/envd-tcmalloc 99${PN}-tcmalloc
+
+	# units aren't installed by the build system unless systemd is enabled
+	# so no point installing these with the USE flag disabled
+	if use systemd; then
+		systemd_install_serviced "${FILESDIR}/ceph-mds_at.service.conf" \
+			"ceph-mds@.service"
+
+		systemd_install_serviced "${FILESDIR}/ceph-osd_at.service.conf" \
+			"ceph-osd@.service"
+
+	fi
+
+	udev_dorules udev/*.rules
+	newtmpfiles "${FILESDIR}"/ceph-tmpfilesd ${PN}.conf
+
+	readme.gentoo_create_doc
+
+	python_setup
+
+	# bug #630232
+	sed -i -r "s:${T//:/\\:}/${EPYTHON}:/usr:" "${ED}"/usr/bin/ceph{,-crash} \
+		|| die "sed failed"
+
+	python_fix_shebang "${ED}"/usr/{,s}bin/
+
+	# python_fix_shebang apparently is not idempotent
+	local shebang_regex='(/usr/lib/python-exec/python[0-9]\.[0-9]/python)[0-9]\.[0-9]'
+	grep -r -E -l --null "${shebang_regex}" "${ED}"/usr/{s,}bin/ \
+		| xargs --null --no-run-if-empty -- sed -i -r  "s:${shebang_regex}:\1:" || die
+
+	local -a rados_classes=( "${ED}/usr/$(get_libdir)/rados-classes"/* )
+	dostrip -x "${rados_classes[@]#${ED}}"
+}
+
+pkg_postinst() {
+	readme.gentoo_print_elog
+	tmpfiles_process ${PN}.conf
+}

diff --git a/sys-cluster/ceph/files/ceph-15.2.15-no-virtualenvs.patch b/sys-cluster/ceph/files/ceph-15.2.15-no-virtualenvs.patch
new file mode 100644
index 00000000000..5ef7fb3a73e
--- /dev/null
+++ b/sys-cluster/ceph/files/ceph-15.2.15-no-virtualenvs.patch
@@ -0,0 +1,73 @@
+diff --git a/cmake/modules/AddCephTest.cmake b/cmake/modules/AddCephTest.cmake
+index c9ee8c1b8f6..09f75543da2 100644
+--- a/cmake/modules/AddCephTest.cmake
++++ b/cmake/modules/AddCephTest.cmake
+@@ -68,14 +68,6 @@ function(add_tox_test name)
+   endif()
+   string(REPLACE ";" "," tox_envs "${tox_envs}")
+   find_package(Python3 QUIET REQUIRED)
+-  add_custom_command(
+-    OUTPUT ${venv_path}/bin/activate
+-    COMMAND ${CMAKE_SOURCE_DIR}/src/tools/setup-virtualenv.sh --python="${Python3_EXECUTABLE}" ${venv_path}
+-    WORKING_DIRECTORY ${tox_path}
+-    COMMENT "preparing venv for ${name}")
+-  add_custom_target(${name}-venv
+-    DEPENDS ${venv_path}/bin/activate)
+-  add_dependencies(tests ${name}-venv)
+   add_test(
+     NAME ${test_name}
+     COMMAND ${CMAKE_SOURCE_DIR}/src/script/run_tox.sh
+diff --git a/src/ceph-volume/CMakeLists.txt b/src/ceph-volume/CMakeLists.txt
+index 9166553dc73..9a6c87595b9 100644
+--- a/src/ceph-volume/CMakeLists.txt
++++ b/src/ceph-volume/CMakeLists.txt
+@@ -8,22 +8,6 @@ if(FREEBSD)
+   add_subdirectory(plugin/zfs)
+ endif()
+ 
+-# Required for running ceph-volume inventory in a vstart environment
+-set(CEPH_VOLUME_VIRTUALENV ${CEPH_BUILD_VIRTUALENV}/ceph-volume-virtualenv)
+-
+-add_custom_command(
+-  OUTPUT ${CEPH_VOLUME_VIRTUALENV}/bin/python
+-  COMMAND ${CMAKE_SOURCE_DIR}/src/tools/setup-virtualenv.sh --python=${Python3_EXECUTABLE} ${CEPH_VOLUME_VIRTUALENV}
+-  WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}/src/ceph-volume
+-  COMMENT "ceph-volume venv is being created")
+-
+-add_custom_command(
+-  OUTPUT ${CEPH_VOLUME_VIRTUALENV}/bin/ceph-volume
+-  DEPENDS ${CEPH_VOLUME_VIRTUALENV}/bin/python
+-  COMMAND . ${CEPH_VOLUME_VIRTUALENV}/bin/activate && ${CEPH_VOLUME_VIRTUALENV}/bin/python setup.py develop && deactivate
+-  WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}/src/ceph-volume
+-  COMMENT "${CMAKE_SOURCE_DIR}/src/ceph-volume")
+-
+ add_custom_target(ceph-volume-venv-setup
+   DEPENDS ${CEPH_VOLUME_VIRTUALENV}/bin/ceph-volume)
+ 
+diff --git a/src/pybind/mgr/dashboard/CMakeLists.txt b/src/pybind/mgr/dashboard/CMakeLists.txt
+index 92e4cdc538b..3153c93c459 100644
+--- a/src/pybind/mgr/dashboard/CMakeLists.txt
++++ b/src/pybind/mgr/dashboard/CMakeLists.txt
+@@ -5,9 +5,6 @@ function(add_npm_command)
+   set(multi_kw COMMAND DEPENDS)
+   cmake_parse_arguments(NC "${options}" "${single_kw}" "${multi_kw}" ${ARGN})
+   string(REPLACE ";" " " command "${NC_COMMAND}")
+-  if(NC_NODEENV)
+-    string(REGEX REPLACE "^(.*(npm|npx) .*)$" ". ${mgr-dashboard-nodeenv-dir}/bin/activate && \\1 && deactivate" command ${command})
+-  endif()
+   string(REPLACE " " ";" command "${command}")
+   add_custom_command(
+     OUTPUT "${NC_OUTPUT}"
+@@ -29,10 +26,8 @@ else()
+   set(nodeenv NODEENV)
+ 
+   add_custom_command(
+-    OUTPUT "${mgr-dashboard-nodeenv-dir}/bin/npm"
+-    COMMAND ${CMAKE_SOURCE_DIR}/src/tools/setup-virtualenv.sh --python=${MGR_PYTHON_EXECUTABLE} ${mgr-dashboard-nodeenv-dir}
+-    COMMAND ${mgr-dashboard-nodeenv-dir}/bin/pip install nodeenv
+-    COMMAND ${mgr-dashboard-nodeenv-dir}/bin/nodeenv --verbose -p --node=10.18.1
++    OUTPUT "npm"
++    COMMAND nodeenv --verbose -p --node=10.18.1
+     WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
+     COMMENT "dashboard nodeenv is being installed"
+   )

diff --git a/sys-cluster/ceph/files/ceph-15.2.15-snappy-1.1.9.patch b/sys-cluster/ceph/files/ceph-15.2.15-snappy-1.1.9.patch
new file mode 100644
index 00000000000..3b38c170873
--- /dev/null
+++ b/sys-cluster/ceph/files/ceph-15.2.15-snappy-1.1.9.patch
@@ -0,0 +1,36 @@
+From 4c13a798dcf2e783afd7558bf3541dc025de854a Mon Sep 17 00:00:00 2001
+From: Nathan Cutler <ncutler@suse.com>
+Date: Tue, 27 Jul 2021 15:27:58 +0200
+Subject: [PATCH] compression/snappy: use uint32_t to be compatible with 1.1.9
+
+The snappy project made the following change in snappy.h between version 1.1.8
+and 1.1.9:
+
+<   bool GetUncompressedLength(Source* source, uint32_t* result);
+---
+>   bool GetUncompressedLength(Source* source, uint32* result);
+
+This causes Ceph to FTBFS with snappy 1.1.9.
+
+Thanks to Chris Denice for bringing this to our attention via Redmine.
+
+Fixes: https://tracker.ceph.com/issues/50934
+Signed-off-by: Nathan Cutler <ncutler@suse.com>
+---
+ src/compressor/snappy/SnappyCompressor.h | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/src/compressor/snappy/SnappyCompressor.h b/src/compressor/snappy/SnappyCompressor.h
+index 25393f8dc1ff4..93206c4007bed 100644
+--- a/src/compressor/snappy/SnappyCompressor.h
++++ b/src/compressor/snappy/SnappyCompressor.h
+@@ -97,8 +97,8 @@ class SnappyCompressor : public Compressor {
+     if (qat_enabled)
+       return qat_accel.decompress(p, compressed_len, dst, compressor_message);
+ #endif
+-    snappy::uint32 res_len = 0;
+     BufferlistSource source_1(p, compressed_len);
++    uint32_t res_len = 0;
+     if (!snappy::GetUncompressedLength(&source_1, &res_len)) {
+       return -1;
+     }


^ permalink raw reply related	[flat|nested] 68+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-cluster/ceph/, sys-cluster/ceph/files/
@ 2021-10-25 17:02 Patrick McLean
  0 siblings, 0 replies; 68+ messages in thread
From: Patrick McLean @ 2021-10-25 17:02 UTC (permalink / raw
  To: gentoo-commits

commit:     1a85196fb04bb10b91b46442bd54f8e206bf9fc1
Author:     Patrick McLean <chutzpah <AT> gentoo <DOT> org>
AuthorDate: Sat Oct 23 00:54:54 2021 +0000
Commit:     Patrick McLean <chutzpah <AT> gentoo <DOT> org>
CommitDate: Mon Oct 25 17:02:46 2021 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=1a85196f

sys-cluster/ceph: Drop old versions

Package-Manager: Portage-3.0.28, Repoman-3.0.3
Signed-off-by: Patrick McLean <chutzpah <AT> gentoo.org>

 sys-cluster/ceph/Manifest                          |   5 -
 sys-cluster/ceph/ceph-14.2.21-r2.ebuild            | 393 ------------------
 sys-cluster/ceph/ceph-15.2.12-r2.ebuild            | 404 ------------------
 sys-cluster/ceph/ceph-15.2.13-r2.ebuild            | 402 ------------------
 sys-cluster/ceph/ceph-15.2.14.ebuild               | 402 ------------------
 sys-cluster/ceph/ceph-16.2.4-r2.ebuild             | 451 ---------------------
 .../ceph/files/ceph-15.2.13-no-virtualenvs.patch   |  73 ----
 7 files changed, 2130 deletions(-)

diff --git a/sys-cluster/ceph/Manifest b/sys-cluster/ceph/Manifest
index 7f5036a1bc4..0998b3de4ea 100644
--- a/sys-cluster/ceph/Manifest
+++ b/sys-cluster/ceph/Manifest
@@ -1,9 +1,4 @@
-DIST ceph-14.2.21.tar.gz 129272778 BLAKE2B f82f452e0f0c40a95ea1bdb3654c2d322caa3edeeb05e41247e02a8ffe731c570d9e49aefa61c447a8b73620d4a9b9872335171f1e08fbd9a08eea930ccbfe76 SHA512 39b4a0624dcab2bafa50f51a42155fcf96dad74531a001d75009ad246a8ca80ce81ae538b34c0a1b773691c363626f1d0342f2439b711bd0dd16214592171884
 DIST ceph-14.2.22.tar.gz 130597047 BLAKE2B 58bbb3243de076ed1d25dfd7bd75717c50ad15d16690dcbd1511d1b506477845efc3ff7fbe713cf18fb8cfcc8c16707ad2a0f30159e3198ff82e57fbd2eb3cf2 SHA512 1c66661e1a39fa9151e95e33c390b810ffe269465d8785e2197cc15b8d83bd2edde77de48a8abd71a4da68cd5830ff14bcdf6b98fd17edabe85caeb1eca018d3
-DIST ceph-15.2.12.tar.gz 148509713 BLAKE2B 4962e7d574b38592a874a1b3fa8610bb2d0afc8713d995d67a790c025bb086cb619cbbaec76482ec096b4c55b9f1df383f5bd4806a231bc88e70ac3efbac24b5 SHA512 08266a2e9a7ca5a37e03f340873571fd012c630dd898a87241cd97c29760b2bf41fe64c8883e7b08e0f83c26245072cd26e69ecb1db02378d1ec38335ba1cd0f
-DIST ceph-15.2.13.tar.gz 148542333 BLAKE2B 2e9668bcb0fd283ec4ab51b0c6142fc9a3b6310eb5d34e07da5e6b73b55dd7976db5ab9c78a93684ddc2f51873b1a17c4d31c5f5647b2d43a2826ee5362f7e5d SHA512 bde28c331c489db0845959f65c425146c317466a7793f56a83e2827dec35b8cd6f600bf9056151c1e6926cc0155deebbc8681c240ac9f37ad876b9a6afae96da
-DIST ceph-15.2.14.tar.gz 148573546 BLAKE2B dc49a86e17702d73afdcde3932ee3bcb79e50bc5a97e207095a7907e34dac9f44de391b5dcace7f26d3466ca715d9cfd172f65ebbad4ddbc0280daa4643a5976 SHA512 eacc4dea0d8dfe2753aff78d89324d81c5634a784313c3da8ded778e2734958c216f8c705b25f070d7ba66b559424ad3c47cb68852f66f8c9c83a83ca78ad5a5
 DIST ceph-15.2.15.tar.gz 148584988 BLAKE2B 6ff629846a74c9b30c7e5d54731e2c85c67942f1871194cc8e704c56826b86cdd6163d6693805d9d6210bc0e3fc4d84fada12b9d81a5640e34d76be83cfe6e47 SHA512 e4d929ffda5c3e31767d93340fb97b5d49ca1d5641f6c30134ce5542486fc4f72684aef2ef47cb940a332e8b9144d8cec63ce8a9f86c773dbc0ccebdd8e7fb19
-DIST ceph-16.2.4.tar.gz 155840423 BLAKE2B a803ffa61ac9fd6d42790d6d8e12aa8df843968627df0051475355f3ba0dc1272afa3d9e2716115ad769b2f322d7bd239d99b89e51610e89ce9efe39af4f01ae SHA512 8904e7fcabd50276e4e86735fd85dba96f417c194c219025146f994707def7abe372528b0f2e862e274b2f405d7b791bac86b6cbb8d57cecd6f44023a2ffb6f6
 DIST ceph-16.2.5.tar.gz 155933825 BLAKE2B 3c8f3f1663b91d4de1e3736317add0b88d9083db5ab2fc3e2e913278977deec076bd4410e309f4e47ccc169d74356c2ab1221c94532cc45ee75ec73673fc42a0 SHA512 5c32f9aa817ecfa788725bcfe5743756853ca9b3f9ee453242110f1b5e1bdd1feaef79ad9ccf2b185445c9644bcecb1355e151a2255bfd27edc9818e0d6d4c4a
 DIST ceph-16.2.6.tar.gz 156087762 BLAKE2B e2595d1a958200e4f1877e4597c53319a9eee2e95606ea1b3ba2966a0d17f1cfcf52e05cca59752cc6ac383e32d944c380920d111aec840631235aef273a4de1 SHA512 f01e29088ae566d4111c21b5d0c173ddb02badaa0d8272f7f1548eb8e66a95dc7052b3945d9fb342e6c97a65c57648fda394317340d1f4236a57af7580073658

diff --git a/sys-cluster/ceph/ceph-14.2.21-r2.ebuild b/sys-cluster/ceph/ceph-14.2.21-r2.ebuild
deleted file mode 100644
index 5d1b43cae8f..00000000000
--- a/sys-cluster/ceph/ceph-14.2.21-r2.ebuild
+++ /dev/null
@@ -1,393 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-PYTHON_COMPAT=( python3_{7,8} )
-DISTUTILS_USE_SETUPTOOLS=rdepend
-CMAKE_MAKEFILE_GENERATOR=emake
-
-DISTUTILS_OPTIONAL=1
-
-inherit check-reqs bash-completion-r1 cmake distutils-r1 flag-o-matic \
-		python-r1 udev readme.gentoo-r1 toolchain-funcs systemd tmpfiles
-
-if [[ ${PV} == *9999* ]]; then
-	inherit git-r3
-	EGIT_REPO_URI="https://github.com/ceph/ceph.git"
-	SRC_URI=""
-else
-	SRC_URI="https://download.ceph.com/tarballs/${P}.tar.gz"
-	KEYWORDS="amd64 ~ppc64"
-fi
-
-DESCRIPTION="Ceph distributed filesystem"
-HOMEPAGE="https://ceph.com/"
-
-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"
-SLOT="0"
-
-CPU_FLAGS_X86=(sse{,2,3,4_1,4_2} ssse3)
-
-IUSE="babeltrace +cephfs custom-cflags diskprediction dpdk fuse grafana jemalloc
-	kafka kerberos ldap lttng +mgr numa rabbitmq +radosgw +ssl spdk system-boost
-	systemd +tcmalloc test xfs zfs"
-IUSE+=" $(printf "cpu_flags_x86_%s\n" ${CPU_FLAGS_X86[@]})"
-
-DEPEND="
-	acct-group/ceph
-	acct-user/ceph
-	virtual/libcrypt:=
-	virtual/libudev:=
-	app-arch/bzip2:=
-	app-arch/lz4:=
-	app-arch/snappy:=
-	app-arch/zstd:=
-	app-shells/bash:0
-	app-misc/jq:=
-	dev-libs/crypto++:=
-	dev-libs/leveldb:=[snappy,tcmalloc(-)?]
-	dev-libs/libaio:=
-	dev-libs/libnl:3=
-	dev-libs/libxml2:=
-	<dev-libs/rocksdb-6.15:=
-	dev-libs/xmlsec:=[openssl]
-	dev-cpp/yaml-cpp:=
-	dev-libs/nss:=
-	dev-libs/protobuf:=
-	net-dns/c-ares:=
-	net-libs/gnutls:=
-	sys-auth/oath-toolkit:=
-	sys-apps/coreutils
-	sys-apps/grep
-	sys-apps/hwloc:=
-	sys-apps/keyutils:=
-	sys-apps/util-linux:=
-	sys-apps/sed
-	sys-apps/util-linux
-	sys-libs/libcap-ng:=
-	sys-libs/ncurses:0=
-	sys-libs/zlib:=
-	sys-process/numactl:=
-	x11-libs/libpciaccess:=
-	babeltrace? ( dev-util/babeltrace )
-	fuse? ( sys-fs/fuse:0= )
-	jemalloc? ( dev-libs/jemalloc:= )
-	!jemalloc? ( >=dev-util/google-perftools-2.6.1:= )
-	kafka? ( dev-libs/librdkafka:= )
-	kerberos? ( virtual/krb5 )
-	ldap? ( net-nds/openldap:= )
-	lttng? ( dev-util/lttng-ust:= )
-	rabbitmq? ( net-libs/rabbitmq-c:= )
-	radosgw? (
-		dev-libs/expat:=
-		dev-libs/openssl:=
-		net-misc/curl:=[curl_ssl_openssl]
-	)
-	ssl? ( dev-libs/openssl:= )
-	system-boost? ( dev-libs/boost:=[threads(+),context,python,${PYTHON_USEDEP}] )
-	xfs? ( sys-fs/xfsprogs:= )
-	zfs? ( sys-fs/zfs:= )
-	${PYTHON_DEPS}
-"
-BDEPEND="
-	amd64? ( dev-lang/yasm )
-	x86? ( dev-lang/yasm )
-	app-arch/cpio
-	>=dev-util/cmake-3.5.0
-	dev-python/cython[${PYTHON_USEDEP}]
-	dev-python/sphinx
-	dev-util/cunit
-	dev-util/gperf
-	dev-util/ragel
-	dev-util/valgrind
-	sys-apps/coreutils
-	sys-apps/findutils
-	sys-apps/grep
-	sys-apps/sed
-	sys-apps/which
-	sys-devel/bc
-	sys-devel/patch
-	virtual/pkgconfig
-	test? (
-		dev-python/coverage[${PYTHON_USEDEP}]
-		dev-python/virtualenv[${PYTHON_USEDEP}]
-		dev-python/requests-mock[${PYTHON_USEDEP}]
-		sys-apps/grep[pcre]
-		sys-fs/btrfs-progs
-	)
-"
-RDEPEND="${DEPEND}
-	app-admin/sudo
-	net-misc/socat
-	sys-apps/gptfdisk
-	>=sys-apps/smartmontools-7.0
-	sys-block/parted
-	sys-fs/cryptsetup
-	sys-fs/lsscsi
-	sys-fs/lvm2[-device-mapper-only(-)]
-	virtual/awk
-	dev-python/bcrypt[${PYTHON_USEDEP}]
-	dev-python/cherrypy[${PYTHON_USEDEP}]
-	dev-python/flask[${PYTHON_USEDEP}]
-	dev-python/jinja[${PYTHON_USEDEP}]
-	dev-python/pecan[${PYTHON_USEDEP}]
-	dev-python/prettytable[${PYTHON_USEDEP}]
-	dev-python/pyopenssl[${PYTHON_USEDEP}]
-	dev-python/requests[${PYTHON_USEDEP}]
-	dev-python/werkzeug[${PYTHON_USEDEP}]
-	mgr? (
-		dev-python/more-itertools[${PYTHON_USEDEP}]
-		dev-python/numpy[${PYTHON_USEDEP}]
-		<dev-python/pyjwt-2.0[${PYTHON_USEDEP}]
-		dev-python/pyyaml[${PYTHON_USEDEP}]
-		dev-python/routes[${PYTHON_USEDEP}]
-		sci-libs/scikit-learn[${PYTHON_USEDEP}]
-		dev-python/six[${PYTHON_USEDEP}]
-	)
-"
-# diskprediction needs older scipy not compatible with py38
-# bug #724438
-REQUIRED_USE="
-	${PYTHON_REQUIRED_USE}
-	?? ( jemalloc tcmalloc )
-	diskprediction? ( mgr !python_targets_python3_8 )
-	kafka? ( radosgw )
-	mgr? ( cephfs )
-	rabbitmq? ( radosgw )
-"
-RESTRICT="!test? ( test )"
-
-# the tests need root access
-RESTRICT="test? ( userpriv )"
-
-# distribution tarball does not include everything needed for tests
-RESTRICT+=" test"
-
-# create a non-debug release
-CMAKE_BUILD_TYPE=RelWithDebInfo
-
-# false positives unless all USE flags are on
-CMAKE_WARN_UNUSED_CLI=no
-
-PATCHES=(
-	"${FILESDIR}/ceph-12.2.0-use-provided-cpu-flag-values.patch"
-	"${FILESDIR}/ceph-14.2.0-cflags.patch"
-	"${FILESDIR}/ceph-12.2.4-boost-build-none-options.patch"
-	"${FILESDIR}/ceph-13.2.0-cflags.patch"
-	"${FILESDIR}/ceph-14.2.0-mgr-python-version.patch"
-	"${FILESDIR}/ceph-14.2.5-no-virtualenvs.patch"
-	"${FILESDIR}/ceph-13.2.2-dont-install-sysvinit-script.patch"
-	"${FILESDIR}/ceph-14.2.0-dpdk-cflags.patch"
-	"${FILESDIR}/ceph-14.2.0-link-crc32-statically.patch"
-	"${FILESDIR}/ceph-14.2.0-cython-0.29.patch"
-	"${FILESDIR}/ceph-14.2.3-dpdk-compile-fix-1.patch"
-	"${FILESDIR}/ceph-14.2.4-python-executable.patch"
-	"${FILESDIR}/ceph-14.2.4-undefined-behaviour.patch"
-	"${FILESDIR}/ceph-14.2.10-build-without-mgr.patch"
-	"${FILESDIR}/ceph-14.2.11-systemd-unit-fix.patch"
-	"${FILESDIR}/ceph-15.2.9-dont-compile-isal_compress-if-don-t-have-SSE4_1.patch"
-)
-
-check-reqs_export_vars() {
-	CHECKREQS_DISK_BUILD="5200M"
-	CHECKREQS_DISK_USR="510M"
-
-	export CHECKREQS_DISK_BUILD CHECKREQS_DISK_USR
-}
-
-pkg_pretend() {
-	check-reqs_export_vars
-	check-reqs_pkg_pretend
-}
-
-pkg_setup() {
-	python_setup
-	check-reqs_export_vars
-	check-reqs_pkg_setup
-}
-
-src_prepare() {
-	cmake_src_prepare
-
-	if use system-boost; then
-		find "${S}" -name '*.cmake' -or -name 'CMakeLists.txt' -print0 \
-			| xargs --null sed -r \
-			-e 's|Boost::|boost_|g' \
-			-e 's|Boost_|boost_|g' \
-			-e 's|[Bb]oost_boost|boost_system|g' -i || die
-	fi
-
-	sed -r -e "s:DESTINATION .+\\):DESTINATION $(get_bashcompdir)\\):" \
-		-i src/bash_completion/CMakeLists.txt || die
-
-	sed  -e "s:objdump -p:$(tc-getOBJDUMP) -p:" -i CMakeLists.txt || die
-
-	if ! use diskprediction; then
-		rm -rf src/pybind/mgr/diskprediction_local || die
-	fi
-
-	# remove tests that need root access
-	rm src/test/cli/ceph-authtool/cap*.t || die
-}
-
-ceph_src_configure() {
-	local flag
-	local mycmakeargs=(
-		-DWITH_BABELTRACE=$(usex babeltrace)
-		-DWITH_CEPHFS=$(usex cephfs)
-		-DWITH_CEPHFS_SHELL=$(usex cephfs)
-		-DWITH_DPDK=$(usex dpdk)
-		-DWITH_SPDK=$(usex spdk)
-		-DWITH_FUSE=$(usex fuse)
-		-DWITH_LTTNG=$(usex lttng)
-		-DWITH_GSSAPI=$(usex kerberos)
-		-DWITH_GRAFANA=$(usex grafana)
-		-DWITH_MGR=$(usex mgr)
-		-DWITH_MGR_DASHBOARD_FRONTEND=OFF
-		-DWITH_NUMA=$(usex numa)
-		-DWITH_OPENLDAP=$(usex ldap)
-		-DWITH_PYTHON3=3
-		-DWITH_RADOSGW=$(usex radosgw)
-		-DWITH_RADOSGW_AMQP_ENDPOINT=$(usex rabbitmq)
-		-DWITH_RADOSGW_KAFKA_ENDPOINT=$(usex kafka)
-		-DWITH_SSL=$(usex ssl)
-		-DWITH_SYSTEMD=$(usex systemd)
-		-DWITH_TESTS=$(usex test)
-		-DWITH_XFS=$(usex xfs)
-		-DWITH_ZFS=$(usex zfs)
-		-DENABLE_SHARED="ON"
-		-DALLOCATOR=$(usex tcmalloc 'tcmalloc' "$(usex jemalloc 'jemalloc' 'libc')")
-		-DWITH_SYSTEM_BOOST=$(usex system-boost)
-		-DBOOST_J=$(makeopts_jobs)
-		-DWITH_SYSTEM_ROCKSDB=ON
-		-DWITH_RDMA=OFF
-		-DWITH_TBB=OFF
-		-DSYSTEMD_UNITDIR=$(systemd_get_systemunitdir)
-		-DCMAKE_INSTALL_SYSTEMD_SERVICEDIR=$(systemd_get_systemunitdir)
-		-DEPYTHON_VERSION="${EPYTHON#python}"
-		-DCMAKE_INSTALL_DOCDIR="${EPREFIX}/usr/share/doc/${PN}-${PVR}"
-		-DCMAKE_INSTALL_SYSCONFDIR="${EPREFIX}/etc"
-		-Wno-dev
-	)
-	if use amd64 || use x86; then
-		for flag in ${CPU_FLAGS_X86[@]}; do
-			mycmakeargs+=("$(usex cpu_flags_x86_${flag} "-DHAVE_INTEL_${flag^^}=1")")
-		done
-	fi
-
-	# needed for >=glibc-2.32
-	has_version '>=sys-libs/glibc-2.32' && mycmakeargs+=(-DWITH_REENTRANT_STRSIGNAL:BOOL=ON)
-
-	rm -f "${BUILD_DIR:-${S}}/CMakeCache.txt" \
-		|| die "failed to remove cmake cache"
-
-	cmake_src_configure
-
-	# bug #630232
-	sed -i "s:\"${T//:\\:}/${EPYTHON}/bin/python\":\"${PYTHON}\":" \
-		"${BUILD_DIR:-${S}}"/include/acconfig.h \
-		|| die "sed failed"
-}
-
-src_configure() {
-	use custom-cflags || strip-flags
-	ceph_src_configure
-}
-
-python_compile() {
-	local CMAKE_USE_DIR="${S}"
-	ceph_src_configure
-
-	pushd "${BUILD_DIR}/src/pybind" >/dev/null || die
-	emake VERBOSE=1 clean
-	emake VERBOSE=1 all
-
-	# python modules are only compiled with "make install" so we need to do this to
-	# prevent doing a bunch of compilation in src_install
-	DESTDIR="${T}" emake VERBOSE=1 install
-	popd >/dev/null || die
-}
-
-src_compile() {
-	cmake_build VERBOSE=1 all
-
-	# we have to do this here to prevent from building everything multiple times
-	python_copy_sources
-	python_foreach_impl python_compile
-}
-
-src_test() {
-	make check || die "make check failed"
-}
-
-python_install() {
-	local CMAKE_USE_DIR="${S}"
-	pushd "${BUILD_DIR}/src/pybind" >/dev/null || die
-	DESTDIR="${ED}" emake VERBOSE=1 install
-	popd >/dev/null || die
-
-	python_optimize
-}
-
-src_install() {
-	cmake_src_install
-	python_foreach_impl python_install
-
-	find "${ED}" -name '*.la' -type f -delete || die
-
-	exeinto /usr/$(get_libdir)/ceph
-	newexe "${BUILD_DIR}/bin/init-ceph" init-ceph
-
-	insinto /etc/logrotate.d/
-	newins "${FILESDIR}"/ceph.logrotate-r2 ${PN}
-
-	keepdir /var/lib/${PN}{,/tmp} /var/log/${PN}/stat
-
-	fowners -R ceph:ceph /var/log/ceph
-
-	newinitd "${FILESDIR}/rbdmap.initd" rbdmap
-	newinitd "${FILESDIR}/${PN}.initd-r12" ${PN}
-	newconfd "${FILESDIR}/${PN}.confd-r5" ${PN}
-
-	insinto /etc/sysctl.d
-	newins "${FILESDIR}"/sysctld 90-${PN}.conf
-
-	use tcmalloc && newenvd "${FILESDIR}"/envd-tcmalloc 99${PN}-tcmalloc
-
-	# units aren't installed by the build system unless systemd is enabled
-	# so no point installing these with the USE flag disabled
-	if use systemd; then
-		systemd_install_serviced "${FILESDIR}/ceph-mds_at.service.conf" \
-			"ceph-mds@.service"
-
-		systemd_install_serviced "${FILESDIR}/ceph-osd_at.service.conf" \
-			"ceph-osd@.service"
-
-	fi
-
-	udev_dorules udev/*.rules
-	newtmpfiles "${FILESDIR}"/ceph-tmpfilesd ${PN}.conf
-
-	readme.gentoo_create_doc
-
-	python_setup
-
-	# bug #630232
-	sed -i -r "s:${T//:/\\:}/${EPYTHON}:/usr:" "${ED}"/usr/bin/ceph{,-crash} \
-		|| die "sed failed"
-
-	python_fix_shebang "${ED}"/usr/{,s}bin/
-
-	# python_fix_shebang apparently is not idempotent
-	local shebang_regex='(/usr/lib/python-exec/python[0-9]\.[0-9]/python)[0-9]\.[0-9]'
-	grep -r -E -l --null "${shebang_regex}" "${ED}"/usr/{s,}bin/ \
-		| xargs --null --no-run-if-empty -- sed -i -r  "s:${shebang_regex}:\1:" || die
-
-	local -a rados_classes=( "${ED}/usr/$(get_libdir)/rados-classes"/* )
-	dostrip -x "${rados_classes[@]#${ED}}"
-}
-
-pkg_postinst() {
-	readme.gentoo_print_elog
-	tmpfiles_process ${PN}.conf
-}

diff --git a/sys-cluster/ceph/ceph-15.2.12-r2.ebuild b/sys-cluster/ceph/ceph-15.2.12-r2.ebuild
deleted file mode 100644
index 7e0b490c135..00000000000
--- a/sys-cluster/ceph/ceph-15.2.12-r2.ebuild
+++ /dev/null
@@ -1,404 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-PYTHON_COMPAT=( python3_{7..9} )
-DISTUTILS_USE_SETUPTOOLS=rdepend
-CMAKE_MAKEFILE_GENERATOR=emake
-
-DISTUTILS_OPTIONAL=1
-
-inherit check-reqs bash-completion-r1 cmake distutils-r1 flag-o-matic \
-		python-r1 udev readme.gentoo-r1 toolchain-funcs systemd tmpfiles
-
-if [[ ${PV} == *9999* ]]; then
-	inherit git-r3
-	EGIT_REPO_URI="https://github.com/ceph/ceph.git"
-	SRC_URI=""
-else
-	SRC_URI="https://download.ceph.com/tarballs/${P}.tar.gz"
-	KEYWORDS="~amd64 ~arm64 ~ppc64"
-fi
-
-DESCRIPTION="Ceph distributed filesystem"
-HOMEPAGE="https://ceph.com/"
-
-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"
-SLOT="0"
-
-CPU_FLAGS_X86=(sse{,2,3,4_1,4_2} ssse3)
-
-IUSE="babeltrace +cephfs custom-cflags diskprediction dpdk fuse grafana jemalloc
-	kafka kerberos ldap lttng +mgr numa pmdk rabbitmq +radosgw rbd-rwl +ssl spdk
-	system-boost systemd +tcmalloc test uring xfs zfs"
-IUSE+=" $(printf "cpu_flags_x86_%s\n" ${CPU_FLAGS_X86[@]})"
-
-DEPEND="
-	acct-group/ceph
-	acct-user/ceph
-	virtual/libcrypt:=
-	virtual/libudev:=
-	app-arch/bzip2:=
-	app-arch/lz4:=
-	app-arch/snappy:=
-	app-arch/zstd:=
-	app-shells/bash:0
-	app-misc/jq:=
-	dev-libs/crypto++:=
-	dev-cpp/gflags:=
-	dev-libs/leveldb:=[snappy,tcmalloc(-)?]
-	dev-libs/libaio:=
-	dev-libs/libfmt:=
-	dev-libs/libnl:3=
-	dev-libs/libxml2:=
-	<dev-libs/rocksdb-6.15:=
-	dev-libs/xmlsec:=[openssl]
-	dev-cpp/yaml-cpp:=
-	dev-libs/nss:=
-	dev-libs/protobuf:=
-	net-dns/c-ares:=
-	net-libs/gnutls:=
-	sys-auth/oath-toolkit:=
-	sys-apps/coreutils
-	sys-apps/grep
-	sys-apps/hwloc:=
-	sys-apps/keyutils:=
-	sys-apps/util-linux:=
-	sys-apps/sed
-	sys-apps/util-linux
-	sys-libs/libcap-ng:=
-	sys-libs/ncurses:0=
-	sys-libs/zlib:=
-	sys-process/numactl:=
-	x11-libs/libpciaccess:=
-	babeltrace? ( dev-util/babeltrace )
-	fuse? ( sys-fs/fuse:0= )
-	jemalloc? ( dev-libs/jemalloc:= )
-	!jemalloc? ( >=dev-util/google-perftools-2.6.1:= )
-	kafka? ( dev-libs/librdkafka:= )
-	kerberos? ( virtual/krb5 )
-	ldap? ( net-nds/openldap:= )
-	lttng? ( dev-util/lttng-ust:= )
-	pmdk? ( dev-libs/pmdk:= )
-	rabbitmq? ( net-libs/rabbitmq-c:= )
-	radosgw? (
-		dev-libs/expat:=
-		dev-libs/openssl:=
-		net-misc/curl:=[curl_ssl_openssl]
-	)
-	rbd-rwl? ( dev-libs/pmdk:= )
-	ssl? ( dev-libs/openssl:= )
-	system-boost? ( >=dev-libs/boost-1.72:=[threads(+),context,python,${PYTHON_USEDEP}] )
-	uring? ( sys-libs/liburing:= )
-	xfs? ( sys-fs/xfsprogs:= )
-	zfs? ( sys-fs/zfs:= )
-	${PYTHON_DEPS}
-"
-BDEPEND="
-	amd64? ( dev-lang/yasm )
-	x86? ( dev-lang/yasm )
-	app-arch/cpio
-	>=dev-util/cmake-3.5.0
-	dev-python/cython[${PYTHON_USEDEP}]
-	dev-python/sphinx
-	dev-util/cunit
-	dev-util/gperf
-	dev-util/ragel
-	dev-util/valgrind
-	sys-apps/coreutils
-	sys-apps/findutils
-	sys-apps/grep
-	sys-apps/sed
-	sys-apps/which
-	sys-devel/bc
-	sys-devel/patch
-	virtual/pkgconfig
-	test? (
-		dev-python/coverage[${PYTHON_USEDEP}]
-		dev-python/virtualenv[${PYTHON_USEDEP}]
-		dev-python/requests-mock[${PYTHON_USEDEP}]
-		sys-apps/grep[pcre]
-		sys-fs/btrfs-progs
-	)
-"
-RDEPEND="${DEPEND}
-	app-admin/sudo
-	net-misc/socat
-	sys-apps/gptfdisk
-	sys-apps/nvme-cli
-	>=sys-apps/smartmontools-7.0
-	sys-block/parted
-	sys-fs/cryptsetup
-	sys-fs/lsscsi
-	sys-fs/lvm2[-device-mapper-only(-)]
-	virtual/awk
-	dev-python/bcrypt[${PYTHON_USEDEP}]
-	dev-python/cherrypy[${PYTHON_USEDEP}]
-	dev-python/python-dateutil[${PYTHON_USEDEP}]
-	dev-python/flask[${PYTHON_USEDEP}]
-	dev-python/jinja[${PYTHON_USEDEP}]
-	dev-python/pecan[${PYTHON_USEDEP}]
-	dev-python/prettytable[${PYTHON_USEDEP}]
-	dev-python/pyopenssl[${PYTHON_USEDEP}]
-	dev-python/requests[${PYTHON_USEDEP}]
-	dev-python/werkzeug[${PYTHON_USEDEP}]
-	mgr? (
-		dev-python/jsonpatch[${PYTHON_USEDEP}]
-		dev-python/more-itertools[${PYTHON_USEDEP}]
-		dev-python/numpy[${PYTHON_USEDEP}]
-		dev-python/pyjwt[${PYTHON_USEDEP}]
-		dev-python/pyyaml[${PYTHON_USEDEP}]
-		dev-python/routes[${PYTHON_USEDEP}]
-		sci-libs/scikit-learn[${PYTHON_USEDEP}]
-		dev-python/six[${PYTHON_USEDEP}]
-	)
-"
-# diskprediction needs older scipy not compatible with py38
-# bug #724438
-REQUIRED_USE="
-	${PYTHON_REQUIRED_USE}
-	?? ( jemalloc tcmalloc )
-	diskprediction? ( mgr !python_targets_python3_8 )
-	kafka? ( radosgw )
-	mgr? ( cephfs )
-	rabbitmq? ( radosgw )
-"
-RESTRICT="!test? ( test )"
-
-# the tests need root access
-RESTRICT="test? ( userpriv )"
-
-# distribution tarball does not include everything needed for tests
-RESTRICT+=" test"
-
-# create a non-debug release
-CMAKE_BUILD_TYPE=RelWithDebInfo
-
-# false positives unless all USE flags are on
-CMAKE_WARN_UNUSED_CLI=no
-
-PATCHES=(
-	"${FILESDIR}/ceph-12.2.0-use-provided-cpu-flag-values.patch"
-	"${FILESDIR}/ceph-14.2.0-cflags.patch"
-	"${FILESDIR}/ceph-12.2.4-boost-build-none-options.patch"
-	"${FILESDIR}/ceph-13.2.0-cflags.patch"
-	"${FILESDIR}/ceph-15.2.0-no-virtualenvs.patch"
-	"${FILESDIR}/ceph-13.2.2-dont-install-sysvinit-script.patch"
-	"${FILESDIR}/ceph-14.2.0-dpdk-cflags.patch"
-	"${FILESDIR}/ceph-14.2.0-link-crc32-statically.patch"
-	"${FILESDIR}/ceph-14.2.0-cython-0.29.patch"
-	"${FILESDIR}/ceph-15.2.0-rocksdb-cmake.patch"
-	"${FILESDIR}/ceph-15.2.2-systemd-unit.patch"
-	"${FILESDIR}/ceph-15.2.3-spdk-compile.patch"
-	"${FILESDIR}/ceph-15.2.4-system-uring.patch"
-	"${FILESDIR}/ceph-15.2.5-missing-includes.patch"
-	"${FILESDIR}/ceph-15.2.9-dont-compile-isal_compress-if-don-t-have-SSE4_1.patch"
-)
-
-check-reqs_export_vars() {
-	CHECKREQS_DISK_BUILD="5400M"
-	CHECKREQS_DISK_USR="510M"
-
-	export CHECKREQS_DISK_BUILD CHECKREQS_DISK_USR
-}
-
-pkg_pretend() {
-	check-reqs_export_vars
-	check-reqs_pkg_pretend
-}
-
-pkg_setup() {
-	python_setup
-	check-reqs_export_vars
-	check-reqs_pkg_setup
-}
-
-src_prepare() {
-	cmake_src_prepare
-
-	if use system-boost; then
-		find "${S}" -name '*.cmake' -or -name 'CMakeLists.txt' -print0 \
-			| xargs --null sed -r \
-			-e 's|Boost::|boost_|g' \
-			-e 's|Boost_|boost_|g' \
-			-e 's|[Bb]oost_boost|boost_system|g' -i || die
-	fi
-
-	sed -r -e "s:DESTINATION .+\\):DESTINATION $(get_bashcompdir)\\):" \
-		-i src/bash_completion/CMakeLists.txt || die
-
-	sed  -e "s:objdump -p:$(tc-getOBJDUMP) -p:" -i CMakeLists.txt || die
-
-	if ! use diskprediction; then
-		rm -rf src/pybind/mgr/diskprediction_local || die
-	fi
-
-	# remove tests that need root access
-	rm src/test/cli/ceph-authtool/cap*.t || die
-}
-
-ceph_src_configure() {
-	local flag
-	local mycmakeargs=(
-		-DWITH_BABELTRACE=$(usex babeltrace)
-		-DWITH_BLUESTORE_PMEM=$(usex pmdk)
-		-DWITH_CEPHFS=$(usex cephfs)
-		-DWITH_CEPHFS_SHELL=$(usex cephfs)
-		-DWITH_DPDK=$(usex dpdk)
-		-DWITH_SPDK=$(usex spdk)
-		-DWITH_FUSE=$(usex fuse)
-		-DWITH_LTTNG=$(usex lttng)
-		-DWITH_GSSAPI=$(usex kerberos)
-		-DWITH_GRAFANA=$(usex grafana)
-		-DWITH_MGR=$(usex mgr)
-		-DWITH_MGR_DASHBOARD_FRONTEND=OFF
-		-DWITH_NUMA=$(usex numa)
-		-DWITH_OPENLDAP=$(usex ldap)
-		-DWITH_PYTHON3=3
-		-DWITH_RADOSGW=$(usex radosgw)
-		-DWITH_RADOSGW_AMQP_ENDPOINT=$(usex rabbitmq)
-		-DWITH_RADOSGW_KAFKA_ENDPOINT=$(usex kafka)
-		-DWITH_RBD_RWL=$(usex rbd-rwl)
-		-DWITH_SSL=$(usex ssl)
-		-DWITH_SYSTEMD=$(usex systemd)
-		-DWITH_TESTS=$(usex test)
-		-DWITH_LIBURING=$(usex uring)
-		-DWITH_XFS=$(usex xfs)
-		-DWITH_ZFS=$(usex zfs)
-		-DENABLE_SHARED="ON"
-		-DALLOCATOR=$(usex tcmalloc 'tcmalloc' "$(usex jemalloc 'jemalloc' 'libc')")
-		-DWITH_SYSTEM_PMDK=$(usex pmdk 'YES' "$(usex rbd-rwl)")
-		-DWITH_SYSTEM_BOOST=$(usex system-boost)
-		-DBOOST_J=$(makeopts_jobs)
-		-DWITH_SYSTEM_ROCKSDB=ON
-		-DWITH_RDMA=OFF
-		-DWITH_TBB=OFF
-		-DSYSTEMD_UNITDIR=$(systemd_get_systemunitdir)
-		-DCMAKE_INSTALL_SYSTEMD_SERVICEDIR=$(systemd_get_systemunitdir)
-		-DEPYTHON_VERSION="${EPYTHON#python}"
-		-DCMAKE_INSTALL_DOCDIR="${EPREFIX}/usr/share/doc/${PN}-${PVR}"
-		-DCMAKE_INSTALL_SYSCONFDIR="${EPREFIX}/etc"
-		-Wno-dev
-	)
-	if use amd64 || use x86; then
-		for flag in ${CPU_FLAGS_X86[@]}; do
-			mycmakeargs+=("$(usex cpu_flags_x86_${flag} "-DHAVE_INTEL_${flag^^}=1")")
-		done
-	fi
-
-	# needed for >=glibc-2.32
-	has_version '>=sys-libs/glibc-2.32' && mycmakeargs+=(-DWITH_REENTRANT_STRSIGNAL:BOOL=ON)
-
-	rm -f "${BUILD_DIR:-${S}}/CMakeCache.txt" \
-		|| die "failed to remove cmake cache"
-
-	cmake_src_configure
-
-	# bug #630232
-	sed -i "s:\"${T//:\\:}/${EPYTHON}/bin/python\":\"${PYTHON}\":" \
-		"${BUILD_DIR:-${S}}"/include/acconfig.h \
-		|| die "sed failed"
-}
-
-src_configure() {
-	use custom-cflags || strip-flags
-	ceph_src_configure
-}
-
-python_compile() {
-	local CMAKE_USE_DIR="${S}"
-	ceph_src_configure
-
-	pushd "${BUILD_DIR}/src/pybind" >/dev/null || die
-	emake VERBOSE=1 clean
-	emake VERBOSE=1 all
-
-	# python modules are only compiled with "make install" so we need to do this to
-	# prevent doing a bunch of compilation in src_install
-	DESTDIR="${T}" emake VERBOSE=1 install
-	popd >/dev/null || die
-}
-
-src_compile() {
-	cmake_build VERBOSE=1 all
-
-	# we have to do this here to prevent from building everything multiple times
-	python_copy_sources
-	python_foreach_impl python_compile
-}
-
-src_test() {
-	make check || die "make check failed"
-}
-
-python_install() {
-	local CMAKE_USE_DIR="${S}"
-	pushd "${BUILD_DIR}/src/pybind" >/dev/null || die
-	DESTDIR="${ED}" emake VERBOSE=1 install
-	popd >/dev/null || die
-
-	python_optimize
-}
-
-src_install() {
-	cmake_src_install
-	python_foreach_impl python_install
-
-	find "${ED}" -name '*.la' -type f -delete || die
-
-	exeinto /usr/$(get_libdir)/ceph
-	newexe "${BUILD_DIR}/bin/init-ceph" init-ceph
-
-	insinto /etc/logrotate.d/
-	newins "${FILESDIR}"/ceph.logrotate-r2 ${PN}
-
-	keepdir /var/lib/${PN}{,/tmp} /var/log/${PN}/stat
-
-	fowners -R ceph:ceph /var/log/ceph
-
-	newinitd "${FILESDIR}/rbdmap.initd-r1" rbdmap
-	newinitd "${FILESDIR}/${PN}.initd-r12" ${PN}
-	newconfd "${FILESDIR}/${PN}.confd-r5" ${PN}
-
-	insinto /etc/sysctl.d
-	newins "${FILESDIR}"/sysctld 90-${PN}.conf
-
-	use tcmalloc && newenvd "${FILESDIR}"/envd-tcmalloc 99${PN}-tcmalloc
-
-	# units aren't installed by the build system unless systemd is enabled
-	# so no point installing these with the USE flag disabled
-	if use systemd; then
-		systemd_install_serviced "${FILESDIR}/ceph-mds_at.service.conf" \
-			"ceph-mds@.service"
-
-		systemd_install_serviced "${FILESDIR}/ceph-osd_at.service.conf" \
-			"ceph-osd@.service"
-
-	fi
-
-	udev_dorules udev/*.rules
-	newtmpfiles "${FILESDIR}"/ceph-tmpfilesd ${PN}.conf
-
-	readme.gentoo_create_doc
-
-	python_setup
-
-	# bug #630232
-	sed -i -r "s:${T//:/\\:}/${EPYTHON}:/usr:" "${ED}"/usr/bin/ceph{,-crash} \
-		|| die "sed failed"
-
-	python_fix_shebang "${ED}"/usr/{,s}bin/
-
-	# python_fix_shebang apparently is not idempotent
-	local shebang_regex='(/usr/lib/python-exec/python[0-9]\.[0-9]/python)[0-9]\.[0-9]'
-	grep -r -E -l --null "${shebang_regex}" "${ED}"/usr/{s,}bin/ \
-		| xargs --null --no-run-if-empty -- sed -i -r  "s:${shebang_regex}:\1:" || die
-
-	local -a rados_classes=( "${ED}/usr/$(get_libdir)/rados-classes"/* )
-	dostrip -x "${rados_classes[@]#${ED}}"
-}
-
-pkg_postinst() {
-	readme.gentoo_print_elog
-	tmpfiles_process ${PN}.conf
-}

diff --git a/sys-cluster/ceph/ceph-15.2.13-r2.ebuild b/sys-cluster/ceph/ceph-15.2.13-r2.ebuild
deleted file mode 100644
index bc1a96acf14..00000000000
--- a/sys-cluster/ceph/ceph-15.2.13-r2.ebuild
+++ /dev/null
@@ -1,402 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-PYTHON_COMPAT=( python3_{7..9} )
-DISTUTILS_USE_SETUPTOOLS=rdepend
-CMAKE_MAKEFILE_GENERATOR=emake
-
-DISTUTILS_OPTIONAL=1
-
-inherit check-reqs bash-completion-r1 cmake distutils-r1 flag-o-matic \
-		python-r1 udev readme.gentoo-r1 toolchain-funcs systemd tmpfiles
-
-if [[ ${PV} == *9999* ]]; then
-	inherit git-r3
-	EGIT_REPO_URI="https://github.com/ceph/ceph.git"
-	SRC_URI=""
-else
-	SRC_URI="https://download.ceph.com/tarballs/${P}.tar.gz"
-	KEYWORDS="~amd64 ~arm64 ~ppc64"
-fi
-
-DESCRIPTION="Ceph distributed filesystem"
-HOMEPAGE="https://ceph.com/"
-
-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"
-SLOT="0"
-
-CPU_FLAGS_X86=(sse{,2,3,4_1,4_2} ssse3)
-
-IUSE="babeltrace +cephfs custom-cflags diskprediction dpdk fuse grafana jemalloc
-	kafka kerberos ldap lttng +mgr numa pmdk rabbitmq +radosgw rbd-rwl +ssl spdk
-	system-boost systemd +tcmalloc test uring xfs zfs"
-IUSE+=" $(printf "cpu_flags_x86_%s\n" ${CPU_FLAGS_X86[@]})"
-
-DEPEND="
-	acct-group/ceph
-	acct-user/ceph
-	virtual/libudev:=
-	app-arch/bzip2:=
-	app-arch/lz4:=
-	app-arch/snappy:=
-	app-arch/zstd:=
-	app-shells/bash:0
-	app-misc/jq:=
-	dev-libs/crypto++:=
-	dev-cpp/gflags:=
-	dev-libs/leveldb:=[snappy,tcmalloc(-)?]
-	dev-libs/libaio:=
-	dev-libs/libfmt:=
-	dev-libs/libnl:3=
-	dev-libs/libxml2:=
-	<dev-libs/rocksdb-6.15:=
-	dev-libs/xmlsec:=[openssl]
-	dev-cpp/yaml-cpp:=
-	dev-libs/nss:=
-	dev-libs/protobuf:=
-	net-dns/c-ares:=
-	net-libs/gnutls:=
-	sys-auth/oath-toolkit:=
-	sys-apps/coreutils
-	sys-apps/grep
-	sys-apps/hwloc:=
-	sys-apps/keyutils:=
-	sys-apps/util-linux:=
-	sys-apps/sed
-	sys-apps/util-linux
-	sys-libs/libcap-ng:=
-	sys-libs/ncurses:0=
-	sys-libs/zlib:=
-	sys-process/numactl:=
-	virtual/libcrypt:=
-	x11-libs/libpciaccess:=
-	babeltrace? ( dev-util/babeltrace )
-	fuse? ( sys-fs/fuse:0= )
-	jemalloc? ( dev-libs/jemalloc:= )
-	!jemalloc? ( >=dev-util/google-perftools-2.6.1:= )
-	kafka? ( dev-libs/librdkafka:= )
-	kerberos? ( virtual/krb5 )
-	ldap? ( net-nds/openldap:= )
-	lttng? ( dev-util/lttng-ust:= )
-	pmdk? ( dev-libs/pmdk:= )
-	rabbitmq? ( net-libs/rabbitmq-c:= )
-	radosgw? (
-		dev-libs/expat:=
-		dev-libs/openssl:=
-		net-misc/curl:=[curl_ssl_openssl]
-	)
-	rbd-rwl? ( dev-libs/pmdk:= )
-	ssl? ( dev-libs/openssl:= )
-	system-boost? ( >=dev-libs/boost-1.72:=[threads(+),context,python,${PYTHON_USEDEP}] )
-	uring? ( sys-libs/liburing:= )
-	xfs? ( sys-fs/xfsprogs:= )
-	zfs? ( sys-fs/zfs:= )
-	${PYTHON_DEPS}
-"
-BDEPEND="
-	amd64? ( dev-lang/yasm )
-	x86? ( dev-lang/yasm )
-	app-arch/cpio
-	>=dev-util/cmake-3.5.0
-	dev-python/cython[${PYTHON_USEDEP}]
-	dev-python/sphinx
-	dev-util/cunit
-	dev-util/gperf
-	dev-util/ragel
-	dev-util/valgrind
-	sys-apps/coreutils
-	sys-apps/findutils
-	sys-apps/grep
-	sys-apps/sed
-	sys-apps/which
-	sys-devel/bc
-	sys-devel/patch
-	virtual/pkgconfig
-	test? (
-		dev-python/coverage[${PYTHON_USEDEP}]
-		dev-python/virtualenv[${PYTHON_USEDEP}]
-		dev-python/requests-mock[${PYTHON_USEDEP}]
-		sys-apps/grep[pcre]
-		sys-fs/btrfs-progs
-	)
-"
-RDEPEND="${DEPEND}
-	app-admin/sudo
-	net-misc/socat
-	sys-apps/gptfdisk
-	sys-apps/nvme-cli
-	>=sys-apps/smartmontools-7.0
-	sys-block/parted
-	sys-fs/cryptsetup
-	sys-fs/lsscsi
-	sys-fs/lvm2[-device-mapper-only(-)]
-	virtual/awk
-	dev-python/bcrypt[${PYTHON_USEDEP}]
-	dev-python/cherrypy[${PYTHON_USEDEP}]
-	dev-python/python-dateutil[${PYTHON_USEDEP}]
-	dev-python/flask[${PYTHON_USEDEP}]
-	dev-python/jinja[${PYTHON_USEDEP}]
-	dev-python/pecan[${PYTHON_USEDEP}]
-	dev-python/prettytable[${PYTHON_USEDEP}]
-	dev-python/pyopenssl[${PYTHON_USEDEP}]
-	dev-python/requests[${PYTHON_USEDEP}]
-	dev-python/werkzeug[${PYTHON_USEDEP}]
-	mgr? (
-		dev-python/jsonpatch[${PYTHON_USEDEP}]
-		dev-python/more-itertools[${PYTHON_USEDEP}]
-		dev-python/numpy[${PYTHON_USEDEP}]
-		dev-python/pyjwt[${PYTHON_USEDEP}]
-		dev-python/pyyaml[${PYTHON_USEDEP}]
-		dev-python/routes[${PYTHON_USEDEP}]
-		sci-libs/scikit-learn[${PYTHON_USEDEP}]
-		dev-python/six[${PYTHON_USEDEP}]
-	)
-"
-# diskprediction needs older scipy not compatible with py38
-# bug #724438
-REQUIRED_USE="
-	${PYTHON_REQUIRED_USE}
-	?? ( jemalloc tcmalloc )
-	diskprediction? ( mgr !python_targets_python3_8 )
-	kafka? ( radosgw )
-	mgr? ( cephfs )
-	rabbitmq? ( radosgw )
-"
-RESTRICT="!test? ( test )"
-
-# the tests need root access
-RESTRICT="test? ( userpriv )"
-
-# distribution tarball does not include everything needed for tests
-RESTRICT+=" test"
-
-# create a non-debug release
-CMAKE_BUILD_TYPE=RelWithDebInfo
-
-# false positives unless all USE flags are on
-CMAKE_WARN_UNUSED_CLI=no
-
-PATCHES=(
-	"${FILESDIR}/ceph-12.2.0-use-provided-cpu-flag-values.patch"
-	"${FILESDIR}/ceph-14.2.0-cflags.patch"
-	"${FILESDIR}/ceph-12.2.4-boost-build-none-options.patch"
-	"${FILESDIR}/ceph-13.2.0-cflags.patch"
-	"${FILESDIR}/ceph-15.2.13-no-virtualenvs.patch"
-	"${FILESDIR}/ceph-13.2.2-dont-install-sysvinit-script.patch"
-	"${FILESDIR}/ceph-14.2.0-dpdk-cflags.patch"
-	"${FILESDIR}/ceph-14.2.0-cython-0.29.patch"
-	"${FILESDIR}/ceph-15.2.0-rocksdb-cmake.patch"
-	"${FILESDIR}/ceph-15.2.2-systemd-unit.patch"
-	"${FILESDIR}/ceph-15.2.3-spdk-compile.patch"
-	"${FILESDIR}/ceph-15.2.4-system-uring.patch"
-	"${FILESDIR}/ceph-15.2.9-dont-compile-isal_compress-if-don-t-have-SSE4_1.patch"
-)
-
-check-reqs_export_vars() {
-	CHECKREQS_DISK_BUILD="5400M"
-	CHECKREQS_DISK_USR="510M"
-
-	export CHECKREQS_DISK_BUILD CHECKREQS_DISK_USR
-}
-
-pkg_pretend() {
-	check-reqs_export_vars
-	check-reqs_pkg_pretend
-}
-
-pkg_setup() {
-	python_setup
-	check-reqs_export_vars
-	check-reqs_pkg_setup
-}
-
-src_prepare() {
-	cmake_src_prepare
-
-	if use system-boost; then
-		find "${S}" -name '*.cmake' -or -name 'CMakeLists.txt' -print0 \
-			| xargs --null sed -r \
-			-e 's|Boost::|boost_|g' \
-			-e 's|Boost_|boost_|g' \
-			-e 's|[Bb]oost_boost|boost_system|g' -i || die
-	fi
-
-	sed -r -e "s:DESTINATION .+\\):DESTINATION $(get_bashcompdir)\\):" \
-		-i src/bash_completion/CMakeLists.txt || die
-
-	sed  -e "s:objdump -p:$(tc-getOBJDUMP) -p:" -i CMakeLists.txt || die
-
-	if ! use diskprediction; then
-		rm -rf src/pybind/mgr/diskprediction_local || die
-	fi
-
-	# remove tests that need root access
-	rm src/test/cli/ceph-authtool/cap*.t || die
-}
-
-ceph_src_configure() {
-	local flag
-	local mycmakeargs=(
-		-DWITH_BABELTRACE=$(usex babeltrace)
-		-DWITH_BLUESTORE_PMEM=$(usex pmdk)
-		-DWITH_CEPHFS=$(usex cephfs)
-		-DWITH_CEPHFS_SHELL=$(usex cephfs)
-		-DWITH_DPDK=$(usex dpdk)
-		-DWITH_SPDK=$(usex spdk)
-		-DWITH_FUSE=$(usex fuse)
-		-DWITH_LTTNG=$(usex lttng)
-		-DWITH_GSSAPI=$(usex kerberos)
-		-DWITH_GRAFANA=$(usex grafana)
-		-DWITH_MGR=$(usex mgr)
-		-DWITH_MGR_DASHBOARD_FRONTEND=OFF
-		-DWITH_NUMA=$(usex numa)
-		-DWITH_OPENLDAP=$(usex ldap)
-		-DWITH_PYTHON3=3
-		-DWITH_RADOSGW=$(usex radosgw)
-		-DWITH_RADOSGW_AMQP_ENDPOINT=$(usex rabbitmq)
-		-DWITH_RADOSGW_KAFKA_ENDPOINT=$(usex kafka)
-		-DWITH_RBD_RWL=$(usex rbd-rwl)
-		-DWITH_SSL=$(usex ssl)
-		-DWITH_SYSTEMD=$(usex systemd)
-		-DWITH_TESTS=$(usex test)
-		-DWITH_LIBURING=$(usex uring)
-		-DWITH_XFS=$(usex xfs)
-		-DWITH_ZFS=$(usex zfs)
-		-DENABLE_SHARED="ON"
-		-DALLOCATOR=$(usex tcmalloc 'tcmalloc' "$(usex jemalloc 'jemalloc' 'libc')")
-		-DWITH_SYSTEM_PMDK=$(usex pmdk 'YES' "$(usex rbd-rwl)")
-		-DWITH_SYSTEM_BOOST=$(usex system-boost)
-		-DBOOST_J=$(makeopts_jobs)
-		-DWITH_SYSTEM_ROCKSDB=ON
-		-DWITH_RDMA=OFF
-		-DWITH_TBB=OFF
-		-DSYSTEMD_UNITDIR=$(systemd_get_systemunitdir)
-		-DCMAKE_INSTALL_SYSTEMD_SERVICEDIR=$(systemd_get_systemunitdir)
-		-DEPYTHON_VERSION="${EPYTHON#python}"
-		-DCMAKE_INSTALL_DOCDIR="${EPREFIX}/usr/share/doc/${PN}-${PVR}"
-		-DCMAKE_INSTALL_SYSCONFDIR="${EPREFIX}/etc"
-		-Wno-dev
-	)
-	if use amd64 || use x86; then
-		for flag in ${CPU_FLAGS_X86[@]}; do
-			mycmakeargs+=("$(usex cpu_flags_x86_${flag} "-DHAVE_INTEL_${flag^^}=1")")
-		done
-	fi
-
-	# needed for >=glibc-2.32
-	has_version '>=sys-libs/glibc-2.32' && mycmakeargs+=(-DWITH_REENTRANT_STRSIGNAL:BOOL=ON)
-
-	rm -f "${BUILD_DIR:-${S}}/CMakeCache.txt" \
-		|| die "failed to remove cmake cache"
-
-	cmake_src_configure
-
-	# bug #630232
-	sed -i "s:\"${T//:\\:}/${EPYTHON}/bin/python\":\"${PYTHON}\":" \
-		"${BUILD_DIR:-${S}}"/include/acconfig.h \
-		|| die "sed failed"
-}
-
-src_configure() {
-	use custom-cflags || strip-flags
-	ceph_src_configure
-}
-
-python_compile() {
-	local CMAKE_USE_DIR="${S}"
-	ceph_src_configure
-
-	pushd "${BUILD_DIR}/src/pybind" >/dev/null || die
-	emake VERBOSE=1 clean
-	emake VERBOSE=1 all
-
-	# python modules are only compiled with "make install" so we need to do this to
-	# prevent doing a bunch of compilation in src_install
-	DESTDIR="${T}" emake VERBOSE=1 install
-	popd >/dev/null || die
-}
-
-src_compile() {
-	cmake_build VERBOSE=1 all
-
-	# we have to do this here to prevent from building everything multiple times
-	python_copy_sources
-	python_foreach_impl python_compile
-}
-
-src_test() {
-	make check || die "make check failed"
-}
-
-python_install() {
-	local CMAKE_USE_DIR="${S}"
-	pushd "${BUILD_DIR}/src/pybind" >/dev/null || die
-	DESTDIR="${ED}" emake VERBOSE=1 install
-	popd >/dev/null || die
-
-	python_optimize
-}
-
-src_install() {
-	cmake_src_install
-	python_foreach_impl python_install
-
-	find "${ED}" -name '*.la' -type f -delete || die
-
-	exeinto /usr/$(get_libdir)/ceph
-	newexe "${BUILD_DIR}/bin/init-ceph" init-ceph
-
-	insinto /etc/logrotate.d/
-	newins "${FILESDIR}"/ceph.logrotate-r2 ${PN}
-
-	keepdir /var/lib/${PN}{,/tmp} /var/log/${PN}/stat
-
-	fowners -R ceph:ceph /var/log/ceph
-
-	newinitd "${FILESDIR}/rbdmap.initd-r1" rbdmap
-	newinitd "${FILESDIR}/${PN}.initd-r12" ${PN}
-	newconfd "${FILESDIR}/${PN}.confd-r5" ${PN}
-
-	insinto /etc/sysctl.d
-	newins "${FILESDIR}"/sysctld 90-${PN}.conf
-
-	use tcmalloc && newenvd "${FILESDIR}"/envd-tcmalloc 99${PN}-tcmalloc
-
-	# units aren't installed by the build system unless systemd is enabled
-	# so no point installing these with the USE flag disabled
-	if use systemd; then
-		systemd_install_serviced "${FILESDIR}/ceph-mds_at.service.conf" \
-			"ceph-mds@.service"
-
-		systemd_install_serviced "${FILESDIR}/ceph-osd_at.service.conf" \
-			"ceph-osd@.service"
-
-	fi
-
-	udev_dorules udev/*.rules
-	newtmpfiles "${FILESDIR}"/ceph-tmpfilesd ${PN}.conf
-
-	readme.gentoo_create_doc
-
-	python_setup
-
-	# bug #630232
-	sed -i -r "s:${T//:/\\:}/${EPYTHON}:/usr:" "${ED}"/usr/bin/ceph{,-crash} \
-		|| die "sed failed"
-
-	python_fix_shebang "${ED}"/usr/{,s}bin/
-
-	# python_fix_shebang apparently is not idempotent
-	local shebang_regex='(/usr/lib/python-exec/python[0-9]\.[0-9]/python)[0-9]\.[0-9]'
-	grep -r -E -l --null "${shebang_regex}" "${ED}"/usr/{s,}bin/ \
-		| xargs --null --no-run-if-empty -- sed -i -r  "s:${shebang_regex}:\1:" || die
-
-	local -a rados_classes=( "${ED}/usr/$(get_libdir)/rados-classes"/* )
-	dostrip -x "${rados_classes[@]#${ED}}"
-}
-
-pkg_postinst() {
-	readme.gentoo_print_elog
-	tmpfiles_process ${PN}.conf
-}

diff --git a/sys-cluster/ceph/ceph-15.2.14.ebuild b/sys-cluster/ceph/ceph-15.2.14.ebuild
deleted file mode 100644
index bc1a96acf14..00000000000
--- a/sys-cluster/ceph/ceph-15.2.14.ebuild
+++ /dev/null
@@ -1,402 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-PYTHON_COMPAT=( python3_{7..9} )
-DISTUTILS_USE_SETUPTOOLS=rdepend
-CMAKE_MAKEFILE_GENERATOR=emake
-
-DISTUTILS_OPTIONAL=1
-
-inherit check-reqs bash-completion-r1 cmake distutils-r1 flag-o-matic \
-		python-r1 udev readme.gentoo-r1 toolchain-funcs systemd tmpfiles
-
-if [[ ${PV} == *9999* ]]; then
-	inherit git-r3
-	EGIT_REPO_URI="https://github.com/ceph/ceph.git"
-	SRC_URI=""
-else
-	SRC_URI="https://download.ceph.com/tarballs/${P}.tar.gz"
-	KEYWORDS="~amd64 ~arm64 ~ppc64"
-fi
-
-DESCRIPTION="Ceph distributed filesystem"
-HOMEPAGE="https://ceph.com/"
-
-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"
-SLOT="0"
-
-CPU_FLAGS_X86=(sse{,2,3,4_1,4_2} ssse3)
-
-IUSE="babeltrace +cephfs custom-cflags diskprediction dpdk fuse grafana jemalloc
-	kafka kerberos ldap lttng +mgr numa pmdk rabbitmq +radosgw rbd-rwl +ssl spdk
-	system-boost systemd +tcmalloc test uring xfs zfs"
-IUSE+=" $(printf "cpu_flags_x86_%s\n" ${CPU_FLAGS_X86[@]})"
-
-DEPEND="
-	acct-group/ceph
-	acct-user/ceph
-	virtual/libudev:=
-	app-arch/bzip2:=
-	app-arch/lz4:=
-	app-arch/snappy:=
-	app-arch/zstd:=
-	app-shells/bash:0
-	app-misc/jq:=
-	dev-libs/crypto++:=
-	dev-cpp/gflags:=
-	dev-libs/leveldb:=[snappy,tcmalloc(-)?]
-	dev-libs/libaio:=
-	dev-libs/libfmt:=
-	dev-libs/libnl:3=
-	dev-libs/libxml2:=
-	<dev-libs/rocksdb-6.15:=
-	dev-libs/xmlsec:=[openssl]
-	dev-cpp/yaml-cpp:=
-	dev-libs/nss:=
-	dev-libs/protobuf:=
-	net-dns/c-ares:=
-	net-libs/gnutls:=
-	sys-auth/oath-toolkit:=
-	sys-apps/coreutils
-	sys-apps/grep
-	sys-apps/hwloc:=
-	sys-apps/keyutils:=
-	sys-apps/util-linux:=
-	sys-apps/sed
-	sys-apps/util-linux
-	sys-libs/libcap-ng:=
-	sys-libs/ncurses:0=
-	sys-libs/zlib:=
-	sys-process/numactl:=
-	virtual/libcrypt:=
-	x11-libs/libpciaccess:=
-	babeltrace? ( dev-util/babeltrace )
-	fuse? ( sys-fs/fuse:0= )
-	jemalloc? ( dev-libs/jemalloc:= )
-	!jemalloc? ( >=dev-util/google-perftools-2.6.1:= )
-	kafka? ( dev-libs/librdkafka:= )
-	kerberos? ( virtual/krb5 )
-	ldap? ( net-nds/openldap:= )
-	lttng? ( dev-util/lttng-ust:= )
-	pmdk? ( dev-libs/pmdk:= )
-	rabbitmq? ( net-libs/rabbitmq-c:= )
-	radosgw? (
-		dev-libs/expat:=
-		dev-libs/openssl:=
-		net-misc/curl:=[curl_ssl_openssl]
-	)
-	rbd-rwl? ( dev-libs/pmdk:= )
-	ssl? ( dev-libs/openssl:= )
-	system-boost? ( >=dev-libs/boost-1.72:=[threads(+),context,python,${PYTHON_USEDEP}] )
-	uring? ( sys-libs/liburing:= )
-	xfs? ( sys-fs/xfsprogs:= )
-	zfs? ( sys-fs/zfs:= )
-	${PYTHON_DEPS}
-"
-BDEPEND="
-	amd64? ( dev-lang/yasm )
-	x86? ( dev-lang/yasm )
-	app-arch/cpio
-	>=dev-util/cmake-3.5.0
-	dev-python/cython[${PYTHON_USEDEP}]
-	dev-python/sphinx
-	dev-util/cunit
-	dev-util/gperf
-	dev-util/ragel
-	dev-util/valgrind
-	sys-apps/coreutils
-	sys-apps/findutils
-	sys-apps/grep
-	sys-apps/sed
-	sys-apps/which
-	sys-devel/bc
-	sys-devel/patch
-	virtual/pkgconfig
-	test? (
-		dev-python/coverage[${PYTHON_USEDEP}]
-		dev-python/virtualenv[${PYTHON_USEDEP}]
-		dev-python/requests-mock[${PYTHON_USEDEP}]
-		sys-apps/grep[pcre]
-		sys-fs/btrfs-progs
-	)
-"
-RDEPEND="${DEPEND}
-	app-admin/sudo
-	net-misc/socat
-	sys-apps/gptfdisk
-	sys-apps/nvme-cli
-	>=sys-apps/smartmontools-7.0
-	sys-block/parted
-	sys-fs/cryptsetup
-	sys-fs/lsscsi
-	sys-fs/lvm2[-device-mapper-only(-)]
-	virtual/awk
-	dev-python/bcrypt[${PYTHON_USEDEP}]
-	dev-python/cherrypy[${PYTHON_USEDEP}]
-	dev-python/python-dateutil[${PYTHON_USEDEP}]
-	dev-python/flask[${PYTHON_USEDEP}]
-	dev-python/jinja[${PYTHON_USEDEP}]
-	dev-python/pecan[${PYTHON_USEDEP}]
-	dev-python/prettytable[${PYTHON_USEDEP}]
-	dev-python/pyopenssl[${PYTHON_USEDEP}]
-	dev-python/requests[${PYTHON_USEDEP}]
-	dev-python/werkzeug[${PYTHON_USEDEP}]
-	mgr? (
-		dev-python/jsonpatch[${PYTHON_USEDEP}]
-		dev-python/more-itertools[${PYTHON_USEDEP}]
-		dev-python/numpy[${PYTHON_USEDEP}]
-		dev-python/pyjwt[${PYTHON_USEDEP}]
-		dev-python/pyyaml[${PYTHON_USEDEP}]
-		dev-python/routes[${PYTHON_USEDEP}]
-		sci-libs/scikit-learn[${PYTHON_USEDEP}]
-		dev-python/six[${PYTHON_USEDEP}]
-	)
-"
-# diskprediction needs older scipy not compatible with py38
-# bug #724438
-REQUIRED_USE="
-	${PYTHON_REQUIRED_USE}
-	?? ( jemalloc tcmalloc )
-	diskprediction? ( mgr !python_targets_python3_8 )
-	kafka? ( radosgw )
-	mgr? ( cephfs )
-	rabbitmq? ( radosgw )
-"
-RESTRICT="!test? ( test )"
-
-# the tests need root access
-RESTRICT="test? ( userpriv )"
-
-# distribution tarball does not include everything needed for tests
-RESTRICT+=" test"
-
-# create a non-debug release
-CMAKE_BUILD_TYPE=RelWithDebInfo
-
-# false positives unless all USE flags are on
-CMAKE_WARN_UNUSED_CLI=no
-
-PATCHES=(
-	"${FILESDIR}/ceph-12.2.0-use-provided-cpu-flag-values.patch"
-	"${FILESDIR}/ceph-14.2.0-cflags.patch"
-	"${FILESDIR}/ceph-12.2.4-boost-build-none-options.patch"
-	"${FILESDIR}/ceph-13.2.0-cflags.patch"
-	"${FILESDIR}/ceph-15.2.13-no-virtualenvs.patch"
-	"${FILESDIR}/ceph-13.2.2-dont-install-sysvinit-script.patch"
-	"${FILESDIR}/ceph-14.2.0-dpdk-cflags.patch"
-	"${FILESDIR}/ceph-14.2.0-cython-0.29.patch"
-	"${FILESDIR}/ceph-15.2.0-rocksdb-cmake.patch"
-	"${FILESDIR}/ceph-15.2.2-systemd-unit.patch"
-	"${FILESDIR}/ceph-15.2.3-spdk-compile.patch"
-	"${FILESDIR}/ceph-15.2.4-system-uring.patch"
-	"${FILESDIR}/ceph-15.2.9-dont-compile-isal_compress-if-don-t-have-SSE4_1.patch"
-)
-
-check-reqs_export_vars() {
-	CHECKREQS_DISK_BUILD="5400M"
-	CHECKREQS_DISK_USR="510M"
-
-	export CHECKREQS_DISK_BUILD CHECKREQS_DISK_USR
-}
-
-pkg_pretend() {
-	check-reqs_export_vars
-	check-reqs_pkg_pretend
-}
-
-pkg_setup() {
-	python_setup
-	check-reqs_export_vars
-	check-reqs_pkg_setup
-}
-
-src_prepare() {
-	cmake_src_prepare
-
-	if use system-boost; then
-		find "${S}" -name '*.cmake' -or -name 'CMakeLists.txt' -print0 \
-			| xargs --null sed -r \
-			-e 's|Boost::|boost_|g' \
-			-e 's|Boost_|boost_|g' \
-			-e 's|[Bb]oost_boost|boost_system|g' -i || die
-	fi
-
-	sed -r -e "s:DESTINATION .+\\):DESTINATION $(get_bashcompdir)\\):" \
-		-i src/bash_completion/CMakeLists.txt || die
-
-	sed  -e "s:objdump -p:$(tc-getOBJDUMP) -p:" -i CMakeLists.txt || die
-
-	if ! use diskprediction; then
-		rm -rf src/pybind/mgr/diskprediction_local || die
-	fi
-
-	# remove tests that need root access
-	rm src/test/cli/ceph-authtool/cap*.t || die
-}
-
-ceph_src_configure() {
-	local flag
-	local mycmakeargs=(
-		-DWITH_BABELTRACE=$(usex babeltrace)
-		-DWITH_BLUESTORE_PMEM=$(usex pmdk)
-		-DWITH_CEPHFS=$(usex cephfs)
-		-DWITH_CEPHFS_SHELL=$(usex cephfs)
-		-DWITH_DPDK=$(usex dpdk)
-		-DWITH_SPDK=$(usex spdk)
-		-DWITH_FUSE=$(usex fuse)
-		-DWITH_LTTNG=$(usex lttng)
-		-DWITH_GSSAPI=$(usex kerberos)
-		-DWITH_GRAFANA=$(usex grafana)
-		-DWITH_MGR=$(usex mgr)
-		-DWITH_MGR_DASHBOARD_FRONTEND=OFF
-		-DWITH_NUMA=$(usex numa)
-		-DWITH_OPENLDAP=$(usex ldap)
-		-DWITH_PYTHON3=3
-		-DWITH_RADOSGW=$(usex radosgw)
-		-DWITH_RADOSGW_AMQP_ENDPOINT=$(usex rabbitmq)
-		-DWITH_RADOSGW_KAFKA_ENDPOINT=$(usex kafka)
-		-DWITH_RBD_RWL=$(usex rbd-rwl)
-		-DWITH_SSL=$(usex ssl)
-		-DWITH_SYSTEMD=$(usex systemd)
-		-DWITH_TESTS=$(usex test)
-		-DWITH_LIBURING=$(usex uring)
-		-DWITH_XFS=$(usex xfs)
-		-DWITH_ZFS=$(usex zfs)
-		-DENABLE_SHARED="ON"
-		-DALLOCATOR=$(usex tcmalloc 'tcmalloc' "$(usex jemalloc 'jemalloc' 'libc')")
-		-DWITH_SYSTEM_PMDK=$(usex pmdk 'YES' "$(usex rbd-rwl)")
-		-DWITH_SYSTEM_BOOST=$(usex system-boost)
-		-DBOOST_J=$(makeopts_jobs)
-		-DWITH_SYSTEM_ROCKSDB=ON
-		-DWITH_RDMA=OFF
-		-DWITH_TBB=OFF
-		-DSYSTEMD_UNITDIR=$(systemd_get_systemunitdir)
-		-DCMAKE_INSTALL_SYSTEMD_SERVICEDIR=$(systemd_get_systemunitdir)
-		-DEPYTHON_VERSION="${EPYTHON#python}"
-		-DCMAKE_INSTALL_DOCDIR="${EPREFIX}/usr/share/doc/${PN}-${PVR}"
-		-DCMAKE_INSTALL_SYSCONFDIR="${EPREFIX}/etc"
-		-Wno-dev
-	)
-	if use amd64 || use x86; then
-		for flag in ${CPU_FLAGS_X86[@]}; do
-			mycmakeargs+=("$(usex cpu_flags_x86_${flag} "-DHAVE_INTEL_${flag^^}=1")")
-		done
-	fi
-
-	# needed for >=glibc-2.32
-	has_version '>=sys-libs/glibc-2.32' && mycmakeargs+=(-DWITH_REENTRANT_STRSIGNAL:BOOL=ON)
-
-	rm -f "${BUILD_DIR:-${S}}/CMakeCache.txt" \
-		|| die "failed to remove cmake cache"
-
-	cmake_src_configure
-
-	# bug #630232
-	sed -i "s:\"${T//:\\:}/${EPYTHON}/bin/python\":\"${PYTHON}\":" \
-		"${BUILD_DIR:-${S}}"/include/acconfig.h \
-		|| die "sed failed"
-}
-
-src_configure() {
-	use custom-cflags || strip-flags
-	ceph_src_configure
-}
-
-python_compile() {
-	local CMAKE_USE_DIR="${S}"
-	ceph_src_configure
-
-	pushd "${BUILD_DIR}/src/pybind" >/dev/null || die
-	emake VERBOSE=1 clean
-	emake VERBOSE=1 all
-
-	# python modules are only compiled with "make install" so we need to do this to
-	# prevent doing a bunch of compilation in src_install
-	DESTDIR="${T}" emake VERBOSE=1 install
-	popd >/dev/null || die
-}
-
-src_compile() {
-	cmake_build VERBOSE=1 all
-
-	# we have to do this here to prevent from building everything multiple times
-	python_copy_sources
-	python_foreach_impl python_compile
-}
-
-src_test() {
-	make check || die "make check failed"
-}
-
-python_install() {
-	local CMAKE_USE_DIR="${S}"
-	pushd "${BUILD_DIR}/src/pybind" >/dev/null || die
-	DESTDIR="${ED}" emake VERBOSE=1 install
-	popd >/dev/null || die
-
-	python_optimize
-}
-
-src_install() {
-	cmake_src_install
-	python_foreach_impl python_install
-
-	find "${ED}" -name '*.la' -type f -delete || die
-
-	exeinto /usr/$(get_libdir)/ceph
-	newexe "${BUILD_DIR}/bin/init-ceph" init-ceph
-
-	insinto /etc/logrotate.d/
-	newins "${FILESDIR}"/ceph.logrotate-r2 ${PN}
-
-	keepdir /var/lib/${PN}{,/tmp} /var/log/${PN}/stat
-
-	fowners -R ceph:ceph /var/log/ceph
-
-	newinitd "${FILESDIR}/rbdmap.initd-r1" rbdmap
-	newinitd "${FILESDIR}/${PN}.initd-r12" ${PN}
-	newconfd "${FILESDIR}/${PN}.confd-r5" ${PN}
-
-	insinto /etc/sysctl.d
-	newins "${FILESDIR}"/sysctld 90-${PN}.conf
-
-	use tcmalloc && newenvd "${FILESDIR}"/envd-tcmalloc 99${PN}-tcmalloc
-
-	# units aren't installed by the build system unless systemd is enabled
-	# so no point installing these with the USE flag disabled
-	if use systemd; then
-		systemd_install_serviced "${FILESDIR}/ceph-mds_at.service.conf" \
-			"ceph-mds@.service"
-
-		systemd_install_serviced "${FILESDIR}/ceph-osd_at.service.conf" \
-			"ceph-osd@.service"
-
-	fi
-
-	udev_dorules udev/*.rules
-	newtmpfiles "${FILESDIR}"/ceph-tmpfilesd ${PN}.conf
-
-	readme.gentoo_create_doc
-
-	python_setup
-
-	# bug #630232
-	sed -i -r "s:${T//:/\\:}/${EPYTHON}:/usr:" "${ED}"/usr/bin/ceph{,-crash} \
-		|| die "sed failed"
-
-	python_fix_shebang "${ED}"/usr/{,s}bin/
-
-	# python_fix_shebang apparently is not idempotent
-	local shebang_regex='(/usr/lib/python-exec/python[0-9]\.[0-9]/python)[0-9]\.[0-9]'
-	grep -r -E -l --null "${shebang_regex}" "${ED}"/usr/{s,}bin/ \
-		| xargs --null --no-run-if-empty -- sed -i -r  "s:${shebang_regex}:\1:" || die
-
-	local -a rados_classes=( "${ED}/usr/$(get_libdir)/rados-classes"/* )
-	dostrip -x "${rados_classes[@]#${ED}}"
-}
-
-pkg_postinst() {
-	readme.gentoo_print_elog
-	tmpfiles_process ${PN}.conf
-}

diff --git a/sys-cluster/ceph/ceph-16.2.4-r2.ebuild b/sys-cluster/ceph/ceph-16.2.4-r2.ebuild
deleted file mode 100644
index e3804ec653b..00000000000
--- a/sys-cluster/ceph/ceph-16.2.4-r2.ebuild
+++ /dev/null
@@ -1,451 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{7..9} )
-DISTUTILS_USE_SETUPTOOLS=rdepend
-DISTUTILS_OPTIONAL=1
-LUA_COMPAT=( lua5-3 )
-
-CMAKE_MAKEFILE_GENERATOR=emake
-
-inherit check-reqs bash-completion-r1 cmake distutils-r1 flag-o-matic \
-		lua-single python-r1 udev readme.gentoo-r1 toolchain-funcs \
-		systemd tmpfiles
-
-if [[ ${PV} == *9999* ]]; then
-	inherit git-r3
-	EGIT_REPO_URI="https://github.com/ceph/ceph.git"
-	SRC_URI=""
-else
-	SRC_URI="https://download.ceph.com/tarballs/${P}.tar.gz"
-	KEYWORDS="amd64 ~arm64 ~ppc64"
-fi
-
-DESCRIPTION="Ceph distributed filesystem"
-HOMEPAGE="https://ceph.com/"
-
-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"
-SLOT="0"
-
-CPU_FLAGS_X86=(avx2 avx512f pclmul sse{,2,3,4_1,4_2} ssse3)
-
-IUSE="babeltrace +cephfs custom-cflags diskprediction dpdk fuse grafana
-	jemalloc jaeger kafka kerberos ldap lttng +mgr numa pmdk rabbitmq
-	+radosgw rbd-rwl rbd-ssd rgw-lua +ssl spdk +sqlite system-boost systemd
-	+tcmalloc test uring xfs zbd zfs"
-IUSE+=" $(printf "cpu_flags_x86_%s\n" ${CPU_FLAGS_X86[@]})"
-
-DEPEND="
-	${LUA_DEPS}
-	acct-group/ceph
-	acct-user/ceph
-	virtual/libudev:=
-	app-arch/bzip2:=
-	app-arch/lz4:=
-	<app-arch/snappy-1.1.9:=
-	app-arch/zstd:=
-	app-shells/bash:0
-	app-misc/jq:=
-	dev-libs/crypto++:=
-	dev-cpp/gflags:=
-	dev-libs/leveldb:=[snappy,tcmalloc(-)?]
-	dev-libs/libaio:=
-	dev-libs/libfmt:=
-	dev-libs/libnl:3=
-	dev-libs/libxml2:=
-	dev-libs/libevent:=
-	<dev-libs/rocksdb-6.15:=
-	dev-libs/xmlsec:=[openssl]
-	dev-cpp/yaml-cpp:=
-	dev-libs/nss:=
-	dev-libs/protobuf:=
-	net-dns/c-ares:=
-	net-libs/gnutls:=
-	sys-auth/oath-toolkit:=
-	sys-apps/coreutils
-	sys-apps/grep
-	sys-apps/hwloc:=
-	sys-apps/keyutils:=
-	sys-apps/util-linux:=
-	sys-apps/sed
-	sys-apps/util-linux
-	sys-libs/libcap-ng:=
-	sys-libs/ncurses:0=
-	sys-libs/zlib:=
-	sys-process/numactl:=
-	virtual/libcrypt:=
-	x11-libs/libpciaccess:=
-	babeltrace? ( dev-util/babeltrace )
-	fuse? ( sys-fs/fuse:0= )
-	jemalloc? ( dev-libs/jemalloc:= )
-	!jemalloc? ( >=dev-util/google-perftools-2.6.1:= )
-	jaeger? ( dev-cpp/nlohmann_json:= )
-	kafka? ( dev-libs/librdkafka:= )
-	kerberos? ( virtual/krb5 )
-	ldap? ( net-nds/openldap:= )
-	lttng? ( dev-util/lttng-ust:= )
-	pmdk? ( dev-libs/pmdk:= )
-	rabbitmq? ( net-libs/rabbitmq-c:= )
-	radosgw? (
-		dev-libs/icu:=
-		dev-libs/expat:=
-		dev-libs/openssl:=
-		net-misc/curl:=[curl_ssl_openssl]
-	)
-	rbd-rwl? ( dev-libs/pmdk:= )
-	ssl? ( dev-libs/openssl:= )
-	sqlite? ( dev-db/sqlite:= )
-	system-boost? ( >=dev-libs/boost-1.72:=[threads(+),context,python,${PYTHON_USEDEP}] )
-	uring? ( sys-libs/liburing:= )
-	xfs? ( sys-fs/xfsprogs:= )
-	zbd? ( sys-block/libzbd:= )
-	zfs? ( sys-fs/zfs:= )
-	${PYTHON_DEPS}
-"
-BDEPEND="
-	amd64? ( dev-lang/nasm )
-	x86? ( dev-lang/yasm )
-	app-arch/cpio
-	>=dev-util/cmake-3.5.0
-	dev-python/cython[${PYTHON_USEDEP}]
-	dev-python/sphinx
-	dev-util/cunit
-	dev-util/gperf
-	dev-util/ragel
-	dev-util/valgrind
-	sys-apps/coreutils
-	sys-apps/findutils
-	sys-apps/grep
-	sys-apps/sed
-	sys-apps/which
-	sys-devel/bc
-	sys-devel/patch
-	virtual/pkgconfig
-	jaeger? (
-		sys-devel/bison
-		sys-devel/flex
-	)
-	test? (
-		dev-python/coverage[${PYTHON_USEDEP}]
-		dev-python/virtualenv[${PYTHON_USEDEP}]
-		dev-python/requests-mock[${PYTHON_USEDEP}]
-		sys-apps/grep[pcre]
-		sys-fs/btrfs-progs
-	)
-"
-RDEPEND="
-	${DEPEND}
-	app-admin/sudo
-	net-misc/socat
-	sys-apps/gptfdisk
-	sys-apps/nvme-cli
-	>=sys-apps/smartmontools-7.0
-	sys-block/parted
-	sys-fs/cryptsetup
-	sys-fs/lsscsi
-	sys-fs/lvm2[-device-mapper-only(-)]
-	virtual/awk
-	dev-python/bcrypt[${PYTHON_USEDEP}]
-	dev-python/cherrypy[${PYTHON_USEDEP}]
-	dev-python/python-dateutil[${PYTHON_USEDEP}]
-	dev-python/flask[${PYTHON_USEDEP}]
-	dev-python/jinja[${PYTHON_USEDEP}]
-	dev-python/pecan[${PYTHON_USEDEP}]
-	dev-python/prettytable[${PYTHON_USEDEP}]
-	dev-python/pyopenssl[${PYTHON_USEDEP}]
-	dev-python/requests[${PYTHON_USEDEP}]
-	dev-python/werkzeug[${PYTHON_USEDEP}]
-	mgr? (
-		dev-python/jsonpatch[${PYTHON_USEDEP}]
-		dev-python/more-itertools[${PYTHON_USEDEP}]
-		dev-python/numpy[${PYTHON_USEDEP}]
-		dev-python/pyjwt[${PYTHON_USEDEP}]
-		dev-python/pyyaml[${PYTHON_USEDEP}]
-		dev-python/routes[${PYTHON_USEDEP}]
-		diskprediction? (
-			>=dev-python/scipy-1.4.0[${PYTHON_USEDEP}]
-		)
-		sci-libs/scikit-learn[${PYTHON_USEDEP}]
-		dev-python/six[${PYTHON_USEDEP}]
-	)
-"
-# diskprediction needs older scipy not compatible with py38
-# bug #724438
-REQUIRED_USE="
-	${PYTHON_REQUIRED_USE}
-	${LUA_REQUIRED_USE}
-	?? ( jemalloc tcmalloc )
-	jaeger? ( !system-boost )
-	diskprediction? ( mgr )
-	kafka? ( radosgw )
-	mgr? ( cephfs )
-	rabbitmq? ( radosgw )
-"
-RESTRICT="!test? ( test )"
-
-# the tests need root access
-RESTRICT="test? ( userpriv )"
-
-# distribution tarball does not include everything needed for tests
-RESTRICT+=" test"
-
-# create a non-debug release
-CMAKE_BUILD_TYPE=RelWithDebInfo
-
-# false positives unless all USE flags are on
-CMAKE_WARN_UNUSED_CLI=no
-
-PATCHES=(
-	"${FILESDIR}/ceph-12.2.0-use-provided-cpu-flag-values.patch"
-	"${FILESDIR}/ceph-14.2.0-cflags.patch"
-	"${FILESDIR}/ceph-12.2.4-boost-build-none-options.patch"
-	"${FILESDIR}/ceph-16.2.2-cflags.patch"
-	"${FILESDIR}/ceph-16.2.2-no-virtualenvs.patch"
-	"${FILESDIR}/ceph-13.2.2-dont-install-sysvinit-script.patch"
-	"${FILESDIR}/ceph-14.2.0-dpdk-cflags.patch"
-	"${FILESDIR}/ceph-14.2.0-link-crc32-statically.patch"
-	"${FILESDIR}/ceph-14.2.0-cython-0.29.patch"
-	"${FILESDIR}/ceph-16.2.0-rocksdb-cmake.patch"
-	"${FILESDIR}/ceph-15.2.3-spdk-compile.patch"
-	"${FILESDIR}/ceph-16.2.0-install-libblk.patch"
-	"${FILESDIR}/ceph-16.2.0-spdk-tinfo.patch"
-	"${FILESDIR}/ceph-16.2.0-jaeger-system-boost.patch"
-	"${FILESDIR}/ceph-16.2.0-liburing.patch"
-	"${FILESDIR}/ceph-16.2.2-system-zstd.patch"
-)
-
-check-reqs_export_vars() {
-	CHECKREQS_DISK_BUILD="6G"
-
-	if use system-boost; then
-		CHECKREQS_DISK_USR="350M"
-	else
-		CHECKREQS_DISK_USR="510M"
-	fi
-
-	export CHECKREQS_DISK_BUILD CHECKREQS_DISK_USR
-}
-
-pkg_pretend() {
-	check-reqs_export_vars
-	check-reqs_pkg_pretend
-}
-
-pkg_setup() {
-	python_setup
-	lua_setup
-	check-reqs_export_vars
-	check-reqs_pkg_setup
-}
-
-src_prepare() {
-	cmake_src_prepare
-
-	if use system-boost; then
-		find "${S}" -name '*.cmake' -or -name 'CMakeLists.txt' -print0 \
-			| xargs --null sed -r \
-			-e 's|Boost::|boost_|g' \
-			-e 's|Boost_|boost_|g' \
-			-e 's|[Bb]oost_boost|boost_system|g' -i || die
-	fi
-
-	sed -r -e "s:DESTINATION .+\\):DESTINATION $(get_bashcompdir)\\):" \
-		-i src/bash_completion/CMakeLists.txt || die
-
-	sed  -e "s:objdump -p:$(tc-getOBJDUMP) -p:" -i CMakeLists.txt || die
-
-	if ! use diskprediction; then
-		rm -rf src/pybind/mgr/diskprediction_local || die
-	fi
-
-	# force lua version to use selected version
-	local lua_version
-	lua_version=$(ver_cut 1-2 $(lua_get_version))
-	sed -i "s:find_package(Lua [0-9][.][0-9] REQUIRED):find_package(Lua ${lua_version} EXACT REQUIRED):" src/CMakeLists.txt
-
-	# remove tests that need root access
-	rm src/test/cli/ceph-authtool/cap*.t || die
-}
-
-ceph_src_configure() {
-	local flag
-	local mycmakeargs=(
-		-DWITH_BABELTRACE=$(usex babeltrace)
-		-DWITH_BLUESTORE_PMEM=$(usex pmdk)
-		-DWITH_CEPHFS=$(usex cephfs)
-		-DWITH_CEPHFS_SHELL=$(usex cephfs)
-		-DWITH_DPDK=$(usex dpdk)
-		-DWITH_SPDK=$(usex spdk)
-		-DWITH_FUSE=$(usex fuse)
-		-DWITH_LTTNG=$(usex lttng)
-		-DWITH_GSSAPI=$(usex kerberos)
-		-DWITH_GRAFANA=$(usex grafana)
-		-DWITH_MGR=$(usex mgr)
-		-DWITH_MGR_DASHBOARD_FRONTEND=OFF
-		-DWITH_NUMA=$(usex numa)
-		-DWITH_OPENLDAP=$(usex ldap)
-		-DWITH_PYTHON3=3
-		-DWITH_RADOSGW=$(usex radosgw)
-		-DWITH_RADOSGW_AMQP_ENDPOINT=$(usex rabbitmq)
-		-DWITH_RADOSGW_KAFKA_ENDPOINT=$(usex kafka)
-		-DWITH_RADOSGW_LUA_PACKAGES=$(usex rgw-lua "$(usex radosgw)" "NO")
-		-DWITH_RBD_RWL=$(usex rbd-rwl)
-		-DWITH_RBD_SSD_CACHE=$(usex rbd-ssd)
-		-DWITH_SSL=$(usex ssl)
-		-DWITH_SYSTEMD=$(usex systemd)
-		-DWITH_TESTS=$(usex test)
-		-DWITH_LIBURING=$(usex uring)
-		-DWITH_SYSTEM_LIBURING=$(usex uring)
-		-DWITH_LIBCEPHSQLITE=$(usex sqlite)
-		-DWITH_XFS=$(usex xfs)
-		-DWITH_ZBD=$(usex zbd)
-		-DWITH_ZFS=$(usex zfs)
-		-DENABLE_SHARED="ON"
-		-DALLOCATOR=$(usex tcmalloc 'tcmalloc' "$(usex jemalloc 'jemalloc' 'libc')")
-		-DWITH_SYSTEM_PMDK=$(usex pmdk 'YES' "$(usex rbd-rwl)")
-		-DWITH_SYSTEM_BOOST=$(usex system-boost)
-		-DBOOST_J=$(makeopts_jobs)
-		-DWITH_SYSTEM_ROCKSDB=ON
-		-DWITH_RDMA=OFF
-		-DWITH_TBB=OFF
-		-DSYSTEMD_UNITDIR=$(systemd_get_systemunitdir)
-		-DCMAKE_INSTALL_SYSTEMD_SERVICEDIR=$(systemd_get_systemunitdir)
-		-DEPYTHON_VERSION="${EPYTHON#python}"
-		-DCMAKE_INSTALL_DOCDIR="${EPREFIX}/usr/share/doc/${PN}-${PVR}"
-		-DCMAKE_INSTALL_SYSCONFDIR="${EPREFIX}/etc"
-		-Wno-dev
-	)
-
-	# this breaks when re-configuring for python impl
-	[[ ${EBUILD_PHASE} == configure ]] && mycmakeargs+=(-DWITH_JAEGER=$(usex jaeger))
-
-	if use amd64 || use x86; then
-		for flag in ${CPU_FLAGS_X86[@]}; do
-			case "${flag}" in
-				avx*)
-					local var=${flag%f}
-					mycmakeargs+=("$(usex cpu_flags_x86_${flag} "-DHAVE_NASM_X64_${var^^}=1")")
-				;;
-				*) mycmakeargs+=("$(usex cpu_flags_x86_${flag} "-DHAVE_INTEL_${flag^^}=1")");;
-			esac
-		done
-	fi
-
-	# needed for >=glibc-2.32
-	has_version '>=sys-libs/glibc-2.32' && mycmakeargs+=(-DWITH_REENTRANT_STRSIGNAL:BOOL=ON)
-
-	rm -f "${BUILD_DIR:-${S}}/CMakeCache.txt" \
-		|| die "failed to remove cmake cache"
-
-	cmake_src_configure
-
-	# bug #630232
-	sed -i "s:\"${T//:\\:}/${EPYTHON}/bin/python\":\"${PYTHON}\":" \
-		"${BUILD_DIR:-${S}}"/include/acconfig.h \
-		|| die "sed failed"
-}
-
-src_configure() {
-	use custom-cflags || strip-flags
-	ceph_src_configure
-}
-
-python_compile() {
-	local CMAKE_USE_DIR="${S}"
-	ceph_src_configure
-
-	pushd "${BUILD_DIR}/src/pybind" >/dev/null || die
-	emake VERBOSE=1 clean
-	emake VERBOSE=1 all
-
-	# python modules are only compiled with "make install" so we need to do this to
-	# prevent doing a bunch of compilation in src_install
-	DESTDIR="${T}" emake VERBOSE=1 install
-	popd >/dev/null || die
-}
-
-src_compile() {
-	cmake_build VERBOSE=1 all
-
-	# we have to do this here to prevent from building everything multiple times
-	python_copy_sources
-	python_foreach_impl python_compile
-}
-
-src_test() {
-	make check || die "make check failed"
-}
-
-python_install() {
-	local CMAKE_USE_DIR="${S}"
-	pushd "${BUILD_DIR}/src/pybind" >/dev/null || die
-	DESTDIR="${ED}" emake VERBOSE=1 install
-	popd >/dev/null || die
-
-	python_optimize
-}
-
-src_install() {
-	cmake_src_install
-	python_foreach_impl python_install
-
-	find "${ED}" -name '*.la' -type f -delete || die
-
-	exeinto /usr/$(get_libdir)/ceph
-	newexe "${BUILD_DIR}/bin/init-ceph" init-ceph
-
-	insinto /etc/logrotate.d/
-	newins "${FILESDIR}"/ceph.logrotate-r2 ${PN}
-
-	keepdir /var/lib/${PN}{,/tmp} /var/log/${PN}/stat
-
-	fowners -R ceph:ceph /var/log/ceph
-
-	newinitd "${FILESDIR}/rbdmap.initd-r1" rbdmap
-	newinitd "${FILESDIR}/${PN}.initd-r12" ${PN}
-	newconfd "${FILESDIR}/${PN}.confd-r5" ${PN}
-
-	insinto /etc/sysctl.d
-	newins "${FILESDIR}"/sysctld 90-${PN}.conf
-
-	use tcmalloc && newenvd "${FILESDIR}"/envd-tcmalloc 99${PN}-tcmalloc
-
-	# units aren't installed by the build system unless systemd is enabled
-	# so no point installing these with the USE flag disabled
-	if use systemd; then
-		systemd_install_serviced "${FILESDIR}/ceph-mds_at.service.conf" \
-			"ceph-mds@.service"
-
-		systemd_install_serviced "${FILESDIR}/ceph-osd_at.service.conf" \
-			"ceph-osd@.service"
-
-	fi
-
-	udev_dorules udev/*.rules
-	newtmpfiles "${FILESDIR}"/ceph-tmpfilesd ${PN}.conf
-
-	readme.gentoo_create_doc
-
-	python_setup
-
-	# bug #630232
-	sed -i -r "s:${T//:/\\:}/${EPYTHON}:/usr:" "${ED}"/usr/bin/ceph{,-crash} \
-		|| die "sed failed"
-
-	python_fix_shebang "${ED}"/usr/{,s}bin/
-
-	# python_fix_shebang apparently is not idempotent
-	local shebang_regex='(/usr/lib/python-exec/python[0-9]\.[0-9]/python)[0-9]\.[0-9]'
-	grep -r -E -l --null "${shebang_regex}" "${ED}"/usr/{s,}bin/ \
-		| xargs --null --no-run-if-empty -- sed -i -r  "s:${shebang_regex}:\1:" || die
-
-	local -a rados_classes=( "${ED}/usr/$(get_libdir)/rados-classes"/* )
-	dostrip -x "${rados_classes[@]#${ED}}"
-}
-
-pkg_postinst() {
-	readme.gentoo_print_elog
-	tmpfiles_process ${PN}.conf
-}

diff --git a/sys-cluster/ceph/files/ceph-15.2.13-no-virtualenvs.patch b/sys-cluster/ceph/files/ceph-15.2.13-no-virtualenvs.patch
deleted file mode 100644
index 665bb891426..00000000000
--- a/sys-cluster/ceph/files/ceph-15.2.13-no-virtualenvs.patch
+++ /dev/null
@@ -1,73 +0,0 @@
-diff --git a/cmake/modules/AddCephTest.cmake b/cmake/modules/AddCephTest.cmake
-index c9ee8c1b8f..09f75543da 100644
---- a/cmake/modules/AddCephTest.cmake
-+++ b/cmake/modules/AddCephTest.cmake
-@@ -68,14 +68,6 @@ function(add_tox_test name)
-   endif()
-   string(REPLACE ";" "," tox_envs "${tox_envs}")
-   find_package(Python3 QUIET REQUIRED)
--  add_custom_command(
--    OUTPUT ${venv_path}/bin/activate
--    COMMAND ${CMAKE_SOURCE_DIR}/src/tools/setup-virtualenv.sh --python="${Python3_EXECUTABLE}" ${venv_path}
--    WORKING_DIRECTORY ${tox_path}
--    COMMENT "preparing venv for ${name}")
--  add_custom_target(${name}-venv
--    DEPENDS ${venv_path}/bin/activate)
--  add_dependencies(tests ${name}-venv)
-   add_test(
-     NAME ${test_name}
-     COMMAND ${CMAKE_SOURCE_DIR}/src/script/run_tox.sh
-diff --git a/src/ceph-volume/CMakeLists.txt b/src/ceph-volume/CMakeLists.txt
-index 4224499c47..9a6c87595b 100644
---- a/src/ceph-volume/CMakeLists.txt
-+++ b/src/ceph-volume/CMakeLists.txt
-@@ -8,22 +8,6 @@ if(FREEBSD)
-   add_subdirectory(plugin/zfs)
- endif()
- 
--# Required for running ceph-volume inventory in a vstart environment
--set(CEPH_VOLUME_VIRTUALENV ${CEPH_BUILD_VIRTUALENV}/ceph-volume-virtualenv)
--
--add_custom_command(
--  OUTPUT ${CEPH_VOLUME_VIRTUALENV}/bin/python
--  COMMAND ${CMAKE_SOURCE_DIR}/src/tools/setup-virtualenv.sh --python=${Python_EXECUTABLE} ${CEPH_VOLUME_VIRTUALENV}
--  WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}/src/ceph-volume
--  COMMENT "ceph-volume venv is being created")
--
--add_custom_command(
--  OUTPUT ${CEPH_VOLUME_VIRTUALENV}/bin/ceph-volume
--  DEPENDS ${CEPH_VOLUME_VIRTUALENV}/bin/python
--  COMMAND . ${CEPH_VOLUME_VIRTUALENV}/bin/activate && ${CEPH_VOLUME_VIRTUALENV}/bin/python setup.py develop && deactivate
--  WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}/src/ceph-volume
--  COMMENT "${CMAKE_SOURCE_DIR}/src/ceph-volume")
--
- add_custom_target(ceph-volume-venv-setup
-   DEPENDS ${CEPH_VOLUME_VIRTUALENV}/bin/ceph-volume)
- 
-diff --git a/src/pybind/mgr/dashboard/CMakeLists.txt b/src/pybind/mgr/dashboard/CMakeLists.txt
-index 92e4cdc538..3153c93c45 100644
---- a/src/pybind/mgr/dashboard/CMakeLists.txt
-+++ b/src/pybind/mgr/dashboard/CMakeLists.txt
-@@ -5,9 +5,6 @@ function(add_npm_command)
-   set(multi_kw COMMAND DEPENDS)
-   cmake_parse_arguments(NC "${options}" "${single_kw}" "${multi_kw}" ${ARGN})
-   string(REPLACE ";" " " command "${NC_COMMAND}")
--  if(NC_NODEENV)
--    string(REGEX REPLACE "^(.*(npm|npx) .*)$" ". ${mgr-dashboard-nodeenv-dir}/bin/activate && \\1 && deactivate" command ${command})
--  endif()
-   string(REPLACE " " ";" command "${command}")
-   add_custom_command(
-     OUTPUT "${NC_OUTPUT}"
-@@ -29,10 +26,8 @@ else()
-   set(nodeenv NODEENV)
- 
-   add_custom_command(
--    OUTPUT "${mgr-dashboard-nodeenv-dir}/bin/npm"
--    COMMAND ${CMAKE_SOURCE_DIR}/src/tools/setup-virtualenv.sh --python=${MGR_PYTHON_EXECUTABLE} ${mgr-dashboard-nodeenv-dir}
--    COMMAND ${mgr-dashboard-nodeenv-dir}/bin/pip install nodeenv
--    COMMAND ${mgr-dashboard-nodeenv-dir}/bin/nodeenv --verbose -p --node=10.18.1
-+    OUTPUT "npm"
-+    COMMAND nodeenv --verbose -p --node=10.18.1
-     WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
-     COMMENT "dashboard nodeenv is being installed"
-   )


^ permalink raw reply related	[flat|nested] 68+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-cluster/ceph/, sys-cluster/ceph/files/
@ 2021-07-01  0:47 Patrick McLean
  0 siblings, 0 replies; 68+ messages in thread
From: Patrick McLean @ 2021-07-01  0:47 UTC (permalink / raw
  To: gentoo-commits

commit:     737c5a866a8274382b26f01ae7b8fb748c1033f1
Author:     Patrick McLean <chutzpah <AT> gentoo <DOT> org>
AuthorDate: Thu Jul  1 00:47:24 2021 +0000
Commit:     Patrick McLean <chutzpah <AT> gentoo <DOT> org>
CommitDate: Thu Jul  1 00:47:39 2021 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=737c5a86

sys-cluster/ceph-14.2.22: Version bump

Package-Manager: Portage-3.0.20, Repoman-3.0.3
Signed-off-by: Patrick McLean <chutzpah <AT> gentoo.org>

 sys-cluster/ceph/Manifest                          |   1 +
 sys-cluster/ceph/ceph-14.2.22.ebuild               | 391 +++++++++++++++++++++
 .../files/ceph-14.2.22-build-without-mgr.patch     |  32 ++
 sys-cluster/ceph/files/ceph-14.2.22-cflags.patch   |  25 ++
 .../ceph/files/ceph-14.2.22-no-virtualenvs.patch   |  39 ++
 5 files changed, 488 insertions(+)

diff --git a/sys-cluster/ceph/Manifest b/sys-cluster/ceph/Manifest
index 6c86ea70178..6e1553aae32 100644
--- a/sys-cluster/ceph/Manifest
+++ b/sys-cluster/ceph/Manifest
@@ -1,4 +1,5 @@
 DIST ceph-14.2.21.tar.gz 129272778 BLAKE2B f82f452e0f0c40a95ea1bdb3654c2d322caa3edeeb05e41247e02a8ffe731c570d9e49aefa61c447a8b73620d4a9b9872335171f1e08fbd9a08eea930ccbfe76 SHA512 39b4a0624dcab2bafa50f51a42155fcf96dad74531a001d75009ad246a8ca80ce81ae538b34c0a1b773691c363626f1d0342f2439b711bd0dd16214592171884
+DIST ceph-14.2.22.tar.gz 130597047 BLAKE2B 58bbb3243de076ed1d25dfd7bd75717c50ad15d16690dcbd1511d1b506477845efc3ff7fbe713cf18fb8cfcc8c16707ad2a0f30159e3198ff82e57fbd2eb3cf2 SHA512 1c66661e1a39fa9151e95e33c390b810ffe269465d8785e2197cc15b8d83bd2edde77de48a8abd71a4da68cd5830ff14bcdf6b98fd17edabe85caeb1eca018d3
 DIST ceph-15.2.12.tar.gz 148509713 BLAKE2B 4962e7d574b38592a874a1b3fa8610bb2d0afc8713d995d67a790c025bb086cb619cbbaec76482ec096b4c55b9f1df383f5bd4806a231bc88e70ac3efbac24b5 SHA512 08266a2e9a7ca5a37e03f340873571fd012c630dd898a87241cd97c29760b2bf41fe64c8883e7b08e0f83c26245072cd26e69ecb1db02378d1ec38335ba1cd0f
 DIST ceph-15.2.13.tar.gz 148542333 BLAKE2B 2e9668bcb0fd283ec4ab51b0c6142fc9a3b6310eb5d34e07da5e6b73b55dd7976db5ab9c78a93684ddc2f51873b1a17c4d31c5f5647b2d43a2826ee5362f7e5d SHA512 bde28c331c489db0845959f65c425146c317466a7793f56a83e2827dec35b8cd6f600bf9056151c1e6926cc0155deebbc8681c240ac9f37ad876b9a6afae96da
 DIST ceph-16.2.4.tar.gz 155840423 BLAKE2B a803ffa61ac9fd6d42790d6d8e12aa8df843968627df0051475355f3ba0dc1272afa3d9e2716115ad769b2f322d7bd239d99b89e51610e89ce9efe39af4f01ae SHA512 8904e7fcabd50276e4e86735fd85dba96f417c194c219025146f994707def7abe372528b0f2e862e274b2f405d7b791bac86b6cbb8d57cecd6f44023a2ffb6f6

diff --git a/sys-cluster/ceph/ceph-14.2.22.ebuild b/sys-cluster/ceph/ceph-14.2.22.ebuild
new file mode 100644
index 00000000000..bbdff4749a9
--- /dev/null
+++ b/sys-cluster/ceph/ceph-14.2.22.ebuild
@@ -0,0 +1,391 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+PYTHON_COMPAT=( python3_{7,8} )
+DISTUTILS_USE_SETUPTOOLS=rdepend
+CMAKE_MAKEFILE_GENERATOR=emake
+
+DISTUTILS_OPTIONAL=1
+
+inherit check-reqs bash-completion-r1 cmake distutils-r1 flag-o-matic \
+		python-r1 udev readme.gentoo-r1 toolchain-funcs systemd tmpfiles
+
+if [[ ${PV} == *9999* ]]; then
+	inherit git-r3
+	EGIT_REPO_URI="https://github.com/ceph/ceph.git"
+	SRC_URI=""
+else
+	SRC_URI="https://download.ceph.com/tarballs/${P}.tar.gz"
+	KEYWORDS="~amd64 ~ppc64"
+fi
+
+DESCRIPTION="Ceph distributed filesystem"
+HOMEPAGE="https://ceph.com/"
+
+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"
+SLOT="0"
+
+CPU_FLAGS_X86=(sse{,2,3,4_1,4_2} ssse3)
+
+IUSE="babeltrace +cephfs custom-cflags diskprediction dpdk fuse grafana jemalloc
+	kafka kerberos ldap lttng +mgr numa rabbitmq +radosgw +ssl spdk system-boost
+	systemd +tcmalloc test xfs zfs"
+IUSE+=" $(printf "cpu_flags_x86_%s\n" ${CPU_FLAGS_X86[@]})"
+
+DEPEND="
+	acct-group/ceph
+	acct-user/ceph
+	virtual/libudev:=
+	app-arch/bzip2:=
+	app-arch/lz4:=
+	app-arch/snappy:=
+	app-arch/zstd:=
+	app-shells/bash:0
+	app-misc/jq:=
+	dev-libs/crypto++:=
+	dev-libs/leveldb:=[snappy,tcmalloc(-)?]
+	dev-libs/libaio:=
+	dev-libs/libnl:3=
+	dev-libs/libxml2:=
+	<dev-libs/rocksdb-6.15:=
+	dev-libs/xmlsec:=[openssl]
+	dev-cpp/yaml-cpp:=
+	dev-libs/nss:=
+	dev-libs/protobuf:=
+	net-dns/c-ares:=
+	net-libs/gnutls:=
+	sys-auth/oath-toolkit:=
+	sys-apps/coreutils
+	sys-apps/grep
+	sys-apps/hwloc:=
+	sys-apps/keyutils:=
+	sys-apps/util-linux:=
+	sys-apps/sed
+	sys-apps/util-linux
+	sys-libs/libcap-ng:=
+	sys-libs/ncurses:0=
+	sys-libs/zlib:=
+	sys-process/numactl:=
+	x11-libs/libpciaccess:=
+	virtual/libcrypt
+	babeltrace? ( dev-util/babeltrace )
+	fuse? ( sys-fs/fuse:0= )
+	jemalloc? ( dev-libs/jemalloc:= )
+	!jemalloc? ( >=dev-util/google-perftools-2.6.1:= )
+	kafka? ( dev-libs/librdkafka:= )
+	kerberos? ( virtual/krb5 )
+	ldap? ( net-nds/openldap:= )
+	lttng? ( dev-util/lttng-ust:= )
+	rabbitmq? ( net-libs/rabbitmq-c:= )
+	radosgw? (
+		dev-libs/expat:=
+		dev-libs/openssl:=
+		net-misc/curl:=[curl_ssl_openssl]
+	)
+	ssl? ( dev-libs/openssl:= )
+	system-boost? ( dev-libs/boost:=[threads(+),context,python,${PYTHON_USEDEP}] )
+	xfs? ( sys-fs/xfsprogs:= )
+	zfs? ( sys-fs/zfs:= )
+	${PYTHON_DEPS}
+"
+BDEPEND="
+	amd64? ( dev-lang/yasm )
+	x86? ( dev-lang/yasm )
+	app-arch/cpio
+	>=dev-util/cmake-3.5.0
+	dev-python/cython[${PYTHON_USEDEP}]
+	dev-python/sphinx
+	dev-util/cunit
+	dev-util/gperf
+	dev-util/ragel
+	dev-util/valgrind
+	sys-apps/coreutils
+	sys-apps/findutils
+	sys-apps/grep
+	sys-apps/sed
+	sys-apps/which
+	sys-devel/bc
+	sys-devel/patch
+	virtual/pkgconfig
+	test? (
+		dev-python/coverage[${PYTHON_USEDEP}]
+		dev-python/virtualenv[${PYTHON_USEDEP}]
+		dev-python/requests-mock[${PYTHON_USEDEP}]
+		sys-apps/grep[pcre]
+		sys-fs/btrfs-progs
+	)
+"
+RDEPEND="${DEPEND}
+	app-admin/sudo
+	net-misc/socat
+	sys-apps/gptfdisk
+	>=sys-apps/smartmontools-7.0
+	sys-block/parted
+	sys-fs/cryptsetup
+	sys-fs/lsscsi
+	sys-fs/lvm2[-device-mapper-only(-)]
+	virtual/awk
+	dev-python/bcrypt[${PYTHON_USEDEP}]
+	dev-python/cherrypy[${PYTHON_USEDEP}]
+	dev-python/flask[${PYTHON_USEDEP}]
+	dev-python/jinja[${PYTHON_USEDEP}]
+	dev-python/pecan[${PYTHON_USEDEP}]
+	dev-python/prettytable[${PYTHON_USEDEP}]
+	dev-python/pyopenssl[${PYTHON_USEDEP}]
+	dev-python/requests[${PYTHON_USEDEP}]
+	dev-python/werkzeug[${PYTHON_USEDEP}]
+	mgr? (
+		dev-python/more-itertools[${PYTHON_USEDEP}]
+		dev-python/numpy[${PYTHON_USEDEP}]
+		<dev-python/pyjwt-2.0[${PYTHON_USEDEP}]
+		dev-python/pyyaml[${PYTHON_USEDEP}]
+		dev-python/routes[${PYTHON_USEDEP}]
+		sci-libs/scikit-learn[${PYTHON_USEDEP}]
+		dev-python/six[${PYTHON_USEDEP}]
+	)
+"
+# diskprediction needs older scipy not compatible with py38
+# bug #724438
+REQUIRED_USE="
+	${PYTHON_REQUIRED_USE}
+	?? ( jemalloc tcmalloc )
+	diskprediction? ( mgr !python_targets_python3_8 )
+	kafka? ( radosgw )
+	mgr? ( cephfs )
+	rabbitmq? ( radosgw )
+"
+RESTRICT="!test? ( test )"
+
+# the tests need root access
+RESTRICT="test? ( userpriv )"
+
+# distribution tarball does not include everything needed for tests
+RESTRICT+=" test"
+
+# create a non-debug release
+CMAKE_BUILD_TYPE=RelWithDebInfo
+
+# false positives unless all USE flags are on
+CMAKE_WARN_UNUSED_CLI=no
+
+PATCHES=(
+	"${FILESDIR}/ceph-12.2.0-use-provided-cpu-flag-values.patch"
+	"${FILESDIR}/ceph-14.2.0-cflags.patch"
+	"${FILESDIR}/ceph-12.2.4-boost-build-none-options.patch"
+	"${FILESDIR}/ceph-14.2.22-cflags.patch"
+	"${FILESDIR}/ceph-14.2.0-mgr-python-version.patch"
+	"${FILESDIR}/ceph-14.2.22-no-virtualenvs.patch"
+	"${FILESDIR}/ceph-13.2.2-dont-install-sysvinit-script.patch"
+	"${FILESDIR}/ceph-14.2.0-dpdk-cflags.patch"
+	"${FILESDIR}/ceph-14.2.0-cython-0.29.patch"
+	"${FILESDIR}/ceph-14.2.3-dpdk-compile-fix-1.patch"
+	"${FILESDIR}/ceph-14.2.4-python-executable.patch"
+	"${FILESDIR}/ceph-14.2.4-undefined-behaviour.patch"
+	"${FILESDIR}/ceph-14.2.22-build-without-mgr.patch"
+	"${FILESDIR}/ceph-14.2.11-systemd-unit-fix.patch"
+	"${FILESDIR}/ceph-15.2.9-dont-compile-isal_compress-if-don-t-have-SSE4_1.patch"
+)
+
+check-reqs_export_vars() {
+	CHECKREQS_DISK_BUILD="5200M"
+	CHECKREQS_DISK_USR="510M"
+
+	export CHECKREQS_DISK_BUILD CHECKREQS_DISK_USR
+}
+
+pkg_pretend() {
+	check-reqs_export_vars
+	check-reqs_pkg_pretend
+}
+
+pkg_setup() {
+	python_setup
+	check-reqs_export_vars
+	check-reqs_pkg_setup
+}
+
+src_prepare() {
+	cmake_src_prepare
+
+	if use system-boost; then
+		find "${S}" -name '*.cmake' -or -name 'CMakeLists.txt' -print0 \
+			| xargs --null sed -r \
+			-e 's|Boost::|boost_|g' \
+			-e 's|Boost_|boost_|g' \
+			-e 's|[Bb]oost_boost|boost_system|g' -i || die
+	fi
+
+	sed -r -e "s:DESTINATION .+\\):DESTINATION $(get_bashcompdir)\\):" \
+		-i src/bash_completion/CMakeLists.txt || die
+
+	sed  -e "s:objdump -p:$(tc-getOBJDUMP) -p:" -i CMakeLists.txt || die
+
+	if ! use diskprediction; then
+		rm -rf src/pybind/mgr/diskprediction_local || die
+	fi
+
+	# remove tests that need root access
+	rm src/test/cli/ceph-authtool/cap*.t || die
+}
+
+ceph_src_configure() {
+	local flag
+	local mycmakeargs=(
+		-DWITH_BABELTRACE=$(usex babeltrace)
+		-DWITH_CEPHFS=$(usex cephfs)
+		-DWITH_CEPHFS_SHELL=$(usex cephfs)
+		-DWITH_DPDK=$(usex dpdk)
+		-DWITH_SPDK=$(usex spdk)
+		-DWITH_FUSE=$(usex fuse)
+		-DWITH_LTTNG=$(usex lttng)
+		-DWITH_GSSAPI=$(usex kerberos)
+		-DWITH_GRAFANA=$(usex grafana)
+		-DWITH_MGR=$(usex mgr)
+		-DWITH_MGR_DASHBOARD_FRONTEND=OFF
+		-DWITH_NUMA=$(usex numa)
+		-DWITH_OPENLDAP=$(usex ldap)
+		-DWITH_PYTHON3=3
+		-DWITH_RADOSGW=$(usex radosgw)
+		-DWITH_RADOSGW_AMQP_ENDPOINT=$(usex rabbitmq)
+		-DWITH_RADOSGW_KAFKA_ENDPOINT=$(usex kafka)
+		-DWITH_SSL=$(usex ssl)
+		-DWITH_SYSTEMD=$(usex systemd)
+		-DWITH_TESTS=$(usex test)
+		-DWITH_XFS=$(usex xfs)
+		-DWITH_ZFS=$(usex zfs)
+		-DENABLE_SHARED="ON"
+		-DALLOCATOR=$(usex tcmalloc 'tcmalloc' "$(usex jemalloc 'jemalloc' 'libc')")
+		-DWITH_SYSTEM_BOOST=$(usex system-boost)
+		-DBOOST_J=$(makeopts_jobs)
+		-DWITH_SYSTEM_ROCKSDB=ON
+		-DWITH_RDMA=OFF
+		-DWITH_TBB=OFF
+		-DSYSTEMD_UNITDIR=$(systemd_get_systemunitdir)
+		-DCMAKE_INSTALL_SYSTEMD_SERVICEDIR=$(systemd_get_systemunitdir)
+		-DEPYTHON_VERSION="${EPYTHON#python}"
+		-DCMAKE_INSTALL_DOCDIR="${EPREFIX}/usr/share/doc/${PN}-${PVR}"
+		-DCMAKE_INSTALL_SYSCONFDIR="${EPREFIX}/etc"
+		-Wno-dev
+	)
+	if use amd64 || use x86; then
+		for flag in ${CPU_FLAGS_X86[@]}; do
+			mycmakeargs+=("$(usex cpu_flags_x86_${flag} "-DHAVE_INTEL_${flag^^}=1")")
+		done
+	fi
+
+	# needed for >=glibc-2.32
+	has_version '>=sys-libs/glibc-2.32' && mycmakeargs+=(-DWITH_REENTRANT_STRSIGNAL:BOOL=ON)
+
+	rm -f "${BUILD_DIR:-${S}}/CMakeCache.txt" \
+		|| die "failed to remove cmake cache"
+
+	cmake_src_configure
+
+	# bug #630232
+	sed -i "s:\"${T//:\\:}/${EPYTHON}/bin/python\":\"${PYTHON}\":" \
+		"${BUILD_DIR:-${S}}"/include/acconfig.h \
+		|| die "sed failed"
+}
+
+src_configure() {
+	use custom-cflags || strip-flags
+	ceph_src_configure
+}
+
+python_compile() {
+	local CMAKE_USE_DIR="${S}"
+	ceph_src_configure
+
+	pushd "${BUILD_DIR}/src/pybind" >/dev/null || die
+	emake VERBOSE=1 clean
+	emake VERBOSE=1 all
+
+	# python modules are only compiled with "make install" so we need to do this to
+	# prevent doing a bunch of compilation in src_install
+	DESTDIR="${T}" emake VERBOSE=1 install
+	popd >/dev/null || die
+}
+
+src_compile() {
+	cmake_build VERBOSE=1 all
+
+	# we have to do this here to prevent from building everything multiple times
+	python_copy_sources
+	python_foreach_impl python_compile
+}
+
+src_test() {
+	make check || die "make check failed"
+}
+
+python_install() {
+	local CMAKE_USE_DIR="${S}"
+	pushd "${BUILD_DIR}/src/pybind" >/dev/null || die
+	DESTDIR="${ED}" emake VERBOSE=1 install
+	popd >/dev/null || die
+
+	python_optimize
+}
+
+src_install() {
+	cmake_src_install
+	python_foreach_impl python_install
+
+	find "${ED}" -name '*.la' -type f -delete || die
+
+	exeinto /usr/$(get_libdir)/ceph
+	newexe "${BUILD_DIR}/bin/init-ceph" init-ceph
+
+	insinto /etc/logrotate.d/
+	newins "${FILESDIR}"/ceph.logrotate-r2 ${PN}
+
+	keepdir /var/lib/${PN}{,/tmp} /var/log/${PN}/stat
+
+	fowners -R ceph:ceph /var/log/ceph
+
+	newinitd "${FILESDIR}/rbdmap.initd" rbdmap
+	newinitd "${FILESDIR}/${PN}.initd-r12" ${PN}
+	newconfd "${FILESDIR}/${PN}.confd-r5" ${PN}
+
+	insinto /etc/sysctl.d
+	newins "${FILESDIR}"/sysctld 90-${PN}.conf
+
+	use tcmalloc && newenvd "${FILESDIR}"/envd-tcmalloc 99${PN}-tcmalloc
+
+	# units aren't installed by the build system unless systemd is enabled
+	# so no point installing these with the USE flag disabled
+	if use systemd; then
+		systemd_install_serviced "${FILESDIR}/ceph-mds_at.service.conf" \
+			"ceph-mds@.service"
+
+		systemd_install_serviced "${FILESDIR}/ceph-osd_at.service.conf" \
+			"ceph-osd@.service"
+
+	fi
+
+	udev_dorules udev/*.rules
+	newtmpfiles "${FILESDIR}"/ceph-tmpfilesd ${PN}.conf
+
+	readme.gentoo_create_doc
+
+	python_setup
+
+	# bug #630232
+	sed -i -r "s:${T//:/\\:}/${EPYTHON}:/usr:" "${ED}"/usr/bin/ceph{,-crash} \
+		|| die "sed failed"
+
+	python_fix_shebang "${ED}"/usr/{,s}bin/
+
+	# python_fix_shebang apparently is not idempotent
+	local shebang_regex='(/usr/lib/python-exec/python[0-9]\.[0-9]/python)[0-9]\.[0-9]'
+	grep -r -E -l --null "${shebang_regex}" "${ED}"/usr/{s,}bin/ \
+		| xargs --null --no-run-if-empty -- sed -i -r  "s:${shebang_regex}:\1:" || die
+
+	local -a rados_classes=( "${ED}/usr/$(get_libdir)/rados-classes"/* )
+	dostrip -x "${rados_classes[@]#${ED}}"
+}
+
+pkg_postinst() {
+	readme.gentoo_print_elog
+}

diff --git a/sys-cluster/ceph/files/ceph-14.2.22-build-without-mgr.patch b/sys-cluster/ceph/files/ceph-14.2.22-build-without-mgr.patch
new file mode 100644
index 00000000000..f3ba34cc165
--- /dev/null
+++ b/sys-cluster/ceph/files/ceph-14.2.22-build-without-mgr.patch
@@ -0,0 +1,32 @@
+diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
+index ed4bbc75d44..5f5e72918d2 100644
+--- a/src/CMakeLists.txt
++++ b/src/CMakeLists.txt
+@@ -451,9 +451,7 @@ if(WITH_LIBRADOSSTRIPER)
+   add_subdirectory(libradosstriper)
+ endif()
+ 
+-if(WITH_MGR)
+-  add_subdirectory(mgr)
+-endif()
++add_subdirectory(mgr)
+ 
+ set(librados_config_srcs
+   librados-config.cc)
+diff --git a/src/mgr/CMakeLists.txt b/src/mgr/CMakeLists.txt
+index e7caaeff099..b4f13c05184 100644
+--- a/src/mgr/CMakeLists.txt
++++ b/src/mgr/CMakeLists.txt
+@@ -1,6 +1,7 @@
+ add_library(mgr_cap_obj OBJECT
+   MgrCap.cc)
+ 
++if(WITH_MGR)
+ set(mgr_srcs
+   ${CMAKE_SOURCE_DIR}/src/ceph_mgr.cc
+   ${CMAKE_SOURCE_DIR}/src/mon/PGMap.cc
+@@ -36,3 +37,4 @@ target_link_libraries(ceph-mgr
+ set_target_properties(ceph-mgr PROPERTIES
+   POSITION_INDEPENDENT_CODE ${EXE_LINKER_USE_PIE})
+ install(TARGETS ceph-mgr DESTINATION bin)
++endif()

diff --git a/sys-cluster/ceph/files/ceph-14.2.22-cflags.patch b/sys-cluster/ceph/files/ceph-14.2.22-cflags.patch
new file mode 100644
index 00000000000..5c9f1709861
--- /dev/null
+++ b/sys-cluster/ceph/files/ceph-14.2.22-cflags.patch
@@ -0,0 +1,25 @@
+diff --git a/cmake/modules/BuildBoost.cmake b/cmake/modules/BuildBoost.cmake
+index eaab331413b..4ee3f1b0768 100644
+--- a/cmake/modules/BuildBoost.cmake
++++ b/cmake/modules/BuildBoost.cmake
+@@ -62,7 +62,7 @@ function(do_build_boost version)
+   else()
+     list(APPEND boost_features "address-model=32")
+   endif()
+-  set(BOOST_CXXFLAGS "-fPIC -w") # check on arm, etc <---XXX
++  set(BOOST_CXXFLAGS "${CMAKE_CXX_FLAGS} -fPIC -w") # check on arm, etc <---XXX
+   list(APPEND boost_features "cxxflags=${BOOST_CXXFLAGS}")
+ 
+   set(boost_with_libs)
+diff --git a/cmake/modules/BuildZstd.cmake b/cmake/modules/BuildZstd.cmake
+index 799b14b281d..9b4b5ee8dcf 100644
+--- a/cmake/modules/BuildZstd.cmake
++++ b/cmake/modules/BuildZstd.cmake
+@@ -1,6 +1,6 @@
+ # libzstd - build it statically
+ function(build_Zstd)
+-  set(ZSTD_C_FLAGS "-fPIC -Wno-unused-variable -O3")
++  set(ZSTD_C_FLAGS "-fPIC -Wno-unused-variable $ENV{CFLAGS} -O3")
+ 
+   include(ExternalProject)
+   ExternalProject_Add(zstd_ext

diff --git a/sys-cluster/ceph/files/ceph-14.2.22-no-virtualenvs.patch b/sys-cluster/ceph/files/ceph-14.2.22-no-virtualenvs.patch
new file mode 100644
index 00000000000..534133122f9
--- /dev/null
+++ b/sys-cluster/ceph/files/ceph-14.2.22-no-virtualenvs.patch
@@ -0,0 +1,39 @@
+diff --git a/src/pybind/mgr/dashboard/CMakeLists.txt b/src/pybind/mgr/dashboard/CMakeLists.txt
+index 7c9cc4abd56..9f84b0c2b26 100644
+--- a/src/pybind/mgr/dashboard/CMakeLists.txt
++++ b/src/pybind/mgr/dashboard/CMakeLists.txt
+@@ -2,7 +2,7 @@ set(MGR_DASHBOARD_VIRTUALENV ${CEPH_BUILD_VIRTUALENV}/mgr-dashboard-virtualenv)
+ 
+ add_custom_target(mgr-dashboard-test-venv
+   COMMAND
+-  ${CMAKE_SOURCE_DIR}/src/tools/setup-virtualenv.sh --python=${MGR_PYTHON_EXECUTABLE} ${MGR_DASHBOARD_VIRTUALENV}
++  #${CMAKE_SOURCE_DIR}/src/tools/setup-virtualenv.sh --python=${MGR_PYTHON_EXECUTABLE} ${MGR_DASHBOARD_VIRTUALENV}
+   WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}/src/pybind/mgr/dashboard
+   COMMENT "dashboard tests virtualenv is being created")
+ add_dependencies(tests mgr-dashboard-test-venv)
+@@ -14,9 +14,9 @@ function(add_npm_command)
+   set(multi_kw COMMAND DEPENDS)
+   cmake_parse_arguments(NC "${options}" "${single_kw}" "${multi_kw}" ${ARGN})
+   string(REPLACE ";" " " command "${NC_COMMAND}")
+-  if(NC_NODEENV)
+-    string(REGEX REPLACE "^(.*(npm|npx) .*)$" ". ${mgr-dashboard-nodeenv-dir}/bin/activate && \\1 && deactivate" command ${command})
+-  endif()
++  #if(NC_NODEENV)
++  #  string(REGEX REPLACE "^(.*(npm|npx) .*)$" ". ${mgr-dashboard-nodeenv-dir}/bin/activate && \\1 && deactivate" command ${command})
++  #endif()
+   string(REPLACE " " ";" command "${command}")
+   add_custom_command(
+     OUTPUT "${NC_OUTPUT}"
+@@ -41,9 +41,9 @@ else()
+ 
+   add_custom_command(
+     OUTPUT "${mgr-dashboard-nodeenv-dir}/bin/npm"
+-    COMMAND ${CMAKE_SOURCE_DIR}/src/tools/setup-virtualenv.sh --python=${MGR_PYTHON_EXECUTABLE} ${mgr-dashboard-nodeenv-dir}
+-    COMMAND ${mgr-dashboard-nodeenv-dir}/bin/pip install nodeenv
+-    COMMAND ${mgr-dashboard-nodeenv-dir}/bin/nodeenv --verbose -p --node=10.13.0
++	#COMMAND ${CMAKE_SOURCE_DIR}/src/tools/setup-virtualenv.sh --python=${MGR_PYTHON_EXECUTABLE} ${mgr-dashboard-nodeenv-dir}
++	#COMMAND ${mgr-dashboard-nodeenv-dir}/bin/pip install nodeenv
++	#COMMAND ${mgr-dashboard-nodeenv-dir}/bin/nodeenv --verbose -p --node=10.13.0
+     WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
+     COMMENT "dashboard nodeenv is being installed"
+   )


^ permalink raw reply related	[flat|nested] 68+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-cluster/ceph/, sys-cluster/ceph/files/
@ 2020-12-01  2:35 Patrick McLean
  0 siblings, 0 replies; 68+ messages in thread
From: Patrick McLean @ 2020-12-01  2:35 UTC (permalink / raw
  To: gentoo-commits

commit:     9365926d82ac11358f816bac6ada444f80030528
Author:     Patrick McLean <chutzpah <AT> gentoo <DOT> org>
AuthorDate: Tue Dec  1 02:34:10 2020 +0000
Commit:     Patrick McLean <chutzpah <AT> gentoo <DOT> org>
CommitDate: Tue Dec  1 02:35:11 2020 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=9365926d

Revert "sys-cluster/ceph: Remove old"

This reverts commit 81596064dffbaf2d838af575d833cd9b21693a51.

Signed-off-by: Patrick McLean <chutzpah <AT> gentoo.org>

 sys-cluster/ceph/Manifest                          |   1 +
 sys-cluster/ceph/ceph-14.2.11-r1.ebuild            | 401 +++++++++++++++++++++
 .../ceph/files/ceph-14.2.10-missing-includes.patch |  26 ++
 3 files changed, 428 insertions(+)

diff --git a/sys-cluster/ceph/Manifest b/sys-cluster/ceph/Manifest
index 032b580567d..ae0df28d34b 100644
--- a/sys-cluster/ceph/Manifest
+++ b/sys-cluster/ceph/Manifest
@@ -1,3 +1,4 @@
+DIST ceph-14.2.11.tar.gz 129327263 BLAKE2B fb04f3fde6642905dd21836c7472cf3b6cb484f69367ecf01b7d427c757e0fd1db4bd483bf9b0e485e1f8924a8e9201e8d47713a1de9281d5d96e45939bd1078 SHA512 765e8982d457cfd900acddc8f82c23824b32dc6d925d45e7693cba48c06fab798b6d57991dc9ad18a9ace9aff6fb2b917bd97f2d6435a7caceb03c9733e9602a
 DIST ceph-14.2.13.tar.gz 129255298 BLAKE2B 32d12ede10ff657e9341e2fc31412018041a327a4c62219105a4e9576fa46643c12b936c3eaa003a78677c4ef401ef6bd73fe150604e8031482f1d237d483ff1 SHA512 3d51b729ccf26aa9a40c1320f4051755ec405abc714ae5257ec5433a13549e34fed0945f3091525fd8118d00c36fe4ae793125728d9e17f4221cdd1ee7de5b12
 DIST ceph-14.2.15.tar.gz 129254705 BLAKE2B bb30f04ace31c2175c6678a9f252fc31951fd32f47362fb460ed9b8edec3a6535752d28214530e9b996c384a6e6a23eebce5caa89cb2746a2e258f5a1e1f8a3c SHA512 20ac9244974cc1312b7c642acf00142f5b7f59b09ae338f73b6c8e1ee2054b4ebd62701b18653cc792ca575a77b98644903ebb11bee6a9f1ab3aec6b37a2ef1b
 DIST ceph-15.2.5.tar.gz 149219528 BLAKE2B 8f2cea9a258b7c530bff72a46d45fabf5364cf919f098c7d77857afa0dfdbcd7c290aa5a0d88cce1d99923588cc303d27c0b85179378ff1c394d9ce0f135a1b1 SHA512 55de068886c48293e92ef95cf8343ae44825fd2bf9c3fa7d47cda92907a47bae79e0af730cd34d0155b0777901d0fd6f9d1f30537c66c54c95098df7368fca2e

diff --git a/sys-cluster/ceph/ceph-14.2.11-r1.ebuild b/sys-cluster/ceph/ceph-14.2.11-r1.ebuild
new file mode 100644
index 00000000000..43094784627
--- /dev/null
+++ b/sys-cluster/ceph/ceph-14.2.11-r1.ebuild
@@ -0,0 +1,401 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+PYTHON_COMPAT=( python3_{6,7,8} )
+DISTUTILS_USE_SETUPTOOLS=rdepend
+CMAKE_MAKEFILE_GENERATOR=emake
+
+DISTUTILS_OPTIONAL=1
+
+inherit check-reqs bash-completion-r1 cmake distutils-r1 flag-o-matic \
+		python-r1 udev readme.gentoo-r1 toolchain-funcs systemd tmpfiles
+
+if [[ ${PV} == *9999* ]]; then
+	inherit git-r3
+	EGIT_REPO_URI="https://github.com/ceph/ceph.git"
+	SRC_URI=""
+else
+	SRC_URI="https://download.ceph.com/tarballs/${P}.tar.gz"
+	KEYWORDS="~amd64 ~ppc64"
+fi
+
+DESCRIPTION="Ceph distributed filesystem"
+HOMEPAGE="https://ceph.com/"
+
+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"
+SLOT="0"
+
+CPU_FLAGS_X86=(sse{,2,3,4_1,4_2} ssse3)
+
+IUSE="babeltrace +cephfs custom-cflags diskprediction dpdk fuse grafana jemalloc
+	kafka kerberos ldap libressl lttng +mgr numa +openssl rabbitmq +radosgw +ssl
+	spdk system-boost systemd +tcmalloc test xfs zfs"
+IUSE+=" $(printf "cpu_flags_x86_%s\n" ${CPU_FLAGS_X86[@]})"
+
+DEPEND="
+	acct-group/ceph
+	acct-user/ceph
+	virtual/libudev:=
+	app-arch/bzip2:=
+	app-arch/lz4:=
+	app-arch/snappy:=
+	app-arch/zstd:=
+	app-shells/bash:0
+	app-misc/jq:=
+	dev-libs/crypto++:=
+	dev-libs/leveldb:=[snappy,tcmalloc(-)?]
+	dev-libs/libaio:=
+	dev-libs/libnl:3=
+	dev-libs/libxml2:=
+	dev-libs/xmlsec:=[!openssl?,!libressl?]
+	dev-cpp/yaml-cpp:=
+	dev-libs/nss:=
+	dev-libs/protobuf:=
+	net-dns/c-ares:=
+	net-libs/gnutls:=
+	sys-auth/oath-toolkit:=
+	sys-apps/coreutils
+	sys-apps/grep
+	sys-apps/hwloc:=
+	sys-apps/keyutils:=
+	sys-apps/util-linux:=
+	sys-apps/sed
+	sys-apps/util-linux
+	sys-libs/libcap-ng:=
+	sys-libs/ncurses:0=
+	sys-libs/zlib:=
+	sys-process/numactl:=
+	x11-libs/libpciaccess:=
+	babeltrace? ( dev-util/babeltrace )
+	fuse? ( sys-fs/fuse:0= )
+	jemalloc? ( dev-libs/jemalloc:= )
+	!jemalloc? ( >=dev-util/google-perftools-2.6.1:= )
+	kafka? ( dev-libs/librdkafka:= )
+	kerberos? ( virtual/krb5 )
+	ldap? ( net-nds/openldap:= )
+	lttng? ( dev-util/lttng-ust:= )
+	rabbitmq? ( net-libs/rabbitmq-c:= )
+	radosgw? (
+		dev-libs/expat:=
+		openssl? (
+			dev-libs/openssl:=
+			net-misc/curl:=[curl_ssl_openssl]
+		)
+		libressl? (
+			dev-libs/libressl:=
+			net-misc/curl:=[curl_ssl_libressl]
+		)
+	)
+	ssl? (
+		openssl? ( dev-libs/openssl:= )
+		libressl? ( dev-libs/libressl:= )
+	)
+	system-boost? ( =dev-libs/boost-1.72*[threads,context,python,${PYTHON_USEDEP}] )
+	xfs? ( sys-fs/xfsprogs:= )
+	zfs? ( sys-fs/zfs:= )
+	${PYTHON_DEPS}
+"
+BDEPEND="
+	amd64? ( dev-lang/yasm )
+	x86? ( dev-lang/yasm )
+	app-arch/cpio
+	>=dev-util/cmake-3.5.0
+	dev-python/cython[${PYTHON_USEDEP}]
+	dev-python/sphinx
+	dev-util/cunit
+	dev-util/gperf
+	dev-util/ragel
+	dev-util/valgrind
+	sys-apps/coreutils
+	sys-apps/findutils
+	sys-apps/grep
+	sys-apps/sed
+	sys-apps/which
+	sys-devel/bc
+	sys-devel/patch
+	virtual/pkgconfig
+	test? (
+		dev-python/coverage[${PYTHON_USEDEP}]
+		dev-python/virtualenv[${PYTHON_USEDEP}]
+		dev-python/requests-mock[${PYTHON_USEDEP}]
+		sys-apps/grep[pcre]
+		sys-fs/btrfs-progs
+	)
+"
+RDEPEND="${DEPEND}
+	app-admin/sudo
+	net-misc/socat
+	sys-apps/gptfdisk
+	>=sys-apps/smartmontools-7.0
+	sys-block/parted
+	sys-fs/cryptsetup
+	sys-fs/lsscsi
+	sys-fs/lvm2[-device-mapper-only(-)]
+	virtual/awk
+	dev-python/bcrypt[${PYTHON_USEDEP}]
+	dev-python/cherrypy[${PYTHON_USEDEP}]
+	dev-python/flask[${PYTHON_USEDEP}]
+	dev-python/jinja[${PYTHON_USEDEP}]
+	dev-python/pecan[${PYTHON_USEDEP}]
+	dev-python/prettytable[${PYTHON_USEDEP}]
+	dev-python/pyopenssl[${PYTHON_USEDEP}]
+	dev-python/requests[${PYTHON_USEDEP}]
+	dev-python/werkzeug[${PYTHON_USEDEP}]
+	mgr? (
+		dev-python/more-itertools[${PYTHON_USEDEP}]
+		dev-python/numpy[${PYTHON_USEDEP}]
+		dev-python/pyjwt[${PYTHON_USEDEP}]
+		dev-python/pyyaml[${PYTHON_USEDEP}]
+		dev-python/routes[${PYTHON_USEDEP}]
+		diskprediction? (
+			$(python_gen_cond_dep '<dev-python/scipy-1.4.0[${PYTHON_USEDEP}]' python3_{6,7})
+		)
+		sci-libs/scikit-learn[${PYTHON_USEDEP}]
+		dev-python/six[${PYTHON_USEDEP}]
+	)
+"
+# diskprediction needs older scipy not compatible with py38
+# bug #724438
+REQUIRED_USE="
+	${PYTHON_REQUIRED_USE}
+	?? ( jemalloc tcmalloc )
+	^^ ( openssl libressl )
+	diskprediction? ( mgr !python_targets_python3_8 )
+	kafka? ( radosgw )
+	mgr? ( cephfs )
+	rabbitmq? ( radosgw )
+"
+RESTRICT="!test? ( test )"
+
+# the tests need root access
+RESTRICT="test? ( userpriv )"
+
+# distribution tarball does not include everything needed for tests
+RESTRICT+=" test"
+
+# create a non-debug release
+CMAKE_BUILD_TYPE=RelWithDebInfo
+
+# false positives unless all USE flags are on
+CMAKE_WARN_UNUSED_CLI=no
+
+PATCHES=(
+	"${FILESDIR}/ceph-12.2.0-use-provided-cpu-flag-values.patch"
+	"${FILESDIR}/ceph-14.2.0-cflags.patch"
+	"${FILESDIR}/ceph-12.2.4-boost-build-none-options.patch"
+	"${FILESDIR}/ceph-13.2.0-cflags.patch"
+	"${FILESDIR}/ceph-14.2.0-mgr-python-version.patch"
+	"${FILESDIR}/ceph-14.2.5-no-virtualenvs.patch"
+	"${FILESDIR}/ceph-13.2.2-dont-install-sysvinit-script.patch"
+	"${FILESDIR}/ceph-14.2.0-dpdk-cflags.patch"
+	"${FILESDIR}/ceph-14.2.0-link-crc32-statically.patch"
+	"${FILESDIR}/ceph-14.2.0-cython-0.29.patch"
+	"${FILESDIR}/ceph-14.2.3-dpdk-compile-fix-1.patch"
+	"${FILESDIR}/ceph-14.2.4-python-executable.patch"
+	"${FILESDIR}/ceph-14.2.4-undefined-behaviour.patch"
+	"${FILESDIR}/ceph-14.2.10-missing-includes.patch"
+	"${FILESDIR}/ceph-14.2.10-python-warnings.patch"
+	"${FILESDIR}/ceph-14.2.10-build-without-mgr.patch"
+	"${FILESDIR}/ceph-14.2.11-systemd-unit-fix.patch"
+)
+
+check-reqs_export_vars() {
+	CHECKREQS_DISK_BUILD="5200M"
+	CHECKREQS_DISK_USR="510M"
+
+	export CHECKREQS_DISK_BUILD CHECKREQS_DISK_USR
+}
+
+pkg_pretend() {
+	check-reqs_export_vars
+	check-reqs_pkg_pretend
+}
+
+pkg_setup() {
+	python_setup
+	check-reqs_export_vars
+	check-reqs_pkg_setup
+}
+
+src_prepare() {
+	cmake_src_prepare
+
+	if use system-boost; then
+		find "${S}" -name '*.cmake' -or -name 'CMakeLists.txt' -print0 \
+			| xargs --null sed -r \
+			-e 's|Boost::|boost_|g' \
+			-e 's|Boost_|boost_|g' \
+			-e 's|[Bb]oost_boost|boost_system|g' -i || die
+	fi
+
+	sed -i -r "s:DESTINATION .+\\):DESTINATION $(get_bashcompdir)\\):" \
+		src/bash_completion/CMakeLists.txt || die
+
+	if ! use diskprediction; then
+		rm -rf src/pybind/mgr/diskprediction_local || die
+	fi
+
+	# remove tests that need root access
+	rm src/test/cli/ceph-authtool/cap*.t || die
+}
+
+ceph_src_configure() {
+	local flag
+	local mycmakeargs=(
+		-DWITH_BABELTRACE=$(usex babeltrace)
+		-DWITH_CEPHFS=$(usex cephfs)
+		-DWITH_CEPHFS_SHELL=$(usex cephfs)
+		-DWITH_DPDK=$(usex dpdk)
+		-DWITH_SPDK=$(usex spdk)
+		-DWITH_FUSE=$(usex fuse)
+		-DWITH_LTTNG=$(usex lttng)
+		-DWITH_GSSAPI=$(usex kerberos)
+		-DWITH_GRAFANA=$(usex grafana)
+		-DWITH_MGR=$(usex mgr)
+		-DWITH_MGR_DASHBOARD_FRONTEND=OFF
+		-DWITH_NUMA=$(usex numa)
+		-DWITH_OPENLDAP=$(usex ldap)
+		-DWITH_PYTHON3=3
+		-DWITH_RADOSGW=$(usex radosgw)
+		-DWITH_RADOSGW_AMQP_ENDPOINT=$(usex rabbitmq)
+		-DWITH_RADOSGW_KAFKA_ENDPOINT=$(usex kafka)
+		-DWITH_SSL=$(usex ssl)
+		-DWITH_SYSTEMD=$(usex systemd)
+		-DWITH_TESTS=$(usex test)
+		-DWITH_XFS=$(usex xfs)
+		-DWITH_ZFS=$(usex zfs)
+		-DENABLE_SHARED="ON"
+		-DALLOCATOR=$(usex tcmalloc 'tcmalloc' "$(usex jemalloc 'jemalloc' 'libc')")
+		-DWITH_SYSTEM_BOOST=$(usex system-boost)
+		-DBOOST_J=$(makeopts_jobs)
+		-DWITH_RDMA=OFF
+		-DWITH_TBB=OFF
+		-DSYSTEMD_UNITDIR=$(systemd_get_systemunitdir)
+		-DCMAKE_INSTALL_SYSTEMD_SERVICEDIR=$(systemd_get_systemunitdir)
+		-DEPYTHON_VERSION="${EPYTHON#python}"
+		-DCMAKE_INSTALL_DOCDIR="${EPREFIX}/usr/share/doc/${PN}-${PVR}"
+		-DCMAKE_INSTALL_SYSCONFDIR="${EPREFIX}/etc"
+		-Wno-dev
+	)
+	if use amd64 || use x86; then
+		for flag in ${CPU_FLAGS_X86[@]}; do
+			mycmakeargs+=("$(usex cpu_flags_x86_${flag} "-DHAVE_INTEL_${flag^^}=1")")
+		done
+	fi
+
+	# needed for >=glibc-2.32
+	has_version '>=sys-libs/glibc-2.32' && mycmakeargs+=(-DWITH_REENTRANT_STRSIGNAL:BOOL=ON)
+
+	rm -f "${BUILD_DIR:-${S}}/CMakeCache.txt" \
+		|| die "failed to remove cmake cache"
+
+	cmake_src_configure
+
+	# bug #630232
+	sed -i "s:\"${T//:\\:}/${EPYTHON}/bin/python\":\"${PYTHON}\":" \
+		"${BUILD_DIR:-${S}}"/include/acconfig.h \
+		|| die "sed failed"
+}
+
+src_configure() {
+	use custom-cflags || strip-flags
+	ceph_src_configure
+}
+
+python_compile() {
+	local CMAKE_USE_DIR="${S}"
+	ceph_src_configure
+
+	pushd "${BUILD_DIR}/src/pybind" >/dev/null || die
+	emake VERBOSE=1 clean
+	emake VERBOSE=1 all
+
+	# python modules are only compiled with "make install" so we need to do this to
+	# prevent doing a bunch of compilation in src_install
+	DESTDIR="${T}" emake VERBOSE=1 install
+	popd >/dev/null || die
+}
+
+src_compile() {
+	cmake_build VERBOSE=1 all
+
+	# we have to do this here to prevent from building everything multiple times
+	python_copy_sources
+	python_foreach_impl python_compile
+}
+
+src_test() {
+	make check || die "make check failed"
+}
+
+python_install() {
+	local CMAKE_USE_DIR="${S}"
+	pushd "${BUILD_DIR}/src/pybind" >/dev/null || die
+	DESTDIR="${ED}" emake VERBOSE=1 install
+	popd >/dev/null || die
+
+	python_optimize
+}
+
+src_install() {
+	cmake_src_install
+	python_foreach_impl python_install
+
+	find "${ED}" -name '*.la' -type f -delete || die
+
+	exeinto /usr/$(get_libdir)/ceph
+	newexe "${BUILD_DIR}/bin/init-ceph" init-ceph
+
+	insinto /etc/logrotate.d/
+	newins "${FILESDIR}"/ceph.logrotate-r2 ${PN}
+
+	keepdir /var/lib/${PN}{,/tmp} /var/log/${PN}/stat
+
+	fowners -R ceph:ceph /var/log/ceph
+
+	newinitd "${FILESDIR}/rbdmap.initd" rbdmap
+	newinitd "${FILESDIR}/${PN}.initd-r12" ${PN}
+	newconfd "${FILESDIR}/${PN}.confd-r5" ${PN}
+
+	insinto /etc/sysctl.d
+	newins "${FILESDIR}"/sysctld 90-${PN}.conf
+
+	use tcmalloc && newenvd "${FILESDIR}"/envd-tcmalloc 99${PN}-tcmalloc
+
+	# units aren't installed by the build system unless systemd is enabled
+	# so no point installing these with the USE flag disabled
+	if use systemd; then
+		systemd_install_serviced "${FILESDIR}/ceph-mds_at.service.conf" \
+			"ceph-mds@.service"
+
+		systemd_install_serviced "${FILESDIR}/ceph-osd_at.service.conf" \
+			"ceph-osd@.service"
+
+	fi
+
+	udev_dorules udev/*.rules
+	newtmpfiles "${FILESDIR}"/ceph-tmpfilesd ${PN}.conf
+
+	readme.gentoo_create_doc
+
+	python_setup
+
+	# bug #630232
+	sed -i -r "s:${T//:/\\:}/${EPYTHON}:/usr:" "${ED}"/usr/bin/ceph{,-crash} \
+		|| die "sed failed"
+
+	python_fix_shebang "${ED}"/usr/{,s}bin/
+
+	# python_fix_shebang apparently is not idempotent
+	local shebang_regex='(/usr/lib/python-exec/python[0-9]\.[0-9]/python)[0-9]\.[0-9]'
+	grep -r -E -l --null "${shebang_regex}" "${ED}"/usr/{s,}bin/ \
+		| xargs --null --no-run-if-empty -- sed -i -r  "s:${shebang_regex}:\1:" || die
+
+	local -a rados_classes=( "${ED}/usr/$(get_libdir)/rados-classes"/* )
+	dostrip -x "${rados_classes[@]#${ED}}"
+}
+
+pkg_postinst() {
+	readme.gentoo_print_elog
+}

diff --git a/sys-cluster/ceph/files/ceph-14.2.10-missing-includes.patch b/sys-cluster/ceph/files/ceph-14.2.10-missing-includes.patch
new file mode 100644
index 00000000000..aaa6ee080a3
--- /dev/null
+++ b/sys-cluster/ceph/files/ceph-14.2.10-missing-includes.patch
@@ -0,0 +1,26 @@
+diff --git a/src/common/bit_str.h b/src/common/bit_str.h
+index c4c24f6a75..b5631e8b84 100644
+--- a/src/common/bit_str.h
++++ b/src/common/bit_str.h
+@@ -14,6 +14,8 @@
+ #ifndef CEPH_COMMON_BIT_STR_H
+ #define CEPH_COMMON_BIT_STR_H
+ 
++#include <cstdint>
++#include <iosfwd>
+ #include <functional>
+ 
+ namespace ceph {
+diff --git a/src/librbd/api/PoolMetadata.h b/src/librbd/api/PoolMetadata.h
+index 977ce3638d..8d982879aa 100644
+--- a/src/librbd/api/PoolMetadata.h
++++ b/src/librbd/api/PoolMetadata.h
+@@ -8,6 +8,8 @@
+ #include "include/rados/librados_fwd.hpp"
+ 
+ #include <map>
++#include <string>
++#include <cstdint>
+ 
+ namespace librbd {
+ 


^ permalink raw reply related	[flat|nested] 68+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-cluster/ceph/, sys-cluster/ceph/files/
@ 2020-11-25  5:38 Patrick McLean
  0 siblings, 0 replies; 68+ messages in thread
From: Patrick McLean @ 2020-11-25  5:38 UTC (permalink / raw
  To: gentoo-commits

commit:     81596064dffbaf2d838af575d833cd9b21693a51
Author:     Patrick McLean <patrick.mclean <AT> sony <DOT> com>
AuthorDate: Wed Nov 25 05:38:41 2020 +0000
Commit:     Patrick McLean <chutzpah <AT> gentoo <DOT> org>
CommitDate: Wed Nov 25 05:38:41 2020 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=81596064

sys-cluster/ceph: Remove old

Copyright: Sony Interactive Entertainment Inc.
Package-Manager: Portage-3.0.10, Repoman-3.0.2
Signed-off-by: Patrick McLean <chutzpah <AT> gentoo.org>

 sys-cluster/ceph/Manifest                          |   1 -
 sys-cluster/ceph/ceph-14.2.11-r1.ebuild            | 401 ---------------------
 .../ceph/files/ceph-14.2.10-missing-includes.patch |  26 --
 3 files changed, 428 deletions(-)

diff --git a/sys-cluster/ceph/Manifest b/sys-cluster/ceph/Manifest
index ae0df28d34b..032b580567d 100644
--- a/sys-cluster/ceph/Manifest
+++ b/sys-cluster/ceph/Manifest
@@ -1,4 +1,3 @@
-DIST ceph-14.2.11.tar.gz 129327263 BLAKE2B fb04f3fde6642905dd21836c7472cf3b6cb484f69367ecf01b7d427c757e0fd1db4bd483bf9b0e485e1f8924a8e9201e8d47713a1de9281d5d96e45939bd1078 SHA512 765e8982d457cfd900acddc8f82c23824b32dc6d925d45e7693cba48c06fab798b6d57991dc9ad18a9ace9aff6fb2b917bd97f2d6435a7caceb03c9733e9602a
 DIST ceph-14.2.13.tar.gz 129255298 BLAKE2B 32d12ede10ff657e9341e2fc31412018041a327a4c62219105a4e9576fa46643c12b936c3eaa003a78677c4ef401ef6bd73fe150604e8031482f1d237d483ff1 SHA512 3d51b729ccf26aa9a40c1320f4051755ec405abc714ae5257ec5433a13549e34fed0945f3091525fd8118d00c36fe4ae793125728d9e17f4221cdd1ee7de5b12
 DIST ceph-14.2.15.tar.gz 129254705 BLAKE2B bb30f04ace31c2175c6678a9f252fc31951fd32f47362fb460ed9b8edec3a6535752d28214530e9b996c384a6e6a23eebce5caa89cb2746a2e258f5a1e1f8a3c SHA512 20ac9244974cc1312b7c642acf00142f5b7f59b09ae338f73b6c8e1ee2054b4ebd62701b18653cc792ca575a77b98644903ebb11bee6a9f1ab3aec6b37a2ef1b
 DIST ceph-15.2.5.tar.gz 149219528 BLAKE2B 8f2cea9a258b7c530bff72a46d45fabf5364cf919f098c7d77857afa0dfdbcd7c290aa5a0d88cce1d99923588cc303d27c0b85179378ff1c394d9ce0f135a1b1 SHA512 55de068886c48293e92ef95cf8343ae44825fd2bf9c3fa7d47cda92907a47bae79e0af730cd34d0155b0777901d0fd6f9d1f30537c66c54c95098df7368fca2e

diff --git a/sys-cluster/ceph/ceph-14.2.11-r1.ebuild b/sys-cluster/ceph/ceph-14.2.11-r1.ebuild
deleted file mode 100644
index 43094784627..00000000000
--- a/sys-cluster/ceph/ceph-14.2.11-r1.ebuild
+++ /dev/null
@@ -1,401 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-PYTHON_COMPAT=( python3_{6,7,8} )
-DISTUTILS_USE_SETUPTOOLS=rdepend
-CMAKE_MAKEFILE_GENERATOR=emake
-
-DISTUTILS_OPTIONAL=1
-
-inherit check-reqs bash-completion-r1 cmake distutils-r1 flag-o-matic \
-		python-r1 udev readme.gentoo-r1 toolchain-funcs systemd tmpfiles
-
-if [[ ${PV} == *9999* ]]; then
-	inherit git-r3
-	EGIT_REPO_URI="https://github.com/ceph/ceph.git"
-	SRC_URI=""
-else
-	SRC_URI="https://download.ceph.com/tarballs/${P}.tar.gz"
-	KEYWORDS="~amd64 ~ppc64"
-fi
-
-DESCRIPTION="Ceph distributed filesystem"
-HOMEPAGE="https://ceph.com/"
-
-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"
-SLOT="0"
-
-CPU_FLAGS_X86=(sse{,2,3,4_1,4_2} ssse3)
-
-IUSE="babeltrace +cephfs custom-cflags diskprediction dpdk fuse grafana jemalloc
-	kafka kerberos ldap libressl lttng +mgr numa +openssl rabbitmq +radosgw +ssl
-	spdk system-boost systemd +tcmalloc test xfs zfs"
-IUSE+=" $(printf "cpu_flags_x86_%s\n" ${CPU_FLAGS_X86[@]})"
-
-DEPEND="
-	acct-group/ceph
-	acct-user/ceph
-	virtual/libudev:=
-	app-arch/bzip2:=
-	app-arch/lz4:=
-	app-arch/snappy:=
-	app-arch/zstd:=
-	app-shells/bash:0
-	app-misc/jq:=
-	dev-libs/crypto++:=
-	dev-libs/leveldb:=[snappy,tcmalloc(-)?]
-	dev-libs/libaio:=
-	dev-libs/libnl:3=
-	dev-libs/libxml2:=
-	dev-libs/xmlsec:=[!openssl?,!libressl?]
-	dev-cpp/yaml-cpp:=
-	dev-libs/nss:=
-	dev-libs/protobuf:=
-	net-dns/c-ares:=
-	net-libs/gnutls:=
-	sys-auth/oath-toolkit:=
-	sys-apps/coreutils
-	sys-apps/grep
-	sys-apps/hwloc:=
-	sys-apps/keyutils:=
-	sys-apps/util-linux:=
-	sys-apps/sed
-	sys-apps/util-linux
-	sys-libs/libcap-ng:=
-	sys-libs/ncurses:0=
-	sys-libs/zlib:=
-	sys-process/numactl:=
-	x11-libs/libpciaccess:=
-	babeltrace? ( dev-util/babeltrace )
-	fuse? ( sys-fs/fuse:0= )
-	jemalloc? ( dev-libs/jemalloc:= )
-	!jemalloc? ( >=dev-util/google-perftools-2.6.1:= )
-	kafka? ( dev-libs/librdkafka:= )
-	kerberos? ( virtual/krb5 )
-	ldap? ( net-nds/openldap:= )
-	lttng? ( dev-util/lttng-ust:= )
-	rabbitmq? ( net-libs/rabbitmq-c:= )
-	radosgw? (
-		dev-libs/expat:=
-		openssl? (
-			dev-libs/openssl:=
-			net-misc/curl:=[curl_ssl_openssl]
-		)
-		libressl? (
-			dev-libs/libressl:=
-			net-misc/curl:=[curl_ssl_libressl]
-		)
-	)
-	ssl? (
-		openssl? ( dev-libs/openssl:= )
-		libressl? ( dev-libs/libressl:= )
-	)
-	system-boost? ( =dev-libs/boost-1.72*[threads,context,python,${PYTHON_USEDEP}] )
-	xfs? ( sys-fs/xfsprogs:= )
-	zfs? ( sys-fs/zfs:= )
-	${PYTHON_DEPS}
-"
-BDEPEND="
-	amd64? ( dev-lang/yasm )
-	x86? ( dev-lang/yasm )
-	app-arch/cpio
-	>=dev-util/cmake-3.5.0
-	dev-python/cython[${PYTHON_USEDEP}]
-	dev-python/sphinx
-	dev-util/cunit
-	dev-util/gperf
-	dev-util/ragel
-	dev-util/valgrind
-	sys-apps/coreutils
-	sys-apps/findutils
-	sys-apps/grep
-	sys-apps/sed
-	sys-apps/which
-	sys-devel/bc
-	sys-devel/patch
-	virtual/pkgconfig
-	test? (
-		dev-python/coverage[${PYTHON_USEDEP}]
-		dev-python/virtualenv[${PYTHON_USEDEP}]
-		dev-python/requests-mock[${PYTHON_USEDEP}]
-		sys-apps/grep[pcre]
-		sys-fs/btrfs-progs
-	)
-"
-RDEPEND="${DEPEND}
-	app-admin/sudo
-	net-misc/socat
-	sys-apps/gptfdisk
-	>=sys-apps/smartmontools-7.0
-	sys-block/parted
-	sys-fs/cryptsetup
-	sys-fs/lsscsi
-	sys-fs/lvm2[-device-mapper-only(-)]
-	virtual/awk
-	dev-python/bcrypt[${PYTHON_USEDEP}]
-	dev-python/cherrypy[${PYTHON_USEDEP}]
-	dev-python/flask[${PYTHON_USEDEP}]
-	dev-python/jinja[${PYTHON_USEDEP}]
-	dev-python/pecan[${PYTHON_USEDEP}]
-	dev-python/prettytable[${PYTHON_USEDEP}]
-	dev-python/pyopenssl[${PYTHON_USEDEP}]
-	dev-python/requests[${PYTHON_USEDEP}]
-	dev-python/werkzeug[${PYTHON_USEDEP}]
-	mgr? (
-		dev-python/more-itertools[${PYTHON_USEDEP}]
-		dev-python/numpy[${PYTHON_USEDEP}]
-		dev-python/pyjwt[${PYTHON_USEDEP}]
-		dev-python/pyyaml[${PYTHON_USEDEP}]
-		dev-python/routes[${PYTHON_USEDEP}]
-		diskprediction? (
-			$(python_gen_cond_dep '<dev-python/scipy-1.4.0[${PYTHON_USEDEP}]' python3_{6,7})
-		)
-		sci-libs/scikit-learn[${PYTHON_USEDEP}]
-		dev-python/six[${PYTHON_USEDEP}]
-	)
-"
-# diskprediction needs older scipy not compatible with py38
-# bug #724438
-REQUIRED_USE="
-	${PYTHON_REQUIRED_USE}
-	?? ( jemalloc tcmalloc )
-	^^ ( openssl libressl )
-	diskprediction? ( mgr !python_targets_python3_8 )
-	kafka? ( radosgw )
-	mgr? ( cephfs )
-	rabbitmq? ( radosgw )
-"
-RESTRICT="!test? ( test )"
-
-# the tests need root access
-RESTRICT="test? ( userpriv )"
-
-# distribution tarball does not include everything needed for tests
-RESTRICT+=" test"
-
-# create a non-debug release
-CMAKE_BUILD_TYPE=RelWithDebInfo
-
-# false positives unless all USE flags are on
-CMAKE_WARN_UNUSED_CLI=no
-
-PATCHES=(
-	"${FILESDIR}/ceph-12.2.0-use-provided-cpu-flag-values.patch"
-	"${FILESDIR}/ceph-14.2.0-cflags.patch"
-	"${FILESDIR}/ceph-12.2.4-boost-build-none-options.patch"
-	"${FILESDIR}/ceph-13.2.0-cflags.patch"
-	"${FILESDIR}/ceph-14.2.0-mgr-python-version.patch"
-	"${FILESDIR}/ceph-14.2.5-no-virtualenvs.patch"
-	"${FILESDIR}/ceph-13.2.2-dont-install-sysvinit-script.patch"
-	"${FILESDIR}/ceph-14.2.0-dpdk-cflags.patch"
-	"${FILESDIR}/ceph-14.2.0-link-crc32-statically.patch"
-	"${FILESDIR}/ceph-14.2.0-cython-0.29.patch"
-	"${FILESDIR}/ceph-14.2.3-dpdk-compile-fix-1.patch"
-	"${FILESDIR}/ceph-14.2.4-python-executable.patch"
-	"${FILESDIR}/ceph-14.2.4-undefined-behaviour.patch"
-	"${FILESDIR}/ceph-14.2.10-missing-includes.patch"
-	"${FILESDIR}/ceph-14.2.10-python-warnings.patch"
-	"${FILESDIR}/ceph-14.2.10-build-without-mgr.patch"
-	"${FILESDIR}/ceph-14.2.11-systemd-unit-fix.patch"
-)
-
-check-reqs_export_vars() {
-	CHECKREQS_DISK_BUILD="5200M"
-	CHECKREQS_DISK_USR="510M"
-
-	export CHECKREQS_DISK_BUILD CHECKREQS_DISK_USR
-}
-
-pkg_pretend() {
-	check-reqs_export_vars
-	check-reqs_pkg_pretend
-}
-
-pkg_setup() {
-	python_setup
-	check-reqs_export_vars
-	check-reqs_pkg_setup
-}
-
-src_prepare() {
-	cmake_src_prepare
-
-	if use system-boost; then
-		find "${S}" -name '*.cmake' -or -name 'CMakeLists.txt' -print0 \
-			| xargs --null sed -r \
-			-e 's|Boost::|boost_|g' \
-			-e 's|Boost_|boost_|g' \
-			-e 's|[Bb]oost_boost|boost_system|g' -i || die
-	fi
-
-	sed -i -r "s:DESTINATION .+\\):DESTINATION $(get_bashcompdir)\\):" \
-		src/bash_completion/CMakeLists.txt || die
-
-	if ! use diskprediction; then
-		rm -rf src/pybind/mgr/diskprediction_local || die
-	fi
-
-	# remove tests that need root access
-	rm src/test/cli/ceph-authtool/cap*.t || die
-}
-
-ceph_src_configure() {
-	local flag
-	local mycmakeargs=(
-		-DWITH_BABELTRACE=$(usex babeltrace)
-		-DWITH_CEPHFS=$(usex cephfs)
-		-DWITH_CEPHFS_SHELL=$(usex cephfs)
-		-DWITH_DPDK=$(usex dpdk)
-		-DWITH_SPDK=$(usex spdk)
-		-DWITH_FUSE=$(usex fuse)
-		-DWITH_LTTNG=$(usex lttng)
-		-DWITH_GSSAPI=$(usex kerberos)
-		-DWITH_GRAFANA=$(usex grafana)
-		-DWITH_MGR=$(usex mgr)
-		-DWITH_MGR_DASHBOARD_FRONTEND=OFF
-		-DWITH_NUMA=$(usex numa)
-		-DWITH_OPENLDAP=$(usex ldap)
-		-DWITH_PYTHON3=3
-		-DWITH_RADOSGW=$(usex radosgw)
-		-DWITH_RADOSGW_AMQP_ENDPOINT=$(usex rabbitmq)
-		-DWITH_RADOSGW_KAFKA_ENDPOINT=$(usex kafka)
-		-DWITH_SSL=$(usex ssl)
-		-DWITH_SYSTEMD=$(usex systemd)
-		-DWITH_TESTS=$(usex test)
-		-DWITH_XFS=$(usex xfs)
-		-DWITH_ZFS=$(usex zfs)
-		-DENABLE_SHARED="ON"
-		-DALLOCATOR=$(usex tcmalloc 'tcmalloc' "$(usex jemalloc 'jemalloc' 'libc')")
-		-DWITH_SYSTEM_BOOST=$(usex system-boost)
-		-DBOOST_J=$(makeopts_jobs)
-		-DWITH_RDMA=OFF
-		-DWITH_TBB=OFF
-		-DSYSTEMD_UNITDIR=$(systemd_get_systemunitdir)
-		-DCMAKE_INSTALL_SYSTEMD_SERVICEDIR=$(systemd_get_systemunitdir)
-		-DEPYTHON_VERSION="${EPYTHON#python}"
-		-DCMAKE_INSTALL_DOCDIR="${EPREFIX}/usr/share/doc/${PN}-${PVR}"
-		-DCMAKE_INSTALL_SYSCONFDIR="${EPREFIX}/etc"
-		-Wno-dev
-	)
-	if use amd64 || use x86; then
-		for flag in ${CPU_FLAGS_X86[@]}; do
-			mycmakeargs+=("$(usex cpu_flags_x86_${flag} "-DHAVE_INTEL_${flag^^}=1")")
-		done
-	fi
-
-	# needed for >=glibc-2.32
-	has_version '>=sys-libs/glibc-2.32' && mycmakeargs+=(-DWITH_REENTRANT_STRSIGNAL:BOOL=ON)
-
-	rm -f "${BUILD_DIR:-${S}}/CMakeCache.txt" \
-		|| die "failed to remove cmake cache"
-
-	cmake_src_configure
-
-	# bug #630232
-	sed -i "s:\"${T//:\\:}/${EPYTHON}/bin/python\":\"${PYTHON}\":" \
-		"${BUILD_DIR:-${S}}"/include/acconfig.h \
-		|| die "sed failed"
-}
-
-src_configure() {
-	use custom-cflags || strip-flags
-	ceph_src_configure
-}
-
-python_compile() {
-	local CMAKE_USE_DIR="${S}"
-	ceph_src_configure
-
-	pushd "${BUILD_DIR}/src/pybind" >/dev/null || die
-	emake VERBOSE=1 clean
-	emake VERBOSE=1 all
-
-	# python modules are only compiled with "make install" so we need to do this to
-	# prevent doing a bunch of compilation in src_install
-	DESTDIR="${T}" emake VERBOSE=1 install
-	popd >/dev/null || die
-}
-
-src_compile() {
-	cmake_build VERBOSE=1 all
-
-	# we have to do this here to prevent from building everything multiple times
-	python_copy_sources
-	python_foreach_impl python_compile
-}
-
-src_test() {
-	make check || die "make check failed"
-}
-
-python_install() {
-	local CMAKE_USE_DIR="${S}"
-	pushd "${BUILD_DIR}/src/pybind" >/dev/null || die
-	DESTDIR="${ED}" emake VERBOSE=1 install
-	popd >/dev/null || die
-
-	python_optimize
-}
-
-src_install() {
-	cmake_src_install
-	python_foreach_impl python_install
-
-	find "${ED}" -name '*.la' -type f -delete || die
-
-	exeinto /usr/$(get_libdir)/ceph
-	newexe "${BUILD_DIR}/bin/init-ceph" init-ceph
-
-	insinto /etc/logrotate.d/
-	newins "${FILESDIR}"/ceph.logrotate-r2 ${PN}
-
-	keepdir /var/lib/${PN}{,/tmp} /var/log/${PN}/stat
-
-	fowners -R ceph:ceph /var/log/ceph
-
-	newinitd "${FILESDIR}/rbdmap.initd" rbdmap
-	newinitd "${FILESDIR}/${PN}.initd-r12" ${PN}
-	newconfd "${FILESDIR}/${PN}.confd-r5" ${PN}
-
-	insinto /etc/sysctl.d
-	newins "${FILESDIR}"/sysctld 90-${PN}.conf
-
-	use tcmalloc && newenvd "${FILESDIR}"/envd-tcmalloc 99${PN}-tcmalloc
-
-	# units aren't installed by the build system unless systemd is enabled
-	# so no point installing these with the USE flag disabled
-	if use systemd; then
-		systemd_install_serviced "${FILESDIR}/ceph-mds_at.service.conf" \
-			"ceph-mds@.service"
-
-		systemd_install_serviced "${FILESDIR}/ceph-osd_at.service.conf" \
-			"ceph-osd@.service"
-
-	fi
-
-	udev_dorules udev/*.rules
-	newtmpfiles "${FILESDIR}"/ceph-tmpfilesd ${PN}.conf
-
-	readme.gentoo_create_doc
-
-	python_setup
-
-	# bug #630232
-	sed -i -r "s:${T//:/\\:}/${EPYTHON}:/usr:" "${ED}"/usr/bin/ceph{,-crash} \
-		|| die "sed failed"
-
-	python_fix_shebang "${ED}"/usr/{,s}bin/
-
-	# python_fix_shebang apparently is not idempotent
-	local shebang_regex='(/usr/lib/python-exec/python[0-9]\.[0-9]/python)[0-9]\.[0-9]'
-	grep -r -E -l --null "${shebang_regex}" "${ED}"/usr/{s,}bin/ \
-		| xargs --null --no-run-if-empty -- sed -i -r  "s:${shebang_regex}:\1:" || die
-
-	local -a rados_classes=( "${ED}/usr/$(get_libdir)/rados-classes"/* )
-	dostrip -x "${rados_classes[@]#${ED}}"
-}
-
-pkg_postinst() {
-	readme.gentoo_print_elog
-}

diff --git a/sys-cluster/ceph/files/ceph-14.2.10-missing-includes.patch b/sys-cluster/ceph/files/ceph-14.2.10-missing-includes.patch
deleted file mode 100644
index aaa6ee080a3..00000000000
--- a/sys-cluster/ceph/files/ceph-14.2.10-missing-includes.patch
+++ /dev/null
@@ -1,26 +0,0 @@
-diff --git a/src/common/bit_str.h b/src/common/bit_str.h
-index c4c24f6a75..b5631e8b84 100644
---- a/src/common/bit_str.h
-+++ b/src/common/bit_str.h
-@@ -14,6 +14,8 @@
- #ifndef CEPH_COMMON_BIT_STR_H
- #define CEPH_COMMON_BIT_STR_H
- 
-+#include <cstdint>
-+#include <iosfwd>
- #include <functional>
- 
- namespace ceph {
-diff --git a/src/librbd/api/PoolMetadata.h b/src/librbd/api/PoolMetadata.h
-index 977ce3638d..8d982879aa 100644
---- a/src/librbd/api/PoolMetadata.h
-+++ b/src/librbd/api/PoolMetadata.h
-@@ -8,6 +8,8 @@
- #include "include/rados/librados_fwd.hpp"
- 
- #include <map>
-+#include <string>
-+#include <cstdint>
- 
- namespace librbd {
- 


^ permalink raw reply related	[flat|nested] 68+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-cluster/ceph/, sys-cluster/ceph/files/
@ 2020-11-19  7:29 Patrick McLean
  0 siblings, 0 replies; 68+ messages in thread
From: Patrick McLean @ 2020-11-19  7:29 UTC (permalink / raw
  To: gentoo-commits

commit:     5fa3176d02695d7dd7074f4d89df9f89990de333
Author:     Patrick McLean <patrick.mclean <AT> sony <DOT> com>
AuthorDate: Thu Nov 19 07:29:05 2020 +0000
Commit:     Patrick McLean <chutzpah <AT> gentoo <DOT> org>
CommitDate: Thu Nov 19 07:29:37 2020 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=5fa3176d

sys-cluster/ceph: remove old

Copyright: Sony Interactive Entertainment Inc.
Package-Manager: Portage-3.0.9, Repoman-3.0.2
Signed-off-by: Patrick McLean <chutzpah <AT> gentoo.org>

 sys-cluster/ceph/Manifest                          |   2 -
 sys-cluster/ceph/ceph-12.2.12-r3.ebuild            | 320 ----------------
 sys-cluster/ceph/ceph-15.2.4-r3.ebuild             | 403 ---------------------
 sys-cluster/ceph/files/ceph-12.2.0-cflags.patch    |  13 -
 .../ceph/files/ceph-12.2.1-systemd-unitdir.patch   |  10 -
 .../ceph/files/ceph-12.2.11-boost-sonames.patch    | 214 -----------
 .../ceph/files/ceph-12.2.11-fix-min-call.patch     |  13 -
 .../ceph-12.2.12-civetweb-openssl-1.1.1.patch      |  10 -
 .../ceph-12.2.12-dont-use-bad-namespace.patch      |  13 -
 .../ceph/files/ceph-12.2.12-ncurses-tinfo.patch    |  20 -
 .../ceph/files/ceph-12.2.12-qa-warning.patch       |  13 -
 sys-cluster/ceph/files/ceph-12.2.4-cflags.patch    |  38 --
 .../ceph/files/ceph-12.2.4-rocksdb-cflags.patch    |  11 -
 sys-cluster/ceph/files/ceph-12.2.5-no-werror.patch |  55 ---
 sys-cluster/ceph/metadata.xml                      |   1 -
 15 files changed, 1136 deletions(-)

diff --git a/sys-cluster/ceph/Manifest b/sys-cluster/ceph/Manifest
index 3429c8d7285..3dfdc5719b1 100644
--- a/sys-cluster/ceph/Manifest
+++ b/sys-cluster/ceph/Manifest
@@ -1,7 +1,5 @@
-DIST ceph-12.2.12.tar.gz 77467762 BLAKE2B a5224432121db9ef49c1e22771d847399df2f7881cd9c2e185eca12096efb79d21578659d248eb5bae678924983d57452d370e23ab7e78663764d7bea834a461 SHA512 e694c9a8c1f9836c08fb74b54423bdc16d4900252e34643c56cf1a615d4dacddfb13df06a6a9f68bb9d438f5f07069ed358f9fa4b5a362640a3046f9c7722dcc
 DIST ceph-14.2.11.tar.gz 129327263 BLAKE2B fb04f3fde6642905dd21836c7472cf3b6cb484f69367ecf01b7d427c757e0fd1db4bd483bf9b0e485e1f8924a8e9201e8d47713a1de9281d5d96e45939bd1078 SHA512 765e8982d457cfd900acddc8f82c23824b32dc6d925d45e7693cba48c06fab798b6d57991dc9ad18a9ace9aff6fb2b917bd97f2d6435a7caceb03c9733e9602a
 DIST ceph-14.2.13.tar.gz 129255298 BLAKE2B 32d12ede10ff657e9341e2fc31412018041a327a4c62219105a4e9576fa46643c12b936c3eaa003a78677c4ef401ef6bd73fe150604e8031482f1d237d483ff1 SHA512 3d51b729ccf26aa9a40c1320f4051755ec405abc714ae5257ec5433a13549e34fed0945f3091525fd8118d00c36fe4ae793125728d9e17f4221cdd1ee7de5b12
 DIST ceph-14.2.14.tar.gz 129258764 BLAKE2B a25ad78f607de33f3d87c96bf41d614266a0737ca855dbdc7dd88354cddc90037de8bf98e09392fba858f9224f98eaddae0943814a3b23a8a7e00181e5b91607 SHA512 4d5c11108cf42dc3bcf810d119329ba6e4cda02506215202d3b173bad8a9638d1fb2dff7c440d935efe8cd008e7d6e7bb02f681d2da06fccfb6d1d47078287dc
-DIST ceph-15.2.4.tar.gz 148011928 BLAKE2B c0222725227cf922ed10bb19840b8cbfe0c0b8ae77a4f83f03a95c3fc198165740f7a1dee5e1983e9403634ce389c858e71ed3f2731202630e19961a5de0247a SHA512 94e9b4c87d9f27dbfc9961b853f2cf159d65b614bf50ac3dabad9d801a181c547550ab4bca1f48c7a6e11aa6188e5858b110a9023dc214a043ed5ba375b3dee2
 DIST ceph-15.2.5.tar.gz 149219528 BLAKE2B 8f2cea9a258b7c530bff72a46d45fabf5364cf919f098c7d77857afa0dfdbcd7c290aa5a0d88cce1d99923588cc303d27c0b85179378ff1c394d9ce0f135a1b1 SHA512 55de068886c48293e92ef95cf8343ae44825fd2bf9c3fa7d47cda92907a47bae79e0af730cd34d0155b0777901d0fd6f9d1f30537c66c54c95098df7368fca2e
 DIST ceph-15.2.6.tar.gz 148124143 BLAKE2B 4132a2c50037839f712a796cf428190b0e450f0f8b6f157b3d983ca596d9e9e521f1f991c66e14455122c927ddaafada387ef780fd438b2506cfe56194177648 SHA512 0bbbbc532fb9f29437c094a86a1e58040f03b679e4d52ea9cc752ecf411c594c8ec37dc5e9f0ee47712d32b93b4e60b0f3fded280867d41c41b8db806b375e4e

diff --git a/sys-cluster/ceph/ceph-12.2.12-r3.ebuild b/sys-cluster/ceph/ceph-12.2.12-r3.ebuild
deleted file mode 100644
index 029b309f009..00000000000
--- a/sys-cluster/ceph/ceph-12.2.12-r3.ebuild
+++ /dev/null
@@ -1,320 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-PYTHON_COMPAT=( python3_6 )
-DISTUTILS_OPTIONAL=1
-
-inherit check-reqs cmake-utils distutils-r1 flag-o-matic multiprocessing \
-	python-r1 udev readme.gentoo-r1 systemd
-
-if [[ ${PV} == *9999* ]]; then
-	inherit git-r3
-	EGIT_REPO_URI="https://github.com/ceph/ceph.git"
-	SRC_URI=""
-else
-	SRC_URI="https://download.ceph.com/tarballs/${P}.tar.gz"
-	# currently broken (bug #708294)
-	#KEYWORDS="~amd64 ~arm64 ~x86"
-fi
-
-DESCRIPTION="Ceph distributed filesystem"
-HOMEPAGE="https://ceph.com/"
-
-LICENSE="LGPL-2.1 CC-BY-SA-3.0 GPL-2 BSD Boost-1.0 MIT"
-SLOT="0"
-
-CPU_FLAGS_X86=(sse{,2,3,4_1,4_2} ssse3)
-
-IUSE="babeltrace cephfs fuse jemalloc ldap lttng +mgr nss +radosgw +ssl"
-IUSE+=" +system-boost systemd +tcmalloc test xfs zfs"
-IUSE+=" $(printf "cpu_flags_x86_%s\n" ${CPU_FLAGS_X86[@]})"
-
-# unbundling code commented out pending bugs 584056 and 584058
-#>=dev-libs/jerasure-2.0.0-r1
-#>=dev-libs/gf-complete-2.0.0
-COMMON_DEPEND="
-	acct-group/ceph
-	acct-user/ceph
-	virtual/libudev:=
-	app-arch/bzip2:=
-	app-arch/lz4:=
-	app-arch/snappy:=
-	app-arch/zstd:=
-	app-misc/jq:=
-	<dev-libs/crypto++-7.0:=
-	dev-libs/leveldb:=[snappy,tcmalloc?]
-	dev-libs/libaio:=
-	dev-libs/libxml2:=
-	sys-apps/keyutils:=
-	sys-apps/util-linux:=
-	sys-libs/zlib:=
-	babeltrace? ( dev-util/babeltrace )
-	ldap? ( net-nds/openldap:= )
-	lttng? ( dev-util/lttng-ust:= )
-	nss? ( dev-libs/nss:= )
-	fuse? ( sys-fs/fuse:0= )
-	xfs? ( sys-fs/xfsprogs:= )
-	zfs? ( sys-fs/zfs:= )
-	ssl? ( dev-libs/openssl:0= )
-	radosgw? (
-		dev-libs/expat:=
-		<dev-libs/openssl-1.1:=
-		net-misc/curl:=[curl_ssl_openssl]
-	)
-	system-boost? (
-		=dev-libs/boost-1.66*:=[threads,context,python,${PYTHON_USEDEP}]
-	)
-	jemalloc? ( dev-libs/jemalloc:= )
-	!jemalloc? ( >=dev-util/google-perftools-2.4:= )
-	${PYTHON_DEPS}
-	"
-DEPEND="${COMMON_DEPEND}
-	app-arch/cpio
-	amd64? ( dev-lang/yasm )
-	x86? ( dev-lang/yasm )
-	dev-python/cython[${PYTHON_USEDEP}]
-	dev-python/sphinx
-	dev-util/gperf
-	dev-util/valgrind
-	sys-apps/which
-	sys-devel/bc
-	virtual/pkgconfig
-	test? (
-		dev-python/virtualenv[${PYTHON_USEDEP}]
-		sys-apps/grep[pcre]
-		sys-fs/btrfs-progs
-	)"
-RDEPEND="${COMMON_DEPEND}
-	net-misc/socat
-	sys-apps/gptfdisk
-	sys-block/parted
-	sys-fs/e2fsprogs
-	sys-fs/cryptsetup
-	sys-fs/lvm2
-	!<sys-apps/openrc-0.26.3
-	dev-python/cherrypy[${PYTHON_USEDEP}]
-	dev-python/flask[${PYTHON_USEDEP}]
-	dev-python/jinja[${PYTHON_USEDEP}]
-	dev-python/pecan[${PYTHON_USEDEP}]
-	dev-python/prettytable[${PYTHON_USEDEP}]
-	dev-python/pyopenssl[${PYTHON_USEDEP}]
-	dev-python/requests[${PYTHON_USEDEP}]
-	dev-python/werkzeug[${PYTHON_USEDEP}]
-	"
-REQUIRED_USE="
-	$(python_gen_useflags 'python2*')
-	${PYTHON_REQUIRED_USE}
-	?? ( ssl nss )
-	?? ( jemalloc tcmalloc )
-	"
-
-RESTRICT="test? ( userpriv )"
-
-# distribution tarball does not include everything needed for tests
-RESTRICT+=" test"
-
-# false positives unless all USE flags are on
-CMAKE_WARN_UNUSED_CLI="no"
-
-# ninja does not work at all
-CMAKE_MAKEFILE_GENERATOR="emake"
-
-UNBUNDLE_LIBS=(
-	src/erasure-code/jerasure/jerasure
-	src/erasure-code/jerasure/gf-complete
-)
-
-PATCHES=(
-	"${FILESDIR}/ceph-12.2.0-use-provided-cpu-flag-values.patch"
-	"${FILESDIR}/ceph-12.2.0-cflags.patch"
-	"${FILESDIR}/ceph-12.2.1-systemd-unitdir.patch"
-	"${FILESDIR}/ceph-12.2.4-boost-build-none-options.patch"
-	"${FILESDIR}/ceph-12.2.4-cflags.patch"
-	"${FILESDIR}/ceph-12.2.4-rocksdb-cflags.patch"
-	"${FILESDIR}/ceph-12.2.5-no-werror.patch"
-	"${FILESDIR}/ceph-13.2.2-dont-install-sysvinit-script.patch"
-	"${FILESDIR}/ceph-12.2.11-fix-min-call.patch"
-	"${FILESDIR}/ceph-12.2.12-dont-use-bad-namespace.patch"
-	"${FILESDIR}/ceph-12.2.12-civetweb-openssl-1.1.1.patch"
-	"${FILESDIR}/ceph-12.2.12-qa-warning.patch"
-	"${FILESDIR}/ceph-12.2.12-ncurses-tinfo.patch"
-)
-
-check-reqs_export_vars() {
-	if use amd64; then
-		CHECKREQS_DISK_BUILD="12G"
-		CHECKREQS_DISK_USR="460M"
-	else
-		CHECKREQS_DISK_BUILD="1400M"
-		CHECKREQS_DISK_USR="450M"
-	fi
-
-	export CHECKREQS_DISK_BUILD CHECKREQS_DISK_USR
-}
-
-user_setup() {
-	enewgroup ceph ${CEPH_GID}
-	enewuser ceph "${CEPH_UID:--1}" -1 /var/lib/ceph ceph
-}
-
-pkg_pretend() {
-	check-reqs_export_vars
-	check-reqs_pkg_pretend
-}
-
-pkg_setup() {
-	python_setup 'python2*'
-	check-reqs_export_vars
-	check-reqs_pkg_setup
-	user_setup
-}
-
-src_prepare() {
-	cmake-utils_src_prepare
-
-	if use system-boost; then
-		eapply "${FILESDIR}/ceph-12.2.11-boost-sonames.patch"
-	fi
-
-	# remove tests that need root access
-	rm src/test/cli/ceph-authtool/cap*.t
-
-	#rm -rf "${UNBUNDLE_LIBS[@]}"
-}
-
-ceph_src_configure() {
-	local flag
-	local mycmakeargs=(
-		-DCMAKE_INSTALL_SYSCONFDIR="${EPREFIX}/etc"
-		-DCMAKE_INSTALL_DOCDIR="${EPREFIX}/usr/share/doc/${PN}-${PVR}"
-		-DWITH_BABELTRACE=$(usex babeltrace)
-		-DWITH_CEPHFS=$(usex cephfs)
-		-DWITH_FUSE=$(usex fuse)
-		-DWITH_LTTNG=$(usex lttng)
-		-DWITH_MGR=$(usex mgr)
-		-DWITH_NSS=$(usex nss)
-		-DWITH_OPENLDAP=$(usex ldap)
-		-DWITH_RADOSGW=$(usex radosgw)
-		-DWITH_SSL=$(usex ssl)
-		-DWITH_SYSTEMD=$(usex systemd)
-		-DWITH_TESTS=$(usex test)
-		-DWITH_XFS=$(usex xfs)
-		-DWITH_ZFS=$(usex zfs)
-		-DENABLE_SHARED="yes"
-		-DALLOCATOR=$(usex tcmalloc 'tcmalloc' "$(usex jemalloc 'jemalloc' 'libc')")
-		-DWITH_SYSTEM_BOOST=$(usex system-boost)
-		-DBOOST_J=$(makeopts_jobs)
-		-DWITH_RDMA=no
-		-DSYSTEMD_UNITDIR=$(systemd_get_systemunitdir)
-		-DEPYTHON_VERSION="${EPYTHON#python}"
-	)
-	if use amd64 || use x86; then
-		for flag in ${CPU_FLAGS_X86[@]}; do
-			mycmakeargs+=("$(usex cpu_flags_x86_${flag} "-DHAVE_INTEL_${flag^^}=1")")
-		done
-	fi
-
-	rm -f "${BUILD_DIR:-${S}}/CMakeCache.txt"
-	cmake-utils_src_configure
-
-	# bug #630232
-	sed -i "s:\"${T//:\\:}/${EPYTHON}/bin/python\":\"${PYTHON}\":" \
-		"${BUILD_DIR:--${S}}"/include/acconfig.h \
-		|| die "sed failed"
-}
-
-src_configure() {
-	ceph_src_configure
-}
-
-python_compile() {
-	local CMAKE_USE_DIR="${S}"
-
-	ceph_src_configure
-	pushd "${BUILD_DIR}/src/pybind" >/dev/null || die
-	emake VERBOSE=1 all
-
-	# python modules are only compiled with "make install" so we need to do this to
-	# prevent doing a bunch of compilation in src_install
-	DESTDIR="${T}" emake VERBOSE=1 install
-	popd >/dev/null || die
-}
-
-src_compile() {
-	cmake-utils_src_make all
-
-	# we have to do this here to prevent from building everything multiple times
-	python_copy_sources
-	python_foreach_impl python_compile
-}
-
-src_test() {
-	make check || die "make check failed"
-}
-
-python_install() {
-	local CMAKE_USE_DIR="${S}"
-	pushd "${BUILD_DIR}/src/pybind" >/dev/null || die
-	DESTDIR="${ED}" emake install
-	popd >/dev/null || die
-}
-
-src_install() {
-	cmake-utils_src_install
-	python_foreach_impl python_install
-
-	find "${D}" -name '*.la' -delete || die
-
-	exeinto /usr/$(get_libdir)/ceph
-	newexe "${BUILD_DIR}/bin/init-ceph" ceph_init.sh
-
-	insinto /etc/logrotate.d/
-	newins "${FILESDIR}"/ceph.logrotate-r2 ${PN}
-
-	keepdir /var/lib/${PN}{,/tmp} /var/log/${PN}/stat
-
-	fowners -R ceph:ceph /var/lib/ceph /var/log/ceph
-
-	newinitd "${FILESDIR}/rbdmap.initd" rbdmap
-	newinitd "${FILESDIR}/${PN}.initd-r12" ${PN}
-	newconfd "${FILESDIR}/${PN}.confd-r5" ${PN}
-
-	insinto /etc/sysctl.d
-	newins "${FILESDIR}"/sysctld 90-${PN}.conf
-
-	use tcmalloc && newenvd "${FILESDIR}"/envd-tcmalloc 99${PN}-tcmalloc
-
-	# units aren't installed by the build system unless systemd is enabled
-	# so no point installing these with the USE flag disabled
-	if use systemd; then
-		systemd_install_serviced "${FILESDIR}/ceph-mds_at.service.conf" \
-			"ceph-mds@.service"
-
-		systemd_install_serviced "${FILESDIR}/ceph-osd_at.service.conf" \
-			"ceph-osd@.service"
-	fi
-
-	udev_dorules udev/*.rules
-
-	readme.gentoo_create_doc
-
-	python_setup 'python2*'
-
-	# bug #630232
-	sed -i -r "s:${T//:/\\:}/${EPYTHON}:/usr:" "${ED}"/usr/bin/ceph \
-		|| die "sed failed"
-
-	python_fix_shebang "${ED}"/usr/{,s}bin/
-
-	# python_fix_shebang apparently is not idempotent
-	sed -i -r  's:(/usr/lib/python-exec/python[0-9]\.[0-9]/python)[0-9]\.[0-9]:\1:' \
-		"${ED}"/usr/{sbin/ceph-disk,bin/ceph-detect-init} || die "sed failed"
-
-	local -a rados_classes=( "${D}/usr/$(get_libdir)/rados-classes"/* )
-	dostrip -x "${rados_classes[@]#${D}}"
-}
-
-pkg_postinst() {
-	readme.gentoo_print_elog
-}

diff --git a/sys-cluster/ceph/ceph-15.2.4-r3.ebuild b/sys-cluster/ceph/ceph-15.2.4-r3.ebuild
deleted file mode 100644
index 3c6f8a003fc..00000000000
--- a/sys-cluster/ceph/ceph-15.2.4-r3.ebuild
+++ /dev/null
@@ -1,403 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-PYTHON_COMPAT=( python3_{6,7,8} )
-CMAKE_MAKEFILE_GENERATOR=emake
-
-DISTUTILS_OPTIONAL=1
-
-inherit check-reqs bash-completion-r1 cmake distutils-r1 flag-o-matic \
-		python-r1 udev readme.gentoo-r1 toolchain-funcs systemd tmpfiles
-
-if [[ ${PV} == *9999* ]]; then
-	inherit git-r3
-	EGIT_REPO_URI="https://github.com/ceph/ceph.git"
-	SRC_URI=""
-else
-	SRC_URI="https://download.ceph.com/tarballs/${P}.tar.gz"
-	KEYWORDS="~amd64 ~arm64 ~ppc64"
-fi
-
-DESCRIPTION="Ceph distributed filesystem"
-HOMEPAGE="https://ceph.com/"
-
-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"
-SLOT="0"
-
-CPU_FLAGS_X86=(sse{,2,3,4_1,4_2} ssse3)
-
-IUSE="babeltrace +cephfs custom-cflags diskprediction dpdk fuse grafana jemalloc
-	kafka kerberos ldap libressl lttng +mgr numa +openssl pmdk rabbitmq +radosgw
-	rbd-rwl +ssl spdk system-boost systemd +tcmalloc test uring xfs zfs"
-IUSE+=" $(printf "cpu_flags_x86_%s\n" ${CPU_FLAGS_X86[@]})"
-
-DEPEND="
-	acct-group/ceph
-	acct-user/ceph
-	virtual/libudev:=
-	app-arch/bzip2:=
-	app-arch/lz4:=
-	app-arch/snappy:=
-	app-arch/zstd:=
-	app-shells/bash:0
-	app-misc/jq:=
-	dev-libs/crypto++:=
-	dev-libs/leveldb:=[snappy,tcmalloc(-)?]
-	dev-libs/libaio:=
-	dev-libs/libfmt:=
-	dev-libs/libnl:3=
-	dev-libs/libxml2:=
-	dev-libs/xmlsec:=[!openssl?,!libressl?]
-	dev-cpp/yaml-cpp:=
-	dev-libs/nss:=
-	dev-libs/protobuf:=
-	net-dns/c-ares:=
-	net-libs/gnutls:=
-	sys-auth/oath-toolkit:=
-	sys-apps/coreutils
-	sys-apps/grep
-	sys-apps/hwloc:=
-	sys-apps/keyutils:=
-	sys-apps/util-linux:=
-	sys-apps/sed
-	sys-apps/util-linux
-	sys-libs/libcap-ng:=
-	sys-libs/ncurses:0=
-	sys-libs/zlib:=
-	sys-process/numactl:=
-	x11-libs/libpciaccess:=
-	babeltrace? ( dev-util/babeltrace )
-	fuse? ( sys-fs/fuse:0= )
-	jemalloc? ( dev-libs/jemalloc:= )
-	!jemalloc? ( >=dev-util/google-perftools-2.6.1:= )
-	kafka? ( dev-libs/librdkafka:= )
-	kerberos? ( virtual/krb5 )
-	ldap? ( net-nds/openldap:= )
-	lttng? ( dev-util/lttng-ust:= )
-	rabbitmq? ( net-libs/rabbitmq-c:= )
-	radosgw? (
-		dev-libs/expat:=
-		openssl? (
-			dev-libs/openssl:=
-			net-misc/curl:=[curl_ssl_openssl]
-		)
-		libressl? (
-			dev-libs/libressl:=
-			net-misc/curl:=[curl_ssl_libressl]
-		)
-	)
-	ssl? (
-		openssl? ( dev-libs/openssl:= )
-		libressl? ( dev-libs/libressl:= )
-	)
-	system-boost? ( =dev-libs/boost-1.72*[threads,context,python,${PYTHON_USEDEP}] )
-	uring? ( sys-libs/liburing:= )
-	xfs? ( sys-fs/xfsprogs:= )
-	zfs? ( sys-fs/zfs:= )
-	${PYTHON_DEPS}
-"
-BDEPEND="
-	amd64? ( dev-lang/yasm )
-	x86? ( dev-lang/yasm )
-	app-arch/cpio
-	>=dev-util/cmake-3.5.0
-	dev-python/cython[${PYTHON_USEDEP}]
-	dev-python/sphinx
-	dev-util/cunit
-	dev-util/gperf
-	dev-util/ragel
-	dev-util/valgrind
-	sys-apps/coreutils
-	sys-apps/findutils
-	sys-apps/grep
-	sys-apps/sed
-	sys-apps/which
-	sys-devel/bc
-	sys-devel/patch
-	virtual/pkgconfig
-	test? (
-		dev-python/coverage[${PYTHON_USEDEP}]
-		dev-python/virtualenv[${PYTHON_USEDEP}]
-		dev-python/requests-mock[${PYTHON_USEDEP}]
-		sys-apps/grep[pcre]
-		sys-fs/btrfs-progs
-	)
-"
-RDEPEND="${DEPEND}
-	app-admin/sudo
-	net-misc/socat
-	sys-apps/gptfdisk
-	sys-apps/nvme-cli
-	>=sys-apps/smartmontools-7.0
-	sys-block/parted
-	sys-fs/cryptsetup
-	sys-fs/lsscsi
-	sys-fs/lvm2[-device-mapper-only(-)]
-	virtual/awk
-	dev-python/bcrypt[${PYTHON_USEDEP}]
-	dev-python/cherrypy[${PYTHON_USEDEP}]
-	dev-python/python-dateutil[${PYTHON_USEDEP}]
-	dev-python/flask[${PYTHON_USEDEP}]
-	dev-python/jinja[${PYTHON_USEDEP}]
-	dev-python/pecan[${PYTHON_USEDEP}]
-	dev-python/prettytable[${PYTHON_USEDEP}]
-	dev-python/pyopenssl[${PYTHON_USEDEP}]
-	dev-python/requests[${PYTHON_USEDEP}]
-	dev-python/werkzeug[${PYTHON_USEDEP}]
-	mgr? (
-		dev-python/jsonpatch[${PYTHON_USEDEP}]
-		dev-python/more-itertools[${PYTHON_USEDEP}]
-		dev-python/numpy[${PYTHON_USEDEP}]
-		dev-python/pyjwt[${PYTHON_USEDEP}]
-		dev-python/pyyaml[${PYTHON_USEDEP}]
-		dev-python/routes[${PYTHON_USEDEP}]
-		diskprediction? (
-			$(python_gen_cond_dep '<dev-python/scipy-1.4.0[${PYTHON_USEDEP}]' python3_{6,7})
-		)
-		sci-libs/scikit-learn[${PYTHON_USEDEP}]
-		dev-python/six[${PYTHON_USEDEP}]
-	)
-"
-# diskprediction needs older scipy not compatible with py38
-# bug #724438
-REQUIRED_USE="
-	${PYTHON_REQUIRED_USE}
-	?? ( jemalloc tcmalloc )
-	^^ ( openssl libressl )
-	diskprediction? ( mgr !python_targets_python3_8 )
-	kafka? ( radosgw )
-	mgr? ( cephfs )
-	rabbitmq? ( radosgw )
-"
-RESTRICT="!test? ( test )"
-
-# the tests need root access
-RESTRICT="test? ( userpriv )"
-
-# distribution tarball does not include everything needed for tests
-RESTRICT+=" test"
-
-# create a non-debug release
-CMAKE_BUILD_TYPE=RelWithDebInfo
-
-# false positives unless all USE flags are on
-CMAKE_WARN_UNUSED_CLI=no
-
-PATCHES=(
-	"${FILESDIR}/ceph-12.2.0-use-provided-cpu-flag-values.patch"
-	"${FILESDIR}/ceph-14.2.0-cflags.patch"
-	"${FILESDIR}/ceph-12.2.4-boost-build-none-options.patch"
-	"${FILESDIR}/ceph-13.2.0-cflags.patch"
-	"${FILESDIR}/ceph-15.2.0-no-virtualenvs.patch"
-	"${FILESDIR}/ceph-13.2.2-dont-install-sysvinit-script.patch"
-	"${FILESDIR}/ceph-14.2.0-dpdk-cflags.patch"
-	"${FILESDIR}/ceph-14.2.0-link-crc32-statically.patch"
-	"${FILESDIR}/ceph-14.2.0-cython-0.29.patch"
-	"${FILESDIR}/ceph-15.2.0-rocksdb-cmake.patch"
-	"${FILESDIR}/ceph-15.2.2-systemd-unit.patch"
-	"${FILESDIR}/ceph-15.2.3-spdk-compile.patch"
-	"${FILESDIR}/ceph-14.2.10-python-warnings.patch"
-	"${FILESDIR}/ceph-15.2.4-system-uring.patch"
-	"${FILESDIR}/ceph-15.2.5-glibc-2.32.patch"
-)
-
-check-reqs_export_vars() {
-	CHECKREQS_DISK_BUILD="5200M"
-	CHECKREQS_DISK_USR="510M"
-
-	export CHECKREQS_DISK_BUILD CHECKREQS_DISK_USR
-}
-
-pkg_pretend() {
-	check-reqs_export_vars
-	check-reqs_pkg_pretend
-}
-
-pkg_setup() {
-	python_setup
-	check-reqs_export_vars
-	check-reqs_pkg_setup
-}
-
-src_prepare() {
-	cmake_src_prepare
-
-	if use system-boost; then
-		find "${S}" -name '*.cmake' -or -name 'CMakeLists.txt' -print0 \
-			| xargs --null sed -r \
-			-e 's|Boost::|boost_|g' \
-			-e 's|Boost_|boost_|g' \
-			-e 's|[Bb]oost_boost|boost_system|g' -i || die
-	fi
-
-	sed -i -r "s:DESTINATION .+\\):DESTINATION $(get_bashcompdir)\\):" \
-		src/bash_completion/CMakeLists.txt || die
-
-	if ! use diskprediction; then
-		rm -rf src/pybind/mgr/diskprediction_local || die
-	fi
-
-	# remove tests that need root access
-	rm src/test/cli/ceph-authtool/cap*.t || die
-}
-
-ceph_src_configure() {
-	local flag
-	local mycmakeargs=(
-		-DWITH_BABELTRACE=$(usex babeltrace)
-		-DWITH_BLUESTORE_PMEM=$(usex pmdk)
-		-DWITH_CEPHFS=$(usex cephfs)
-		-DWITH_CEPHFS_SHELL=$(usex cephfs)
-		-DWITH_DPDK=$(usex dpdk)
-		-DWITH_SPDK=$(usex spdk)
-		-DWITH_FUSE=$(usex fuse)
-		-DWITH_LTTNG=$(usex lttng)
-		-DWITH_GSSAPI=$(usex kerberos)
-		-DWITH_GRAFANA=$(usex grafana)
-		-DWITH_MGR=$(usex mgr)
-		-DWITH_MGR_DASHBOARD_FRONTEND=OFF
-		-DWITH_NUMA=$(usex numa)
-		-DWITH_OPENLDAP=$(usex ldap)
-		-DWITH_PYTHON3=3
-		-DWITH_RADOSGW=$(usex radosgw)
-		-DWITH_RADOSGW_AMQP_ENDPOINT=$(usex rabbitmq)
-		-DWITH_RADOSGW_KAFKA_ENDPOINT=$(usex kafka)
-		-DWITH_RBD_RWL=$(usex rbd-rwl)
-		-DWITH_SSL=$(usex ssl)
-		-DWITH_SYSTEMD=$(usex systemd)
-		-DWITH_TESTS=$(usex test)
-		-DWITH_LIBURING=$(usex uring)
-		-DWITH_XFS=$(usex xfs)
-		-DWITH_ZFS=$(usex zfs)
-		-DENABLE_SHARED="ON"
-		-DALLOCATOR=$(usex tcmalloc 'tcmalloc' "$(usex jemalloc 'jemalloc' 'libc')")
-		-DWITH_SYSTEM_BOOST=$(usex system-boost)
-		-DBOOST_J=$(makeopts_jobs)
-		-DWITH_RDMA=OFF
-		-DWITH_TBB=OFF
-		-DSYSTEMD_UNITDIR=$(systemd_get_systemunitdir)
-		-DCMAKE_INSTALL_SYSTEMD_SERVICEDIR=$(systemd_get_systemunitdir)
-		-DEPYTHON_VERSION="${EPYTHON#python}"
-		-DCMAKE_INSTALL_DOCDIR="${EPREFIX}/usr/share/doc/${PN}-${PVR}"
-		-DCMAKE_INSTALL_SYSCONFDIR="${EPREFIX}/etc"
-		-Wno-dev
-	)
-	if use amd64 || use x86; then
-		for flag in ${CPU_FLAGS_X86[@]}; do
-			mycmakeargs+=("$(usex cpu_flags_x86_${flag} "-DHAVE_INTEL_${flag^^}=1")")
-		done
-	fi
-
-	rm -f "${BUILD_DIR:-${S}}/CMakeCache.txt" \
-		|| die "failed to remove cmake cache"
-
-	cmake_src_configure
-
-	# bug #630232
-	sed -i "s:\"${T//:\\:}/${EPYTHON}/bin/python\":\"${PYTHON}\":" \
-		"${BUILD_DIR:-${S}}"/include/acconfig.h \
-		|| die "sed failed"
-}
-
-src_configure() {
-	use custom-cflags || strip-flags
-	ceph_src_configure
-}
-
-python_compile() {
-	local CMAKE_USE_DIR="${S}"
-	ceph_src_configure
-
-	pushd "${BUILD_DIR}/src/pybind" >/dev/null || die
-	emake VERBOSE=1 clean
-	emake VERBOSE=1 all
-
-	# python modules are only compiled with "make install" so we need to do this to
-	# prevent doing a bunch of compilation in src_install
-	DESTDIR="${T}" emake VERBOSE=1 install
-	popd >/dev/null || die
-}
-
-src_compile() {
-	cmake_build VERBOSE=1 all
-
-	# we have to do this here to prevent from building everything multiple times
-	python_copy_sources
-	python_foreach_impl python_compile
-}
-
-src_test() {
-	make check || die "make check failed"
-}
-
-python_install() {
-	local CMAKE_USE_DIR="${S}"
-	pushd "${BUILD_DIR}/src/pybind" >/dev/null || die
-	DESTDIR="${ED}" emake VERBOSE=1 install
-	popd >/dev/null || die
-
-	python_optimize
-}
-
-src_install() {
-	cmake_src_install
-	python_foreach_impl python_install
-
-	find "${ED}" -name '*.la' -type f -delete || die
-
-	exeinto /usr/$(get_libdir)/ceph
-	newexe "${BUILD_DIR}/bin/init-ceph" init-ceph
-
-	insinto /etc/logrotate.d/
-	newins "${FILESDIR}"/ceph.logrotate-r2 ${PN}
-
-	keepdir /var/lib/${PN}{,/tmp} /var/log/${PN}/stat
-
-	fowners -R ceph:ceph /var/log/ceph
-
-	newinitd "${FILESDIR}/rbdmap.initd" rbdmap
-	newinitd "${FILESDIR}/${PN}.initd-r12" ${PN}
-	newconfd "${FILESDIR}/${PN}.confd-r5" ${PN}
-
-	insinto /etc/sysctl.d
-	newins "${FILESDIR}"/sysctld 90-${PN}.conf
-
-	use tcmalloc && newenvd "${FILESDIR}"/envd-tcmalloc 99${PN}-tcmalloc
-
-	# units aren't installed by the build system unless systemd is enabled
-	# so no point installing these with the USE flag disabled
-	if use systemd; then
-		systemd_install_serviced "${FILESDIR}/ceph-mds_at.service.conf" \
-			"ceph-mds@.service"
-
-		systemd_install_serviced "${FILESDIR}/ceph-osd_at.service.conf" \
-			"ceph-osd@.service"
-
-	fi
-
-	udev_dorules udev/*.rules
-	newtmpfiles "${FILESDIR}"/ceph-tmpfilesd ${PN}.conf
-
-	readme.gentoo_create_doc
-
-	python_setup
-
-	# bug #630232
-	sed -i -r "s:${T//:/\\:}/${EPYTHON}:/usr:" "${ED}"/usr/bin/ceph{,-crash} \
-		|| die "sed failed"
-
-	python_fix_shebang "${ED}"/usr/{,s}bin/
-
-	# python_fix_shebang apparently is not idempotent
-	local shebang_regex='(/usr/lib/python-exec/python[0-9]\.[0-9]/python)[0-9]\.[0-9]'
-	grep -r -E -l --null "${shebang_regex}" "${ED}"/usr/{s,}bin/ \
-		| xargs --null --no-run-if-empty -- sed -i -r  "s:${shebang_regex}:\1:" || die
-
-	local -a rados_classes=( "${ED}/usr/$(get_libdir)/rados-classes"/* )
-	dostrip -x "${rados_classes[@]#${ED}}"
-}
-
-pkg_postinst() {
-	readme.gentoo_print_elog
-}

diff --git a/sys-cluster/ceph/files/ceph-12.2.0-cflags.patch b/sys-cluster/ceph/files/ceph-12.2.0-cflags.patch
deleted file mode 100644
index 0f02e6e6d43..00000000000
--- a/sys-cluster/ceph/files/ceph-12.2.0-cflags.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-diff --git a/cmake/modules/Distutils.cmake b/cmake/modules/Distutils.cmake
-index 24d1a50654..a9fac61196 100644
---- a/cmake/modules/Distutils.cmake
-+++ b/cmake/modules/Distutils.cmake
-@@ -43,7 +43,7 @@ function(distutils_add_cython_module name src)
-     CC=${PY_CC}
-     CXX=${PY_CXX}
-     LDSHARED=${PY_LDSHARED}
--    OPT=\"-DNDEBUG -g -fwrapv -O2 -w\"
-+    OPT=\"-DNDEBUG -fwrapv -w\"
-     LDFLAGS=-L${CMAKE_LIBRARY_OUTPUT_DIRECTORY}
-     CYTHON_BUILD_DIR=${CMAKE_CURRENT_BINARY_DIR}
-     CEPH_LIBDIR=${CMAKE_LIBRARY_OUTPUT_DIRECTORY}

diff --git a/sys-cluster/ceph/files/ceph-12.2.1-systemd-unitdir.patch b/sys-cluster/ceph/files/ceph-12.2.1-systemd-unitdir.patch
deleted file mode 100644
index 28d1a02d711..00000000000
--- a/sys-cluster/ceph/files/ceph-12.2.1-systemd-unitdir.patch
+++ /dev/null
@@ -1,10 +0,0 @@
-diff --git a/systemd/CMakeLists.txt b/systemd/CMakeLists.txt
-index 3b03b6e613..c359ad2df9 100644
---- a/systemd/CMakeLists.txt
-+++ b/systemd/CMakeLists.txt
-@@ -17,4 +17,4 @@ install(FILES
-   ceph-disk@.service
-   ceph-volume@.service
-   rbdmap.service
--  DESTINATION ${CMAKE_INSTALL_LIBEXECDIR}/systemd/system)
-+  DESTINATION ${SYSTEMD_UNITDIR})

diff --git a/sys-cluster/ceph/files/ceph-12.2.11-boost-sonames.patch b/sys-cluster/ceph/files/ceph-12.2.11-boost-sonames.patch
deleted file mode 100644
index bd17686bd9a..00000000000
--- a/sys-cluster/ceph/files/ceph-12.2.11-boost-sonames.patch
+++ /dev/null
@@ -1,214 +0,0 @@
-diff --git a/CMakeLists.txt b/CMakeLists.txt
-index 5403de8f4c..ee3336ee27 100644
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -563,7 +563,7 @@ set(BOOST_COMPONENTS
- set(BOOST_HEADER_COMPONENTS container)
- 
- if(WITH_MGR)
--	list(APPEND BOOST_COMPONENTS python)
-+	list(APPEND BOOST_COMPONENTS python-${EPYTHON_VERSION})
- endif()
- if(WITH_BOOST_CONTEXT)
-   list(APPEND BOOST_COMPONENTS context coroutine)
-diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
-index b0837ab1d9..e12cecf354 100644
---- a/src/CMakeLists.txt
-+++ b/src/CMakeLists.txt
-@@ -623,13 +623,13 @@ set(ceph_common_objs
-   $<TARGET_OBJECTS:crush_objs>)
- set(ceph_common_deps
-   json_spirit erasure_code rt ${LIB_RESOLV}
--  Boost::thread
--  Boost::system
--  Boost::regex
--  Boost::random
--  Boost::program_options
--  Boost::date_time
--  Boost::iostreams
-+  boost_thread
-+  boost_system
-+  boost_regex
-+  boost_random
-+  boost_program_options
-+  boost_date_time
-+  boost_iostreams
-   ${BLKID_LIBRARIES}
-   ${Backtrace_LIBRARIES}
-   ${BLKIN_LIBRARIES}
-@@ -727,7 +727,7 @@ if (WITH_MGR)
-                  $<TARGET_OBJECTS:heap_profiler_objs>)
-   target_include_directories(ceph-mgr PRIVATE "${PYTHON_INCLUDE_DIRS}")
-   target_link_libraries(ceph-mgr osdc client global-static common
--      Boost::python ${PYTHON_LIBRARIES} ${BLKID_LIBRARIES} ${CMAKE_DL_LIBS} ${ALLOC_LIBS})
-+	  boost_python-${EPYTHON_VERSION} ${PYTHON_LIBRARIES} ${BLKID_LIBRARIES} ${CMAKE_DL_LIBS} ${ALLOC_LIBS})
-   install(TARGETS ceph-mgr DESTINATION bin)
- endif (WITH_MGR)
- 
-@@ -901,7 +901,7 @@ set(ceph_mds_srcs
-   ceph_mds.cc)
- add_executable(ceph-mds ${ceph_mds_srcs})
- target_link_libraries(ceph-mds mds ${CMAKE_DL_LIBS} global-static common
--  Boost::thread)
-+  boost_thread)
- install(TARGETS ceph-mds DESTINATION bin)
- 
- add_subdirectory(erasure-code)
-diff --git a/src/rgw/CMakeLists.txt b/src/rgw/CMakeLists.txt
-index 57cb2a5b94..971af8ebec 100644
---- a/src/rgw/CMakeLists.txt
-+++ b/src/rgw/CMakeLists.txt
-@@ -156,7 +156,7 @@ if (WITH_CURL_OPENSSL OR (WITH_RADOSGW_BEAST_FRONTEND AND WITH_RADOSGW_BEAST_OPE
- endif()
- if (WITH_RADOSGW_BEAST_FRONTEND)
-   target_compile_definitions(rgw_a PUBLIC BOOST_COROUTINES_NO_DEPRECATION_WARNING)
--  target_link_libraries(rgw_a Boost::coroutine Boost::context)
-+  target_link_libraries(rgw_a boost_coroutine boost_context)
- endif()
- 
- set(radosgw_srcs
-diff --git a/src/test/CMakeLists.txt b/src/test/CMakeLists.txt
-index 66e24b8bc9..0f659c98e2 100644
---- a/src/test/CMakeLists.txt
-+++ b/src/test/CMakeLists.txt
-@@ -145,7 +145,7 @@ add_executable(ceph_omapbench
-   )
- target_link_libraries(ceph_omapbench
-   librados
--  Boost::program_options
-+  boost_program_options
-   global
-   ${BLKID_LIBRARIES}
-   ${CMAKE_DL_LIBS}
-@@ -199,7 +199,7 @@ if(${WITH_RADOSGW})
-     cls_rgw_client
-     cls_user_client
-     cls_lock_client
--    Boost::regex
-+    boost_regex
-     ${BLKID_LIBRARIES}
-     ${CURL_LIBRARIES}
-     ${EXPAT_LIBRARIES}
-@@ -229,7 +229,7 @@ if(${WITH_RADOSGW})
-     cls_rgw_client
-     cls_user_client
-     cls_lock_client
--    Boost::regex
-+    boost_regex
-     ${BLKID_LIBRARIES}
-     ${CURL_LIBRARIES}
-     ${EXPAT_LIBRARIES}
-diff --git a/src/test/bench/CMakeLists.txt b/src/test/bench/CMakeLists.txt
-index 9fba701e05..da3cbcfe96 100644
---- a/src/test/bench/CMakeLists.txt
-+++ b/src/test/bench/CMakeLists.txt
-@@ -8,7 +8,7 @@ set(smalliobench_srcs
- add_executable(ceph_smalliobench
-   ${smalliobench_srcs}
-   )
--target_link_libraries(ceph_smalliobench librados Boost::program_options global
-+target_link_libraries(ceph_smalliobench librados boost_program_options global
-   ${BLKID_LIBRARIES} ${CMAKE_DL_LIBS}) 
- 
- # ceph_smalliobenchrbd
-@@ -27,7 +27,7 @@ if(WITH_RBD)
-     librados
-     os
-     global
--    Boost::program_options
-+    boost_program_options
-     ${BLKID_LIBRARIES}
-     ${CMAKE_DL_LIBS}
-     )
-@@ -50,7 +50,7 @@ set(ceph_smalliobenchfs_srcs
- add_executable(ceph_smalliobenchfs
-   ${ceph_smalliobenchfs_srcs}
-   )
--target_link_libraries(ceph_smalliobenchfs librados Boost::program_options os global
-+target_link_libraries(ceph_smalliobenchfs librados boost_program_options os global
-   ${BLKID_LIBRARIES} ${CMAKE_DL_LIBS}) 
- 
- # ceph_smalliobenchdumb
-@@ -63,7 +63,7 @@ set(smalliobenchdumb_srcs
- add_executable(ceph_smalliobenchdumb
-   ${smalliobenchdumb_srcs}
-   )
--target_link_libraries(ceph_smalliobenchdumb librados Boost::program_options os global
-+target_link_libraries(ceph_smalliobenchdumb librados boost_program_options os global
-   ${BLKID_LIBRARIES} ${CMAKE_DL_LIBS}) 
- 
- # ceph_tpbench
-@@ -73,7 +73,7 @@ set(tpbench_srcs
- add_executable(ceph_tpbench
-   ${tpbench_srcs}
-   )
--target_link_libraries(ceph_tpbench librados Boost::program_options global
-+target_link_libraries(ceph_tpbench librados boost_program_options global
-   ${BLKID_LIBRARIES} ${CMAKE_DL_LIBS})
- 
- install(TARGETS
-diff --git a/src/test/erasure-code/CMakeLists.txt b/src/test/erasure-code/CMakeLists.txt
-index dc4e0865d0..69502342bb 100644
---- a/src/test/erasure-code/CMakeLists.txt
-+++ b/src/test/erasure-code/CMakeLists.txt
-@@ -2,15 +2,15 @@
- add_executable(ceph_erasure_code_benchmark 
-   ${CMAKE_SOURCE_DIR}/src/erasure-code/ErasureCode.cc
-   ceph_erasure_code_benchmark.cc)
--target_link_libraries(ceph_erasure_code_benchmark ceph-common Boost::program_options global ${CMAKE_DL_LIBS})
-+target_link_libraries(ceph_erasure_code_benchmark ceph-common boost_program_options global ${CMAKE_DL_LIBS})
- install(TARGETS ceph_erasure_code_benchmark
-   DESTINATION bin)
- 
- add_executable(ceph_erasure_code_non_regression ceph_erasure_code_non_regression.cc)
--target_link_libraries(ceph_erasure_code_non_regression ceph-common Boost::program_options global ${CMAKE_DL_LIBS})
-+target_link_libraries(ceph_erasure_code_non_regression ceph-common boost_program_options global ${CMAKE_DL_LIBS})
- 
- add_executable(ceph_erasure_code ceph_erasure_code.cc)
--target_link_libraries(ceph_erasure_code ceph-common Boost::program_options global ${CMAKE_DL_LIBS})
-+target_link_libraries(ceph_erasure_code ceph-common boost_program_options global ${CMAKE_DL_LIBS})
- install(TARGETS ceph_erasure_code
-   DESTINATION bin)
- 
-diff --git a/src/test/librados/CMakeLists.txt b/src/test/librados/CMakeLists.txt
-index c35ddb3d8f..3916544259 100644
---- a/src/test/librados/CMakeLists.txt
-+++ b/src/test/librados/CMakeLists.txt
-@@ -137,7 +137,7 @@ add_executable(ceph_test_rados_api_tier
- set_target_properties(ceph_test_rados_api_tier PROPERTIES COMPILE_FLAGS
-   ${UNITTEST_CXX_FLAGS})
- target_link_libraries(ceph_test_rados_api_tier
--  global rados_a ${UNITTEST_LIBS} Boost::system radostest)
-+  global rados_a ${UNITTEST_LIBS} boost_system radostest)
- 
- # ceph_test_rados_api_snapshots
- add_executable(ceph_test_rados_api_snapshots
-diff --git a/src/tools/CMakeLists.txt b/src/tools/CMakeLists.txt
-index 9f72fa3b48..665c977606 100644
---- a/src/tools/CMakeLists.txt
-+++ b/src/tools/CMakeLists.txt
-@@ -24,13 +24,13 @@ target_link_libraries(ceph_radosacl librados global)
- install(TARGETS ceph_radosacl DESTINATION bin)
- 
- add_executable(ceph-osdomap-tool ceph_osdomap_tool.cc)
--target_link_libraries(ceph-osdomap-tool os global Boost::program_options)
-+target_link_libraries(ceph-osdomap-tool os global boost_program_options)
- install(TARGETS ceph-osdomap-tool DESTINATION bin)
- 
- add_executable(ceph-monstore-tool
-   ceph_monstore_tool.cc
-   ../mgr/mgr_commands.cc)
--target_link_libraries(ceph-monstore-tool os global Boost::program_options)
-+target_link_libraries(ceph-monstore-tool os global boost_program_options)
- install(TARGETS ceph-monstore-tool DESTINATION bin)
- install(PROGRAMS
-   ceph-monstore-update-crush.sh
-@@ -41,7 +41,7 @@ add_executable(ceph-objectstore-tool
-   ceph_objectstore_tool.cc
-   rebuild_mondb.cc
-   RadosDump.cc)
--target_link_libraries(ceph-objectstore-tool osd os global Boost::program_options ${CMAKE_DL_LIBS})
-+target_link_libraries(ceph-objectstore-tool osd os global boost_program_options ${CMAKE_DL_LIBS})
- if(WITH_FUSE)
-   target_link_libraries(ceph-objectstore-tool fuse)
- endif(WITH_FUSE)

diff --git a/sys-cluster/ceph/files/ceph-12.2.11-fix-min-call.patch b/sys-cluster/ceph/files/ceph-12.2.11-fix-min-call.patch
deleted file mode 100644
index cd9eb4891cb..00000000000
--- a/sys-cluster/ceph/files/ceph-12.2.11-fix-min-call.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-diff --git a/src/osd/PrimaryLogPG.cc b/src/osd/PrimaryLogPG.cc
-index 0074c7964b..98991be7d2 100644
---- a/src/osd/PrimaryLogPG.cc
-+++ b/src/osd/PrimaryLogPG.cc
-@@ -1582,7 +1582,7 @@ void PrimaryLogPG::calc_trim_to()
-   if (limit != eversion_t() &&
-       limit != pg_trim_to &&
-       pg_log.get_log().approx_size() > target) {
--    size_t num_to_trim = std::min(pg_log.get_log().approx_size() - target,
-+    size_t num_to_trim = std::min((uint64_t)(pg_log.get_log().approx_size() - target),
-                              cct->_conf->osd_pg_log_trim_max);
-     if (num_to_trim < cct->_conf->osd_pg_log_trim_min &&
-         cct->_conf->osd_pg_log_trim_max >= cct->_conf->osd_pg_log_trim_min) {

diff --git a/sys-cluster/ceph/files/ceph-12.2.12-civetweb-openssl-1.1.1.patch b/sys-cluster/ceph/files/ceph-12.2.12-civetweb-openssl-1.1.1.patch
deleted file mode 100644
index a21bcc9325d..00000000000
--- a/sys-cluster/ceph/files/ceph-12.2.12-civetweb-openssl-1.1.1.patch
+++ /dev/null
@@ -1,10 +0,0 @@
---- a/src/civetweb/src/civetweb.c	2017-11-02 10:58:06.000000000 -0700
-+++ b/src/civetweb/src/civetweb.c	2019-04-11 17:23:30.736346783 -0700
-@@ -851,6 +851,7 @@
- #include <openssl/crypto.h>
- #include <openssl/x509.h>
- #include <openssl/pem.h>
-+#include <openssl/engine.h>
- #else
- /* SSL loaded dynamically from DLL.
-  * I put the prototypes here to be independent from OpenSSL source

diff --git a/sys-cluster/ceph/files/ceph-12.2.12-dont-use-bad-namespace.patch b/sys-cluster/ceph/files/ceph-12.2.12-dont-use-bad-namespace.patch
deleted file mode 100644
index 9a23e1ee60a..00000000000
--- a/sys-cluster/ceph/files/ceph-12.2.12-dont-use-bad-namespace.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-diff --git a/src/rgw/rgw_crypt.cc b/src/rgw/rgw_crypt.cc
-index cf4e38995e..7a4089fca9 100644
---- a/src/rgw/rgw_crypt.cc
-+++ b/src/rgw/rgw_crypt.cc
-@@ -31,7 +31,7 @@ using namespace CryptoPP;
- #define dout_subsys ceph_subsys_rgw
- 
- using namespace rgw;
--using ceph::crypto::PK11_ImportSymKey_FIPS;
-+//using ceph::crypto::PK11_ImportSymKey_FIPS;
- 
- /**
-  * Encryption in CTR mode. offset is used as IV for each block.

diff --git a/sys-cluster/ceph/files/ceph-12.2.12-ncurses-tinfo.patch b/sys-cluster/ceph/files/ceph-12.2.12-ncurses-tinfo.patch
deleted file mode 100644
index 1b72e5447db..00000000000
--- a/sys-cluster/ceph/files/ceph-12.2.12-ncurses-tinfo.patch
+++ /dev/null
@@ -1,20 +0,0 @@
-diff --git a/src/tools/rbd/CMakeLists.txt b/src/tools/rbd/CMakeLists.txt
-index 7aa42e9efd..66186b159f 100644
---- a/src/tools/rbd/CMakeLists.txt
-+++ b/src/tools/rbd/CMakeLists.txt
-@@ -1,3 +1,6 @@
-+set(CURSES_NEED_NCURSES TRUE)
-+find_package(Curses REQUIRED)
-+
- set(rbd_srcs
-   rbd.cc
-   ArgumentTypes.cc
-@@ -46,7 +49,7 @@ target_link_libraries(rbd librbd librados
-   cls_journal_client cls_rbd_client
-   rbd_types
-   journal
--  ceph-common global
-+  ceph-common global ${CURSES_LIBRARIES}
-   ${BLKID_LIBRARIES} ${CMAKE_DL_LIBS})
- if(WITH_KRBD)
-   target_link_libraries(rbd 

diff --git a/sys-cluster/ceph/files/ceph-12.2.12-qa-warning.patch b/sys-cluster/ceph/files/ceph-12.2.12-qa-warning.patch
deleted file mode 100644
index 1b63d6e21ba..00000000000
--- a/sys-cluster/ceph/files/ceph-12.2.12-qa-warning.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-diff --git a/src/common/blkdev.cc b/src/common/blkdev.cc
-index d95a397a84..d2cbf4b7b9 100644
---- a/src/common/blkdev.cc
-+++ b/src/common/blkdev.cc
-@@ -225,7 +225,7 @@ int get_device_by_uuid(uuid_d dev_uuid, const char* label, char* partition,
-     rc = get_block_device_base(partition, basename,
-       sizeof(basename));
-     if (rc >= 0) {
--      strncpy(device, basename, sizeof(basename));
-+      strncpy(device, basename, sizeof(device));
-       rc = 0;
-     } else {
-       rc = -ENODEV;

diff --git a/sys-cluster/ceph/files/ceph-12.2.4-cflags.patch b/sys-cluster/ceph/files/ceph-12.2.4-cflags.patch
deleted file mode 100644
index 3535d8cf436..00000000000
--- a/sys-cluster/ceph/files/ceph-12.2.4-cflags.patch
+++ /dev/null
@@ -1,38 +0,0 @@
-diff --git a/cmake/modules/BuildBoost.cmake b/cmake/modules/BuildBoost.cmake
-index c7cd39a110..e7b8115485 100644
---- a/cmake/modules/BuildBoost.cmake
-+++ b/cmake/modules/BuildBoost.cmake
-@@ -29,7 +29,7 @@ function(do_build_boost version)
-   else()
-     list(APPEND boost_features "address-model=32")
-   endif()
--  set(BOOST_CXXFLAGS "-fPIC -w") # check on arm, etc <---XXX
-+  set(BOOST_CXXFLAGS "${CMAKE_CXX_FLAGS} -fPIC -w") # check on arm, etc <---XXX
-   list(APPEND boost_features "cxxflags=${BOOST_CXXFLAGS}")
- 
-   string(REPLACE ";" "," boost_with_libs "${Boost_BUILD_COMPONENTS}")
-diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
-index 7aa8a4392e..c7543a62bd 100644
---- a/src/CMakeLists.txt
-+++ b/src/CMakeLists.txt
-@@ -808,6 +808,7 @@ install(TARGETS ceph-mon DESTINATION bin)
- 
- if (NOT WITH_SYSTEM_ROCKSDB)
-   set(ROCKSDB_CMAKE_ARGS -DCMAKE_POSITION_INDEPENDENT_CODE=ON)
-+  list(APPEND ROCKSDB_CMAKE_ARGS -DDISABLE_WARNING_AS_ERROR=ON)
- 
-   if(ALLOCATOR STREQUAL "jemalloc")
-     list(APPEND ROCKSDB_CMAKE_ARGS -DWITH_JEMALLOC=ON)
-diff --git a/src/compressor/zstd/CMakeLists.txt b/src/compressor/zstd/CMakeLists.txt
-index d9d2b6e560..1b2099fcbd 100644
---- a/src/compressor/zstd/CMakeLists.txt
-+++ b/src/compressor/zstd/CMakeLists.txt
-@@ -1,7 +1,7 @@
- # zstd
- 
- # libzstd - build it statically
--set(ZSTD_C_FLAGS -fPIC -Wno-unused-variable -O3)
-+set(ZSTD_C_FLAGS -fPIC -Wno-unused-variable $ENV{CFLAGS})
- 
- include(ExternalProject)
- ExternalProject_Add(zstd_ext

diff --git a/sys-cluster/ceph/files/ceph-12.2.4-rocksdb-cflags.patch b/sys-cluster/ceph/files/ceph-12.2.4-rocksdb-cflags.patch
deleted file mode 100644
index d744318cd11..00000000000
--- a/sys-cluster/ceph/files/ceph-12.2.4-rocksdb-cflags.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- ceph-12.2.4.orig/src/rocksdb/CMakeLists.txt	2018-03-05 19:06:21.016923872 -0800
-+++ ceph-12.2.4/src/rocksdb/CMakeLists.txt	2018-03-05 19:09:01.798721666 -0800
-@@ -147,7 +147,7 @@
-   endif()
-   set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11")
-   if(NOT CMAKE_BUILD_TYPE STREQUAL "Debug")
--    set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -O2 -fno-omit-frame-pointer")
-+    set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fno-omit-frame-pointer")
-     include(CheckCXXCompilerFlag)
-     CHECK_CXX_COMPILER_FLAG("-momit-leaf-frame-pointer" HAVE_OMIT_LEAF_FRAME_POINTER)
-     if(HAVE_OMIT_LEAF_FRAME_POINTER)

diff --git a/sys-cluster/ceph/files/ceph-12.2.5-no-werror.patch b/sys-cluster/ceph/files/ceph-12.2.5-no-werror.patch
deleted file mode 100644
index dd24e7819fe..00000000000
--- a/sys-cluster/ceph/files/ceph-12.2.5-no-werror.patch
+++ /dev/null
@@ -1,55 +0,0 @@
-diff -ur ceph-12.2.5.orig/src/rapidjson/CMakeLists.txt ceph-12.2.5/src/rapidjson/CMakeLists.txt
---- ceph-12.2.5.orig/src/rapidjson/CMakeLists.txt	2018-07-09 11:18:09.188115751 -0700
-+++ ceph-12.2.5/src/rapidjson/CMakeLists.txt	2018-07-09 11:36:56.848639110 -0700
-@@ -50,7 +50,7 @@
- endif(CCACHE_FOUND)
- 
- if ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "GNU")
--    set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -march=native -Wall -Wextra -Werror")
-+    set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -march=native -Wall -Wextra")
-     if (RAPIDJSON_BUILD_CXX11)
-         if (CMAKE_CXX_COMPILER_VERSION VERSION_LESS "4.7.0")
-             set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++0x")
-@@ -73,7 +73,7 @@
-         endif()
-     endif()
- elseif (CMAKE_CXX_COMPILER_ID MATCHES "Clang")
--    set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -march=native -Wall -Wextra -Werror -Wno-missing-field-initializers")
-+    set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -march=native -Wall -Wextra -Wno-missing-field-initializers")
-     if (RAPIDJSON_BUILD_CXX11)
-         set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11")
-     endif()
-diff -ur ceph-12.2.5.orig/src/rocksdb/CMakeLists.txt ceph-12.2.5/src/rocksdb/CMakeLists.txt
---- ceph-12.2.5.orig/src/rocksdb/CMakeLists.txt	2018-07-09 11:18:09.219115543 -0700
-+++ ceph-12.2.5/src/rocksdb/CMakeLists.txt	2018-07-09 11:34:58.843411195 -0700
-@@ -174,15 +174,6 @@
-   PROPERTIES COMPILE_FLAGS "-msse4.2")
- endif()
- 
--option(FAIL_ON_WARNINGS "Treat compile warnings as errors" ON)
--if(FAIL_ON_WARNINGS)
--  if(MSVC)
--    set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /WX")
--  else() # assume GCC
--    set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Werror")
--  endif()
--endif()
--
- option(WITH_ASAN "build with ASAN" OFF)
- if(WITH_ASAN)
-   add_definitions(-DROCKSDB_TSAN_RUN)
-diff -ur ceph-12.2.5.orig/src/rocksdb/Makefile ceph-12.2.5/src/rocksdb/Makefile
---- ceph-12.2.5.orig/src/rocksdb/Makefile	2018-03-11 18:58:51.000000000 -0700
-+++ ceph-12.2.5/src/rocksdb/Makefile	2018-07-09 11:35:53.847049123 -0700
-@@ -243,11 +243,6 @@
- WARNING_FLAGS = -W -Wextra -Wall -Wsign-compare -Wshadow \
-   -Wno-unused-parameter
- 
--ifndef DISABLE_WARNING_AS_ERROR
--	WARNING_FLAGS += -Werror
--endif
--
--
- ifdef LUA_PATH
- 
- ifndef LUA_INCLUDE

diff --git a/sys-cluster/ceph/metadata.xml b/sys-cluster/ceph/metadata.xml
index b29a383d9b5..141b26fdddb 100644
--- a/sys-cluster/ceph/metadata.xml
+++ b/sys-cluster/ceph/metadata.xml
@@ -27,7 +27,6 @@
     <flag name="kafka">Rados Gateway's pubsub support for Kafka push endpoint</flag>
     <flag name="lttng">Add support for LTTng</flag>
     <flag name="mgr">Build the ceph-mgr daemon</flag>
-    <flag name="nss">Use <pkg>dev-libs/nss</pkg> for cryptography</flag>
     <flag name="numa">Use <pkg>sys-process/numactl</pkg> for numa support in rocksdb</flag>
     <flag name="openssl">Use <pkg>dev-libs/openssl</pkg></flag>
     <flag name="pmdk">Enable PMDK libraries</flag>


^ permalink raw reply related	[flat|nested] 68+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-cluster/ceph/, sys-cluster/ceph/files/
@ 2020-09-25  0:53 Patrick McLean
  0 siblings, 0 replies; 68+ messages in thread
From: Patrick McLean @ 2020-09-25  0:53 UTC (permalink / raw
  To: gentoo-commits

commit:     fe81ebff670ff16591084df5d04184b6912f40bf
Author:     Patrick McLean <patrick.mclean <AT> sony <DOT> com>
AuthorDate: Fri Sep 25 00:53:15 2020 +0000
Commit:     Patrick McLean <chutzpah <AT> gentoo <DOT> org>
CommitDate: Fri Sep 25 00:53:30 2020 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=fe81ebff

sys-cluster/ceph: Revbumps, fix for systemd units (bug #604328)

Closes: https://bugs.gentoo.org/604328
Copyright: Sony Interactive Entertainment Inc.
Package-Manager: Portage-3.0.8, Repoman-3.0.1
Signed-off-by: Patrick McLean <chutzpah <AT> gentoo.org>

 .../{ceph-15.2.5.ebuild => ceph-14.2.11-r1.ebuild} | 30 ++++++++++------------
 .../{ceph-15.2.5.ebuild => ceph-15.2.5-r1.ebuild}  |  2 ++
 .../ceph/files/ceph-14.2.11-systemd-unit-fix.patch | 27 +++++++++++++++++++
 .../ceph/files/ceph-15.2.5-systemd-unit-fix.patch  | 27 +++++++++++++++++++
 4 files changed, 69 insertions(+), 17 deletions(-)

diff --git a/sys-cluster/ceph/ceph-15.2.5.ebuild b/sys-cluster/ceph/ceph-14.2.11-r1.ebuild
similarity index 93%
copy from sys-cluster/ceph/ceph-15.2.5.ebuild
copy to sys-cluster/ceph/ceph-14.2.11-r1.ebuild
index 942ffd88e77..35c24e6a41d 100644
--- a/sys-cluster/ceph/ceph-15.2.5.ebuild
+++ b/sys-cluster/ceph/ceph-14.2.11-r1.ebuild
@@ -3,6 +3,7 @@
 
 EAPI=7
 PYTHON_COMPAT=( python3_{6,7,8} )
+DISTUTILS_USE_SETUPTOOLS=rdepend
 CMAKE_MAKEFILE_GENERATOR=emake
 
 DISTUTILS_OPTIONAL=1
@@ -16,7 +17,7 @@ if [[ ${PV} == *9999* ]]; then
 	SRC_URI=""
 else
 	SRC_URI="https://download.ceph.com/tarballs/${P}.tar.gz"
-	KEYWORDS="~amd64 ~arm64 ~ppc64"
+	KEYWORDS="~amd64 ~ppc64"
 fi
 
 DESCRIPTION="Ceph distributed filesystem"
@@ -28,8 +29,8 @@ SLOT="0"
 CPU_FLAGS_X86=(sse{,2,3,4_1,4_2} ssse3)
 
 IUSE="babeltrace +cephfs custom-cflags diskprediction dpdk fuse grafana jemalloc
-	kafka kerberos ldap libressl lttng +mgr numa +openssl pmdk rabbitmq +radosgw
-	rbd-rwl +ssl spdk system-boost systemd +tcmalloc test uring xfs zfs"
+	kafka kerberos ldap libressl lttng +mgr numa +openssl rabbitmq +radosgw +ssl
+	spdk system-boost systemd +tcmalloc test xfs zfs"
 IUSE+=" $(printf "cpu_flags_x86_%s\n" ${CPU_FLAGS_X86[@]})"
 
 DEPEND="
@@ -45,7 +46,6 @@ DEPEND="
 	dev-libs/crypto++:=
 	dev-libs/leveldb:=[snappy,tcmalloc(-)?]
 	dev-libs/libaio:=
-	dev-libs/libfmt:=
 	dev-libs/libnl:3=
 	dev-libs/libxml2:=
 	dev-libs/xmlsec:=[!openssl?,!libressl?]
@@ -92,7 +92,6 @@ DEPEND="
 		libressl? ( dev-libs/libressl:= )
 	)
 	system-boost? ( =dev-libs/boost-1.72*[threads,context,python,${PYTHON_USEDEP}] )
-	uring? ( sys-libs/liburing:= )
 	xfs? ( sys-fs/xfsprogs:= )
 	zfs? ( sys-fs/zfs:= )
 	${PYTHON_DEPS}
@@ -128,7 +127,6 @@ RDEPEND="${DEPEND}
 	app-admin/sudo
 	net-misc/socat
 	sys-apps/gptfdisk
-	sys-apps/nvme-cli
 	>=sys-apps/smartmontools-7.0
 	sys-block/parted
 	sys-fs/cryptsetup
@@ -137,7 +135,6 @@ RDEPEND="${DEPEND}
 	virtual/awk
 	dev-python/bcrypt[${PYTHON_USEDEP}]
 	dev-python/cherrypy[${PYTHON_USEDEP}]
-	dev-python/python-dateutil[${PYTHON_USEDEP}]
 	dev-python/flask[${PYTHON_USEDEP}]
 	dev-python/jinja[${PYTHON_USEDEP}]
 	dev-python/pecan[${PYTHON_USEDEP}]
@@ -146,7 +143,6 @@ RDEPEND="${DEPEND}
 	dev-python/requests[${PYTHON_USEDEP}]
 	dev-python/werkzeug[${PYTHON_USEDEP}]
 	mgr? (
-		dev-python/jsonpatch[${PYTHON_USEDEP}]
 		dev-python/more-itertools[${PYTHON_USEDEP}]
 		dev-python/numpy[${PYTHON_USEDEP}]
 		dev-python/pyjwt[${PYTHON_USEDEP}]
@@ -189,16 +185,19 @@ PATCHES=(
 	"${FILESDIR}/ceph-14.2.0-cflags.patch"
 	"${FILESDIR}/ceph-12.2.4-boost-build-none-options.patch"
 	"${FILESDIR}/ceph-13.2.0-cflags.patch"
-	"${FILESDIR}/ceph-15.2.0-no-virtualenvs.patch"
+	"${FILESDIR}/ceph-14.2.0-mgr-python-version.patch"
+	"${FILESDIR}/ceph-14.2.5-no-virtualenvs.patch"
 	"${FILESDIR}/ceph-13.2.2-dont-install-sysvinit-script.patch"
 	"${FILESDIR}/ceph-14.2.0-dpdk-cflags.patch"
 	"${FILESDIR}/ceph-14.2.0-link-crc32-statically.patch"
 	"${FILESDIR}/ceph-14.2.0-cython-0.29.patch"
-	"${FILESDIR}/ceph-15.2.0-rocksdb-cmake.patch"
-	"${FILESDIR}/ceph-15.2.2-systemd-unit.patch"
-	"${FILESDIR}/ceph-15.2.3-spdk-compile.patch"
-	"${FILESDIR}/ceph-15.2.4-system-uring.patch"
-	"${FILESDIR}/ceph-15.2.5-missing-includes.patch"
+	"${FILESDIR}/ceph-14.2.3-dpdk-compile-fix-1.patch"
+	"${FILESDIR}/ceph-14.2.4-python-executable.patch"
+	"${FILESDIR}/ceph-14.2.4-undefined-behaviour.patch"
+	"${FILESDIR}/ceph-14.2.10-missing-includes.patch"
+	"${FILESDIR}/ceph-14.2.10-python-warnings.patch"
+	"${FILESDIR}/ceph-14.2.10-build-without-mgr.patch"
+	"${FILESDIR}/ceph-14.2.11-systemd-unit-fix.patch"
 )
 
 check-reqs_export_vars() {
@@ -245,7 +244,6 @@ ceph_src_configure() {
 	local flag
 	local mycmakeargs=(
 		-DWITH_BABELTRACE=$(usex babeltrace)
-		-DWITH_BLUESTORE_PMEM=$(usex pmdk)
 		-DWITH_CEPHFS=$(usex cephfs)
 		-DWITH_CEPHFS_SHELL=$(usex cephfs)
 		-DWITH_DPDK=$(usex dpdk)
@@ -262,11 +260,9 @@ ceph_src_configure() {
 		-DWITH_RADOSGW=$(usex radosgw)
 		-DWITH_RADOSGW_AMQP_ENDPOINT=$(usex rabbitmq)
 		-DWITH_RADOSGW_KAFKA_ENDPOINT=$(usex kafka)
-		-DWITH_RBD_RWL=$(usex rbd-rwl)
 		-DWITH_SSL=$(usex ssl)
 		-DWITH_SYSTEMD=$(usex systemd)
 		-DWITH_TESTS=$(usex test)
-		-DWITH_LIBURING=$(usex uring)
 		-DWITH_XFS=$(usex xfs)
 		-DWITH_ZFS=$(usex zfs)
 		-DENABLE_SHARED="ON"

diff --git a/sys-cluster/ceph/ceph-15.2.5.ebuild b/sys-cluster/ceph/ceph-15.2.5-r1.ebuild
similarity index 99%
rename from sys-cluster/ceph/ceph-15.2.5.ebuild
rename to sys-cluster/ceph/ceph-15.2.5-r1.ebuild
index 942ffd88e77..e86923bb252 100644
--- a/sys-cluster/ceph/ceph-15.2.5.ebuild
+++ b/sys-cluster/ceph/ceph-15.2.5-r1.ebuild
@@ -3,6 +3,7 @@
 
 EAPI=7
 PYTHON_COMPAT=( python3_{6,7,8} )
+DISTUTILS_USE_SETUPTOOLS=rdepend
 CMAKE_MAKEFILE_GENERATOR=emake
 
 DISTUTILS_OPTIONAL=1
@@ -199,6 +200,7 @@ PATCHES=(
 	"${FILESDIR}/ceph-15.2.3-spdk-compile.patch"
 	"${FILESDIR}/ceph-15.2.4-system-uring.patch"
 	"${FILESDIR}/ceph-15.2.5-missing-includes.patch"
+	"${FILESDIR}/ceph-15.2.5-systemd-unit-fix.patch"
 )
 
 check-reqs_export_vars() {

diff --git a/sys-cluster/ceph/files/ceph-14.2.11-systemd-unit-fix.patch b/sys-cluster/ceph/files/ceph-14.2.11-systemd-unit-fix.patch
new file mode 100644
index 00000000000..7309fea029e
--- /dev/null
+++ b/sys-cluster/ceph/files/ceph-14.2.11-systemd-unit-fix.patch
@@ -0,0 +1,27 @@
+From bd8b8540f6b67a25585ca9cf140d6de760bc2a43 Mon Sep 17 00:00:00 2001
+From: Jan Fajerski <jfajerski@suse.com>
+Date: Fri, 12 Jun 2020 09:27:36 +0200
+Subject: [PATCH] systemd/ceph-osd: ceph-osd-prestart.sh now lives in
+ /usr/libexec
+
+Fixes: https://tracker.ceph.com/issues/45984
+Fixes: ed6552d5067c9f1d34c426f9ae18b0c37f2a9d29
+
+Signed-off-by: Jan Fajerski <jfajerski@suse.com>
+---
+ systemd/ceph-osd@.service.in | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/systemd/ceph-osd@.service.in b/systemd/ceph-osd@.service.in
+index a0067d347220..4a2254e99478 100644
+--- a/systemd/ceph-osd@.service.in
++++ b/systemd/ceph-osd@.service.in
+@@ -9,7 +9,7 @@ Environment=CLUSTER=ceph
+ EnvironmentFile=-@SYSTEMD_ENV_FILE@
+ Environment=CLUSTER=ceph
+ ExecStart=/usr/bin/ceph-osd -f --cluster ${CLUSTER} --id %i --setuser ceph --setgroup ceph
+-ExecStartPre=/usr/lib/ceph/ceph-osd-prestart.sh --cluster ${CLUSTER} --id %i
++ExecStartPre=@CMAKE_INSTALL_FULL_LIBEXECDIR@/ceph/ceph-osd-prestart.sh --cluster ${CLUSTER} --id %i
+ ExecReload=/bin/kill -HUP $MAINPID
+ LockPersonality=true
+ MemoryDenyWriteExecute=true

diff --git a/sys-cluster/ceph/files/ceph-15.2.5-systemd-unit-fix.patch b/sys-cluster/ceph/files/ceph-15.2.5-systemd-unit-fix.patch
new file mode 100644
index 00000000000..a127ada181f
--- /dev/null
+++ b/sys-cluster/ceph/files/ceph-15.2.5-systemd-unit-fix.patch
@@ -0,0 +1,27 @@
+From bd8b8540f6b67a25585ca9cf140d6de760bc2a43 Mon Sep 17 00:00:00 2001
+From: Jan Fajerski <jfajerski@suse.com>
+Date: Fri, 12 Jun 2020 09:27:36 +0200
+Subject: [PATCH] systemd/ceph-osd: ceph-osd-prestart.sh now lives in
+ /usr/libexec
+
+Fixes: https://tracker.ceph.com/issues/45984
+Fixes: ed6552d5067c9f1d34c426f9ae18b0c37f2a9d29
+
+Signed-off-by: Jan Fajerski <jfajerski@suse.com>
+---
+ systemd/ceph-osd@.service.in | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/systemd/ceph-osd@.service.in b/systemd/ceph-osd@.service.in
+index a0067d347220..4a2254e99478 100644
+--- a/systemd/ceph-osd@.service.in
++++ b/systemd/ceph-osd@.service.in
+@@ -9,7 +9,7 @@ Environment=CLUSTER=ceph
+ EnvironmentFile=-@SYSTEMD_ENV_FILE@
+ Environment=CLUSTER=ceph
+ ExecStart=/usr/bin/ceph-osd -f --cluster ${CLUSTER} --id %i --setuser ceph --setgroup ceph
+-ExecStartPre=/usr/libexec/ceph/ceph-osd-prestart.sh --cluster ${CLUSTER} --id %i
++ExecStartPre=@CMAKE_INSTALL_FULL_LIBEXECDIR@/ceph/ceph-osd-prestart.sh --cluster ${CLUSTER} --id %i
+ ExecReload=/bin/kill -HUP $MAINPID
+ LockPersonality=true
+ MemoryDenyWriteExecute=true


^ permalink raw reply related	[flat|nested] 68+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-cluster/ceph/, sys-cluster/ceph/files/
@ 2020-09-16 23:52 Patrick McLean
  0 siblings, 0 replies; 68+ messages in thread
From: Patrick McLean @ 2020-09-16 23:52 UTC (permalink / raw
  To: gentoo-commits

commit:     41a7f968034751ec631c565f33358422ade80f2e
Author:     Patrick McLean <patrick.mclean <AT> sony <DOT> com>
AuthorDate: Wed Sep 16 23:47:17 2020 +0000
Commit:     Patrick McLean <chutzpah <AT> gentoo <DOT> org>
CommitDate: Wed Sep 16 23:52:41 2020 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=41a7f968

sys-cluster/ceph-15.2.5: Version bump

Copyright: Sony Interactive Entertainment Inc.
Package-Manager: Portage-3.0.7, Repoman-3.0.1
Signed-off-by: Patrick McLean <chutzpah <AT> gentoo.org>

 sys-cluster/ceph/Manifest                          |   1 +
 sys-cluster/ceph/ceph-15.2.5.ebuild                | 405 +++++++++++++++++++++
 .../ceph/files/ceph-15.2.5-missing-includes.patch  |  12 +
 3 files changed, 418 insertions(+)

diff --git a/sys-cluster/ceph/Manifest b/sys-cluster/ceph/Manifest
index f4b36595d39..450e1c1f19b 100644
--- a/sys-cluster/ceph/Manifest
+++ b/sys-cluster/ceph/Manifest
@@ -3,3 +3,4 @@ DIST ceph-14.2.10.tar.gz 129274835 BLAKE2B b3f14897db478418b982281bf367a0c497cdf
 DIST ceph-14.2.11.tar.gz 129327263 BLAKE2B fb04f3fde6642905dd21836c7472cf3b6cb484f69367ecf01b7d427c757e0fd1db4bd483bf9b0e485e1f8924a8e9201e8d47713a1de9281d5d96e45939bd1078 SHA512 765e8982d457cfd900acddc8f82c23824b32dc6d925d45e7693cba48c06fab798b6d57991dc9ad18a9ace9aff6fb2b917bd97f2d6435a7caceb03c9733e9602a
 DIST ceph-14.2.9.tar.gz 128419205 BLAKE2B bace7469d9066a3da7320a0eb894013fae5b7139c15679dddae7df28c593a1029956234a1ba0d3bbdf1639e3a975aa776c695efefb915113a16099c80d563675 SHA512 0a26372d0037c32fe1d24be880e272fcce5089b02adfb0e791e0406155f6e66c913fa43762028f49c1fa3f30c6c8d819c521dd11702a37cc7040dfd3097c068e
 DIST ceph-15.2.4.tar.gz 148011928 BLAKE2B c0222725227cf922ed10bb19840b8cbfe0c0b8ae77a4f83f03a95c3fc198165740f7a1dee5e1983e9403634ce389c858e71ed3f2731202630e19961a5de0247a SHA512 94e9b4c87d9f27dbfc9961b853f2cf159d65b614bf50ac3dabad9d801a181c547550ab4bca1f48c7a6e11aa6188e5858b110a9023dc214a043ed5ba375b3dee2
+DIST ceph-15.2.5.tar.gz 149219528 BLAKE2B 8f2cea9a258b7c530bff72a46d45fabf5364cf919f098c7d77857afa0dfdbcd7c290aa5a0d88cce1d99923588cc303d27c0b85179378ff1c394d9ce0f135a1b1 SHA512 55de068886c48293e92ef95cf8343ae44825fd2bf9c3fa7d47cda92907a47bae79e0af730cd34d0155b0777901d0fd6f9d1f30537c66c54c95098df7368fca2e

diff --git a/sys-cluster/ceph/ceph-15.2.5.ebuild b/sys-cluster/ceph/ceph-15.2.5.ebuild
new file mode 100644
index 00000000000..5368ad7d8d0
--- /dev/null
+++ b/sys-cluster/ceph/ceph-15.2.5.ebuild
@@ -0,0 +1,405 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+PYTHON_COMPAT=( python3_{6,7,8} )
+CMAKE_MAKEFILE_GENERATOR=emake
+
+DISTUTILS_OPTIONAL=1
+
+inherit check-reqs bash-completion-r1 cmake distutils-r1 flag-o-matic \
+		python-r1 udev readme.gentoo-r1 toolchain-funcs systemd tmpfiles
+
+if [[ ${PV} == *9999* ]]; then
+	inherit git-r3
+	EGIT_REPO_URI="https://github.com/ceph/ceph.git"
+	SRC_URI=""
+else
+	SRC_URI="https://download.ceph.com/tarballs/${P}.tar.gz"
+	KEYWORDS="~amd64 ~arm64 ~ppc64"
+fi
+
+DESCRIPTION="Ceph distributed filesystem"
+HOMEPAGE="https://ceph.com/"
+
+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"
+SLOT="0"
+
+CPU_FLAGS_X86=(sse{,2,3,4_1,4_2} ssse3)
+
+IUSE="babeltrace +cephfs custom-cflags diskprediction dpdk fuse grafana jemalloc
+	kafka kerberos ldap libressl lttng +mgr numa +openssl pmdk rabbitmq +radosgw
+	rbd-rwl +ssl spdk system-boost systemd +tcmalloc test uring xfs zfs"
+IUSE+=" $(printf "cpu_flags_x86_%s\n" ${CPU_FLAGS_X86[@]})"
+
+DEPEND="
+	acct-group/ceph
+	acct-user/ceph
+	virtual/libudev:=
+	app-arch/bzip2:=
+	app-arch/lz4:=
+	app-arch/snappy:=
+	app-arch/zstd:=
+	app-shells/bash:0
+	app-misc/jq:=
+	dev-libs/crypto++:=
+	dev-libs/leveldb:=[snappy,tcmalloc(-)?]
+	dev-libs/libaio:=
+	dev-libs/libfmt:=
+	dev-libs/libnl:3=
+	dev-libs/libxml2:=
+	dev-libs/xmlsec:=[!openssl?,!libressl?]
+	dev-cpp/yaml-cpp:=
+	dev-libs/nss:=
+	dev-libs/protobuf:=
+	net-dns/c-ares:=
+	net-libs/gnutls:=
+	sys-auth/oath-toolkit:=
+	sys-apps/coreutils
+	sys-apps/grep
+	sys-apps/hwloc:=
+	sys-apps/keyutils:=
+	sys-apps/util-linux:=
+	sys-apps/sed
+	sys-apps/util-linux
+	sys-libs/libcap-ng:=
+	sys-libs/ncurses:0=
+	sys-libs/zlib:=
+	sys-process/numactl:=
+	x11-libs/libpciaccess:=
+	babeltrace? ( dev-util/babeltrace )
+	fuse? ( sys-fs/fuse:0= )
+	jemalloc? ( dev-libs/jemalloc:= )
+	!jemalloc? ( >=dev-util/google-perftools-2.6.1:= )
+	kafka? ( dev-libs/librdkafka:= )
+	kerberos? ( virtual/krb5 )
+	ldap? ( net-nds/openldap:= )
+	lttng? ( dev-util/lttng-ust:= )
+	rabbitmq? ( net-libs/rabbitmq-c:= )
+	radosgw? (
+		dev-libs/expat:=
+		openssl? (
+			dev-libs/openssl:=
+			net-misc/curl:=[curl_ssl_openssl]
+		)
+		libressl? (
+			dev-libs/libressl:=
+			net-misc/curl:=[curl_ssl_libressl]
+		)
+	)
+	ssl? (
+		openssl? ( dev-libs/openssl:= )
+		libressl? ( dev-libs/libressl:= )
+	)
+	system-boost? ( =dev-libs/boost-1.72*[threads,context,python,${PYTHON_USEDEP}] )
+	uring? ( sys-libs/liburing:= )
+	xfs? ( sys-fs/xfsprogs:= )
+	zfs? ( sys-fs/zfs:= )
+	${PYTHON_DEPS}
+"
+BDEPEND="
+	amd64? ( dev-lang/yasm )
+	x86? ( dev-lang/yasm )
+	app-arch/cpio
+	>=dev-util/cmake-3.5.0
+	dev-python/cython[${PYTHON_USEDEP}]
+	dev-python/sphinx
+	dev-util/cunit
+	dev-util/gperf
+	dev-util/ragel
+	dev-util/valgrind
+	sys-apps/coreutils
+	sys-apps/findutils
+	sys-apps/grep
+	sys-apps/sed
+	sys-apps/which
+	sys-devel/bc
+	sys-devel/patch
+	virtual/pkgconfig
+	test? (
+		dev-python/coverage[${PYTHON_USEDEP}]
+		dev-python/virtualenv[${PYTHON_USEDEP}]
+		dev-python/requests-mock[${PYTHON_USEDEP}]
+		sys-apps/grep[pcre]
+		sys-fs/btrfs-progs
+	)
+"
+RDEPEND="${DEPEND}
+	app-admin/sudo
+	net-misc/socat
+	sys-apps/gptfdisk
+	sys-apps/nvme-cli
+	>=sys-apps/smartmontools-7.0
+	sys-block/parted
+	sys-fs/cryptsetup
+	sys-fs/lsscsi
+	sys-fs/lvm2[-device-mapper-only(-)]
+	virtual/awk
+	dev-python/bcrypt[${PYTHON_USEDEP}]
+	dev-python/cherrypy[${PYTHON_USEDEP}]
+	dev-python/python-dateutil[${PYTHON_USEDEP}]
+	dev-python/flask[${PYTHON_USEDEP}]
+	dev-python/jinja[${PYTHON_USEDEP}]
+	dev-python/pecan[${PYTHON_USEDEP}]
+	dev-python/prettytable[${PYTHON_USEDEP}]
+	dev-python/pyopenssl[${PYTHON_USEDEP}]
+	dev-python/requests[${PYTHON_USEDEP}]
+	dev-python/werkzeug[${PYTHON_USEDEP}]
+	mgr? (
+		dev-python/jsonpatch[${PYTHON_USEDEP}]
+		dev-python/more-itertools[${PYTHON_USEDEP}]
+		dev-python/numpy[${PYTHON_USEDEP}]
+		dev-python/pyjwt[${PYTHON_USEDEP}]
+		dev-python/pyyaml[${PYTHON_USEDEP}]
+		dev-python/routes[${PYTHON_USEDEP}]
+		diskprediction? (
+			$(python_gen_cond_dep '<sci-libs/scipy-1.4.0[${PYTHON_USEDEP}]' python3_{6,7})
+		)
+		sci-libs/scikits_learn[${PYTHON_USEDEP}]
+		dev-python/six[${PYTHON_USEDEP}]
+	)
+"
+# diskprediction needs older scipy not compatible with py38
+# bug #724438
+REQUIRED_USE="
+	${PYTHON_REQUIRED_USE}
+	?? ( jemalloc tcmalloc )
+	^^ ( openssl libressl )
+	diskprediction? ( mgr !python_targets_python3_8 )
+	kafka? ( radosgw )
+	mgr? ( cephfs )
+	rabbitmq? ( radosgw )
+"
+RESTRICT="!test? ( test )"
+
+# the tests need root access
+RESTRICT="test? ( userpriv )"
+
+# distribution tarball does not include everything needed for tests
+RESTRICT+=" test"
+
+# create a non-debug release
+CMAKE_BUILD_TYPE=RelWithDebInfo
+
+# false positives unless all USE flags are on
+CMAKE_WARN_UNUSED_CLI=no
+
+PATCHES=(
+	"${FILESDIR}/ceph-12.2.0-use-provided-cpu-flag-values.patch"
+	"${FILESDIR}/ceph-14.2.0-cflags.patch"
+	"${FILESDIR}/ceph-12.2.4-boost-build-none-options.patch"
+	"${FILESDIR}/ceph-13.2.0-cflags.patch"
+	"${FILESDIR}/ceph-15.2.0-no-virtualenvs.patch"
+	"${FILESDIR}/ceph-13.2.2-dont-install-sysvinit-script.patch"
+	"${FILESDIR}/ceph-14.2.0-dpdk-cflags.patch"
+	"${FILESDIR}/ceph-14.2.0-link-crc32-statically.patch"
+	"${FILESDIR}/ceph-14.2.0-cython-0.29.patch"
+	"${FILESDIR}/ceph-15.2.0-rocksdb-cmake.patch"
+	"${FILESDIR}/ceph-15.2.2-systemd-unit.patch"
+	"${FILESDIR}/ceph-15.2.3-spdk-compile.patch"
+	"${FILESDIR}/ceph-15.2.4-system-uring.patch"
+	"${FILESDIR}/ceph-15.2.5-missing-includes.patch"
+)
+
+check-reqs_export_vars() {
+	CHECKREQS_DISK_BUILD="5200M"
+	CHECKREQS_DISK_USR="510M"
+
+	export CHECKREQS_DISK_BUILD CHECKREQS_DISK_USR
+}
+
+pkg_pretend() {
+	check-reqs_export_vars
+	check-reqs_pkg_pretend
+}
+
+pkg_setup() {
+	python_setup
+	check-reqs_export_vars
+	check-reqs_pkg_setup
+}
+
+src_prepare() {
+	cmake_src_prepare
+
+	if use system-boost; then
+		find "${S}" -name '*.cmake' -or -name 'CMakeLists.txt' -print0 \
+			| xargs --null sed -r \
+			-e 's|Boost::|boost_|g' \
+			-e 's|Boost_|boost_|g' \
+			-e 's|[Bb]oost_boost|boost_system|g' -i || die
+	fi
+
+	sed -i -r "s:DESTINATION .+\\):DESTINATION $(get_bashcompdir)\\):" \
+		src/bash_completion/CMakeLists.txt || die
+
+	if ! use diskprediction; then
+		rm -rf src/pybind/mgr/diskprediction_local || die
+	fi
+
+	# remove tests that need root access
+	rm src/test/cli/ceph-authtool/cap*.t || die
+}
+
+ceph_src_configure() {
+	local flag
+	local mycmakeargs=(
+		-DWITH_BABELTRACE=$(usex babeltrace)
+		-DWITH_BLUESTORE_PMEM=$(usex pmdk)
+		-DWITH_CEPHFS=$(usex cephfs)
+		-DWITH_CEPHFS_SHELL=$(usex cephfs)
+		-DWITH_DPDK=$(usex dpdk)
+		-DWITH_SPDK=$(usex spdk)
+		-DWITH_FUSE=$(usex fuse)
+		-DWITH_LTTNG=$(usex lttng)
+		-DWITH_GSSAPI=$(usex kerberos)
+		-DWITH_GRAFANA=$(usex grafana)
+		-DWITH_MGR=$(usex mgr)
+		-DWITH_MGR_DASHBOARD_FRONTEND=OFF
+		-DWITH_NUMA=$(usex numa)
+		-DWITH_OPENLDAP=$(usex ldap)
+		-DWITH_PYTHON3=3
+		-DWITH_RADOSGW=$(usex radosgw)
+		-DWITH_RADOSGW_AMQP_ENDPOINT=$(usex rabbitmq)
+		-DWITH_RADOSGW_KAFKA_ENDPOINT=$(usex kafka)
+		-DWITH_RBD_RWL=$(usex rbd-rwl)
+		-DWITH_SSL=$(usex ssl)
+		-DWITH_SYSTEMD=$(usex systemd)
+		-DWITH_TESTS=$(usex test)
+		-DWITH_LIBURING=$(usex uring)
+		-DWITH_XFS=$(usex xfs)
+		-DWITH_ZFS=$(usex zfs)
+		-DENABLE_SHARED="ON"
+		-DALLOCATOR=$(usex tcmalloc 'tcmalloc' "$(usex jemalloc 'jemalloc' 'libc')")
+		-DWITH_SYSTEM_BOOST=$(usex system-boost)
+		-DBOOST_J=$(makeopts_jobs)
+		-DWITH_RDMA=OFF
+		-DWITH_TBB=OFF
+		-DSYSTEMD_UNITDIR=$(systemd_get_systemunitdir)
+		-DCMAKE_INSTALL_SYSTEMD_SERVICEDIR=$(systemd_get_systemunitdir)
+		-DEPYTHON_VERSION="${EPYTHON#python}"
+		-DCMAKE_INSTALL_DOCDIR="${EPREFIX}/usr/share/doc/${PN}-${PVR}"
+		-DCMAKE_INSTALL_SYSCONFDIR="${EPREFIX}/etc"
+		-Wno-dev
+	)
+	if use amd64 || use x86; then
+		for flag in ${CPU_FLAGS_X86[@]}; do
+			mycmakeargs+=("$(usex cpu_flags_x86_${flag} "-DHAVE_INTEL_${flag^^}=1")")
+		done
+	fi
+
+	# needed for >=glibc-2.32
+	has_version '>=sys-libs/glibc-2.32' && mycmakeargs+=(-DWITH_REENTRANT_STRSIGNAL:BOOL=ON)
+
+	rm -f "${BUILD_DIR:-${S}}/CMakeCache.txt" \
+		|| die "failed to remove cmake cache"
+
+	cmake_src_configure
+
+	# bug #630232
+	sed -i "s:\"${T//:\\:}/${EPYTHON}/bin/python\":\"${PYTHON}\":" \
+		"${BUILD_DIR:-${S}}"/include/acconfig.h \
+		|| die "sed failed"
+}
+
+src_configure() {
+	use custom-cflags || strip-flags
+	ceph_src_configure
+}
+
+python_compile() {
+	local CMAKE_USE_DIR="${S}"
+	ceph_src_configure
+
+	pushd "${BUILD_DIR}/src/pybind" >/dev/null || die
+	emake VERBOSE=1 clean
+	emake VERBOSE=1 all
+
+	# python modules are only compiled with "make install" so we need to do this to
+	# prevent doing a bunch of compilation in src_install
+	DESTDIR="${T}" emake VERBOSE=1 install
+	popd >/dev/null || die
+}
+
+src_compile() {
+	cmake_build VERBOSE=1 all
+
+	# we have to do this here to prevent from building everything multiple times
+	python_copy_sources
+	python_foreach_impl python_compile
+}
+
+src_test() {
+	make check || die "make check failed"
+}
+
+python_install() {
+	local CMAKE_USE_DIR="${S}"
+	pushd "${BUILD_DIR}/src/pybind" >/dev/null || die
+	DESTDIR="${ED}" emake VERBOSE=1 install
+	popd >/dev/null || die
+
+	python_optimize
+}
+
+src_install() {
+	cmake_src_install
+	python_foreach_impl python_install
+
+	find "${ED}" -name '*.la' -type f -delete || die
+
+	exeinto /usr/$(get_libdir)/ceph
+	newexe "${BUILD_DIR}/bin/init-ceph" init-ceph
+
+	insinto /etc/logrotate.d/
+	newins "${FILESDIR}"/ceph.logrotate-r2 ${PN}
+
+	keepdir /var/lib/${PN}{,/tmp} /var/log/${PN}/stat
+
+	fowners -R ceph:ceph /var/log/ceph
+
+	newinitd "${FILESDIR}/rbdmap.initd" rbdmap
+	newinitd "${FILESDIR}/${PN}.initd-r12" ${PN}
+	newconfd "${FILESDIR}/${PN}.confd-r5" ${PN}
+
+	insinto /etc/sysctl.d
+	newins "${FILESDIR}"/sysctld 90-${PN}.conf
+
+	use tcmalloc && newenvd "${FILESDIR}"/envd-tcmalloc 99${PN}-tcmalloc
+
+	# units aren't installed by the build system unless systemd is enabled
+	# so no point installing these with the USE flag disabled
+	if use systemd; then
+		systemd_install_serviced "${FILESDIR}/ceph-mds_at.service.conf" \
+			"ceph-mds@.service"
+
+		systemd_install_serviced "${FILESDIR}/ceph-osd_at.service.conf" \
+			"ceph-osd@.service"
+
+	fi
+
+	udev_dorules udev/*.rules
+	newtmpfiles "${FILESDIR}"/ceph-tmpfilesd ${PN}.conf
+
+	readme.gentoo_create_doc
+
+	python_setup
+
+	# bug #630232
+	sed -i -r "s:${T//:/\\:}/${EPYTHON}:/usr:" "${ED}"/usr/bin/ceph{,-crash} \
+		|| die "sed failed"
+
+	python_fix_shebang "${ED}"/usr/{,s}bin/
+
+	# python_fix_shebang apparently is not idempotent
+	local shebang_regex='(/usr/lib/python-exec/python[0-9]\.[0-9]/python)[0-9]\.[0-9]'
+	grep -r -E -l --null "${shebang_regex}" "${ED}"/usr/{s,}bin/ \
+		| xargs --null --no-run-if-empty -- sed -i -r  "s:${shebang_regex}:\1:" || die
+
+	local -a rados_classes=( "${ED}/usr/$(get_libdir)/rados-classes"/* )
+	dostrip -x "${rados_classes[@]#${ED}}"
+}
+
+pkg_postinst() {
+	readme.gentoo_print_elog
+}

diff --git a/sys-cluster/ceph/files/ceph-15.2.5-missing-includes.patch b/sys-cluster/ceph/files/ceph-15.2.5-missing-includes.patch
new file mode 100644
index 00000000000..5f4ed843ddc
--- /dev/null
+++ b/sys-cluster/ceph/files/ceph-15.2.5-missing-includes.patch
@@ -0,0 +1,12 @@
+diff --git a/src/tools/rbd/action/Bench.cc b/src/tools/rbd/action/Bench.cc
+index aa6edbc18b..90c551c179 100644
+--- a/src/tools/rbd/action/Bench.cc
++++ b/src/tools/rbd/action/Bench.cc
+@@ -9,6 +9,7 @@
+ #include "common/ceph_mutex.h"
+ #include "include/types.h"
+ #include "global/signal_handler.h"
++#include <atomic>
+ #include <iostream>
+ #include <boost/accumulators/accumulators.hpp>
+ #include <boost/accumulators/statistics/stats.hpp>


^ permalink raw reply related	[flat|nested] 68+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-cluster/ceph/, sys-cluster/ceph/files/
@ 2020-08-05  0:16 Patrick McLean
  0 siblings, 0 replies; 68+ messages in thread
From: Patrick McLean @ 2020-08-05  0:16 UTC (permalink / raw
  To: gentoo-commits

commit:     8bd965215b0aec8cb6065c8f39f039529e4e2401
Author:     Patrick McLean <patrick.mclean <AT> sony <DOT> com>
AuthorDate: Wed Aug  5 00:16:17 2020 +0000
Commit:     Patrick McLean <chutzpah <AT> gentoo <DOT> org>
CommitDate: Wed Aug  5 00:16:37 2020 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=8bd96521

sys-cluster/ceph-14.2.10-r3: revbump, fix build with USE=-mgr, fix deps

Copyright: Sony Interactive Entertainment Inc.
Package-Manager: Portage-3.0.1, Repoman-2.3.23
Signed-off-by: Patrick McLean <chutzpah <AT> gentoo.org>

 ...ph-14.2.10-r2.ebuild => ceph-14.2.10-r3.ebuild} |   5 +-
 .../files/ceph-14.2.10-build-without-mgr.patch     | 111 +++++++++++++++++++++
 2 files changed, 114 insertions(+), 2 deletions(-)

diff --git a/sys-cluster/ceph/ceph-14.2.10-r2.ebuild b/sys-cluster/ceph/ceph-14.2.10-r3.ebuild
similarity index 99%
rename from sys-cluster/ceph/ceph-14.2.10-r2.ebuild
rename to sys-cluster/ceph/ceph-14.2.10-r3.ebuild
index ea91f8e8425..9da1e1fe06c 100644
--- a/sys-cluster/ceph/ceph-14.2.10-r2.ebuild
+++ b/sys-cluster/ceph/ceph-14.2.10-r3.ebuild
@@ -32,7 +32,7 @@ IUSE="babeltrace +cephfs custom-cflags diskprediction dpdk fuse grafana jemalloc
 	spdk system-boost systemd +tcmalloc test xfs zfs"
 IUSE+=" $(printf "cpu_flags_x86_%s\n" ${CPU_FLAGS_X86[@]})"
 
-COMMON_DEPEND="
+DEPEND="
 	acct-group/ceph
 	acct-user/ceph
 	virtual/libudev:=
@@ -122,7 +122,7 @@ BDEPEND="
 		sys-fs/btrfs-progs
 	)
 "
-RDEPEND="${COMMON_DEPEND}
+RDEPEND="${DEPEND}
 	app-admin/sudo
 	net-misc/socat
 	sys-apps/gptfdisk
@@ -195,6 +195,7 @@ PATCHES=(
 	"${FILESDIR}/ceph-14.2.4-undefined-behaviour.patch"
 	"${FILESDIR}/ceph-14.2.10-missing-includes.patch"
 	"${FILESDIR}/ceph-14.2.10-python-warnings.patch"
+	"${FILESDIR}/ceph-14.2.10-build-without-mgr.patch"
 )
 
 check-reqs_export_vars() {

diff --git a/sys-cluster/ceph/files/ceph-14.2.10-build-without-mgr.patch b/sys-cluster/ceph/files/ceph-14.2.10-build-without-mgr.patch
new file mode 100644
index 00000000000..0742945c018
--- /dev/null
+++ b/sys-cluster/ceph/files/ceph-14.2.10-build-without-mgr.patch
@@ -0,0 +1,111 @@
+commit 41c1cee88b38bc43002b232ede42dc157364f61a
+Author: Casey Bodley <cbodley@redhat.com>
+Date:   Fri Nov 1 16:04:37 2019 -0400
+
+    cmake: define mgr_cap_obj library when WITH_MGR=OFF
+    
+    resolves the cmake error when WITH_MGR=OFF:
+    
+      Error evaluating generator expression:
+    
+        $<TARGET_OBJECTS:mgr_cap_obj>
+    
+      Objects of target "mgr_cap_obj" referenced but no such target exists.
+    Call Stack (most recent call first):
+      src/mon/CMakeLists.txt:34 (add_library)
+    
+    Signed-off-by: Casey Bodley <cbodley@redhat.com>
+
+diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
+index 275a8ebd17..c2a9d7a669 100644
+--- a/src/CMakeLists.txt
++++ b/src/CMakeLists.txt
+@@ -473,9 +473,7 @@ if(WITH_LIBRADOSSTRIPER)
+   add_subdirectory(libradosstriper)
+ endif()
+ 
+-if(WITH_MGR)
+-  add_subdirectory(mgr)
+-endif()
++add_subdirectory(mgr)
+ 
+ set(librados_config_srcs
+   librados-config.cc)
+diff --git a/src/mgr/CMakeLists.txt b/src/mgr/CMakeLists.txt
+index 79227bcc1d..e69335eb69 100644
+--- a/src/mgr/CMakeLists.txt
++++ b/src/mgr/CMakeLists.txt
+@@ -1,37 +1,39 @@
+ add_library(mgr_cap_obj OBJECT
+   MgrCap.cc)
+ 
+-set(mgr_srcs
+-  ${CMAKE_SOURCE_DIR}/src/ceph_mgr.cc
+-  ${CMAKE_SOURCE_DIR}/src/mon/PGMap.cc
+-  ActivePyModule.cc
+-  ActivePyModules.cc
+-  BaseMgrModule.cc
+-  BaseMgrStandbyModule.cc
+-  ClusterState.cc
+-  DaemonHealthMetricCollector.cc
+-  DaemonServer.cc
+-  DaemonState.cc
+-  Gil.cc
+-  Mgr.cc
+-  MgrStandby.cc
+-  OSDPerfMetricTypes.cc
+-  OSDPerfMetricCollector.cc
+-  PyFormatter.cc
+-  PyModule.cc
+-  PyModuleRegistry.cc
+-  PyModuleRunner.cc
+-  PyOSDMap.cc
+-  StandbyPyModules.cc
+-  mgr_commands.cc
+-  $<TARGET_OBJECTS:mgr_cap_obj>)
+-add_executable(ceph-mgr ${mgr_srcs})
+-target_include_directories(ceph-mgr SYSTEM PRIVATE "${PYTHON_INCLUDE_DIRS}")
+-target_link_libraries(ceph-mgr
+-  osdc client heap_profiler
+-  global-static ceph-common
+-  Boost::python${MGR_PYTHON_VERSION_MAJOR}${MGR_PYTHON_VERSION_MINOR}
+-  ${MGR_PYTHON_LIBRARIES} ${CMAKE_DL_LIBS} ${GSSAPI_LIBRARIES})
+-set_target_properties(ceph-mgr PROPERTIES
+-  POSITION_INDEPENDENT_CODE ${EXE_LINKER_USE_PIE})
+-install(TARGETS ceph-mgr DESTINATION bin)
++if(WITH_MGR)
++  set(mgr_srcs
++    ${CMAKE_SOURCE_DIR}/src/ceph_mgr.cc
++    ${CMAKE_SOURCE_DIR}/src/mon/PGMap.cc
++    ActivePyModule.cc
++    ActivePyModules.cc
++    BaseMgrModule.cc
++    BaseMgrStandbyModule.cc
++    ClusterState.cc
++    DaemonHealthMetricCollector.cc
++    DaemonServer.cc
++    DaemonState.cc
++    Gil.cc
++    Mgr.cc
++    MgrStandby.cc
++    OSDPerfMetricTypes.cc
++    OSDPerfMetricCollector.cc
++    PyFormatter.cc
++    PyModule.cc
++    PyModuleRegistry.cc
++    PyModuleRunner.cc
++    PyOSDMap.cc
++    StandbyPyModules.cc
++    mgr_commands.cc
++    $<TARGET_OBJECTS:mgr_cap_obj>)
++  add_executable(ceph-mgr ${mgr_srcs})
++  target_include_directories(ceph-mgr SYSTEM PRIVATE "${PYTHON_INCLUDE_DIRS}")
++  target_link_libraries(ceph-mgr
++    osdc client heap_profiler
++    global-static ceph-common
++    Boost::python${MGR_PYTHON_VERSION_MAJOR}${MGR_PYTHON_VERSION_MINOR}
++    ${MGR_PYTHON_LIBRARIES} ${CMAKE_DL_LIBS} ${GSSAPI_LIBRARIES})
++  set_target_properties(ceph-mgr PROPERTIES
++    POSITION_INDEPENDENT_CODE ${EXE_LINKER_USE_PIE})
++  install(TARGETS ceph-mgr DESTINATION bin)
++endif()


^ permalink raw reply related	[flat|nested] 68+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-cluster/ceph/, sys-cluster/ceph/files/
@ 2020-06-24  0:51 Patrick McLean
  0 siblings, 0 replies; 68+ messages in thread
From: Patrick McLean @ 2020-06-24  0:51 UTC (permalink / raw
  To: gentoo-commits

commit:     cb5e6182ba49de021e979e4dcb303d212f697ad0
Author:     Patrick McLean <patrick.mclean <AT> sony <DOT> com>
AuthorDate: Wed Jun 24 00:50:05 2020 +0000
Commit:     Patrick McLean <chutzpah <AT> gentoo <DOT> org>
CommitDate: Wed Jun 24 00:50:12 2020 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=cb5e6182

sys-cluster/ceph: Remove old

Copyright: Sony Interactive Entertainment Inc.
Package-Manager: Portage-2.3.102, Repoman-2.3.23
Signed-off-by: Patrick McLean <chutzpah <AT> gentoo.org>

 sys-cluster/ceph/Manifest                          |   1 -
 sys-cluster/ceph/ceph-14.2.7-r1.ebuild             | 370 ---------------------
 .../ceph/files/ceph-14.2.5-boost-1.70.patch        |  78 -----
 3 files changed, 449 deletions(-)

diff --git a/sys-cluster/ceph/Manifest b/sys-cluster/ceph/Manifest
index 51b637eae73..f3022f2a86f 100644
--- a/sys-cluster/ceph/Manifest
+++ b/sys-cluster/ceph/Manifest
@@ -1,4 +1,3 @@
 DIST ceph-12.2.12.tar.gz 77467762 BLAKE2B a5224432121db9ef49c1e22771d847399df2f7881cd9c2e185eca12096efb79d21578659d248eb5bae678924983d57452d370e23ab7e78663764d7bea834a461 SHA512 e694c9a8c1f9836c08fb74b54423bdc16d4900252e34643c56cf1a615d4dacddfb13df06a6a9f68bb9d438f5f07069ed358f9fa4b5a362640a3046f9c7722dcc
-DIST ceph-14.2.7.tar.gz 116647114 BLAKE2B f6971324b0467cfdb863db553b6feacaf3607b14fb9adae2808bd6e5514fc5ce218482c412b80902c22a74b883ed697f2c126bc687c8733a83de5b970593efa2 SHA512 59f475e56053ba5e7e3a482a3a91b4d44272e6ec8051b92783de76c09c0d967a7ef76676db998968a709e48f08e90828dd8f86bd96a7c3fd111d48bfb7fd93b1
 DIST ceph-14.2.9.tar.gz 128419205 BLAKE2B bace7469d9066a3da7320a0eb894013fae5b7139c15679dddae7df28c593a1029956234a1ba0d3bbdf1639e3a975aa776c695efefb915113a16099c80d563675 SHA512 0a26372d0037c32fe1d24be880e272fcce5089b02adfb0e791e0406155f6e66c913fa43762028f49c1fa3f30c6c8d819c521dd11702a37cc7040dfd3097c068e
 DIST ceph-15.2.3.tar.gz 147807898 BLAKE2B ff5e9707cf05e22af718ee177cce87ea9913b1b78d7ba17589f2c7fdaea0a7a27dd1f7b8e9947a095ed74106b6b19258fd8be259100624032f3a6e8ce5243390 SHA512 0378365863bcb86e62d64a2eff91e39a91218eabfb126dae74185e1fe52b21a3d5113f885ddb8076551f2f069435e18b24417bf70f29f23e21fac7065e412912

diff --git a/sys-cluster/ceph/ceph-14.2.7-r1.ebuild b/sys-cluster/ceph/ceph-14.2.7-r1.ebuild
deleted file mode 100644
index f05b0b4f65b..00000000000
--- a/sys-cluster/ceph/ceph-14.2.7-r1.ebuild
+++ /dev/null
@@ -1,370 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-PYTHON_COMPAT=( python3_{6,7} )
-CMAKE_MAKEFILE_GENERATOR=emake
-
-DISTUTILS_OPTIONAL=1
-
-inherit check-reqs bash-completion-r1 cmake-utils distutils-r1 flag-o-matic \
-		multiprocessing python-r1 udev readme.gentoo-r1 toolchain-funcs \
-		systemd
-
-if [[ ${PV} == *9999* ]]; then
-	inherit git-r3
-	EGIT_REPO_URI="https://github.com/ceph/ceph.git"
-	SRC_URI=""
-else
-	SRC_URI="https://download.ceph.com/tarballs/${P}.tar.gz"
-	KEYWORDS="~amd64 ~arm64 ~ppc64"
-fi
-
-DESCRIPTION="Ceph distributed filesystem"
-HOMEPAGE="https://ceph.com/"
-
-LICENSE="LGPL-2.1 CC-BY-SA-3.0 GPL-2 GPL-2+ LGPL-2+ BSD Boost-1.0 MIT public-domain"
-SLOT="0"
-
-CPU_FLAGS_X86=(sse{,2,3,4_1,4_2} ssse3)
-
-IUSE="babeltrace cephfs dpdk fuse grafana jemalloc kerberos ldap libressl"
-IUSE+=" lttng +mgr numa rabbitmq +radosgw +ssl spdk system-boost"
-IUSE+=" systemd +tcmalloc test xfs zfs"
-IUSE+=" $(printf "cpu_flags_x86_%s\n" ${CPU_FLAGS_X86[@]})"
-
-COMMON_DEPEND="
-	acct-group/ceph
-	acct-user/ceph
-	virtual/libudev:=
-	app-arch/bzip2:=
-	app-arch/lz4:=
-	app-arch/snappy:=
-	app-arch/zstd:=
-	app-shells/bash:0
-	app-misc/jq:=
-	dev-libs/crypto++:=
-	dev-libs/leveldb:=[snappy,tcmalloc(-)?]
-	dev-libs/libaio:=
-	dev-libs/libnl:3=
-	dev-libs/libxml2:=
-	dev-libs/nss:=
-	sys-auth/oath-toolkit:=
-	sys-apps/coreutils
-	sys-apps/grep
-	sys-apps/keyutils:=
-	sys-apps/util-linux:=
-	sys-apps/sed
-	sys-apps/util-linux
-	sys-libs/libcap-ng:=
-	sys-libs/ncurses:0=
-	sys-libs/zlib:=
-	babeltrace? ( dev-util/babeltrace )
-	ldap? ( net-nds/openldap:= )
-	lttng? ( dev-util/lttng-ust:= )
-	fuse? ( sys-fs/fuse:0= )
-	kerberos? ( virtual/krb5 )
-	rabbitmq? ( net-libs/rabbitmq-c:= )
-	ssl? (
-		!libressl? ( dev-libs/openssl:= )
-		libressl? ( dev-libs/libressl:= )
-	)
-	xfs? ( sys-fs/xfsprogs:= )
-	zfs? ( sys-fs/zfs:= )
-	radosgw? (
-		dev-libs/expat:=
-		!libressl? (
-			dev-libs/openssl:=
-			net-misc/curl:=[curl_ssl_openssl]
-		)
-		libressl? (
-			dev-libs/libressl:=
-			net-misc/curl:=[curl_ssl_libressl]
-		)
-	)
-	system-boost? (
-		|| (
-			=dev-libs/boost-1.71*[threads,context,python,${PYTHON_USEDEP}]
-			=dev-libs/boost-1.70*[threads,context,python,${PYTHON_USEDEP}]
-			=dev-libs/boost-1.67*[threads,context,python,${PYTHON_USEDEP}]
-		)
-		dev-libs/boost:=[threads,context,python,${PYTHON_USEDEP}]
-	)
-	jemalloc? ( dev-libs/jemalloc:= )
-	!jemalloc? ( >=dev-util/google-perftools-2.4:= )
-	${PYTHON_DEPS}
-"
-DEPEND="${COMMON_DEPEND}
-	amd64? ( dev-lang/yasm )
-	x86? ( dev-lang/yasm )
-	dev-python/cython[${PYTHON_USEDEP}]
-	dev-python/sphinx
-	dev-util/cunit
-	test? (
-		dev-python/coverage[${PYTHON_USEDEP}]
-		dev-python/virtualenv[${PYTHON_USEDEP}]
-		sys-apps/grep[pcre]
-		sys-fs/btrfs-progs
-	)
-"
-BDEPEND="
-	app-arch/cpio
-	>=dev-util/cmake-3.5.0
-	dev-util/gperf
-	dev-util/valgrind
-	sys-apps/coreutils
-	sys-apps/findutils
-	sys-apps/grep
-	sys-apps/sed
-	sys-apps/which
-	sys-devel/bc
-	sys-devel/patch
-	virtual/pkgconfig
-"
-RDEPEND="${COMMON_DEPEND}
-	net-misc/socat
-	sys-apps/gptfdisk
-	sys-block/parted
-	sys-fs/cryptsetup
-	sys-fs/lvm2[-device-mapper-only(-)]
-	sys-fs/lsscsi
-	virtual/awk
-	dev-python/bcrypt[${PYTHON_USEDEP}]
-	dev-python/cherrypy[${PYTHON_USEDEP}]
-	dev-python/flask[${PYTHON_USEDEP}]
-	dev-python/jinja[${PYTHON_USEDEP}]
-	dev-python/pecan[${PYTHON_USEDEP}]
-	dev-python/prettytable[${PYTHON_USEDEP}]
-	dev-python/pyopenssl[${PYTHON_USEDEP}]
-	dev-python/requests[${PYTHON_USEDEP}]
-	dev-python/werkzeug[${PYTHON_USEDEP}]
-"
-REQUIRED_USE="
-	${PYTHON_REQUIRED_USE}
-	|| ( $(python_gen_useflags 'python3*') )
-	?? ( jemalloc tcmalloc )
-	rabbitmq? ( radosgw )
-"
-
-# the tests need root access
-RESTRICT="test? ( userpriv )"
-
-# distribution tarball does not include everything needed for tests
-RESTRICT+=" test"
-
-# false positives unless all USE flags are on
-CMAKE_WARN_UNUSED_CLI="no"
-
-PATCHES=(
-	"${FILESDIR}/ceph-12.2.0-use-provided-cpu-flag-values.patch"
-	"${FILESDIR}/ceph-14.2.0-cflags.patch"
-	"${FILESDIR}/ceph-12.2.4-boost-build-none-options.patch"
-	"${FILESDIR}/ceph-13.2.0-cflags.patch"
-	"${FILESDIR}/ceph-14.2.0-mgr-python-version.patch"
-	"${FILESDIR}/ceph-14.2.5-no-virtualenvs.patch"
-	"${FILESDIR}/ceph-13.2.2-dont-install-sysvinit-script.patch"
-	"${FILESDIR}/ceph-14.2.0-dpdk-cflags.patch"
-	"${FILESDIR}/ceph-14.2.0-link-crc32-statically.patch"
-	"${FILESDIR}/ceph-14.2.0-cython-0.29.patch"
-	"${FILESDIR}/ceph-14.2.5-boost-1.70.patch"
-	"${FILESDIR}/ceph-14.2.3-dpdk-compile-fix-1.patch"
-	"${FILESDIR}/ceph-14.2.4-python-executable.patch"
-	"${FILESDIR}/ceph-14.2.4-undefined-behaviour.patch"
-)
-
-check-reqs_export_vars() {
-	if use amd64; then
-		CHECKREQS_DISK_BUILD="12G"
-		CHECKREQS_DISK_USR="460M"
-	else
-		CHECKREQS_DISK_BUILD="1400M"
-		CHECKREQS_DISK_USR="450M"
-	fi
-
-	export CHECKREQS_DISK_BUILD CHECKREQS_DISK_USR
-}
-
-pkg_pretend() {
-	check-reqs_export_vars
-	check-reqs_pkg_pretend
-}
-
-pkg_setup() {
-	python_setup 'python3*'
-	check-reqs_export_vars
-	check-reqs_pkg_setup
-}
-
-src_prepare() {
-	cmake-utils_src_prepare
-
-	if use system-boost; then
-		eapply "${FILESDIR}/ceph-14.2.5-boost-sonames.patch"
-
-		find "${S}" -name '*.cmake' -or -name 'CMakeLists.txt' -print0 \
-			| xargs --null sed -e 's|Boost::|Boost_|g' -i || die
-
-		has_version '>=dev-libs/boost-1.70.0' || \
-			eapply "${FILESDIR}/ceph-14.2.5-boost-1.6-python-sonames.patch"
-	fi
-
-	sed -i -r "s:DESTINATION .+\\):DESTINATION $(get_bashcompdir)\\):" \
-		src/bash_completion/CMakeLists.txt || die
-
-	# remove tests that need root access
-	rm src/test/cli/ceph-authtool/cap*.t || die
-}
-
-ceph_src_configure() {
-	local flag
-	local mycmakeargs=(
-		-DWITH_BABELTRACE=$(usex babeltrace)
-		-DWITH_CEPHFS=$(usex cephfs)
-		-DWITH_CEPHFS_SHELL=$(if python_is_python3; then usex cephfs; else echo OFF; fi)
-		-DWITH_DPDK=$(usex dpdk)
-		-DWITH_DPDK=$(usex spdk)
-		-DWITH_FUSE=$(usex fuse)
-		-DWITH_LTTNG=$(usex lttng)
-		-DWITH_GSSAPI=$(usex kerberos)
-		-DWITH_GRAFANA=$(usex grafana)
-		-DWITH_MGR=$(usex mgr)
-		-DWITH_MGR_DASHBOARD_FRONTEND=NO
-		-DWITH_NUMA=$(usex numa)
-		-DWITH_OPENLDAP=$(usex ldap)
-		-DMGR_PYTHON_VERSION=$(if python_is_python3; then echo 3; else echo 2; fi)
-		-DWITH_PYTHON3=$(if python_is_python3; then echo "ON"; else echo "OFF"; fi)
-		-DWITH_PYTHON2=$(if python_is_python3; then echo "OFF"; else echo "ON"; fi)
-		-DWITH_RADOSGW=$(usex radosgw)
-		-DWITH_RADOSGW_AMQP_ENDPOINT=$(usex rabbitmq)
-		-DWITH_SSL=$(usex ssl)
-		-DWITH_SYSTEMD=$(usex systemd)
-		-DWITH_TESTS=$(usex test)
-		-DWITH_XFS=$(usex xfs)
-		-DWITH_ZFS=$(usex zfs)
-		-DENABLE_SHARED="ON"
-		-DALLOCATOR=$(usex tcmalloc 'tcmalloc' "$(usex jemalloc 'jemalloc' 'libc')")
-		-DWITH_SYSTEM_BOOST=$(usex system-boost)
-		-DBOOST_J=$(makeopts_jobs)
-		-DWITH_RDMA=no
-		-DWITH_TBB=no
-		-DSYSTEMD_UNITDIR=$(systemd_get_systemunitdir)
-		-DEPYTHON_VERSION="${EPYTHON#python}"
-		-DCMAKE_INSTALL_DOCDIR="${EPREFIX}/usr/share/doc/${PN}-${PVR}"
-		-DCMAKE_INSTALL_SYSCONFDIR="${EPREFIX}/etc"
-		#-Wno-dev
-	)
-	if use amd64 || use x86; then
-		for flag in ${CPU_FLAGS_X86[@]}; do
-			mycmakeargs+=("$(usex cpu_flags_x86_${flag} "-DHAVE_INTEL_${flag^^}=1")")
-		done
-	fi
-
-	rm -f "${BUILD_DIR:-${S}}/CMakeCache.txt" \
-		|| die "failed to remove cmake cache"
-
-	cmake-utils_src_configure
-
-	# bug #630232
-	sed -i "s:\"${T//:\\:}/${EPYTHON}/bin/python\":\"${PYTHON}\":" \
-		"${BUILD_DIR:-${S}}"/include/acconfig.h \
-		|| die "sed failed"
-}
-
-src_configure() {
-	ceph_src_configure
-}
-
-python_compile() {
-	local CMAKE_USE_DIR="${S}"
-	ceph_src_configure
-
-	pushd "${BUILD_DIR}/src/pybind" >/dev/null || die
-	emake VERBOSE=1 clean
-	emake VERBOSE=1 all
-
-	# python modules are only compiled with "make install" so we need to do this to
-	# prevent doing a bunch of compilation in src_install
-	DESTDIR="${T}" emake VERBOSE=1 install
-	popd >/dev/null || die
-}
-
-src_compile() {
-	cmake-utils_src_make VERBOSE=1 all
-
-	# we have to do this here to prevent from building everything multiple times
-	python_copy_sources
-	python_foreach_impl python_compile
-}
-
-src_test() {
-	make check || die "make check failed"
-}
-
-python_install() {
-	local CMAKE_USE_DIR="${S}"
-	pushd "${BUILD_DIR}/src/pybind" >/dev/null || die
-	DESTDIR="${ED}" emake VERBOSE=1 install
-	popd >/dev/null || die
-
-	python_optimize
-}
-
-src_install() {
-	cmake-utils_src_install
-	python_foreach_impl python_install
-
-	find "${ED}" -name '*.la' -type f -delete || die
-
-	exeinto /usr/$(get_libdir)/ceph
-	newexe "${BUILD_DIR}/bin/init-ceph" init-ceph
-
-	insinto /etc/logrotate.d/
-	newins "${FILESDIR}"/ceph.logrotate-r2 ${PN}
-
-	keepdir /var/lib/${PN}{,/tmp} /var/log/${PN}/stat
-
-	fowners -R ceph:ceph /var/log/ceph
-
-	newinitd "${FILESDIR}/rbdmap.initd" rbdmap
-	newinitd "${FILESDIR}/${PN}.initd-r12" ${PN}
-	newconfd "${FILESDIR}/${PN}.confd-r5" ${PN}
-
-	insinto /etc/sysctl.d
-	newins "${FILESDIR}"/sysctld 90-${PN}.conf
-
-	use tcmalloc && newenvd "${FILESDIR}"/envd-tcmalloc 99${PN}-tcmalloc
-
-	# units aren't installed by the build system unless systemd is enabled
-	# so no point installing these with the USE flag disabled
-	if use systemd; then
-		systemd_install_serviced "${FILESDIR}/ceph-mds_at.service.conf" \
-			"ceph-mds@.service"
-
-		systemd_install_serviced "${FILESDIR}/ceph-osd_at.service.conf" \
-			"ceph-osd@.service"
-	fi
-
-	udev_dorules udev/*.rules
-
-	readme.gentoo_create_doc
-
-	python_setup 'python3*'
-
-	# bug #630232
-	sed -i -r "s:${T//:/\\:}/${EPYTHON}:/usr:" "${ED}"/usr/bin/ceph{,-crash} \
-		|| die "sed failed"
-
-	python_fix_shebang "${ED}"/usr/{,s}bin/
-
-	# python_fix_shebang apparently is not idempotent
-	local shebang_regex='(/usr/lib/python-exec/python[0-9]\.[0-9]/python)[0-9]\.[0-9]'
-	grep -r -E -l --null "${shebang_regex}" "${ED}"/usr/{s,}bin/ \
-		| xargs --null --no-run-if-empty -- sed -i -r  "s:${shebang_regex}:\1:" || die
-
-	local -a rados_classes=( "${ED}/usr/$(get_libdir)/rados-classes"/* )
-	dostrip -x "${rados_classes[@]#${ED}}"
-}
-
-pkg_postinst() {
-	readme.gentoo_print_elog
-}

diff --git a/sys-cluster/ceph/files/ceph-14.2.5-boost-1.70.patch b/sys-cluster/ceph/files/ceph-14.2.5-boost-1.70.patch
deleted file mode 100644
index 693925e8825..00000000000
--- a/sys-cluster/ceph/files/ceph-14.2.5-boost-1.70.patch
+++ /dev/null
@@ -1,78 +0,0 @@
-diff --git a/src/rgw/rgw_asio_frontend.cc b/src/rgw/rgw_asio_frontend.cc
-index 82e2a45da6..8750c5648f 100644
---- a/src/rgw/rgw_asio_frontend.cc
-+++ b/src/rgw/rgw_asio_frontend.cc
-@@ -83,7 +83,8 @@ class StreamIO : public rgw::asio::ClientIO {
- using SharedMutex = ceph::async::SharedMutex<boost::asio::io_context::executor_type>;
- 
- template <typename Stream>
--void handle_connection(RGWProcessEnv& env, Stream& stream,
-+void handle_connection(boost::asio::io_context& context,
-+                       RGWProcessEnv& env, Stream& stream,
-                        parse_buffer& buffer, bool is_ssl,
-                        SharedMutex& pause_mutex,
-                        rgw::dmclock::Scheduler *scheduler,
-@@ -160,7 +161,7 @@ void handle_connection(RGWProcessEnv& env, Stream& stream,
-                                   rgw::io::add_conlen_controlling(
-                                     &real_client))));
-       RGWRestfulIO client(cct, &real_client_io);
--      auto y = optional_yield{socket.get_io_context(), yield};
-+      auto y = optional_yield{context, yield};
-       process_request(env.store, env.rest, &req, env.uri_prefix,
-                       *env.auth_registry, &client, env.olog, y, scheduler);
-     }
-@@ -604,7 +605,7 @@ void AsioFrontend::accept(Listener& l, boost::system::error_code ec)
-           return;
-         }
-         buffer->consume(bytes);
--        handle_connection(env, stream, *buffer, true, pause_mutex,
-+        handle_connection(context, env, stream, *buffer, true, pause_mutex,
-                           scheduler.get(), ec, yield);
-         if (!ec) {
-           // ssl shutdown (ignoring errors)
-@@ -622,7 +623,7 @@ void AsioFrontend::accept(Listener& l, boost::system::error_code ec)
-         auto c = connections.add(conn);
-         auto buffer = std::make_unique<parse_buffer>();
-         boost::system::error_code ec;
--        handle_connection(env, s, *buffer, false, pause_mutex,
-+        handle_connection(context, env, s, *buffer, false, pause_mutex,
-                           scheduler.get(), ec, yield);
-         s.shutdown(tcp::socket::shutdown_both, ec);
-       });
-diff --git a/src/rgw/rgw_dmclock_async_scheduler.h b/src/rgw/rgw_dmclock_async_scheduler.h
-index 70487a5253..1d454acd2e 100644
---- a/src/rgw/rgw_dmclock_async_scheduler.h
-+++ b/src/rgw/rgw_dmclock_async_scheduler.h
-@@ -82,7 +82,12 @@ class AsyncScheduler : public md_config_obs_t, public Scheduler {
-   using Completion = async::Completion<Signature, async::AsBase<Request>>;
- 
-   using Clock = ceph::coarse_real_clock;
-+#if BOOST_VERSION < 107000
-   using Timer = boost::asio::basic_waitable_timer<Clock>;
-+#else
-+  using Timer = boost::asio::basic_waitable_timer<Clock,
-+        boost::asio::wait_traits<Clock>, executor_type>;
-+#endif
-   Timer timer; //< timer for the next scheduled request
- 
-   CephContext *const cct;
-diff --git a/src/rgw/rgw_reshard.h b/src/rgw/rgw_reshard.h
-index d99a6ff68d..213fc238d2 100644
---- a/src/rgw/rgw_reshard.h
-+++ b/src/rgw/rgw_reshard.h
-@@ -183,7 +183,14 @@ class RGWReshardWait {
-   ceph::condition_variable cond;
- 
-   struct Waiter : boost::intrusive::list_base_hook<> {
--    boost::asio::basic_waitable_timer<Clock> timer;
-+#if BOOST_VERSION < 107000
-+    using Timer = boost::asio::basic_waitable_timer<Clock>;
-+#else
-+    using Executor = boost::asio::io_context::executor_type;
-+    using Timer = boost::asio::basic_waitable_timer<Clock,
-+          boost::asio::wait_traits<Clock>, Executor>;
-+#endif
-+    Timer timer;
-     explicit Waiter(boost::asio::io_context& ioc) : timer(ioc) {}
-   };
-   boost::intrusive::list<Waiter> waiters;


^ permalink raw reply related	[flat|nested] 68+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-cluster/ceph/, sys-cluster/ceph/files/
@ 2020-04-03  1:41 Patrick McLean
  0 siblings, 0 replies; 68+ messages in thread
From: Patrick McLean @ 2020-04-03  1:41 UTC (permalink / raw
  To: gentoo-commits

commit:     62184dacaf82fec96502225fbd61935d845b2241
Author:     Patrick McLean <patrick.mclean <AT> sony <DOT> com>
AuthorDate: Fri Apr  3 01:39:50 2020 +0000
Commit:     Patrick McLean <chutzpah <AT> gentoo <DOT> org>
CommitDate: Fri Apr  3 01:39:50 2020 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=62184dac

sys-cluster/ceph-15.2.0: Version bump

Copyright: Sony Interactive Entertainment Inc.
Package-Manager: Portage-2.3.96, Repoman-2.3.22
Signed-off-by: Patrick McLean <chutzpah <AT> gentoo.org>

 sys-cluster/ceph/Manifest                          |  1 +
 sys-cluster/ceph/ceph-14.2.8.ebuild                |  7 +-
 .../{ceph-14.2.8.ebuild => ceph-15.2.0.ebuild}     | 86 +++++++++++++---------
 .../ceph/files/ceph-15.2.0-no-virtualenvs.patch    | 73 ++++++++++++++++++
 .../ceph/files/ceph-15.2.0-rocksdb-cmake.patch     | 15 ++++
 sys-cluster/ceph/metadata.xml                      |  5 ++
 6 files changed, 150 insertions(+), 37 deletions(-)

diff --git a/sys-cluster/ceph/Manifest b/sys-cluster/ceph/Manifest
index f6b72a26254..68f01e59221 100644
--- a/sys-cluster/ceph/Manifest
+++ b/sys-cluster/ceph/Manifest
@@ -1,3 +1,4 @@
 DIST ceph-12.2.12.tar.gz 77467762 BLAKE2B a5224432121db9ef49c1e22771d847399df2f7881cd9c2e185eca12096efb79d21578659d248eb5bae678924983d57452d370e23ab7e78663764d7bea834a461 SHA512 e694c9a8c1f9836c08fb74b54423bdc16d4900252e34643c56cf1a615d4dacddfb13df06a6a9f68bb9d438f5f07069ed358f9fa4b5a362640a3046f9c7722dcc
 DIST ceph-14.2.7.tar.gz 116647114 BLAKE2B f6971324b0467cfdb863db553b6feacaf3607b14fb9adae2808bd6e5514fc5ce218482c412b80902c22a74b883ed697f2c126bc687c8733a83de5b970593efa2 SHA512 59f475e56053ba5e7e3a482a3a91b4d44272e6ec8051b92783de76c09c0d967a7ef76676db998968a709e48f08e90828dd8f86bd96a7c3fd111d48bfb7fd93b1
 DIST ceph-14.2.8.tar.gz 128415417 BLAKE2B bb3644938106aaefe17d29fd6adc8568a35e6aef799da048add5ecebb6fb0128a8575eba1f5ecc2f33f33caf2130619e5b6979a6291566e0971976d8da0e8387 SHA512 38b0c6df58579377528c8f8e06d0cbc40f471f6eb2fb4a05b395f6fddbd3f2117674545b2147d8730973b01967ddcd4322a769ba03f9c625417ed35cc39f195a
+DIST ceph-15.2.0.tar.gz 147445869 BLAKE2B 266bcffd702b46482316f59a9a071bdb9e1f9fc01a87f2f603995fe85d124722a8652aa3086bf3642d395a7f19652a0ce48496ee044a9b8f7e1f59643b48198e SHA512 07a3ff2ccf1a3abac652ff8c5f1611e7c628fcedcb280adc6cd49792b46fa50c7c29437dc57c2c4a6af708a6833abf8c1a386ef2142d30bd5e1f214ba7aec4f2

diff --git a/sys-cluster/ceph/ceph-14.2.8.ebuild b/sys-cluster/ceph/ceph-14.2.8.ebuild
index 287059ae8ea..95abd364b0f 100644
--- a/sys-cluster/ceph/ceph-14.2.8.ebuild
+++ b/sys-cluster/ceph/ceph-14.2.8.ebuild
@@ -28,9 +28,9 @@ SLOT="0"
 
 CPU_FLAGS_X86=(sse{,2,3,4_1,4_2} ssse3)
 
-IUSE="babeltrace +cephfs dpdk fuse grafana jemalloc kerberos ldap libressl"
-IUSE+=" lttng +mgr numa rabbitmq +radosgw +ssl spdk static-libs system-boost"
-IUSE+=" systemd +tcmalloc test xfs zfs"
+IUSE="babeltrace +cephfs custom-cflags dpdk fuse grafana jemalloc kerberos ldap"
+IUSE+=" libressl lttng +mgr numa rabbitmq +radosgw +ssl spdk static-libs"
+IUSE+=" system-boost systemd +tcmalloc test xfs zfs"
 IUSE+=" $(printf "cpu_flags_x86_%s\n" ${CPU_FLAGS_X86[@]})"
 
 COMMON_DEPEND="
@@ -268,6 +268,7 @@ ceph_src_configure() {
 }
 
 src_configure() {
+	use custom-cflags || strip-flags
 	ceph_src_configure
 }
 

diff --git a/sys-cluster/ceph/ceph-14.2.8.ebuild b/sys-cluster/ceph/ceph-15.2.0.ebuild
similarity index 84%
copy from sys-cluster/ceph/ceph-14.2.8.ebuild
copy to sys-cluster/ceph/ceph-15.2.0.ebuild
index 287059ae8ea..67e9df32dd5 100644
--- a/sys-cluster/ceph/ceph-14.2.8.ebuild
+++ b/sys-cluster/ceph/ceph-15.2.0.ebuild
@@ -2,7 +2,7 @@
 # Distributed under the terms of the GNU General Public License v2
 
 EAPI=7
-PYTHON_COMPAT=( python3_{6,7} )
+PYTHON_COMPAT=( python3_{6,7,8} )
 CMAKE_MAKEFILE_GENERATOR=emake
 
 DISTUTILS_OPTIONAL=1
@@ -17,20 +17,20 @@ if [[ ${PV} == *9999* ]]; then
 	SRC_URI=""
 else
 	SRC_URI="https://download.ceph.com/tarballs/${P}.tar.gz"
-	KEYWORDS="~amd64 ~ppc64"
+	KEYWORDS="~amd64"
 fi
 
 DESCRIPTION="Ceph distributed filesystem"
 HOMEPAGE="https://ceph.com/"
 
-LICENSE="LGPL-2.1 CC-BY-SA-3.0 GPL-2 GPL-2+ LGPL-2+ BSD Boost-1.0 MIT public-domain"
+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"
 SLOT="0"
 
 CPU_FLAGS_X86=(sse{,2,3,4_1,4_2} ssse3)
 
-IUSE="babeltrace +cephfs dpdk fuse grafana jemalloc kerberos ldap libressl"
-IUSE+=" lttng +mgr numa rabbitmq +radosgw +ssl spdk static-libs system-boost"
-IUSE+=" systemd +tcmalloc test xfs zfs"
+IUSE="babeltrace +cephfs custom-cflags dpdk fuse grafana jemalloc kafka kerberos ldap
+	libressl lttng +mgr numa +openssl pmdk rabbitmq +radosgw rbd-rwl +ssl spdk static-libs
+	system-boost systemd +tcmalloc test uring xfs zfs"
 IUSE+=" $(printf "cpu_flags_x86_%s\n" ${CPU_FLAGS_X86[@]})"
 
 COMMON_DEPEND="
@@ -48,10 +48,16 @@ COMMON_DEPEND="
 	dev-libs/libaio:=[static-libs?]
 	dev-libs/libnl:3=[static-libs?]
 	dev-libs/libxml2:=[static-libs?]
+	dev-libs/xmlsec:=[!openssl?,!libressl?,static-libs?]
+	dev-libs/yaml-cpp:=[static-libs?]
 	dev-libs/nss:=
+	dev-libs/protobuf:=[static-libs?]
+	net-dns/c-ares:=[static-libs?]
+	net-libs/gnutls:=[static-libs?]
 	sys-auth/oath-toolkit:=
 	sys-apps/coreutils
 	sys-apps/grep
+	sys-apps/hwloc:=[static-libs?]
 	sys-apps/keyutils:=[static-libs?]
 	sys-apps/util-linux:=[static-libs?]
 	sys-apps/sed
@@ -59,21 +65,20 @@ COMMON_DEPEND="
 	sys-libs/libcap-ng:=[static-libs?]
 	sys-libs/ncurses:0=[static-libs?]
 	sys-libs/zlib:=[static-libs?]
+	sys-process/numactl:=[static-libs?]
+	x11-libs/libpciaccess:=[static-libs?]
 	babeltrace? ( dev-util/babeltrace )
-	ldap? ( net-nds/openldap:=[static-libs?] )
-	lttng? ( dev-util/lttng-ust:= )
 	fuse? ( sys-fs/fuse:0=[static-libs?] )
+	jemalloc? ( dev-libs/jemalloc:=[static-libs?] )
+	!jemalloc? ( >=dev-util/google-perftools-2.6.1:=[static-libs?] )
+	kafka? ( dev-libs/librdkafka:=[static-libs?] )
 	kerberos? ( virtual/krb5 )
+	ldap? ( net-nds/openldap:=[static-libs?] )
+	lttng? ( dev-util/lttng-ust:= )
 	rabbitmq? ( net-libs/rabbitmq-c:=[static-libs?] )
-	ssl? (
-		!libressl? ( dev-libs/openssl:=[static-libs?] )
-		libressl? ( dev-libs/libressl:=[static-libs?] )
-	)
-	xfs? ( sys-fs/xfsprogs:=[static-libs(+)?] )
-	zfs? ( sys-fs/zfs:=[static-libs?] )
 	radosgw? (
 		dev-libs/expat:=[static-libs?]
-		!libressl? (
+		openssl? (
 			dev-libs/openssl:=[static-libs?]
 			net-misc/curl:=[curl_ssl_openssl,static-libs?]
 		)
@@ -82,9 +87,14 @@ COMMON_DEPEND="
 			net-misc/curl:=[curl_ssl_libressl,static-libs?]
 		)
 	)
+	ssl? (
+		openssl? ( dev-libs/openssl:=[static-libs?] )
+		libressl? ( dev-libs/libressl:=[static-libs?] )
+	)
 	system-boost? ( =dev-libs/boost-1.72*[threads,context,python,static-libs?,${PYTHON_USEDEP}] )
-	jemalloc? ( dev-libs/jemalloc:=[static-libs?] )
-	!jemalloc? ( >=dev-util/google-perftools-2.6.1:=[static-libs?] )
+	uring? ( sys-libs/liburing:=[static-libs?] )
+	xfs? ( sys-fs/xfsprogs:=[static-libs(+)?] )
+	zfs? ( sys-fs/zfs:=[static-libs?] )
 	${PYTHON_DEPS}
 "
 BDEPEND="
@@ -96,6 +106,7 @@ BDEPEND="
 	dev-python/sphinx
 	dev-util/cunit
 	dev-util/gperf
+	dev-util/ragel
 	dev-util/valgrind
 	sys-apps/coreutils
 	sys-apps/findutils
@@ -123,6 +134,7 @@ RDEPEND="${COMMON_DEPEND}
 	virtual/awk
 	dev-python/bcrypt[${PYTHON_USEDEP}]
 	dev-python/cherrypy[${PYTHON_USEDEP}]
+	dev-python/python-dateutil[${PYTHON_USEDEP}]
 	dev-python/flask[${PYTHON_USEDEP}]
 	dev-python/jinja[${PYTHON_USEDEP}]
 	dev-python/pecan[${PYTHON_USEDEP}]
@@ -131,19 +143,27 @@ RDEPEND="${COMMON_DEPEND}
 	dev-python/requests[${PYTHON_USEDEP}]
 	dev-python/werkzeug[${PYTHON_USEDEP}]
 	mgr? (
+		dev-python/jsonpatch[${PYTHON_USEDEP}]
 		dev-python/more-itertools[${PYTHON_USEDEP}]
+		dev-python/numpy[${PYTHON_USEDEP}]
 		dev-python/pyjwt[${PYTHON_USEDEP}]
 		dev-python/pyyaml[${PYTHON_USEDEP}]
 		dev-python/routes[${PYTHON_USEDEP}]
+		sci-libs/scipy[${PYTHON_USEDEP}]
+		dev-python/scikit-learn[${PYTHON_USEDEP}]
 		dev-python/six[${PYTHON_USEDEP}]
 	)
 "
 REQUIRED_USE="
 	${PYTHON_REQUIRED_USE}
+	^^ ( openssl libressl )
+	kafka? ( radosgw )
+	rabbitmq? ( radosgw )
 	mgr? ( cephfs )
 	?? ( jemalloc tcmalloc )
 	rabbitmq? ( radosgw )
 "
+RESTRICT="!test? ( test )"
 
 # the tests need root access
 RESTRICT="test? ( userpriv )"
@@ -159,15 +179,12 @@ PATCHES=(
 	"${FILESDIR}/ceph-14.2.0-cflags.patch"
 	"${FILESDIR}/ceph-12.2.4-boost-build-none-options.patch"
 	"${FILESDIR}/ceph-13.2.0-cflags.patch"
-	"${FILESDIR}/ceph-14.2.0-mgr-python-version.patch"
-	"${FILESDIR}/ceph-14.2.5-no-virtualenvs.patch"
+	"${FILESDIR}/ceph-15.2.0-no-virtualenvs.patch"
 	"${FILESDIR}/ceph-13.2.2-dont-install-sysvinit-script.patch"
 	"${FILESDIR}/ceph-14.2.0-dpdk-cflags.patch"
 	"${FILESDIR}/ceph-14.2.0-link-crc32-statically.patch"
 	"${FILESDIR}/ceph-14.2.0-cython-0.29.patch"
-	"${FILESDIR}/ceph-14.2.3-dpdk-compile-fix-1.patch"
-	"${FILESDIR}/ceph-14.2.4-python-executable.patch"
-	"${FILESDIR}/ceph-14.2.4-undefined-behaviour.patch"
+	"${FILESDIR}/ceph-15.2.0-rocksdb-cmake.patch"
 )
 
 check-reqs_export_vars() {
@@ -197,12 +214,11 @@ src_prepare() {
 	cmake-utils_src_prepare
 
 	if use system-boost; then
-		eapply "${FILESDIR}/ceph-14.2.8-boost-sonames.patch"
-
 		find "${S}" -name '*.cmake' -or -name 'CMakeLists.txt' -print0 \
-			| xargs --null sed \
+			| xargs --null sed -r \
 			-e 's|Boost::|Boost_|g' \
-			-e 's|Boost_boost|boost_system|g' -i || die
+			-e 's|Boost_|boost_|g' \
+			-e 's|[Bb]oost_boost|boost_system|g' -i || die
 	fi
 
 	sed -i -r "s:DESTINATION .+\\):DESTINATION $(get_bashcompdir)\\):" \
@@ -216,8 +232,9 @@ ceph_src_configure() {
 	local flag
 	local mycmakeargs=(
 		-DWITH_BABELTRACE=$(usex babeltrace)
+		-DWITH_BLUESTORE_PMEM=$(usex pmdk)
 		-DWITH_CEPHFS=$(usex cephfs)
-		-DWITH_CEPHFS_SHELL=$(if python_is_python3; then usex cephfs; else echo OFF; fi)
+		-DWITH_CEPHFS_SHELL=$(usex cephfs)
 		-DWITH_DPDK=$(usex dpdk)
 		-DWITH_DPDK=$(usex spdk)
 		-DWITH_FUSE=$(usex fuse)
@@ -225,30 +242,30 @@ ceph_src_configure() {
 		-DWITH_GSSAPI=$(usex kerberos)
 		-DWITH_GRAFANA=$(usex grafana)
 		-DWITH_MGR=$(usex mgr)
-		-DWITH_MGR_DASHBOARD_FRONTEND=NO
+		-DWITH_MGR_DASHBOARD_FRONTEND=OFF
 		-DWITH_NUMA=$(usex numa)
 		-DWITH_OPENLDAP=$(usex ldap)
-		-DMGR_PYTHON_VERSION=$(if python_is_python3; then echo 3; else echo 2; fi)
-		-DWITH_PYTHON3=$(if python_is_python3; then echo "ON"; else echo "OFF"; fi)
-		-DWITH_PYTHON2=$(if python_is_python3; then echo "OFF"; else echo "ON"; fi)
+		-DWITH_PYTHON3=3
 		-DWITH_RADOSGW=$(usex radosgw)
 		-DWITH_RADOSGW_AMQP_ENDPOINT=$(usex rabbitmq)
+		-DWITH_RADOSGW_KAFKA_ENDPOINT=$(usex kafka)
+		-DWITH_RBD_RWL=$(usex rbd-rwl)
 		-DWITH_SSL=$(usex ssl)
 		-DWITH_SYSTEMD=$(usex systemd)
 		-DWITH_TESTS=$(usex test)
+		-DWITH_LIBURING=$(usex uring)
 		-DWITH_XFS=$(usex xfs)
 		-DWITH_ZFS=$(usex zfs)
 		-DENABLE_SHARED=$(usex static-libs '' 'ON' 'OFF')
 		-DALLOCATOR=$(usex tcmalloc 'tcmalloc' "$(usex jemalloc 'jemalloc' 'libc')")
 		-DWITH_SYSTEM_BOOST=$(usex system-boost)
 		-DBOOST_J=$(makeopts_jobs)
-		-DWITH_RDMA=no
-		-DWITH_TBB=no
+		-DWITH_RDMA=OFF
+		-DWITH_TBB=OFF
 		-DSYSTEMD_UNITDIR=$(systemd_get_systemunitdir)
 		-DEPYTHON_VERSION="${EPYTHON#python}"
 		-DCMAKE_INSTALL_DOCDIR="${EPREFIX}/usr/share/doc/${PN}-${PVR}"
 		-DCMAKE_INSTALL_SYSCONFDIR="${EPREFIX}/etc"
-		#-Wno-dev
 	)
 	if use amd64 || use x86; then
 		for flag in ${CPU_FLAGS_X86[@]}; do
@@ -268,6 +285,7 @@ ceph_src_configure() {
 }
 
 src_configure() {
+	use custom-cflags || strip-flags
 	ceph_src_configure
 }
 

diff --git a/sys-cluster/ceph/files/ceph-15.2.0-no-virtualenvs.patch b/sys-cluster/ceph/files/ceph-15.2.0-no-virtualenvs.patch
new file mode 100644
index 00000000000..097639c1bb7
--- /dev/null
+++ b/sys-cluster/ceph/files/ceph-15.2.0-no-virtualenvs.patch
@@ -0,0 +1,73 @@
+diff --git a/cmake/modules/AddCephTest.cmake b/cmake/modules/AddCephTest.cmake
+index c9ee8c1b8f..09f75543da 100644
+--- a/cmake/modules/AddCephTest.cmake
++++ b/cmake/modules/AddCephTest.cmake
+@@ -68,14 +68,6 @@ function(add_tox_test name)
+   endif()
+   string(REPLACE ";" "," tox_envs "${tox_envs}")
+   find_package(Python3 QUIET REQUIRED)
+-  add_custom_command(
+-    OUTPUT ${venv_path}/bin/activate
+-    COMMAND ${CMAKE_SOURCE_DIR}/src/tools/setup-virtualenv.sh --python="${Python3_EXECUTABLE}" ${venv_path}
+-    WORKING_DIRECTORY ${tox_path}
+-    COMMENT "preparing venv for ${name}")
+-  add_custom_target(${name}-venv
+-    DEPENDS ${venv_path}/bin/activate)
+-  add_dependencies(tests ${name}-venv)
+   add_test(
+     NAME ${test_name}
+     COMMAND ${CMAKE_SOURCE_DIR}/src/script/run_tox.sh
+diff --git a/src/ceph-volume/CMakeLists.txt b/src/ceph-volume/CMakeLists.txt
+index 4224499c47..9a6c87595b 100644
+--- a/src/ceph-volume/CMakeLists.txt
++++ b/src/ceph-volume/CMakeLists.txt
+@@ -8,22 +8,6 @@ if(FREEBSD)
+   add_subdirectory(plugin/zfs)
+ endif()
+ 
+-# Required for running ceph-volume inventory in a vstart environment
+-set(CEPH_VOLUME_VIRTUALENV ${CEPH_BUILD_VIRTUALENV}/ceph-volume-virtualenv)
+-
+-add_custom_command(
+-  OUTPUT ${CEPH_VOLUME_VIRTUALENV}/bin/python
+-  COMMAND ${CMAKE_SOURCE_DIR}/src/tools/setup-virtualenv.sh --python=${Python_EXECUTABLE} ${CEPH_VOLUME_VIRTUALENV}
+-  WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}/src/ceph-volume
+-  COMMENT "ceph-volume venv is being created")
+-
+-add_custom_command(
+-  OUTPUT ${CEPH_VOLUME_VIRTUALENV}/bin/ceph-volume
+-  DEPENDS ${CEPH_VOLUME_VIRTUALENV}/bin/python
+-  COMMAND . ${CEPH_VOLUME_VIRTUALENV}/bin/activate && ${CEPH_VOLUME_VIRTUALENV}/bin/python setup.py develop && deactivate
+-  WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}/src/ceph-volume
+-  COMMENT "${CMAKE_SOURCE_DIR}/src/ceph-volume")
+-
+ add_custom_target(ceph-volume-venv-setup
+   DEPENDS ${CEPH_VOLUME_VIRTUALENV}/bin/ceph-volume)
+ 
+diff --git a/src/pybind/mgr/dashboard/CMakeLists.txt b/src/pybind/mgr/dashboard/CMakeLists.txt
+index 9a8a03f0a8..8fbf65988e 100644
+--- a/src/pybind/mgr/dashboard/CMakeLists.txt
++++ b/src/pybind/mgr/dashboard/CMakeLists.txt
+@@ -5,9 +5,6 @@ function(add_npm_command)
+   set(multi_kw COMMAND DEPENDS)
+   cmake_parse_arguments(NC "${options}" "${single_kw}" "${multi_kw}" ${ARGN})
+   string(REPLACE ";" " " command "${NC_COMMAND}")
+-  if(NC_NODEENV)
+-    string(REGEX REPLACE "^(.*(npm|npx) .*)$" ". ${mgr-dashboard-nodeenv-dir}/bin/activate && \\1 && deactivate" command ${command})
+-  endif()
+   string(REPLACE " " ";" command "${command}")
+   add_custom_command(
+     OUTPUT "${NC_OUTPUT}"
+@@ -29,10 +26,8 @@ else()
+   set(nodeenv NODEENV)
+ 
+   add_custom_command(
+-    OUTPUT "${mgr-dashboard-nodeenv-dir}/bin/npm"
+-    COMMAND ${CMAKE_SOURCE_DIR}/src/tools/setup-virtualenv.sh --python=${MGR_PYTHON_EXECUTABLE} ${mgr-dashboard-nodeenv-dir}
+-    COMMAND ${mgr-dashboard-nodeenv-dir}/bin/pip install nodeenv
+-    COMMAND ${mgr-dashboard-nodeenv-dir}/bin/nodeenv -p --node=10.18.1
++    OUTPUT "/bin/npm"
++    COMMAND /bin/nodeenv -p --node=10.18.1
+     WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
+     COMMENT "dashboard nodeenv is being installed"
+   )

diff --git a/sys-cluster/ceph/files/ceph-15.2.0-rocksdb-cmake.patch b/sys-cluster/ceph/files/ceph-15.2.0-rocksdb-cmake.patch
new file mode 100644
index 00000000000..9b3d34858e7
--- /dev/null
+++ b/sys-cluster/ceph/files/ceph-15.2.0-rocksdb-cmake.patch
@@ -0,0 +1,15 @@
+diff --git a/cmake/modules/BuildRocksDB.cmake b/cmake/modules/BuildRocksDB.cmake
+index de9748878b..4b86b36d35 100644
+--- a/cmake/modules/BuildRocksDB.cmake
++++ b/cmake/modules/BuildRocksDB.cmake
+@@ -6,10 +6,6 @@ function(build_rocksdb)
+   # CMAKE_PREFIX_PATH, for which reason we'll have to use some other separator.
+   string(REPLACE ";" "!" CMAKE_PREFIX_PATH_ALT_SEP "${CMAKE_PREFIX_PATH}")
+   list(APPEND rocksdb_CMAKE_ARGS -DCMAKE_PREFIX_PATH=${CMAKE_PREFIX_PATH_ALT_SEP})
+-  if(CMAKE_TOOLCHAIN_FILE)
+-    list(APPEND rocksdb_CMAKE_ARGS
+-         -DCMAKE_TOOLCHAIN_FILE=$CMAKE_TOOLCHAIN_FILE)
+-  endif()
+ 
+   if(ALLOCATOR STREQUAL "jemalloc")
+     list(APPEND rocksdb_CMAKE_ARGS -DWITH_JEMALLOC=ON)

diff --git a/sys-cluster/ceph/metadata.xml b/sys-cluster/ceph/metadata.xml
index d69494c3b6d..dcf0de05f77 100644
--- a/sys-cluster/ceph/metadata.xml
+++ b/sys-cluster/ceph/metadata.xml
@@ -23,13 +23,18 @@
     <flag name="spdk">Enable SPDK user-mode storage driver toolkit</flag>
     <flag name="fuse">Build fuse client</flag>
     <flag name="grafana">Install grafana dashboards</flag>
+    <flag name="kafka">Rados Gateway's pubsub support for Kafka push endpoint</flag>
     <flag name="lttng">Add support for LTTng</flag>
     <flag name="mgr">Build the ceph-mgr daemon</flag>
     <flag name="nss">Use <pkg>dev-libs/nss</pkg> for cryptography</flag>
     <flag name="numa">Use <pkg>sys-process/numactl</pkg> for numa support in rocksdb</flag>
+    <flag name="openssl">Use <pkg>dev-libs/openssl</pkg></flag>
+    <flag name="pmdk">Enable PMDK libraries</flag>
     <flag name="rabbitmq">Use rabbitmq-c to build rgw amqp push endpoint</flag>
     <flag name="radosgw">Add radosgw support</flag>
+    <flag name="rbd-rwl">Enable librbd persistent write back cache</flag>
     <flag name="system-boost">Use system <pkg>dev-libs/boost</pkg> instead of the bundled one</flag>
+    <flag name="uring">Build with support for <pkg>sys-libs/liburing</pkg></flag>
     <flag name="xfs">Add xfs support</flag>
     <flag name="zfs">Add zfs support</flag>
   </use>


^ permalink raw reply related	[flat|nested] 68+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-cluster/ceph/, sys-cluster/ceph/files/
@ 2019-12-11 22:40 Patrick McLean
  0 siblings, 0 replies; 68+ messages in thread
From: Patrick McLean @ 2019-12-11 22:40 UTC (permalink / raw
  To: gentoo-commits

commit:     0987c229b79bbbde9a1d36f619be9cd48be92987
Author:     Patrick McLean <patrick.mclean <AT> sony <DOT> com>
AuthorDate: Wed Dec 11 22:40:19 2019 +0000
Commit:     Patrick McLean <chutzpah <AT> gentoo <DOT> org>
CommitDate: Wed Dec 11 22:40:34 2019 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=0987c229

sys-cluster/ceph: Version bump to 14.2.5

Copyright: Sony Interactive Entertainment Inc.
Package-Manager: Portage-2.3.81, Repoman-2.3.20
Signed-off-by: Patrick McLean <chutzpah <AT> gentoo.org>

 sys-cluster/ceph/Manifest                          |   1 +
 sys-cluster/ceph/ceph-14.2.5.ebuild                | 370 ++++++++++++++++
 .../ceph-14.2.5-boost-1.6-python-sonames.patch     |  26 ++
 .../ceph/files/ceph-14.2.5-boost-1.70.patch        |  78 ++++
 .../ceph/files/ceph-14.2.5-boost-sonames.patch     | 471 +++++++++++++++++++++
 .../ceph/files/ceph-14.2.5-no-virtualenvs.patch    |  39 ++
 sys-cluster/ceph/metadata.xml                      |   1 +
 7 files changed, 986 insertions(+)

diff --git a/sys-cluster/ceph/Manifest b/sys-cluster/ceph/Manifest
index b84a125b65a..e4653529633 100644
--- a/sys-cluster/ceph/Manifest
+++ b/sys-cluster/ceph/Manifest
@@ -4,3 +4,4 @@ DIST ceph-12.2.8.tar.gz 77243685 BLAKE2B 37c34396a0c276b8d79735e14934ac70da02482
 DIST ceph-13.2.5.tar.gz 91006057 BLAKE2B 68551e2f54d78aff7b0e9ec3c62e6a3394dd7c23e80924a5b400cd9666a05a42e5f22445deee4040f1b78201c6a6660b283109878d4c92d845821bff831c8a5e SHA512 6daea524523f829e725609328ea71f416b2c3a9530fa8956720a7bc69dc08e55a169654f500704579dc9ba693f04eedd7e04614c0850e9ab1169cd45f19039f8
 DIST ceph-13.2.6.tar.gz 90808224 BLAKE2B cd7b4f4838eafc9dd580102cbb5247b86a153f90127f81355b556f32dbbacd2d7fb0144d15f99869a318a7148d2f50a9f995eb05aee056d7a5843830ede5702c SHA512 1e9c08d16b14447bf6b8bb72144e053aa9d5cf390bb4a6e878869e38895d3698073502fe9c4f8b775a3da872b920444bd01260105d3a839e53cf90cd27c6ab9c
 DIST ceph-14.2.4.tar.gz 116371380 BLAKE2B 2d2c78ec32a0749df16e9c527d2fd087a75daeb2ef26ac5f6aa641989eab62fa276eb320b873740e9eee3fd4f369da152c53c2389b1def1b6a45906ccc1bd1f1 SHA512 dc60321ed4dcaccacca711ab70c35011b5dfc6b8369016fb413a9976199ed4ba22c7dc87ba1ebaf1118513dee1a0c263c99ab137f27fc03c55e8a0625a3bdcc0
+DIST ceph-14.2.5.tar.gz 118629512 BLAKE2B d1e1e1a2981ab733a8233b6de504c626f9ee776f6a980de61c95b16c85d48f674c40b2013327ce4efb35a844b22a169f55500d45ae827d6fb42e9a5cbae87aea SHA512 38da62a38960d3618e2689f0e882785d4d95358b4a3b3b5b83e54e227cff9e69f4cca0b63d2d55d69e3916055818e6cf9067f2c2eddeb221ef4bc64a13cfa22b

diff --git a/sys-cluster/ceph/ceph-14.2.5.ebuild b/sys-cluster/ceph/ceph-14.2.5.ebuild
new file mode 100644
index 00000000000..95bdb0d89fb
--- /dev/null
+++ b/sys-cluster/ceph/ceph-14.2.5.ebuild
@@ -0,0 +1,370 @@
+# Copyright 1999-2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+PYTHON_COMPAT=( python{2_7,3_{5,6,7}} )
+CMAKE_MAKEFILE_GENERATOR=emake
+
+DISTUTILS_OPTIONAL=1
+
+inherit check-reqs bash-completion-r1 cmake-utils distutils-r1 flag-o-matic \
+		multiprocessing python-r1 udev readme.gentoo-r1 toolchain-funcs \
+		systemd
+
+if [[ ${PV} == *9999* ]]; then
+	inherit git-r3
+	EGIT_REPO_URI="https://github.com/ceph/ceph.git"
+	SRC_URI=""
+else
+	SRC_URI="https://download.ceph.com/tarballs/${P}.tar.gz"
+	KEYWORDS="~amd64 ~arm64"
+fi
+
+DESCRIPTION="Ceph distributed filesystem"
+HOMEPAGE="https://ceph.com/"
+
+LICENSE="LGPL-2.1 CC-BY-SA-3.0 GPL-2 GPL-2+ LGPL-2+ BSD Boost-1.0 MIT public-domain"
+SLOT="0"
+
+CPU_FLAGS_X86=(sse{,2,3,4_1,4_2} ssse3)
+
+IUSE="babeltrace cephfs dpdk fuse grafana jemalloc kerberos ldap libressl"
+IUSE+=" lttng +mgr numa rabbitmq +radosgw +ssl spdk static-libs system-boost"
+IUSE+=" systemd +tcmalloc test xfs zfs"
+IUSE+=" $(printf "cpu_flags_x86_%s\n" ${CPU_FLAGS_X86[@]})"
+
+COMMON_DEPEND="
+	acct-group/ceph
+	acct-user/ceph
+	virtual/libudev:=
+	app-arch/bzip2:=[static-libs?]
+	app-arch/lz4:=[static-libs?]
+	app-arch/snappy:=[static-libs?]
+	app-arch/zstd:=[static-libs?]
+	app-shells/bash:0
+	app-misc/jq:=[static-libs?]
+	dev-libs/crypto++:=[static-libs?]
+	dev-libs/leveldb:=[snappy,static-libs?,tcmalloc(-)?]
+	dev-libs/libaio:=[static-libs?]
+	dev-libs/libnl:3=[static-libs?]
+	dev-libs/libxml2:=[static-libs?]
+	dev-libs/nss:=
+	sys-auth/oath-toolkit:=
+	sys-apps/coreutils
+	sys-apps/grep
+	sys-apps/keyutils:=[static-libs?]
+	sys-apps/util-linux:=[static-libs?]
+	sys-apps/sed
+	sys-apps/util-linux
+	sys-libs/libcap-ng:=[static-libs?]
+	sys-libs/ncurses:0=[static-libs?]
+	sys-libs/zlib:=[static-libs?]
+	babeltrace? ( dev-util/babeltrace )
+	ldap? ( net-nds/openldap:=[static-libs?] )
+	lttng? ( dev-util/lttng-ust:= )
+	fuse? ( sys-fs/fuse:0=[static-libs?] )
+	kerberos? ( virtual/krb5 )
+	rabbitmq? ( net-libs/rabbitmq-c:=[static-libs?] )
+	ssl? (
+		!libressl? ( dev-libs/openssl:=[static-libs?] )
+		libressl? ( dev-libs/libressl:=[static-libs?] )
+	)
+	xfs? ( sys-fs/xfsprogs:=[static-libs(+)?] )
+	zfs? ( sys-fs/zfs:=[static-libs?] )
+	radosgw? (
+		dev-libs/expat:=[static-libs?]
+		!libressl? (
+			dev-libs/openssl:=[static-libs?]
+			net-misc/curl:=[curl_ssl_openssl,static-libs?]
+		)
+		libressl? (
+			dev-libs/libressl:=[static-libs?]
+			net-misc/curl:=[curl_ssl_libressl,static-libs?]
+		)
+	)
+	system-boost? (
+		|| (
+			=dev-libs/boost-1.71*[threads,context,python,static-libs?,${PYTHON_USEDEP}]
+			=dev-libs/boost-1.70*[threads,context,python,static-libs?,${PYTHON_USEDEP}]
+			=dev-libs/boost-1.67*[threads,context,python,static-libs?,${PYTHON_USEDEP}]
+		)
+		dev-libs/boost:=[threads,context,python,static-libs?,${PYTHON_USEDEP}]
+	)
+	jemalloc? ( dev-libs/jemalloc:=[static-libs?] )
+	!jemalloc? ( >=dev-util/google-perftools-2.4:=[static-libs?] )
+	${PYTHON_DEPS}
+"
+DEPEND="${COMMON_DEPEND}
+	amd64? ( dev-lang/yasm )
+	x86? ( dev-lang/yasm )
+	dev-python/cython[${PYTHON_USEDEP}]
+	dev-python/sphinx
+	dev-util/cunit
+	test? (
+		dev-python/coverage[${PYTHON_USEDEP}]
+		dev-python/virtualenv[${PYTHON_USEDEP}]
+		sys-apps/grep[pcre]
+		sys-fs/btrfs-progs
+	)
+"
+BDEPEND="
+	app-arch/cpio
+	>=dev-util/cmake-3.5.0
+	dev-util/gperf
+	dev-util/valgrind
+	sys-apps/coreutils
+	sys-apps/findutils
+	sys-apps/grep
+	sys-apps/sed
+	sys-apps/which
+	sys-devel/bc
+	sys-devel/patch
+	virtual/pkgconfig
+"
+RDEPEND="${COMMON_DEPEND}
+	net-misc/socat
+	sys-apps/gptfdisk
+	sys-block/parted
+	sys-fs/cryptsetup
+	sys-fs/lvm2[-device-mapper-only(-)]
+	sys-fs/lsscsi
+	virtual/awk
+	dev-python/bcrypt[${PYTHON_USEDEP}]
+	dev-python/cherrypy[${PYTHON_USEDEP}]
+	dev-python/flask[${PYTHON_USEDEP}]
+	dev-python/jinja[${PYTHON_USEDEP}]
+	dev-python/pecan[${PYTHON_USEDEP}]
+	dev-python/prettytable[${PYTHON_USEDEP}]
+	dev-python/pyopenssl[${PYTHON_USEDEP}]
+	dev-python/requests[${PYTHON_USEDEP}]
+	dev-python/werkzeug[${PYTHON_USEDEP}]
+"
+REQUIRED_USE="
+	${PYTHON_REQUIRED_USE}
+	|| ( $(python_gen_useflags 'python3*') )
+	?? ( jemalloc tcmalloc )
+	rabbitmq? ( radosgw )
+"
+
+# the tests need root access
+RESTRICT="test? ( userpriv )"
+
+# distribution tarball does not include everything needed for tests
+RESTRICT+=" test"
+
+# false positives unless all USE flags are on
+CMAKE_WARN_UNUSED_CLI="no"
+
+PATCHES=(
+	"${FILESDIR}/ceph-12.2.0-use-provided-cpu-flag-values.patch"
+	"${FILESDIR}/ceph-14.2.0-cflags.patch"
+	"${FILESDIR}/ceph-12.2.4-boost-build-none-options.patch"
+	"${FILESDIR}/ceph-13.2.0-cflags.patch"
+	"${FILESDIR}/ceph-14.2.0-mgr-python-version.patch"
+	"${FILESDIR}/ceph-14.2.5-no-virtualenvs.patch"
+	"${FILESDIR}/ceph-13.2.2-dont-install-sysvinit-script.patch"
+	"${FILESDIR}/ceph-14.2.0-dpdk-cflags.patch"
+	"${FILESDIR}/ceph-14.2.0-link-crc32-statically.patch"
+	"${FILESDIR}/ceph-14.2.0-cython-0.29.patch"
+	"${FILESDIR}/ceph-14.2.5-boost-1.70.patch"
+	"${FILESDIR}/ceph-14.2.3-dpdk-compile-fix-1.patch"
+	"${FILESDIR}/ceph-14.2.4-python-executable.patch"
+	"${FILESDIR}/ceph-14.2.4-undefined-behaviour.patch"
+)
+
+check-reqs_export_vars() {
+	if use amd64; then
+		CHECKREQS_DISK_BUILD="12G"
+		CHECKREQS_DISK_USR="460M"
+	else
+		CHECKREQS_DISK_BUILD="1400M"
+		CHECKREQS_DISK_USR="450M"
+	fi
+
+	export CHECKREQS_DISK_BUILD CHECKREQS_DISK_USR
+}
+
+pkg_pretend() {
+	check-reqs_export_vars
+	check-reqs_pkg_pretend
+}
+
+pkg_setup() {
+	python_setup 'python3*'
+	check-reqs_export_vars
+	check-reqs_pkg_setup
+}
+
+src_prepare() {
+	cmake-utils_src_prepare
+
+	if use system-boost; then
+		eapply "${FILESDIR}/ceph-14.2.5-boost-sonames.patch"
+
+		find "${S}" -name '*.cmake' -or -name 'CMakeLists.txt' -print0 \
+			| xargs --null sed -e 's|Boost::|Boost_|g' -i || die
+
+		has_version '>=dev-libs/boost-1.70.0' || \
+			eapply "${FILESDIR}/ceph-14.2.5-boost-1.6-python-sonames.patch"
+	fi
+
+	sed -i -r "s:DESTINATION .+\\):DESTINATION $(get_bashcompdir)\\):" \
+		src/bash_completion/CMakeLists.txt || die
+
+	# remove tests that need root access
+	rm src/test/cli/ceph-authtool/cap*.t || die
+}
+
+ceph_src_configure() {
+	local flag
+	local mycmakeargs=(
+		-DWITH_BABELTRACE=$(usex babeltrace)
+		-DWITH_CEPHFS=$(usex cephfs)
+		-DWITH_CEPHFS_SHELL=$(if python_is_python3; then usex cephfs; else echo OFF; fi)
+		-DWITH_DPDK=$(usex dpdk)
+		-DWITH_DPDK=$(usex spdk)
+		-DWITH_FUSE=$(usex fuse)
+		-DWITH_LTTNG=$(usex lttng)
+		-DWITH_GSSAPI=$(usex kerberos)
+		-DWITH_GRAFANA=$(usex grafana)
+		-DWITH_MGR=$(usex mgr)
+		-DWITH_MGR_DASHBOARD_FRONTEND=NO
+		-DWITH_NUMA=$(usex numa)
+		-DWITH_OPENLDAP=$(usex ldap)
+		-DMGR_PYTHON_VERSION=$(if python_is_python3; then echo 3; else echo 2; fi)
+		-DWITH_PYTHON3=$(if python_is_python3; then echo "ON"; else echo "OFF"; fi)
+		-DWITH_PYTHON2=$(if python_is_python3; then echo "OFF"; else echo "ON"; fi)
+		-DWITH_RADOSGW=$(usex radosgw)
+		-DWITH_RADOSGW_AMQP_ENDPOINT=$(usex rabbitmq)
+		-DWITH_SSL=$(usex ssl)
+		-DWITH_SYSTEMD=$(usex systemd)
+		-DWITH_TESTS=$(usex test)
+		-DWITH_XFS=$(usex xfs)
+		-DWITH_ZFS=$(usex zfs)
+		-DENABLE_SHARED=$(usex static-libs '' 'ON' 'OFF')
+		-DALLOCATOR=$(usex tcmalloc 'tcmalloc' "$(usex jemalloc 'jemalloc' 'libc')")
+		-DWITH_SYSTEM_BOOST=$(usex system-boost)
+		-DBOOST_J=$(makeopts_jobs)
+		-DWITH_RDMA=no
+		-DWITH_TBB=no
+		-DSYSTEMD_UNITDIR=$(systemd_get_systemunitdir)
+		-DEPYTHON_VERSION="${EPYTHON#python}"
+		-DCMAKE_INSTALL_DOCDIR="${EPREFIX}/usr/share/doc/${PN}-${PVR}"
+		-DCMAKE_INSTALL_SYSCONFDIR="${EPREFIX}/etc"
+		#-Wno-dev
+	)
+	if use amd64 || use x86; then
+		for flag in ${CPU_FLAGS_X86[@]}; do
+			mycmakeargs+=("$(usex cpu_flags_x86_${flag} "-DHAVE_INTEL_${flag^^}=1")")
+		done
+	fi
+
+	rm -f "${BUILD_DIR:-${S}}/CMakeCache.txt" \
+		|| die "failed to remove cmake cache"
+
+	cmake-utils_src_configure
+
+	# bug #630232
+	sed -i "s:\"${T//:\\:}/${EPYTHON}/bin/python\":\"${PYTHON}\":" \
+		"${BUILD_DIR:-${S}}"/include/acconfig.h \
+		|| die "sed failed"
+}
+
+src_configure() {
+	ceph_src_configure
+}
+
+python_compile() {
+	local CMAKE_USE_DIR="${S}"
+	ceph_src_configure
+
+	pushd "${BUILD_DIR}/src/pybind" >/dev/null || die
+	emake VERBOSE=1 clean
+	emake VERBOSE=1 all
+
+	# python modules are only compiled with "make install" so we need to do this to
+	# prevent doing a bunch of compilation in src_install
+	DESTDIR="${T}" emake VERBOSE=1 install
+	popd >/dev/null || die
+}
+
+src_compile() {
+	cmake-utils_src_make VERBOSE=1 all
+
+	# we have to do this here to prevent from building everything multiple times
+	python_copy_sources
+	python_foreach_impl python_compile
+}
+
+src_test() {
+	make check || die "make check failed"
+}
+
+python_install() {
+	local CMAKE_USE_DIR="${S}"
+	pushd "${BUILD_DIR}/src/pybind" >/dev/null || die
+	DESTDIR="${ED}" emake VERBOSE=1 install
+	popd >/dev/null || die
+
+	python_optimize
+}
+
+src_install() {
+	cmake-utils_src_install
+	python_foreach_impl python_install
+
+	find "${ED}" -name '*.la' -type f -delete || die
+
+	exeinto /usr/$(get_libdir)/ceph
+	newexe "${BUILD_DIR}/bin/init-ceph" init-ceph
+
+	insinto /etc/logrotate.d/
+	newins "${FILESDIR}"/ceph.logrotate-r2 ${PN}
+
+	keepdir /var/lib/${PN}{,/tmp} /var/log/${PN}/stat
+
+	fowners -R ceph:ceph /var/log/ceph
+
+	newinitd "${FILESDIR}/rbdmap.initd" rbdmap
+	newinitd "${FILESDIR}/${PN}.initd-r12" ${PN}
+	newconfd "${FILESDIR}/${PN}.confd-r5" ${PN}
+
+	insinto /etc/sysctl.d
+	newins "${FILESDIR}"/sysctld 90-${PN}.conf
+
+	use tcmalloc && newenvd "${FILESDIR}"/envd-tcmalloc 99${PN}-tcmalloc
+
+	# units aren't installed by the build system unless systemd is enabled
+	# so no point installing these with the USE flag disabled
+	if use systemd; then
+		systemd_install_serviced "${FILESDIR}/ceph-mds_at.service.conf" \
+			"ceph-mds@.service"
+
+		systemd_install_serviced "${FILESDIR}/ceph-osd_at.service.conf" \
+			"ceph-osd@.service"
+	fi
+
+	udev_dorules udev/*.rules
+
+	readme.gentoo_create_doc
+
+	python_setup 'python3*'
+
+	# bug #630232
+	sed -i -r "s:${T//:/\\:}/${EPYTHON}:/usr:" "${ED}"/usr/bin/ceph{,-crash} \
+		|| die "sed failed"
+
+	python_fix_shebang "${ED}"/usr/{,s}bin/
+
+	# python_fix_shebang apparently is not idempotent
+	local shebang_regex='(/usr/lib/python-exec/python[0-9]\.[0-9]/python)[0-9]\.[0-9]'
+	grep -r -E -l --null "${shebang_regex}" "${ED}"/usr/{s,}bin/ \
+		| xargs --null --no-run-if-empty -- sed -i -r  "s:${shebang_regex}:\1:" || die
+
+	local -a rados_classes=( "${ED}/usr/$(get_libdir)/rados-classes"/* )
+	dostrip -x "${rados_classes[@]#${ED}}"
+}
+
+pkg_postinst() {
+	readme.gentoo_print_elog
+}

diff --git a/sys-cluster/ceph/files/ceph-14.2.5-boost-1.6-python-sonames.patch b/sys-cluster/ceph/files/ceph-14.2.5-boost-1.6-python-sonames.patch
new file mode 100644
index 00000000000..318844f6c02
--- /dev/null
+++ b/sys-cluster/ceph/files/ceph-14.2.5-boost-1.6-python-sonames.patch
@@ -0,0 +1,26 @@
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 1e9ebfbb41..1a858a6e3f 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -649,7 +649,7 @@ set(BOOST_HEADER_COMPONENTS container)
+ 
+ if(WITH_MGR)
+   list(APPEND BOOST_COMPONENTS
+-    python${MGR_PYTHON_VERSION_MAJOR}${MGR_PYTHON_VERSION_MINOR})
++    python-${MGR_PYTHON_VERSION_MAJOR}.${MGR_PYTHON_VERSION_MINOR})
+ endif()
+ if(WITH_BOOST_CONTEXT)
+   list(APPEND BOOST_COMPONENTS context coroutine)
+diff --git a/cmake/modules/BuildBoost.cmake b/cmake/modules/BuildBoost.cmake
+index f46cc0d485..3cc6340b2c 100644
+--- a/cmake/modules/BuildBoost.cmake
++++ b/cmake/modules/BuildBoost.cmake
+@@ -205,7 +205,7 @@ macro(build_boost version)
+     endif()
+     add_dependencies(Boost::${c} Boost)
+     if(c MATCHES "^python")
+-      set(c "python${PYTHON_VERSION_MAJOR}${PYTHON_VERSION_MINOR}")
++      set(c "python-${PYTHON_VERSION_MAJOR}.${PYTHON_VERSION_MINOR}")
+     endif()
+     if(Boost_USE_STATIC_LIBS)
+       set(Boost_${upper_c}_LIBRARY

diff --git a/sys-cluster/ceph/files/ceph-14.2.5-boost-1.70.patch b/sys-cluster/ceph/files/ceph-14.2.5-boost-1.70.patch
new file mode 100644
index 00000000000..693925e8825
--- /dev/null
+++ b/sys-cluster/ceph/files/ceph-14.2.5-boost-1.70.patch
@@ -0,0 +1,78 @@
+diff --git a/src/rgw/rgw_asio_frontend.cc b/src/rgw/rgw_asio_frontend.cc
+index 82e2a45da6..8750c5648f 100644
+--- a/src/rgw/rgw_asio_frontend.cc
++++ b/src/rgw/rgw_asio_frontend.cc
+@@ -83,7 +83,8 @@ class StreamIO : public rgw::asio::ClientIO {
+ using SharedMutex = ceph::async::SharedMutex<boost::asio::io_context::executor_type>;
+ 
+ template <typename Stream>
+-void handle_connection(RGWProcessEnv& env, Stream& stream,
++void handle_connection(boost::asio::io_context& context,
++                       RGWProcessEnv& env, Stream& stream,
+                        parse_buffer& buffer, bool is_ssl,
+                        SharedMutex& pause_mutex,
+                        rgw::dmclock::Scheduler *scheduler,
+@@ -160,7 +161,7 @@ void handle_connection(RGWProcessEnv& env, Stream& stream,
+                                   rgw::io::add_conlen_controlling(
+                                     &real_client))));
+       RGWRestfulIO client(cct, &real_client_io);
+-      auto y = optional_yield{socket.get_io_context(), yield};
++      auto y = optional_yield{context, yield};
+       process_request(env.store, env.rest, &req, env.uri_prefix,
+                       *env.auth_registry, &client, env.olog, y, scheduler);
+     }
+@@ -604,7 +605,7 @@ void AsioFrontend::accept(Listener& l, boost::system::error_code ec)
+           return;
+         }
+         buffer->consume(bytes);
+-        handle_connection(env, stream, *buffer, true, pause_mutex,
++        handle_connection(context, env, stream, *buffer, true, pause_mutex,
+                           scheduler.get(), ec, yield);
+         if (!ec) {
+           // ssl shutdown (ignoring errors)
+@@ -622,7 +623,7 @@ void AsioFrontend::accept(Listener& l, boost::system::error_code ec)
+         auto c = connections.add(conn);
+         auto buffer = std::make_unique<parse_buffer>();
+         boost::system::error_code ec;
+-        handle_connection(env, s, *buffer, false, pause_mutex,
++        handle_connection(context, env, s, *buffer, false, pause_mutex,
+                           scheduler.get(), ec, yield);
+         s.shutdown(tcp::socket::shutdown_both, ec);
+       });
+diff --git a/src/rgw/rgw_dmclock_async_scheduler.h b/src/rgw/rgw_dmclock_async_scheduler.h
+index 70487a5253..1d454acd2e 100644
+--- a/src/rgw/rgw_dmclock_async_scheduler.h
++++ b/src/rgw/rgw_dmclock_async_scheduler.h
+@@ -82,7 +82,12 @@ class AsyncScheduler : public md_config_obs_t, public Scheduler {
+   using Completion = async::Completion<Signature, async::AsBase<Request>>;
+ 
+   using Clock = ceph::coarse_real_clock;
++#if BOOST_VERSION < 107000
+   using Timer = boost::asio::basic_waitable_timer<Clock>;
++#else
++  using Timer = boost::asio::basic_waitable_timer<Clock,
++        boost::asio::wait_traits<Clock>, executor_type>;
++#endif
+   Timer timer; //< timer for the next scheduled request
+ 
+   CephContext *const cct;
+diff --git a/src/rgw/rgw_reshard.h b/src/rgw/rgw_reshard.h
+index d99a6ff68d..213fc238d2 100644
+--- a/src/rgw/rgw_reshard.h
++++ b/src/rgw/rgw_reshard.h
+@@ -183,7 +183,14 @@ class RGWReshardWait {
+   ceph::condition_variable cond;
+ 
+   struct Waiter : boost::intrusive::list_base_hook<> {
+-    boost::asio::basic_waitable_timer<Clock> timer;
++#if BOOST_VERSION < 107000
++    using Timer = boost::asio::basic_waitable_timer<Clock>;
++#else
++    using Executor = boost::asio::io_context::executor_type;
++    using Timer = boost::asio::basic_waitable_timer<Clock,
++          boost::asio::wait_traits<Clock>, Executor>;
++#endif
++    Timer timer;
+     explicit Waiter(boost::asio::io_context& ioc) : timer(ioc) {}
+   };
+   boost::intrusive::list<Waiter> waiters;

diff --git a/sys-cluster/ceph/files/ceph-14.2.5-boost-sonames.patch b/sys-cluster/ceph/files/ceph-14.2.5-boost-sonames.patch
new file mode 100644
index 00000000000..d8c26bcdfe2
--- /dev/null
+++ b/sys-cluster/ceph/files/ceph-14.2.5-boost-sonames.patch
@@ -0,0 +1,471 @@
+diff --git a/cmake/modules/BuildBoost.cmake b/cmake/modules/BuildBoost.cmake
+index f46cc0d485..39bb081b1b 100644
+--- a/cmake/modules/BuildBoost.cmake
++++ b/cmake/modules/BuildBoost.cmake
+@@ -199,13 +199,13 @@ macro(build_boost version)
+   foreach(c ${Boost_BUILD_COMPONENTS})
+     string(TOUPPER ${c} upper_c)
+     if(Boost_USE_STATIC_LIBS)
+-      add_library(Boost::${c} STATIC IMPORTED)
++      add_library(Boost_${c} STATIC IMPORTED)
+     else()
+-      add_library(Boost::${c} SHARED IMPORTED)
++      add_library(Boost_${c} SHARED IMPORTED)
+     endif()
+-    add_dependencies(Boost::${c} Boost)
++    add_dependencies(Boost_${c} Boost)
+     if(c MATCHES "^python")
+-      set(c "python${PYTHON_VERSION_MAJOR}${PYTHON_VERSION_MINOR}")
++      set(c "python-${PYTHON_VERSION_MAJOR}.${PYTHON_VERSION_MINOR}")
+     endif()
+     if(Boost_USE_STATIC_LIBS)
+       set(Boost_${upper_c}_LIBRARY
+@@ -215,7 +215,7 @@ macro(build_boost version)
+         ${install_dir}/lib/${CMAKE_SHARED_LIBRARY_PREFIX}boost_${c}${CMAKE_SHARED_LIBRARY_SUFFIX})
+     endif()
+     unset(buildid)
+-    set_target_properties(Boost::${c} PROPERTIES
++    set_target_properties(Boost_${c} PROPERTIES
+       INTERFACE_INCLUDE_DIRECTORIES "${Boost_INCLUDE_DIRS}"
+       IMPORTED_LINK_INTERFACE_LANGUAGES "CXX"
+       IMPORTED_LOCATION "${Boost_${upper_c}_LIBRARY}")
+@@ -224,19 +224,19 @@ macro(build_boost version)
+   foreach(c ${Boost_BUILD_COMPONENTS})
+     if(Boost_${c}_DEPENDENCIES)
+       foreach(dep ${Boost_${c}_DEPENDENCIES})
+-        list(APPEND dependencies Boost::${dep})
++        list(APPEND dependencies Boost_${dep})
+       endforeach()
+-      set_target_properties(Boost::${c} PROPERTIES
++      set_target_properties(Boost_${c} PROPERTIES
+         INTERFACE_LINK_LIBRARIES "${dependencies}")
+       unset(dependencies)
+     endif()
+   endforeach()
+ 
+   # for header-only libraries
+-  add_library(Boost::boost INTERFACE IMPORTED)
+-  set_target_properties(Boost::boost PROPERTIES
++  add_library(Boost_boost INTERFACE IMPORTED)
++  set_target_properties(Boost_boost PROPERTIES
+     INTERFACE_INCLUDE_DIRECTORIES "${Boost_INCLUDE_DIRS}")
+-  add_dependencies(Boost::boost Boost)
++  add_dependencies(Boost_boost Boost)
+   find_package_handle_standard_args(Boost DEFAULT_MSG
+     Boost_INCLUDE_DIRS Boost_LIBRARIES)
+   mark_as_advanced(Boost_LIBRARIES BOOST_INCLUDE_DIRS)
+@@ -253,7 +253,7 @@ function(maybe_add_boost_dep target)
+     get_filename_component(ext ${src} EXT)
+     # assuming all cxx source files include boost header(s)
+     if(ext MATCHES ".cc|.cpp|.cxx")
+-      add_dependencies(${target} Boost::boost)
++      add_dependencies(${target} Boost_boost)
+       return()
+     endif()
+   endforeach()
+diff --git a/cmake/modules/FindBoost.cmake b/cmake/modules/FindBoost.cmake
+index e2525b8934..e728e5a9d2 100644
+--- a/cmake/modules/FindBoost.cmake
++++ b/cmake/modules/FindBoost.cmake
+@@ -340,10 +340,6 @@ macro(_Boost_ADJUST_LIB_VARS basename)
+ 
+     if(Boost_${basename}_LIBRARY AND Boost_${basename}_HEADER)
+       set(Boost_${basename}_FOUND ON)
+-      if("x${basename}" STREQUAL "xTHREAD" AND NOT TARGET Threads::Threads)
+-        string(APPEND Boost_ERROR_REASON_THREAD " (missing dependency: Threads)")
+-        set(Boost_THREAD_FOUND OFF)
+-      endif()
+     endif()
+ 
+   endif()
+@@ -919,7 +915,7 @@ function(_Boost_COMPONENT_DEPENDENCIES component _ret)
+   if (NOT _boost_DEPS_STRING)
+     set(_boost_DEPS_STRING "(none)")
+   endif()
+-  # message(STATUS "Dependencies for Boost::${component}: ${_boost_DEPS_STRING}")
++  # message(STATUS "Dependencies for Boost_${component}: ${_boost_DEPS_STRING}")
+ endfunction()
+ 
+ #
+@@ -1003,7 +999,7 @@ function(_Boost_COMPONENT_HEADERS component _hdrs)
+   if (NOT _boost_HDRS_STRING)
+     set(_boost_HDRS_STRING "(none)")
+   endif()
+-  # message(STATUS "Headers for Boost::${component}: ${_boost_HDRS_STRING}")
++  # message(STATUS "Headers for Boost_${component}: ${_boost_HDRS_STRING}")
+ endfunction()
+ 
+ #
+@@ -1051,7 +1047,7 @@ endfunction()
+ 
+ #
+ # Some boost libraries may require particular set of compler features.
+-# The very first one was `boost::fiber` introduced in Boost 1.62.
++# The very first one was `boost_fiber` introduced in Boost 1.62.
+ # One can check required compiler features of it in
+ # - `${Boost_ROOT}/libs/fiber/build/Jamfile.v2`;
+ # - `${Boost_ROOT}/libs/context/build/Jamfile.v2`.
+@@ -1178,7 +1174,7 @@ else()
+   # _Boost_COMPONENT_HEADERS.  See the instructions at the top of
+   # _Boost_COMPONENT_DEPENDENCIES.
+   set(_Boost_KNOWN_VERSIONS ${Boost_ADDITIONAL_VERSIONS}
+-    "1.70.0" "1.70" "1.69.0" "1.69"
++    "1.71.0" "1.71" "1.70.0" "1.70" "1.69.0" "1.69"
+     "1.68.0" "1.68" "1.67.0" "1.67" "1.66.0" "1.66" "1.65.1" "1.65.0" "1.65"
+     "1.64.0" "1.64" "1.63.0" "1.63" "1.62.0" "1.62" "1.61.0" "1.61" "1.60.0" "1.60"
+     "1.59.0" "1.59" "1.58.0" "1.58" "1.57.0" "1.57" "1.56.0" "1.56" "1.55.0" "1.55"
+@@ -1235,10 +1231,10 @@ endif()
+ # on all platforms to keep end user code free from platform dependent
+ # code.  Also provide convenience targets to disable autolinking and
+ # enable dynamic linking.
+-if(NOT TARGET Boost::diagnostic_definitions)
+-  add_library(Boost::diagnostic_definitions INTERFACE IMPORTED)
+-  add_library(Boost::disable_autolinking INTERFACE IMPORTED)
+-  add_library(Boost::dynamic_linking INTERFACE IMPORTED)
++if(NOT TARGET boost_diagnostic_definitions)
++  add_library(boost_diagnostic_definitions INTERFACE IMPORTED)
++  add_library(boost_disable_autolinking INTERFACE IMPORTED)
++  add_library(boost_dynamic_linking INTERFACE IMPORTED)
+ endif()
+ if(WIN32)
+   # In windows, automatic linking is performed, so you do not have
+@@ -1259,11 +1255,11 @@ if(WIN32)
+   # code to emit a #pragma message each time a library is selected
+   # for linking.
+   set(Boost_LIB_DIAGNOSTIC_DEFINITIONS "-DBOOST_LIB_DIAGNOSTIC")
+-  set_target_properties(Boost::diagnostic_definitions PROPERTIES
++  set_target_properties(boost_diagnostic_definitions PROPERTIES
+     INTERFACE_COMPILE_DEFINITIONS "BOOST_LIB_DIAGNOSTIC")
+-  set_target_properties(Boost::disable_autolinking PROPERTIES
++  set_target_properties(boost_disable_autolinking PROPERTIES
+     INTERFACE_COMPILE_DEFINITIONS "BOOST_ALL_NO_LIB")
+-  set_target_properties(Boost::dynamic_linking PROPERTIES
++  set_target_properties(boost_dynamic_linking PROPERTIES
+     INTERFACE_COMPILE_DEFINITIONS "BOOST_ALL_DYN_LINK")
+ endif()
+ 
+@@ -1738,7 +1734,7 @@ if("thread" IN_LIST Boost_FIND_COMPONENTS)
+   else()
+     set(_Boost_find_quiet "")
+   endif()
+-  find_package(Threads ${_Boost_find_quiet})
++  find_package(boost_thread ${_Boost_find_quiet})
+   unset(_Boost_find_quiet)
+ endif()
+ 
+@@ -2079,61 +2075,61 @@ endif()
+ 
+ if(Boost_FOUND)
+   # For header-only libraries
+-  if(NOT TARGET Boost::boost)
+-    add_library(Boost::boost INTERFACE IMPORTED)
++  if(NOT TARGET Boost_boost)
++    add_library(Boost_boost INTERFACE IMPORTED)
+     if(Boost_INCLUDE_DIRS)
+-      set_target_properties(Boost::boost PROPERTIES
++      set_target_properties(Boost_boost PROPERTIES
+         INTERFACE_INCLUDE_DIRECTORIES "${Boost_INCLUDE_DIRS}")
+     endif()
+   endif()
+ 
+   foreach(COMPONENT ${Boost_FIND_COMPONENTS})
+-    if(_Boost_IMPORTED_TARGETS AND NOT TARGET Boost::${COMPONENT})
++    if(_Boost_IMPORTED_TARGETS AND NOT TARGET Boost_${COMPONENT})
+       string(TOUPPER ${COMPONENT} UPPERCOMPONENT)
+       if(Boost_${UPPERCOMPONENT}_FOUND)
+         if(Boost_USE_STATIC_LIBS)
+-          add_library(Boost::${COMPONENT} STATIC IMPORTED)
++          add_library(Boost_${COMPONENT} STATIC IMPORTED)
+         else()
+           # Even if Boost_USE_STATIC_LIBS is OFF, we might have static
+           # libraries as a result.
+-          add_library(Boost::${COMPONENT} UNKNOWN IMPORTED)
++          add_library(Boost_${COMPONENT} UNKNOWN IMPORTED)
+         endif()
+         if(Boost_INCLUDE_DIRS)
+-          set_target_properties(Boost::${COMPONENT} PROPERTIES
++          set_target_properties(Boost_${COMPONENT} PROPERTIES
+             INTERFACE_INCLUDE_DIRECTORIES "${Boost_INCLUDE_DIRS}")
+         endif()
+         if(EXISTS "${Boost_${UPPERCOMPONENT}_LIBRARY}")
+-          set_target_properties(Boost::${COMPONENT} PROPERTIES
++          set_target_properties(Boost_${COMPONENT} PROPERTIES
+             IMPORTED_LINK_INTERFACE_LANGUAGES "CXX"
+             IMPORTED_LOCATION "${Boost_${UPPERCOMPONENT}_LIBRARY}")
+         endif()
+         if(EXISTS "${Boost_${UPPERCOMPONENT}_LIBRARY_RELEASE}")
+-          set_property(TARGET Boost::${COMPONENT} APPEND PROPERTY
++          set_property(TARGET Boost_${COMPONENT} APPEND PROPERTY
+             IMPORTED_CONFIGURATIONS RELEASE)
+-          set_target_properties(Boost::${COMPONENT} PROPERTIES
++          set_target_properties(Boost_${COMPONENT} PROPERTIES
+             IMPORTED_LINK_INTERFACE_LANGUAGES_RELEASE "CXX"
+             IMPORTED_LOCATION_RELEASE "${Boost_${UPPERCOMPONENT}_LIBRARY_RELEASE}")
+         endif()
+         if(EXISTS "${Boost_${UPPERCOMPONENT}_LIBRARY_DEBUG}")
+-          set_property(TARGET Boost::${COMPONENT} APPEND PROPERTY
++          set_property(TARGET Boost_${COMPONENT} APPEND PROPERTY
+             IMPORTED_CONFIGURATIONS DEBUG)
+-          set_target_properties(Boost::${COMPONENT} PROPERTIES
++          set_target_properties(Boost_${COMPONENT} PROPERTIES
+             IMPORTED_LINK_INTERFACE_LANGUAGES_DEBUG "CXX"
+             IMPORTED_LOCATION_DEBUG "${Boost_${UPPERCOMPONENT}_LIBRARY_DEBUG}")
+         endif()
+         if(_Boost_${UPPERCOMPONENT}_DEPENDENCIES)
+           unset(_Boost_${UPPERCOMPONENT}_TARGET_DEPENDENCIES)
+           foreach(dep ${_Boost_${UPPERCOMPONENT}_DEPENDENCIES})
+-            list(APPEND _Boost_${UPPERCOMPONENT}_TARGET_DEPENDENCIES Boost::${dep})
++            list(APPEND _Boost_${UPPERCOMPONENT}_TARGET_DEPENDENCIES Boost_${dep})
+           endforeach()
+           if(COMPONENT STREQUAL "thread")
+-            list(APPEND _Boost_${UPPERCOMPONENT}_TARGET_DEPENDENCIES Threads::Threads)
++            list(APPEND _Boost_${UPPERCOMPONENT}_TARGET_DEPENDENCIES boost_thread)
+           endif()
+-          set_target_properties(Boost::${COMPONENT} PROPERTIES
++          set_target_properties(Boost_${COMPONENT} PROPERTIES
+             INTERFACE_LINK_LIBRARIES "${_Boost_${UPPERCOMPONENT}_TARGET_DEPENDENCIES}")
+         endif()
+         if(_Boost_${UPPERCOMPONENT}_COMPILER_FEATURES)
+-          set_target_properties(Boost::${COMPONENT} PROPERTIES
++          set_target_properties(Boost_${COMPONENT} PROPERTIES
+             CXX_STANDARD 17)
+         endif()
+       endif()
+diff --git a/cmake/modules/Finddpdk.cmake b/cmake/modules/Finddpdk.cmake
+index 964ae5dfb0..92bf07c14e 100644
+--- a/cmake/modules/Finddpdk.cmake
++++ b/cmake/modules/Finddpdk.cmake
+@@ -102,9 +102,9 @@ if(dpdk_FOUND)
+ 
+   if(NOT TARGET dpdk::dpdk)
+     add_library(dpdk::dpdk INTERFACE IMPORTED)
+-    find_package(Threads QUIET)
++    find_package(boost_thread QUIET)
+     list(APPEND dpdk_LIBRARIES
+-      Threads::Threads
++      boost_thread
+       dpdk::cflags)
+     set_target_properties(dpdk::dpdk PROPERTIES
+       INTERFACE_LINK_LIBRARIES "${dpdk_LIBRARIES}"
+diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
+index 28ec9835f8..31a1efa19f 100644
+--- a/src/CMakeLists.txt
++++ b/src/CMakeLists.txt
+@@ -356,12 +356,12 @@ set(ceph_common_objs
+ set(ceph_common_deps
+   json_spirit erasure_code arch crc32
+   ${LIB_RESOLV}
+-  Boost::thread
+-  Boost::system
+-  Boost::random
+-  Boost::program_options
+-  Boost::date_time
+-  Boost::iostreams
++  boost_thread
++  boost_system
++  boost_random
++  boost_program_options
++  boost_date_time
++  boost_iostreams
+   ${BLKID_LIBRARIES}
+   ${Backtrace_LIBRARIES}
+   ${BLKIN_LIBRARIES}
+@@ -522,7 +522,7 @@ if (WITH_CEPHFS)
+     ceph_mds.cc)
+   add_executable(ceph-mds ${ceph_mds_srcs})
+   target_link_libraries(ceph-mds mds ${CMAKE_DL_LIBS} global-static ceph-common
+-    Boost::thread)
++    boost_thread)
+   install(TARGETS ceph-mds DESTINATION bin)
+ endif()
+ 
+diff --git a/src/crimson/CMakeLists.txt b/src/crimson/CMakeLists.txt
+index d7b58521d4..e1533af33f 100644
+--- a/src/crimson/CMakeLists.txt
++++ b/src/crimson/CMakeLists.txt
+@@ -106,8 +106,8 @@ target_link_libraries(crimson-common
+   PRIVATE
+     crc32
+     crimson::cflags
+-    Boost::iostreams
+-    Boost::random
++    boost_iostreams
++    boost_random
+     ${NSS_LIBRARIES} ${NSPR_LIBRARIES} OpenSSL::Crypto)
+ 
+ set(crimson_auth_srcs
+diff --git a/src/mgr/CMakeLists.txt b/src/mgr/CMakeLists.txt
+index 252fb3e5e3..213482da16 100644
+--- a/src/mgr/CMakeLists.txt
++++ b/src/mgr/CMakeLists.txt
+@@ -26,7 +26,7 @@ target_include_directories(ceph-mgr SYSTEM PRIVATE "${PYTHON_INCLUDE_DIRS}")
+ target_link_libraries(ceph-mgr
+   osdc client heap_profiler
+   global-static ceph-common
+-  Boost::python${MGR_PYTHON_VERSION_MAJOR}${MGR_PYTHON_VERSION_MINOR}
++  boost_python${MGR_PYTHON_VERSION_MAJOR}${MGR_PYTHON_VERSION_MINOR}
+   ${MGR_PYTHON_LIBRARIES} ${CMAKE_DL_LIBS} ${GSSAPI_LIBRARIES})
+ set_target_properties(ceph-mgr PROPERTIES
+   POSITION_INDEPENDENT_CODE ${EXE_LINKER_USE_PIE})
+diff --git a/src/rbd_replay/CMakeLists.txt b/src/rbd_replay/CMakeLists.txt
+index e9d3804c5f..5c6eb58de1 100644
+--- a/src/rbd_replay/CMakeLists.txt
++++ b/src/rbd_replay/CMakeLists.txt
+@@ -36,7 +36,7 @@ if(HAVE_BABELTRACE)
+     global
+     babeltrace
+     babeltrace-ctf
+-    Boost::date_time
++    boost_date_time
+     )
+   install(TARGETS rbd-replay-prep DESTINATION bin)
+ endif(HAVE_BABELTRACE)
+diff --git a/src/rgw/CMakeLists.txt b/src/rgw/CMakeLists.txt
+index 82f5181f5b..8a51f140fb 100644
+--- a/src/rgw/CMakeLists.txt
++++ b/src/rgw/CMakeLists.txt
+@@ -202,7 +202,7 @@ if(WITH_CURL_OPENSSL)
+ endif()
+ 
+ if(WITH_BOOST_CONTEXT)
+-  target_link_libraries(rgw_a PRIVATE Boost::coroutine Boost::context)
++  target_link_libraries(rgw_a PRIVATE boost_coroutine boost_context)
+ endif()
+ 
+ set(rgw_libs rgw_a)
+@@ -353,7 +353,7 @@ if(WITH_RADOSGW_AMQP_ENDPOINT)
+   target_link_libraries(rgw_admin_user PRIVATE RabbitMQ::RabbitMQ)
+ endif()
+ if(WITH_BOOST_CONTEXT)
+-  target_link_libraries(rgw_admin_user PRIVATE Boost::coroutine Boost::context)
++  target_link_libraries(rgw_admin_user PRIVATE boost_coroutine boost_context)
+ endif()
+ 
+ if(WITH_TESTS)
+diff --git a/src/test/CMakeLists.txt b/src/test/CMakeLists.txt
+index 5dcee1694d..60743be698 100644
+--- a/src/test/CMakeLists.txt
++++ b/src/test/CMakeLists.txt
+@@ -159,7 +159,7 @@ add_executable(ceph_omapbench
+   )
+ target_link_libraries(ceph_omapbench
+   librados
+-  Boost::program_options
++  boost_program_options
+   global
+   ${BLKID_LIBRARIES}
+   ${CMAKE_DL_LIBS}
+diff --git a/src/test/common/CMakeLists.txt b/src/test/common/CMakeLists.txt
+index 71fb77cda9..aff8fb6565 100644
+--- a/src/test/common/CMakeLists.txt
++++ b/src/test/common/CMakeLists.txt
+@@ -315,8 +315,8 @@ add_ceph_unittest(unittest_hobject)
+ 
+ add_executable(unittest_async_completion test_async_completion.cc)
+ add_ceph_unittest(unittest_async_completion)
+-target_link_libraries(unittest_async_completion Boost::system)
++target_link_libraries(unittest_async_completion boost_system)
+ 
+ add_executable(unittest_async_shared_mutex test_async_shared_mutex.cc)
+ add_ceph_unittest(unittest_async_shared_mutex)
+-target_link_libraries(unittest_async_shared_mutex ceph-common Boost::system)
++target_link_libraries(unittest_async_shared_mutex ceph-common boost_system)
+diff --git a/src/test/erasure-code/CMakeLists.txt b/src/test/erasure-code/CMakeLists.txt
+index 721f6c3675..1cd9635c77 100644
+--- a/src/test/erasure-code/CMakeLists.txt
++++ b/src/test/erasure-code/CMakeLists.txt
+@@ -2,15 +2,15 @@
+ add_executable(ceph_erasure_code_benchmark 
+   ${CMAKE_SOURCE_DIR}/src/erasure-code/ErasureCode.cc
+   ceph_erasure_code_benchmark.cc)
+-target_link_libraries(ceph_erasure_code_benchmark ceph-common Boost::program_options global ${CMAKE_DL_LIBS})
++target_link_libraries(ceph_erasure_code_benchmark ceph-common boost_program_options global ${CMAKE_DL_LIBS})
+ install(TARGETS ceph_erasure_code_benchmark
+   DESTINATION bin)
+ 
+ add_executable(ceph_erasure_code_non_regression ceph_erasure_code_non_regression.cc)
+-target_link_libraries(ceph_erasure_code_non_regression ceph-common Boost::program_options global ${CMAKE_DL_LIBS})
++target_link_libraries(ceph_erasure_code_non_regression ceph-common boost_program_options global ${CMAKE_DL_LIBS})
+ 
+ add_executable(ceph_erasure_code ceph_erasure_code.cc)
+-target_link_libraries(ceph_erasure_code ceph-common Boost::program_options global ${CMAKE_DL_LIBS})
++target_link_libraries(ceph_erasure_code ceph-common boost_program_options global ${CMAKE_DL_LIBS})
+ install(TARGETS ceph_erasure_code
+   DESTINATION bin)
+ 
+diff --git a/src/test/librados/CMakeLists.txt b/src/test/librados/CMakeLists.txt
+index 4fc53d2406..e6304394f8 100644
+--- a/src/test/librados/CMakeLists.txt
++++ b/src/test/librados/CMakeLists.txt
+@@ -62,7 +62,7 @@ add_executable(ceph_test_rados_api_asio asio.cc)
+ target_link_libraries(ceph_test_rados_api_asio global
+   librados ${UNITTEST_LIBS})
+ if(WITH_BOOST_CONTEXT)
+-  target_link_libraries(ceph_test_rados_api_asio Boost::coroutine Boost::context)
++  target_link_libraries(ceph_test_rados_api_asio boost_coroutine boost_context)
+ endif()
+ 
+ add_executable(ceph_test_rados_api_list
+@@ -132,7 +132,7 @@ add_executable(ceph_test_rados_api_tier_pp
+   tier_cxx.cc
+   $<TARGET_OBJECTS:unit-main>)
+ target_link_libraries(ceph_test_rados_api_tier_pp
+-  librados global ${UNITTEST_LIBS} Boost::system radostest-cxx)
++  librados global ${UNITTEST_LIBS} boost_system radostest-cxx)
+ 
+ add_executable(ceph_test_rados_api_snapshots
+   snapshots.cc)
+diff --git a/src/test/librbd/CMakeLists.txt b/src/test/librbd/CMakeLists.txt
+index 3c3e9db6c1..2c208c1a4f 100644
+--- a/src/test/librbd/CMakeLists.txt
++++ b/src/test/librbd/CMakeLists.txt
+@@ -27,7 +27,7 @@ target_link_libraries(rbd_test PRIVATE
+   radostest
+   radostest-cxx
+   librados
+-  Boost::thread
++  boost_thread
+   GMock::GMock
+   GTest::GTest)
+ 
+diff --git a/src/test/rgw/CMakeLists.txt b/src/test/rgw/CMakeLists.txt
+index cde6348d57..e6ce738834 100644
+--- a/src/test/rgw/CMakeLists.txt
++++ b/src/test/rgw/CMakeLists.txt
+@@ -144,7 +144,7 @@ add_ceph_unittest(unittest_rgw_dmclock_scheduler)
+ target_link_libraries(unittest_rgw_dmclock_scheduler radosgw_a dmclock)
+ if(WITH_BOOST_CONTEXT)
+   target_compile_definitions(unittest_rgw_dmclock_scheduler PRIVATE BOOST_COROUTINES_NO_DEPRECATION_WARNING)
+-  target_link_libraries(unittest_rgw_dmclock_scheduler Boost::coroutine Boost::context)
++  target_link_libraries(unittest_rgw_dmclock_scheduler boost_coroutine boost_context)
+ endif()
+ 
+ if(WITH_RADOSGW_AMQP_ENDPOINT)
+diff --git a/src/tools/CMakeLists.txt b/src/tools/CMakeLists.txt
+index d31f3d2408..6945018b11 100644
+--- a/src/tools/CMakeLists.txt
++++ b/src/tools/CMakeLists.txt
+@@ -35,20 +35,20 @@ install(PROGRAMS
+ endif(WITH_TESTS)
+ 
+ add_executable(ceph-osdomap-tool ceph_osdomap_tool.cc)
+-target_link_libraries(ceph-osdomap-tool os global Boost::program_options)
++target_link_libraries(ceph-osdomap-tool os global boost_program_options)
+ install(TARGETS ceph-osdomap-tool DESTINATION bin)
+ 
+ add_executable(ceph-monstore-tool
+   ceph_monstore_tool.cc
+   ../mgr/mgr_commands.cc)
+-target_link_libraries(ceph-monstore-tool os global Boost::program_options)
++target_link_libraries(ceph-monstore-tool os global boost_program_options)
+ install(TARGETS ceph-monstore-tool DESTINATION bin)
+ 
+ add_executable(ceph-objectstore-tool
+   ceph_objectstore_tool.cc
+   rebuild_mondb.cc
+   RadosDump.cc)
+-target_link_libraries(ceph-objectstore-tool osd os global Boost::program_options ${CMAKE_DL_LIBS})
++target_link_libraries(ceph-objectstore-tool osd os global boost_program_options ${CMAKE_DL_LIBS})
+ if(WITH_FUSE)
+   target_link_libraries(ceph-objectstore-tool ${FUSE_LIBRARIES})
+ endif(WITH_FUSE)

diff --git a/sys-cluster/ceph/files/ceph-14.2.5-no-virtualenvs.patch b/sys-cluster/ceph/files/ceph-14.2.5-no-virtualenvs.patch
new file mode 100644
index 00000000000..5b7cb41c87a
--- /dev/null
+++ b/sys-cluster/ceph/files/ceph-14.2.5-no-virtualenvs.patch
@@ -0,0 +1,39 @@
+diff --git a/src/pybind/mgr/dashboard/CMakeLists.txt b/src/pybind/mgr/dashboard/CMakeLists.txt
+index b6c7861838..8ce95a93a5 100644
+--- a/src/pybind/mgr/dashboard/CMakeLists.txt
++++ b/src/pybind/mgr/dashboard/CMakeLists.txt
+@@ -2,7 +2,7 @@ set(MGR_DASHBOARD_VIRTUALENV ${CEPH_BUILD_VIRTUALENV}/mgr-dashboard-virtualenv)
+ 
+ add_custom_target(mgr-dashboard-test-venv
+   COMMAND
+-  ${CMAKE_SOURCE_DIR}/src/tools/setup-virtualenv.sh --python=${MGR_PYTHON_EXECUTABLE} ${MGR_DASHBOARD_VIRTUALENV}
++  #${CMAKE_SOURCE_DIR}/src/tools/setup-virtualenv.sh --python=${MGR_PYTHON_EXECUTABLE} ${MGR_DASHBOARD_VIRTUALENV}
+   WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}/src/pybind/mgr/dashboard
+   COMMENT "dashboard tests virtualenv is being created")
+ add_dependencies(tests mgr-dashboard-test-venv)
+@@ -14,9 +14,9 @@ function(add_npm_command)
+   set(multi_kw COMMAND DEPENDS)
+   cmake_parse_arguments(NC "${options}" "${single_kw}" "${multi_kw}" ${ARGN})
+   string(REPLACE ";" " " command "${NC_COMMAND}")
+-  if(NC_NODEENV)
+-    string(REGEX REPLACE "^(.*(npm|npx) .*)$" ". ${mgr-dashboard-nodeenv-dir}/bin/activate && \\1 && deactivate" command ${command})
+-  endif()
++  #if(NC_NODEENV)
++  #  string(REGEX REPLACE "^(.*(npm|npx) .*)$" ". ${mgr-dashboard-nodeenv-dir}/bin/activate && \\1 && deactivate" command ${command})
++  #endif()
+   string(REPLACE " " ";" command "${command}")
+   add_custom_command(
+     OUTPUT "${NC_OUTPUT}"
+@@ -41,9 +41,9 @@ else()
+ 
+   add_custom_command(
+     OUTPUT "${mgr-dashboard-nodeenv-dir}/bin/npm"
+-    COMMAND ${CMAKE_SOURCE_DIR}/src/tools/setup-virtualenv.sh --python=${MGR_PYTHON_EXECUTABLE} ${mgr-dashboard-nodeenv-dir}
+-    COMMAND ${mgr-dashboard-nodeenv-dir}/bin/pip install nodeenv
+-    COMMAND ${mgr-dashboard-nodeenv-dir}/bin/nodeenv -p --node=10.13.0
++	#COMMAND ${CMAKE_SOURCE_DIR}/src/tools/setup-virtualenv.sh --python=${MGR_PYTHON_EXECUTABLE} ${mgr-dashboard-nodeenv-dir}
++	#COMMAND ${mgr-dashboard-nodeenv-dir}/bin/pip install nodeenv
++	#COMMAND ${mgr-dashboard-nodeenv-dir}/bin/nodeenv -p --node=10.13.0
+     WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
+     COMMENT "dashboard nodeenv is being installed"
+   )

diff --git a/sys-cluster/ceph/metadata.xml b/sys-cluster/ceph/metadata.xml
index bfbf70b7a30..d69494c3b6d 100644
--- a/sys-cluster/ceph/metadata.xml
+++ b/sys-cluster/ceph/metadata.xml
@@ -20,6 +20,7 @@
     <flag name="babeltrace">Add support for LTTng babeltrace</flag>
     <flag name="cephfs">Build support for cephfs, a POSIX compatible filesystem built on top of ceph</flag>
     <flag name="dpdk">Enable DPDK messaging</flag>
+    <flag name="spdk">Enable SPDK user-mode storage driver toolkit</flag>
     <flag name="fuse">Build fuse client</flag>
     <flag name="grafana">Install grafana dashboards</flag>
     <flag name="lttng">Add support for LTTng</flag>


^ permalink raw reply related	[flat|nested] 68+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-cluster/ceph/, sys-cluster/ceph/files/
@ 2019-11-08 23:26 Patrick McLean
  0 siblings, 0 replies; 68+ messages in thread
From: Patrick McLean @ 2019-11-08 23:26 UTC (permalink / raw
  To: gentoo-commits

commit:     8c9da308d9c8ee174b4627b75bbfc30bc91c6f65
Author:     Patrick McLean <patrick.mclean <AT> sony <DOT> com>
AuthorDate: Fri Nov  8 23:25:23 2019 +0000
Commit:     Patrick McLean <chutzpah <AT> gentoo <DOT> org>
CommitDate: Fri Nov  8 23:25:23 2019 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=8c9da308

sys-cluster/ceph: revbump to 14.2.4-r1, misc fixes

Copyright: Sony Interactive Entertainment Inc.
Package-Manager: Portage-2.3.78, Repoman-2.3.17
Signed-off-by: Patrick McLean <chutzpah <AT> gentoo.org>

 .../{ceph-14.2.4.ebuild => ceph-14.2.4-r1.ebuild}  |  4 ++
 .../ceph/files/ceph-14.2.4-python-executable.patch | 29 +++++++++
 .../files/ceph-14.2.4-undefined-behaviour.patch    | 76 ++++++++++++++++++++++
 3 files changed, 109 insertions(+)

diff --git a/sys-cluster/ceph/ceph-14.2.4.ebuild b/sys-cluster/ceph/ceph-14.2.4-r1.ebuild
similarity index 98%
rename from sys-cluster/ceph/ceph-14.2.4.ebuild
rename to sys-cluster/ceph/ceph-14.2.4-r1.ebuild
index 82af9e6a844..02af6882fd5 100644
--- a/sys-cluster/ceph/ceph-14.2.4.ebuild
+++ b/sys-cluster/ceph/ceph-14.2.4-r1.ebuild
@@ -154,6 +154,8 @@ PATCHES=(
 	"${FILESDIR}/ceph-14.2.0-cython-0.29.patch"
 	"${FILESDIR}/ceph-14.2.3-boost-1.70.patch"
 	"${FILESDIR}/ceph-14.2.3-dpdk-compile-fix-1.patch"
+	"${FILESDIR}/ceph-14.2.4-python-executable.patch"
+	"${FILESDIR}/ceph-14.2.4-undefined-behaviour.patch"
 )
 
 # dpdk and ninja don't get along
@@ -294,6 +296,8 @@ python_install() {
 	pushd "${BUILD_DIR}/src/pybind" >/dev/null || die
 	DESTDIR="${ED}" emake VERBOSE=1 install
 	popd >/dev/null || die
+
+	python_optimize
 }
 
 src_install() {

diff --git a/sys-cluster/ceph/files/ceph-14.2.4-python-executable.patch b/sys-cluster/ceph/files/ceph-14.2.4-python-executable.patch
new file mode 100644
index 00000000000..40feaf11ad3
--- /dev/null
+++ b/sys-cluster/ceph/files/ceph-14.2.4-python-executable.patch
@@ -0,0 +1,29 @@
+diff --git a/src/ceph-crash.in b/src/ceph-crash.in
+index 5bfb50c474..d53c4eeb6a 100755
+--- a/src/ceph-crash.in
++++ b/src/ceph-crash.in
+@@ -1,4 +1,4 @@
+-#!@PYTHON_EXECUTABLE@
++#!@PYTHON3_EXECUTABLE@
+ # -*- mode:python -*-
+ # vim: ts=4 sw=4 smarttab expandtab
+ 
+diff --git a/src/ceph.in b/src/ceph.in
+index f060023f57..3a84263ccc 100755
+--- a/src/ceph.in
++++ b/src/ceph.in
+@@ -1,4 +1,4 @@
+-#!@PYTHON_EXECUTABLE@
++#!@PYTHON3_EXECUTABLE@
+ # -*- mode:python -*-
+ # vim: ts=4 sw=4 smarttab expandtab
+ #
+@@ -66,7 +66,7 @@ DEVMODEMSG = '*** DEVELOPER MODE: setting PATH, PYTHONPATH and LD_LIBRARY_PATH *
+ def respawn_in_path(lib_path, pybind_path, pythonlib_path, asan_lib_path):
+     execv_cmd = []
+     if 'CEPH_DBG' in os.environ:
+-        execv_cmd += ['@PYTHON_EXECUTABLE@', '-mpdb']
++        execv_cmd += ['@PYTHON3_EXECUTABLE@', '-mpdb']
+ 
+     if platform.system() == "Darwin":
+         lib_path_var = "DYLD_LIBRARY_PATH"

diff --git a/sys-cluster/ceph/files/ceph-14.2.4-undefined-behaviour.patch b/sys-cluster/ceph/files/ceph-14.2.4-undefined-behaviour.patch
new file mode 100644
index 00000000000..99249fb01a0
--- /dev/null
+++ b/sys-cluster/ceph/files/ceph-14.2.4-undefined-behaviour.patch
@@ -0,0 +1,76 @@
+diff --git a/src/include/blobhash.h b/src/include/blobhash.h
+index 597884e4c9..97f2065ce3 100644
+--- a/src/include/blobhash.h
++++ b/src/include/blobhash.h
+@@ -14,33 +14,40 @@
+ #ifndef CEPH_BLOBHASH_H
+ #define CEPH_BLOBHASH_H
+ 
++#include <cstdint>
+ #include "hash.h"
+ 
+-/*
+-- this is to make some of the STL types work with 64 bit values, string hash keys, etc.
+-- added when i was using an old STL.. maybe try taking these out and see if things 
+-  compile now?
+-*/
+-
+ class blobhash {
+ public:
+-  uint32_t operator()(const char *p, unsigned len) {
+-    static rjhash<uint32_t> H;
+-    uint32_t acc = 0;
++  uint32_t operator()(const void* p, size_t len) {
++    static rjhash<std::uint32_t> H;
++    std::uint32_t acc = 0;
++    auto buf = static_cast<const unsigned char*>(p);
+     while (len >= sizeof(acc)) {
+-      acc ^= *(uint32_t*)p;
+-      p += sizeof(uint32_t);
+-      len -= sizeof(uint32_t);
++      acc ^= unaligned_load(buf);
++      buf += sizeof(std::uint32_t);
++      len -= sizeof(std::uint32_t);
+     }
+-    int sh = 0;
+-    while (len) {
+-      acc ^= (uint32_t)*p << sh;
+-      sh += 8;
+-      len--;
+-      p++;
++    // handle the last few bytes of p[-(len % 4):]
++    switch (len) {
++    case 3:
++      acc ^= buf[2] << 16;
++      [[fallthrough]];
++    case 2:
++      acc ^= buf[1] << 8;
++      [[fallthrough]];
++    case 1:
++      acc ^= buf[0];
++      [[fallthrough]];
+     }
+     return H(acc);
+   }
++private:
++  static inline std::uint32_t unaligned_load(const unsigned char* p) {
++    std::uint32_t result;
++    __builtin_memcpy(&result, p, sizeof(result));
++    return result;
++  }
+ };
+ 
+ 
+diff --git a/src/msg/msg_types.h b/src/msg/msg_types.h
+index b6952ca498..576b7d6b8a 100644
+--- a/src/msg/msg_types.h
++++ b/src/msg/msg_types.h
+@@ -566,7 +566,7 @@ namespace std {
+     size_t operator()( const entity_addr_t& x ) const
+     {
+       static blobhash H;
+-      return H((const char*)&x, sizeof(x));
++      return H(&x, sizeof(x));
+     }
+   };
+ } // namespace std


^ permalink raw reply related	[flat|nested] 68+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-cluster/ceph/, sys-cluster/ceph/files/
@ 2019-09-17 22:56 Patrick McLean
  0 siblings, 0 replies; 68+ messages in thread
From: Patrick McLean @ 2019-09-17 22:56 UTC (permalink / raw
  To: gentoo-commits

commit:     c7b2b02c6ba86ca2e4d36ee847fa4cca88dc46c2
Author:     Patrick McLean <patrick.mclean <AT> sony <DOT> com>
AuthorDate: Tue Sep 17 22:55:07 2019 +0000
Commit:     Patrick McLean <chutzpah <AT> gentoo <DOT> org>
CommitDate: Tue Sep 17 22:55:52 2019 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=c7b2b02c

sys-cluster/ceph: Version bump to 14.2.4, drop x86 (bug 687344)

Dropped x86 keyword since it doesn't build (bug #687344)

Upstream fix for bug #694140 included in release

Closes: https://bugs.gentoo.org/687344
Closes: https://bugs.gentoo.org/694140
Copyright: Sony Interactive Entertainment Inc.
Package-Manager: Portage-2.3.76, Repoman-2.3.17
Signed-off-by: Patrick McLean <chutzpah <AT> gentoo.org>

 sys-cluster/ceph/Manifest                          |   1 +
 sys-cluster/ceph/ceph-14.2.4.ebuild                | 356 +++++++++++++++++++++
 .../files/ceph-14.2.3-dpdk-compile-fix-1.patch     | 111 +++++++
 3 files changed, 468 insertions(+)

diff --git a/sys-cluster/ceph/Manifest b/sys-cluster/ceph/Manifest
index 0655ed2e6b6..b1f4c196936 100644
--- a/sys-cluster/ceph/Manifest
+++ b/sys-cluster/ceph/Manifest
@@ -4,3 +4,4 @@ DIST ceph-12.2.8.tar.gz 77243685 BLAKE2B 37c34396a0c276b8d79735e14934ac70da02482
 DIST ceph-13.2.5.tar.gz 91006057 BLAKE2B 68551e2f54d78aff7b0e9ec3c62e6a3394dd7c23e80924a5b400cd9666a05a42e5f22445deee4040f1b78201c6a6660b283109878d4c92d845821bff831c8a5e SHA512 6daea524523f829e725609328ea71f416b2c3a9530fa8956720a7bc69dc08e55a169654f500704579dc9ba693f04eedd7e04614c0850e9ab1169cd45f19039f8
 DIST ceph-13.2.6.tar.gz 90808224 BLAKE2B cd7b4f4838eafc9dd580102cbb5247b86a153f90127f81355b556f32dbbacd2d7fb0144d15f99869a318a7148d2f50a9f995eb05aee056d7a5843830ede5702c SHA512 1e9c08d16b14447bf6b8bb72144e053aa9d5cf390bb4a6e878869e38895d3698073502fe9c4f8b775a3da872b920444bd01260105d3a839e53cf90cd27c6ab9c
 DIST ceph-14.2.3.tar.gz 118349530 BLAKE2B db73d6adeca84426eee1b47a8ee68c4f94ee7a61e60ef1127153d19e02472a658877ebb7adfad5b4725d2c8c38855636bad1c44e79a3d3c397b56f74bf4b53fa SHA512 3d02e766a1d53d39355ee88738dd0233dc02f8a3cb44935194cb538b888507de8f8acdd99bf7890895f68795a310f53e2a8652305d5f2be5212efbd9046bd3a9
+DIST ceph-14.2.4.tar.gz 116371380 BLAKE2B 2d2c78ec32a0749df16e9c527d2fd087a75daeb2ef26ac5f6aa641989eab62fa276eb320b873740e9eee3fd4f369da152c53c2389b1def1b6a45906ccc1bd1f1 SHA512 dc60321ed4dcaccacca711ab70c35011b5dfc6b8369016fb413a9976199ed4ba22c7dc87ba1ebaf1118513dee1a0c263c99ab137f27fc03c55e8a0625a3bdcc0

diff --git a/sys-cluster/ceph/ceph-14.2.4.ebuild b/sys-cluster/ceph/ceph-14.2.4.ebuild
new file mode 100644
index 00000000000..82af9e6a844
--- /dev/null
+++ b/sys-cluster/ceph/ceph-14.2.4.ebuild
@@ -0,0 +1,356 @@
+# Copyright 1999-2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+PYTHON_COMPAT=( python{2_7,3_{5,6,7}} )
+DISTUTILS_OPTIONAL=1
+
+inherit check-reqs bash-completion-r1 cmake-utils distutils-r1 flag-o-matic \
+		multiprocessing python-r1 udev user readme.gentoo-r1 toolchain-funcs \
+		systemd
+
+if [[ ${PV} == *9999* ]]; then
+	inherit git-r3
+	EGIT_REPO_URI="https://github.com/ceph/ceph.git"
+	SRC_URI=""
+else
+	SRC_URI="https://download.ceph.com/tarballs/${P}.tar.gz"
+	KEYWORDS="~amd64 ~arm64"
+fi
+
+DESCRIPTION="Ceph distributed filesystem"
+HOMEPAGE="https://ceph.com/"
+
+LICENSE="LGPL-2.1 CC-BY-SA-3.0 GPL-2 GPL-2+ LGPL-2+ BSD Boost-1.0 MIT public-domain"
+SLOT="0"
+
+CPU_FLAGS_X86=(sse{,2,3,4_1,4_2} ssse3)
+
+IUSE="babeltrace cephfs dpdk fuse grafana jemalloc kerberos ldap libressl"
+IUSE+=" lttng +mgr numa rabbitmq +radosgw +ssl static-libs system-boost"
+IUSE+=" systemd +tcmalloc test xfs zfs"
+IUSE+=" $(printf "cpu_flags_x86_%s\n" ${CPU_FLAGS_X86[@]})"
+
+COMMON_DEPEND="
+	virtual/libudev:=
+	app-arch/bzip2:=[static-libs?]
+	app-arch/lz4:=[static-libs?]
+	app-arch/snappy:=[static-libs?]
+	app-arch/zstd:=[static-libs?]
+	app-misc/jq:=[static-libs?]
+	dev-libs/crypto++:=[static-libs?]
+	dev-libs/leveldb:=[snappy,static-libs?,tcmalloc?]
+	dev-libs/libaio:=[static-libs?]
+	dev-libs/libxml2:=[static-libs?]
+	dev-libs/nss:=
+	sys-auth/oath-toolkit:=
+	sys-apps/keyutils:=[static-libs?]
+	sys-apps/util-linux:=[static-libs?]
+	sys-libs/ncurses:0=[static-libs?]
+	sys-libs/zlib:=[static-libs?]
+	babeltrace? ( dev-util/babeltrace )
+	ldap? ( net-nds/openldap:=[static-libs?] )
+	lttng? ( dev-util/lttng-ust:= )
+	fuse? ( sys-fs/fuse:0=[static-libs?] )
+	kerberos? ( virtual/krb5 )
+	rabbitmq? ( net-libs/rabbitmq-c:=[static-libs?] )
+	ssl? (
+		!libressl? ( dev-libs/openssl:=[static-libs?] )
+		libressl? ( dev-libs/libressl:=[static-libs?] )
+	)
+	xfs? ( sys-fs/xfsprogs:=[static-libs?] )
+	zfs? ( sys-fs/zfs:=[static-libs?] )
+	radosgw? (
+		dev-libs/expat:=[static-libs?]
+		!libressl? (
+			dev-libs/openssl:=[static-libs?]
+			net-misc/curl:=[curl_ssl_openssl,static-libs?]
+		)
+		libressl? (
+			dev-libs/libressl:=[static-libs?]
+			net-misc/curl:=[curl_ssl_libressl,static-libs?]
+		)
+	)
+	system-boost? (
+		|| (
+			~dev-libs/boost-1.70.0[threads,context,python,static-libs?,${PYTHON_USEDEP}]
+			~dev-libs/boost-1.67.0[threads,context,python,static-libs?,${PYTHON_USEDEP}]
+		)
+		dev-libs/boost:=[threads,context,python,static-libs?,${PYTHON_USEDEP}]
+	)
+	jemalloc? ( dev-libs/jemalloc:=[static-libs?] )
+	!jemalloc? ( >=dev-util/google-perftools-2.4:=[static-libs?] )
+	${PYTHON_DEPS}
+	"
+DEPEND="${COMMON_DEPEND}
+	amd64? ( dev-lang/yasm )
+	x86? ( dev-lang/yasm )
+	dev-python/cython[${PYTHON_USEDEP}]
+	dev-python/sphinx
+	dev-util/cunit
+	test? (
+		dev-python/coverage[${PYTHON_USEDEP}]
+		dev-python/virtualenv[${PYTHON_USEDEP}]
+		sys-apps/grep[pcre]
+		sys-fs/btrfs-progs
+	)
+	"
+BDEPEND="	app-arch/cpio
+	>=dev-util/cmake-3.5.0
+	dev-util/gperf
+	dev-util/valgrind
+	sys-apps/which
+	sys-devel/bc
+	virtual/pkgconfig
+	"
+RDEPEND="${COMMON_DEPEND}
+	net-misc/socat
+	sys-apps/gptfdisk
+	sys-block/parted
+	sys-fs/cryptsetup
+	sys-fs/lvm2[-device-mapper-only(-)]
+	!<sys-apps/openrc-0.26.3
+	dev-python/bcrypt[${PYTHON_USEDEP}]
+	dev-python/cherrypy[${PYTHON_USEDEP}]
+	dev-python/flask[${PYTHON_USEDEP}]
+	dev-python/jinja[${PYTHON_USEDEP}]
+	dev-python/pecan[${PYTHON_USEDEP}]
+	dev-python/prettytable[${PYTHON_USEDEP}]
+	dev-python/pyopenssl[${PYTHON_USEDEP}]
+	dev-python/requests[${PYTHON_USEDEP}]
+	dev-python/werkzeug[${PYTHON_USEDEP}]
+	"
+REQUIRED_USE="
+	${PYTHON_REQUIRED_USE}
+	|| ( $(python_gen_useflags 'python3*') )
+	?? ( jemalloc tcmalloc )
+	rabbitmq? ( radosgw )
+	"
+
+# the tests need root access
+RESTRICT="test? ( userpriv )"
+
+# distribution tarball does not include everything needed for tests
+RESTRICT+=" test"
+
+# false positives unless all USE flags are on
+CMAKE_WARN_UNUSED_CLI="no"
+
+UNBUNDLE_LIBS=(
+	src/erasure-code/jerasure/jerasure
+	src/erasure-code/jerasure/gf-complete
+)
+
+PATCHES=(
+	"${FILESDIR}/ceph-12.2.0-use-provided-cpu-flag-values.patch"
+	"${FILESDIR}/ceph-14.2.0-cflags.patch"
+	"${FILESDIR}/ceph-12.2.4-boost-build-none-options.patch"
+	"${FILESDIR}/ceph-13.2.0-cflags.patch"
+	"${FILESDIR}/ceph-14.2.0-mgr-python-version.patch"
+	"${FILESDIR}/ceph-14.2.0-no-virtualenvs.patch"
+	"${FILESDIR}/ceph-13.2.2-dont-install-sysvinit-script.patch"
+	"${FILESDIR}/ceph-14.2.0-dpdk-cflags.patch"
+	"${FILESDIR}/ceph-14.2.0-link-crc32-statically.patch"
+	"${FILESDIR}/ceph-14.2.0-cython-0.29.patch"
+	"${FILESDIR}/ceph-14.2.3-boost-1.70.patch"
+	"${FILESDIR}/ceph-14.2.3-dpdk-compile-fix-1.patch"
+)
+
+# dpdk and ninja don't get along
+CMAKE_MAKEFILE_GENERATOR="emake"
+
+check-reqs_export_vars() {
+	if use amd64; then
+		CHECKREQS_DISK_BUILD="12G"
+		CHECKREQS_DISK_USR="460M"
+	else
+		CHECKREQS_DISK_BUILD="1400M"
+		CHECKREQS_DISK_USR="450M"
+	fi
+
+	export CHECKREQS_DISK_BUILD CHECKREQS_DISK_USR
+}
+
+user_setup() {
+	enewgroup ceph ${CEPH_GID}
+	enewuser ceph "${CEPH_UID:--1}" -1 /var/lib/ceph ceph
+}
+
+pkg_pretend() {
+	check-reqs_export_vars
+	check-reqs_pkg_pretend
+}
+
+pkg_setup() {
+	python_setup 'python3*'
+	check-reqs_export_vars
+	check-reqs_pkg_setup
+	user_setup
+}
+
+src_prepare() {
+	cmake-utils_src_prepare
+
+	if use system-boost; then
+		eapply "${FILESDIR}/ceph-14.2.3-boost-sonames.patch"
+
+		has_version '>=dev-libs/boost-1.70.0' || \
+			eapply "${FILESDIR}/ceph-14.2.3-boost-1.6-python-sonames.patch"
+	fi
+
+	sed -i -r "s:DESTINATION .+\\):DESTINATION $(get_bashcompdir)\\):" \
+		src/bash_completion/CMakeLists.txt || die
+
+	# remove tests that need root access
+	rm src/test/cli/ceph-authtool/cap*.t || die
+}
+
+ceph_src_configure() {
+	local flag
+	local mycmakeargs=(
+		-DWITH_BABELTRACE=$(usex babeltrace)
+		-DWITH_CEPHFS=$(usex cephfs)
+		-DWITH_CEPHFS_SHELL=$(if python_is_python3; then usex cephfs; else echo OFF; fi)
+		-DWITH_DPDK=$(usex dpdk)
+		-DWITH_FUSE=$(usex fuse)
+		-DWITH_LTTNG=$(usex lttng)
+		-DWITH_GSSAPI=$(usex kerberos)
+		-DWITH_GRAFANA=$(usex grafana)
+		-DWITH_MGR=$(usex mgr)
+		-DWITH_MGR_DASHBOARD_FRONTEND=NO
+		-DWITH_NUMA=$(usex numa)
+		-DWITH_OPENLDAP=$(usex ldap)
+		-DMGR_PYTHON_VERSION=$(if python_is_python3; then echo 3; else echo 2; fi)
+		-DWITH_PYTHON3=$(if python_is_python3; then echo "ON"; else echo "OFF"; fi)
+		-DWITH_PYTHON2=$(if python_is_python3; then echo "OFF"; else echo "ON"; fi)
+		-DWITH_RADOSGW=$(usex radosgw)
+		-DWITH_RADOSGW_AMQP_ENDPOINT=$(usex rabbitmq)
+		-DWITH_SSL=$(usex ssl)
+		-DWITH_SYSTEMD=$(usex systemd)
+		-DWITH_TESTS=$(usex test)
+		-DWITH_XFS=$(usex xfs)
+		-DWITH_ZFS=$(usex zfs)
+		-DENABLE_SHARED=$(usex static-libs '' 'ON' 'OFF')
+		-DALLOCATOR=$(usex tcmalloc 'tcmalloc' "$(usex jemalloc 'jemalloc' 'libc')")
+		-DWITH_SYSTEM_BOOST=$(usex system-boost)
+		-DBOOST_J=$(makeopts_jobs)
+		-DWITH_RDMA=no
+		-DWITH_TBB=no
+		-DSYSTEMD_UNITDIR=$(systemd_get_systemunitdir)
+		-DEPYTHON_VERSION="${EPYTHON#python}"
+		-DCMAKE_INSTALL_DOCDIR="${EPREFIX}/usr/share/doc/${PN}-${PVR}"
+		-DCMAKE_INSTALL_SYSCONFDIR="${EPREFIX}/etc"
+		#-Wno-dev
+	)
+	if use amd64 || use x86; then
+		for flag in ${CPU_FLAGS_X86[@]}; do
+			mycmakeargs+=("$(usex cpu_flags_x86_${flag} "-DHAVE_INTEL_${flag^^}=1")")
+		done
+	fi
+
+	rm -f "${BUILD_DIR:-${S}}/CMakeCache.txt" \
+		|| die "failed to remove cmake cache"
+
+	cmake-utils_src_configure
+
+	# bug #630232
+	sed -i "s:\"${T//:\\:}/${EPYTHON}/bin/python\":\"${PYTHON}\":" \
+		"${BUILD_DIR:-${S}}"/include/acconfig.h \
+		|| die "sed failed"
+}
+
+src_configure() {
+	ceph_src_configure
+}
+
+python_compile() {
+	local CMAKE_USE_DIR="${S}"
+	ceph_src_configure
+
+	pushd "${BUILD_DIR}/src/pybind" >/dev/null || die
+	emake VERBOSE=1 clean
+	emake VERBOSE=1 all
+
+	# python modules are only compiled with "make install" so we need to do this to
+	# prevent doing a bunch of compilation in src_install
+	DESTDIR="${T}" emake VERBOSE=1 install
+	popd >/dev/null || die
+}
+
+src_compile() {
+	cmake-utils_src_make VERBOSE=1 all
+
+	# we have to do this here to prevent from building everything multiple times
+	python_copy_sources
+	python_foreach_impl python_compile
+}
+
+src_test() {
+	make check || die "make check failed"
+}
+
+python_install() {
+	local CMAKE_USE_DIR="${S}"
+	pushd "${BUILD_DIR}/src/pybind" >/dev/null || die
+	DESTDIR="${ED}" emake VERBOSE=1 install
+	popd >/dev/null || die
+}
+
+src_install() {
+	cmake-utils_src_install
+	python_foreach_impl python_install
+
+	find "${ED}" -name '*.la' -type f -delete || die
+
+	exeinto /usr/$(get_libdir)/ceph
+	newexe "${BUILD_DIR}/bin/init-ceph" init-ceph
+
+	insinto /etc/logrotate.d/
+	newins "${FILESDIR}"/ceph.logrotate-r2 ${PN}
+
+	keepdir /var/lib/${PN}{,/tmp} /var/log/${PN}/stat
+
+	fowners -R ceph:ceph /var/lib/ceph /var/log/ceph
+
+	newinitd "${FILESDIR}/rbdmap.initd" rbdmap
+	newinitd "${FILESDIR}/${PN}.initd-r12" ${PN}
+	newconfd "${FILESDIR}/${PN}.confd-r5" ${PN}
+
+	insinto /etc/sysctl.d
+	newins "${FILESDIR}"/sysctld 90-${PN}.conf
+
+	use tcmalloc && newenvd "${FILESDIR}"/envd-tcmalloc 99${PN}-tcmalloc
+
+	# units aren't installed by the build system unless systemd is enabled
+	# so no point installing these with the USE flag disabled
+	if use systemd; then
+		systemd_install_serviced "${FILESDIR}/ceph-mds_at.service.conf" \
+			"ceph-mds@.service"
+
+		systemd_install_serviced "${FILESDIR}/ceph-osd_at.service.conf" \
+			"ceph-osd@.service"
+	fi
+
+	udev_dorules udev/*.rules
+
+	readme.gentoo_create_doc
+
+	python_setup 'python3*'
+
+	# bug #630232
+	sed -i -r "s:${T//:/\\:}/${EPYTHON}:/usr:" "${ED}"/usr/bin/ceph{,-crash} \
+		|| die "sed failed"
+
+	python_fix_shebang "${ED}"/usr/{,s}bin/
+
+	# python_fix_shebang apparently is not idempotent
+	sed -i -r  's:(/usr/lib/python-exec/python[0-9]\.[0-9]/python)[0-9]\.[0-9]:\1:' \
+		"${ED}"/usr/sbin/{mount.*,ceph-volume{,-systemd}} || die "sed failed"
+
+	local -a rados_classes=( "${ED}/usr/$(get_libdir)/rados-classes"/* )
+	dostrip -x "${rados_classes[@]#${ED}}"
+}
+
+pkg_postinst() {
+	readme.gentoo_print_elog
+}

diff --git a/sys-cluster/ceph/files/ceph-14.2.3-dpdk-compile-fix-1.patch b/sys-cluster/ceph/files/ceph-14.2.3-dpdk-compile-fix-1.patch
new file mode 100644
index 00000000000..ef06758326e
--- /dev/null
+++ b/sys-cluster/ceph/files/ceph-14.2.3-dpdk-compile-fix-1.patch
@@ -0,0 +1,111 @@
+diff --git a/src/msg/async/dpdk/DPDKStack.cc b/src/msg/async/dpdk/DPDKStack.cc
+index 3101ae57ac..1db97c289a 100644
+--- a/src/msg/async/dpdk/DPDKStack.cc
++++ b/src/msg/async/dpdk/DPDKStack.cc
+@@ -203,7 +203,9 @@ DPDKWorker::Impl::~Impl()
+   _dev->unset_local_queue(id);
+ }
+
+-int DPDKWorker::listen(entity_addr_t &sa, const SocketOptions &opt,
++int DPDKWorker::listen(entity_addr_t &sa,
++		       unsigned addr_slot,
++		       const SocketOptions &opt,
+                        ServerSocket *sock)
+ {
+   ceph_assert(sa.get_family() == AF_INET);
+diff --git a/src/msg/async/dpdk/DPDKStack.h b/src/msg/async/dpdk/DPDKStack.h
+index a44ae38367..622ff8a3c6 100644
+--- a/src/msg/async/dpdk/DPDKStack.h
++++ b/src/msg/async/dpdk/DPDKStack.h
+@@ -37,7 +37,7 @@ class DPDKServerSocketImpl : public ServerSocketImpl {
+   typename Protocol::listener _listener;
+  public:
+   DPDKServerSocketImpl(Protocol& proto, uint16_t port, const SocketOptions &opt,
+-		       int type);
++		       int type, unsigned addr_slot);
+   int listen() {
+     return _listener.listen();
+   }
+@@ -184,8 +184,9 @@ class NativeConnectedSocketImpl : public ConnectedSocketImpl {
+
+ template <typename Protocol>
+ DPDKServerSocketImpl<Protocol>::DPDKServerSocketImpl(
+-  Protocol& proto, uint16_t port, const SocketOptions &opt, int type)
+-  : ServerSocketImpl(type), _listener(proto.listen(port)) {}
++  Protocol& proto, uint16_t port, const SocketOptions &opt,
++  int type, unsigned addr_slot)
++  : ServerSocketImpl(type, addr_slot), _listener(proto.listen(port)) {}
+
+ template <typename Protocol>
+ int DPDKServerSocketImpl<Protocol>::accept(ConnectedSocket *s, const SocketOptions &options, entity_addr_t *out, Worker *w) {
+@@ -229,7 +230,8 @@ class DPDKWorker : public Worker {
+
+  public:
+   explicit DPDKWorker(CephContext *c, unsigned i): Worker(c, i) {}
+-  virtual int listen(entity_addr_t &addr, const SocketOptions &opts, ServerSocket *) override;
++  virtual int listen(entity_addr_t &addr, unsigned addr_slot,
++		     const SocketOptions &opts, ServerSocket *) override;
+   virtual int connect(const entity_addr_t &addr, const SocketOptions &opts, ConnectedSocket *socket) override;
+   void arp_learn(ethernet_address l2, ipv4_address l3) {
+     _impl->_inet.learn(l2, l3);
+diff --git a/src/msg/async/dpdk/TCP.cc b/src/msg/async/dpdk/TCP.cc
+index c6397709b1..26f29e10f7 100644
+--- a/src/msg/async/dpdk/TCP.cc
++++ b/src/msg/async/dpdk/TCP.cc
+@@ -153,9 +153,10 @@ bool ipv4_tcp::forward(forward_hash& out_hash_data, Packet& p, size_t off)
+ }
+
+ int tcpv4_listen(tcp<ipv4_traits>& tcpv4, uint16_t port, const SocketOptions &opts,
+-                 int type, ServerSocket *sock)
++                 int type, unsigned addr_slot, ServerSocket *sock)
+ {
+-  auto p = new DPDKServerSocketImpl<tcp<ipv4_traits>>(tcpv4, port, opts, type);
++  auto p = new DPDKServerSocketImpl<tcp<ipv4_traits>>(tcpv4, port, opts,
++						      type, addr_slot);
+   int r = p->listen();
+   if (r < 0) {
+     delete p;
+diff --git a/src/msg/async/dpdk/DPDK.h b/src/msg/async/dpdk/DPDK.h
+index fa12af6b27..6bb52973e0 100644
+--- a/src/msg/async/dpdk/DPDK.h
++++ b/src/msg/async/dpdk/DPDK.h
+@@ -833,7 +833,7 @@ class DPDKDevice {
+   subscription<Packet> receive(unsigned cpuid, std::function<int (Packet)> next_packet) {
+     auto sub = _queues[cpuid]->_rx_stream.listen(std::move(next_packet));
+     _queues[cpuid]->rx_start();
+-    return std::move(sub);
++    return sub;
+   }
+   ethernet_address hw_address() {
+     struct ether_addr mac;
+@@ -849,7 +849,7 @@ class DPDKDevice {
+   std::unique_ptr<DPDKQueuePair> init_local_queue(CephContext *c, EventCenter *center, string hugepages, uint16_t qid) {
+     std::unique_ptr<DPDKQueuePair> qp;
+     qp = std::unique_ptr<DPDKQueuePair>(new DPDKQueuePair(c, center, this, qid));
+-    return std::move(qp);
++    return qp;
+   }
+   unsigned hash2qid(uint32_t hash) {
+     // return hash % hw_queues_count();
+diff --git a/src/msg/async/dpdk/Packet.h b/src/msg/async/dpdk/Packet.h
+index db9cd2a764..f929da3178 100644
+--- a/src/msg/async/dpdk/Packet.h
++++ b/src/msg/async/dpdk/Packet.h
+@@ -125,7 +125,7 @@ class Packet {
+       n->rss_hash.construct(old->rss_hash);
+       std::copy(old->frags, old->frags + old->_nr_frags, n->frags);
+       old->copy_internal_fragment_to(n.get());
+-      return std::move(n);
++      return n;
+     }
+
+     static std::unique_ptr<impl> copy(impl* old) {
+@@ -134,7 +134,7 @@ class Packet {
+
+     static std::unique_ptr<impl> allocate_if_needed(std::unique_ptr<impl> old, size_t extra_frags) {
+       if (old->_allocated_frags >= old->_nr_frags + extra_frags) {
+-        return std::move(old);
++        return old;
+       }
+       return copy(old.get(), std::max<size_t>(old->_nr_frags + extra_frags, 2 * old->_nr_frags));
+     }


^ permalink raw reply related	[flat|nested] 68+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-cluster/ceph/, sys-cluster/ceph/files/
@ 2019-09-05  0:26 Patrick McLean
  0 siblings, 0 replies; 68+ messages in thread
From: Patrick McLean @ 2019-09-05  0:26 UTC (permalink / raw
  To: gentoo-commits

commit:     3f0a4e3725a08365ab41262a0719c285d1382d85
Author:     Patrick McLean <patrick.mclean <AT> sony <DOT> com>
AuthorDate: Thu Sep  5 00:26:22 2019 +0000
Commit:     Patrick McLean <chutzpah <AT> gentoo <DOT> org>
CommitDate: Thu Sep  5 00:26:22 2019 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=3f0a4e37

sys-cluster/ceph: Version bump to 14.2.3

Copyright: Sony Interactive Entertainment Inc.
Package-Manager: Portage-2.3.75, Repoman-2.3.17
Signed-off-by: Patrick McLean <chutzpah <AT> gentoo.org>

 sys-cluster/ceph/Manifest                          |   2 +-
 .../{ceph-14.2.2.ebuild => ceph-14.2.3.ebuild}     |  17 +-
 .../ceph/files/ceph-14.2.0-boost-sonames.patch     | 334 ---------------------
 .../ceph-14.2.3-boost-1.6-python-sonames.patch     |  26 ++
 ...ost-1.70.patch => ceph-14.2.3-boost-1.70.patch} |  42 ---
 ...names.patch => ceph-14.2.3-boost-sonames.patch} |  32 +-
 6 files changed, 48 insertions(+), 405 deletions(-)

diff --git a/sys-cluster/ceph/Manifest b/sys-cluster/ceph/Manifest
index 61a1acb646d..0655ed2e6b6 100644
--- a/sys-cluster/ceph/Manifest
+++ b/sys-cluster/ceph/Manifest
@@ -3,4 +3,4 @@ DIST ceph-12.2.12.tar.gz 77467762 BLAKE2B a5224432121db9ef49c1e22771d847399df2f7
 DIST ceph-12.2.8.tar.gz 77243685 BLAKE2B 37c34396a0c276b8d79735e14934ac70da024822c2a060061531c234e03e5d41aad6c41dc64b05c2ce47f03287d0cae9ef9bed67e4a0861b6380c8ce1de4ea69 SHA512 91c5c11aaeef701b3e31c9f8a1192b6b79fd34f3b96c61595c65173c98bfce0009c5b7c9b29764f5e4d4b1f5ac2ca7109fed5ae598c176aba717a34a132fabac
 DIST ceph-13.2.5.tar.gz 91006057 BLAKE2B 68551e2f54d78aff7b0e9ec3c62e6a3394dd7c23e80924a5b400cd9666a05a42e5f22445deee4040f1b78201c6a6660b283109878d4c92d845821bff831c8a5e SHA512 6daea524523f829e725609328ea71f416b2c3a9530fa8956720a7bc69dc08e55a169654f500704579dc9ba693f04eedd7e04614c0850e9ab1169cd45f19039f8
 DIST ceph-13.2.6.tar.gz 90808224 BLAKE2B cd7b4f4838eafc9dd580102cbb5247b86a153f90127f81355b556f32dbbacd2d7fb0144d15f99869a318a7148d2f50a9f995eb05aee056d7a5843830ede5702c SHA512 1e9c08d16b14447bf6b8bb72144e053aa9d5cf390bb4a6e878869e38895d3698073502fe9c4f8b775a3da872b920444bd01260105d3a839e53cf90cd27c6ab9c
-DIST ceph-14.2.2.tar.gz 117536881 BLAKE2B 2926c3d6fde5e9540d4e797dabf61451ce78e5d2f8d382d192fd8c1759620075860ab0cea7512330f2965d11e4b37a0ecce4fa11d9c5d256ecc884fa5f604922 SHA512 1ce61fb75e331cca39aaa8c0498bbb3cb874edb22ea45a4c2d82171b5e0c7c4ab2b081674b77177d5e612a0efdfa01de10a4becc4a7ee0eed1b2b3d358a72dc1
+DIST ceph-14.2.3.tar.gz 118349530 BLAKE2B db73d6adeca84426eee1b47a8ee68c4f94ee7a61e60ef1127153d19e02472a658877ebb7adfad5b4725d2c8c38855636bad1c44e79a3d3c397b56f74bf4b53fa SHA512 3d02e766a1d53d39355ee88738dd0233dc02f8a3cb44935194cb538b888507de8f8acdd99bf7890895f68795a310f53e2a8652305d5f2be5212efbd9046bd3a9

diff --git a/sys-cluster/ceph/ceph-14.2.2.ebuild b/sys-cluster/ceph/ceph-14.2.3.ebuild
similarity index 94%
rename from sys-cluster/ceph/ceph-14.2.2.ebuild
rename to sys-cluster/ceph/ceph-14.2.3.ebuild
index 0f25b21d3b7..f440a49160c 100644
--- a/sys-cluster/ceph/ceph-14.2.2.ebuild
+++ b/sys-cluster/ceph/ceph-14.2.3.ebuild
@@ -152,6 +152,7 @@ PATCHES=(
 	"${FILESDIR}/ceph-14.2.0-dpdk-cflags.patch"
 	"${FILESDIR}/ceph-14.2.0-link-crc32-statically.patch"
 	"${FILESDIR}/ceph-14.2.0-cython-0.29.patch"
+	"${FILESDIR}/ceph-14.2.3-boost-1.70.patch"
 )
 
 # dpdk and ninja don't get along
@@ -177,12 +178,6 @@ user_setup() {
 pkg_pretend() {
 	check-reqs_export_vars
 	check-reqs_pkg_pretend
-
-	if use system-boost && has_version '~dev-libs/boost-1.70.0'; then
-		ewarn "Building with boost-1.70 is experimental, and may cause runtime"
-		ewarn "failures. Disable the system-boost USE flag to use bundled boost"
-		ewarn "if you want an upstream supported configuration."
-	fi
 }
 
 pkg_setup() {
@@ -196,12 +191,10 @@ src_prepare() {
 	cmake-utils_src_prepare
 
 	if use system-boost; then
-		if has_version '~dev-libs/boost-1.70.0'; then
-			eapply "${FILESDIR}/ceph-14.2.0-boost-1.70-sonames.patch" \
-				"${FILESDIR}/ceph-14.2.0-boost-1.70.patch"
-		else
-			eapply "${FILESDIR}/ceph-14.2.0-boost-sonames.patch"
-		fi
+		eapply "${FILESDIR}/ceph-14.2.3-boost-sonames.patch"
+
+		has_version '>=dev-libs/boost-1.70.0' || \
+			eapply "${FILESDIR}/ceph-14.2.3-boost-1.6-python-sonames.patch"
 	fi
 
 	sed -i -r "s:DESTINATION .+\\):DESTINATION $(get_bashcompdir)\\):" \

diff --git a/sys-cluster/ceph/files/ceph-14.2.0-boost-sonames.patch b/sys-cluster/ceph/files/ceph-14.2.0-boost-sonames.patch
deleted file mode 100644
index 497d5953051..00000000000
--- a/sys-cluster/ceph/files/ceph-14.2.0-boost-sonames.patch
+++ /dev/null
@@ -1,334 +0,0 @@
-diff --git a/CMakeLists.txt b/CMakeLists.txt
-index dbabecbe97..d12b696bb5 100644
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -640,7 +640,7 @@ set(BOOST_HEADER_COMPONENTS container)
- 
- if(WITH_MGR)
-   list(APPEND BOOST_COMPONENTS
--    python${MGR_PYTHON_VERSION_MAJOR}${MGR_PYTHON_VERSION_MINOR})
-+    python-${MGR_PYTHON_VERSION_MAJOR}.${MGR_PYTHON_VERSION_MINOR})
- endif()
- if(WITH_BOOST_CONTEXT)
-   list(APPEND BOOST_COMPONENTS context coroutine)
-diff --git a/cmake/modules/FindBoost.cmake b/cmake/modules/FindBoost.cmake
-index bfab4ca436..90ed0cbb17 100644
---- a/cmake/modules/FindBoost.cmake
-+++ b/cmake/modules/FindBoost.cmake
-@@ -1181,10 +1181,10 @@ endif()
- # on all platforms to keep end user code free from platform dependent
- # code.  Also provide convenience targets to disable autolinking and
- # enable dynamic linking.
--if(NOT TARGET Boost::diagnostic_definitions)
--  add_library(Boost::diagnostic_definitions INTERFACE IMPORTED)
--  add_library(Boost::disable_autolinking INTERFACE IMPORTED)
--  add_library(Boost::dynamic_linking INTERFACE IMPORTED)
-+if(NOT TARGET boost_diagnostic_definitions)
-+  add_library(boost_diagnostic_definitions INTERFACE IMPORTED)
-+  add_library(boost_disable_autolinking INTERFACE IMPORTED)
-+  add_library(boost_dynamic_linking INTERFACE IMPORTED)
- endif()
- if(WIN32)
-   # In windows, automatic linking is performed, so you do not have
-@@ -1205,11 +1205,11 @@ if(WIN32)
-   # code to emit a #pragma message each time a library is selected
-   # for linking.
-   set(Boost_LIB_DIAGNOSTIC_DEFINITIONS "-DBOOST_LIB_DIAGNOSTIC")
--  set_target_properties(Boost::diagnostic_definitions PROPERTIES
-+  set_target_properties(boost_diagnostic_definitions PROPERTIES
-     INTERFACE_COMPILE_DEFINITIONS "BOOST_LIB_DIAGNOSTIC")
--  set_target_properties(Boost::disable_autolinking PROPERTIES
-+  set_target_properties(boost_disable_autolinking PROPERTIES
-     INTERFACE_COMPILE_DEFINITIONS "BOOST_ALL_NO_LIB")
--  set_target_properties(Boost::dynamic_linking PROPERTIES
-+  set_target_properties(boost_dynamic_linking PROPERTIES
-     INTERFACE_COMPILE_DEFINITIONS "BOOST_ALL_DYN_LINK")
- endif()
- 
-@@ -2018,52 +2018,52 @@ if(Boost_FOUND)
-   endif()
- 
-   foreach(COMPONENT ${Boost_FIND_COMPONENTS})
--    if(_Boost_IMPORTED_TARGETS AND NOT TARGET Boost::${COMPONENT})
-+    if(_Boost_IMPORTED_TARGETS AND NOT TARGET boost_${COMPONENT})
-       string(TOUPPER ${COMPONENT} UPPERCOMPONENT)
-       if(Boost_${UPPERCOMPONENT}_FOUND)
-         if(Boost_USE_STATIC_LIBS)
--          add_library(Boost::${COMPONENT} STATIC IMPORTED)
-+          add_library(boost_${COMPONENT} STATIC IMPORTED)
-         else()
-           # Even if Boost_USE_STATIC_LIBS is OFF, we might have static
-           # libraries as a result.
--          add_library(Boost::${COMPONENT} UNKNOWN IMPORTED)
-+          add_library(boost_${COMPONENT} UNKNOWN IMPORTED)
-         endif()
-         if(Boost_INCLUDE_DIRS)
--          set_target_properties(Boost::${COMPONENT} PROPERTIES
-+          set_target_properties(boost_${COMPONENT} PROPERTIES
-             INTERFACE_INCLUDE_DIRECTORIES "${Boost_INCLUDE_DIRS}")
-         endif()
-         if(EXISTS "${Boost_${UPPERCOMPONENT}_LIBRARY}")
--          set_target_properties(Boost::${COMPONENT} PROPERTIES
-+          set_target_properties(boost_${COMPONENT} PROPERTIES
-             IMPORTED_LINK_INTERFACE_LANGUAGES "CXX"
-             IMPORTED_LOCATION "${Boost_${UPPERCOMPONENT}_LIBRARY}")
-         endif()
-         if(EXISTS "${Boost_${UPPERCOMPONENT}_LIBRARY_RELEASE}")
--          set_property(TARGET Boost::${COMPONENT} APPEND PROPERTY
-+          set_property(TARGET boost_${COMPONENT} APPEND PROPERTY
-             IMPORTED_CONFIGURATIONS RELEASE)
--          set_target_properties(Boost::${COMPONENT} PROPERTIES
-+          set_target_properties(boost_${COMPONENT} PROPERTIES
-             IMPORTED_LINK_INTERFACE_LANGUAGES_RELEASE "CXX"
-             IMPORTED_LOCATION_RELEASE "${Boost_${UPPERCOMPONENT}_LIBRARY_RELEASE}")
-         endif()
-         if(EXISTS "${Boost_${UPPERCOMPONENT}_LIBRARY_DEBUG}")
--          set_property(TARGET Boost::${COMPONENT} APPEND PROPERTY
-+          set_property(TARGET boost_${COMPONENT} APPEND PROPERTY
-             IMPORTED_CONFIGURATIONS DEBUG)
--          set_target_properties(Boost::${COMPONENT} PROPERTIES
-+          set_target_properties(boost_${COMPONENT} PROPERTIES
-             IMPORTED_LINK_INTERFACE_LANGUAGES_DEBUG "CXX"
-             IMPORTED_LOCATION_DEBUG "${Boost_${UPPERCOMPONENT}_LIBRARY_DEBUG}")
-         endif()
-         if(_Boost_${UPPERCOMPONENT}_DEPENDENCIES)
-           unset(_Boost_${UPPERCOMPONENT}_TARGET_DEPENDENCIES)
-           foreach(dep ${_Boost_${UPPERCOMPONENT}_DEPENDENCIES})
--            list(APPEND _Boost_${UPPERCOMPONENT}_TARGET_DEPENDENCIES Boost::${dep})
-+            list(APPEND _Boost_${UPPERCOMPONENT}_TARGET_DEPENDENCIES boost_${dep})
-           endforeach()
-           if(COMPONENT STREQUAL "thread")
-             list(APPEND _Boost_${UPPERCOMPONENT}_TARGET_DEPENDENCIES Threads::Threads)
-           endif()
--          set_target_properties(Boost::${COMPONENT} PROPERTIES
-+          set_target_properties(boost_${COMPONENT} PROPERTIES
-             INTERFACE_LINK_LIBRARIES "${_Boost_${UPPERCOMPONENT}_TARGET_DEPENDENCIES}")
-         endif()
-         if(_Boost_${UPPERCOMPONENT}_COMPILER_FEATURES)
--          set_target_properties(Boost::${COMPONENT} PROPERTIES
-+          set_target_properties(boost_${COMPONENT} PROPERTIES
-             INTERFACE_COMPILE_FEATURES "${_Boost_${UPPERCOMPONENT}_COMPILER_FEATURES}")
-         endif()
-       endif()
-diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
-index 1b1f19d464..21c222280f 100644
---- a/src/CMakeLists.txt
-+++ b/src/CMakeLists.txt
-@@ -353,12 +353,12 @@ set(ceph_common_objs
- set(ceph_common_deps
-   json_spirit erasure_code arch crc32
-   ${LIB_RESOLV}
--  Boost::thread
--  Boost::system
--  Boost::random
--  Boost::program_options
--  Boost::date_time
--  Boost::iostreams
-+  boost_thread
-+  boost_system
-+  boost_random
-+  boost_program_options
-+  boost_date_time
-+  boost_iostreams
-   ${BLKID_LIBRARIES}
-   ${Backtrace_LIBRARIES}
-   ${BLKIN_LIBRARIES}
-@@ -518,7 +518,7 @@ if (WITH_CEPHFS)
-     ceph_mds.cc)
-   add_executable(ceph-mds ${ceph_mds_srcs})
-   target_link_libraries(ceph-mds mds ${CMAKE_DL_LIBS} global-static ceph-common
--    Boost::thread)
-+    boost_thread)
-   install(TARGETS ceph-mds DESTINATION bin)
- endif()
- 
-diff --git a/src/crimson/CMakeLists.txt b/src/crimson/CMakeLists.txt
-index d7b58521d4..e1533af33f 100644
---- a/src/crimson/CMakeLists.txt
-+++ b/src/crimson/CMakeLists.txt
-@@ -106,8 +106,8 @@ target_link_libraries(crimson-common
-   PRIVATE
-     crc32
-     crimson::cflags
--    Boost::iostreams
--    Boost::random
-+    boost_iostreams
-+    boost_random
-     ${NSS_LIBRARIES} ${NSPR_LIBRARIES} OpenSSL::Crypto)
- 
- set(crimson_auth_srcs
-diff --git a/src/mgr/CMakeLists.txt b/src/mgr/CMakeLists.txt
-index 252fb3e5e3..3f3823a68e 100644
---- a/src/mgr/CMakeLists.txt
-+++ b/src/mgr/CMakeLists.txt
-@@ -26,7 +26,7 @@ target_include_directories(ceph-mgr SYSTEM PRIVATE "${PYTHON_INCLUDE_DIRS}")
- target_link_libraries(ceph-mgr
-   osdc client heap_profiler
-   global-static ceph-common
--  Boost::python${MGR_PYTHON_VERSION_MAJOR}${MGR_PYTHON_VERSION_MINOR}
-+  boost_python-${MGR_PYTHON_VERSION_MAJOR}.${MGR_PYTHON_VERSION_MINOR}
-   ${MGR_PYTHON_LIBRARIES} ${CMAKE_DL_LIBS} ${GSSAPI_LIBRARIES})
- set_target_properties(ceph-mgr PROPERTIES
-   POSITION_INDEPENDENT_CODE ${EXE_LINKER_USE_PIE})
-diff --git a/src/rbd_replay/CMakeLists.txt b/src/rbd_replay/CMakeLists.txt
-index e9d3804c5f..5c6eb58de1 100644
---- a/src/rbd_replay/CMakeLists.txt
-+++ b/src/rbd_replay/CMakeLists.txt
-@@ -36,7 +36,7 @@ if(HAVE_BABELTRACE)
-     global
-     babeltrace
-     babeltrace-ctf
--    Boost::date_time
-+    boost_date_time
-     )
-   install(TARGETS rbd-replay-prep DESTINATION bin)
- endif(HAVE_BABELTRACE)
-diff --git a/src/rgw/CMakeLists.txt b/src/rgw/CMakeLists.txt
-index ccc4f74cfe..854aa6e5e9 100644
---- a/src/rgw/CMakeLists.txt
-+++ b/src/rgw/CMakeLists.txt
-@@ -199,7 +199,7 @@ if(WITH_CURL_OPENSSL)
- endif()
- 
- if(WITH_BOOST_CONTEXT)
--  target_link_libraries(rgw_a PRIVATE Boost::coroutine Boost::context)
-+  target_link_libraries(rgw_a PRIVATE boost_coroutine boost_context)
- endif()
- 
- set(rgw_libs rgw_a)
-@@ -341,7 +341,7 @@ if(WITH_RADOSGW_AMQP_ENDPOINT)
-   target_link_libraries(rgw_admin_user PRIVATE RabbitMQ::RabbitMQ)
- endif()
- if(WITH_BOOST_CONTEXT)
--  target_link_libraries(rgw_admin_user PRIVATE Boost::coroutine Boost::context)
-+  target_link_libraries(rgw_admin_user PRIVATE boost_coroutine boost_context)
- endif()
- 
- if(WITH_TESTS)
-diff --git a/src/test/CMakeLists.txt b/src/test/CMakeLists.txt
-index 20a64fd41b..a8bb323614 100644
---- a/src/test/CMakeLists.txt
-+++ b/src/test/CMakeLists.txt
-@@ -158,7 +158,7 @@ add_executable(ceph_omapbench
-   )
- target_link_libraries(ceph_omapbench
-   librados
--  Boost::program_options
-+  boost_program_options
-   global
-   ${BLKID_LIBRARIES}
-   ${CMAKE_DL_LIBS}
-diff --git a/src/test/common/CMakeLists.txt b/src/test/common/CMakeLists.txt
-index 71fb77cda9..aff8fb6565 100644
---- a/src/test/common/CMakeLists.txt
-+++ b/src/test/common/CMakeLists.txt
-@@ -315,8 +315,8 @@ add_ceph_unittest(unittest_hobject)
- 
- add_executable(unittest_async_completion test_async_completion.cc)
- add_ceph_unittest(unittest_async_completion)
--target_link_libraries(unittest_async_completion Boost::system)
-+target_link_libraries(unittest_async_completion boost_system)
- 
- add_executable(unittest_async_shared_mutex test_async_shared_mutex.cc)
- add_ceph_unittest(unittest_async_shared_mutex)
--target_link_libraries(unittest_async_shared_mutex ceph-common Boost::system)
-+target_link_libraries(unittest_async_shared_mutex ceph-common boost_system)
-diff --git a/src/test/erasure-code/CMakeLists.txt b/src/test/erasure-code/CMakeLists.txt
-index 721f6c3675..1cd9635c77 100644
---- a/src/test/erasure-code/CMakeLists.txt
-+++ b/src/test/erasure-code/CMakeLists.txt
-@@ -2,15 +2,15 @@
- add_executable(ceph_erasure_code_benchmark 
-   ${CMAKE_SOURCE_DIR}/src/erasure-code/ErasureCode.cc
-   ceph_erasure_code_benchmark.cc)
--target_link_libraries(ceph_erasure_code_benchmark ceph-common Boost::program_options global ${CMAKE_DL_LIBS})
-+target_link_libraries(ceph_erasure_code_benchmark ceph-common boost_program_options global ${CMAKE_DL_LIBS})
- install(TARGETS ceph_erasure_code_benchmark
-   DESTINATION bin)
- 
- add_executable(ceph_erasure_code_non_regression ceph_erasure_code_non_regression.cc)
--target_link_libraries(ceph_erasure_code_non_regression ceph-common Boost::program_options global ${CMAKE_DL_LIBS})
-+target_link_libraries(ceph_erasure_code_non_regression ceph-common boost_program_options global ${CMAKE_DL_LIBS})
- 
- add_executable(ceph_erasure_code ceph_erasure_code.cc)
--target_link_libraries(ceph_erasure_code ceph-common Boost::program_options global ${CMAKE_DL_LIBS})
-+target_link_libraries(ceph_erasure_code ceph-common boost_program_options global ${CMAKE_DL_LIBS})
- install(TARGETS ceph_erasure_code
-   DESTINATION bin)
- 
-diff --git a/src/test/librados/CMakeLists.txt b/src/test/librados/CMakeLists.txt
-index 4fc53d2406..e6304394f8 100644
---- a/src/test/librados/CMakeLists.txt
-+++ b/src/test/librados/CMakeLists.txt
-@@ -62,7 +62,7 @@ add_executable(ceph_test_rados_api_asio asio.cc)
- target_link_libraries(ceph_test_rados_api_asio global
-   librados ${UNITTEST_LIBS})
- if(WITH_BOOST_CONTEXT)
--  target_link_libraries(ceph_test_rados_api_asio Boost::coroutine Boost::context)
-+  target_link_libraries(ceph_test_rados_api_asio boost_coroutine boost_context)
- endif()
- 
- add_executable(ceph_test_rados_api_list
-@@ -132,7 +132,7 @@ add_executable(ceph_test_rados_api_tier_pp
-   tier_cxx.cc
-   $<TARGET_OBJECTS:unit-main>)
- target_link_libraries(ceph_test_rados_api_tier_pp
--  librados global ${UNITTEST_LIBS} Boost::system radostest-cxx)
-+  librados global ${UNITTEST_LIBS} boost_system radostest-cxx)
- 
- add_executable(ceph_test_rados_api_snapshots
-   snapshots.cc)
-diff --git a/src/test/librbd/CMakeLists.txt b/src/test/librbd/CMakeLists.txt
-index 2bf6723c40..e99b8afa11 100644
---- a/src/test/librbd/CMakeLists.txt
-+++ b/src/test/librbd/CMakeLists.txt
-@@ -27,7 +27,7 @@ target_link_libraries(rbd_test PRIVATE
-   radostest
-   radostest-cxx
-   librados
--  Boost::thread
-+  boost_thread
-   GMock::GMock
-   GTest::GTest)
- 
-diff --git a/src/test/rgw/CMakeLists.txt b/src/test/rgw/CMakeLists.txt
-index 9b2c6b6321..80e4cb7829 100644
---- a/src/test/rgw/CMakeLists.txt
-+++ b/src/test/rgw/CMakeLists.txt
-@@ -143,7 +143,7 @@ add_ceph_unittest(unittest_rgw_dmclock_scheduler)
- target_link_libraries(unittest_rgw_dmclock_scheduler ${rgw_libs} dmclock)
- if(WITH_BOOST_CONTEXT)
-   target_compile_definitions(unittest_rgw_dmclock_scheduler PRIVATE BOOST_COROUTINES_NO_DEPRECATION_WARNING)
--  target_link_libraries(unittest_rgw_dmclock_scheduler Boost::coroutine Boost::context)
-+  target_link_libraries(unittest_rgw_dmclock_scheduler boost_coroutine boost_context)
- endif()
- 
- if(WITH_RADOSGW_AMQP_ENDPOINT)
-diff --git a/src/tools/CMakeLists.txt b/src/tools/CMakeLists.txt
-index d31f3d2408..6945018b11 100644
---- a/src/tools/CMakeLists.txt
-+++ b/src/tools/CMakeLists.txt
-@@ -35,20 +35,20 @@ install(PROGRAMS
- endif(WITH_TESTS)
- 
- add_executable(ceph-osdomap-tool ceph_osdomap_tool.cc)
--target_link_libraries(ceph-osdomap-tool os global Boost::program_options)
-+target_link_libraries(ceph-osdomap-tool os global boost_program_options)
- install(TARGETS ceph-osdomap-tool DESTINATION bin)
- 
- add_executable(ceph-monstore-tool
-   ceph_monstore_tool.cc
-   ../mgr/mgr_commands.cc)
--target_link_libraries(ceph-monstore-tool os global Boost::program_options)
-+target_link_libraries(ceph-monstore-tool os global boost_program_options)
- install(TARGETS ceph-monstore-tool DESTINATION bin)
- 
- add_executable(ceph-objectstore-tool
-   ceph_objectstore_tool.cc
-   rebuild_mondb.cc
-   RadosDump.cc)
--target_link_libraries(ceph-objectstore-tool osd os global Boost::program_options ${CMAKE_DL_LIBS})
-+target_link_libraries(ceph-objectstore-tool osd os global boost_program_options ${CMAKE_DL_LIBS})
- if(WITH_FUSE)
-   target_link_libraries(ceph-objectstore-tool ${FUSE_LIBRARIES})
- endif(WITH_FUSE)

diff --git a/sys-cluster/ceph/files/ceph-14.2.3-boost-1.6-python-sonames.patch b/sys-cluster/ceph/files/ceph-14.2.3-boost-1.6-python-sonames.patch
new file mode 100644
index 00000000000..860bd9624e8
--- /dev/null
+++ b/sys-cluster/ceph/files/ceph-14.2.3-boost-1.6-python-sonames.patch
@@ -0,0 +1,26 @@
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 05d1e61270..8b939b8af6 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -640,7 +640,7 @@ set(BOOST_HEADER_COMPONENTS container)
+ 
+ if(WITH_MGR)
+   list(APPEND BOOST_COMPONENTS
+-    python${MGR_PYTHON_VERSION_MAJOR}${MGR_PYTHON_VERSION_MINOR})
++    python-${MGR_PYTHON_VERSION_MAJOR}.${MGR_PYTHON_VERSION_MINOR})
+ endif()
+ if(WITH_BOOST_CONTEXT)
+   list(APPEND BOOST_COMPONENTS context coroutine)
+diff --git a/cmake/modules/BuildBoost.cmake b/cmake/modules/BuildBoost.cmake
+index f46cc0d485..3cc6340b2c 100644
+--- a/cmake/modules/BuildBoost.cmake
++++ b/cmake/modules/BuildBoost.cmake
+@@ -205,7 +205,7 @@ macro(build_boost version)
+     endif()
+     add_dependencies(Boost::${c} Boost)
+     if(c MATCHES "^python")
+-      set(c "python${PYTHON_VERSION_MAJOR}${PYTHON_VERSION_MINOR}")
++      set(c "python-${PYTHON_VERSION_MAJOR}.${PYTHON_VERSION_MINOR}")
+     endif()
+     if(Boost_USE_STATIC_LIBS)
+       set(Boost_${upper_c}_LIBRARY

diff --git a/sys-cluster/ceph/files/ceph-14.2.0-boost-1.70.patch b/sys-cluster/ceph/files/ceph-14.2.3-boost-1.70.patch
similarity index 64%
rename from sys-cluster/ceph/files/ceph-14.2.0-boost-1.70.patch
rename to sys-cluster/ceph/files/ceph-14.2.3-boost-1.70.patch
index ce2ee92b3d8..26cea1e394b 100644
--- a/sys-cluster/ceph/files/ceph-14.2.0-boost-1.70.patch
+++ b/sys-cluster/ceph/files/ceph-14.2.3-boost-1.70.patch
@@ -1,45 +1,3 @@
-diff --git a/CMakeLists.txt b/CMakeLists.txt
-index f97f96b5bf..f5e5d06d35 100644
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -657,13 +657,13 @@ if(WITH_SYSTEM_BOOST)
-   if(BOOST_ROOT AND CMAKE_LIBRARY_ARCHITECTURE)
-     set(BOOST_LIBRARYDIR "${BOOST_ROOT}/lib/${CMAKE_LIBRARY_ARCHITECTURE}")
-   endif()
--  find_package(Boost 1.67 COMPONENTS ${BOOST_COMPONENTS} REQUIRED)
-+  find_package(Boost 1.70 COMPONENTS ${BOOST_COMPONENTS} REQUIRED)
- else()
-   set(BOOST_J 1 CACHE STRING
-     "max jobs for Boost build") # override w/-DBOOST_J=<n>
-   set(Boost_USE_STATIC_LIBS ON)
-   include(BuildBoost)
--  build_boost(1.67
-+  build_boost(1.70
-     COMPONENTS ${BOOST_COMPONENTS} ${BOOST_HEADER_COMPONENTS})
- endif()
- include_directories(BEFORE SYSTEM ${Boost_INCLUDE_DIRS})
-diff --git a/cmake/modules/BuildBoost.cmake b/cmake/modules/BuildBoost.cmake
-index f46cc0d485..4254508570 100644
---- a/cmake/modules/BuildBoost.cmake
-+++ b/cmake/modules/BuildBoost.cmake
-@@ -137,14 +137,14 @@ function(do_build_boost version)
-     check_boost_version("${PROJECT_SOURCE_DIR}/src/boost" ${version})
-     set(source_dir
-       SOURCE_DIR "${PROJECT_SOURCE_DIR}/src/boost")
--  elseif(version VERSION_GREATER 1.67)
-+  elseif(version VERSION_GREATER 1.70)
-     message(FATAL_ERROR "Unknown BOOST_REQUESTED_VERSION: ${version}")
-   else()
-     message(STATUS "boost will be downloaded...")
-     # NOTE: If you change this version number make sure the package is available
-     # at the three URLs below (may involve uploading to download.ceph.com)
--    set(boost_version 1.67.0)
--    set(boost_sha256 2684c972994ee57fc5632e03bf044746f6eb45d4920c343937a465fd67a5adba)
-+    set(boost_version 1.70.0)
-+    set(boost_sha256 430ae8354789de4fd19ee52f3b1f739e1fba576f0aded0897c3c2bc00fb38778)
-     string(REPLACE "." "_" boost_version_underscore ${boost_version} )
-     set(boost_url
-       https://dl.bintray.com/boostorg/release/${boost_version}/source/boost_${boost_version_underscore}.tar.bz2)
 diff --git a/src/rgw/rgw_asio_frontend.cc b/src/rgw/rgw_asio_frontend.cc
 index e4be074ec7..4af3695dc1 100644
 --- a/src/rgw/rgw_asio_frontend.cc

diff --git a/sys-cluster/ceph/files/ceph-14.2.0-boost-1.70-sonames.patch b/sys-cluster/ceph/files/ceph-14.2.3-boost-sonames.patch
similarity index 95%
rename from sys-cluster/ceph/files/ceph-14.2.0-boost-1.70-sonames.patch
rename to sys-cluster/ceph/files/ceph-14.2.3-boost-sonames.patch
index 6d712003742..92ca32f5c8e 100644
--- a/sys-cluster/ceph/files/ceph-14.2.0-boost-1.70-sonames.patch
+++ b/sys-cluster/ceph/files/ceph-14.2.3-boost-sonames.patch
@@ -1,8 +1,8 @@
 diff --git a/cmake/modules/FindBoost.cmake b/cmake/modules/FindBoost.cmake
-index bfab4ca436..90ed0cbb17 100644
+index dd08ba5e45..19d3b8ad37 100644
 --- a/cmake/modules/FindBoost.cmake
 +++ b/cmake/modules/FindBoost.cmake
-@@ -1181,10 +1181,10 @@ endif()
+@@ -1235,10 +1235,10 @@ endif()
  # on all platforms to keep end user code free from platform dependent
  # code.  Also provide convenience targets to disable autolinking and
  # enable dynamic linking.
@@ -17,7 +17,7 @@ index bfab4ca436..90ed0cbb17 100644
  endif()
  if(WIN32)
    # In windows, automatic linking is performed, so you do not have
-@@ -1205,11 +1205,11 @@ if(WIN32)
+@@ -1259,11 +1259,11 @@ if(WIN32)
    # code to emit a #pragma message each time a library is selected
    # for linking.
    set(Boost_LIB_DIAGNOSTIC_DEFINITIONS "-DBOOST_LIB_DIAGNOSTIC")
@@ -32,7 +32,7 @@ index bfab4ca436..90ed0cbb17 100644
      INTERFACE_COMPILE_DEFINITIONS "BOOST_ALL_DYN_LINK")
  endif()
  
-@@ -2018,52 +2018,52 @@ if(Boost_FOUND)
+@@ -2088,52 +2088,52 @@ if(Boost_FOUND)
    endif()
  
    foreach(COMPONENT ${Boost_FIND_COMPONENTS})
@@ -98,10 +98,10 @@ index bfab4ca436..90ed0cbb17 100644
          endif()
        endif()
 diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
-index 1b1f19d464..21c222280f 100644
+index 4895e84df6..55814e3b96 100644
 --- a/src/CMakeLists.txt
 +++ b/src/CMakeLists.txt
-@@ -353,12 +353,12 @@ set(ceph_common_objs
+@@ -356,12 +356,12 @@ set(ceph_common_objs
  set(ceph_common_deps
    json_spirit erasure_code arch crc32
    ${LIB_RESOLV}
@@ -120,7 +120,7 @@ index 1b1f19d464..21c222280f 100644
    ${BLKID_LIBRARIES}
    ${Backtrace_LIBRARIES}
    ${BLKIN_LIBRARIES}
-@@ -518,7 +518,7 @@ if (WITH_CEPHFS)
+@@ -522,7 +522,7 @@ if (WITH_CEPHFS)
      ceph_mds.cc)
    add_executable(ceph-mds ${ceph_mds_srcs})
    target_link_libraries(ceph-mds mds ${CMAKE_DL_LIBS} global-static ceph-common
@@ -171,10 +171,10 @@ index e9d3804c5f..5c6eb58de1 100644
    install(TARGETS rbd-replay-prep DESTINATION bin)
  endif(HAVE_BABELTRACE)
 diff --git a/src/rgw/CMakeLists.txt b/src/rgw/CMakeLists.txt
-index ccc4f74cfe..854aa6e5e9 100644
+index 8d5b0638a0..a147c55bc3 100644
 --- a/src/rgw/CMakeLists.txt
 +++ b/src/rgw/CMakeLists.txt
-@@ -199,7 +199,7 @@ if(WITH_CURL_OPENSSL)
+@@ -196,7 +196,7 @@ if(WITH_CURL_OPENSSL)
  endif()
  
  if(WITH_BOOST_CONTEXT)
@@ -183,7 +183,7 @@ index ccc4f74cfe..854aa6e5e9 100644
  endif()
  
  set(rgw_libs rgw_a)
-@@ -341,7 +341,7 @@ if(WITH_RADOSGW_AMQP_ENDPOINT)
+@@ -347,7 +347,7 @@ if(WITH_RADOSGW_AMQP_ENDPOINT)
    target_link_libraries(rgw_admin_user PRIVATE RabbitMQ::RabbitMQ)
  endif()
  if(WITH_BOOST_CONTEXT)
@@ -193,10 +193,10 @@ index ccc4f74cfe..854aa6e5e9 100644
  
  if(WITH_TESTS)
 diff --git a/src/test/CMakeLists.txt b/src/test/CMakeLists.txt
-index 20a64fd41b..a8bb323614 100644
+index 5dcee1694d..60743be698 100644
 --- a/src/test/CMakeLists.txt
 +++ b/src/test/CMakeLists.txt
-@@ -158,7 +158,7 @@ add_executable(ceph_omapbench
+@@ -159,7 +159,7 @@ add_executable(ceph_omapbench
    )
  target_link_libraries(ceph_omapbench
    librados
@@ -266,7 +266,7 @@ index 4fc53d2406..e6304394f8 100644
  add_executable(ceph_test_rados_api_snapshots
    snapshots.cc)
 diff --git a/src/test/librbd/CMakeLists.txt b/src/test/librbd/CMakeLists.txt
-index 2bf6723c40..e99b8afa11 100644
+index 3988e94bd3..b2a720b8a0 100644
 --- a/src/test/librbd/CMakeLists.txt
 +++ b/src/test/librbd/CMakeLists.txt
 @@ -27,7 +27,7 @@ target_link_libraries(rbd_test PRIVATE
@@ -279,11 +279,11 @@ index 2bf6723c40..e99b8afa11 100644
    GTest::GTest)
  
 diff --git a/src/test/rgw/CMakeLists.txt b/src/test/rgw/CMakeLists.txt
-index 9b2c6b6321..80e4cb7829 100644
+index 36df883a66..43d3456089 100644
 --- a/src/test/rgw/CMakeLists.txt
 +++ b/src/test/rgw/CMakeLists.txt
-@@ -143,7 +143,7 @@ add_ceph_unittest(unittest_rgw_dmclock_scheduler)
- target_link_libraries(unittest_rgw_dmclock_scheduler ${rgw_libs} dmclock)
+@@ -144,7 +144,7 @@ add_ceph_unittest(unittest_rgw_dmclock_scheduler)
+ target_link_libraries(unittest_rgw_dmclock_scheduler radosgw_a dmclock)
  if(WITH_BOOST_CONTEXT)
    target_compile_definitions(unittest_rgw_dmclock_scheduler PRIVATE BOOST_COROUTINES_NO_DEPRECATION_WARNING)
 -  target_link_libraries(unittest_rgw_dmclock_scheduler Boost::coroutine Boost::context)


^ permalink raw reply related	[flat|nested] 68+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-cluster/ceph/, sys-cluster/ceph/files/
@ 2019-07-19  3:20 Patrick McLean
  0 siblings, 0 replies; 68+ messages in thread
From: Patrick McLean @ 2019-07-19  3:20 UTC (permalink / raw
  To: gentoo-commits

commit:     851f6ed5d97b48d1100d7e347e0eaf4ef179a570
Author:     Patrick McLean <patrick.mclean <AT> sony <DOT> com>
AuthorDate: Fri Jul 19 03:20:10 2019 +0000
Commit:     Patrick McLean <chutzpah <AT> gentoo <DOT> org>
CommitDate: Fri Jul 19 03:20:10 2019 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=851f6ed5

sys-cluster/ceph: Version bump to 14.2.2

Closes: https://bugs.gentoo.org/687946
Copyright: Sony Interactive Entertainment Inc.
Package-Manager: Portage-2.3.69, Repoman-2.3.16
Signed-off-by: Patrick McLean <chutzpah <AT> gentoo.org>

 sys-cluster/ceph/Manifest                          |  2 +-
 .../{ceph-14.2.1.ebuild => ceph-14.2.2.ebuild}     |  2 +-
 .../ceph/files/ceph-14.2.1-ncurses-tinfo.patch     | 30 ----------------------
 3 files changed, 2 insertions(+), 32 deletions(-)

diff --git a/sys-cluster/ceph/Manifest b/sys-cluster/ceph/Manifest
index 88518c8a727..61a1acb646d 100644
--- a/sys-cluster/ceph/Manifest
+++ b/sys-cluster/ceph/Manifest
@@ -3,4 +3,4 @@ DIST ceph-12.2.12.tar.gz 77467762 BLAKE2B a5224432121db9ef49c1e22771d847399df2f7
 DIST ceph-12.2.8.tar.gz 77243685 BLAKE2B 37c34396a0c276b8d79735e14934ac70da024822c2a060061531c234e03e5d41aad6c41dc64b05c2ce47f03287d0cae9ef9bed67e4a0861b6380c8ce1de4ea69 SHA512 91c5c11aaeef701b3e31c9f8a1192b6b79fd34f3b96c61595c65173c98bfce0009c5b7c9b29764f5e4d4b1f5ac2ca7109fed5ae598c176aba717a34a132fabac
 DIST ceph-13.2.5.tar.gz 91006057 BLAKE2B 68551e2f54d78aff7b0e9ec3c62e6a3394dd7c23e80924a5b400cd9666a05a42e5f22445deee4040f1b78201c6a6660b283109878d4c92d845821bff831c8a5e SHA512 6daea524523f829e725609328ea71f416b2c3a9530fa8956720a7bc69dc08e55a169654f500704579dc9ba693f04eedd7e04614c0850e9ab1169cd45f19039f8
 DIST ceph-13.2.6.tar.gz 90808224 BLAKE2B cd7b4f4838eafc9dd580102cbb5247b86a153f90127f81355b556f32dbbacd2d7fb0144d15f99869a318a7148d2f50a9f995eb05aee056d7a5843830ede5702c SHA512 1e9c08d16b14447bf6b8bb72144e053aa9d5cf390bb4a6e878869e38895d3698073502fe9c4f8b775a3da872b920444bd01260105d3a839e53cf90cd27c6ab9c
-DIST ceph-14.2.1.tar.gz 117111511 BLAKE2B c00181223c6e02e7fe696ed4226f1751eca48e799f8b5377a06621eb3300f81b58dc20f325b455df04fcbd0c28b981fae1cfc778a8d69414247ddd206d0c6175 SHA512 fccde341344c721fbfc7f7cb73db4f65933d7fcacc9495398b55b37d1e208f0bad0cd78a4da08a3b5e26cca3175e7707f7dfb76fae5aa094f58afaed8603c866
+DIST ceph-14.2.2.tar.gz 117536881 BLAKE2B 2926c3d6fde5e9540d4e797dabf61451ce78e5d2f8d382d192fd8c1759620075860ab0cea7512330f2965d11e4b37a0ecce4fa11d9c5d256ecc884fa5f604922 SHA512 1ce61fb75e331cca39aaa8c0498bbb3cb874edb22ea45a4c2d82171b5e0c7c4ab2b081674b77177d5e612a0efdfa01de10a4becc4a7ee0eed1b2b3d358a72dc1

diff --git a/sys-cluster/ceph/ceph-14.2.1.ebuild b/sys-cluster/ceph/ceph-14.2.2.ebuild
similarity index 99%
rename from sys-cluster/ceph/ceph-14.2.1.ebuild
rename to sys-cluster/ceph/ceph-14.2.2.ebuild
index 6cab06ebd9c..0f25b21d3b7 100644
--- a/sys-cluster/ceph/ceph-14.2.1.ebuild
+++ b/sys-cluster/ceph/ceph-14.2.2.ebuild
@@ -152,7 +152,6 @@ PATCHES=(
 	"${FILESDIR}/ceph-14.2.0-dpdk-cflags.patch"
 	"${FILESDIR}/ceph-14.2.0-link-crc32-statically.patch"
 	"${FILESDIR}/ceph-14.2.0-cython-0.29.patch"
-	"${FILESDIR}/ceph-14.2.1-ncurses-tinfo.patch"
 )
 
 # dpdk and ninja don't get along
@@ -227,6 +226,7 @@ ceph_src_configure() {
 		-DWITH_MGR_DASHBOARD_FRONTEND=NO
 		-DWITH_NUMA=$(usex numa)
 		-DWITH_OPENLDAP=$(usex ldap)
+		-DMGR_PYTHON_VERSION=$(if python_is_python3; then echo 3; else echo 2; fi)
 		-DWITH_PYTHON3=$(if python_is_python3; then echo "ON"; else echo "OFF"; fi)
 		-DWITH_PYTHON2=$(if python_is_python3; then echo "OFF"; else echo "ON"; fi)
 		-DWITH_RADOSGW=$(usex radosgw)

diff --git a/sys-cluster/ceph/files/ceph-14.2.1-ncurses-tinfo.patch b/sys-cluster/ceph/files/ceph-14.2.1-ncurses-tinfo.patch
deleted file mode 100644
index 7f74a102d77..00000000000
--- a/sys-cluster/ceph/files/ceph-14.2.1-ncurses-tinfo.patch
+++ /dev/null
@@ -1,30 +0,0 @@
-From b7bf406cff5e0f82fc87f19d5987cd4e719919e1 Mon Sep 17 00:00:00 2001
-From: Lars Wendler <polynomial-c@gentoo.org>
-Date: Mon, 8 Apr 2019 16:34:53 +0200
-Subject: [PATCH] cmake: Fix build against ncurses with separate libtinfo
-
-Signed-off-by: Lars Wendler <polynomial-c@gentoo.org>
----
- src/tools/rbd/CMakeLists.txt | 5 ++++-
- 1 file changed, 4 insertions(+), 1 deletion(-)
-
-diff --git a/src/tools/rbd/CMakeLists.txt b/src/tools/rbd/CMakeLists.txt
-index 36b2408a8d28..0e38a033ff55 100644
---- a/src/tools/rbd/CMakeLists.txt
-+++ b/src/tools/rbd/CMakeLists.txt
-@@ -1,3 +1,6 @@
-+set(CURSES_NEED_NCURSES TRUE)
-+find_package(Curses REQUIRED)
-+
- set(rbd_srcs
-   rbd.cc
-   ArgumentTypes.cc
-@@ -52,7 +55,7 @@ target_link_libraries(rbd librbd librados
-   cls_journal_client cls_rbd_client
-   rbd_types
-   journal
--  ceph-common global ncurses
-+  ceph-common global ${CURSES_LIBRARIES}
-   ${BLKID_LIBRARIES} ${CMAKE_DL_LIBS})
- if(WITH_KRBD)
-   target_link_libraries(rbd 


^ permalink raw reply related	[flat|nested] 68+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-cluster/ceph/, sys-cluster/ceph/files/
@ 2019-06-13  1:48 Patrick McLean
  0 siblings, 0 replies; 68+ messages in thread
From: Patrick McLean @ 2019-06-13  1:48 UTC (permalink / raw
  To: gentoo-commits

commit:     952b32d755ca4b2d84fc6ec8316dbe0a5eaa0557
Author:     Patrick McLean <patrick.mclean <AT> sony <DOT> com>
AuthorDate: Thu Jun 13 01:48:04 2019 +0000
Commit:     Patrick McLean <chutzpah <AT> gentoo <DOT> org>
CommitDate: Thu Jun 13 01:48:04 2019 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=952b32d7

sys-cluster/ceph: Version bump to 13.2.6

Add -DMGR_PYTHON_VERSION (bug #687946)
Bug: https://bugs.gentoo.org/687946
Copyright: Sony Interactive Entertainment Inc.
Package-Manager: Portage-2.3.67, Repoman-2.3.14
Signed-off-by: Patrick McLean <chutzpah <AT> gentoo.org>

 sys-cluster/ceph/Manifest                          |   1 +
 sys-cluster/ceph/ceph-13.2.6.ebuild                | 341 +++++++++++++++++++++
 .../ceph/files/ceph-13.2.6-dpdk-alignment.patch    |  14 +
 .../ceph/files/ceph-13.2.6-no-virtualenvs.patch    |  74 +++++
 4 files changed, 430 insertions(+)

diff --git a/sys-cluster/ceph/Manifest b/sys-cluster/ceph/Manifest
index 9b0137e2714..88518c8a727 100644
--- a/sys-cluster/ceph/Manifest
+++ b/sys-cluster/ceph/Manifest
@@ -2,4 +2,5 @@ DIST ceph-12.2.11.tar.gz 79009034 BLAKE2B d8b1c188fe39603e90511eb436100ba14c0a9c
 DIST ceph-12.2.12.tar.gz 77467762 BLAKE2B a5224432121db9ef49c1e22771d847399df2f7881cd9c2e185eca12096efb79d21578659d248eb5bae678924983d57452d370e23ab7e78663764d7bea834a461 SHA512 e694c9a8c1f9836c08fb74b54423bdc16d4900252e34643c56cf1a615d4dacddfb13df06a6a9f68bb9d438f5f07069ed358f9fa4b5a362640a3046f9c7722dcc
 DIST ceph-12.2.8.tar.gz 77243685 BLAKE2B 37c34396a0c276b8d79735e14934ac70da024822c2a060061531c234e03e5d41aad6c41dc64b05c2ce47f03287d0cae9ef9bed67e4a0861b6380c8ce1de4ea69 SHA512 91c5c11aaeef701b3e31c9f8a1192b6b79fd34f3b96c61595c65173c98bfce0009c5b7c9b29764f5e4d4b1f5ac2ca7109fed5ae598c176aba717a34a132fabac
 DIST ceph-13.2.5.tar.gz 91006057 BLAKE2B 68551e2f54d78aff7b0e9ec3c62e6a3394dd7c23e80924a5b400cd9666a05a42e5f22445deee4040f1b78201c6a6660b283109878d4c92d845821bff831c8a5e SHA512 6daea524523f829e725609328ea71f416b2c3a9530fa8956720a7bc69dc08e55a169654f500704579dc9ba693f04eedd7e04614c0850e9ab1169cd45f19039f8
+DIST ceph-13.2.6.tar.gz 90808224 BLAKE2B cd7b4f4838eafc9dd580102cbb5247b86a153f90127f81355b556f32dbbacd2d7fb0144d15f99869a318a7148d2f50a9f995eb05aee056d7a5843830ede5702c SHA512 1e9c08d16b14447bf6b8bb72144e053aa9d5cf390bb4a6e878869e38895d3698073502fe9c4f8b775a3da872b920444bd01260105d3a839e53cf90cd27c6ab9c
 DIST ceph-14.2.1.tar.gz 117111511 BLAKE2B c00181223c6e02e7fe696ed4226f1751eca48e799f8b5377a06621eb3300f81b58dc20f325b455df04fcbd0c28b981fae1cfc778a8d69414247ddd206d0c6175 SHA512 fccde341344c721fbfc7f7cb73db4f65933d7fcacc9495398b55b37d1e208f0bad0cd78a4da08a3b5e26cca3175e7707f7dfb76fae5aa094f58afaed8603c866

diff --git a/sys-cluster/ceph/ceph-13.2.6.ebuild b/sys-cluster/ceph/ceph-13.2.6.ebuild
new file mode 100644
index 00000000000..18241357036
--- /dev/null
+++ b/sys-cluster/ceph/ceph-13.2.6.ebuild
@@ -0,0 +1,341 @@
+# Copyright 1999-2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+PYTHON_COMPAT=( python{2_7,3_{5,6}} )
+DISTUTILS_OPTIONAL=1
+
+inherit check-reqs cmake-utils distutils-r1 flag-o-matic multiprocessing \
+	python-r1 udev user readme.gentoo-r1 systemd bash-completion-r1
+
+if [[ ${PV} == *9999* ]]; then
+	inherit git-r3
+	EGIT_REPO_URI="https://github.com/ceph/ceph.git"
+	SRC_URI=""
+else
+	SRC_URI="https://download.ceph.com/tarballs/${P}.tar.gz"
+	KEYWORDS="~amd64 ~x86"
+fi
+
+DESCRIPTION="Ceph distributed filesystem"
+HOMEPAGE="https://ceph.com/"
+
+LICENSE="LGPL-2.1 CC-BY-SA-3.0 GPL-2 BSD Boost-1.0 MIT"
+SLOT="0"
+
+CPU_FLAGS_X86=(sse{,2,3,4_1,4_2} ssse3)
+
+IUSE="babeltrace cephfs dpdk fuse jemalloc ldap libressl lttng +mgr"
+IUSE+=" numa +radosgw +ssl static-libs +system-boost systemd +tcmalloc"
+IUSE+=" test xfs zfs"
+IUSE+=" $(printf "cpu_flags_x86_%s\n" ${CPU_FLAGS_X86[@]})"
+
+# unbundling code commented out pending bugs 584056 and 584058
+#>=dev-libs/jerasure-2.0.0-r1
+#>=dev-libs/gf-complete-2.0.0
+COMMON_DEPEND="
+	virtual/libudev:=
+	app-arch/bzip2:=[static-libs?]
+	app-arch/lz4:=[static-libs?]
+	app-arch/snappy:=[static-libs?]
+	app-arch/zstd:=[static-libs?]
+	app-misc/jq:=[static-libs?]
+	dev-libs/crypto++:=[static-libs?]
+	dev-libs/leveldb:=[snappy,static-libs?,tcmalloc?]
+	dev-libs/libaio:=[static-libs?]
+	dev-libs/libxml2:=[static-libs?]
+	dev-libs/nss:=
+	sys-auth/oath-toolkit:=
+	sys-apps/keyutils:=[static-libs?]
+	sys-apps/util-linux:=[static-libs?]
+	sys-libs/zlib:=[static-libs?]
+	babeltrace? ( dev-util/babeltrace )
+	ldap? ( net-nds/openldap:=[static-libs?] )
+	lttng? ( dev-util/lttng-ust:= )
+	fuse? ( sys-fs/fuse:0=[static-libs?] )
+	numa? ( sys-process/numactl:=[static-libs?] )
+	ssl? (
+		!libressl? ( dev-libs/openssl:=[static-libs?] )
+		libressl? ( dev-libs/libressl:=[static-libs?] )
+	)
+	xfs? ( sys-fs/xfsprogs:=[static-libs?] )
+	zfs? ( sys-fs/zfs:=[static-libs?] )
+	radosgw? (
+		dev-libs/expat:=[static-libs?]
+		!libressl? (
+			dev-libs/openssl:=[static-libs?]
+			net-misc/curl:=[curl_ssl_openssl,static-libs?]
+		)
+		libressl? (
+			dev-libs/libressl:=[static-libs?]
+			net-misc/curl:=[curl_ssl_libressl,static-libs?]
+		)
+	)
+	system-boost? (
+		>=dev-libs/boost-1.67:=[threads,context,python,static-libs?,${PYTHON_USEDEP}]
+	)
+	jemalloc? ( dev-libs/jemalloc:=[static-libs?] )
+	!jemalloc? ( >=dev-util/google-perftools-2.4:=[static-libs?] )
+	${PYTHON_DEPS}
+	"
+DEPEND="${COMMON_DEPEND}
+	amd64? ( dev-lang/yasm )
+	x86? ( dev-lang/yasm )
+	app-arch/cpio
+	dev-python/cython[${PYTHON_USEDEP}]
+	dev-python/sphinx
+	dev-util/cunit
+	dev-util/gperf
+	dev-util/valgrind
+	sys-apps/which
+	sys-devel/bc
+	virtual/pkgconfig
+	test? (
+		dev-python/coverage[${PYTHON_USEDEP}]
+		dev-python/virtualenv[${PYTHON_USEDEP}]
+		sys-apps/grep[pcre]
+		sys-fs/btrfs-progs
+	)"
+RDEPEND="${COMMON_DEPEND}
+	net-misc/socat
+	sys-apps/gptfdisk
+	sys-block/parted
+	sys-fs/cryptsetup
+	sys-fs/lvm2[-device-mapper-only(-)]
+	!<sys-apps/openrc-0.26.3
+	dev-python/bcrypt[${PYTHON_USEDEP}]
+	dev-python/cherrypy[${PYTHON_USEDEP}]
+	dev-python/flask[${PYTHON_USEDEP}]
+	dev-python/jinja[${PYTHON_USEDEP}]
+	dev-python/pecan[${PYTHON_USEDEP}]
+	dev-python/prettytable[${PYTHON_USEDEP}]
+	dev-python/pyopenssl[${PYTHON_USEDEP}]
+	dev-python/requests[${PYTHON_USEDEP}]
+	dev-python/werkzeug[${PYTHON_USEDEP}]
+	"
+REQUIRED_USE="
+	${PYTHON_REQUIRED_USE}
+	|| ( $(python_gen_useflags 'python3*') )
+	?? ( jemalloc tcmalloc )
+	"
+
+# the tests need root access
+RESTRICT="test? ( userpriv )"
+
+# distribution tarball does not include everything needed for tests
+RESTRICT+=" test"
+
+# false positives unless all USE flags are on
+CMAKE_WARN_UNUSED_CLI="no"
+
+# ninja does not work at all
+CMAKE_MAKEFILE_GENERATOR="emake"
+
+UNBUNDLE_LIBS=(
+	src/erasure-code/jerasure/jerasure
+	src/erasure-code/jerasure/gf-complete
+)
+
+PATCHES=(
+	"${FILESDIR}/ceph-12.2.0-use-provided-cpu-flag-values.patch"
+	"${FILESDIR}/ceph-12.2.0-cflags.patch"
+	"${FILESDIR}/ceph-12.2.4-boost-build-none-options.patch"
+	"${FILESDIR}/ceph-13.2.0-cflags.patch"
+	"${FILESDIR}/ceph-12.2.4-rocksdb-cflags.patch"
+	"${FILESDIR}/ceph-13.2.0-mgr-python-version.patch"
+	"${FILESDIR}/ceph-13.2.6-no-virtualenvs.patch"
+	"${FILESDIR}/ceph-13.2.2-dont-install-sysvinit-script.patch"
+	"${FILESDIR}/ceph-13.2.5-no-automagic-deps.patch"
+	"${FILESDIR}/ceph-14.2.0-cython-0.29.patch"
+	"${FILESDIR}/ceph-12.2.12-ncurses-tinfo.patch"
+	"${FILESDIR}/ceph-13.2.6-dpdk-alignment.patch"
+)
+
+check-reqs_export_vars() {
+	if use amd64; then
+		CHECKREQS_DISK_BUILD="12G"
+		CHECKREQS_DISK_USR="460M"
+	else
+		CHECKREQS_DISK_BUILD="1400M"
+		CHECKREQS_DISK_USR="450M"
+	fi
+
+	export CHECKREQS_DISK_BUILD CHECKREQS_DISK_USR
+}
+
+user_setup() {
+	enewgroup ceph ${CEPH_GID}
+	enewuser ceph "${CEPH_UID:--1}" -1 /var/lib/ceph ceph
+}
+
+pkg_pretend() {
+	check-reqs_export_vars
+	check-reqs_pkg_pretend
+}
+
+pkg_setup() {
+	python_setup 'python3*'
+	check-reqs_export_vars
+	check-reqs_pkg_setup
+	user_setup
+}
+
+src_prepare() {
+	cmake-utils_src_prepare
+
+	if use system-boost; then
+		eapply "${FILESDIR}/ceph-13.2.0-boost-sonames.patch"
+	fi
+
+	sed -i -r "s:DESTINATION .+\\):DESTINATION $(get_bashcompdir)\\):" \
+		src/bash_completion/CMakeLists.txt || die
+
+	# remove tests that need root access
+	rm src/test/cli/ceph-authtool/cap*.t || die
+
+	#rm -rf "${UNBUNDLE_LIBS[@]}"
+}
+
+ceph_src_configure() {
+	local flag
+	local mycmakeargs=(
+		-DWITH_BABELTRACE=$(usex babeltrace)
+		-DWITH_CEPHFS=$(usex cephfs)
+		-DWITH_DPDK=$(usex dpdk)
+		-DWITH_FUSE=$(usex fuse)
+		-DWITH_LTTNG=$(usex lttng)
+		-DWITH_MGR=$(usex mgr)
+		-DWITH_MGR_DASHBOARD_FRONTEND=NO
+		-DMGR_PYTHON_VERSION=$(if python_is_python3; then echo 3; else echo 2; fi)
+		-DWITH_NUMA=$(usex numa)
+		-DWITH_OPENLDAP=$(usex ldap)
+		-DWITH_RADOSGW=$(usex radosgw)
+		-DWITH_SSL=$(usex ssl)
+		-DWITH_SYSTEMD=$(usex systemd)
+		-DWITH_TESTS=$(usex test)
+		-DWITH_XFS=$(usex xfs)
+		-DWITH_ZFS=$(usex zfs)
+		-DENABLE_SHARED=$(usex static-libs '' 'yes' 'no')
+		-DALLOCATOR=$(usex tcmalloc 'tcmalloc' "$(usex jemalloc 'jemalloc' 'libc')")
+		-DWITH_SYSTEM_BOOST=$(usex system-boost)
+		-DBOOST_J=$(makeopts_jobs)
+		-DWITH_RDMA=no
+		-DWITH_TBB=no
+		-DSYSTEMD_UNITDIR=$(systemd_get_systemunitdir)
+		-DEPYTHON_VERSION="${EPYTHON#python}"
+		-DCMAKE_INSTALL_DOCDIR="${EPREFIX}/usr/share/doc/${P}"
+		-DCMAKE_INSTALL_SYSCONFDIR="${EPREFIX}/etc"
+		-Wno-dev
+	)
+	if use amd64 || use x86; then
+		for flag in ${CPU_FLAGS_X86[@]}; do
+			mycmakeargs+=("$(usex cpu_flags_x86_${flag} "-DHAVE_INTEL_${flag^^}=1")")
+		done
+	fi
+
+	rm -f "${BUILD_DIR:-${S}}/CMakeCache.txt"
+	cmake-utils_src_configure
+
+	# bug #630232
+	sed -i "s:\"${T//:\\:}/${EPYTHON}/bin/python\":\"${PYTHON}\":" \
+		"${BUILD_DIR:--${S}}"/include/acconfig.h \
+		|| die "sed failed"
+}
+
+src_configure() {
+	ceph_src_configure
+}
+
+python_compile() {
+	local CMAKE_USE_DIR="${S}"
+	ceph_src_configure
+
+	rm -rf "${BUILD_DIR}/lib/cython_modules" || die
+
+	pushd "${BUILD_DIR}/src/pybind" >/dev/null || die
+	emake VERBOSE=1 clean
+	emake VERBOSE=1 all
+
+	# python modules are only compiled with "make install" so we need to do this to
+	# prevent doing a bunch of compilation in src_install
+	DESTDIR="${T}" emake VERBOSE=1 install
+	popd >/dev/null || die
+}
+
+src_compile() {
+	cmake-utils_src_make VERBOSE=1 all
+
+	# we have to do this here to prevent from building everything multiple times
+	BUILD_DIR="${CMAKE_BUILD_DIR}" python_copy_sources
+	python_foreach_impl python_compile
+}
+
+src_test() {
+	make check || die "make check failed"
+}
+
+python_install() {
+	local CMAKE_USE_DIR="${S}"
+	pushd "${BUILD_DIR}/src/pybind" >/dev/null || die
+	DESTDIR="${ED}" emake install
+	popd >/dev/null || die
+}
+
+src_install() {
+	cmake-utils_src_install
+	python_foreach_impl python_install
+
+	find "${D}" -name '*.la' -delete || die
+
+	exeinto /usr/$(get_libdir)/ceph
+	newexe "${BUILD_DIR}/bin/init-ceph" ceph_init.sh
+
+	insinto /etc/logrotate.d/
+	newins "${FILESDIR}"/ceph.logrotate-r2 ${PN}
+
+	keepdir /var/lib/${PN}{,/tmp} /var/log/${PN}/stat
+
+	fowners -R ceph:ceph /var/lib/ceph /var/log/ceph
+
+	newinitd "${FILESDIR}/rbdmap.initd" rbdmap
+	newinitd "${FILESDIR}/${PN}.initd-r12" ${PN}
+	newconfd "${FILESDIR}/${PN}.confd-r5" ${PN}
+
+	insinto /etc/sysctl.d
+	newins "${FILESDIR}"/sysctld 90-${PN}.conf
+
+	use tcmalloc && newenvd "${FILESDIR}"/envd-tcmalloc 99${PN}-tcmalloc
+
+	# units aren't installed by the build system unless systemd is enabled
+	# so no point installing these with the USE flag disabled
+	if use systemd; then
+		systemd_install_serviced "${FILESDIR}/ceph-mds_at.service.conf" \
+			"ceph-mds@.service"
+
+		systemd_install_serviced "${FILESDIR}/ceph-osd_at.service.conf" \
+			"ceph-osd@.service"
+	fi
+
+	udev_dorules udev/*.rules
+
+	readme.gentoo_create_doc
+
+	python_setup 'python3*'
+
+	# bug #630232
+	sed -i -r "s:${T//:/\\:}/${EPYTHON}:/usr:" "${ED}"/usr/bin/ceph \
+		|| die "sed failed"
+
+	python_fix_shebang "${ED}"/usr/{,s}bin/
+
+	# python_fix_shebang apparently is not idempotent
+	sed -i -r  's:(/usr/lib/python-exec/python[0-9]\.[0-9]/python)[0-9]\.[0-9]:\1:' \
+		"${ED}"/usr/{sbin/ceph-disk,bin/ceph-detect-init} || die "sed failed"
+
+	local -a rados_classes=( "${D}/usr/$(get_libdir)/rados-classes"/* )
+	dostrip -x "${rados_classes[@]#${D}}"
+}
+
+pkg_postinst() {
+	readme.gentoo_print_elog
+}

diff --git a/sys-cluster/ceph/files/ceph-13.2.6-dpdk-alignment.patch b/sys-cluster/ceph/files/ceph-13.2.6-dpdk-alignment.patch
new file mode 100644
index 00000000000..c5d048eb7a2
--- /dev/null
+++ b/sys-cluster/ceph/files/ceph-13.2.6-dpdk-alignment.patch
@@ -0,0 +1,14 @@
+diff --git a/src/spdk/dpdk/lib/librte_net/rte_ether.h b/src/spdk/dpdk/lib/librte_net/rte_ether.h
+index 3a87ff184..8090b7c01 100644
+--- a/src/spdk/dpdk/lib/librte_net/rte_ether.h
++++ b/src/spdk/dpdk/lib/librte_net/rte_ether.h
+@@ -55,7 +55,8 @@ extern "C" {
+  * See http://standards.ieee.org/regauth/groupmac/tutorial.html
+  */
+ struct ether_addr {
+-	uint8_t addr_bytes[ETHER_ADDR_LEN]; /**< Addr bytes in tx order */
++	/** Addr bytes in tx order */
++	uint8_t addr_bytes[ETHER_ADDR_LEN] __rte_aligned(2);
+ } __attribute__((__packed__));
+
+ #define ETHER_LOCAL_ADMIN_ADDR 0x02 /**< Locally assigned Eth. address. */

diff --git a/sys-cluster/ceph/files/ceph-13.2.6-no-virtualenvs.patch b/sys-cluster/ceph/files/ceph-13.2.6-no-virtualenvs.patch
new file mode 100644
index 00000000000..ad38799b690
--- /dev/null
+++ b/sys-cluster/ceph/files/ceph-13.2.6-no-virtualenvs.patch
@@ -0,0 +1,74 @@
+diff --git a/src/ceph-detect-init/CMakeLists.txt b/src/ceph-detect-init/CMakeLists.txt
+index 6e5946b784..233cccfc9b 100644
+--- a/src/ceph-detect-init/CMakeLists.txt
++++ b/src/ceph-detect-init/CMakeLists.txt
+@@ -2,8 +2,8 @@ set(CEPH_DETECT_INIT_VIRTUALENV ${CEPH_BUILD_VIRTUALENV}/ceph-detect-init-virtua
+ 
+ add_custom_target(ceph-detect-init
+   COMMAND
+-  ${CMAKE_SOURCE_DIR}/src/tools/setup-virtualenv.sh --python=python2.7 ${CEPH_DETECT_INIT_VIRTUALENV} &&
+-  ${CEPH_DETECT_INIT_VIRTUALENV}/bin/pip install --no-index --find-links=file:${CMAKE_SOURCE_DIR}/src/ceph-detect-init/wheelhouse -e .
++  #${CMAKE_SOURCE_DIR}/src/tools/setup-virtualenv.sh --python=python2.7 ${CEPH_DETECT_INIT_VIRTUALENV} &&
++  #${CEPH_DETECT_INIT_VIRTUALENV}/bin/pip install --no-index --find-links=file:${CMAKE_SOURCE_DIR}/src/ceph-detect-init/wheelhouse -e .
+   WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}/src/ceph-detect-init
+   COMMENT "ceph-detect-init is being created")
+ add_dependencies(tests ceph-detect-init)
+diff --git a/src/ceph-disk/CMakeLists.txt b/src/ceph-disk/CMakeLists.txt
+index 00aaec4a80..b0700c488f 100644
+--- a/src/ceph-disk/CMakeLists.txt
++++ b/src/ceph-disk/CMakeLists.txt
+@@ -2,8 +2,8 @@ set(CEPH_DISK_VIRTUALENV ${CEPH_BUILD_VIRTUALENV}/ceph-disk-virtualenv)
+ 
+ add_custom_target(ceph-disk
+   COMMAND
+-  ${CMAKE_SOURCE_DIR}/src/tools/setup-virtualenv.sh --python=python2.7 ${CEPH_DISK_VIRTUALENV} &&
+-  ${CEPH_DISK_VIRTUALENV}/bin/pip install --no-index --find-links=file:${CMAKE_SOURCE_DIR}/src/ceph-disk/wheelhouse -e .
++  #${CMAKE_SOURCE_DIR}/src/tools/setup-virtualenv.sh --python=python2.7 ${CEPH_DISK_VIRTUALENV} &&
++  #${CEPH_DISK_VIRTUALENV}/bin/pip install --no-index --find-links=file:${CMAKE_SOURCE_DIR}/src/ceph-disk/wheelhouse -e .
+   WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}/src/ceph-disk
+   COMMENT "ceph-disk is being created")
+ add_dependencies(tests ceph-disk)
+diff --git a/src/pybind/mgr/dashboard/CMakeLists.txt b/src/pybind/mgr/dashboard/CMakeLists.txt
+index 88ca8a60bb..77c716cdb1 100644
+--- a/src/pybind/mgr/dashboard/CMakeLists.txt
++++ b/src/pybind/mgr/dashboard/CMakeLists.txt
+@@ -2,7 +2,7 @@ set(MGR_DASHBOARD_VIRTUALENV ${CEPH_BUILD_VIRTUALENV}/mgr-dashboard-virtualenv)
+ 
+ add_custom_target(mgr-dashboard-test-venv
+   COMMAND
+-  ${CMAKE_SOURCE_DIR}/src/tools/setup-virtualenv.sh --python=${MGR_PYTHON_EXECUTABLE} ${MGR_DASHBOARD_VIRTUALENV}
++  #${CMAKE_SOURCE_DIR}/src/tools/setup-virtualenv.sh --python=${MGR_PYTHON_EXECUTABLE} ${MGR_DASHBOARD_VIRTUALENV}
+   WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}/src/pybind/mgr/dashboard
+   COMMENT "dashboard tests virtualenv is being created")
+ add_dependencies(tests mgr-dashboard-test-venv)
+@@ -13,9 +13,6 @@ set(mgr-dashboard-nodeenv ${CMAKE_CURRENT_BINARY_DIR}/node-env)
+ 
+ add_custom_command(
+   OUTPUT "${mgr-dashboard-nodeenv}/bin/npm"
+-  COMMAND ${CMAKE_SOURCE_DIR}/src/tools/setup-virtualenv.sh --python=${MGR_PYTHON_EXECUTABLE} ${mgr-dashboard-nodeenv}
+-  COMMAND ${mgr-dashboard-nodeenv}/bin/pip install nodeenv
+-  COMMAND ${mgr-dashboard-nodeenv}/bin/nodeenv -p -n 10.13.0
+   WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
+   COMMENT "dashboard nodeenv is being installed"
+ )
+@@ -27,7 +24,6 @@ add_custom_target(mgr-dashboard-nodeenv
+ 
+ add_custom_command(
+   OUTPUT "${CMAKE_SOURCE_DIR}/src/pybind/mgr/dashboard/frontend/node_modules"
+-  COMMAND . ${mgr-dashboard-nodeenv}/bin/activate && npm ci && deactivate
+   DEPENDS frontend/package.json
+   WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}/src/pybind/mgr/dashboard/frontend
+   COMMENT "dashboard frontend dependencies are being installed"
+@@ -62,9 +58,11 @@ else()
+   set(npm_command npm run build)
+ endif()
+ 
++LIST(APPEND CMAKE_PROGRAM_PATH ${CMAKE_SOURCE_DIR}/src/pybind/mgr/dashboard/frontend/node_modules/.bin)
++
+ add_custom_command(
+   OUTPUT "${CMAKE_SOURCE_DIR}/src/pybind/mgr/dashboard/frontend/dist"
+-  COMMAND . ${mgr-dashboard-nodeenv}/bin/activate && ${npm_command} && deactivate
++  COMMAND PREFIX="${CMAKE_SOURCE_DIR}" ${npm_command}
+   DEPENDS ${frontend_src} frontend/node_modules
+   WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}/src/pybind/mgr/dashboard/frontend
+   COMMENT "dashboard frontend is being created"


^ permalink raw reply related	[flat|nested] 68+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-cluster/ceph/, sys-cluster/ceph/files/
@ 2019-04-29 22:57 Patrick McLean
  0 siblings, 0 replies; 68+ messages in thread
From: Patrick McLean @ 2019-04-29 22:57 UTC (permalink / raw
  To: gentoo-commits

commit:     8312633ba545894a52d9ec130a05e7c8068e0196
Author:     Patrick McLean <patrick.mclean <AT> sony <DOT> com>
AuthorDate: Mon Apr 29 22:54:40 2019 +0000
Commit:     Patrick McLean <chutzpah <AT> gentoo <DOT> org>
CommitDate: Mon Apr 29 22:54:40 2019 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=8312633b

sys-cluster/ceph: Version bump to 14.2.1

- Add experimental support for USE="system-boost" with boost-1.70
- Revbump init script to allow extra commands in conf.d (bug 684366)

Bug: https://bugs.gentoo.org/684366
Copyright: Sony Interactive Entertainment Inc.
Package-Manager: Portage-2.3.65, Repoman-2.3.12
Signed-off-by: Patrick McLean <chutzpah <AT> gentoo.org>

 sys-cluster/ceph/Manifest                          |   1 +
 sys-cluster/ceph/ceph-14.2.1.ebuild                | 362 +++++++++++++++++++++
 .../files/ceph-14.2.0-boost-1.70-sonames.patch     | 321 ++++++++++++++++++
 .../ceph/files/ceph-14.2.0-boost-1.70.patch        | 120 +++++++
 sys-cluster/ceph/files/ceph.initd-r12              | 115 +++++++
 5 files changed, 919 insertions(+)

diff --git a/sys-cluster/ceph/Manifest b/sys-cluster/ceph/Manifest
index bfbbc7b64d7..4c6e42c016e 100644
--- a/sys-cluster/ceph/Manifest
+++ b/sys-cluster/ceph/Manifest
@@ -3,3 +3,4 @@ DIST ceph-12.2.12.tar.gz 77467762 BLAKE2B a5224432121db9ef49c1e22771d847399df2f7
 DIST ceph-12.2.8.tar.gz 77243685 BLAKE2B 37c34396a0c276b8d79735e14934ac70da024822c2a060061531c234e03e5d41aad6c41dc64b05c2ce47f03287d0cae9ef9bed67e4a0861b6380c8ce1de4ea69 SHA512 91c5c11aaeef701b3e31c9f8a1192b6b79fd34f3b96c61595c65173c98bfce0009c5b7c9b29764f5e4d4b1f5ac2ca7109fed5ae598c176aba717a34a132fabac
 DIST ceph-13.2.5.tar.gz 91006057 BLAKE2B 68551e2f54d78aff7b0e9ec3c62e6a3394dd7c23e80924a5b400cd9666a05a42e5f22445deee4040f1b78201c6a6660b283109878d4c92d845821bff831c8a5e SHA512 6daea524523f829e725609328ea71f416b2c3a9530fa8956720a7bc69dc08e55a169654f500704579dc9ba693f04eedd7e04614c0850e9ab1169cd45f19039f8
 DIST ceph-14.2.0.tar.gz 118882504 BLAKE2B e650d99dceb11c7b035480c8cdd9f63ee4a5f81ffea27988e180a2956433e3e4b34e496a73bf5992c428eff859311c623b92a6f006eb694ebf928d8204dc9b06 SHA512 c86a335714fd5678988133ec0e60cb10cd948250a133c073d1ed055c5bba232fa6f1e102dd7fcb0c70b37a07c9c2d1220d4a1713720e4dcab9659152ee577480
+DIST ceph-14.2.1.tar.gz 117111511 BLAKE2B c00181223c6e02e7fe696ed4226f1751eca48e799f8b5377a06621eb3300f81b58dc20f325b455df04fcbd0c28b981fae1cfc778a8d69414247ddd206d0c6175 SHA512 fccde341344c721fbfc7f7cb73db4f65933d7fcacc9495398b55b37d1e208f0bad0cd78a4da08a3b5e26cca3175e7707f7dfb76fae5aa094f58afaed8603c866

diff --git a/sys-cluster/ceph/ceph-14.2.1.ebuild b/sys-cluster/ceph/ceph-14.2.1.ebuild
new file mode 100644
index 00000000000..6cab06ebd9c
--- /dev/null
+++ b/sys-cluster/ceph/ceph-14.2.1.ebuild
@@ -0,0 +1,362 @@
+# Copyright 1999-2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+PYTHON_COMPAT=( python{2_7,3_{5,6,7}} )
+DISTUTILS_OPTIONAL=1
+
+inherit check-reqs bash-completion-r1 cmake-utils distutils-r1 flag-o-matic \
+		multiprocessing python-r1 udev user readme.gentoo-r1 toolchain-funcs \
+		systemd
+
+if [[ ${PV} == *9999* ]]; then
+	inherit git-r3
+	EGIT_REPO_URI="https://github.com/ceph/ceph.git"
+	SRC_URI=""
+else
+	SRC_URI="https://download.ceph.com/tarballs/${P}.tar.gz"
+	KEYWORDS="~amd64 ~arm64 ~x86"
+fi
+
+DESCRIPTION="Ceph distributed filesystem"
+HOMEPAGE="https://ceph.com/"
+
+LICENSE="LGPL-2.1 CC-BY-SA-3.0 GPL-2 GPL-2+ LGPL-2+ BSD Boost-1.0 MIT public-domain"
+SLOT="0"
+
+CPU_FLAGS_X86=(sse{,2,3,4_1,4_2} ssse3)
+
+IUSE="babeltrace cephfs dpdk fuse grafana jemalloc kerberos ldap libressl"
+IUSE+=" lttng +mgr numa rabbitmq +radosgw +ssl static-libs system-boost"
+IUSE+=" systemd +tcmalloc test xfs zfs"
+IUSE+=" $(printf "cpu_flags_x86_%s\n" ${CPU_FLAGS_X86[@]})"
+
+COMMON_DEPEND="
+	virtual/libudev:=
+	app-arch/bzip2:=[static-libs?]
+	app-arch/lz4:=[static-libs?]
+	app-arch/snappy:=[static-libs?]
+	app-arch/zstd:=[static-libs?]
+	app-misc/jq:=[static-libs?]
+	dev-libs/crypto++:=[static-libs?]
+	dev-libs/leveldb:=[snappy,static-libs?,tcmalloc?]
+	dev-libs/libaio:=[static-libs?]
+	dev-libs/libxml2:=[static-libs?]
+	dev-libs/nss:=
+	sys-auth/oath-toolkit:=
+	sys-apps/keyutils:=[static-libs?]
+	sys-apps/util-linux:=[static-libs?]
+	sys-libs/ncurses:0=[static-libs?]
+	sys-libs/zlib:=[static-libs?]
+	babeltrace? ( dev-util/babeltrace )
+	ldap? ( net-nds/openldap:=[static-libs?] )
+	lttng? ( dev-util/lttng-ust:= )
+	fuse? ( sys-fs/fuse:0=[static-libs?] )
+	kerberos? ( virtual/krb5 )
+	rabbitmq? ( net-libs/rabbitmq-c:=[static-libs?] )
+	ssl? (
+		!libressl? ( dev-libs/openssl:=[static-libs?] )
+		libressl? ( dev-libs/libressl:=[static-libs?] )
+	)
+	xfs? ( sys-fs/xfsprogs:=[static-libs?] )
+	zfs? ( sys-fs/zfs:=[static-libs?] )
+	radosgw? (
+		dev-libs/expat:=[static-libs?]
+		!libressl? (
+			dev-libs/openssl:=[static-libs?]
+			net-misc/curl:=[curl_ssl_openssl,static-libs?]
+		)
+		libressl? (
+			dev-libs/libressl:=[static-libs?]
+			net-misc/curl:=[curl_ssl_libressl,static-libs?]
+		)
+	)
+	system-boost? (
+		|| (
+			~dev-libs/boost-1.70.0[threads,context,python,static-libs?,${PYTHON_USEDEP}]
+			~dev-libs/boost-1.67.0[threads,context,python,static-libs?,${PYTHON_USEDEP}]
+		)
+		dev-libs/boost:=[threads,context,python,static-libs?,${PYTHON_USEDEP}]
+	)
+	jemalloc? ( dev-libs/jemalloc:=[static-libs?] )
+	!jemalloc? ( >=dev-util/google-perftools-2.4:=[static-libs?] )
+	${PYTHON_DEPS}
+	"
+DEPEND="${COMMON_DEPEND}
+	amd64? ( dev-lang/yasm )
+	x86? ( dev-lang/yasm )
+	dev-python/cython[${PYTHON_USEDEP}]
+	dev-python/sphinx
+	dev-util/cunit
+	test? (
+		dev-python/coverage[${PYTHON_USEDEP}]
+		dev-python/virtualenv[${PYTHON_USEDEP}]
+		sys-apps/grep[pcre]
+		sys-fs/btrfs-progs
+	)
+	"
+BDEPEND="	app-arch/cpio
+	>=dev-util/cmake-3.5.0
+	dev-util/gperf
+	dev-util/valgrind
+	sys-apps/which
+	sys-devel/bc
+	virtual/pkgconfig
+	"
+RDEPEND="${COMMON_DEPEND}
+	net-misc/socat
+	sys-apps/gptfdisk
+	sys-block/parted
+	sys-fs/cryptsetup
+	sys-fs/lvm2[-device-mapper-only(-)]
+	!<sys-apps/openrc-0.26.3
+	dev-python/bcrypt[${PYTHON_USEDEP}]
+	dev-python/cherrypy[${PYTHON_USEDEP}]
+	dev-python/flask[${PYTHON_USEDEP}]
+	dev-python/jinja[${PYTHON_USEDEP}]
+	dev-python/pecan[${PYTHON_USEDEP}]
+	dev-python/prettytable[${PYTHON_USEDEP}]
+	dev-python/pyopenssl[${PYTHON_USEDEP}]
+	dev-python/requests[${PYTHON_USEDEP}]
+	dev-python/werkzeug[${PYTHON_USEDEP}]
+	"
+REQUIRED_USE="
+	${PYTHON_REQUIRED_USE}
+	|| ( $(python_gen_useflags 'python3*') )
+	?? ( jemalloc tcmalloc )
+	rabbitmq? ( radosgw )
+	"
+
+# the tests need root access
+RESTRICT="test? ( userpriv )"
+
+# distribution tarball does not include everything needed for tests
+RESTRICT+=" test"
+
+# false positives unless all USE flags are on
+CMAKE_WARN_UNUSED_CLI="no"
+
+UNBUNDLE_LIBS=(
+	src/erasure-code/jerasure/jerasure
+	src/erasure-code/jerasure/gf-complete
+)
+
+PATCHES=(
+	"${FILESDIR}/ceph-12.2.0-use-provided-cpu-flag-values.patch"
+	"${FILESDIR}/ceph-14.2.0-cflags.patch"
+	"${FILESDIR}/ceph-12.2.4-boost-build-none-options.patch"
+	"${FILESDIR}/ceph-13.2.0-cflags.patch"
+	"${FILESDIR}/ceph-14.2.0-mgr-python-version.patch"
+	"${FILESDIR}/ceph-14.2.0-no-virtualenvs.patch"
+	"${FILESDIR}/ceph-13.2.2-dont-install-sysvinit-script.patch"
+	"${FILESDIR}/ceph-14.2.0-dpdk-cflags.patch"
+	"${FILESDIR}/ceph-14.2.0-link-crc32-statically.patch"
+	"${FILESDIR}/ceph-14.2.0-cython-0.29.patch"
+	"${FILESDIR}/ceph-14.2.1-ncurses-tinfo.patch"
+)
+
+# dpdk and ninja don't get along
+CMAKE_MAKEFILE_GENERATOR="emake"
+
+check-reqs_export_vars() {
+	if use amd64; then
+		CHECKREQS_DISK_BUILD="12G"
+		CHECKREQS_DISK_USR="460M"
+	else
+		CHECKREQS_DISK_BUILD="1400M"
+		CHECKREQS_DISK_USR="450M"
+	fi
+
+	export CHECKREQS_DISK_BUILD CHECKREQS_DISK_USR
+}
+
+user_setup() {
+	enewgroup ceph ${CEPH_GID}
+	enewuser ceph "${CEPH_UID:--1}" -1 /var/lib/ceph ceph
+}
+
+pkg_pretend() {
+	check-reqs_export_vars
+	check-reqs_pkg_pretend
+
+	if use system-boost && has_version '~dev-libs/boost-1.70.0'; then
+		ewarn "Building with boost-1.70 is experimental, and may cause runtime"
+		ewarn "failures. Disable the system-boost USE flag to use bundled boost"
+		ewarn "if you want an upstream supported configuration."
+	fi
+}
+
+pkg_setup() {
+	python_setup 'python3*'
+	check-reqs_export_vars
+	check-reqs_pkg_setup
+	user_setup
+}
+
+src_prepare() {
+	cmake-utils_src_prepare
+
+	if use system-boost; then
+		if has_version '~dev-libs/boost-1.70.0'; then
+			eapply "${FILESDIR}/ceph-14.2.0-boost-1.70-sonames.patch" \
+				"${FILESDIR}/ceph-14.2.0-boost-1.70.patch"
+		else
+			eapply "${FILESDIR}/ceph-14.2.0-boost-sonames.patch"
+		fi
+	fi
+
+	sed -i -r "s:DESTINATION .+\\):DESTINATION $(get_bashcompdir)\\):" \
+		src/bash_completion/CMakeLists.txt || die
+
+	# remove tests that need root access
+	rm src/test/cli/ceph-authtool/cap*.t || die
+}
+
+ceph_src_configure() {
+	local flag
+	local mycmakeargs=(
+		-DWITH_BABELTRACE=$(usex babeltrace)
+		-DWITH_CEPHFS=$(usex cephfs)
+		-DWITH_CEPHFS_SHELL=$(if python_is_python3; then usex cephfs; else echo OFF; fi)
+		-DWITH_DPDK=$(usex dpdk)
+		-DWITH_FUSE=$(usex fuse)
+		-DWITH_LTTNG=$(usex lttng)
+		-DWITH_GSSAPI=$(usex kerberos)
+		-DWITH_GRAFANA=$(usex grafana)
+		-DWITH_MGR=$(usex mgr)
+		-DWITH_MGR_DASHBOARD_FRONTEND=NO
+		-DWITH_NUMA=$(usex numa)
+		-DWITH_OPENLDAP=$(usex ldap)
+		-DWITH_PYTHON3=$(if python_is_python3; then echo "ON"; else echo "OFF"; fi)
+		-DWITH_PYTHON2=$(if python_is_python3; then echo "OFF"; else echo "ON"; fi)
+		-DWITH_RADOSGW=$(usex radosgw)
+		-DWITH_RADOSGW_AMQP_ENDPOINT=$(usex rabbitmq)
+		-DWITH_SSL=$(usex ssl)
+		-DWITH_SYSTEMD=$(usex systemd)
+		-DWITH_TESTS=$(usex test)
+		-DWITH_XFS=$(usex xfs)
+		-DWITH_ZFS=$(usex zfs)
+		-DENABLE_SHARED=$(usex static-libs '' 'ON' 'OFF')
+		-DALLOCATOR=$(usex tcmalloc 'tcmalloc' "$(usex jemalloc 'jemalloc' 'libc')")
+		-DWITH_SYSTEM_BOOST=$(usex system-boost)
+		-DBOOST_J=$(makeopts_jobs)
+		-DWITH_RDMA=no
+		-DWITH_TBB=no
+		-DSYSTEMD_UNITDIR=$(systemd_get_systemunitdir)
+		-DEPYTHON_VERSION="${EPYTHON#python}"
+		-DCMAKE_INSTALL_DOCDIR="${EPREFIX}/usr/share/doc/${PN}-${PVR}"
+		-DCMAKE_INSTALL_SYSCONFDIR="${EPREFIX}/etc"
+		#-Wno-dev
+	)
+	if use amd64 || use x86; then
+		for flag in ${CPU_FLAGS_X86[@]}; do
+			mycmakeargs+=("$(usex cpu_flags_x86_${flag} "-DHAVE_INTEL_${flag^^}=1")")
+		done
+	fi
+
+	rm -f "${BUILD_DIR:-${S}}/CMakeCache.txt" \
+		|| die "failed to remove cmake cache"
+
+	cmake-utils_src_configure
+
+	# bug #630232
+	sed -i "s:\"${T//:\\:}/${EPYTHON}/bin/python\":\"${PYTHON}\":" \
+		"${BUILD_DIR:-${S}}"/include/acconfig.h \
+		|| die "sed failed"
+}
+
+src_configure() {
+	ceph_src_configure
+}
+
+python_compile() {
+	local CMAKE_USE_DIR="${S}"
+	ceph_src_configure
+
+	pushd "${BUILD_DIR}/src/pybind" >/dev/null || die
+	emake VERBOSE=1 clean
+	emake VERBOSE=1 all
+
+	# python modules are only compiled with "make install" so we need to do this to
+	# prevent doing a bunch of compilation in src_install
+	DESTDIR="${T}" emake VERBOSE=1 install
+	popd >/dev/null || die
+}
+
+src_compile() {
+	cmake-utils_src_make VERBOSE=1 all
+
+	# we have to do this here to prevent from building everything multiple times
+	python_copy_sources
+	python_foreach_impl python_compile
+}
+
+src_test() {
+	make check || die "make check failed"
+}
+
+python_install() {
+	local CMAKE_USE_DIR="${S}"
+	pushd "${BUILD_DIR}/src/pybind" >/dev/null || die
+	DESTDIR="${ED}" emake VERBOSE=1 install
+	popd >/dev/null || die
+}
+
+src_install() {
+	cmake-utils_src_install
+	python_foreach_impl python_install
+
+	find "${ED}" -name '*.la' -type f -delete || die
+
+	exeinto /usr/$(get_libdir)/ceph
+	newexe "${BUILD_DIR}/bin/init-ceph" init-ceph
+
+	insinto /etc/logrotate.d/
+	newins "${FILESDIR}"/ceph.logrotate-r2 ${PN}
+
+	keepdir /var/lib/${PN}{,/tmp} /var/log/${PN}/stat
+
+	fowners -R ceph:ceph /var/lib/ceph /var/log/ceph
+
+	newinitd "${FILESDIR}/rbdmap.initd" rbdmap
+	newinitd "${FILESDIR}/${PN}.initd-r12" ${PN}
+	newconfd "${FILESDIR}/${PN}.confd-r5" ${PN}
+
+	insinto /etc/sysctl.d
+	newins "${FILESDIR}"/sysctld 90-${PN}.conf
+
+	use tcmalloc && newenvd "${FILESDIR}"/envd-tcmalloc 99${PN}-tcmalloc
+
+	# units aren't installed by the build system unless systemd is enabled
+	# so no point installing these with the USE flag disabled
+	if use systemd; then
+		systemd_install_serviced "${FILESDIR}/ceph-mds_at.service.conf" \
+			"ceph-mds@.service"
+
+		systemd_install_serviced "${FILESDIR}/ceph-osd_at.service.conf" \
+			"ceph-osd@.service"
+	fi
+
+	udev_dorules udev/*.rules
+
+	readme.gentoo_create_doc
+
+	python_setup 'python3*'
+
+	# bug #630232
+	sed -i -r "s:${T//:/\\:}/${EPYTHON}:/usr:" "${ED}"/usr/bin/ceph{,-crash} \
+		|| die "sed failed"
+
+	python_fix_shebang "${ED}"/usr/{,s}bin/
+
+	# python_fix_shebang apparently is not idempotent
+	sed -i -r  's:(/usr/lib/python-exec/python[0-9]\.[0-9]/python)[0-9]\.[0-9]:\1:' \
+		"${ED}"/usr/sbin/{mount.*,ceph-volume{,-systemd}} || die "sed failed"
+
+	local -a rados_classes=( "${ED}/usr/$(get_libdir)/rados-classes"/* )
+	dostrip -x "${rados_classes[@]#${ED}}"
+}
+
+pkg_postinst() {
+	readme.gentoo_print_elog
+}

diff --git a/sys-cluster/ceph/files/ceph-14.2.0-boost-1.70-sonames.patch b/sys-cluster/ceph/files/ceph-14.2.0-boost-1.70-sonames.patch
new file mode 100644
index 00000000000..6d712003742
--- /dev/null
+++ b/sys-cluster/ceph/files/ceph-14.2.0-boost-1.70-sonames.patch
@@ -0,0 +1,321 @@
+diff --git a/cmake/modules/FindBoost.cmake b/cmake/modules/FindBoost.cmake
+index bfab4ca436..90ed0cbb17 100644
+--- a/cmake/modules/FindBoost.cmake
++++ b/cmake/modules/FindBoost.cmake
+@@ -1181,10 +1181,10 @@ endif()
+ # on all platforms to keep end user code free from platform dependent
+ # code.  Also provide convenience targets to disable autolinking and
+ # enable dynamic linking.
+-if(NOT TARGET Boost::diagnostic_definitions)
+-  add_library(Boost::diagnostic_definitions INTERFACE IMPORTED)
+-  add_library(Boost::disable_autolinking INTERFACE IMPORTED)
+-  add_library(Boost::dynamic_linking INTERFACE IMPORTED)
++if(NOT TARGET boost_diagnostic_definitions)
++  add_library(boost_diagnostic_definitions INTERFACE IMPORTED)
++  add_library(boost_disable_autolinking INTERFACE IMPORTED)
++  add_library(boost_dynamic_linking INTERFACE IMPORTED)
+ endif()
+ if(WIN32)
+   # In windows, automatic linking is performed, so you do not have
+@@ -1205,11 +1205,11 @@ if(WIN32)
+   # code to emit a #pragma message each time a library is selected
+   # for linking.
+   set(Boost_LIB_DIAGNOSTIC_DEFINITIONS "-DBOOST_LIB_DIAGNOSTIC")
+-  set_target_properties(Boost::diagnostic_definitions PROPERTIES
++  set_target_properties(boost_diagnostic_definitions PROPERTIES
+     INTERFACE_COMPILE_DEFINITIONS "BOOST_LIB_DIAGNOSTIC")
+-  set_target_properties(Boost::disable_autolinking PROPERTIES
++  set_target_properties(boost_disable_autolinking PROPERTIES
+     INTERFACE_COMPILE_DEFINITIONS "BOOST_ALL_NO_LIB")
+-  set_target_properties(Boost::dynamic_linking PROPERTIES
++  set_target_properties(boost_dynamic_linking PROPERTIES
+     INTERFACE_COMPILE_DEFINITIONS "BOOST_ALL_DYN_LINK")
+ endif()
+ 
+@@ -2018,52 +2018,52 @@ if(Boost_FOUND)
+   endif()
+ 
+   foreach(COMPONENT ${Boost_FIND_COMPONENTS})
+-    if(_Boost_IMPORTED_TARGETS AND NOT TARGET Boost::${COMPONENT})
++    if(_Boost_IMPORTED_TARGETS AND NOT TARGET boost_${COMPONENT})
+       string(TOUPPER ${COMPONENT} UPPERCOMPONENT)
+       if(Boost_${UPPERCOMPONENT}_FOUND)
+         if(Boost_USE_STATIC_LIBS)
+-          add_library(Boost::${COMPONENT} STATIC IMPORTED)
++          add_library(boost_${COMPONENT} STATIC IMPORTED)
+         else()
+           # Even if Boost_USE_STATIC_LIBS is OFF, we might have static
+           # libraries as a result.
+-          add_library(Boost::${COMPONENT} UNKNOWN IMPORTED)
++          add_library(boost_${COMPONENT} UNKNOWN IMPORTED)
+         endif()
+         if(Boost_INCLUDE_DIRS)
+-          set_target_properties(Boost::${COMPONENT} PROPERTIES
++          set_target_properties(boost_${COMPONENT} PROPERTIES
+             INTERFACE_INCLUDE_DIRECTORIES "${Boost_INCLUDE_DIRS}")
+         endif()
+         if(EXISTS "${Boost_${UPPERCOMPONENT}_LIBRARY}")
+-          set_target_properties(Boost::${COMPONENT} PROPERTIES
++          set_target_properties(boost_${COMPONENT} PROPERTIES
+             IMPORTED_LINK_INTERFACE_LANGUAGES "CXX"
+             IMPORTED_LOCATION "${Boost_${UPPERCOMPONENT}_LIBRARY}")
+         endif()
+         if(EXISTS "${Boost_${UPPERCOMPONENT}_LIBRARY_RELEASE}")
+-          set_property(TARGET Boost::${COMPONENT} APPEND PROPERTY
++          set_property(TARGET boost_${COMPONENT} APPEND PROPERTY
+             IMPORTED_CONFIGURATIONS RELEASE)
+-          set_target_properties(Boost::${COMPONENT} PROPERTIES
++          set_target_properties(boost_${COMPONENT} PROPERTIES
+             IMPORTED_LINK_INTERFACE_LANGUAGES_RELEASE "CXX"
+             IMPORTED_LOCATION_RELEASE "${Boost_${UPPERCOMPONENT}_LIBRARY_RELEASE}")
+         endif()
+         if(EXISTS "${Boost_${UPPERCOMPONENT}_LIBRARY_DEBUG}")
+-          set_property(TARGET Boost::${COMPONENT} APPEND PROPERTY
++          set_property(TARGET boost_${COMPONENT} APPEND PROPERTY
+             IMPORTED_CONFIGURATIONS DEBUG)
+-          set_target_properties(Boost::${COMPONENT} PROPERTIES
++          set_target_properties(boost_${COMPONENT} PROPERTIES
+             IMPORTED_LINK_INTERFACE_LANGUAGES_DEBUG "CXX"
+             IMPORTED_LOCATION_DEBUG "${Boost_${UPPERCOMPONENT}_LIBRARY_DEBUG}")
+         endif()
+         if(_Boost_${UPPERCOMPONENT}_DEPENDENCIES)
+           unset(_Boost_${UPPERCOMPONENT}_TARGET_DEPENDENCIES)
+           foreach(dep ${_Boost_${UPPERCOMPONENT}_DEPENDENCIES})
+-            list(APPEND _Boost_${UPPERCOMPONENT}_TARGET_DEPENDENCIES Boost::${dep})
++            list(APPEND _Boost_${UPPERCOMPONENT}_TARGET_DEPENDENCIES boost_${dep})
+           endforeach()
+           if(COMPONENT STREQUAL "thread")
+             list(APPEND _Boost_${UPPERCOMPONENT}_TARGET_DEPENDENCIES Threads::Threads)
+           endif()
+-          set_target_properties(Boost::${COMPONENT} PROPERTIES
++          set_target_properties(boost_${COMPONENT} PROPERTIES
+             INTERFACE_LINK_LIBRARIES "${_Boost_${UPPERCOMPONENT}_TARGET_DEPENDENCIES}")
+         endif()
+         if(_Boost_${UPPERCOMPONENT}_COMPILER_FEATURES)
+-          set_target_properties(Boost::${COMPONENT} PROPERTIES
++          set_target_properties(boost_${COMPONENT} PROPERTIES
+             INTERFACE_COMPILE_FEATURES "${_Boost_${UPPERCOMPONENT}_COMPILER_FEATURES}")
+         endif()
+       endif()
+diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
+index 1b1f19d464..21c222280f 100644
+--- a/src/CMakeLists.txt
++++ b/src/CMakeLists.txt
+@@ -353,12 +353,12 @@ set(ceph_common_objs
+ set(ceph_common_deps
+   json_spirit erasure_code arch crc32
+   ${LIB_RESOLV}
+-  Boost::thread
+-  Boost::system
+-  Boost::random
+-  Boost::program_options
+-  Boost::date_time
+-  Boost::iostreams
++  boost_thread
++  boost_system
++  boost_random
++  boost_program_options
++  boost_date_time
++  boost_iostreams
+   ${BLKID_LIBRARIES}
+   ${Backtrace_LIBRARIES}
+   ${BLKIN_LIBRARIES}
+@@ -518,7 +518,7 @@ if (WITH_CEPHFS)
+     ceph_mds.cc)
+   add_executable(ceph-mds ${ceph_mds_srcs})
+   target_link_libraries(ceph-mds mds ${CMAKE_DL_LIBS} global-static ceph-common
+-    Boost::thread)
++    boost_thread)
+   install(TARGETS ceph-mds DESTINATION bin)
+ endif()
+ 
+diff --git a/src/crimson/CMakeLists.txt b/src/crimson/CMakeLists.txt
+index d7b58521d4..e1533af33f 100644
+--- a/src/crimson/CMakeLists.txt
++++ b/src/crimson/CMakeLists.txt
+@@ -106,8 +106,8 @@ target_link_libraries(crimson-common
+   PRIVATE
+     crc32
+     crimson::cflags
+-    Boost::iostreams
+-    Boost::random
++    boost_iostreams
++    boost_random
+     ${NSS_LIBRARIES} ${NSPR_LIBRARIES} OpenSSL::Crypto)
+ 
+ set(crimson_auth_srcs
+diff --git a/src/mgr/CMakeLists.txt b/src/mgr/CMakeLists.txt
+index 252fb3e5e3..213482da16 100644
+--- a/src/mgr/CMakeLists.txt
++++ b/src/mgr/CMakeLists.txt
+@@ -26,7 +26,7 @@ target_include_directories(ceph-mgr SYSTEM PRIVATE "${PYTHON_INCLUDE_DIRS}")
+ target_link_libraries(ceph-mgr
+   osdc client heap_profiler
+   global-static ceph-common
+-  Boost::python${MGR_PYTHON_VERSION_MAJOR}${MGR_PYTHON_VERSION_MINOR}
++  boost_python${MGR_PYTHON_VERSION_MAJOR}${MGR_PYTHON_VERSION_MINOR}
+   ${MGR_PYTHON_LIBRARIES} ${CMAKE_DL_LIBS} ${GSSAPI_LIBRARIES})
+ set_target_properties(ceph-mgr PROPERTIES
+   POSITION_INDEPENDENT_CODE ${EXE_LINKER_USE_PIE})
+diff --git a/src/rbd_replay/CMakeLists.txt b/src/rbd_replay/CMakeLists.txt
+index e9d3804c5f..5c6eb58de1 100644
+--- a/src/rbd_replay/CMakeLists.txt
++++ b/src/rbd_replay/CMakeLists.txt
+@@ -36,7 +36,7 @@ if(HAVE_BABELTRACE)
+     global
+     babeltrace
+     babeltrace-ctf
+-    Boost::date_time
++    boost_date_time
+     )
+   install(TARGETS rbd-replay-prep DESTINATION bin)
+ endif(HAVE_BABELTRACE)
+diff --git a/src/rgw/CMakeLists.txt b/src/rgw/CMakeLists.txt
+index ccc4f74cfe..854aa6e5e9 100644
+--- a/src/rgw/CMakeLists.txt
++++ b/src/rgw/CMakeLists.txt
+@@ -199,7 +199,7 @@ if(WITH_CURL_OPENSSL)
+ endif()
+ 
+ if(WITH_BOOST_CONTEXT)
+-  target_link_libraries(rgw_a PRIVATE Boost::coroutine Boost::context)
++  target_link_libraries(rgw_a PRIVATE boost_coroutine boost_context)
+ endif()
+ 
+ set(rgw_libs rgw_a)
+@@ -341,7 +341,7 @@ if(WITH_RADOSGW_AMQP_ENDPOINT)
+   target_link_libraries(rgw_admin_user PRIVATE RabbitMQ::RabbitMQ)
+ endif()
+ if(WITH_BOOST_CONTEXT)
+-  target_link_libraries(rgw_admin_user PRIVATE Boost::coroutine Boost::context)
++  target_link_libraries(rgw_admin_user PRIVATE boost_coroutine boost_context)
+ endif()
+ 
+ if(WITH_TESTS)
+diff --git a/src/test/CMakeLists.txt b/src/test/CMakeLists.txt
+index 20a64fd41b..a8bb323614 100644
+--- a/src/test/CMakeLists.txt
++++ b/src/test/CMakeLists.txt
+@@ -158,7 +158,7 @@ add_executable(ceph_omapbench
+   )
+ target_link_libraries(ceph_omapbench
+   librados
+-  Boost::program_options
++  boost_program_options
+   global
+   ${BLKID_LIBRARIES}
+   ${CMAKE_DL_LIBS}
+diff --git a/src/test/common/CMakeLists.txt b/src/test/common/CMakeLists.txt
+index 71fb77cda9..aff8fb6565 100644
+--- a/src/test/common/CMakeLists.txt
++++ b/src/test/common/CMakeLists.txt
+@@ -315,8 +315,8 @@ add_ceph_unittest(unittest_hobject)
+ 
+ add_executable(unittest_async_completion test_async_completion.cc)
+ add_ceph_unittest(unittest_async_completion)
+-target_link_libraries(unittest_async_completion Boost::system)
++target_link_libraries(unittest_async_completion boost_system)
+ 
+ add_executable(unittest_async_shared_mutex test_async_shared_mutex.cc)
+ add_ceph_unittest(unittest_async_shared_mutex)
+-target_link_libraries(unittest_async_shared_mutex ceph-common Boost::system)
++target_link_libraries(unittest_async_shared_mutex ceph-common boost_system)
+diff --git a/src/test/erasure-code/CMakeLists.txt b/src/test/erasure-code/CMakeLists.txt
+index 721f6c3675..1cd9635c77 100644
+--- a/src/test/erasure-code/CMakeLists.txt
++++ b/src/test/erasure-code/CMakeLists.txt
+@@ -2,15 +2,15 @@
+ add_executable(ceph_erasure_code_benchmark 
+   ${CMAKE_SOURCE_DIR}/src/erasure-code/ErasureCode.cc
+   ceph_erasure_code_benchmark.cc)
+-target_link_libraries(ceph_erasure_code_benchmark ceph-common Boost::program_options global ${CMAKE_DL_LIBS})
++target_link_libraries(ceph_erasure_code_benchmark ceph-common boost_program_options global ${CMAKE_DL_LIBS})
+ install(TARGETS ceph_erasure_code_benchmark
+   DESTINATION bin)
+ 
+ add_executable(ceph_erasure_code_non_regression ceph_erasure_code_non_regression.cc)
+-target_link_libraries(ceph_erasure_code_non_regression ceph-common Boost::program_options global ${CMAKE_DL_LIBS})
++target_link_libraries(ceph_erasure_code_non_regression ceph-common boost_program_options global ${CMAKE_DL_LIBS})
+ 
+ add_executable(ceph_erasure_code ceph_erasure_code.cc)
+-target_link_libraries(ceph_erasure_code ceph-common Boost::program_options global ${CMAKE_DL_LIBS})
++target_link_libraries(ceph_erasure_code ceph-common boost_program_options global ${CMAKE_DL_LIBS})
+ install(TARGETS ceph_erasure_code
+   DESTINATION bin)
+ 
+diff --git a/src/test/librados/CMakeLists.txt b/src/test/librados/CMakeLists.txt
+index 4fc53d2406..e6304394f8 100644
+--- a/src/test/librados/CMakeLists.txt
++++ b/src/test/librados/CMakeLists.txt
+@@ -62,7 +62,7 @@ add_executable(ceph_test_rados_api_asio asio.cc)
+ target_link_libraries(ceph_test_rados_api_asio global
+   librados ${UNITTEST_LIBS})
+ if(WITH_BOOST_CONTEXT)
+-  target_link_libraries(ceph_test_rados_api_asio Boost::coroutine Boost::context)
++  target_link_libraries(ceph_test_rados_api_asio boost_coroutine boost_context)
+ endif()
+ 
+ add_executable(ceph_test_rados_api_list
+@@ -132,7 +132,7 @@ add_executable(ceph_test_rados_api_tier_pp
+   tier_cxx.cc
+   $<TARGET_OBJECTS:unit-main>)
+ target_link_libraries(ceph_test_rados_api_tier_pp
+-  librados global ${UNITTEST_LIBS} Boost::system radostest-cxx)
++  librados global ${UNITTEST_LIBS} boost_system radostest-cxx)
+ 
+ add_executable(ceph_test_rados_api_snapshots
+   snapshots.cc)
+diff --git a/src/test/librbd/CMakeLists.txt b/src/test/librbd/CMakeLists.txt
+index 2bf6723c40..e99b8afa11 100644
+--- a/src/test/librbd/CMakeLists.txt
++++ b/src/test/librbd/CMakeLists.txt
+@@ -27,7 +27,7 @@ target_link_libraries(rbd_test PRIVATE
+   radostest
+   radostest-cxx
+   librados
+-  Boost::thread
++  boost_thread
+   GMock::GMock
+   GTest::GTest)
+ 
+diff --git a/src/test/rgw/CMakeLists.txt b/src/test/rgw/CMakeLists.txt
+index 9b2c6b6321..80e4cb7829 100644
+--- a/src/test/rgw/CMakeLists.txt
++++ b/src/test/rgw/CMakeLists.txt
+@@ -143,7 +143,7 @@ add_ceph_unittest(unittest_rgw_dmclock_scheduler)
+ target_link_libraries(unittest_rgw_dmclock_scheduler ${rgw_libs} dmclock)
+ if(WITH_BOOST_CONTEXT)
+   target_compile_definitions(unittest_rgw_dmclock_scheduler PRIVATE BOOST_COROUTINES_NO_DEPRECATION_WARNING)
+-  target_link_libraries(unittest_rgw_dmclock_scheduler Boost::coroutine Boost::context)
++  target_link_libraries(unittest_rgw_dmclock_scheduler boost_coroutine boost_context)
+ endif()
+ 
+ if(WITH_RADOSGW_AMQP_ENDPOINT)
+diff --git a/src/tools/CMakeLists.txt b/src/tools/CMakeLists.txt
+index d31f3d2408..6945018b11 100644
+--- a/src/tools/CMakeLists.txt
++++ b/src/tools/CMakeLists.txt
+@@ -35,20 +35,20 @@ install(PROGRAMS
+ endif(WITH_TESTS)
+ 
+ add_executable(ceph-osdomap-tool ceph_osdomap_tool.cc)
+-target_link_libraries(ceph-osdomap-tool os global Boost::program_options)
++target_link_libraries(ceph-osdomap-tool os global boost_program_options)
+ install(TARGETS ceph-osdomap-tool DESTINATION bin)
+ 
+ add_executable(ceph-monstore-tool
+   ceph_monstore_tool.cc
+   ../mgr/mgr_commands.cc)
+-target_link_libraries(ceph-monstore-tool os global Boost::program_options)
++target_link_libraries(ceph-monstore-tool os global boost_program_options)
+ install(TARGETS ceph-monstore-tool DESTINATION bin)
+ 
+ add_executable(ceph-objectstore-tool
+   ceph_objectstore_tool.cc
+   rebuild_mondb.cc
+   RadosDump.cc)
+-target_link_libraries(ceph-objectstore-tool osd os global Boost::program_options ${CMAKE_DL_LIBS})
++target_link_libraries(ceph-objectstore-tool osd os global boost_program_options ${CMAKE_DL_LIBS})
+ if(WITH_FUSE)
+   target_link_libraries(ceph-objectstore-tool ${FUSE_LIBRARIES})
+ endif(WITH_FUSE)

diff --git a/sys-cluster/ceph/files/ceph-14.2.0-boost-1.70.patch b/sys-cluster/ceph/files/ceph-14.2.0-boost-1.70.patch
new file mode 100644
index 00000000000..ce2ee92b3d8
--- /dev/null
+++ b/sys-cluster/ceph/files/ceph-14.2.0-boost-1.70.patch
@@ -0,0 +1,120 @@
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index f97f96b5bf..f5e5d06d35 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -657,13 +657,13 @@ if(WITH_SYSTEM_BOOST)
+   if(BOOST_ROOT AND CMAKE_LIBRARY_ARCHITECTURE)
+     set(BOOST_LIBRARYDIR "${BOOST_ROOT}/lib/${CMAKE_LIBRARY_ARCHITECTURE}")
+   endif()
+-  find_package(Boost 1.67 COMPONENTS ${BOOST_COMPONENTS} REQUIRED)
++  find_package(Boost 1.70 COMPONENTS ${BOOST_COMPONENTS} REQUIRED)
+ else()
+   set(BOOST_J 1 CACHE STRING
+     "max jobs for Boost build") # override w/-DBOOST_J=<n>
+   set(Boost_USE_STATIC_LIBS ON)
+   include(BuildBoost)
+-  build_boost(1.67
++  build_boost(1.70
+     COMPONENTS ${BOOST_COMPONENTS} ${BOOST_HEADER_COMPONENTS})
+ endif()
+ include_directories(BEFORE SYSTEM ${Boost_INCLUDE_DIRS})
+diff --git a/cmake/modules/BuildBoost.cmake b/cmake/modules/BuildBoost.cmake
+index f46cc0d485..4254508570 100644
+--- a/cmake/modules/BuildBoost.cmake
++++ b/cmake/modules/BuildBoost.cmake
+@@ -137,14 +137,14 @@ function(do_build_boost version)
+     check_boost_version("${PROJECT_SOURCE_DIR}/src/boost" ${version})
+     set(source_dir
+       SOURCE_DIR "${PROJECT_SOURCE_DIR}/src/boost")
+-  elseif(version VERSION_GREATER 1.67)
++  elseif(version VERSION_GREATER 1.70)
+     message(FATAL_ERROR "Unknown BOOST_REQUESTED_VERSION: ${version}")
+   else()
+     message(STATUS "boost will be downloaded...")
+     # NOTE: If you change this version number make sure the package is available
+     # at the three URLs below (may involve uploading to download.ceph.com)
+-    set(boost_version 1.67.0)
+-    set(boost_sha256 2684c972994ee57fc5632e03bf044746f6eb45d4920c343937a465fd67a5adba)
++    set(boost_version 1.70.0)
++    set(boost_sha256 430ae8354789de4fd19ee52f3b1f739e1fba576f0aded0897c3c2bc00fb38778)
+     string(REPLACE "." "_" boost_version_underscore ${boost_version} )
+     set(boost_url
+       https://dl.bintray.com/boostorg/release/${boost_version}/source/boost_${boost_version_underscore}.tar.bz2)
+diff --git a/src/rgw/rgw_asio_frontend.cc b/src/rgw/rgw_asio_frontend.cc
+index e4be074ec7..4af3695dc1 100644
+--- a/src/rgw/rgw_asio_frontend.cc
++++ b/src/rgw/rgw_asio_frontend.cc
+@@ -81,7 +81,8 @@ class StreamIO : public rgw::asio::ClientIO {
+ using SharedMutex = ceph::async::SharedMutex<boost::asio::io_context::executor_type>;
+
+ template <typename Stream>
+-void handle_connection(RGWProcessEnv& env, Stream& stream,
++void handle_connection(boost::asio::io_context& context,
++                       RGWProcessEnv& env, Stream& stream,
+                        boost::beast::flat_buffer& buffer, bool is_ssl,
+                        SharedMutex& pause_mutex,
+                        rgw::dmclock::Scheduler *scheduler,
+@@ -152,7 +153,7 @@ void handle_connection(RGWProcessEnv& env, Stream& stream,
+                                   rgw::io::add_conlen_controlling(
+                                     &real_client))));
+       RGWRestfulIO client(cct, &real_client_io);
+-      auto y = optional_yield{socket.get_io_context(), yield};
++      auto y = optional_yield{context, yield};
+       process_request(env.store, env.rest, &req, env.uri_prefix,
+                       *env.auth_registry, &client, env.olog, y, scheduler);
+     }
+@@ -560,7 +561,7 @@ void AsioFrontend::accept(Listener& l, boost::system::error_code ec)
+           return;
+         }
+         buffer.consume(bytes);
+-        handle_connection(env, stream, buffer, true, pause_mutex,
++        handle_connection(context, env, stream, buffer, true, pause_mutex,
+                           scheduler.get(), ec, yield);
+         if (!ec) {
+           // ssl shutdown (ignoring errors)
+@@ -578,7 +579,7 @@ void AsioFrontend::accept(Listener& l, boost::system::error_code ec)
+         auto c = connections.add(conn);
+         boost::beast::flat_buffer buffer;
+         boost::system::error_code ec;
+-        handle_connection(env, s, buffer, false, pause_mutex,
++        handle_connection(context, env, s, buffer, false, pause_mutex,
+                           scheduler.get(), ec, yield);
+         s.shutdown(tcp::socket::shutdown_both, ec);
+       });
+diff --git a/src/rgw/rgw_dmclock_async_scheduler.h b/src/rgw/rgw_dmclock_async_scheduler.h
+index 70487a5253..1d454acd2e 100644
+--- a/src/rgw/rgw_dmclock_async_scheduler.h
++++ b/src/rgw/rgw_dmclock_async_scheduler.h
+@@ -82,7 +82,12 @@ class AsyncScheduler : public md_config_obs_t, public Scheduler {
+   using Completion = async::Completion<Signature, async::AsBase<Request>>;
+
+   using Clock = ceph::coarse_real_clock;
++#if BOOST_VERSION < 107000
+   using Timer = boost::asio::basic_waitable_timer<Clock>;
++#else
++  using Timer = boost::asio::basic_waitable_timer<Clock,
++        boost::asio::wait_traits<Clock>, executor_type>;
++#endif
+   Timer timer; //< timer for the next scheduled request
+
+   CephContext *const cct;
+diff --git a/src/rgw/rgw_reshard.h b/src/rgw/rgw_reshard.h
+index d99a6ff68d..213fc238d2 100644
+--- a/src/rgw/rgw_reshard.h
++++ b/src/rgw/rgw_reshard.h
+@@ -183,7 +183,14 @@ class RGWReshardWait {
+   ceph::condition_variable cond;
+
+   struct Waiter : boost::intrusive::list_base_hook<> {
+-    boost::asio::basic_waitable_timer<Clock> timer;
++#if BOOST_VERSION < 107000
++    using Timer = boost::asio::basic_waitable_timer<Clock>;
++#else
++    using Executor = boost::asio::io_context::executor_type;
++    using Timer = boost::asio::basic_waitable_timer<Clock,
++          boost::asio::wait_traits<Clock>, Executor>;
++#endif
++    Timer timer;
+     explicit Waiter(boost::asio::io_context& ioc) : timer(ioc) {}
+   };
+   boost::intrusive::list<Waiter> waiters;

diff --git a/sys-cluster/ceph/files/ceph.initd-r12 b/sys-cluster/ceph/files/ceph.initd-r12
new file mode 100644
index 00000000000..4a90e3c3f98
--- /dev/null
+++ b/sys-cluster/ceph/files/ceph.initd-r12
@@ -0,0 +1,115 @@
+#!/sbin/openrc-run
+
+# make sure /etc/conf.d/ceph gets loaded for ceph-mon etc
+_CONFD_FILE="${RC_SERVICE%/*}/../conf.d/${RC_SVCNAME%-*}"
+if [ -r "${_CONFD_FILE}" ]; then
+	. "${_CONFD_FILE}" || exit 1
+fi
+
+: "${ceph_conf:=/etc/ceph/ceph.conf}"
+daemon_type="${RC_SVCNAME#ceph-}"
+daemon_type="${daemon_type%%.*}"
+daemon_id="${RC_SVCNAME#ceph-*.}"
+daemon_id="${daemon_id:-0}"
+: "${rundir:=/run/ceph}"
+: "${user:=ceph}"
+: "${group:=ceph}"
+: "${rc_ulimit:=-n 1048576 -u 1048576}"
+
+pidfile="${rundir}/supervisor-${daemon_type}.${daemon_id}.pid"
+daemon_pidfile="${rundir}/${daemon_type}.${daemon_id}.pid"
+
+command="/usr/bin/${RC_SVCNAME%%.*}"
+command_args="-i ${daemon_id} --pid-file ${daemon_pidfile} -c ${ceph_conf}"
+extra_commands="${extra_commands} reload"
+command_args_foreground="--foreground"
+
+retry="${CEPH_TERMTIMEOUT:-TERM/120/KILL/5}"
+start_stop_daemon_args="--user ${user} --group ${group}"
+supervise_daemon_args="--user ${user} --group ${group}"
+
+: "${supervisor:=supervise-daemon}"
+: "${stdout:=/var/log/ceph/ceph}"
+: "${stderr:=/var/log/ceph/ceph}"
+: "${respawn_delay:=10}"
+: "${respawn_max:=5}"
+: "${respawn_period:=1800}"
+
+: "${osd_respawn_delay:=15}"
+: "{osd_respawn_max:=10}"
+
+: "{radosgw_respawn_max:=5}"
+: "${radosgw_respawn_period:=30}"
+
+depend() {
+	use dns logger
+	after net ntpd ntp-client chronyd
+	before netmount
+}
+
+is_type_valid() {
+	case ${daemon_type} in
+		mon|mds|osd|mgr|radosgw) return 0;;
+		*) return 1;;
+	esac
+}
+
+start_pre() {
+	local log_dir
+	export CEPH_CONF="${ceph_conf}"
+
+	checkpath -d -q -o "${user}:${group}" "${rundir}"
+
+	if ! is_type_valid ;then
+		eerror "Please give valid Ceph Server Type: mds, mon, osd"
+		return 1
+
+	elif pgrep -f "[c]eph-${daemon_type} -i ${daemon_id} "; then
+		eerror "${daemon_type}.${daemon_id} is still running, refusing to start"
+		return 1
+	fi
+
+	if [ -n "${bluestore_osd_fsid}" ]; then
+		einfo "Mounting Bluestore"
+		ceph-volume lvm activate "${daemon_id}" "${bluestore_osd_fsid}" --no-systemd
+	fi
+
+	if [ "${daemon_type}" = radosgw ] && [ "${RADOSGW_WANT_NAME_PARAM}" = y ]; then
+		command_args="${command_args} --name client.${daemon_id}"
+	fi
+
+	local arg_name arg_val repl_arg_name
+	for arg_name in stdout stderr respawn_delay respawn_max respawn_period; do
+		eval arg_val="\${${daemon_type}_${arg_name}}"
+
+		if [ -z "${arg_val}" ]; then
+			eval arg_val="\${${arg_name}}"
+		else
+			eval "${arg_name}=\"${arg_val}\""
+		fi
+
+		if [ "${arg_name}" = "stderr" ] || [ "${arg_name}" = "stdout" ]; then
+			local log_file log_postfix
+			log_postfix=".${daemon_id}-${arg_name}.log"
+			log_file="${arg_val}"
+
+			if [ "${log_file}" != /dev/null ]; then
+				log_file="${log_file}${log_postfix}"
+
+				log_dir="$(dirname "${log_file}")"
+				checkpath -m 0755 -o "${user}:${group}" -d "${log_dir}"
+			fi
+
+			repl_arg_name="$(printf -- "%s\n" "${arg_name}" | tr _ -)"
+			supervise_daemon_args="${supervise_daemon_args} --${repl_arg_name}=${log_file}"
+		fi
+	done
+}
+
+reload() {
+	ebegin "Reloading Ceph ${daemon_type}.${daemon_id}"
+	start-stop-daemon --signal 1 "${start_stop_daemon_args}"
+	eend ${?}
+}
+
+# vim:ft=gentoo-init-d:ts=4:sts=4:sw=4:noet:


^ permalink raw reply related	[flat|nested] 68+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-cluster/ceph/, sys-cluster/ceph/files/
@ 2019-04-12  2:05 Patrick McLean
  0 siblings, 0 replies; 68+ messages in thread
From: Patrick McLean @ 2019-04-12  2:05 UTC (permalink / raw
  To: gentoo-commits

commit:     0314f5faf754730e1569a7d85691af43b67a24eb
Author:     Patrick McLean <patrick.mclean <AT> sony <DOT> com>
AuthorDate: Fri Apr 12 02:05:23 2019 +0000
Commit:     Patrick McLean <chutzpah <AT> gentoo <DOT> org>
CommitDate: Fri Apr 12 02:05:46 2019 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=0314f5fa

sys-cluster/ceph: Version bump to 12.2.12

Copyright: Sony Interactive Entertainment Inc.
Package-Manager: Portage-2.3.62, Repoman-2.3.12
Signed-off-by: Patrick McLean <chutzpah <AT> gentoo.org>

 sys-cluster/ceph/Manifest                          |   1 +
 sys-cluster/ceph/ceph-12.2.12.ebuild               | 319 +++++++++++++++++++++
 .../ceph-12.2.12-civetweb-openssl-1.1.1.patch      |  10 +
 .../ceph-12.2.12-dont-use-bad-namespace.patch      |  13 +
 .../ceph/files/ceph-12.2.12-qa-warning.patch       |  13 +
 5 files changed, 356 insertions(+)

diff --git a/sys-cluster/ceph/Manifest b/sys-cluster/ceph/Manifest
index 84c0ec570bc..9cd012986cb 100644
--- a/sys-cluster/ceph/Manifest
+++ b/sys-cluster/ceph/Manifest
@@ -1,6 +1,7 @@
 DIST ceph-10.2.10.tar.gz 14573701 BLAKE2B 78c68deb8537cae8394b4d35569983431e938eff42b01f448dea68016b33ca5770c83d1e1d382bfd6c8164d5259e821779c6515f8c8fb4d5d52ee90b7df43180 SHA512 883d1b8340aaefc7a1eee4bbfb5b1d1cc15bffed8f35fb1e8fb86b1208a4d0d16753eb6c688ea0e661c4877d3d148b2b6c2b41620c4e8a61e47c69f46f98e537
 DIST ceph-10.2.3.tar.gz 11596171 BLAKE2B c24c879649f0d42f58cfb1d03701797bc685d83c157031156d13308c731412a4a0149b658193722b358ebf0c4f9760d9664668cd797b69d207e81dc572f49700 SHA512 9de1e6851fc343d2c52c72cec3f7887d998d5b588f1251ee3a1fda14427badfa10408e6691fb03a374a10f4ec9844868423fee70fbbe2c0d962af98481412f19
 DIST ceph-12.2.11.tar.gz 79009034 BLAKE2B d8b1c188fe39603e90511eb436100ba14c0a9c4d9531f1a4ca52e78449462aacd274b80f8d0549918979fcb1ca4632ae0eaade1ae311a730fbe6657be044fc35 SHA512 14f46cc6f38d7d894cc657a040b428309632e5c163109a8a4a79a346ba2901a37d79966a0bc09148810c22b89375d9a4cb3b23f16364685b094c518bfafe9bef
+DIST ceph-12.2.12.tar.gz 77467762 BLAKE2B a5224432121db9ef49c1e22771d847399df2f7881cd9c2e185eca12096efb79d21578659d248eb5bae678924983d57452d370e23ab7e78663764d7bea834a461 SHA512 e694c9a8c1f9836c08fb74b54423bdc16d4900252e34643c56cf1a615d4dacddfb13df06a6a9f68bb9d438f5f07069ed358f9fa4b5a362640a3046f9c7722dcc
 DIST ceph-12.2.8.tar.gz 77243685 BLAKE2B 37c34396a0c276b8d79735e14934ac70da024822c2a060061531c234e03e5d41aad6c41dc64b05c2ce47f03287d0cae9ef9bed67e4a0861b6380c8ce1de4ea69 SHA512 91c5c11aaeef701b3e31c9f8a1192b6b79fd34f3b96c61595c65173c98bfce0009c5b7c9b29764f5e4d4b1f5ac2ca7109fed5ae598c176aba717a34a132fabac
 DIST ceph-13.2.4.tar.gz 90910119 BLAKE2B eb395f435552d91789869bd92fee2a8b2fef155205f13b118bd01be4ff78a8e1dde682425a24311822bb819ec8cf41a9d45245ffa3cb7a921d3269f6658bf920 SHA512 5055979067234ad7fd2774007d524ef4643d968bf7ce42fc8c3f8e469fd84cbd7afc163cd6ddda53584bd5677fdea2fecf8194a378d49724504f639b9f688ff7
 DIST ceph-13.2.5.tar.gz 91006057 BLAKE2B 68551e2f54d78aff7b0e9ec3c62e6a3394dd7c23e80924a5b400cd9666a05a42e5f22445deee4040f1b78201c6a6660b283109878d4c92d845821bff831c8a5e SHA512 6daea524523f829e725609328ea71f416b2c3a9530fa8956720a7bc69dc08e55a169654f500704579dc9ba693f04eedd7e04614c0850e9ab1169cd45f19039f8

diff --git a/sys-cluster/ceph/ceph-12.2.12.ebuild b/sys-cluster/ceph/ceph-12.2.12.ebuild
new file mode 100644
index 00000000000..002e685d77b
--- /dev/null
+++ b/sys-cluster/ceph/ceph-12.2.12.ebuild
@@ -0,0 +1,319 @@
+# Copyright 1999-2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+PYTHON_COMPAT=( python{2_7,3_{4,5,6}} )
+DISTUTILS_OPTIONAL=1
+
+inherit check-reqs cmake-utils distutils-r1 flag-o-matic multiprocessing \
+	python-r1 udev user readme.gentoo-r1 systemd
+
+if [[ ${PV} == *9999* ]]; then
+	inherit git-r3
+	EGIT_REPO_URI="https://github.com/ceph/ceph.git"
+	SRC_URI=""
+else
+	SRC_URI="https://download.ceph.com/tarballs/${P}.tar.gz"
+	KEYWORDS="~amd64 ~x86"
+fi
+
+DESCRIPTION="Ceph distributed filesystem"
+HOMEPAGE="https://ceph.com/"
+
+LICENSE="LGPL-2.1 CC-BY-SA-3.0 GPL-2 BSD Boost-1.0 MIT"
+SLOT="0"
+
+CPU_FLAGS_X86=(sse{,2,3,4_1,4_2} ssse3)
+
+IUSE="babeltrace cephfs fuse jemalloc ldap lttng +mgr nss +radosgw +ssl"
+IUSE+=" static-libs +system-boost systemd +tcmalloc test xfs zfs"
+IUSE+=" $(printf "cpu_flags_x86_%s\n" ${CPU_FLAGS_X86[@]})"
+
+# unbundling code commented out pending bugs 584056 and 584058
+#>=dev-libs/jerasure-2.0.0-r1
+#>=dev-libs/gf-complete-2.0.0
+COMMON_DEPEND="
+	virtual/libudev:=
+	app-arch/bzip2:=[static-libs?]
+	app-arch/lz4:=[static-libs?]
+	app-arch/snappy:=[static-libs?]
+	app-arch/zstd:=[static-libs?]
+	app-misc/jq:=[static-libs?]
+	<dev-libs/crypto++-7.0:=[static-libs?]
+	dev-libs/leveldb:=[snappy,static-libs?,tcmalloc?]
+	dev-libs/libaio:=[static-libs?]
+	dev-libs/libxml2:=[static-libs?]
+	sys-apps/keyutils:=[static-libs?]
+	sys-apps/util-linux:=[static-libs?]
+	sys-libs/zlib:=[static-libs?]
+	babeltrace? ( dev-util/babeltrace )
+	ldap? ( net-nds/openldap:=[static-libs?] )
+	lttng? ( dev-util/lttng-ust:= )
+	nss? ( dev-libs/nss:= )
+	fuse? ( sys-fs/fuse:0=[static-libs?] )
+	xfs? ( sys-fs/xfsprogs:=[static-libs?] )
+	zfs? ( sys-fs/zfs:=[static-libs?] )
+	ssl? (
+		<dev-libs/openssl-1.1:=[static-libs?]
+		!dev-libs/openssl:1.0.0
+	)
+	radosgw? (
+		dev-libs/expat:=[static-libs?]
+		<dev-libs/openssl-1.1:=[static-libs?]
+		net-misc/curl:=[curl_ssl_openssl,static-libs?]
+	)
+	system-boost? (
+		=dev-libs/boost-1.66*:=[threads,context,python,static-libs?,${PYTHON_USEDEP}]
+	)
+	jemalloc? ( dev-libs/jemalloc:=[static-libs?] )
+	!jemalloc? ( >=dev-util/google-perftools-2.4:=[static-libs?] )
+	${PYTHON_DEPS}
+	"
+DEPEND="${COMMON_DEPEND}
+	app-arch/cpio
+	amd64? ( dev-lang/yasm )
+	x86? ( dev-lang/yasm )
+	dev-python/cython[${PYTHON_USEDEP}]
+	dev-python/sphinx
+	dev-util/gperf
+	dev-util/valgrind
+	sys-apps/which
+	sys-devel/bc
+	virtual/pkgconfig
+	test? (
+		dev-python/tox[${PYTHON_USEDEP}]
+		dev-python/virtualenv[${PYTHON_USEDEP}]
+		sys-apps/grep[pcre]
+		sys-fs/btrfs-progs
+	)"
+RDEPEND="${COMMON_DEPEND}
+	net-misc/socat
+	sys-apps/gptfdisk
+	sys-block/parted
+	sys-fs/e2fsprogs
+	sys-fs/cryptsetup
+	sys-fs/lvm2
+	!<sys-apps/openrc-0.26.3
+	dev-python/cherrypy[${PYTHON_USEDEP}]
+	dev-python/flask[${PYTHON_USEDEP}]
+	dev-python/jinja[${PYTHON_USEDEP}]
+	dev-python/pecan[${PYTHON_USEDEP}]
+	dev-python/prettytable[${PYTHON_USEDEP}]
+	dev-python/pyopenssl[${PYTHON_USEDEP}]
+	dev-python/requests[${PYTHON_USEDEP}]
+	dev-python/werkzeug[${PYTHON_USEDEP}]
+	"
+REQUIRED_USE="
+	$(python_gen_useflags 'python2*')
+	${PYTHON_REQUIRED_USE}
+	?? ( ssl nss )
+	?? ( jemalloc tcmalloc )
+	"
+
+RESTRICT="test? ( userpriv )"
+
+# distribution tarball does not include everything needed for tests
+RESTRICT+=" test"
+
+# false positives unless all USE flags are on
+CMAKE_WARN_UNUSED_CLI="no"
+
+# ninja does not work at all
+CMAKE_MAKEFILE_GENERATOR="emake"
+
+STRIP_MASK="/usr/lib*/rados-classes/*"
+
+UNBUNDLE_LIBS=(
+	src/erasure-code/jerasure/jerasure
+	src/erasure-code/jerasure/gf-complete
+)
+
+PATCHES=(
+	"${FILESDIR}/ceph-12.2.0-use-provided-cpu-flag-values.patch"
+	"${FILESDIR}/ceph-12.2.0-cflags.patch"
+	"${FILESDIR}/ceph-12.2.1-systemd-unitdir.patch"
+	"${FILESDIR}/ceph-12.2.4-boost-build-none-options.patch"
+	"${FILESDIR}/ceph-12.2.4-cflags.patch"
+	"${FILESDIR}/ceph-12.2.4-rocksdb-cflags.patch"
+	"${FILESDIR}/ceph-12.2.5-no-werror.patch"
+	"${FILESDIR}/ceph-13.2.2-dont-install-sysvinit-script.patch"
+	"${FILESDIR}/ceph-12.2.11-fix-min-call.patch"
+	"${FILESDIR}/ceph-12.2.12-dont-use-bad-namespace.patch"
+	"${FILESDIR}/ceph-12.2.12-civetweb-openssl-1.1.1.patch"
+	"${FILESDIR}/ceph-12.2.12-qa-warning.patch"
+)
+
+check-reqs_export_vars() {
+	if use amd64; then
+		CHECKREQS_DISK_BUILD="12G"
+		CHECKREQS_DISK_USR="460M"
+	else
+		CHECKREQS_DISK_BUILD="1400M"
+		CHECKREQS_DISK_USR="450M"
+	fi
+
+	export CHECKREQS_DISK_BUILD CHECKREQS_DISK_USR
+}
+
+user_setup() {
+	enewgroup ceph ${CEPH_GID}
+	enewuser ceph "${CEPH_UID:--1}" -1 /var/lib/ceph ceph
+}
+
+pkg_pretend() {
+	check-reqs_export_vars
+	check-reqs_pkg_pretend
+}
+
+pkg_setup() {
+	python_setup 'python2*'
+	check-reqs_export_vars
+	check-reqs_pkg_setup
+	user_setup
+}
+
+src_prepare() {
+	cmake-utils_src_prepare
+
+	if use system-boost; then
+		eapply "${FILESDIR}/ceph-12.2.11-boost-sonames.patch"
+	fi
+
+	# remove tests that need root access
+	rm src/test/cli/ceph-authtool/cap*.t
+
+	#rm -rf "${UNBUNDLE_LIBS[@]}"
+}
+
+ceph_src_configure() {
+	local flag
+	local mycmakeargs=(
+		-DCMAKE_INSTALL_SYSCONFDIR="${EPREFIX}/etc"
+		-DCMAKE_INSTALL_DOCDIR="${EPREFIX}/usr/share/doc/${P}"
+		-DWITH_BABELTRACE=$(usex babeltrace)
+		-DWITH_CEPHFS=$(usex cephfs)
+		-DWITH_FUSE=$(usex fuse)
+		-DWITH_LTTNG=$(usex lttng)
+		-DWITH_MGR=$(usex mgr)
+		-DWITH_NSS=$(usex nss)
+		-DWITH_OPENLDAP=$(usex ldap)
+		-DWITH_RADOSGW=$(usex radosgw)
+		-DWITH_SSL=$(usex ssl)
+		-DWITH_SYSTEMD=$(usex systemd)
+		-DWITH_TESTS=$(usex test)
+		-DWITH_XFS=$(usex xfs)
+		-DWITH_ZFS=$(usex zfs)
+		-DENABLE_SHARED=$(usex static-libs '' 'yes' 'no')
+		-DALLOCATOR=$(usex tcmalloc 'tcmalloc' '' "$(usex jemalloc 'jemalloc' '' 'libc' '')" '')
+		-DWITH_SYSTEM_BOOST=$(usex system-boost)
+		-DBOOST_J=$(makeopts_jobs)
+		-DWITH_RDMA=no
+		-DSYSTEMD_UNITDIR=$(systemd_get_systemunitdir)
+		-DEPYTHON_VERSION="${EPYTHON#python}"
+	)
+	if use amd64 || use x86; then
+		for flag in ${CPU_FLAGS_X86[@]}; do
+			mycmakeargs+=("$(usex cpu_flags_x86_${flag} "-DHAVE_INTEL_${flag^^}=1")")
+		done
+	fi
+
+	rm -f "${BUILD_DIR:-${S}}/CMakeCache.txt"
+	cmake-utils_src_configure
+
+	# bug #630232
+	sed -i "s:\"${T//:\\:}/${EPYTHON}/bin/python\":\"${PYTHON}\":" \
+		"${BUILD_DIR:--${S}}"/include/acconfig.h \
+		|| die "sed failed"
+}
+
+src_configure() {
+	ceph_src_configure
+}
+
+python_compile() {
+	local CMAKE_USE_DIR="${S}"
+
+	ceph_src_configure
+	pushd "${BUILD_DIR}/src/pybind" >/dev/null || die
+	emake VERBOSE=1 all
+
+	# python modules are only compiled with "make install" so we need to do this to
+	# prevent doing a bunch of compilation in src_install
+	DESTDIR="${T}" emake VERBOSE=1 install
+	popd >/dev/null || die
+}
+
+src_compile() {
+	cmake-utils_src_make all
+
+	# we have to do this here to prevent from building everything multiple times
+	python_copy_sources
+	python_foreach_impl python_compile
+}
+
+src_test() {
+	make check || die "make check failed"
+}
+
+python_install() {
+	local CMAKE_USE_DIR="${S}"
+	pushd "${BUILD_DIR}/src/pybind" >/dev/null || die
+	DESTDIR="${D}" emake install
+	popd >/dev/null || die
+}
+
+src_install() {
+	cmake-utils_src_install
+	python_foreach_impl python_install
+
+	find "${D}" -name '*.la' -delete || die
+
+	exeinto /usr/$(get_libdir)/ceph
+	newexe "${BUILD_DIR}/bin/init-ceph" ceph_init.sh
+
+	insinto /etc/logrotate.d/
+	newins "${FILESDIR}"/ceph.logrotate-r2 ${PN}
+
+	keepdir /var/lib/${PN}{,/tmp} /var/log/${PN}/stat
+
+	fowners -R ceph:ceph /var/lib/ceph /var/log/ceph
+
+	newinitd "${FILESDIR}/rbdmap.initd" rbdmap
+	newinitd "${FILESDIR}/${PN}.initd-r11" ${PN}
+	newconfd "${FILESDIR}/${PN}.confd-r5" ${PN}
+
+	insinto /etc/sysctl.d
+	newins "${FILESDIR}"/sysctld 90-${PN}.conf
+
+	use tcmalloc && newenvd "${FILESDIR}"/envd-tcmalloc 99${PN}-tcmalloc
+
+	# units aren't installed by the build system unless systemd is enabled
+	# so no point installing these with the USE flag disabled
+	if use systemd; then
+		systemd_install_serviced "${FILESDIR}/ceph-mds_at.service.conf" \
+			"ceph-mds@.service"
+
+		systemd_install_serviced "${FILESDIR}/ceph-osd_at.service.conf" \
+			"ceph-osd@.service"
+	fi
+
+	udev_dorules udev/*.rules
+
+	readme.gentoo_create_doc
+
+	python_setup 'python2*'
+
+	# bug #630232
+	sed -i -r "s:${T//:/\\:}/${EPYTHON}:/usr:" "${ED}"/usr/bin/ceph \
+		|| die "sed failed"
+
+	python_fix_shebang "${ED}"/usr/{,s}bin/
+
+	# python_fix_shebang apparently is not idempotent
+	sed -i -r  's:(/usr/lib/python-exec/python[0-9]\.[0-9]/python)[0-9]\.[0-9]:\1:' \
+		"${ED}"/usr/{sbin/ceph-disk,bin/ceph-detect-init} || die "sed failed"
+}
+
+pkg_postinst() {
+	readme.gentoo_print_elog
+}

diff --git a/sys-cluster/ceph/files/ceph-12.2.12-civetweb-openssl-1.1.1.patch b/sys-cluster/ceph/files/ceph-12.2.12-civetweb-openssl-1.1.1.patch
new file mode 100644
index 00000000000..a21bcc9325d
--- /dev/null
+++ b/sys-cluster/ceph/files/ceph-12.2.12-civetweb-openssl-1.1.1.patch
@@ -0,0 +1,10 @@
+--- a/src/civetweb/src/civetweb.c	2017-11-02 10:58:06.000000000 -0700
++++ b/src/civetweb/src/civetweb.c	2019-04-11 17:23:30.736346783 -0700
+@@ -851,6 +851,7 @@
+ #include <openssl/crypto.h>
+ #include <openssl/x509.h>
+ #include <openssl/pem.h>
++#include <openssl/engine.h>
+ #else
+ /* SSL loaded dynamically from DLL.
+  * I put the prototypes here to be independent from OpenSSL source

diff --git a/sys-cluster/ceph/files/ceph-12.2.12-dont-use-bad-namespace.patch b/sys-cluster/ceph/files/ceph-12.2.12-dont-use-bad-namespace.patch
new file mode 100644
index 00000000000..9a23e1ee60a
--- /dev/null
+++ b/sys-cluster/ceph/files/ceph-12.2.12-dont-use-bad-namespace.patch
@@ -0,0 +1,13 @@
+diff --git a/src/rgw/rgw_crypt.cc b/src/rgw/rgw_crypt.cc
+index cf4e38995e..7a4089fca9 100644
+--- a/src/rgw/rgw_crypt.cc
++++ b/src/rgw/rgw_crypt.cc
+@@ -31,7 +31,7 @@ using namespace CryptoPP;
+ #define dout_subsys ceph_subsys_rgw
+ 
+ using namespace rgw;
+-using ceph::crypto::PK11_ImportSymKey_FIPS;
++//using ceph::crypto::PK11_ImportSymKey_FIPS;
+ 
+ /**
+  * Encryption in CTR mode. offset is used as IV for each block.

diff --git a/sys-cluster/ceph/files/ceph-12.2.12-qa-warning.patch b/sys-cluster/ceph/files/ceph-12.2.12-qa-warning.patch
new file mode 100644
index 00000000000..1b63d6e21ba
--- /dev/null
+++ b/sys-cluster/ceph/files/ceph-12.2.12-qa-warning.patch
@@ -0,0 +1,13 @@
+diff --git a/src/common/blkdev.cc b/src/common/blkdev.cc
+index d95a397a84..d2cbf4b7b9 100644
+--- a/src/common/blkdev.cc
++++ b/src/common/blkdev.cc
+@@ -225,7 +225,7 @@ int get_device_by_uuid(uuid_d dev_uuid, const char* label, char* partition,
+     rc = get_block_device_base(partition, basename,
+       sizeof(basename));
+     if (rc >= 0) {
+-      strncpy(device, basename, sizeof(basename));
++      strncpy(device, basename, sizeof(device));
+       rc = 0;
+     } else {
+       rc = -ENODEV;


^ permalink raw reply related	[flat|nested] 68+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-cluster/ceph/, sys-cluster/ceph/files/
@ 2019-03-29  2:23 Patrick McLean
  0 siblings, 0 replies; 68+ messages in thread
From: Patrick McLean @ 2019-03-29  2:23 UTC (permalink / raw
  To: gentoo-commits

commit:     4af9cbde3856cdc92a13441e6cceb1f06c067d78
Author:     Patrick McLean <patrick.mclean <AT> sony <DOT> com>
AuthorDate: Fri Mar 29 02:22:17 2019 +0000
Commit:     Patrick McLean <chutzpah <AT> gentoo <DOT> org>
CommitDate: Fri Mar 29 02:22:17 2019 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=4af9cbde

sys-cluster/ceph: Fix 12.2.11 compile fail on x86 (bug #679414)

Closes: https://bugs.gentoo.org/679414
Copyright: Sony Interactive Entertainment Inc.
Package-Manager: Portage-2.3.62, Repoman-2.3.12
Signed-off-by: Patrick McLean <chutzpah <AT> gentoo.org>

 sys-cluster/ceph/ceph-12.2.11.ebuild                   |  1 +
 sys-cluster/ceph/files/ceph-12.2.11-fix-min-call.patch | 13 +++++++++++++
 2 files changed, 14 insertions(+)

diff --git a/sys-cluster/ceph/ceph-12.2.11.ebuild b/sys-cluster/ceph/ceph-12.2.11.ebuild
index d828bc7be4f..761d8f53495 100644
--- a/sys-cluster/ceph/ceph-12.2.11.ebuild
+++ b/sys-cluster/ceph/ceph-12.2.11.ebuild
@@ -134,6 +134,7 @@ PATCHES=(
 	"${FILESDIR}/ceph-12.2.4-rocksdb-cflags.patch"
 	"${FILESDIR}/ceph-12.2.5-no-werror.patch"
 	"${FILESDIR}/ceph-13.2.2-dont-install-sysvinit-script.patch"
+	"${FILESDIR}/ceph-12.2.11-fix-min-call.patch"
 )
 
 check-reqs_export_vars() {

diff --git a/sys-cluster/ceph/files/ceph-12.2.11-fix-min-call.patch b/sys-cluster/ceph/files/ceph-12.2.11-fix-min-call.patch
new file mode 100644
index 00000000000..cd9eb4891cb
--- /dev/null
+++ b/sys-cluster/ceph/files/ceph-12.2.11-fix-min-call.patch
@@ -0,0 +1,13 @@
+diff --git a/src/osd/PrimaryLogPG.cc b/src/osd/PrimaryLogPG.cc
+index 0074c7964b..98991be7d2 100644
+--- a/src/osd/PrimaryLogPG.cc
++++ b/src/osd/PrimaryLogPG.cc
+@@ -1582,7 +1582,7 @@ void PrimaryLogPG::calc_trim_to()
+   if (limit != eversion_t() &&
+       limit != pg_trim_to &&
+       pg_log.get_log().approx_size() > target) {
+-    size_t num_to_trim = std::min(pg_log.get_log().approx_size() - target,
++    size_t num_to_trim = std::min((uint64_t)(pg_log.get_log().approx_size() - target),
+                              cct->_conf->osd_pg_log_trim_max);
+     if (num_to_trim < cct->_conf->osd_pg_log_trim_min &&
+         cct->_conf->osd_pg_log_trim_max >= cct->_conf->osd_pg_log_trim_min) {


^ permalink raw reply related	[flat|nested] 68+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-cluster/ceph/, sys-cluster/ceph/files/
@ 2019-03-20 21:54 Patrick McLean
  0 siblings, 0 replies; 68+ messages in thread
From: Patrick McLean @ 2019-03-20 21:54 UTC (permalink / raw
  To: gentoo-commits

commit:     12252b6abcce03e3154157193bc59c6653cbbb89
Author:     Patrick McLean <patrick.mclean <AT> sony <DOT> com>
AuthorDate: Wed Mar 20 21:53:46 2019 +0000
Commit:     Patrick McLean <chutzpah <AT> gentoo <DOT> org>
CommitDate: Wed Mar 20 21:54:20 2019 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=12252b6a

sys-cluster/ceph: Remove automagic dependency on dev-cpp/tbb

This removes an automagic dep on tbb in 13.2.5.
Also remove unneeded patch from 14.2.0

Closes: https://bugs.gentoo.org/667024
Copyright: Sony Interactive Entertainment Inc.
Package-Manager: Portage-2.3.62, Repoman-2.3.12
Signed-off-by: Patrick McLean <chutzpah <AT> gentoo.org>

 .../{ceph-13.2.5.ebuild => ceph-13.2.5-r1.ebuild}  |  6 +++-
 .../{ceph-14.2.0.ebuild => ceph-14.2.0-r1.ebuild}  | 10 +++---
 .../ceph/files/ceph-13.2.5-no-automagic-deps.patch | 37 ++++++++++++++++++++++
 .../ceph/files/ceph-14.2.0-no-automagic-tbb.patch  | 12 -------
 sys-cluster/ceph/metadata.xml                      |  1 +
 5 files changed, 47 insertions(+), 19 deletions(-)

diff --git a/sys-cluster/ceph/ceph-13.2.5.ebuild b/sys-cluster/ceph/ceph-13.2.5-r1.ebuild
similarity index 97%
rename from sys-cluster/ceph/ceph-13.2.5.ebuild
rename to sys-cluster/ceph/ceph-13.2.5-r1.ebuild
index cca90b166f0..f83f6158171 100644
--- a/sys-cluster/ceph/ceph-13.2.5.ebuild
+++ b/sys-cluster/ceph/ceph-13.2.5-r1.ebuild
@@ -26,7 +26,7 @@ SLOT="0"
 
 CPU_FLAGS_X86=(sse{,2,3,4_1,4_2} ssse3)
 
-IUSE="babeltrace cephfs dpdk fuse jemalloc ldap lttng +mgr"
+IUSE="babeltrace cephfs dpdk fuse jemalloc ldap lttng +mgr numa"
 IUSE+=" +radosgw +ssl static-libs +system-boost systemd +tcmalloc test"
 IUSE+=" xfs zfs"
 IUSE+=" $(printf "cpu_flags_x86_%s\n" ${CPU_FLAGS_X86[@]})"
@@ -54,6 +54,7 @@ COMMON_DEPEND="
 	ldap? ( net-nds/openldap:=[static-libs?] )
 	lttng? ( dev-util/lttng-ust:= )
 	fuse? ( sys-fs/fuse:0=[static-libs?] )
+	numa? ( sys-process/numactl:=[static-libs?] )
 	ssl? ( dev-libs/openssl:=[static-libs?] )
 	xfs? ( sys-fs/xfsprogs:=[static-libs?] )
 	zfs? ( sys-fs/zfs:=[static-libs?] )
@@ -136,6 +137,7 @@ PATCHES=(
 	"${FILESDIR}/ceph-13.2.0-mgr-python-version.patch"
 	"${FILESDIR}/ceph-13.2.0-no-virtualenvs.patch"
 	"${FILESDIR}/ceph-13.2.2-dont-install-sysvinit-script.patch"
+	"${FILESDIR}/ceph-13.2.5-no-automagic-deps.patch"
 )
 
 check-reqs_export_vars() {
@@ -193,6 +195,7 @@ ceph_src_configure() {
 		-DWITH_LTTNG=$(usex lttng)
 		-DWITH_MGR=$(usex mgr)
 		-DWITH_MGR_DASHBOARD_FRONTEND=NO
+		-DWITH_NUMA=$(usex numa)
 		-DWITH_OPENLDAP=$(usex ldap)
 		-DWITH_RADOSGW=$(usex radosgw)
 		-DWITH_SSL=$(usex ssl)
@@ -205,6 +208,7 @@ ceph_src_configure() {
 		-DWITH_SYSTEM_BOOST=$(usex system-boost)
 		-DBOOST_J=$(makeopts_jobs)
 		-DWITH_RDMA=no
+		-DWITH_TBB=no
 		-DSYSTEMD_UNITDIR=$(systemd_get_systemunitdir)
 		-DEPYTHON_VERSION="${EPYTHON#python}"
 		-DCMAKE_INSTALL_DOCDIR="${EPREFIX}/usr/share/doc/${P}"

diff --git a/sys-cluster/ceph/ceph-14.2.0.ebuild b/sys-cluster/ceph/ceph-14.2.0-r1.ebuild
similarity index 96%
rename from sys-cluster/ceph/ceph-14.2.0.ebuild
rename to sys-cluster/ceph/ceph-14.2.0-r1.ebuild
index d754478c6d0..8a6796f810f 100644
--- a/sys-cluster/ceph/ceph-14.2.0.ebuild
+++ b/sys-cluster/ceph/ceph-14.2.0-r1.ebuild
@@ -27,13 +27,10 @@ SLOT="0"
 CPU_FLAGS_X86=(sse{,2,3,4_1,4_2} ssse3)
 
 IUSE="babeltrace cephfs dpdk fuse grafana jemalloc kerberos ldap lttng +mgr"
-IUSE+=" rabbitmq +radosgw +ssl static-libs +system-boost systemd +tcmalloc"
-IUSE+=" test xfs zfs"
+IUSE+=" numa rabbitmq +radosgw +ssl static-libs +system-boost systemd"
+IUSE+=" +tcmalloc test xfs zfs"
 IUSE+=" $(printf "cpu_flags_x86_%s\n" ${CPU_FLAGS_X86[@]})"
 
-# unbundling code commented out pending bugs 584056 and 584058
-#>=dev-libs/jerasure-2.0.0-r1
-#>=dev-libs/gf-complete-2.0.0
 COMMON_DEPEND="
 	virtual/libudev:=
 	app-arch/bzip2:=[static-libs?]
@@ -143,7 +140,6 @@ PATCHES=(
 	"${FILESDIR}/ceph-14.2.0-no-virtualenvs.patch"
 	"${FILESDIR}/ceph-13.2.2-dont-install-sysvinit-script.patch"
 	"${FILESDIR}/ceph-14.2.0-dpdk-cflags.patch"
-	"${FILESDIR}/ceph-14.2.0-no-automagic-tbb.patch"
 )
 
 # dpdk and ninja don't get along
@@ -206,6 +202,7 @@ ceph_src_configure() {
 		-DWITH_GRAFANA=$(usex grafana)
 		-DWITH_MGR=$(usex mgr)
 		-DWITH_MGR_DASHBOARD_FRONTEND=NO
+		-DWITH_NUMA=$(usex numa)
 		-DWITH_OPENLDAP=$(usex ldap)
 		-DWITH_RADOSGW=$(usex radosgw)
 		-DWITH_RADOSGW_AMQP_ENDPOINT=$(usex rabbitmq)
@@ -219,6 +216,7 @@ ceph_src_configure() {
 		-DWITH_SYSTEM_BOOST=$(usex system-boost)
 		-DBOOST_J=$(makeopts_jobs)
 		-DWITH_RDMA=no
+		-DWITH_TBB=no
 		-DSYSTEMD_UNITDIR=$(systemd_get_systemunitdir)
 		-DEPYTHON_VERSION="${EPYTHON#python}"
 		-DCMAKE_INSTALL_DOCDIR="${EPREFIX}/usr/share/doc/${P}"

diff --git a/sys-cluster/ceph/files/ceph-13.2.5-no-automagic-deps.patch b/sys-cluster/ceph/files/ceph-13.2.5-no-automagic-deps.patch
new file mode 100644
index 00000000000..1eb42b3e5ad
--- /dev/null
+++ b/sys-cluster/ceph/files/ceph-13.2.5-no-automagic-deps.patch
@@ -0,0 +1,37 @@
+--- ceph-13.2.5.orig/src/rocksdb/CMakeLists.txt	2019-03-20 11:39:25.065954652 -0700
++++ ceph-13.2.5/src/rocksdb/CMakeLists.txt	2019-03-20 13:18:01.548085828 -0700
+@@ -286,18 +286,24 @@
+   endif()
+ endif()
+ 
+-find_package(NUMA)
+-if(NUMA_FOUND)
+-  add_definitions(-DNUMA)
+-  include_directories(${NUMA_INCLUDE_DIR})
+-  list(APPEND THIRDPARTY_LIBS ${NUMA_LIBRARIES})
++option(WITH_NUMA "build with UBSAN" OFF)
++if(WITH_NUMA)
++  find_package(NUMA)
++  if(NUMA_FOUND)
++    add_definitions(-DNUMA)
++    include_directories(${NUMA_INCLUDE_DIR})
++    list(APPEND THIRDPARTY_LIBS ${NUMA_LIBRARIES})
++  endif()
+ endif()
+ 
+-find_package(TBB)
+-if(TBB_FOUND)
+-  add_definitions(-DTBB)
+-  include_directories(${TBB_INCLUDE_DIR})
+-  list(APPEND THIRDPARTY_LIBS ${TBB_LIBRARIES})
++option(WITH_TBB "build with UBSAN" OFF)
++if(WITH_TBB)
++  find_package(TBB)
++  if(TBB_FOUND)
++    add_definitions(-DTBB)
++    include_directories(${TBB_INCLUDE_DIR})
++    list(APPEND THIRDPARTY_LIBS ${TBB_LIBRARIES})
++  endif()
+ endif()
+ 
+ # Used to run CI build and tests so we can run faster

diff --git a/sys-cluster/ceph/files/ceph-14.2.0-no-automagic-tbb.patch b/sys-cluster/ceph/files/ceph-14.2.0-no-automagic-tbb.patch
deleted file mode 100644
index 3e671a49098..00000000000
--- a/sys-cluster/ceph/files/ceph-14.2.0-no-automagic-tbb.patch
+++ /dev/null
@@ -1,12 +0,0 @@
-diff --git a/cmake/modules/BuildRocksDB.cmake b/cmake/modules/BuildRocksDB.cmake
-index 69741f4601..8e7a9e30c3 100644
---- a/cmake/modules/BuildRocksDB.cmake
-+++ b/cmake/modules/BuildRocksDB.cmake
-@@ -39,6 +39,7 @@ function(build_rocksdb)
-   list(APPEND rocksdb_CMAKE_ARGS -DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE})
-   list(APPEND rocksdb_CMAKE_ARGS -DFAIL_ON_WARNINGS=OFF)
-   list(APPEND rocksdb_CMAKE_ARGS -DUSE_RTTI=1)
-+  list(APPEND rocksdb_CMAKE_ARGS -DWITH_TBB=NO)
-   CHECK_C_COMPILER_FLAG("-Wno-stringop-truncation" HAS_WARNING_STRINGOP_TRUNCATION)
-   if(HAS_WARNING_STRINGOP_TRUNCATION)
-     list(APPEND rocksdb_CMAKE_ARGS -DCMAKE_C_FLAGS="-Wno-stringop-truncation")

diff --git a/sys-cluster/ceph/metadata.xml b/sys-cluster/ceph/metadata.xml
index f1a3c5f5209..03215bde3fd 100644
--- a/sys-cluster/ceph/metadata.xml
+++ b/sys-cluster/ceph/metadata.xml
@@ -28,6 +28,7 @@
     <flag name="lttng">Add support for LTTng</flag>
     <flag name="mgr">Build the ceph-mgr daemon</flag>
     <flag name="nss">Use <pkg>dev-libs/nss</pkg> for cryptography</flag>
+    <flag name="numa">Use <pkg>sys-process/numactl</pkg> for numa support in rocksdb</flag>
     <flag name="rabbitmq">Use rabbitmq-c to build rgw amqp push endpoint</flag>
     <flag name="radosgw">Add radosgw support</flag>
     <flag name="system-boost">Use system <pkg>dev-libs/boost</pkg> instead of the bundled one</flag>


^ permalink raw reply related	[flat|nested] 68+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-cluster/ceph/, sys-cluster/ceph/files/
@ 2019-03-20  1:12 Patrick McLean
  0 siblings, 0 replies; 68+ messages in thread
From: Patrick McLean @ 2019-03-20  1:12 UTC (permalink / raw
  To: gentoo-commits

commit:     9b67eb1b1afa94c7654646434299bbcf9bc5371f
Author:     Patrick McLean <patrick.mclean <AT> sony <DOT> com>
AuthorDate: Wed Mar 20 01:11:54 2019 +0000
Commit:     Patrick McLean <chutzpah <AT> gentoo <DOT> org>
CommitDate: Wed Mar 20 01:11:54 2019 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=9b67eb1b

sys-cluster/ceph: Version bump to 14.2.0

Copyright: Sony Interactive Entertainment Inc.
Package-Manager: Portage-2.3.62, Repoman-2.3.12
Signed-off-by: Patrick McLean <chutzpah <AT> gentoo.org>

 sys-cluster/ceph/Manifest                          |   1 +
 sys-cluster/ceph/ceph-14.2.0.ebuild                | 334 +++++++++++++++++++++
 .../ceph/files/ceph-14.2.0-boost-sonames.patch     | 334 +++++++++++++++++++++
 sys-cluster/ceph/files/ceph-14.2.0-cflags.patch    |  13 +
 .../ceph/files/ceph-14.2.0-dpdk-cflags.patch       |  30 ++
 .../files/ceph-14.2.0-mgr-python-version.patch     |  17 ++
 .../ceph/files/ceph-14.2.0-no-automagic-tbb.patch  |  12 +
 .../ceph/files/ceph-14.2.0-no-virtualenvs.patch    |  54 ++++
 sys-cluster/ceph/metadata.xml                      |   2 +
 9 files changed, 797 insertions(+)

diff --git a/sys-cluster/ceph/Manifest b/sys-cluster/ceph/Manifest
index 5153037850a..84c0ec570bc 100644
--- a/sys-cluster/ceph/Manifest
+++ b/sys-cluster/ceph/Manifest
@@ -4,3 +4,4 @@ DIST ceph-12.2.11.tar.gz 79009034 BLAKE2B d8b1c188fe39603e90511eb436100ba14c0a9c
 DIST ceph-12.2.8.tar.gz 77243685 BLAKE2B 37c34396a0c276b8d79735e14934ac70da024822c2a060061531c234e03e5d41aad6c41dc64b05c2ce47f03287d0cae9ef9bed67e4a0861b6380c8ce1de4ea69 SHA512 91c5c11aaeef701b3e31c9f8a1192b6b79fd34f3b96c61595c65173c98bfce0009c5b7c9b29764f5e4d4b1f5ac2ca7109fed5ae598c176aba717a34a132fabac
 DIST ceph-13.2.4.tar.gz 90910119 BLAKE2B eb395f435552d91789869bd92fee2a8b2fef155205f13b118bd01be4ff78a8e1dde682425a24311822bb819ec8cf41a9d45245ffa3cb7a921d3269f6658bf920 SHA512 5055979067234ad7fd2774007d524ef4643d968bf7ce42fc8c3f8e469fd84cbd7afc163cd6ddda53584bd5677fdea2fecf8194a378d49724504f639b9f688ff7
 DIST ceph-13.2.5.tar.gz 91006057 BLAKE2B 68551e2f54d78aff7b0e9ec3c62e6a3394dd7c23e80924a5b400cd9666a05a42e5f22445deee4040f1b78201c6a6660b283109878d4c92d845821bff831c8a5e SHA512 6daea524523f829e725609328ea71f416b2c3a9530fa8956720a7bc69dc08e55a169654f500704579dc9ba693f04eedd7e04614c0850e9ab1169cd45f19039f8
+DIST ceph-14.2.0.tar.gz 118882504 BLAKE2B e650d99dceb11c7b035480c8cdd9f63ee4a5f81ffea27988e180a2956433e3e4b34e496a73bf5992c428eff859311c623b92a6f006eb694ebf928d8204dc9b06 SHA512 c86a335714fd5678988133ec0e60cb10cd948250a133c073d1ed055c5bba232fa6f1e102dd7fcb0c70b37a07c9c2d1220d4a1713720e4dcab9659152ee577480

diff --git a/sys-cluster/ceph/ceph-14.2.0.ebuild b/sys-cluster/ceph/ceph-14.2.0.ebuild
new file mode 100644
index 00000000000..d754478c6d0
--- /dev/null
+++ b/sys-cluster/ceph/ceph-14.2.0.ebuild
@@ -0,0 +1,334 @@
+# Copyright 1999-2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+PYTHON_COMPAT=( python{2_7,3_{5,6,7}} )
+DISTUTILS_OPTIONAL=1
+
+inherit check-reqs bash-completion-r1 cmake-utils distutils-r1 flag-o-matic \
+		multiprocessing python-r1 udev user readme.gentoo-r1 toolchain-funcs \
+		systemd
+
+if [[ ${PV} == *9999* ]]; then
+	inherit git-r3
+	EGIT_REPO_URI="https://github.com/ceph/ceph.git"
+	SRC_URI=""
+else
+	SRC_URI="https://download.ceph.com/tarballs/${P}.tar.gz"
+	KEYWORDS="~amd64 ~x86"
+fi
+
+DESCRIPTION="Ceph distributed filesystem"
+HOMEPAGE="https://ceph.com/"
+
+LICENSE="LGPL-2.1 CC-BY-SA-3.0 GPL-2 BSD Boost-1.0 MIT"
+SLOT="0"
+
+CPU_FLAGS_X86=(sse{,2,3,4_1,4_2} ssse3)
+
+IUSE="babeltrace cephfs dpdk fuse grafana jemalloc kerberos ldap lttng +mgr"
+IUSE+=" rabbitmq +radosgw +ssl static-libs +system-boost systemd +tcmalloc"
+IUSE+=" test xfs zfs"
+IUSE+=" $(printf "cpu_flags_x86_%s\n" ${CPU_FLAGS_X86[@]})"
+
+# unbundling code commented out pending bugs 584056 and 584058
+#>=dev-libs/jerasure-2.0.0-r1
+#>=dev-libs/gf-complete-2.0.0
+COMMON_DEPEND="
+	virtual/libudev:=
+	app-arch/bzip2:=[static-libs?]
+	app-arch/lz4:=[static-libs?]
+	app-arch/snappy:=[static-libs?]
+	app-arch/zstd:=[static-libs?]
+	app-misc/jq:=[static-libs?]
+	dev-libs/crypto++:=[static-libs?]
+	dev-libs/leveldb:=[snappy,static-libs?,tcmalloc?]
+	dev-libs/libaio:=[static-libs?]
+	dev-libs/libxml2:=[static-libs?]
+	dev-libs/nss:=
+	sys-auth/oath-toolkit:=
+	sys-apps/keyutils:=[static-libs?]
+	sys-apps/util-linux:=[static-libs?]
+	sys-libs/ncurses:0=[static-libs?]
+	sys-libs/zlib:=[static-libs?]
+	babeltrace? ( dev-util/babeltrace )
+	ldap? ( net-nds/openldap:=[static-libs?] )
+	lttng? ( dev-util/lttng-ust:= )
+	fuse? ( sys-fs/fuse:0=[static-libs?] )
+	kerberos? ( virtual/krb5 )
+	rabbitmq? ( net-libs/rabbitmq-c:=[static-libs?] )
+	ssl? ( dev-libs/openssl:=[static-libs?] )
+	xfs? ( sys-fs/xfsprogs:=[static-libs?] )
+	zfs? ( sys-fs/zfs:=[static-libs?] )
+	radosgw? (
+		dev-libs/expat:=[static-libs?]
+		dev-libs/openssl:=[static-libs?]
+		net-misc/curl:=[curl_ssl_openssl,static-libs?]
+	)
+	system-boost? (
+		>=dev-libs/boost-1.67:=[threads,context,python,static-libs?,${PYTHON_USEDEP}]
+	)
+	jemalloc? ( dev-libs/jemalloc:=[static-libs?] )
+	!jemalloc? ( >=dev-util/google-perftools-2.4:=[static-libs?] )
+	${PYTHON_DEPS}
+	"
+DEPEND="${COMMON_DEPEND}
+	amd64? ( dev-lang/yasm )
+	x86? ( dev-lang/yasm )
+	dev-python/cython[${PYTHON_USEDEP}]
+	dev-python/sphinx
+	dev-util/cunit
+	test? (
+		dev-python/coverage[${PYTHON_USEDEP}]
+		dev-python/tox[${PYTHON_USEDEP}]
+		dev-python/virtualenv[${PYTHON_USEDEP}]
+		sys-apps/grep[pcre]
+		sys-fs/btrfs-progs
+	)
+	"
+BDEPEND="	app-arch/cpio
+	>=dev-util/cmake-3.5.0
+	dev-util/gperf
+	dev-util/valgrind
+	sys-apps/which
+	sys-devel/bc
+	virtual/pkgconfig
+	"
+RDEPEND="${COMMON_DEPEND}
+	net-misc/socat
+	sys-apps/gptfdisk
+	sys-block/parted
+	sys-fs/cryptsetup
+	sys-fs/lvm2
+	!<sys-apps/openrc-0.26.3
+	dev-python/bcrypt[${PYTHON_USEDEP}]
+	dev-python/cherrypy[${PYTHON_USEDEP}]
+	dev-python/flask[${PYTHON_USEDEP}]
+	dev-python/jinja[${PYTHON_USEDEP}]
+	dev-python/pecan[${PYTHON_USEDEP}]
+	dev-python/prettytable[${PYTHON_USEDEP}]
+	dev-python/pyopenssl[${PYTHON_USEDEP}]
+	dev-python/requests[${PYTHON_USEDEP}]
+	dev-python/werkzeug[${PYTHON_USEDEP}]
+	"
+REQUIRED_USE="
+	${PYTHON_REQUIRED_USE}
+	|| ( $(python_gen_useflags 'python3*') )
+	?? ( jemalloc tcmalloc )
+	rabbitmq? ( radosgw )
+	"
+
+# the tests need root access
+RESTRICT="test? ( userpriv )"
+
+# distribution tarball does not include everything needed for tests
+RESTRICT+=" test"
+
+# false positives unless all USE flags are on
+CMAKE_WARN_UNUSED_CLI="no"
+
+STRIP_MASK="/usr/lib*/rados-classes/*"
+
+UNBUNDLE_LIBS=(
+	src/erasure-code/jerasure/jerasure
+	src/erasure-code/jerasure/gf-complete
+)
+
+PATCHES=(
+	"${FILESDIR}/ceph-12.2.0-use-provided-cpu-flag-values.patch"
+	"${FILESDIR}/ceph-14.2.0-cflags.patch"
+	"${FILESDIR}/ceph-12.2.4-boost-build-none-options.patch"
+	"${FILESDIR}/ceph-13.2.0-cflags.patch"
+	"${FILESDIR}/ceph-14.2.0-mgr-python-version.patch"
+	"${FILESDIR}/ceph-14.2.0-no-virtualenvs.patch"
+	"${FILESDIR}/ceph-13.2.2-dont-install-sysvinit-script.patch"
+	"${FILESDIR}/ceph-14.2.0-dpdk-cflags.patch"
+	"${FILESDIR}/ceph-14.2.0-no-automagic-tbb.patch"
+)
+
+# dpdk and ninja don't get along
+CMAKE_MAKEFILE_GENERATOR="emake"
+
+check-reqs_export_vars() {
+	if use amd64; then
+		CHECKREQS_DISK_BUILD="12G"
+		CHECKREQS_DISK_USR="460M"
+	else
+		CHECKREQS_DISK_BUILD="1400M"
+		CHECKREQS_DISK_USR="450M"
+	fi
+
+	export CHECKREQS_DISK_BUILD CHECKREQS_DISK_USR
+}
+
+user_setup() {
+	enewgroup ceph ${CEPH_GID}
+	enewuser ceph "${CEPH_UID:--1}" -1 /var/lib/ceph ceph
+}
+
+pkg_pretend() {
+	check-reqs_export_vars
+	check-reqs_pkg_pretend
+}
+
+pkg_setup() {
+	python_setup 'python3*'
+	check-reqs_export_vars
+	check-reqs_pkg_setup
+	user_setup
+}
+
+src_prepare() {
+	cmake-utils_src_prepare
+
+	if use system-boost; then
+		eapply "${FILESDIR}/ceph-14.2.0-boost-sonames.patch"
+	fi
+
+	sed -i -r "s:DESTINATION .+\\):DESTINATION $(get_bashcompdir)\\):" \
+		src/bash_completion/CMakeLists.txt || die
+
+	# remove tests that need root access
+	rm src/test/cli/ceph-authtool/cap*.t || die
+
+	#rm -rf "${UNBUNDLE_LIBS[@]}"
+}
+
+ceph_src_configure() {
+	local flag
+	local mycmakeargs=(
+		-DWITH_BABELTRACE=$(usex babeltrace)
+		-DWITH_CEPHFS=$(usex cephfs)
+		-DWITH_DPDK=$(usex dpdk)
+		-DWITH_FUSE=$(usex fuse)
+		-DWITH_LTTNG=$(usex lttng)
+		-DWITH_GSSAPI=$(usex kerberos)
+		-DWITH_GRAFANA=$(usex grafana)
+		-DWITH_MGR=$(usex mgr)
+		-DWITH_MGR_DASHBOARD_FRONTEND=NO
+		-DWITH_OPENLDAP=$(usex ldap)
+		-DWITH_RADOSGW=$(usex radosgw)
+		-DWITH_RADOSGW_AMQP_ENDPOINT=$(usex rabbitmq)
+		-DWITH_SSL=$(usex ssl)
+		-DWITH_SYSTEMD=$(usex systemd)
+		-DWITH_TESTS=$(usex test)
+		-DWITH_XFS=$(usex xfs)
+		-DWITH_ZFS=$(usex zfs)
+		-DENABLE_SHARED=$(usex static-libs '' 'ON' 'OFF')
+		-DALLOCATOR=$(usex tcmalloc 'tcmalloc' "$(usex jemalloc 'jemalloc' 'libc')")
+		-DWITH_SYSTEM_BOOST=$(usex system-boost)
+		-DBOOST_J=$(makeopts_jobs)
+		-DWITH_RDMA=no
+		-DSYSTEMD_UNITDIR=$(systemd_get_systemunitdir)
+		-DEPYTHON_VERSION="${EPYTHON#python}"
+		-DCMAKE_INSTALL_DOCDIR="${EPREFIX}/usr/share/doc/${P}"
+		-DCMAKE_INSTALL_SYSCONFDIR="${EPREFIX}/etc"
+		-Wno-dev
+	)
+	if use amd64 || use x86; then
+		for flag in ${CPU_FLAGS_X86[@]}; do
+			mycmakeargs+=("$(usex cpu_flags_x86_${flag} "-DHAVE_INTEL_${flag^^}=1")")
+		done
+	fi
+
+	rm -f "${BUILD_DIR:-${S}}/CMakeCache.txt"
+	cmake-utils_src_configure
+
+	# bug #630232
+	sed -i "s:\"${T//:\\:}/${EPYTHON}/bin/python\":\"${PYTHON}\":" \
+		"${BUILD_DIR:-${CMAKE_BUILD_DIR:-${S}}}"/include/acconfig.h \
+		|| die "sed failed"
+}
+
+src_configure() {
+	ceph_src_configure
+}
+
+python_compile() {
+	local CMAKE_USE_DIR="${S}"
+	ceph_src_configure
+
+	pushd "${BUILD_DIR}/src/pybind" >/dev/null || die
+	emake VERBOSE=1 clean
+	emake VERBOSE=1 all
+
+	# python modules are only compiled with "make install" so we need to do this to
+	# prevent doing a bunch of compilation in src_install
+	DESTDIR="${T}" emake VERBOSE=1 install
+	popd >/dev/null || die
+}
+
+src_compile() {
+	cmake-utils_src_make VERBOSE=1 all
+
+	# we have to do this here to prevent from building everything multiple times
+	BUILD_DIR="${CMAKE_BUILD_DIR}" python_copy_sources
+	python_foreach_impl python_compile
+}
+
+src_test() {
+	make check || die "make check failed"
+}
+
+python_install() {
+	local CMAKE_USE_DIR="${S}"
+	pushd "${BUILD_DIR}/src/pybind" >/dev/null || die
+	DESTDIR="${ED}" emake install
+	popd >/dev/null || die
+}
+
+src_install() {
+	cmake-utils_src_install
+	python_foreach_impl python_install
+
+	find "${ED}" -name '*.la' -type f -delete || die
+
+	exeinto /usr/$(get_libdir)/ceph
+	newexe "${BUILD_DIR}/bin/init-ceph" init-ceph
+
+	insinto /etc/logrotate.d/
+	newins "${FILESDIR}"/ceph.logrotate-r2 ${PN}
+
+	keepdir /var/lib/${PN}{,/tmp} /var/log/${PN}/stat
+
+	fowners -R ceph:ceph /var/lib/ceph /var/log/ceph
+
+	newinitd "${FILESDIR}/rbdmap.initd" rbdmap
+	newinitd "${FILESDIR}/${PN}.initd-r11" ${PN}
+	newconfd "${FILESDIR}/${PN}.confd-r5" ${PN}
+
+	insinto /etc/sysctl.d
+	newins "${FILESDIR}"/sysctld 90-${PN}.conf
+
+	use tcmalloc && newenvd "${FILESDIR}"/envd-tcmalloc 99${PN}-tcmalloc
+
+	# units aren't installed by the build system unless systemd is enabled
+	# so no point installing these with the USE flag disabled
+	if use systemd; then
+		systemd_install_serviced "${FILESDIR}/ceph-mds_at.service.conf" \
+			"ceph-mds@.service"
+
+		systemd_install_serviced "${FILESDIR}/ceph-osd_at.service.conf" \
+			"ceph-osd@.service"
+	fi
+
+	udev_dorules udev/*.rules
+
+	readme.gentoo_create_doc
+
+	python_setup 'python3*'
+
+	# bug #630232
+	sed -i -r "s:${T//:/\\:}/${EPYTHON}:/usr:" "${ED}"/usr/bin/ceph \
+		|| die "sed failed"
+
+	python_fix_shebang "${ED}"/usr/{,s}bin/
+
+	# python_fix_shebang apparently is not idempotent
+	sed -i -r  's:(/usr/lib/python-exec/python[0-9]\.[0-9]/python)[0-9]\.[0-9]:\1:' \
+		"${ED}"/usr/sbin/{mount.fuse.ceph,ceph-volume{,-systemd}} || die "sed failed"
+}
+
+pkg_postinst() {
+	readme.gentoo_print_elog
+}

diff --git a/sys-cluster/ceph/files/ceph-14.2.0-boost-sonames.patch b/sys-cluster/ceph/files/ceph-14.2.0-boost-sonames.patch
new file mode 100644
index 00000000000..497d5953051
--- /dev/null
+++ b/sys-cluster/ceph/files/ceph-14.2.0-boost-sonames.patch
@@ -0,0 +1,334 @@
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index dbabecbe97..d12b696bb5 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -640,7 +640,7 @@ set(BOOST_HEADER_COMPONENTS container)
+ 
+ if(WITH_MGR)
+   list(APPEND BOOST_COMPONENTS
+-    python${MGR_PYTHON_VERSION_MAJOR}${MGR_PYTHON_VERSION_MINOR})
++    python-${MGR_PYTHON_VERSION_MAJOR}.${MGR_PYTHON_VERSION_MINOR})
+ endif()
+ if(WITH_BOOST_CONTEXT)
+   list(APPEND BOOST_COMPONENTS context coroutine)
+diff --git a/cmake/modules/FindBoost.cmake b/cmake/modules/FindBoost.cmake
+index bfab4ca436..90ed0cbb17 100644
+--- a/cmake/modules/FindBoost.cmake
++++ b/cmake/modules/FindBoost.cmake
+@@ -1181,10 +1181,10 @@ endif()
+ # on all platforms to keep end user code free from platform dependent
+ # code.  Also provide convenience targets to disable autolinking and
+ # enable dynamic linking.
+-if(NOT TARGET Boost::diagnostic_definitions)
+-  add_library(Boost::diagnostic_definitions INTERFACE IMPORTED)
+-  add_library(Boost::disable_autolinking INTERFACE IMPORTED)
+-  add_library(Boost::dynamic_linking INTERFACE IMPORTED)
++if(NOT TARGET boost_diagnostic_definitions)
++  add_library(boost_diagnostic_definitions INTERFACE IMPORTED)
++  add_library(boost_disable_autolinking INTERFACE IMPORTED)
++  add_library(boost_dynamic_linking INTERFACE IMPORTED)
+ endif()
+ if(WIN32)
+   # In windows, automatic linking is performed, so you do not have
+@@ -1205,11 +1205,11 @@ if(WIN32)
+   # code to emit a #pragma message each time a library is selected
+   # for linking.
+   set(Boost_LIB_DIAGNOSTIC_DEFINITIONS "-DBOOST_LIB_DIAGNOSTIC")
+-  set_target_properties(Boost::diagnostic_definitions PROPERTIES
++  set_target_properties(boost_diagnostic_definitions PROPERTIES
+     INTERFACE_COMPILE_DEFINITIONS "BOOST_LIB_DIAGNOSTIC")
+-  set_target_properties(Boost::disable_autolinking PROPERTIES
++  set_target_properties(boost_disable_autolinking PROPERTIES
+     INTERFACE_COMPILE_DEFINITIONS "BOOST_ALL_NO_LIB")
+-  set_target_properties(Boost::dynamic_linking PROPERTIES
++  set_target_properties(boost_dynamic_linking PROPERTIES
+     INTERFACE_COMPILE_DEFINITIONS "BOOST_ALL_DYN_LINK")
+ endif()
+ 
+@@ -2018,52 +2018,52 @@ if(Boost_FOUND)
+   endif()
+ 
+   foreach(COMPONENT ${Boost_FIND_COMPONENTS})
+-    if(_Boost_IMPORTED_TARGETS AND NOT TARGET Boost::${COMPONENT})
++    if(_Boost_IMPORTED_TARGETS AND NOT TARGET boost_${COMPONENT})
+       string(TOUPPER ${COMPONENT} UPPERCOMPONENT)
+       if(Boost_${UPPERCOMPONENT}_FOUND)
+         if(Boost_USE_STATIC_LIBS)
+-          add_library(Boost::${COMPONENT} STATIC IMPORTED)
++          add_library(boost_${COMPONENT} STATIC IMPORTED)
+         else()
+           # Even if Boost_USE_STATIC_LIBS is OFF, we might have static
+           # libraries as a result.
+-          add_library(Boost::${COMPONENT} UNKNOWN IMPORTED)
++          add_library(boost_${COMPONENT} UNKNOWN IMPORTED)
+         endif()
+         if(Boost_INCLUDE_DIRS)
+-          set_target_properties(Boost::${COMPONENT} PROPERTIES
++          set_target_properties(boost_${COMPONENT} PROPERTIES
+             INTERFACE_INCLUDE_DIRECTORIES "${Boost_INCLUDE_DIRS}")
+         endif()
+         if(EXISTS "${Boost_${UPPERCOMPONENT}_LIBRARY}")
+-          set_target_properties(Boost::${COMPONENT} PROPERTIES
++          set_target_properties(boost_${COMPONENT} PROPERTIES
+             IMPORTED_LINK_INTERFACE_LANGUAGES "CXX"
+             IMPORTED_LOCATION "${Boost_${UPPERCOMPONENT}_LIBRARY}")
+         endif()
+         if(EXISTS "${Boost_${UPPERCOMPONENT}_LIBRARY_RELEASE}")
+-          set_property(TARGET Boost::${COMPONENT} APPEND PROPERTY
++          set_property(TARGET boost_${COMPONENT} APPEND PROPERTY
+             IMPORTED_CONFIGURATIONS RELEASE)
+-          set_target_properties(Boost::${COMPONENT} PROPERTIES
++          set_target_properties(boost_${COMPONENT} PROPERTIES
+             IMPORTED_LINK_INTERFACE_LANGUAGES_RELEASE "CXX"
+             IMPORTED_LOCATION_RELEASE "${Boost_${UPPERCOMPONENT}_LIBRARY_RELEASE}")
+         endif()
+         if(EXISTS "${Boost_${UPPERCOMPONENT}_LIBRARY_DEBUG}")
+-          set_property(TARGET Boost::${COMPONENT} APPEND PROPERTY
++          set_property(TARGET boost_${COMPONENT} APPEND PROPERTY
+             IMPORTED_CONFIGURATIONS DEBUG)
+-          set_target_properties(Boost::${COMPONENT} PROPERTIES
++          set_target_properties(boost_${COMPONENT} PROPERTIES
+             IMPORTED_LINK_INTERFACE_LANGUAGES_DEBUG "CXX"
+             IMPORTED_LOCATION_DEBUG "${Boost_${UPPERCOMPONENT}_LIBRARY_DEBUG}")
+         endif()
+         if(_Boost_${UPPERCOMPONENT}_DEPENDENCIES)
+           unset(_Boost_${UPPERCOMPONENT}_TARGET_DEPENDENCIES)
+           foreach(dep ${_Boost_${UPPERCOMPONENT}_DEPENDENCIES})
+-            list(APPEND _Boost_${UPPERCOMPONENT}_TARGET_DEPENDENCIES Boost::${dep})
++            list(APPEND _Boost_${UPPERCOMPONENT}_TARGET_DEPENDENCIES boost_${dep})
+           endforeach()
+           if(COMPONENT STREQUAL "thread")
+             list(APPEND _Boost_${UPPERCOMPONENT}_TARGET_DEPENDENCIES Threads::Threads)
+           endif()
+-          set_target_properties(Boost::${COMPONENT} PROPERTIES
++          set_target_properties(boost_${COMPONENT} PROPERTIES
+             INTERFACE_LINK_LIBRARIES "${_Boost_${UPPERCOMPONENT}_TARGET_DEPENDENCIES}")
+         endif()
+         if(_Boost_${UPPERCOMPONENT}_COMPILER_FEATURES)
+-          set_target_properties(Boost::${COMPONENT} PROPERTIES
++          set_target_properties(boost_${COMPONENT} PROPERTIES
+             INTERFACE_COMPILE_FEATURES "${_Boost_${UPPERCOMPONENT}_COMPILER_FEATURES}")
+         endif()
+       endif()
+diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
+index 1b1f19d464..21c222280f 100644
+--- a/src/CMakeLists.txt
++++ b/src/CMakeLists.txt
+@@ -353,12 +353,12 @@ set(ceph_common_objs
+ set(ceph_common_deps
+   json_spirit erasure_code arch crc32
+   ${LIB_RESOLV}
+-  Boost::thread
+-  Boost::system
+-  Boost::random
+-  Boost::program_options
+-  Boost::date_time
+-  Boost::iostreams
++  boost_thread
++  boost_system
++  boost_random
++  boost_program_options
++  boost_date_time
++  boost_iostreams
+   ${BLKID_LIBRARIES}
+   ${Backtrace_LIBRARIES}
+   ${BLKIN_LIBRARIES}
+@@ -518,7 +518,7 @@ if (WITH_CEPHFS)
+     ceph_mds.cc)
+   add_executable(ceph-mds ${ceph_mds_srcs})
+   target_link_libraries(ceph-mds mds ${CMAKE_DL_LIBS} global-static ceph-common
+-    Boost::thread)
++    boost_thread)
+   install(TARGETS ceph-mds DESTINATION bin)
+ endif()
+ 
+diff --git a/src/crimson/CMakeLists.txt b/src/crimson/CMakeLists.txt
+index d7b58521d4..e1533af33f 100644
+--- a/src/crimson/CMakeLists.txt
++++ b/src/crimson/CMakeLists.txt
+@@ -106,8 +106,8 @@ target_link_libraries(crimson-common
+   PRIVATE
+     crc32
+     crimson::cflags
+-    Boost::iostreams
+-    Boost::random
++    boost_iostreams
++    boost_random
+     ${NSS_LIBRARIES} ${NSPR_LIBRARIES} OpenSSL::Crypto)
+ 
+ set(crimson_auth_srcs
+diff --git a/src/mgr/CMakeLists.txt b/src/mgr/CMakeLists.txt
+index 252fb3e5e3..3f3823a68e 100644
+--- a/src/mgr/CMakeLists.txt
++++ b/src/mgr/CMakeLists.txt
+@@ -26,7 +26,7 @@ target_include_directories(ceph-mgr SYSTEM PRIVATE "${PYTHON_INCLUDE_DIRS}")
+ target_link_libraries(ceph-mgr
+   osdc client heap_profiler
+   global-static ceph-common
+-  Boost::python${MGR_PYTHON_VERSION_MAJOR}${MGR_PYTHON_VERSION_MINOR}
++  boost_python-${MGR_PYTHON_VERSION_MAJOR}.${MGR_PYTHON_VERSION_MINOR}
+   ${MGR_PYTHON_LIBRARIES} ${CMAKE_DL_LIBS} ${GSSAPI_LIBRARIES})
+ set_target_properties(ceph-mgr PROPERTIES
+   POSITION_INDEPENDENT_CODE ${EXE_LINKER_USE_PIE})
+diff --git a/src/rbd_replay/CMakeLists.txt b/src/rbd_replay/CMakeLists.txt
+index e9d3804c5f..5c6eb58de1 100644
+--- a/src/rbd_replay/CMakeLists.txt
++++ b/src/rbd_replay/CMakeLists.txt
+@@ -36,7 +36,7 @@ if(HAVE_BABELTRACE)
+     global
+     babeltrace
+     babeltrace-ctf
+-    Boost::date_time
++    boost_date_time
+     )
+   install(TARGETS rbd-replay-prep DESTINATION bin)
+ endif(HAVE_BABELTRACE)
+diff --git a/src/rgw/CMakeLists.txt b/src/rgw/CMakeLists.txt
+index ccc4f74cfe..854aa6e5e9 100644
+--- a/src/rgw/CMakeLists.txt
++++ b/src/rgw/CMakeLists.txt
+@@ -199,7 +199,7 @@ if(WITH_CURL_OPENSSL)
+ endif()
+ 
+ if(WITH_BOOST_CONTEXT)
+-  target_link_libraries(rgw_a PRIVATE Boost::coroutine Boost::context)
++  target_link_libraries(rgw_a PRIVATE boost_coroutine boost_context)
+ endif()
+ 
+ set(rgw_libs rgw_a)
+@@ -341,7 +341,7 @@ if(WITH_RADOSGW_AMQP_ENDPOINT)
+   target_link_libraries(rgw_admin_user PRIVATE RabbitMQ::RabbitMQ)
+ endif()
+ if(WITH_BOOST_CONTEXT)
+-  target_link_libraries(rgw_admin_user PRIVATE Boost::coroutine Boost::context)
++  target_link_libraries(rgw_admin_user PRIVATE boost_coroutine boost_context)
+ endif()
+ 
+ if(WITH_TESTS)
+diff --git a/src/test/CMakeLists.txt b/src/test/CMakeLists.txt
+index 20a64fd41b..a8bb323614 100644
+--- a/src/test/CMakeLists.txt
++++ b/src/test/CMakeLists.txt
+@@ -158,7 +158,7 @@ add_executable(ceph_omapbench
+   )
+ target_link_libraries(ceph_omapbench
+   librados
+-  Boost::program_options
++  boost_program_options
+   global
+   ${BLKID_LIBRARIES}
+   ${CMAKE_DL_LIBS}
+diff --git a/src/test/common/CMakeLists.txt b/src/test/common/CMakeLists.txt
+index 71fb77cda9..aff8fb6565 100644
+--- a/src/test/common/CMakeLists.txt
++++ b/src/test/common/CMakeLists.txt
+@@ -315,8 +315,8 @@ add_ceph_unittest(unittest_hobject)
+ 
+ add_executable(unittest_async_completion test_async_completion.cc)
+ add_ceph_unittest(unittest_async_completion)
+-target_link_libraries(unittest_async_completion Boost::system)
++target_link_libraries(unittest_async_completion boost_system)
+ 
+ add_executable(unittest_async_shared_mutex test_async_shared_mutex.cc)
+ add_ceph_unittest(unittest_async_shared_mutex)
+-target_link_libraries(unittest_async_shared_mutex ceph-common Boost::system)
++target_link_libraries(unittest_async_shared_mutex ceph-common boost_system)
+diff --git a/src/test/erasure-code/CMakeLists.txt b/src/test/erasure-code/CMakeLists.txt
+index 721f6c3675..1cd9635c77 100644
+--- a/src/test/erasure-code/CMakeLists.txt
++++ b/src/test/erasure-code/CMakeLists.txt
+@@ -2,15 +2,15 @@
+ add_executable(ceph_erasure_code_benchmark 
+   ${CMAKE_SOURCE_DIR}/src/erasure-code/ErasureCode.cc
+   ceph_erasure_code_benchmark.cc)
+-target_link_libraries(ceph_erasure_code_benchmark ceph-common Boost::program_options global ${CMAKE_DL_LIBS})
++target_link_libraries(ceph_erasure_code_benchmark ceph-common boost_program_options global ${CMAKE_DL_LIBS})
+ install(TARGETS ceph_erasure_code_benchmark
+   DESTINATION bin)
+ 
+ add_executable(ceph_erasure_code_non_regression ceph_erasure_code_non_regression.cc)
+-target_link_libraries(ceph_erasure_code_non_regression ceph-common Boost::program_options global ${CMAKE_DL_LIBS})
++target_link_libraries(ceph_erasure_code_non_regression ceph-common boost_program_options global ${CMAKE_DL_LIBS})
+ 
+ add_executable(ceph_erasure_code ceph_erasure_code.cc)
+-target_link_libraries(ceph_erasure_code ceph-common Boost::program_options global ${CMAKE_DL_LIBS})
++target_link_libraries(ceph_erasure_code ceph-common boost_program_options global ${CMAKE_DL_LIBS})
+ install(TARGETS ceph_erasure_code
+   DESTINATION bin)
+ 
+diff --git a/src/test/librados/CMakeLists.txt b/src/test/librados/CMakeLists.txt
+index 4fc53d2406..e6304394f8 100644
+--- a/src/test/librados/CMakeLists.txt
++++ b/src/test/librados/CMakeLists.txt
+@@ -62,7 +62,7 @@ add_executable(ceph_test_rados_api_asio asio.cc)
+ target_link_libraries(ceph_test_rados_api_asio global
+   librados ${UNITTEST_LIBS})
+ if(WITH_BOOST_CONTEXT)
+-  target_link_libraries(ceph_test_rados_api_asio Boost::coroutine Boost::context)
++  target_link_libraries(ceph_test_rados_api_asio boost_coroutine boost_context)
+ endif()
+ 
+ add_executable(ceph_test_rados_api_list
+@@ -132,7 +132,7 @@ add_executable(ceph_test_rados_api_tier_pp
+   tier_cxx.cc
+   $<TARGET_OBJECTS:unit-main>)
+ target_link_libraries(ceph_test_rados_api_tier_pp
+-  librados global ${UNITTEST_LIBS} Boost::system radostest-cxx)
++  librados global ${UNITTEST_LIBS} boost_system radostest-cxx)
+ 
+ add_executable(ceph_test_rados_api_snapshots
+   snapshots.cc)
+diff --git a/src/test/librbd/CMakeLists.txt b/src/test/librbd/CMakeLists.txt
+index 2bf6723c40..e99b8afa11 100644
+--- a/src/test/librbd/CMakeLists.txt
++++ b/src/test/librbd/CMakeLists.txt
+@@ -27,7 +27,7 @@ target_link_libraries(rbd_test PRIVATE
+   radostest
+   radostest-cxx
+   librados
+-  Boost::thread
++  boost_thread
+   GMock::GMock
+   GTest::GTest)
+ 
+diff --git a/src/test/rgw/CMakeLists.txt b/src/test/rgw/CMakeLists.txt
+index 9b2c6b6321..80e4cb7829 100644
+--- a/src/test/rgw/CMakeLists.txt
++++ b/src/test/rgw/CMakeLists.txt
+@@ -143,7 +143,7 @@ add_ceph_unittest(unittest_rgw_dmclock_scheduler)
+ target_link_libraries(unittest_rgw_dmclock_scheduler ${rgw_libs} dmclock)
+ if(WITH_BOOST_CONTEXT)
+   target_compile_definitions(unittest_rgw_dmclock_scheduler PRIVATE BOOST_COROUTINES_NO_DEPRECATION_WARNING)
+-  target_link_libraries(unittest_rgw_dmclock_scheduler Boost::coroutine Boost::context)
++  target_link_libraries(unittest_rgw_dmclock_scheduler boost_coroutine boost_context)
+ endif()
+ 
+ if(WITH_RADOSGW_AMQP_ENDPOINT)
+diff --git a/src/tools/CMakeLists.txt b/src/tools/CMakeLists.txt
+index d31f3d2408..6945018b11 100644
+--- a/src/tools/CMakeLists.txt
++++ b/src/tools/CMakeLists.txt
+@@ -35,20 +35,20 @@ install(PROGRAMS
+ endif(WITH_TESTS)
+ 
+ add_executable(ceph-osdomap-tool ceph_osdomap_tool.cc)
+-target_link_libraries(ceph-osdomap-tool os global Boost::program_options)
++target_link_libraries(ceph-osdomap-tool os global boost_program_options)
+ install(TARGETS ceph-osdomap-tool DESTINATION bin)
+ 
+ add_executable(ceph-monstore-tool
+   ceph_monstore_tool.cc
+   ../mgr/mgr_commands.cc)
+-target_link_libraries(ceph-monstore-tool os global Boost::program_options)
++target_link_libraries(ceph-monstore-tool os global boost_program_options)
+ install(TARGETS ceph-monstore-tool DESTINATION bin)
+ 
+ add_executable(ceph-objectstore-tool
+   ceph_objectstore_tool.cc
+   rebuild_mondb.cc
+   RadosDump.cc)
+-target_link_libraries(ceph-objectstore-tool osd os global Boost::program_options ${CMAKE_DL_LIBS})
++target_link_libraries(ceph-objectstore-tool osd os global boost_program_options ${CMAKE_DL_LIBS})
+ if(WITH_FUSE)
+   target_link_libraries(ceph-objectstore-tool ${FUSE_LIBRARIES})
+ endif(WITH_FUSE)

diff --git a/sys-cluster/ceph/files/ceph-14.2.0-cflags.patch b/sys-cluster/ceph/files/ceph-14.2.0-cflags.patch
new file mode 100644
index 00000000000..3a9f52c879b
--- /dev/null
+++ b/sys-cluster/ceph/files/ceph-14.2.0-cflags.patch
@@ -0,0 +1,13 @@
+diff --git a/cmake/modules/Distutils.cmake b/cmake/modules/Distutils.cmake
+index 5697dff85f..7fdcfe4112 100644
+--- a/cmake/modules/Distutils.cmake
++++ b/cmake/modules/Distutils.cmake
+@@ -61,7 +61,7 @@ function(distutils_add_cython_module name src)
+     CC="${PY_CC}"
+     CXX="${PY_CXX}"
+     LDSHARED="${PY_LDSHARED}"
+-    OPT=\"-DNDEBUG -g -fwrapv -O2 -w\"
++    OPT=\"-DNDEBUG -g -fwrapv -w\"
+     LDFLAGS=-L${CMAKE_LIBRARY_OUTPUT_DIRECTORY}
+     CYTHON_BUILD_DIR=${CMAKE_CURRENT_BINARY_DIR}
+     CEPH_LIBDIR=${CMAKE_LIBRARY_OUTPUT_DIRECTORY}

diff --git a/sys-cluster/ceph/files/ceph-14.2.0-dpdk-cflags.patch b/sys-cluster/ceph/files/ceph-14.2.0-dpdk-cflags.patch
new file mode 100644
index 00000000000..ab5d980cfbc
--- /dev/null
+++ b/sys-cluster/ceph/files/ceph-14.2.0-dpdk-cflags.patch
@@ -0,0 +1,30 @@
+diff --git a/cmake/modules/BuildDPDK.cmake b/cmake/modules/BuildDPDK.cmake
+index 12a831a8b1..a5485aa205 100644
+--- a/cmake/modules/BuildDPDK.cmake
++++ b/cmake/modules/BuildDPDK.cmake
+@@ -16,17 +16,14 @@ function(do_build_dpdk dpdk_dir)
+     set(arch "x86_64")
+     set(machine "default")
+     set(machine_tmpl "native")
+-    set(rte_cflags "-march=core2")
+   elseif(CMAKE_SYSTEM_PROCESSOR MATCHES "arm|ARM")
+     set(arch "arm")
+     set(machine "armv7a")
+     set(machine_tmpl "armv7a")
+-    set(rte_cflags "-march=armv7-a")
+   elseif(CMAKE_SYSTEM_PROCESSOR MATCHES "aarch64|AARCH64")
+     set(arch "arm64")
+     set(machine "armv8a")
+     set(machine_tmpl "armv8a")
+-    set(rte_cflags "-march=armv8-a+crc")
+   elseif(CMAKE_SYSTEM_PROCESSOR MATCHES "(powerpc|ppc)64")
+     set(arch "ppc_64")
+     set(machine "power8")
+@@ -35,7 +32,6 @@ function(do_build_dpdk dpdk_dir)
+     message(FATAL_ERROR "not able to build DPDK support: "
+       "unknown arch \"${CMAKE_SYSTEM_PROCESSOR}\"")
+   endif()
+-  set(dpdk_rte_CFLAGS "${rte_cflags}" CACHE INTERNAL "")
+   if(CMAKE_SYSTEM_NAME MATCHES "Linux")
+     set(execenv "linuxapp")
+   elseif(CMAKE_SYSTEM_NAME MATCHES "FreeBSD")

diff --git a/sys-cluster/ceph/files/ceph-14.2.0-mgr-python-version.patch b/sys-cluster/ceph/files/ceph-14.2.0-mgr-python-version.patch
new file mode 100644
index 00000000000..e4502a608ec
--- /dev/null
+++ b/sys-cluster/ceph/files/ceph-14.2.0-mgr-python-version.patch
@@ -0,0 +1,17 @@
+diff --git a/src/pybind/CMakeLists.txt b/src/pybind/CMakeLists.txt
+index 664543172a..e74d73c084 100644
+--- a/src/pybind/CMakeLists.txt
++++ b/src/pybind/CMakeLists.txt
+@@ -62,12 +62,6 @@ foreach(python_version ${py_vers})
+ endforeach()
+ 
+ if(WITH_MGR)
+-  if(NOT WITH_PYTHON2 AND MGR_PYTHON_VERSION_MAJOR EQUAL 2)
+-    message(FATAL_ERROR "mgr plugins require python2 binding")
+-  elseif(NOT WITH_PYTHON3 AND MGR_PYTHON_VERSION_MAJOR EQUAL 3)
+-    message(FATAL_ERROR "mgr plugins require python3 binding")
+-  endif()
+-
+   if(USE_OPENSSL)
+     execute_process(
+       COMMAND ${PYTHON${PYTHON_VERSION}_EXECUTABLE} -c "import ssl; print('.'.join(map(str,ssl.OPENSSL_VERSION_INFO[0:3])))"

diff --git a/sys-cluster/ceph/files/ceph-14.2.0-no-automagic-tbb.patch b/sys-cluster/ceph/files/ceph-14.2.0-no-automagic-tbb.patch
new file mode 100644
index 00000000000..3e671a49098
--- /dev/null
+++ b/sys-cluster/ceph/files/ceph-14.2.0-no-automagic-tbb.patch
@@ -0,0 +1,12 @@
+diff --git a/cmake/modules/BuildRocksDB.cmake b/cmake/modules/BuildRocksDB.cmake
+index 69741f4601..8e7a9e30c3 100644
+--- a/cmake/modules/BuildRocksDB.cmake
++++ b/cmake/modules/BuildRocksDB.cmake
+@@ -39,6 +39,7 @@ function(build_rocksdb)
+   list(APPEND rocksdb_CMAKE_ARGS -DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE})
+   list(APPEND rocksdb_CMAKE_ARGS -DFAIL_ON_WARNINGS=OFF)
+   list(APPEND rocksdb_CMAKE_ARGS -DUSE_RTTI=1)
++  list(APPEND rocksdb_CMAKE_ARGS -DWITH_TBB=NO)
+   CHECK_C_COMPILER_FLAG("-Wno-stringop-truncation" HAS_WARNING_STRINGOP_TRUNCATION)
+   if(HAS_WARNING_STRINGOP_TRUNCATION)
+     list(APPEND rocksdb_CMAKE_ARGS -DCMAKE_C_FLAGS="-Wno-stringop-truncation")

diff --git a/sys-cluster/ceph/files/ceph-14.2.0-no-virtualenvs.patch b/sys-cluster/ceph/files/ceph-14.2.0-no-virtualenvs.patch
new file mode 100644
index 00000000000..5647ac51674
--- /dev/null
+++ b/sys-cluster/ceph/files/ceph-14.2.0-no-virtualenvs.patch
@@ -0,0 +1,54 @@
+diff --git a/.gitignore b/.gitignore
+index 2c2afc282e..80c05ee2f0 100644
+--- a/.gitignore
++++ b/.gitignore
+@@ -13,10 +13,8 @@
+ *.swp
+ *.swo
+ *.tmp
+-*.orig
+ *.patch
+ !debian/patches/*.patch
+-*.rej
+ *.rpm
+ *.pyc
+ ceph.spec
+diff --git a/src/pybind/mgr/dashboard/CMakeLists.txt b/src/pybind/mgr/dashboard/CMakeLists.txt
+index 24a2efc9e2..b11d4d0303 100644
+--- a/src/pybind/mgr/dashboard/CMakeLists.txt
++++ b/src/pybind/mgr/dashboard/CMakeLists.txt
+@@ -2,7 +2,7 @@ set(MGR_DASHBOARD_VIRTUALENV ${CEPH_BUILD_VIRTUALENV}/mgr-dashboard-virtualenv)
+ 
+ add_custom_target(mgr-dashboard-test-venv
+   COMMAND
+-  ${CMAKE_SOURCE_DIR}/src/tools/setup-virtualenv.sh --python=${MGR_PYTHON_EXECUTABLE} ${MGR_DASHBOARD_VIRTUALENV}
++  #${CMAKE_SOURCE_DIR}/src/tools/setup-virtualenv.sh --python=${MGR_PYTHON_EXECUTABLE} ${MGR_DASHBOARD_VIRTUALENV}
+   WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}/src/pybind/mgr/dashboard
+   COMMENT "dashboard tests virtualenv is being created")
+ add_dependencies(tests mgr-dashboard-test-venv)
+@@ -14,9 +14,9 @@ function(add_npm_command)
+   set(multi_kw COMMAND DEPENDS)
+   cmake_parse_arguments(NC "${options}" "${single_kw}" "${multi_kw}" ${ARGN})
+   string(REPLACE ";" " " command "${NC_COMMAND}")
+-  if(NC_NODEENV)
+-    string(REGEX REPLACE "^(npm .*)$" ". ${mgr-dashboard-nodeenv-dir}/bin/activate && \\1 && deactivate" command ${command})
+-  endif()
++  #if(NC_NODEENV)
++  #  string(REGEX REPLACE "^(npm .*)$" ". ${mgr-dashboard-nodeenv-dir}/bin/activate && \\1 && deactivate" command ${command})
++  #endif()
+   string(REPLACE " " ";" command "${command}")
+   add_custom_command(
+     OUTPUT "${NC_OUTPUT}"
+@@ -41,9 +41,9 @@ else()
+ 
+   add_custom_command(
+     OUTPUT "${mgr-dashboard-nodeenv-dir}/bin/npm"
+-    COMMAND ${CMAKE_SOURCE_DIR}/src/tools/setup-virtualenv.sh --python=${MGR_PYTHON_EXECUTABLE} ${mgr-dashboard-nodeenv-dir}
+-    COMMAND ${mgr-dashboard-nodeenv-dir}/bin/pip install nodeenv
+-    COMMAND ${mgr-dashboard-nodeenv-dir}/bin/nodeenv -p --node=10.13.0
++	#COMMAND ${CMAKE_SOURCE_DIR}/src/tools/setup-virtualenv.sh --python=${MGR_PYTHON_EXECUTABLE} ${mgr-dashboard-nodeenv-dir}
++	#COMMAND ${mgr-dashboard-nodeenv-dir}/bin/pip install nodeenv
++	#COMMAND ${mgr-dashboard-nodeenv-dir}/bin/nodeenv -p --node=10.13.0
+     WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
+     COMMENT "dashboard nodeenv is being installed"
+   )

diff --git a/sys-cluster/ceph/metadata.xml b/sys-cluster/ceph/metadata.xml
index a483dc67c04..f1a3c5f5209 100644
--- a/sys-cluster/ceph/metadata.xml
+++ b/sys-cluster/ceph/metadata.xml
@@ -22,11 +22,13 @@
     <flag name="cephfs">Build support for cephfs, a POSIX compatible filesystem built on top of ceph</flag>
     <flag name="dpdk">Enable DPDK messaging</flag>
     <flag name="fuse">Build fuse client</flag>
+    <flag name="grafana">Install grafana dashboards</flag>
     <flag name="libatomic">Use libatomic instead of builtin atomic operations</flag>
     <flag name="libaio">Use libaio as asynchronous input/output library</flag>
     <flag name="lttng">Add support for LTTng</flag>
     <flag name="mgr">Build the ceph-mgr daemon</flag>
     <flag name="nss">Use <pkg>dev-libs/nss</pkg> for cryptography</flag>
+    <flag name="rabbitmq">Use rabbitmq-c to build rgw amqp push endpoint</flag>
     <flag name="radosgw">Add radosgw support</flag>
     <flag name="system-boost">Use system <pkg>dev-libs/boost</pkg> instead of the bundled one</flag>
     <flag name="xfs">Add xfs support</flag>


^ permalink raw reply related	[flat|nested] 68+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-cluster/ceph/, sys-cluster/ceph/files/
@ 2019-01-08  0:13 Patrick McLean
  0 siblings, 0 replies; 68+ messages in thread
From: Patrick McLean @ 2019-01-08  0:13 UTC (permalink / raw
  To: gentoo-commits

commit:     030c87d27bca481566a44e7f8a891da41a46fcc6
Author:     Patrick McLean <patrick.mclean <AT> sony <DOT> com>
AuthorDate: Tue Jan  8 00:12:48 2019 +0000
Commit:     Patrick McLean <chutzpah <AT> gentoo <DOT> org>
CommitDate: Tue Jan  8 00:13:17 2019 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=030c87d2

sys-cluster/ceph: Version bump to 13.2.4

Also update init script to resolve bug #673554

Bug: https://bugs.gentoo.org/673554
Copyright: Sony Interactive Entertainment Inc.
Package-Manager: Portage-2.3.54, Repoman-2.3.12
Signed-off-by: Patrick McLean <chutzpah <AT> gentoo.org>

 sys-cluster/ceph/Manifest             |   1 +
 sys-cluster/ceph/ceph-13.2.4.ebuild   | 335 ++++++++++++++++++++++++++++++++++
 sys-cluster/ceph/files/ceph.initd-r11 | 115 ++++++++++++
 3 files changed, 451 insertions(+)

diff --git a/sys-cluster/ceph/Manifest b/sys-cluster/ceph/Manifest
index 23aa8981d97..2e581c4d696 100644
--- a/sys-cluster/ceph/Manifest
+++ b/sys-cluster/ceph/Manifest
@@ -8,3 +8,4 @@ DIST ceph-13.2.1-frontend-node-modules.tar.xz 44352460 BLAKE2B 0a0099e60f0b36d48
 DIST ceph-13.2.1.tar.gz 90786830 BLAKE2B e0884a039ff0e8a1705d8f31f4dcf4cd8ab8989d7c2fa703417038ff9a6cf7b0fbca09abceb901970fbb2dd9a1dc87c2500fec38a2bfca86a9a6dcaab15be991 SHA512 411218ea6037bdf9425a741720ea89876e893e64fbfa518c9584ba581f805fde2c82b13ed47313279665e5d20f36223fc8d5c27055b580c72b22c2004e4da81b
 DIST ceph-13.2.2-frontend-node-modules.tar.xz 45100632 BLAKE2B c3929a6c5e6ec3da5ff60967ae40b99377b2186f31e64af571d9be14889d90bc48b570489aea300ead8e99afc0e62db4438cf343686757a39d84889e772c7fa9 SHA512 93eabc2010c0977c2980c739e131d231a809e375c42120e81effc6cecdeaf0e50b4f8c88286993ef60f1ffaede94f637475104e09fd7af58a289350bd670bf2f
 DIST ceph-13.2.2.tar.gz 90840817 BLAKE2B db5933f358a1ae6888030bca7522e20545a2e107055dca44b371e295537c854568682fa558d3f90193e0dfe618947918ce21816b5e20795fff8a14bc837216bb SHA512 37c4845ae52550428c7f1e0d77d9d671ea1d6f5cad5bce0713dce97b54f3abe7346daa2cbd44b76638fb74fe7bdc4797033a4bf808253cfc8bec0fa495ec7e03
+DIST ceph-13.2.4.tar.gz 90910119 BLAKE2B eb395f435552d91789869bd92fee2a8b2fef155205f13b118bd01be4ff78a8e1dde682425a24311822bb819ec8cf41a9d45245ffa3cb7a921d3269f6658bf920 SHA512 5055979067234ad7fd2774007d524ef4643d968bf7ce42fc8c3f8e469fd84cbd7afc163cd6ddda53584bd5677fdea2fecf8194a378d49724504f639b9f688ff7

diff --git a/sys-cluster/ceph/ceph-13.2.4.ebuild b/sys-cluster/ceph/ceph-13.2.4.ebuild
new file mode 100644
index 00000000000..58a11edc773
--- /dev/null
+++ b/sys-cluster/ceph/ceph-13.2.4.ebuild
@@ -0,0 +1,335 @@
+# Copyright 1999-2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+PYTHON_COMPAT=( python{2_7,3_{4,5,6}} )
+DISTUTILS_OPTIONAL=1
+
+inherit check-reqs bash-completion-r1 cmake-utils distutils-r1 flag-o-matic \
+		multiprocessing python-r1 udev user readme.gentoo-r1 toolchain-funcs \
+		systemd
+
+if [[ ${PV} == *9999* ]]; then
+	inherit git-r3
+	EGIT_REPO_URI="https://github.com/ceph/ceph.git"
+	SRC_URI=""
+else
+	SRC_URI="https://download.ceph.com/tarballs/${P}.tar.gz"
+	KEYWORDS="~amd64 ~x86"
+fi
+
+DESCRIPTION="Ceph distributed filesystem"
+HOMEPAGE="https://ceph.com/"
+
+LICENSE="LGPL-2.1 CC-BY-SA-3.0 GPL-2 BSD Boost-1.0 MIT"
+SLOT="0"
+
+CPU_FLAGS_X86=(sse{,2,3,4_1,4_2} ssse3)
+
+IUSE="babeltrace cephfs dpdk fuse jemalloc ldap lttng +mgr"
+IUSE+=" +radosgw +ssl static-libs +system-boost systemd +tcmalloc test"
+IUSE+=" xfs zfs"
+IUSE+=" $(printf "cpu_flags_x86_%s\n" ${CPU_FLAGS_X86[@]})"
+
+# unbundling code commented out pending bugs 584056 and 584058
+#>=dev-libs/jerasure-2.0.0-r1
+#>=dev-libs/gf-complete-2.0.0
+COMMON_DEPEND="
+	virtual/libudev:=
+	app-arch/bzip2:=[static-libs?]
+	app-arch/lz4:=[static-libs?]
+	app-arch/snappy:=[static-libs?]
+	app-arch/zstd:=[static-libs?]
+	app-misc/jq:=[static-libs?]
+	dev-libs/crypto++:=[static-libs?]
+	dev-libs/leveldb:=[snappy,static-libs?,tcmalloc?]
+	dev-libs/libaio:=[static-libs?]
+	dev-libs/libxml2:=[static-libs?]
+	dev-libs/nss:=
+	sys-auth/oath-toolkit:=
+	sys-apps/keyutils:=[static-libs?]
+	sys-apps/util-linux:=[static-libs?]
+	sys-libs/zlib:=[static-libs?]
+	babeltrace? ( dev-util/babeltrace )
+	ldap? ( net-nds/openldap:=[static-libs?] )
+	lttng? ( dev-util/lttng-ust:= )
+	fuse? ( sys-fs/fuse:0=[static-libs?] )
+	ssl? ( dev-libs/openssl:=[static-libs?] )
+	xfs? ( sys-fs/xfsprogs:=[static-libs?] )
+	zfs? ( sys-fs/zfs:=[static-libs?] )
+	mgr? (
+		<net-libs/nodejs-9.0
+		>net-libs/nodejs-8.10
+	)
+	radosgw? (
+		dev-libs/expat:=[static-libs?]
+		dev-libs/openssl:=[static-libs?]
+		net-misc/curl:=[curl_ssl_openssl,static-libs?]
+	)
+	system-boost? (
+		>=dev-libs/boost-1.67:=[threads,context,python,static-libs?,${PYTHON_USEDEP}]
+	)
+	jemalloc? ( dev-libs/jemalloc:=[static-libs?] )
+	!jemalloc? ( >=dev-util/google-perftools-2.4:=[static-libs?] )
+	${PYTHON_DEPS}
+	"
+DEPEND="${COMMON_DEPEND}
+	amd64? ( dev-lang/yasm )
+	x86? ( dev-lang/yasm )
+	app-arch/cpio
+	dev-python/cython[${PYTHON_USEDEP}]
+	dev-python/sphinx
+	dev-util/cunit
+	dev-util/gperf
+	dev-util/valgrind
+	sys-apps/which
+	sys-devel/bc
+	virtual/pkgconfig
+	test? (
+		dev-python/coverage[${PYTHON_USEDEP}]
+		dev-python/tox[${PYTHON_USEDEP}]
+		dev-python/virtualenv[${PYTHON_USEDEP}]
+		sys-apps/grep[pcre]
+		sys-fs/btrfs-progs
+	)"
+RDEPEND="${COMMON_DEPEND}
+	net-misc/socat
+	sys-apps/gptfdisk
+	sys-block/parted
+	sys-fs/cryptsetup
+	sys-fs/lvm2
+	!<sys-apps/openrc-0.26.3
+	dev-python/bcrypt[${PYTHON_USEDEP}]
+	dev-python/cherrypy[${PYTHON_USEDEP}]
+	dev-python/flask[${PYTHON_USEDEP}]
+	dev-python/jinja[${PYTHON_USEDEP}]
+	dev-python/pecan[${PYTHON_USEDEP}]
+	dev-python/prettytable[${PYTHON_USEDEP}]
+	dev-python/pyopenssl[${PYTHON_USEDEP}]
+	dev-python/requests[${PYTHON_USEDEP}]
+	dev-python/werkzeug[${PYTHON_USEDEP}]
+	"
+REQUIRED_USE="
+	${PYTHON_REQUIRED_USE}
+	|| ( $(python_gen_useflags 'python3*') )
+	?? ( jemalloc tcmalloc )
+	"
+
+# the tests need root access
+RESTRICT="test? ( userpriv )"
+
+# distribution tarball does not include everything needed for tests
+RESTRICT+=" test"
+
+# false positives unless all USE flags are on
+CMAKE_WARN_UNUSED_CLI="no"
+
+STRIP_MASK="/usr/lib*/rados-classes/*"
+
+UNBUNDLE_LIBS=(
+	src/erasure-code/jerasure/jerasure
+	src/erasure-code/jerasure/gf-complete
+)
+
+PATCHES=(
+	"${FILESDIR}/ceph-12.2.0-use-provided-cpu-flag-values.patch"
+	"${FILESDIR}/ceph-12.2.0-cflags.patch"
+	"${FILESDIR}/ceph-12.2.4-boost-build-none-options.patch"
+	"${FILESDIR}/ceph-13.2.0-cflags.patch"
+	"${FILESDIR}/ceph-12.2.4-rocksdb-cflags.patch"
+	"${FILESDIR}/ceph-13.2.0-mgr-python-version.patch"
+	"${FILESDIR}/ceph-13.2.0-no-virtualenvs.patch"
+	"${FILESDIR}/ceph-13.2.2-dont-install-sysvinit-script.patch"
+)
+
+check-reqs_export_vars() {
+	if use amd64; then
+		CHECKREQS_DISK_BUILD="12G"
+		CHECKREQS_DISK_USR="460M"
+	else
+		CHECKREQS_DISK_BUILD="1400M"
+		CHECKREQS_DISK_USR="450M"
+	fi
+
+	export CHECKREQS_DISK_BUILD CHECKREQS_DISK_USR
+}
+
+user_setup() {
+	enewgroup ceph ${CEPH_GID}
+	enewuser ceph "${CEPH_UID:--1}" -1 /var/lib/ceph ceph
+}
+
+pkg_pretend() {
+	if use cephfs; then
+		eerror "Cephfs support is broken in 13.2.2, please mask ${PF} if"
+		eerror "you need cephfs support: "
+		eerror " # echo '=${CATEGORY}/${PF}' >> /etc/portage/package.mask"
+		eerror
+		eerror "See https://bugs.gentoo.org/670592 for more information"
+		die "CephFS support is currently broken"
+	fi
+
+	check-reqs_export_vars
+	check-reqs_pkg_pretend
+}
+
+pkg_setup() {
+	python_setup 'python3*'
+	check-reqs_export_vars
+	check-reqs_pkg_setup
+	user_setup
+}
+
+src_prepare() {
+	cmake-utils_src_prepare
+
+	if use system-boost; then
+		eapply "${FILESDIR}/ceph-13.2.0-boost-sonames.patch"
+	fi
+
+	sed -i -r "s:DESTINATION .+\\):DESTINATION $(get_bashcompdir)\\):" \
+		src/bash_completion/CMakeLists.txt || die
+
+	# remove tests that need root access
+	rm src/test/cli/ceph-authtool/cap*.t || die
+
+	#rm -rf "${UNBUNDLE_LIBS[@]}"
+}
+
+ceph_src_configure() {
+	local flag
+	local mycmakeargs=(
+		-DWITH_BABELTRACE=$(usex babeltrace)
+		-DWITH_CEPHFS=$(usex cephfs)
+		-DWITH_DPDK=$(usex dpdk)
+		-DWITH_FUSE=$(usex fuse)
+		-DWITH_LTTNG=$(usex lttng)
+		-DWITH_MGR=$(usex mgr)
+		-DWITH_MGR_DASHBOARD_FRONTEND=NO
+		-DWITH_OPENLDAP=$(usex ldap)
+		-DWITH_RADOSGW=$(usex radosgw)
+		-DWITH_SSL=$(usex ssl)
+		-DWITH_SYSTEMD=$(usex systemd)
+		-DWITH_TESTS=$(usex test)
+		-DWITH_XFS=$(usex xfs)
+		-DWITH_ZFS=$(usex zfs)
+		-DENABLE_SHARED=$(usex static-libs '' 'yes' 'no')
+		-DALLOCATOR=$(usex tcmalloc 'tcmalloc' "$(usex jemalloc 'jemalloc' 'libc')")
+		-DWITH_SYSTEM_BOOST=$(usex system-boost)
+		-DBOOST_J=$(makeopts_jobs)
+		-DWITH_RDMA=no
+		-DSYSTEMD_UNITDIR=$(systemd_get_systemunitdir)
+		-DEPYTHON_VERSION="${EPYTHON#python}"
+		-DCMAKE_INSTALL_DOCDIR="${EPREFIX}/usr/share/doc/${P}"
+		-DCMAKE_INSTALL_SYSCONFDIR="${EPREFIX}/etc"
+		-Wno-dev
+	)
+	if use amd64 || use x86; then
+		for flag in ${CPU_FLAGS_X86[@]}; do
+			mycmakeargs+=("$(usex cpu_flags_x86_${flag} "-DHAVE_INTEL_${flag^^}=1")")
+		done
+	fi
+
+	rm -f "${BUILD_DIR:-${S}}/CMakeCache.txt"
+	cmake-utils_src_configure
+
+	# bug #630232
+	sed -i "s:\"${T//:\\:}/${EPYTHON}/bin/python\":\"${PYTHON}\":" \
+		"${BUILD_DIR:-${CMAKE_BUILD_DIR:-${S}}}"/include/acconfig.h \
+		|| die "sed failed"
+}
+
+src_configure() {
+	ceph_src_configure
+}
+
+python_compile() {
+	local CMAKE_USE_DIR="${S}"
+	ceph_src_configure
+
+	rm -r "${BUILD_DIR}/lib/cython_modules" || die
+
+	pushd "${BUILD_DIR}/src/pybind" >/dev/null || die
+	emake VERBOSE=1 clean
+	emake VERBOSE=1 all
+
+	# python modules are only compiled with "make install" so we need to do this to
+	# prevent doing a bunch of compilation in src_install
+	DESTDIR="${T}" emake VERBOSE=1 install
+	popd >/dev/null || die
+}
+
+src_compile() {
+	cmake-utils_src_make VERBOSE=1 all
+
+	# we have to do this here to prevent from building everything multiple times
+	BUILD_DIR="${CMAKE_BUILD_DIR}" python_copy_sources
+	python_foreach_impl python_compile
+}
+
+src_test() {
+	make check || die "make check failed"
+}
+
+python_install() {
+	local CMAKE_USE_DIR="${S}"
+	pushd "${BUILD_DIR}/src/pybind" >/dev/null || die
+	DESTDIR="${ED}" emake install
+	popd >/dev/null || die
+}
+
+src_install() {
+	cmake-utils_src_install
+	python_foreach_impl python_install
+
+	prune_libtool_files --all
+
+	exeinto /usr/$(get_libdir)/ceph
+	newexe "${CMAKE_BUILD_DIR}/bin/init-ceph" ceph_init.sh
+
+	insinto /etc/logrotate.d/
+	newins "${FILESDIR}"/ceph.logrotate-r2 ${PN}
+
+	keepdir /var/lib/${PN}{,/tmp} /var/log/${PN}/stat
+
+	fowners -R ceph:ceph /var/lib/ceph /var/log/ceph
+
+	newinitd "${FILESDIR}/rbdmap.initd" rbdmap
+	newinitd "${FILESDIR}/${PN}.initd-r11" ${PN}
+	newconfd "${FILESDIR}/${PN}.confd-r5" ${PN}
+
+	insinto /etc/sysctl.d
+	newins "${FILESDIR}"/sysctld 90-${PN}.conf
+
+	use tcmalloc && newenvd "${FILESDIR}"/envd-tcmalloc 99${PN}-tcmalloc
+
+	# units aren't installed by the build system unless systemd is enabled
+	# so no point installing these with the USE flag disabled
+	if use systemd; then
+		systemd_install_serviced "${FILESDIR}/ceph-mds_at.service.conf" \
+			"ceph-mds@.service"
+
+		systemd_install_serviced "${FILESDIR}/ceph-osd_at.service.conf" \
+			"ceph-osd@.service"
+	fi
+
+	udev_dorules udev/*.rules
+
+	readme.gentoo_create_doc
+
+	python_setup 'python3*'
+
+	# bug #630232
+	sed -i -r "s:${T//:/\\:}/${EPYTHON}:/usr:" "${ED}"/usr/bin/ceph \
+		|| die "sed failed"
+
+	python_fix_shebang "${ED}"/usr/{,s}bin/
+
+	# python_fix_shebang apparently is not idempotent
+	sed -i -r  's:(/usr/lib/python-exec/python[0-9]\.[0-9]/python)[0-9]\.[0-9]:\1:' \
+		"${ED}"/usr/{sbin/ceph-disk,bin/ceph-detect-init} || die "sed failed"
+}
+
+pkg_postinst() {
+	readme.gentoo_print_elog
+}

diff --git a/sys-cluster/ceph/files/ceph.initd-r11 b/sys-cluster/ceph/files/ceph.initd-r11
new file mode 100644
index 00000000000..23827e1a562
--- /dev/null
+++ b/sys-cluster/ceph/files/ceph.initd-r11
@@ -0,0 +1,115 @@
+#!/sbin/openrc-run
+
+# make sure /etc/conf.d/ceph gets loaded for ceph-mon etc
+_CONFD_FILE="${RC_SERVICE%/*}/../conf.d/${RC_SVCNAME%-*}"
+if [ -r "${_CONFD_FILE}" ]; then
+	. "${_CONFD_FILE}" || exit 1
+fi
+
+: "${ceph_conf:=/etc/ceph/ceph.conf}"
+daemon_type="${RC_SVCNAME#ceph-}"
+daemon_type="${daemon_type%%.*}"
+daemon_id="${RC_SVCNAME#ceph-*.}"
+daemon_id="${daemon_id:-0}"
+: "${rundir:=/run/ceph}"
+: "${user:=ceph}"
+: "${group:=ceph}"
+: "${rc_ulimit:=-n 1048576 -u 1048576}"
+
+pidfile="${rundir}/supervisor-${daemon_type}.${daemon_id}.pid"
+daemon_pidfile="${rundir}/${daemon_type}.${daemon_id}.pid"
+
+command="/usr/bin/${RC_SVCNAME%%.*}"
+command_args="-i ${daemon_id} --pid-file ${daemon_pidfile} -c ${ceph_conf}"
+extra_commands="reload"
+command_args_foreground="--foreground"
+
+retry="${CEPH_TERMTIMEOUT:-TERM/120/KILL/5}"
+start_stop_daemon_args="--user ${user} --group ${group}"
+supervise_daemon_args="--user ${user} --group ${group}"
+
+: "${supervisor:=supervise-daemon}"
+: "${stdout:=/var/log/ceph/ceph}"
+: "${stderr:=/var/log/ceph/ceph}"
+: "${respawn_delay:=10}"
+: "${respawn_max:=5}"
+: "${respawn_period:=1800}"
+
+: "${osd_respawn_delay:=15}"
+: "{osd_respawn_max:=10}"
+
+: "{radosgw_respawn_max:=5}"
+: "${radosgw_respawn_period:=30}"
+
+depend() {
+	use dns logger
+	after net ntpd ntp-client chronyd
+	before netmount
+}
+
+is_type_valid() {
+	case ${daemon_type} in
+		mon|mds|osd|mgr|radosgw) return 0;;
+		*) return 1;;
+	esac
+}
+
+start_pre() {
+	local log_dir
+	export CEPH_CONF="${ceph_conf}"
+
+	checkpath -d -q -o "${user}:${group}" "${rundir}"
+
+	if ! is_type_valid ;then
+		eerror "Please give valid Ceph Server Type: mds, mon, osd"
+		return 1
+
+	elif pgrep -f "[c]eph-${daemon_type} -i ${daemon_id} "; then
+		eerror "${daemon_type}.${daemon_id} is still running, refusing to start"
+		return 1
+	fi
+
+	if [ -n "${bluestore_osd_fsid}" ]; then
+		einfo "Mounting Bluestore"
+		ceph-volume lvm activate "${daemon_id}" "${bluestore_osd_fsid}" --no-systemd
+	fi
+
+	if [ "${daemon_type}" = radosgw ] && [ "${RADOSGW_WANT_NAME_PARAM}" = y ]; then
+		command_args="${command_args} --name client.${daemon_id}"
+	fi
+
+	local arg_name arg_val repl_arg_name
+	for arg_name in stdout stderr respawn_delay respawn_max respawn_period; do
+		eval arg_val="\${${daemon_type}_${arg_name}}"
+
+		if [ -z "${arg_val}" ]; then
+			eval arg_val="\${${arg_name}}"
+		else
+			eval "${arg_name}=\"${arg_val}\""
+		fi
+
+		if [ "${arg_name}" = "stderr" ] || [ "${arg_name}" = "stdout" ]; then
+			local log_file log_postfix
+			log_postfix=".${daemon_id}-${arg_name}.log"
+			log_file="${arg_val}"
+
+			if [ "${log_file}" != /dev/null ]; then
+				log_file="${log_file}${log_postfix}"
+
+				log_dir="$(dirname "${log_file}")"
+				checkpath -m 0755 -o "${user}:${group}" -d "${log_dir}"
+			fi
+
+			repl_arg_name="$(printf -- "%s\n" "${arg_name}" | tr _ -)"
+			supervise_daemon_args="${supervise_daemon_args} --${repl_arg_name}=${log_file}"
+		fi
+	done
+}
+
+reload() {
+	ebegin "Reloading Ceph ${daemon_type}.${daemon_id}"
+	start-stop-daemon --signal 1 "${start_stop_daemon_args}"
+	eend ${?}
+}
+
+# vim:ft=gentoo-init-d:ts=4:sts=4:sw=4:noet:


^ permalink raw reply related	[flat|nested] 68+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-cluster/ceph/, sys-cluster/ceph/files/
@ 2018-11-29 23:57 Patrick McLean
  0 siblings, 0 replies; 68+ messages in thread
From: Patrick McLean @ 2018-11-29 23:57 UTC (permalink / raw
  To: gentoo-commits

commit:     bbbd36a51a7a23e7d7d40e881e4d703a3a4ac25f
Author:     Patrick McLean <chutzpah <AT> gentoo <DOT> org>
AuthorDate: Thu Nov 29 23:56:27 2018 +0000
Commit:     Patrick McLean <chutzpah <AT> gentoo <DOT> org>
CommitDate: Thu Nov 29 23:56:27 2018 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=bbbd36a5

sys-cluster/ceph: Version bump to 12.2.10

Also update init script for radosgw args (bug #670066) and bluefs
mounting (bug #661912)

Bug: https://bugs.gentoo.org/670066
Bug: https://bugs.gentoo.org/661912
Package-Manager: Portage-2.3.52, Repoman-2.3.12
Signed-off-by: Patrick McLean <chutzpah <AT> gentoo.org>

 sys-cluster/ceph/Manifest             |   1 +
 sys-cluster/ceph/ceph-12.2.10.ebuild  | 308 ++++++++++++++++++++++++++++++++++
 sys-cluster/ceph/files/ceph.confd-r5  |  15 ++
 sys-cluster/ceph/files/ceph.initd-r10 | 108 ++++++++++++
 4 files changed, 432 insertions(+)

diff --git a/sys-cluster/ceph/Manifest b/sys-cluster/ceph/Manifest
index f92a3fd2365..23aa8981d97 100644
--- a/sys-cluster/ceph/Manifest
+++ b/sys-cluster/ceph/Manifest
@@ -1,5 +1,6 @@
 DIST ceph-10.2.10.tar.gz 14573701 BLAKE2B 78c68deb8537cae8394b4d35569983431e938eff42b01f448dea68016b33ca5770c83d1e1d382bfd6c8164d5259e821779c6515f8c8fb4d5d52ee90b7df43180 SHA512 883d1b8340aaefc7a1eee4bbfb5b1d1cc15bffed8f35fb1e8fb86b1208a4d0d16753eb6c688ea0e661c4877d3d148b2b6c2b41620c4e8a61e47c69f46f98e537
 DIST ceph-10.2.3.tar.gz 11596171 BLAKE2B c24c879649f0d42f58cfb1d03701797bc685d83c157031156d13308c731412a4a0149b658193722b358ebf0c4f9760d9664668cd797b69d207e81dc572f49700 SHA512 9de1e6851fc343d2c52c72cec3f7887d998d5b588f1251ee3a1fda14427badfa10408e6691fb03a374a10f4ec9844868423fee70fbbe2c0d962af98481412f19
+DIST ceph-12.2.10.tar.gz 78884870 BLAKE2B 321d8256fc6659be3da2ce348e022e79ded63783925c02d3140ffa7fed5528a2b03388f0dfcdf536c81eec7b2484c6db9def8aefb1d5d335c86bad525977977b SHA512 2195a04bf937dba6af61389132240661126ef32e9fd86ca75af27a33c712053b15aa89b52c91ced04f06dc880d7c018afa3f26fff78bf313603f4fb73331b80c
 DIST ceph-12.2.7.tar.gz 78783279 BLAKE2B 9058a5e408b3431cf0e8c28b44f95f6eb12f029697348eb6879efa9db4ad6a3b52b1040f484919a3f1781ac3a4aa72af3b8905760480fd3f3724dbceeab4eb07 SHA512 dde75a41c31cca54d4a680b0b93e28680a23f912a348cccca65e55e600c315bbfe3ced008d758fe8ba1e801a9d6e5f8079cc157ec5eef8916b86f487f42064ea
 DIST ceph-12.2.8.tar.gz 77243685 BLAKE2B 37c34396a0c276b8d79735e14934ac70da024822c2a060061531c234e03e5d41aad6c41dc64b05c2ce47f03287d0cae9ef9bed67e4a0861b6380c8ce1de4ea69 SHA512 91c5c11aaeef701b3e31c9f8a1192b6b79fd34f3b96c61595c65173c98bfce0009c5b7c9b29764f5e4d4b1f5ac2ca7109fed5ae598c176aba717a34a132fabac
 DIST ceph-12.2.9.tar.gz 77300470 BLAKE2B 3d3fe24986b890e7dcfc790441a80ad56b9c26f500811d524d0889773d425c88f278135d85cd84036973deb5aa58c4cd1cc9cead60db3f0f825349d73140be73 SHA512 93da6f9012fdb65e74dc1917f54839cb19a25672d53e7ee253553e93abb1a2afb51cd18b27bc82559108e2085e463a3b46003b03627e06a6e2e2312b54d86e92

diff --git a/sys-cluster/ceph/ceph-12.2.10.ebuild b/sys-cluster/ceph/ceph-12.2.10.ebuild
new file mode 100644
index 00000000000..58e624596ed
--- /dev/null
+++ b/sys-cluster/ceph/ceph-12.2.10.ebuild
@@ -0,0 +1,308 @@
+# Copyright 1999-2018 Gentoo Authors
+# Copyright 2017-2018 Sony Interactive Entertainment Inc.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+PYTHON_COMPAT=( python{2_7,3_{4,5,6}} )
+DISTUTILS_OPTIONAL=1
+
+inherit check-reqs cmake-utils distutils-r1 flag-o-matic multiprocessing \
+	python-r1 udev user readme.gentoo-r1 systemd
+
+if [[ ${PV} == *9999* ]]; then
+	inherit git-r3
+	EGIT_REPO_URI="https://github.com/ceph/ceph.git"
+	SRC_URI=""
+else
+	SRC_URI="https://download.ceph.com/tarballs/${P}.tar.gz"
+	KEYWORDS="~amd64 ~x86"
+fi
+
+DESCRIPTION="Ceph distributed filesystem"
+HOMEPAGE="https://ceph.com/"
+
+LICENSE="LGPL-2.1 CC-BY-SA-3.0 GPL-2 BSD Boost-1.0 MIT"
+SLOT="0"
+
+CPU_FLAGS_X86=(sse{,2,3,4_1,4_2} ssse3)
+
+IUSE="babeltrace cephfs fuse jemalloc ldap lttng +mgr nss +radosgw +ssl"
+IUSE+=" static-libs +system-boost systemd +tcmalloc test xfs zfs"
+IUSE+=" $(printf "cpu_flags_x86_%s\n" ${CPU_FLAGS_X86[@]})"
+
+# unbundling code commented out pending bugs 584056 and 584058
+#>=dev-libs/jerasure-2.0.0-r1
+#>=dev-libs/gf-complete-2.0.0
+COMMON_DEPEND="
+	virtual/libudev:=
+	app-arch/bzip2:=[static-libs?]
+	app-arch/lz4:=[static-libs?]
+	app-arch/snappy:=[static-libs?]
+	app-arch/zstd:=[static-libs?]
+	app-misc/jq:=[static-libs?]
+	<dev-libs/crypto++-7.0:=[static-libs?]
+	dev-libs/leveldb:=[snappy,static-libs?,tcmalloc?]
+	dev-libs/libaio:=[static-libs?]
+	dev-libs/libxml2:=[static-libs?]
+	sys-apps/keyutils:=[static-libs?]
+	sys-apps/util-linux:=[static-libs?]
+	sys-libs/zlib:=[static-libs?]
+	babeltrace? ( dev-util/babeltrace )
+	ldap? ( net-nds/openldap:=[static-libs?] )
+	lttng? ( dev-util/lttng-ust:= )
+	nss? ( dev-libs/nss:= )
+	fuse? ( sys-fs/fuse:0=[static-libs?] )
+	ssl? ( <dev-libs/openssl-1.1:=[static-libs?] )
+	xfs? ( sys-fs/xfsprogs:=[static-libs?] )
+	zfs? ( sys-fs/zfs:=[static-libs?] )
+	radosgw? (
+		dev-libs/expat:=[static-libs?]
+		<dev-libs/openssl-1.1:=[static-libs?]
+		net-misc/curl:=[curl_ssl_openssl,static-libs?]
+	)
+	system-boost? (
+		=dev-libs/boost-1.66*:=[threads,context,python,static-libs?,${PYTHON_USEDEP}]
+	)
+	jemalloc? ( dev-libs/jemalloc:=[static-libs?] )
+	!jemalloc? ( >=dev-util/google-perftools-2.4:=[static-libs?] )
+	${PYTHON_DEPS}
+	"
+DEPEND="${COMMON_DEPEND}
+	app-arch/cpio
+	amd64? ( dev-lang/yasm )
+	x86? ( dev-lang/yasm )
+	dev-python/cython[${PYTHON_USEDEP}]
+	dev-python/sphinx
+	dev-util/gperf
+	dev-util/valgrind
+	sys-apps/which
+	sys-devel/bc
+	virtual/pkgconfig
+	test? (
+		dev-python/tox[${PYTHON_USEDEP}]
+		dev-python/virtualenv[${PYTHON_USEDEP}]
+		sys-apps/grep[pcre]
+		sys-fs/btrfs-progs
+	)"
+RDEPEND="${COMMON_DEPEND}
+	net-misc/socat
+	sys-apps/gptfdisk
+	sys-block/parted
+	sys-fs/e2fsprogs
+	sys-fs/cryptsetup
+	sys-fs/lvm2
+	!<sys-apps/openrc-0.26.3
+	dev-python/cherrypy[${PYTHON_USEDEP}]
+	dev-python/flask[${PYTHON_USEDEP}]
+	dev-python/jinja[${PYTHON_USEDEP}]
+	dev-python/pecan[${PYTHON_USEDEP}]
+	dev-python/prettytable[${PYTHON_USEDEP}]
+	dev-python/pyopenssl[${PYTHON_USEDEP}]
+	dev-python/requests[${PYTHON_USEDEP}]
+	dev-python/werkzeug[${PYTHON_USEDEP}]
+	"
+REQUIRED_USE="
+	$(python_gen_useflags 'python2*')
+	${PYTHON_REQUIRED_USE}
+	?? ( ssl nss )
+	?? ( jemalloc tcmalloc )
+	"
+
+RESTRICT="test? ( userpriv )"
+
+# distribution tarball does not include everything needed for tests
+RESTRICT+=" test"
+
+# false positives unless all USE flags are on
+CMAKE_WARN_UNUSED_CLI="no"
+
+STRIP_MASK="/usr/lib*/rados-classes/*"
+
+UNBUNDLE_LIBS=(
+	src/erasure-code/jerasure/jerasure
+	src/erasure-code/jerasure/gf-complete
+)
+
+PATCHES=(
+	"${FILESDIR}/ceph-12.2.0-use-provided-cpu-flag-values.patch"
+	"${FILESDIR}/ceph-12.2.0-cflags.patch"
+	"${FILESDIR}/ceph-12.2.1-systemd-unitdir.patch"
+	"${FILESDIR}/ceph-12.2.4-boost-build-none-options.patch"
+	"${FILESDIR}/ceph-12.2.4-cflags.patch"
+	"${FILESDIR}/ceph-12.2.4-rocksdb-cflags.patch"
+	"${FILESDIR}/ceph-12.2.5-no-werror.patch"
+	"${FILESDIR}/ceph-13.2.2-dont-install-sysvinit-script.patch"
+)
+
+check-reqs_export_vars() {
+	if use amd64; then
+		CHECKREQS_DISK_BUILD="12G"
+		CHECKREQS_DISK_USR="460M"
+	else
+		CHECKREQS_DISK_BUILD="1400M"
+		CHECKREQS_DISK_USR="450M"
+	fi
+
+	export CHECKREQS_DISK_BUILD CHECKREQS_DISK_USR
+}
+
+user_setup() {
+	enewgroup ceph ${CEPH_GID}
+	enewuser ceph "${CEPH_UID:--1}" -1 /var/lib/ceph ceph
+}
+
+pkg_pretend() {
+	check-reqs_export_vars
+	check-reqs_pkg_pretend
+}
+
+pkg_setup() {
+	python_setup 'python2*'
+	check-reqs_export_vars
+	check-reqs_pkg_setup
+	user_setup
+}
+
+src_prepare() {
+	cmake-utils_src_prepare
+
+	if use system-boost; then
+		eapply "${FILESDIR}/ceph-12.2.5-boost-sonames.patch"
+	fi
+
+	# remove tests that need root access
+	rm src/test/cli/ceph-authtool/cap*.t
+
+	#rm -rf "${UNBUNDLE_LIBS[@]}"
+}
+
+ceph_src_configure() {
+	local flag
+	local mycmakeargs=(
+		-DWITH_BABELTRACE=$(usex babeltrace)
+		-DWITH_CEPHFS=$(usex cephfs)
+		-DWITH_FUSE=$(usex fuse)
+		-DWITH_LTTNG=$(usex lttng)
+		-DWITH_MGR=$(usex mgr)
+		-DWITH_NSS=$(usex nss)
+		-DWITH_OPENLDAP=$(usex ldap)
+		-DWITH_RADOSGW=$(usex radosgw)
+		-DWITH_SSL=$(usex ssl)
+		-DWITH_SYSTEMD=$(usex systemd)
+		-DWITH_TESTS=$(usex test)
+		-DWITH_XFS=$(usex xfs)
+		-DWITH_ZFS=$(usex zfs)
+		-DENABLE_SHARED=$(usex static-libs '' 'yes' 'no')
+		-DALLOCATOR=$(usex tcmalloc 'tcmalloc' '' "$(usex jemalloc 'jemalloc' '' 'libc' '')" '')
+		-DWITH_SYSTEM_BOOST=$(usex system-boost)
+		-DBOOST_J=$(makeopts_jobs)
+		-DWITH_RDMA=no
+		-DSYSTEMD_UNITDIR=$(systemd_get_systemunitdir)
+		-DEPYTHON_VERSION="${EPYTHON#python}"
+	)
+	if use amd64 || use x86; then
+		for flag in ${CPU_FLAGS_X86[@]}; do
+			mycmakeargs+=("$(usex cpu_flags_x86_${flag} "-DHAVE_INTEL_${flag^^}=1")")
+		done
+	fi
+
+	rm -f "${BUILD_DIR:-${S}}/CMakeCache.txt"
+	cmake-utils_src_configure
+
+	# bug #630232
+	sed -i "s:\"${T//:\\:}/${EPYTHON}/bin/python\":\"${PYTHON}\":" \
+		"${BUILD_DIR:-${CMAKE_BUILD_DIR:-${S}}}"/include/acconfig.h \
+		|| die "sed failed"
+}
+
+src_configure() {
+	ceph_src_configure
+}
+
+python_compile() {
+	local CMAKE_USE_DIR="${S}"
+
+	ceph_src_configure
+	pushd "${BUILD_DIR}/src/pybind" >/dev/null || die
+	emake VERBOSE=1 all
+
+	# python modules are only compiled with "make install" so we need to do this to
+	# prevent doing a bunch of compilation in src_install
+	DESTDIR="${T}" emake VERBOSE=1 install
+	popd >/dev/null || die
+}
+
+src_compile() {
+	cmake-utils_src_make all
+
+	# we have to do this here to prevent from building everything multiple times
+	BUILD_DIR="${CMAKE_BUILD_DIR}" python_copy_sources
+	python_foreach_impl python_compile
+}
+
+src_test() {
+	make check || die "make check failed"
+}
+
+python_install() {
+	local CMAKE_USE_DIR="${S}"
+	pushd "${BUILD_DIR}/src/pybind" >/dev/null || die
+	DESTDIR="${D}" emake install
+	popd >/dev/null || die
+}
+
+src_install() {
+	cmake-utils_src_install
+	python_foreach_impl python_install
+
+	prune_libtool_files --all
+
+	exeinto /usr/$(get_libdir)/ceph
+	newexe "${CMAKE_BUILD_DIR}/bin/init-ceph" ceph_init.sh
+
+	insinto /etc/logrotate.d/
+	newins "${FILESDIR}"/ceph.logrotate-r1 ${PN}
+
+	keepdir /var/lib/${PN}{,/tmp} /var/log/${PN}/stat
+
+	fowners -R ceph:ceph /var/lib/ceph /var/log/ceph
+
+	newinitd "${FILESDIR}/rbdmap.initd" rbdmap
+	newinitd "${FILESDIR}/${PN}.initd-r10" ${PN}
+	newconfd "${FILESDIR}/${PN}.confd-r5" ${PN}
+
+	insinto /etc/sysctl.d
+	newins "${FILESDIR}"/sysctld 90-${PN}.conf
+
+	use tcmalloc && newenvd "${FILESDIR}"/envd-tcmalloc 99${PN}-tcmalloc
+
+	# units aren't installed by the build system unless systemd is enabled
+	# so no point installing these with the USE flag disabled
+	if use systemd; then
+		systemd_install_serviced "${FILESDIR}/ceph-mds_at.service.conf" \
+			"ceph-mds@.service"
+
+		systemd_install_serviced "${FILESDIR}/ceph-osd_at.service.conf" \
+			"ceph-osd@.service"
+	fi
+
+	udev_dorules udev/*.rules
+
+	readme.gentoo_create_doc
+
+	python_setup 'python2*'
+
+	# bug #630232
+	sed -i -r "s:${T//:/\\:}/${EPYTHON}:/usr:" "${ED}"/usr/bin/ceph \
+		|| die "sed failed"
+
+	python_fix_shebang "${ED}"/usr/{,s}bin/
+
+	# python_fix_shebang apparently is not idempotent
+	sed -i -r  's:(/usr/lib/python-exec/python[0-9]\.[0-9]/python)[0-9]\.[0-9]:\1:' \
+		"${ED}"/usr/{sbin/ceph-disk,bin/ceph-detect-init} || die "sed failed"
+}
+
+pkg_postinst() {
+	readme.gentoo_print_elog
+}

diff --git a/sys-cluster/ceph/files/ceph.confd-r5 b/sys-cluster/ceph/files/ceph.confd-r5
new file mode 100644
index 00000000000..5d114392d16
--- /dev/null
+++ b/sys-cluster/ceph/files/ceph.confd-r5
@@ -0,0 +1,15 @@
+# Example
+
+# default ceph conf file
+#ceph_conf="/etc/ceph/ceph.conf"
+
+# Set RADOSGW_WANT_NAME_PARAM=y in order to make the init script add
+# a --name=client.${RC_SVCNAME} parameter to command_args for radosgw.*
+# service instances. This will make the service use a key by the name
+# of client.${RC_SVCNAME} instead of the default client.admin key.
+# A setting like this in the ceph config file can be used to customize
+# the rgw_data and keyring paths used by radosgw instances:
+# [client]
+# rgw_data = /var/lib/ceph/radosgw/$cluster-$id
+# keyring = /var/lib/ceph/radosgw/$cluster-$id/keyring
+RADOSGW_WANT_NAME_PARAM=n

diff --git a/sys-cluster/ceph/files/ceph.initd-r10 b/sys-cluster/ceph/files/ceph.initd-r10
new file mode 100644
index 00000000000..2f5150fc340
--- /dev/null
+++ b/sys-cluster/ceph/files/ceph.initd-r10
@@ -0,0 +1,108 @@
+#!/sbin/openrc-run
+
+ceph_conf="${ceph_conf:-/etc/ceph/ceph.conf}"
+extra_commands="reload"
+daemon_type="${RC_SVCNAME#ceph-}"
+daemon_type="${daemon_type%%.*}"
+daemon_id="${RC_SVCNAME#ceph-*.}"
+daemon_id="${daemon_id:-0}"
+: ${rundir:=/run/ceph}
+: ${user:=ceph}
+: ${group:=ceph}
+: ${rc_ulimit:=-n 1048576 -u 1048576}
+
+pidfile="${rundir}/supervisor-${daemon_type}.${daemon_id}.pid"
+daemon_pidfile="${rundir}/${daemon_type}.${daemon_id}.pid"
+
+command="/usr/bin/${RC_SVCNAME%%.*}"
+command_args="-i ${daemon_id} --pid-file ${daemon_pidfile} -c ${ceph_conf}"
+command_args_foreground="--foreground"
+
+retry="${CEPH_TERMTIMEOUT:-TERM/120/KILL/5}"
+start_stop_daemon_args="--user ${user} --group ${group}"
+supervise_daemon_args="--user ${user} --group ${group}"
+
+: ${supervisor:=supervise-daemon}
+: ${stdout:=/var/log/ceph/ceph}
+: ${stderr:=/var/log/ceph/ceph}
+: ${respawn_delay:=10}
+: ${respawn_max:=5}
+: ${respawn_period:=1800}
+
+: ${osd_respawn_delay:=15}
+: ${osd_respawn_max:=10}
+
+: ${radosgw_respawn_max:=5}
+: ${radosgw_respawn_period:=30}
+
+depend() {
+	use dns logger
+	after net ntpd ntp-client chronyd
+	before netmount
+}
+
+is_type_valid() {
+	case ${daemon_type} in
+		mon|mds|osd|mgr|radosgw) return 0;;
+		*) return 1;;
+	esac
+}
+
+start_pre() {
+	local logdir
+	export CEPH_CONF="${ceph_conf}"
+
+	checkpath -d -q -o "${user}:${group}" "${rundir}"
+
+	if ! is_type_valid ;then
+		eerror "Please give valid Ceph Server Type: mds, mon, osd"
+		return 1
+
+	elif pgrep -f "[c]eph-${daemon_type} -i ${daemon_id} "; then
+		eerror "${daemon_type}.${daemon_id} is still running, refusing to start"
+		return 1
+	fi
+
+	if [ -n "${bluestore_osd_fsid}" ]; then
+		einfo "Mounting Bluestore"
+		ceph-volume lvm activate "${daemon_id}" "${bluestore_osd_fsid}" --no-systemd
+	fi
+
+	if [ ${daemon_type} = radosgw ] && [ ${RADOSGW_WANT_NAME_PARAM} = y ]; then
+		command_args="${command_args} --name client.${daemon_id}"
+	fi
+
+	local arg_name arg_val
+	for arg_name in std{out,err} respawn_{delay,max,period}; do
+		eval arg_val="\${${daemon_type}_${arg_name}}"
+
+		if [ -z "${arg_val}" ]; then
+			eval arg_val="\${${arg_name}}"
+		else
+			eval "${arg_name}=\"${arg_val}\""
+		fi
+
+		if [ "${arg_name}" = "stderr" ] || [ "${arg_name}" = "stdout" ]; then
+			local log_file log_postfix
+			log_postfix=".${daemon_id}-${arg_name}.log"
+			log_file="${arg_val}"
+
+			if [ "${log_file}" != /dev/null ]; then
+				log_file="${log_file}${log_postfix}"
+			fi
+
+			log_dir="$(dirname "${log_file}")"
+			checkpath -m 0755 -o "${user}:${group}" -d "${log_dir}"
+
+			supervise_daemon_args="${supervise_daemon_args} --${arg_name//_/-}=${log_file}"
+		fi
+	done
+}
+
+reload() {
+	ebegin "Reloading Ceph ${daemon_type}.${daemon_id}"
+	start-stop-daemon --signal 1 "${start_stop_daemon_args}"
+	eend ${?}
+}
+
+# vim:ft=gentoo-init-d:ts=4:sts=4:sw=4:noet:


^ permalink raw reply related	[flat|nested] 68+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-cluster/ceph/, sys-cluster/ceph/files/
@ 2018-11-09  2:51 Patrick McLean
  0 siblings, 0 replies; 68+ messages in thread
From: Patrick McLean @ 2018-11-09  2:51 UTC (permalink / raw
  To: gentoo-commits

commit:     597620434ef1e96fc8bc544bcb2616ecc7b9bc4a
Author:     Patrick McLean <chutzpah <AT> gentoo <DOT> org>
AuthorDate: Fri Nov  9 02:51:19 2018 +0000
Commit:     Patrick McLean <chutzpah <AT> gentoo <DOT> org>
CommitDate: Fri Nov  9 02:51:19 2018 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=59762043

sys-cluster/ceph: revbump, fix logrotate problem in 12.2.8 and 13.2.2

Package-Manager: Portage-2.3.51, Repoman-2.3.12
RepoMan-Options: --force
Signed-off-by: Patrick McLean <chutzpah <AT> gentoo.org>

 .../{ceph-12.2.8.ebuild => ceph-12.2.8-r1.ebuild}  |  4 +-
 ...ceph-13.2.2-r1.ebuild => ceph-13.2.2-r2.ebuild} |  4 +-
 sys-cluster/ceph/files/ceph.initd-r9               | 97 ++++++++++++++++++++++
 sys-cluster/ceph/files/ceph.logrotate-r2           | 33 ++++++++
 4 files changed, 134 insertions(+), 4 deletions(-)

diff --git a/sys-cluster/ceph/ceph-12.2.8.ebuild b/sys-cluster/ceph/ceph-12.2.8-r1.ebuild
similarity index 98%
rename from sys-cluster/ceph/ceph-12.2.8.ebuild
rename to sys-cluster/ceph/ceph-12.2.8-r1.ebuild
index 56f05c940aa..5ccb12358e2 100644
--- a/sys-cluster/ceph/ceph-12.2.8.ebuild
+++ b/sys-cluster/ceph/ceph-12.2.8-r1.ebuild
@@ -258,14 +258,14 @@ src_install() {
 	newexe "${CMAKE_BUILD_DIR}/bin/init-ceph" ceph_init.sh
 
 	insinto /etc/logrotate.d/
-	newins "${FILESDIR}"/ceph.logrotate ${PN}
+	newins "${FILESDIR}"/ceph.logrotate-r2 ${PN}
 
 	keepdir /var/lib/${PN}{,/tmp} /var/log/${PN}/stat
 
 	fowners -R ceph:ceph /var/lib/ceph /var/log/ceph
 
 	newinitd "${FILESDIR}/rbdmap.initd" rbdmap
-	newinitd "${FILESDIR}/${PN}.initd-r8" ${PN}
+	newinitd "${FILESDIR}/${PN}.initd-r9" ${PN}
 	newconfd "${FILESDIR}/${PN}.confd-r4" ${PN}
 
 	insinto /etc/sysctl.d

diff --git a/sys-cluster/ceph/ceph-13.2.2-r1.ebuild b/sys-cluster/ceph/ceph-13.2.2-r2.ebuild
similarity index 99%
rename from sys-cluster/ceph/ceph-13.2.2-r1.ebuild
rename to sys-cluster/ceph/ceph-13.2.2-r2.ebuild
index a657a929d8b..3035155be5e 100644
--- a/sys-cluster/ceph/ceph-13.2.2-r1.ebuild
+++ b/sys-cluster/ceph/ceph-13.2.2-r2.ebuild
@@ -324,14 +324,14 @@ src_install() {
 	newexe "${CMAKE_BUILD_DIR}/bin/init-ceph" ceph_init.sh
 
 	insinto /etc/logrotate.d/
-	newins "${FILESDIR}"/ceph.logrotate-r1 ${PN}
+	newins "${FILESDIR}"/ceph.logrotate-r2 ${PN}
 
 	keepdir /var/lib/${PN}{,/tmp} /var/log/${PN}/stat
 
 	fowners -R ceph:ceph /var/lib/ceph /var/log/ceph
 
 	newinitd "${FILESDIR}/rbdmap.initd" rbdmap
-	newinitd "${FILESDIR}/${PN}.initd-r8" ${PN}
+	newinitd "${FILESDIR}/${PN}.initd-r9" ${PN}
 	newconfd "${FILESDIR}/${PN}.confd-r4" ${PN}
 
 	insinto /etc/sysctl.d

diff --git a/sys-cluster/ceph/files/ceph.initd-r9 b/sys-cluster/ceph/files/ceph.initd-r9
new file mode 100644
index 00000000000..cfbd58e4b57
--- /dev/null
+++ b/sys-cluster/ceph/files/ceph.initd-r9
@@ -0,0 +1,97 @@
+#!/sbin/openrc-run
+
+ceph_conf="${ceph_conf:-/etc/ceph/ceph.conf}"
+extra_commands="reload"
+daemon_type="${RC_SVCNAME#ceph-}"
+daemon_type="${daemon_type%%.*}"
+daemon_id="${RC_SVCNAME#ceph-*.}"
+daemon_id="${daemon_id:-0}"
+: ${rundir:=/run/ceph}
+: ${user:=ceph}
+: ${group:=ceph}
+: ${rc_ulimit:=-n 1048576 -u 1048576}
+
+pidfile="${rundir}/supervisor-${daemon_type}.${daemon_id}.pid"
+daemon_pidfile="${rundir}/${daemon_type}.${daemon_id}.pid"
+
+command="/usr/bin/${RC_SVCNAME%%.*}"
+command_args="-i ${daemon_id} --pid-file ${daemon_pidfile} -c ${ceph_conf}"
+command_args_foreground="--foreground"
+
+retry="${CEPH_TERMTIMEOUT:-TERM/120/KILL/5}"
+start_stop_daemon_args="--user ${user} --group ${group}"
+supervise_daemon_args="--user ${user} --group ${group}"
+
+: ${supervisor:=supervise-daemon}
+: ${stdout:=/var/log/ceph/ceph}
+: ${stderr:=/var/log/ceph/ceph}
+: ${respawn_delay:=10}
+: ${respawn_max:=5}
+: ${respawn_period:=1800}
+
+: ${osd_respawn_delay:=15}
+: ${osd_respawn_max:=10}
+
+: ${radosgw_respawn_max:=5}
+: ${radosgw_respawn_period:=30}
+
+depend() {
+	use dns logger
+	after net ntpd ntp-client chronyd
+	before netmount
+}
+
+is_type_valid() {
+	case ${daemon_type} in
+		mon|mds|osd|mgr|radosgw) return 0;;
+		*) return 1;;
+	esac
+}
+
+start_pre() {
+	export CEPH_CONF="${ceph_conf}"
+
+	checkpath -d -q -o "${user}:${group}" "${rundir}"
+
+	if ! is_type_valid ;then
+		eerror "Please give valid Ceph Server Type: mds, mon, osd"
+		return 1
+
+	elif pgrep -f "[c]eph-${daemon_type} -i ${daemon_id} "; then
+		eerror "${daemon_type}.${daemon_id} is still running, refusing to start"
+		return 1
+	fi
+
+	local arg_name arg_val
+	for arg_name in std{out,err} respawn_{delay,max,period}; do
+		eval arg_val="\${${daemon_type}_${arg_name}}"
+
+		if [ -z "${arg_val}" ]; then
+			eval arg_val="\${${arg_name}}"
+		else
+			eval "${arg_name}=\"${arg_val}\""
+		fi
+
+		if [ "${arg_name}" = "stderr" ] || [ "${arg_name}" = "stdout" ]; then
+			local log_file log_postfix
+			log_postfix=".${daemon_id}-${arg_name}.log"
+			log_file="${arg_val}"
+
+			if [ "${log_file}" != /dev/null ]; then
+				log_file="${log_file}${log_postfix}"
+			fi
+
+			checkpath -m 0755 -o "${user}:${group}" -d $(dirname "${log_file}")
+
+			supervise_daemon_args="${supervise_daemon_args} --${arg_name//_/-}=${log_file}"
+		fi
+	done
+}
+
+reload() {
+	ebegin "Reloading Ceph ${daemon_type}.${daemon_id}"
+	start-stop-daemon --signal 1 "${start_stop_daemon_args}"
+	eend ${?}
+}
+
+# vim:ft=gentoo-init-d:ts=4:sts=4:sw=4:noet:

diff --git a/sys-cluster/ceph/files/ceph.logrotate-r2 b/sys-cluster/ceph/files/ceph.logrotate-r2
new file mode 100644
index 00000000000..74d96e23823
--- /dev/null
+++ b/sys-cluster/ceph/files/ceph.logrotate-r2
@@ -0,0 +1,33 @@
+#
+# /etc/logrotate.d/ceph
+#
+
+/var/log/ceph/*.log
+{
+	rotate 7
+	daily
+	compress
+	sharedscripts
+	prerotate
+	for dmn in $(cd /run/ceph && ls *.asok 2>/dev/null); do
+		ceph --admin-daemon /run/ceph/${dmn} log flush 2>/dev/null >/dev/null
+	done
+	endscript
+	postrotate
+	for dmn in $(cd /run/ceph && ls *.asok 2>/dev/null); do
+		ceph --admin-daemon /run/ceph/${dmn} log reopen 2>/dev/null >/dev/null
+	done
+	endscript
+	missingok
+}
+
+/var/log/ceph/console/*.log
+{
+	rotate 7
+	daily
+	compress
+	missingok
+	copytruncate
+}
+#
+# vim:ft=conf:ts=4:sts=4:sw=4:noet:


^ permalink raw reply related	[flat|nested] 68+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-cluster/ceph/, sys-cluster/ceph/files/
@ 2018-03-10 19:16 Patrick McLean
  0 siblings, 0 replies; 68+ messages in thread
From: Patrick McLean @ 2018-03-10 19:16 UTC (permalink / raw
  To: gentoo-commits

commit:     db6059b94c8ee62f5b35b9d3469fc9f04c5b570b
Author:     Patrick McLean <chutzpah <AT> gentoo <DOT> org>
AuthorDate: Sat Mar 10 19:15:35 2018 +0000
Commit:     Patrick McLean <chutzpah <AT> gentoo <DOT> org>
CommitDate: Sat Mar 10 19:16:06 2018 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=db6059b9

sys-cluster/ceph: Revision bump, fix init script with /dev/null #643412

Special cases /dev/null
Closes: https://bugs.gentoo.org/643412
Package-Manager: Portage-2.3.24, Repoman-2.3.6

 .../{ceph-12.2.4.ebuild => ceph-12.2.4-r1.ebuild}  |  2 +-
 sys-cluster/ceph/files/ceph.initd-r8               | 95 ++++++++++++++++++++++
 2 files changed, 96 insertions(+), 1 deletion(-)

diff --git a/sys-cluster/ceph/ceph-12.2.4.ebuild b/sys-cluster/ceph/ceph-12.2.4-r1.ebuild
similarity index 99%
rename from sys-cluster/ceph/ceph-12.2.4.ebuild
rename to sys-cluster/ceph/ceph-12.2.4-r1.ebuild
index bc3dd0a718a..1fbe8083849 100644
--- a/sys-cluster/ceph/ceph-12.2.4.ebuild
+++ b/sys-cluster/ceph/ceph-12.2.4-r1.ebuild
@@ -264,7 +264,7 @@ src_install() {
 	fowners -R ceph:ceph /var/lib/ceph /var/log/ceph
 
 	newinitd "${FILESDIR}/rbdmap.initd" rbdmap
-	newinitd "${FILESDIR}/${PN}.initd-r7" ${PN}
+	newinitd "${FILESDIR}/${PN}.initd-r8" ${PN}
 	newconfd "${FILESDIR}/${PN}.confd-r4" ${PN}
 
 	insinto /etc/sysctl.d

diff --git a/sys-cluster/ceph/files/ceph.initd-r8 b/sys-cluster/ceph/files/ceph.initd-r8
new file mode 100644
index 00000000000..2f6c2601f16
--- /dev/null
+++ b/sys-cluster/ceph/files/ceph.initd-r8
@@ -0,0 +1,95 @@
+#!/sbin/openrc-run
+
+ceph_conf="${ceph_conf:-/etc/ceph/ceph.conf}"
+extra_commands="reload"
+daemon_type="${RC_SVCNAME#ceph-}"
+daemon_type="${daemon_type%%.*}"
+daemon_id="${RC_SVCNAME#ceph-*.}"
+daemon_id="${daemon_id:-0}"
+: ${rundir:=/run/ceph}
+: ${user:=ceph}
+: ${group:=ceph}
+: ${rc_ulimit:=-n 1048576 -u 1048576}
+
+pidfile="${rundir}/supervisor-${daemon_type}.${daemon_id}.pid"
+daemon_pidfile="${rundir}/${daemon_type}.${daemon_id}.pid"
+
+command="/usr/bin/${RC_SVCNAME%%.*}"
+command_args="-i ${daemon_id} --pid-file ${daemon_pidfile} -c ${ceph_conf}"
+command_args_foreground="--foreground"
+
+retry="${CEPH_TERMTIMEOUT:-TERM/120/KILL/5}"
+start_stop_daemon_args="--user ${user} --group ${group}"
+supervise_daemon_args="--user ${user} --group ${group}"
+
+: ${supervisor:=supervise-daemon}
+: ${stdout:=/var/log/ceph/ceph}
+: ${stderr:=/var/log/ceph/ceph}
+: ${respawn_delay:=10}
+: ${respawn_max:=5}
+: ${respawn_period:=1800}
+
+: ${osd_respawn_delay:=15}
+: ${osd_respawn_max:=10}
+
+: ${radosgw_respawn_max:=5}
+: ${radosgw_respawn_period:=30}
+
+depend() {
+	use dns logger
+	after net ntpd ntp-client chronyd
+	before netmount
+}
+
+is_type_valid() {
+	case ${daemon_type} in
+		mon|mds|osd|mgr|radosgw) return 0;;
+		*) return 1;;
+	esac
+}
+
+start_pre() {
+	export CEPH_CONF="${ceph_conf}"
+
+	checkpath -d -q -o "${user}:${group}" "${rundir}"
+
+	if ! is_type_valid ;then
+		eerror "Please give valid Ceph Server Type: mds, mon, osd"
+		return 1
+
+	elif pgrep -f "[c]eph-${daemon_type} -i ${daemon_id} "; then
+		eerror "${daemon_type}.${daemon_id} is still running, refusing to start"
+		return 1
+	fi
+
+	local arg_name arg_val
+	for arg_name in std{out,err} respawn_{delay,max,period}; do
+		eval arg_val="\${${daemon_type}_${arg_name}}"
+
+		if [ -z "${arg_val}" ]; then
+			eval arg_val="\${${arg_name}}"
+		else
+			eval "${arg_name}=\"${arg_val}\""
+		fi
+
+		if [ "${arg_name}" = "stderr" ] || [ "${arg_name}" = "stdout" ]; then
+			local log_file log_postfix
+			log_postfix=".${daemon_id}-${arg_name}.log"
+			log_file="${arg_val}"
+
+			if [ "${log_file}" != /dev/null ]
+				log_file="${log_file}${log_postfix}"
+			fi
+
+			supervise_daemon_args="${supervise_daemon_args} --${arg_name//_/-}=${log_file}"
+		fi
+	done
+}
+
+reload() {
+	ebegin "Reloading Ceph ${daemon_type}.${daemon_id}"
+	start-stop-daemon --signal 1 "${start_stop_daemon_args}"
+	eend ${?}
+}
+
+# vim:ft=gentoo-init-d:ts=4:sts=4:sw=4:noet:


^ permalink raw reply related	[flat|nested] 68+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-cluster/ceph/, sys-cluster/ceph/files/
@ 2018-03-06 19:39 Patrick McLean
  0 siblings, 0 replies; 68+ messages in thread
From: Patrick McLean @ 2018-03-06 19:39 UTC (permalink / raw
  To: gentoo-commits

commit:     5392e6e5ea33113f604f9f683d7ad8baeb73eb03
Author:     Patrick McLean <chutzpah <AT> gentoo <DOT> org>
AuthorDate: Tue Mar  6 19:38:30 2018 +0000
Commit:     Patrick McLean <chutzpah <AT> gentoo <DOT> org>
CommitDate: Tue Mar  6 19:38:30 2018 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=5392e6e5

sys-cluster/ceph: Version bump to 12.2.4

Package-Manager: Portage-2.3.24, Repoman-2.3.6

 sys-cluster/ceph/Manifest                          |   1 +
 sys-cluster/ceph/ceph-12.2.4.ebuild                | 303 +++++++++++++++++++++
 sys-cluster/ceph/files/boost-site-config.jam       |  11 +
 .../ceph-12.2.4-boost-build-none-options.patch     |  26 ++
 .../ceph/files/ceph-12.2.4-boost-sonames.patch     | 152 +++++++++++
 sys-cluster/ceph/files/ceph-12.2.4-cflags.patch    |  38 +++
 .../ceph/files/ceph-12.2.4-rocksdb-cflags.patch    |  11 +
 sys-cluster/ceph/metadata.xml                      |   9 +-
 8 files changed, 547 insertions(+), 4 deletions(-)

diff --git a/sys-cluster/ceph/Manifest b/sys-cluster/ceph/Manifest
index 51e8f3f49a9..2376ac36e0e 100644
--- a/sys-cluster/ceph/Manifest
+++ b/sys-cluster/ceph/Manifest
@@ -4,3 +4,4 @@ DIST ceph-10.2.7.tar.gz 14518491 BLAKE2B c81fb852680fa24dd30224d276dde3ceb9a5c94
 DIST ceph-10.2.9.tar.gz 14550219 BLAKE2B 5ec20b88badefc6ed793c2538ffd9436e4b23877aa9d5ac7348a9d7b353e3c6c759677f6b77635c4f2017cccfbd93636d0e3bda6a1d793f6881b52aa3f3b2758 SHA512 1d59146614aa87ca551b05b795a684071a3cfb4ce6013e978ba650403c6732b2aa13f3c3cc191e6a1ea34b4631c82e97700593c24e200c41ec2f2b43b3ef5547
 DIST ceph-12.2.1.tar.gz 148738778 BLAKE2B df4bea1ad552ab2361174c1e2f285f42b4a07ad23daf4eb9baa9e21e5513f6508b141f7b819f75918d2c55e4b812ba9985b9414496e7c1eaf28c68f9a101c3f5 SHA512 ec2623c1f6ab563c6fd0bb5fd046c78528fdbedca7cde347c92a9b15005d2ab2b1a46d7294e93f56933386462f1066750285109aafb6bf94f7d5bcdb7214d8a8
 DIST ceph-12.2.2.tar.gz 148763718 BLAKE2B 5c9a56bc536b723ca3a6a0aa68c7f456032c892716167dfa213cda4964e3a45e970efe6dd67e5c43ef6f6018bd9367e0c890de270acccf3217b848b58cb98488 SHA512 89b166dc4b58e0110ebe0147eef9f47e1090ccee01702b3f72cfbdca856d02bf03b2663de9e88c84b21a2a61f8f92211e217a05b8bdcf7d5de3158adbe49db88
+DIST ceph-12.2.4.tar.gz 78694838 BLAKE2B 862c275eb5e42065b2f42d417f8efd2ee8ee67c19575eb19bc799d5923d0720fa4810e1c51915fee6f96a44d433059ca6b180861013b735287751ad24235e611 SHA512 ce9ec49e8693d11345adb3a219763cc76b626db2c26d8d9ba08ff0a4d6fdeb08739da29bb87ff0946fed8e6fd55c8db0672cb286f7ebb90cf2e11a47042ba5d6

diff --git a/sys-cluster/ceph/ceph-12.2.4.ebuild b/sys-cluster/ceph/ceph-12.2.4.ebuild
new file mode 100644
index 00000000000..9fbb382ca6a
--- /dev/null
+++ b/sys-cluster/ceph/ceph-12.2.4.ebuild
@@ -0,0 +1,303 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+PYTHON_COMPAT=( python{2_7,3_{4,5,6}} )
+DISTUTILS_OPTIONAL=1
+
+inherit check-reqs cmake-utils distutils-r1 flag-o-matic multiprocessing \
+	python-r1 udev user readme.gentoo-r1 systemd
+
+if [[ ${PV} == *9999* ]]; then
+	inherit git-r3
+	EGIT_REPO_URI="https://github.com/ceph/ceph.git"
+	SRC_URI=""
+else
+	SRC_URI="https://download.ceph.com/tarballs/${P}.tar.gz"
+	KEYWORDS="~amd64 ~arm64 ~x86"
+fi
+
+DESCRIPTION="Ceph distributed filesystem"
+HOMEPAGE="https://ceph.com/"
+
+LICENSE="LGPL-2.1 CC-BY-SA-1.0 GPL-2 BSD Boost-1.0 MIT"
+SLOT="0"
+
+CPU_FLAGS_X86=(sse{,2,3,4_1,4_2} ssse3)
+
+IUSE="babeltrace cephfs fuse jemalloc ldap lttng +mgr nss +radosgw +ssl"
+IUSE+=" static-libs +system-boost systemd +tcmalloc test xfs zfs"
+IUSE+=" $(printf "cpu_flags_x86_%s\n" ${CPU_FLAGS_X86[@]})"
+
+# unbundling code commented out pending bugs 584056 and 584058
+#>=dev-libs/jerasure-2.0.0-r1
+#>=dev-libs/gf-complete-2.0.0
+COMMON_DEPEND="
+	virtual/libudev:=
+	app-arch/bzip2:=[static-libs?]
+	app-arch/lz4:=[static-libs?]
+	app-arch/snappy:=[static-libs?]
+	app-arch/zstd:=[static-libs?]
+	app-misc/jq:=[static-libs?]
+	dev-libs/crypto++:=[static-libs?]
+	dev-libs/leveldb:=[snappy,static-libs?,tcmalloc?]
+	dev-libs/libaio:=[static-libs?]
+	dev-libs/libxml2:=[static-libs?]
+	sys-apps/keyutils:=[static-libs?]
+	sys-apps/util-linux:=[static-libs?]
+	sys-libs/zlib:=[static-libs?]
+	babeltrace? ( dev-util/babeltrace )
+	ldap? ( net-nds/openldap:=[static-libs?] )
+	lttng? ( dev-util/lttng-ust:= )
+	nss? ( dev-libs/nss:= )
+	fuse? ( sys-fs/fuse:0=[static-libs?] )
+	ssl? ( dev-libs/openssl:=[static-libs?] )
+	xfs? ( sys-fs/xfsprogs:=[static-libs?] )
+	zfs? ( sys-fs/zfs:=[static-libs?] )
+	radosgw? (
+		dev-libs/expat:=[static-libs?]
+		dev-libs/openssl:=[static-libs?]
+		net-misc/curl:=[static-libs?]
+	)
+	system-boost? (
+		>=dev-libs/boost-1.66:=[threads,context,python,static-libs?,${PYTHON_USEDEP}]
+	)
+	jemalloc? ( dev-libs/jemalloc:=[static-libs?] )
+	!jemalloc? ( >=dev-util/google-perftools-2.4:=[static-libs?] )
+	${PYTHON_DEPS}
+	"
+DEPEND="${COMMON_DEPEND}
+	app-arch/cpio
+	dev-lang/yasm
+	dev-python/cython[${PYTHON_USEDEP}]
+	dev-python/sphinx
+	dev-util/gperf
+	dev-util/valgrind
+	sys-apps/which
+	sys-devel/bc
+	virtual/pkgconfig
+	test? (
+		dev-python/tox[${PYTHON_USEDEP}]
+		dev-python/virtualenv[${PYTHON_USEDEP}]
+		sys-apps/grep[pcre]
+		sys-fs/btrfs-progs
+	)"
+RDEPEND="${COMMON_DEPEND}
+	net-misc/socat
+	sys-apps/gptfdisk
+	sys-block/parted
+	sys-fs/cryptsetup
+	sys-fs/lvm2
+	!<sys-apps/openrc-0.26.3
+	dev-python/cherrypy[${PYTHON_USEDEP}]
+	dev-python/flask[${PYTHON_USEDEP}]
+	dev-python/jinja[${PYTHON_USEDEP}]
+	dev-python/pecan[${PYTHON_USEDEP}]
+	dev-python/prettytable[${PYTHON_USEDEP}]
+	dev-python/pyopenssl[${PYTHON_USEDEP}]
+	dev-python/requests[${PYTHON_USEDEP}]
+	dev-python/werkzeug[${PYTHON_USEDEP}]
+	"
+REQUIRED_USE="
+	$(python_gen_useflags 'python2*')
+	${PYTHON_REQUIRED_USE}
+	?? ( ssl nss )
+	?? ( jemalloc tcmalloc )
+	"
+
+RESTRICT="test? ( userpriv )"
+
+# distribution tarball does not include everything needed for tests
+RESTRICT+=" test"
+
+# false positives unless all USE flags are on
+CMAKE_WARN_UNUSED_CLI="no"
+
+STRIP_MASK="/usr/lib*/rados-classes/*"
+
+UNBUNDLE_LIBS=(
+	src/erasure-code/jerasure/jerasure
+	src/erasure-code/jerasure/gf-complete
+)
+
+PATCHES=(
+	"${FILESDIR}/ceph-12.2.0-use-provided-cpu-flag-values.patch"
+	"${FILESDIR}/ceph-12.2.0-cflags.patch"
+	"${FILESDIR}/ceph-12.2.1-systemd-unitdir.patch"
+	"${FILESDIR}/ceph-12.2.4-boost-build-none-options.patch"
+	"${FILESDIR}/ceph-12.2.4-cflags.patch"
+	"${FILESDIR}/ceph-12.2.4-rocksdb-cflags.patch"
+)
+
+check-reqs_export_vars() {
+	if use amd64; then
+		CHECKREQS_DISK_BUILD="12G"
+		CHECKREQS_DISK_USR="460M"
+	else
+		CHECKREQS_DISK_BUILD="1400M"
+		CHECKREQS_DISK_USR="450M"
+	fi
+
+	export CHECKREQS_DISK_BUILD CHECKREQS_DISK_USR
+}
+
+user_setup() {
+	enewgroup ceph ${CEPH_GID}
+	enewuser ceph "${CEPH_UID:--1}" -1 /var/lib/ceph ceph
+}
+
+pkg_pretend() {
+	check-reqs_export_vars
+	check-reqs_pkg_pretend
+}
+
+pkg_setup() {
+	python_setup 'python2*'
+	check-reqs_export_vars
+	check-reqs_pkg_setup
+	user_setup
+}
+
+src_prepare() {
+	cmake-utils_src_prepare
+
+	if use system-boost; then
+		eapply "${FILESDIR}/ceph-12.2.4-boost-sonames.patch"
+	fi
+
+	# remove tests that need root access
+	rm src/test/cli/ceph-authtool/cap*.t
+
+	#rm -rf "${UNBUNDLE_LIBS[@]}"
+}
+
+ceph_src_configure() {
+	local flag
+	local mycmakeargs=(
+		-DWITH_BABELTRACE=$(usex babeltrace)
+		-DWITH_CEPHFS=$(usex cephfs)
+		-DWITH_FUSE=$(usex fuse)
+		-DWITH_LTTNG=$(usex lttng)
+		-DWITH_MGR=$(usex mgr)
+		-DWITH_NSS=$(usex nss)
+		-DWITH_OPENLDAP=$(usex ldap)
+		-DWITH_RADOSGW=$(usex radosgw)
+		-DWITH_SSL=$(usex ssl)
+		-DWITH_SYSTEMD=$(usex systemd)
+		-DWITH_TESTS=$(usex test)
+		-DWITH_XFS=$(usex xfs)
+		-DWITH_ZFS=$(usex zfs)
+		-DENABLE_SHARED=$(usex static-libs '' 'yes' 'no')
+		-DALLOCATOR=$(usex tcmalloc 'tcmalloc' '' "$(usex jemalloc 'jemalloc' '' 'libc' '')" '')
+		-DWITH_SYSTEM_BOOST=$(usex system-boost)
+		-DBOOST_J=$(makeopts_jobs)
+		-DWITH_RDMA=no
+		-DSYSTEMD_UNITDIR=$(systemd_get_systemunitdir)
+		-DEPYTHON_VERSION="${EPYTHON#python}"
+	)
+	if use amd64 || use x86; then
+		for flag in ${CPU_FLAGS_X86[@]}; do
+			mycmakeargs+=("$(usex cpu_flags_x86_${flag} "-DHAVE_INTEL_${flag^^}=1")")
+		done
+	fi
+
+	rm -f "${BUILD_DIR:-${S}}/CMakeCache.txt"
+	cmake-utils_src_configure
+
+	# bug #630232
+	sed -i "s:\"${T//:\\:}/${EPYTHON}/bin/python\":\"${PYTHON}\":" \
+		"${BUILD_DIR:-${CMAKE_BUILD_DIR:-${S}}}"/include/acconfig.h \
+		|| die "sed failed"
+}
+
+src_configure() {
+	ceph_src_configure
+}
+
+python_compile() {
+	local CMAKE_USE_DIR="${S}"
+
+	ceph_src_configure
+	pushd "${BUILD_DIR}/src/pybind" >/dev/null || die
+	emake VERBOSE=1 all
+
+	# python modules are only compiled with "make install" so we need to do this to
+	# prevent doing a bunch of compilation in src_install
+	DESTDIR="${T}" emake VERBOSE=1 install
+	popd >/dev/null || die
+}
+
+src_compile() {
+	cmake-utils_src_make all
+
+	# we have to do this here to prevent from building everything multiple times
+	BUILD_DIR="${CMAKE_BUILD_DIR}" python_copy_sources
+	python_foreach_impl python_compile
+}
+
+src_test() {
+	make check || die "make check failed"
+}
+
+python_install() {
+	local CMAKE_USE_DIR="${S}"
+	pushd "${BUILD_DIR}/src/pybind" >/dev/null || die
+	DESTDIR="${D}" emake install
+	popd >/dev/null || die
+}
+
+src_install() {
+	cmake-utils_src_install
+	python_foreach_impl python_install
+
+	prune_libtool_files --all
+
+	exeinto /usr/$(get_libdir)/ceph
+	newexe "${CMAKE_BUILD_DIR}/bin/init-ceph" ceph_init.sh
+
+	insinto /etc/logrotate.d/
+	newins "${FILESDIR}"/ceph.logrotate ${PN}
+
+	keepdir /var/lib/${PN}{,/tmp} /var/log/${PN}/stat
+
+	fowners -R ceph:ceph /var/lib/ceph /var/log/ceph
+
+	newinitd "${FILESDIR}/rbdmap.initd" rbdmap
+	newinitd "${FILESDIR}/${PN}.initd-r7" ${PN}
+	newconfd "${FILESDIR}/${PN}.confd-r4" ${PN}
+
+	insinto /etc/sysctl.d
+	newins "${FILESDIR}"/sysctld 90-${PN}.conf
+
+	use tcmalloc && newenvd "${FILESDIR}"/envd-tcmalloc 99${PN}-tcmalloc
+
+	# units aren't installed by the build system unless systemd is enabled
+	# so no point installing these with the USE flag disabled
+	if use systemd; then
+		systemd_install_serviced "${FILESDIR}/ceph-mds_at.service.conf" \
+			"ceph-mds@.service"
+
+		systemd_install_serviced "${FILESDIR}/ceph-osd_at.service.conf" \
+			"ceph-osd@.service"
+	fi
+
+	udev_dorules udev/*.rules
+
+	readme.gentoo_create_doc
+
+	python_setup 'python2*'
+
+	# bug #630232
+	sed -i -r "s:${T//:/\\:}/${EPYTHON}:/usr:" "${ED}"/usr/bin/ceph \
+		|| die "sed failed"
+
+	python_fix_shebang "${ED}"/usr/{,s}bin/
+
+	# python_fix_shebang apparently is not idempotent
+	sed -i -r  's:(/usr/lib/python-exec/python[0-9]\.[0-9]/python)[0-9]\.[0-9]:\1:' \
+		"${ED}"/usr/{sbin/ceph-disk,bin/ceph-detect-init} || die "sed failed"
+}
+
+pkg_postinst() {
+	readme.gentoo_print_elog
+}

diff --git a/sys-cluster/ceph/files/boost-site-config.jam b/sys-cluster/ceph/files/boost-site-config.jam
new file mode 100644
index 00000000000..8349b96eb44
--- /dev/null
+++ b/sys-cluster/ceph/files/boost-site-config.jam
@@ -0,0 +1,11 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the Boost Software License, Version 1.0. 
+# (See accompanying file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt) 
+
+# Define two new variants to be used when building boost (or separate boost-libs)
+# on Gentoo. The two variants make use of Gentoo-specific optimization and debug-symbols
+# values "none" which are not part of the official boost distribution.
+# DO NOT RELY ON THE FOLLOWING VARIANTS TO BE PRESENT ON OTHER OS!
+variant gentoorelease : release : <optimization>none <debug-symbols>none <runtime-link>shared ;
+variant gentoodebug   : debug   : <optimization>none <debug-symbols>on   <runtime-link>shared ;
+

diff --git a/sys-cluster/ceph/files/ceph-12.2.4-boost-build-none-options.patch b/sys-cluster/ceph/files/ceph-12.2.4-boost-build-none-options.patch
new file mode 100644
index 00000000000..6e3ad413e99
--- /dev/null
+++ b/sys-cluster/ceph/files/ceph-12.2.4-boost-build-none-options.patch
@@ -0,0 +1,26 @@
+diff --git a/src/boost/tools/build/src/tools/features/debug-feature.jam b/src/boost/tools/build/src/tools/features/debug-feature.jam
+index 04958f9a..38b6acf1 100644
+--- a/src/boost/tools/build/src/tools/features/debug-feature.jam
++++ b/src/boost/tools/build/src/tools/features/debug-feature.jam
+@@ -8,7 +8,7 @@
+ import feature ;
+ 
+ feature.feature debug-symbols
+-    : on off
++    : on off none
+     : propagated ;
+ 
+ feature.feature profiling
+diff --git a/src/boost/tools/build/src/tools/features/optimization-feature.jam b/src/boost/tools/build/src/tools/features/optimization-feature.jam
+index 761f76f1..fb2a5dec 100644
+--- a/src/boost/tools/build/src/tools/features/optimization-feature.jam
++++ b/src/boost/tools/build/src/tools/features/optimization-feature.jam
+@@ -8,7 +8,7 @@
+ import feature ;
+ 
+ feature.feature optimization
+-    : off speed space
++    : off none speed space
+     : propagated ;
+ 
+ feature.feature inlining

diff --git a/sys-cluster/ceph/files/ceph-12.2.4-boost-sonames.patch b/sys-cluster/ceph/files/ceph-12.2.4-boost-sonames.patch
new file mode 100644
index 00000000000..59c645dea95
--- /dev/null
+++ b/sys-cluster/ceph/files/ceph-12.2.4-boost-sonames.patch
@@ -0,0 +1,152 @@
+diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
+index 7aa8a4392e..111f669f2e 100644
+--- a/src/CMakeLists.txt
++++ b/src/CMakeLists.txt
+@@ -622,13 +622,13 @@ set(ceph_common_objs
+   $<TARGET_OBJECTS:crush_objs>)
+ set(ceph_common_deps
+   json_spirit erasure_code rt ${LIB_RESOLV}
+-  Boost::thread
+-  Boost::system
+-  Boost::regex
+-  Boost::random
+-  Boost::program_options
+-  Boost::date_time
+-  Boost::iostreams
++  boost_thread
++  boost_system
++  boost_regex
++  boost_random
++  boost_program_options
++  boost_date_time
++  boost_iostreams
+   ${BLKID_LIBRARIES}
+   ${Backtrace_LIBRARIES}
+   ${BLKIN_LIBRARIES}
+@@ -712,7 +712,7 @@ if (WITH_MGR)
+                  $<TARGET_OBJECTS:heap_profiler_objs>)
+   target_include_directories(ceph-mgr PRIVATE "${PYTHON_INCLUDE_DIRS}")
+   target_link_libraries(ceph-mgr osdc client global-static common
+-      Boost::python ${PYTHON_LIBRARIES} ${BLKID_LIBRARIES} ${CMAKE_DL_LIBS} ${ALLOC_LIBS})
++	  boost_python-${EPYTHON_VERSION} ${PYTHON_LIBRARIES} ${BLKID_LIBRARIES} ${CMAKE_DL_LIBS} ${ALLOC_LIBS})
+   install(TARGETS ceph-mgr DESTINATION bin)
+ endif (WITH_MGR)
+ 
+@@ -885,7 +885,7 @@ set(ceph_mds_srcs
+   ceph_mds.cc)
+ add_executable(ceph-mds ${ceph_mds_srcs})
+ target_link_libraries(ceph-mds mds ${CMAKE_DL_LIBS} global-static common
+-  Boost::thread)
++  boost_thread)
+ install(TARGETS ceph-mds DESTINATION bin)
+ 
+ add_subdirectory(erasure-code)
+diff --git a/src/test/CMakeLists.txt b/src/test/CMakeLists.txt
+index f3999e3b01..0ce7fca1ba 100644
+--- a/src/test/CMakeLists.txt
++++ b/src/test/CMakeLists.txt
+@@ -148,7 +148,7 @@ add_executable(ceph_omapbench
+   )
+ target_link_libraries(ceph_omapbench
+   librados
+-  Boost::program_options
++  boost_program_options
+   global
+   ${BLKID_LIBRARIES}
+   ${CMAKE_DL_LIBS}
+@@ -202,7 +202,7 @@ if(${WITH_RADOSGW})
+     cls_rgw_client
+     cls_user_client
+     cls_lock_client
+-    Boost::regex
++    boost_regex
+     ${BLKID_LIBRARIES}
+     ${CURL_LIBRARIES}
+     ${EXPAT_LIBRARIES}
+@@ -232,7 +232,7 @@ if(${WITH_RADOSGW})
+     cls_rgw_client
+     cls_user_client
+     cls_lock_client
+-    Boost::regex
++    boost_regex
+     ${BLKID_LIBRARIES}
+     ${CURL_LIBRARIES}
+     ${EXPAT_LIBRARIES}
+diff --git a/src/test/bench/CMakeLists.txt b/src/test/bench/CMakeLists.txt
+index 9fba701e05..da3cbcfe96 100644
+--- a/src/test/bench/CMakeLists.txt
++++ b/src/test/bench/CMakeLists.txt
+@@ -8,7 +8,7 @@ set(smalliobench_srcs
+ add_executable(ceph_smalliobench
+   ${smalliobench_srcs}
+   )
+-target_link_libraries(ceph_smalliobench librados Boost::program_options global
++target_link_libraries(ceph_smalliobench librados boost_program_options global
+   ${BLKID_LIBRARIES} ${CMAKE_DL_LIBS}) 
+ 
+ # ceph_smalliobenchrbd
+@@ -27,7 +27,7 @@ if(WITH_RBD)
+     librados
+     os
+     global
+-    Boost::program_options
++    boost_program_options
+     ${BLKID_LIBRARIES}
+     ${CMAKE_DL_LIBS}
+     )
+@@ -50,7 +50,7 @@ set(ceph_smalliobenchfs_srcs
+ add_executable(ceph_smalliobenchfs
+   ${ceph_smalliobenchfs_srcs}
+   )
+-target_link_libraries(ceph_smalliobenchfs librados Boost::program_options os global
++target_link_libraries(ceph_smalliobenchfs librados boost_program_options os global
+   ${BLKID_LIBRARIES} ${CMAKE_DL_LIBS}) 
+ 
+ # ceph_smalliobenchdumb
+@@ -63,7 +63,7 @@ set(smalliobenchdumb_srcs
+ add_executable(ceph_smalliobenchdumb
+   ${smalliobenchdumb_srcs}
+   )
+-target_link_libraries(ceph_smalliobenchdumb librados Boost::program_options os global
++target_link_libraries(ceph_smalliobenchdumb librados boost_program_options os global
+   ${BLKID_LIBRARIES} ${CMAKE_DL_LIBS}) 
+ 
+ # ceph_tpbench
+@@ -73,7 +73,7 @@ set(tpbench_srcs
+ add_executable(ceph_tpbench
+   ${tpbench_srcs}
+   )
+-target_link_libraries(ceph_tpbench librados Boost::program_options global
++target_link_libraries(ceph_tpbench librados boost_program_options global
+   ${BLKID_LIBRARIES} ${CMAKE_DL_LIBS})
+ 
+ install(TARGETS
+diff --git a/src/tools/CMakeLists.txt b/src/tools/CMakeLists.txt
+index 7502085895..1a430c201a 100644
+--- a/src/tools/CMakeLists.txt
++++ b/src/tools/CMakeLists.txt
+@@ -23,13 +23,13 @@ target_link_libraries(ceph_radosacl librados global)
+ install(TARGETS ceph_radosacl DESTINATION bin)
+ 
+ add_executable(ceph-osdomap-tool ceph_osdomap_tool.cc)
+-target_link_libraries(ceph-osdomap-tool os global Boost::program_options)
++target_link_libraries(ceph-osdomap-tool os global boost_program_options)
+ install(TARGETS ceph-osdomap-tool DESTINATION bin)
+ 
+ add_executable(ceph-monstore-tool
+   ceph_monstore_tool.cc
+   ../mgr/mgr_commands.cc)
+-target_link_libraries(ceph-monstore-tool os global Boost::program_options)
++target_link_libraries(ceph-monstore-tool os global boost_program_options)
+ install(TARGETS ceph-monstore-tool DESTINATION bin)
+ install(PROGRAMS
+   ceph-monstore-update-crush.sh
+@@ -40,7 +40,7 @@ add_executable(ceph-objectstore-tool
+   ceph_objectstore_tool.cc
+   rebuild_mondb.cc
+   RadosDump.cc)
+-target_link_libraries(ceph-objectstore-tool osd os global Boost::program_options ${CMAKE_DL_LIBS})
++target_link_libraries(ceph-objectstore-tool osd os global boost_program_options ${CMAKE_DL_LIBS})
+ if(WITH_FUSE)
+   target_link_libraries(ceph-objectstore-tool fuse)
+ endif(WITH_FUSE)

diff --git a/sys-cluster/ceph/files/ceph-12.2.4-cflags.patch b/sys-cluster/ceph/files/ceph-12.2.4-cflags.patch
new file mode 100644
index 00000000000..3535d8cf436
--- /dev/null
+++ b/sys-cluster/ceph/files/ceph-12.2.4-cflags.patch
@@ -0,0 +1,38 @@
+diff --git a/cmake/modules/BuildBoost.cmake b/cmake/modules/BuildBoost.cmake
+index c7cd39a110..e7b8115485 100644
+--- a/cmake/modules/BuildBoost.cmake
++++ b/cmake/modules/BuildBoost.cmake
+@@ -29,7 +29,7 @@ function(do_build_boost version)
+   else()
+     list(APPEND boost_features "address-model=32")
+   endif()
+-  set(BOOST_CXXFLAGS "-fPIC -w") # check on arm, etc <---XXX
++  set(BOOST_CXXFLAGS "${CMAKE_CXX_FLAGS} -fPIC -w") # check on arm, etc <---XXX
+   list(APPEND boost_features "cxxflags=${BOOST_CXXFLAGS}")
+ 
+   string(REPLACE ";" "," boost_with_libs "${Boost_BUILD_COMPONENTS}")
+diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
+index 7aa8a4392e..c7543a62bd 100644
+--- a/src/CMakeLists.txt
++++ b/src/CMakeLists.txt
+@@ -808,6 +808,7 @@ install(TARGETS ceph-mon DESTINATION bin)
+ 
+ if (NOT WITH_SYSTEM_ROCKSDB)
+   set(ROCKSDB_CMAKE_ARGS -DCMAKE_POSITION_INDEPENDENT_CODE=ON)
++  list(APPEND ROCKSDB_CMAKE_ARGS -DDISABLE_WARNING_AS_ERROR=ON)
+ 
+   if(ALLOCATOR STREQUAL "jemalloc")
+     list(APPEND ROCKSDB_CMAKE_ARGS -DWITH_JEMALLOC=ON)
+diff --git a/src/compressor/zstd/CMakeLists.txt b/src/compressor/zstd/CMakeLists.txt
+index d9d2b6e560..1b2099fcbd 100644
+--- a/src/compressor/zstd/CMakeLists.txt
++++ b/src/compressor/zstd/CMakeLists.txt
+@@ -1,7 +1,7 @@
+ # zstd
+ 
+ # libzstd - build it statically
+-set(ZSTD_C_FLAGS -fPIC -Wno-unused-variable -O3)
++set(ZSTD_C_FLAGS -fPIC -Wno-unused-variable $ENV{CFLAGS})
+ 
+ include(ExternalProject)
+ ExternalProject_Add(zstd_ext

diff --git a/sys-cluster/ceph/files/ceph-12.2.4-rocksdb-cflags.patch b/sys-cluster/ceph/files/ceph-12.2.4-rocksdb-cflags.patch
new file mode 100644
index 00000000000..d744318cd11
--- /dev/null
+++ b/sys-cluster/ceph/files/ceph-12.2.4-rocksdb-cflags.patch
@@ -0,0 +1,11 @@
+--- ceph-12.2.4.orig/src/rocksdb/CMakeLists.txt	2018-03-05 19:06:21.016923872 -0800
++++ ceph-12.2.4/src/rocksdb/CMakeLists.txt	2018-03-05 19:09:01.798721666 -0800
+@@ -147,7 +147,7 @@
+   endif()
+   set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11")
+   if(NOT CMAKE_BUILD_TYPE STREQUAL "Debug")
+-    set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -O2 -fno-omit-frame-pointer")
++    set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fno-omit-frame-pointer")
+     include(CheckCXXCompilerFlag)
+     CHECK_CXX_COMPILER_FLAG("-momit-leaf-frame-pointer" HAVE_OMIT_LEAF_FRAME_POINTER)
+     if(HAVE_OMIT_LEAF_FRAME_POINTER)

diff --git a/sys-cluster/ceph/metadata.xml b/sys-cluster/ceph/metadata.xml
index 4194415c72f..8ed7a4c83e4 100644
--- a/sys-cluster/ceph/metadata.xml
+++ b/sys-cluster/ceph/metadata.xml
@@ -14,20 +14,21 @@
     <name>Gentoo Cluster Project</name>
   </maintainer>
   <longdescription>
-Ceph is a distributed network file system designed to provide excellent performance, reliability, and scalability.
-</longdescription>
+    Ceph is a distributed network file system designed to provide excellent performance, reliability, and scalability.
+  </longdescription>
   <use>
+    <flag name="babeltrace">Add support for LTTng babeltrace</flag>
     <flag name="cryptopp">Use <pkg>dev-libs/crypto++</pkg> for cryptography</flag>
     <flag name="cephfs">Build support for cephfs, a POSIX compatible filesystem built on top of ceph</flag>
     <flag name="fuse">Build fuse client</flag>
+    <flag name="jemalloc">Use <pkg>dev-libs/jemalloc</pkg> for allocations</flag>
     <flag name="libatomic">Use libatomic instead of builtin atomic operations</flag>
     <flag name="libaio">Use libaio as asynchronous input/output library</flag>
     <flag name="lttng">Add support for LTTng</flag>
-    <flag name="babeltrace">Add support for LTTng babeltrace</flag>
     <flag name="mgr">Build the ceph-mgr daemon</flag>
     <flag name="nss">Use <pkg>dev-libs/nss</pkg> for cryptography</flag>
     <flag name="radosgw">Add radosgw support</flag>
-    <flag name="jemalloc">Use <pkg>dev-libs/jemalloc</pkg> for allocations</flag>
+    <flag name="system-boost">Use system <pkg>dev-libs/boost</pkg> instead of the bundled one</flag>
     <flag name="xfs">Add xfs support</flag>
     <flag name="zfs">Add zfs support</flag>
   </use>


^ permalink raw reply related	[flat|nested] 68+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-cluster/ceph/, sys-cluster/ceph/files/
@ 2018-02-06 17:43 Patrick Lauer
  0 siblings, 0 replies; 68+ messages in thread
From: Patrick Lauer @ 2018-02-06 17:43 UTC (permalink / raw
  To: gentoo-commits

commit:     e811f82167b11dff8adb188dc07f7a5b7e856699
Author:     Patrick Lauer <patrick <AT> gentoo <DOT> org>
AuthorDate: Tue Feb  6 17:42:54 2018 +0000
Commit:     Patrick Lauer <patrick <AT> gentoo <DOT> org>
CommitDate: Tue Feb  6 17:42:54 2018 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=e811f821

sys-cluster/ceph: Fix init script

The previous defaults were subtly insane, and very wrong.
"supervise-daemon: unable to open the logfile for stdout '/dev/null.96-stdout.log': Permission denied" ?
No thanks, let's set some values that allow ceph to start, and log to a reasonable place.

Package-Manager: Portage-2.3.24, Repoman-2.3.6

 sys-cluster/ceph/ceph-10.2.10-r2.ebuild | 306 ++++++++++++++++++++++++++++++++
 sys-cluster/ceph/ceph-12.2.2-r1.ebuild  | 288 ++++++++++++++++++++++++++++++
 sys-cluster/ceph/files/ceph.initd-r7    |  87 +++++++++
 3 files changed, 681 insertions(+)

diff --git a/sys-cluster/ceph/ceph-10.2.10-r2.ebuild b/sys-cluster/ceph/ceph-10.2.10-r2.ebuild
new file mode 100644
index 00000000000..bf6eaeec4b6
--- /dev/null
+++ b/sys-cluster/ceph/ceph-10.2.10-r2.ebuild
@@ -0,0 +1,306 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+PYTHON_COMPAT=( python{2_7,3_{4,5,6}} )
+
+inherit check-reqs autotools eutils python-r1 udev user \
+	readme.gentoo-r1 systemd versionator flag-o-matic toolchain-funcs
+
+if [[ ${PV} == *9999* ]]; then
+	inherit git-r3
+	EGIT_REPO_URI="https://github.com/ceph/ceph.git"
+	SRC_URI=""
+else
+	SRC_URI="https://download.ceph.com/tarballs/${P}.tar.gz"
+	KEYWORDS="~amd64 ~arm64 ~x86"
+fi
+
+DESCRIPTION="Ceph distributed filesystem"
+HOMEPAGE="https://ceph.com/"
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+
+IUSE="babeltrace cephfs cryptopp debug fuse gtk jemalloc ldap +libaio"
+IUSE+=" libatomic lttng +nss +radosgw static-libs +tcmalloc test xfs zfs"
+
+# unbundling code commented out pending bugs 584056 and 584058
+#>=dev-libs/jerasure-2.0.0-r1
+#>=dev-libs/gf-complete-2.0.0
+COMMON_DEPEND="
+	app-arch/snappy:=
+	sys-libs/zlib:=
+	app-arch/lz4:=
+	app-arch/bzip2:=
+	app-arch/zstd:=
+	dev-libs/boost:=[threads]
+	dev-libs/libaio:=
+	dev-libs/leveldb:=[snappy]
+	nss? ( dev-libs/nss:= )
+	libatomic? ( dev-libs/libatomic_ops:= )
+	cryptopp? ( dev-libs/crypto++:= )
+	sys-apps/keyutils
+	sys-apps/util-linux
+	dev-libs/libxml2:=
+	radosgw? ( dev-libs/fcgi:= )
+	ldap? ( net-nds/openldap:= )
+	babeltrace? ( dev-util/babeltrace )
+	fuse? ( sys-fs/fuse:0= )
+	xfs? ( sys-fs/xfsprogs:= )
+	zfs? ( sys-fs/zfs:= )
+	gtk? (
+		x11-libs/gtk+:2=
+		dev-cpp/gtkmm:2.4
+		gnome-base/librsvg:=
+	)
+	radosgw? (
+		dev-libs/fcgi:=
+		dev-libs/expat:=
+		net-misc/curl:=
+	)
+	jemalloc? ( dev-libs/jemalloc:= )
+	!jemalloc? ( =dev-util/google-perftools-2.4*:= )
+	lttng? ( dev-util/lttng-ust:= )
+	${PYTHON_DEPS}
+	"
+DEPEND="${COMMON_DEPEND}
+	dev-python/cython[${PYTHON_USEDEP}]
+	app-arch/cpio
+	dev-lang/yasm
+	virtual/pkgconfig
+	dev-python/sphinx
+	test? (
+		sys-fs/btrfs-progs
+		sys-apps/grep[pcre]
+		dev-python/tox[${PYTHON_USEDEP}]
+		dev-python/virtualenv[${PYTHON_USEDEP}]
+	)"
+RDEPEND="${COMMON_DEPEND}
+	sys-apps/hdparm
+	sys-block/parted
+	sys-fs/cryptsetup
+	sys-apps/gptfdisk
+	!<sys-apps/openrc-0.26.3
+	dev-python/flask[${PYTHON_USEDEP}]
+	dev-python/requests[${PYTHON_USEDEP}]
+	"
+REQUIRED_USE="
+	$(python_gen_useflags 'python2*')
+	${PYTHON_REQUIRED_USE}
+	^^ ( nss cryptopp )
+	?? ( jemalloc tcmalloc )
+	"
+
+# work around bug in ceph compilation (rgw/ceph_dencoder-rgw_dencoder.o... undefined reference to `vtable for RGWZoneGroup')
+REQUIRED_USE+=" radosgw"
+
+#RESTRICT="test? ( userpriv )"
+
+# distribution tarball does not include everything needed for tests
+RESTRICT+=" test"
+
+STRIP_MASK="/usr/lib*/rados-classes/*"
+
+UNBUNDLE_LIBS=(
+	src/erasure-code/jerasure/jerasure
+	src/erasure-code/jerasure/gf-complete
+)
+
+PATCHES=(
+	"${FILESDIR}/ceph-10.2.0-dont-use-virtualenvs.patch"
+	#"${FILESDIR}/ceph-10.2.1-unbundle-jerasure.patch"
+	"${FILESDIR}/${PN}-10.2.1-libzfs.patch"
+	"${FILESDIR}/${PN}-10.2.3-build-without-openldap.patch"
+	"${FILESDIR}/${PN}-10.2.5-Make-RBD-Python-bindings-compatible-with-Python-3.patch"
+	"${FILESDIR}/${PN}-10.2.5-Make-CephFS-bindings-and-tests-compatible-with-Python-3.patch"
+	"${FILESDIR}/${PN}-10.2.7-fix-compilation-with-zstd.patch"
+	"${FILESDIR}/${PN}-10.2.9-cflags.patch"
+	"${FILESDIR}/${PN}-10.2.9-dont-run-lsb_release.patch"
+)
+
+check-reqs_export_vars() {
+	if use debug; then
+		CHECKREQS_DISK_BUILD="23G"
+		CHECKREQS_DISK_USR="7G"
+	elif use amd64; then
+		CHECKREQS_DISK_BUILD="12G"
+		CHECKREQS_DISK_USR="450M"
+	else
+		CHECKREQS_DISK_BUILD="1400M"
+		CHECKREQS_DISK_USR="450M"
+	fi
+
+	export CHECKREQS_DISK_BUILD CHECKREQS_DISK_USR
+}
+
+user_setup() {
+	enewgroup ceph ${CEPH_GID}
+	enewuser ceph "${CEPH_UID:--1}" -1 /var/lib/ceph ceph
+}
+
+emake_python_bindings() {
+	local action="${1}" params binding module
+	shift
+	params=("${@}")
+
+	__emake_python_bindings_do_impl() {
+		ceph_run_econf "${EPYTHON}"
+		emake "${params[@]}" PYTHON="${EPYTHON}" "${binding}-pybind-${action}"
+
+		# these don't work and aren't needed on python3
+		if [[ ${EBUILD_PHASE} == install ]]; then
+			for module in "${S}"/src/pybind/*.py; do
+				module_basename="$(basename "${module}")"
+				if [[ ${module_basename} == ceph_volume_client.py ]] && ! use cephfs; then
+					continue
+				elif [[ ! -e "${ED}/$(python_get_sitedir)/${module_basename}" ]]; then
+					python_domodule ${module}
+				fi
+			done
+		fi
+	}
+
+	pushd "${S}/src"
+	for binding in rados rbd $(use cephfs && echo cephfs); do
+		python_foreach_impl __emake_python_bindings_do_impl
+	done
+	popd
+
+	unset __emake_python_bindings_do_impl
+}
+
+pkg_pretend() {
+	check-reqs_export_vars
+	check-reqs_pkg_pretend
+}
+
+pkg_setup() {
+	python_setup
+	check-reqs_export_vars
+	check-reqs_pkg_setup
+	user_setup
+}
+
+src_prepare() {
+	default
+
+	# remove tests that need root access
+	rm src/test/cli/ceph-authtool/cap*.t
+
+	#rm -rf "${UNBUNDLE_LIBS[@]}"
+
+	append-flags -fPIC
+
+	if tc-is-gcc && [[ $(gcc-fullversion) == "7.2.0" ]] && is-flag "-g*"; then
+		ewarn "Filtering out -g* flags since gcc-7.2 tends to ICE with them and ceph"
+		filter-flags "-g*"
+	fi
+	eautoreconf
+}
+
+src_configure() {
+	ECONFARGS=(
+		--without-hadoop
+		--includedir=/usr/include
+		$(use_with cephfs)
+		$(use_with debug)
+		$(use_with fuse)
+		$(use_with libaio)
+		$(use_with libatomic libatomic-ops)
+		$(use_with nss)
+		$(use_with cryptopp)
+		$(use_with radosgw)
+		$(use_with gtk gtk2)
+		$(use_enable static-libs static)
+		$(use_with jemalloc)
+		$(use_with xfs libxfs)
+		$(use_with zfs libzfs)
+		$(use_with lttng )
+		$(use_with babeltrace)
+		$(use_with ldap openldap)
+		$(use jemalloc || usex tcmalloc " --with-tcmalloc" " --with-tcmalloc-minimal")
+		--with-mon
+		--with-eventfd
+		--with-cython
+		--without-kinetic
+		--without-librocksdb
+		--with-systemdsystemunitdir="$(systemd_get_systemunitdir)"
+	)
+
+	# we can only use python2.7 for building at the moment
+	ceph_run_econf "python2*"
+}
+
+ceph_run_econf() {
+	[[ -z ${ECONFARGS} ]] && die "called ${FUNCNAME[0]} with ECONFARGS unset"
+	[[ -z ${1} ]] && die "called ${FUNCNAME[0]} without passing python implementation"
+
+	pushd "${S}" >/dev/null || die
+	#
+	# This generates a QA warning about running econf in src_compile
+	# and src_install. Unfortunately the only other way to do this would
+	# involve building all of for each python implementation times, which
+	# wastes a _lot_ of CPU time and disk space. This hack will no longer
+	# be needed with >=ceph-11.2.
+	#
+	python_setup "${1}"
+	econf "${ECONFARGS[@]}"
+
+	popd >/dev/null || die
+}
+
+src_compile() {
+	emake
+	emake_python_bindings all
+
+	use test && emake check-local
+}
+
+src_test() {
+	make check || die "make check failed"
+}
+
+src_install() {
+	default
+	emake_python_bindings install-exec "DESTDIR=\"${D}\""
+
+	prune_libtool_files --all
+
+	exeinto /usr/$(get_libdir)/ceph
+	newexe src/init-ceph ceph_init.sh
+
+	insinto /etc/logrotate.d/
+	newins "${FILESDIR}"/ceph.logrotate ${PN}
+
+	keepdir /var/lib/${PN}{,/tmp} /var/log/${PN}/stat
+
+	fowners -R ceph:ceph /var/lib/ceph /var/log/ceph
+
+	newinitd "${FILESDIR}/rbdmap.initd" rbdmap
+	newinitd "${FILESDIR}/${PN}.initd-r7" ${PN}
+	newconfd "${FILESDIR}/${PN}.confd-r3" ${PN}
+
+	insinto /etc/sysctl.d
+	newins "${FILESDIR}"/sysctld 90-${PN}.conf
+
+	use tcmalloc && newenvd "${FILESDIR}"/envd-tcmalloc 99${PN}-tcmalloc
+
+	systemd_install_serviced "${FILESDIR}/ceph-mds_at.service.conf" "ceph-mds@.service"
+	systemd_install_serviced "${FILESDIR}/ceph-osd_at.service.conf" "ceph-osd@.service"
+
+	udev_dorules udev/*.rules
+
+	readme.gentoo_create_doc
+
+	python_setup 'python2*'
+	python_fix_shebang "${ED}"/usr/{,s}bin/
+
+	# python_fix_shebang apparently is not idempotent
+	sed -i -r  's:(/usr/lib/python-exec/python[0-9]\.[0-9]/python)[0-9]\.[0-9]:\1:' \
+		"${ED}"/usr/{sbin/ceph-disk,bin/ceph-detect-init} || die "sed failed"
+}
+
+pkg_postinst() {
+	readme.gentoo_print_elog
+}

diff --git a/sys-cluster/ceph/ceph-12.2.2-r1.ebuild b/sys-cluster/ceph/ceph-12.2.2-r1.ebuild
new file mode 100644
index 00000000000..370a0220f86
--- /dev/null
+++ b/sys-cluster/ceph/ceph-12.2.2-r1.ebuild
@@ -0,0 +1,288 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+PYTHON_COMPAT=( python{2_7,3_{4,5,6}} )
+DISTUTILS_OPTIONAL=1
+
+inherit check-reqs cmake-utils distutils-r1 python-r1 udev user systemd \
+	readme.gentoo-r1 flag-o-matic
+
+if [[ ${PV} == *9999* ]]; then
+	inherit git-r3
+	EGIT_REPO_URI="https://github.com/ceph/ceph.git"
+	SRC_URI=""
+else
+	SRC_URI="https://download.ceph.com/tarballs/${P}.tar.gz"
+	KEYWORDS="~amd64 ~arm64 ~x86"
+fi
+
+DESCRIPTION="Ceph distributed filesystem"
+HOMEPAGE="https://ceph.com/"
+
+LICENSE="LGPL-2.1 CC-BY-SA-1.0 GPL-2 BSD Boost-1.0 MIT"
+SLOT="0"
+
+CPU_FLAGS_X86=(sse{,2,3,4_1,4_2} ssse3)
+
+IUSE="babeltrace cephfs fuse jemalloc ldap lttng +mgr nss +radosgw +ssl"
+IUSE+=" static-libs systemd +tcmalloc test xfs zfs"
+IUSE+=" $(printf "cpu_flags_x86_%s\n" ${CPU_FLAGS_X86[@]})"
+
+# unbundling code commented out pending bugs 584056 and 584058
+#>=dev-libs/jerasure-2.0.0-r1
+#>=dev-libs/gf-complete-2.0.0
+COMMON_DEPEND="
+	virtual/libudev
+	app-arch/bzip2:=[static-libs?]
+	app-arch/lz4:=[static-libs?]
+	app-arch/snappy:=[static-libs?]
+	app-arch/zstd:=[static-libs?]
+	app-misc/jq:=[static-libs?]
+	dev-libs/boost:=[threads,context,python,static-libs?,${PYTHON_USEDEP}]
+	dev-libs/crypto++:=[static-libs?]
+	dev-libs/leveldb:=[snappy,static-libs?]
+	dev-libs/libaio:=[static-libs?]
+	dev-libs/libxml2:=[static-libs?]
+	sys-apps/keyutils:=[static-libs?]
+	sys-apps/util-linux:=[static-libs?]
+	sys-libs/zlib:=[static-libs?]
+	babeltrace? ( dev-util/babeltrace )
+	ldap? ( net-nds/openldap:=[static-libs?] )
+	lttng? ( dev-util/lttng-ust:= )
+	nss? ( dev-libs/nss:= )
+	fuse? ( sys-fs/fuse:0=[static-libs?] )
+	ssl? ( dev-libs/openssl:=[static-libs?] )
+	xfs? ( sys-fs/xfsprogs:=[static-libs?] )
+	zfs? ( sys-fs/zfs:=[static-libs?] )
+	radosgw? (
+		dev-libs/expat:=[static-libs?]
+		dev-libs/openssl:=[static-libs?]
+		net-misc/curl:=[static-libs?]
+	)
+	jemalloc? ( dev-libs/jemalloc:=[static-libs?] )
+	!jemalloc? ( >=dev-util/google-perftools-2.4:=[static-libs?] )
+	${PYTHON_DEPS}
+	"
+DEPEND="${COMMON_DEPEND}
+	app-arch/cpio
+	dev-lang/yasm
+	dev-python/cython[${PYTHON_USEDEP}]
+	dev-python/sphinx
+	dev-util/gperf
+	dev-util/valgrind
+	sys-apps/which
+	sys-devel/bc
+	virtual/pkgconfig
+	test? (
+		dev-python/tox[${PYTHON_USEDEP}]
+		dev-python/virtualenv[${PYTHON_USEDEP}]
+		sys-apps/grep[pcre]
+		sys-fs/btrfs-progs
+	)"
+RDEPEND="${COMMON_DEPEND}
+	net-misc/socat
+	sys-apps/gptfdisk
+	sys-block/parted
+	sys-fs/cryptsetup
+	!<sys-apps/openrc-0.26.3
+	dev-python/cherrypy[${PYTHON_USEDEP}]
+	dev-python/flask[${PYTHON_USEDEP}]
+	dev-python/pecan[${PYTHON_USEDEP}]
+	dev-python/prettytable[${PYTHON_USEDEP}]
+	dev-python/pyopenssl[${PYTHON_USEDEP}]
+	dev-python/requests[${PYTHON_USEDEP}]
+	dev-python/werkzeug[${PYTHON_USEDEP}]
+	"
+REQUIRED_USE="
+	$(python_gen_useflags 'python2*')
+	${PYTHON_REQUIRED_USE}
+	?? ( ssl nss )
+	?? ( jemalloc tcmalloc )
+	"
+
+RESTRICT="test? ( userpriv )"
+
+# distribution tarball does not include everything needed for tests
+RESTRICT+=" test"
+
+STRIP_MASK="/usr/lib*/rados-classes/*"
+
+UNBUNDLE_LIBS=(
+	src/erasure-code/jerasure/jerasure
+	src/erasure-code/jerasure/gf-complete
+)
+
+PATCHES=(
+	"${FILESDIR}/ceph-12.2.0-use-provided-cpu-flag-values.patch"
+	"${FILESDIR}/ceph-12.2.0-cflags.patch"
+	"${FILESDIR}/ceph-12.2.1-systemd-unitdir.patch"
+	"${FILESDIR}/ceph-12.2.2-build-without-radosgw.patch"
+)
+
+check-reqs_export_vars() {
+	if use amd64; then
+		CHECKREQS_DISK_BUILD="12G"
+		CHECKREQS_DISK_USR="460M"
+	else
+		CHECKREQS_DISK_BUILD="1400M"
+		CHECKREQS_DISK_USR="450M"
+	fi
+
+	export CHECKREQS_DISK_BUILD CHECKREQS_DISK_USR
+}
+
+user_setup() {
+	enewgroup ceph ${CEPH_GID}
+	enewuser ceph "${CEPH_UID:--1}" -1 /var/lib/ceph ceph
+}
+
+pkg_pretend() {
+	check-reqs_export_vars
+	check-reqs_pkg_pretend
+}
+
+pkg_setup() {
+	python_setup 'python2*'
+	check-reqs_export_vars
+	check-reqs_pkg_setup
+	user_setup
+}
+
+src_prepare() {
+	default
+
+	# remove tests that need root access
+	rm src/test/cli/ceph-authtool/cap*.t
+
+	#rm -rf "${UNBUNDLE_LIBS[@]}"
+}
+
+ceph_src_configure() {
+	local flag
+	local mycmakeargs=(
+		-DWITH_BABELTRACE=$(usex babeltrace)
+		-DWITH_CEPHFS=$(usex cephfs)
+		-DWITH_FUSE=$(usex fuse)
+		-DWITH_LTTNG=$(usex lttng)
+		-DWITH_MGR=$(usex mgr)
+		-DWITH_NSS=$(usex nss)
+		-DWITH_OPENLDAP=$(usex ldap)
+		-DWITH_RADOSGW=$(usex radosgw)
+		-DWITH_SSL=$(usex ssl)
+		-DWITH_SYSTEMD=$(usex systemd)
+		-DWITH_TESTS=$(usex test)
+		-DWITH_XFS=$(usex xfs)
+		-DWITH_ZFS=$(usex zfs)
+		-DENABLE_SHARED=$(usex static-libs '' 'yes' 'no')
+		-DALLOCATOR=$(usex tcmalloc 'tcmalloc' '' "$(usex jemalloc 'jemalloc' '' 'libc' '')" '')
+		-DWITH_SYSTEM_BOOST=yes
+		-DWITH_RDMA=no
+		-DSYSTEMD_UNITDIR=$(systemd_get_systemunitdir)
+	)
+	if use amd64 || use x86; then
+		for flag in ${CPU_FLAGS_X86[@]}; do
+			mycmakeargs+=("$(usex cpu_flags_x86_${flag} "-DHAVE_INTEL_${flag^^}=1")")
+		done
+	fi
+
+	rm -f "${BUILD_DIR:-${S}}/CMakeCache.txt"
+	cmake-utils_src_configure
+
+	# bug #630232
+	sed -i "s:\"${T//:\\:}/${EPYTHON}/bin/python\":\"${PYTHON}\":" \
+		"${BUILD_DIR:-${CMAKE_BUILD_DIR:-${S}}}"/include/acconfig.h \
+		|| die "sed failed"
+}
+
+src_configure() {
+	ceph_src_configure
+}
+
+python_compile() {
+	local CMAKE_USE_DIR="${S}"
+
+	ceph_src_configure
+	pushd "${BUILD_DIR}/src/pybind" >/dev/null || die
+	emake VERBOSE=1 all
+
+	# python modules are only compiled with "make install" so we need to do this to
+	# prevent doing a bunch of compilation in src_install
+	DESTDIR="${T}" emake VERBOSE=1 install
+	popd >/dev/null || die
+}
+
+src_compile() {
+	cmake-utils_src_make all
+
+	# we have to do this here to prevent from building everything multiple times
+	BUILD_DIR="${CMAKE_BUILD_DIR}" python_copy_sources
+	python_foreach_impl python_compile
+}
+
+src_test() {
+	make check || die "make check failed"
+}
+
+python_install() {
+	local CMAKE_USE_DIR="${S}"
+	pushd "${BUILD_DIR}/src/pybind" >/dev/null || die
+	DESTDIR="${D}" emake install
+	popd >/dev/null || die
+}
+
+src_install() {
+	cmake-utils_src_install
+	python_foreach_impl python_install
+
+	prune_libtool_files --all
+
+	exeinto /usr/$(get_libdir)/ceph
+	newexe "${CMAKE_BUILD_DIR}/bin/init-ceph" ceph_init.sh
+
+	insinto /etc/logrotate.d/
+	newins "${FILESDIR}"/ceph.logrotate ${PN}
+
+	keepdir /var/lib/${PN}{,/tmp} /var/log/${PN}/stat
+
+	fowners -R ceph:ceph /var/lib/ceph /var/log/ceph
+
+	newinitd "${FILESDIR}/rbdmap.initd" rbdmap
+	newinitd "${FILESDIR}/${PN}.initd-r7" ${PN}
+	newconfd "${FILESDIR}/${PN}.confd-r4" ${PN}
+
+	insinto /etc/sysctl.d
+	newins "${FILESDIR}"/sysctld 90-${PN}.conf
+
+	use tcmalloc && newenvd "${FILESDIR}"/envd-tcmalloc 99${PN}-tcmalloc
+
+	# units aren't installed by the build system unless systemd is enabled
+	# so no point installing these with the USE flag disabled
+	if use systemd; then
+		systemd_install_serviced "${FILESDIR}/ceph-mds_at.service.conf" \
+			"ceph-mds@.service"
+
+		systemd_install_serviced "${FILESDIR}/ceph-osd_at.service.conf" \
+			"ceph-osd@.service"
+	fi
+
+	udev_dorules udev/*.rules
+
+	readme.gentoo_create_doc
+
+	python_setup 'python2*'
+
+	# bug #630232
+	sed -i -r "s:${T//:/\\:}/${EPYTHON}:/usr:" "${ED}"/usr/bin/ceph \
+		|| die "sed failed"
+
+	python_fix_shebang "${ED}"/usr/{,s}bin/
+
+	# python_fix_shebang apparently is not idempotent
+	sed -i -r  's:(/usr/lib/python-exec/python[0-9]\.[0-9]/python)[0-9]\.[0-9]:\1:' \
+		"${ED}"/usr/{sbin/ceph-disk,bin/ceph-detect-init} || die "sed failed"
+}
+
+pkg_postinst() {
+	readme.gentoo_print_elog
+}

diff --git a/sys-cluster/ceph/files/ceph.initd-r7 b/sys-cluster/ceph/files/ceph.initd-r7
new file mode 100644
index 00000000000..110d7bd0b63
--- /dev/null
+++ b/sys-cluster/ceph/files/ceph.initd-r7
@@ -0,0 +1,87 @@
+#!/sbin/openrc-run
+
+ceph_conf="${ceph_conf:-/etc/ceph/ceph.conf}"
+extra_commands="reload"
+daemon_type="${RC_SVCNAME#ceph-}"
+daemon_type="${daemon_type%%.*}"
+daemon_id="${RC_SVCNAME#ceph-*.}"
+daemon_id="${daemon_id:-0}"
+: ${rundir:=/run/ceph}
+: ${user:=ceph}
+: ${group:=ceph}
+: ${rc_ulimit:=-n 1048576 -u 1048576}
+
+pidfile="${rundir}/supervisor-${daemon_type}.${daemon_id}.pid"
+daemon_pidfile="${rundir}/${daemon_type}.${daemon_id}.pid"
+
+command="/usr/bin/${RC_SVCNAME%%.*}"
+command_args="-i ${daemon_id} --pid-file ${daemon_pidfile} -c ${ceph_conf}"
+command_args_foreground="--foreground"
+
+retry="${CEPH_TERMTIMEOUT:-TERM/120/KILL/5}"
+start_stop_daemon_args="--user ${user} --group ${group}"
+supervise_daemon_args="--user ${user} --group ${group}"
+
+: ${supervisor:=supervise-daemon}
+: ${stdout:=/var/log/ceph/ceph}
+: ${stderr:=/var/log/ceph/ceph}
+: ${respawn_delay:=10}
+: ${respawn_max:=5}
+: ${respawn_period:=1800}
+
+: ${osd_respawn_delay:=15}
+: ${osd_respawn_max:=10}
+
+: ${radosgw_respawn_max:=5}
+: ${radosgw_respawn_period:=30}
+
+depend() {
+	use dns logger
+	after net ntpd ntp-client chronyd
+	before netmount
+}
+
+is_type_valid() {
+	case ${daemon_type} in
+		mon|mds|osd|mgr|radosgw) return 0;;
+		*) return 1;;
+	esac
+}
+
+start_pre() {
+	export CEPH_CONF="${ceph_conf}"
+
+	checkpath -d -q -o "${user}:${group}" "${rundir}"
+
+	if ! is_type_valid ;then
+		eerror "Please give valid Ceph Server Type: mds, mon, osd"
+		return 1
+
+	elif pgrep -f "[c]eph-${daemon_type} -i ${daemon_id} "; then
+		eerror "${daemon_type}.${daemon_id} is still running, refusing to start"
+		return 1
+	fi
+
+	local arg_name arg_val
+	for arg_name in std{out,err} respawn_{delay,max,period}; do
+		eval arg_val="\${${daemon_type}_${arg_name}}"
+
+		if [ -z "${arg_val}" ]; then
+			eval arg_val="\${${arg_name}}"
+		else
+			eval "${arg_name}=\"${arg_val}\""
+		fi
+
+		if [ "${arg_name}" = "stderr" ] || [ "${arg_name}" = "stdout" ]; then
+			supervise_daemon_args="${supervise_daemon_args} --${arg_name//_/-}=${arg_val}.${daemon_id}-${arg_name}.log"
+		fi
+	done
+}
+
+reload() {
+	ebegin "Reloading Ceph ${daemon_type}.${daemon_id}"
+	start-stop-daemon --signal 1 "${start_stop_daemon_args}"
+	eend ${?}
+}
+
+# vim:ft=gentoo-init-d:ts=4:sts=4:sw=4:noet:


^ permalink raw reply related	[flat|nested] 68+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-cluster/ceph/, sys-cluster/ceph/files/
@ 2017-12-05 20:10 Patrick McLean
  0 siblings, 0 replies; 68+ messages in thread
From: Patrick McLean @ 2017-12-05 20:10 UTC (permalink / raw
  To: gentoo-commits

commit:     7a2b0429aab9a5acff50e49ee17b9f73a1da5642
Author:     Patrick McLean <chutzpah <AT> gentoo <DOT> org>
AuthorDate: Tue Dec  5 20:09:53 2017 +0000
Commit:     Patrick McLean <chutzpah <AT> gentoo <DOT> org>
CommitDate: Tue Dec  5 20:09:53 2017 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=7a2b0429

sys-cluster/ceph: Version bump to 12.2.2

This also pulls in a patch for 639734 and adds some minor changes to the
defaults in the init script.

Closes: https://bugs.gentoo.org/639734
Package-Manager: Portage-2.3.16, Repoman-2.3.6

 sys-cluster/ceph/Manifest                          |   1 +
 sys-cluster/ceph/ceph-12.2.2.ebuild                | 288 +++++++++++++++++++++
 .../files/ceph-12.2.2-build-without-radosgw.patch  |  34 +++
 sys-cluster/ceph/files/ceph.confd-r4               |  70 +++++
 sys-cluster/ceph/files/ceph.initd-r6               |  87 +++++++
 5 files changed, 480 insertions(+)

diff --git a/sys-cluster/ceph/Manifest b/sys-cluster/ceph/Manifest
index e37ff62073c..be06ffb54e4 100644
--- a/sys-cluster/ceph/Manifest
+++ b/sys-cluster/ceph/Manifest
@@ -3,3 +3,4 @@ DIST ceph-10.2.3.tar.gz 11596171 SHA256 dca933aa14db67b404d836ef510bd418091978ed
 DIST ceph-10.2.7.tar.gz 14518491 SHA256 2cdfeaa9a08e94c2d35f540b450bbf64b2a694bd537679834185e98fc59d8ba2 SHA512 7e0686e9efa4ddd9d548f4145b448f8232f1ca29b08428daa5cd60a74ce26f1176a1f2ebbf2ac1761d9e6c1d364a5ffa194d2b3a18a8111f59b7c27f7a1d7734 WHIRLPOOL b6b6902230401b5f4c6f27801f315678bdc7b99aab4e50b54d941fc3a425b4f0fa9390484f2e12d6b4f962253fb8772fb706dad35d490b4542b06db166fab59b
 DIST ceph-10.2.9.tar.gz 14550219 SHA256 3d93f4fc4a66b1d9f9ce43f65868dc18287cea32fbb2c7421faca6aed2b52a80 SHA512 1d59146614aa87ca551b05b795a684071a3cfb4ce6013e978ba650403c6732b2aa13f3c3cc191e6a1ea34b4631c82e97700593c24e200c41ec2f2b43b3ef5547 WHIRLPOOL 42215d33c4f617087e1b0ef81cd41b42330c3605acf625b0668d44eba9e982239683b466a1cc1a6f926fc1d439dfd6be4ce220f783da7d2214d36a2a6cc9181f
 DIST ceph-12.2.1.tar.gz 148738778 SHA256 512666ee88610640d66b261f9307c96ccd70eb25cd3349acd083fb1220c8a32e SHA512 ec2623c1f6ab563c6fd0bb5fd046c78528fdbedca7cde347c92a9b15005d2ab2b1a46d7294e93f56933386462f1066750285109aafb6bf94f7d5bcdb7214d8a8 WHIRLPOOL 6a22bc7080483b3fe161bfc441b9fdf1a85d2bd9a394e89db2005a229397d206614d3e7a0d84cf7521822688faf4b92ca75ad4ce586de0d262fdda5c94b4f904
+DIST ceph-12.2.2.tar.gz 148763718 BLAKE2B 5c9a56bc536b723ca3a6a0aa68c7f456032c892716167dfa213cda4964e3a45e970efe6dd67e5c43ef6f6018bd9367e0c890de270acccf3217b848b58cb98488 SHA512 89b166dc4b58e0110ebe0147eef9f47e1090ccee01702b3f72cfbdca856d02bf03b2663de9e88c84b21a2a61f8f92211e217a05b8bdcf7d5de3158adbe49db88

diff --git a/sys-cluster/ceph/ceph-12.2.2.ebuild b/sys-cluster/ceph/ceph-12.2.2.ebuild
new file mode 100644
index 00000000000..7040667f300
--- /dev/null
+++ b/sys-cluster/ceph/ceph-12.2.2.ebuild
@@ -0,0 +1,288 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+PYTHON_COMPAT=( python{2_7,3_{4,5,6}} )
+DISTUTILS_OPTIONAL=1
+
+inherit check-reqs cmake-utils distutils-r1 python-r1 udev user systemd \
+	readme.gentoo-r1 flag-o-matic
+
+if [[ ${PV} == *9999* ]]; then
+	inherit git-r3
+	EGIT_REPO_URI="https://github.com/ceph/ceph.git"
+	SRC_URI=""
+else
+	SRC_URI="https://download.ceph.com/tarballs/${P}.tar.gz"
+	KEYWORDS="~amd64 ~arm64 ~x86"
+fi
+
+DESCRIPTION="Ceph distributed filesystem"
+HOMEPAGE="https://ceph.com/"
+
+LICENSE="LGPL-2.1 CC-BY-SA-1.0 GPL-2 BSD Boost-1.0 MIT"
+SLOT="0"
+
+CPU_FLAGS_X86=(sse{,2,3,4_1,4_2} ssse3)
+
+IUSE="babeltrace cephfs fuse jemalloc ldap lttng +mgr nss +radosgw +ssl"
+IUSE+=" static-libs systemd +tcmalloc test xfs zfs"
+IUSE+=" $(printf "cpu_flags_x86_%s\n" ${CPU_FLAGS_X86[@]})"
+
+# unbundling code commented out pending bugs 584056 and 584058
+#>=dev-libs/jerasure-2.0.0-r1
+#>=dev-libs/gf-complete-2.0.0
+COMMON_DEPEND="
+	virtual/libudev
+	app-arch/bzip2:=[static-libs?]
+	app-arch/lz4:=[static-libs?]
+	app-arch/snappy:=[static-libs?]
+	app-arch/zstd:=[static-libs?]
+	app-misc/jq:=[static-libs?]
+	dev-libs/boost:=[threads,context,python,static-libs?,${PYTHON_USEDEP}]
+	dev-libs/crypto++:=[static-libs?]
+	dev-libs/leveldb:=[snappy,static-libs?]
+	dev-libs/libaio:=[static-libs?]
+	dev-libs/libxml2:=[static-libs?]
+	sys-apps/keyutils:=[static-libs?]
+	sys-apps/util-linux:=[static-libs?]
+	sys-libs/zlib:=[static-libs?]
+	babeltrace? ( dev-util/babeltrace )
+	ldap? ( net-nds/openldap:=[static-libs?] )
+	lttng? ( dev-util/lttng-ust:= )
+	nss? ( dev-libs/nss:= )
+	fuse? ( sys-fs/fuse:0=[static-libs?] )
+	ssl? ( dev-libs/openssl:=[static-libs?] )
+	xfs? ( sys-fs/xfsprogs:=[static-libs?] )
+	zfs? ( sys-fs/zfs:=[static-libs?] )
+	radosgw? (
+		dev-libs/expat:=[static-libs?]
+		dev-libs/openssl:=[static-libs?]
+		net-misc/curl:=[static-libs?]
+	)
+	jemalloc? ( dev-libs/jemalloc:=[static-libs?] )
+	!jemalloc? ( >=dev-util/google-perftools-2.4:=[static-libs?] )
+	${PYTHON_DEPS}
+	"
+DEPEND="${COMMON_DEPEND}
+	app-arch/cpio
+	dev-lang/yasm
+	dev-python/cython[${PYTHON_USEDEP}]
+	dev-python/sphinx
+	dev-util/gperf
+	dev-util/valgrind
+	sys-apps/which
+	sys-devel/bc
+	virtual/pkgconfig
+	test? (
+		dev-python/tox[${PYTHON_USEDEP}]
+		dev-python/virtualenv[${PYTHON_USEDEP}]
+		sys-apps/grep[pcre]
+		sys-fs/btrfs-progs
+	)"
+RDEPEND="${COMMON_DEPEND}
+	net-misc/socat
+	sys-apps/gptfdisk
+	sys-block/parted
+	sys-fs/cryptsetup
+	!<sys-apps/openrc-0.26.3
+	dev-python/cherrypy[${PYTHON_USEDEP}]
+	dev-python/flask[${PYTHON_USEDEP}]
+	dev-python/pecan[${PYTHON_USEDEP}]
+	dev-python/prettytable[${PYTHON_USEDEP}]
+	dev-python/pyopenssl[${PYTHON_USEDEP}]
+	dev-python/requests[${PYTHON_USEDEP}]
+	dev-python/werkzeug[${PYTHON_USEDEP}]
+	"
+REQUIRED_USE="
+	$(python_gen_useflags 'python2*')
+	${PYTHON_REQUIRED_USE}
+	?? ( ssl nss )
+	?? ( jemalloc tcmalloc )
+	"
+
+RESTRICT="test? ( userpriv )"
+
+# distribution tarball does not include everything needed for tests
+RESTRICT+=" test"
+
+STRIP_MASK="/usr/lib*/rados-classes/*"
+
+UNBUNDLE_LIBS=(
+	src/erasure-code/jerasure/jerasure
+	src/erasure-code/jerasure/gf-complete
+)
+
+PATCHES=(
+	"${FILESDIR}/ceph-12.2.0-use-provided-cpu-flag-values.patch"
+	"${FILESDIR}/ceph-12.2.0-cflags.patch"
+	"${FILESDIR}/ceph-12.2.1-systemd-unitdir.patch"
+	"${FILESDIR}/ceph-12.2.2-build-without-radosgw.patch"
+)
+
+check-reqs_export_vars() {
+	if use amd64; then
+		CHECKREQS_DISK_BUILD="12G"
+		CHECKREQS_DISK_USR="460M"
+	else
+		CHECKREQS_DISK_BUILD="1400M"
+		CHECKREQS_DISK_USR="450M"
+	fi
+
+	export CHECKREQS_DISK_BUILD CHECKREQS_DISK_USR
+}
+
+user_setup() {
+	enewgroup ceph ${CEPH_GID}
+	enewuser ceph "${CEPH_UID:--1}" -1 /var/lib/ceph ceph
+}
+
+pkg_pretend() {
+	check-reqs_export_vars
+	check-reqs_pkg_pretend
+}
+
+pkg_setup() {
+	python_setup 'python2*'
+	check-reqs_export_vars
+	check-reqs_pkg_setup
+	user_setup
+}
+
+src_prepare() {
+	default
+
+	# remove tests that need root access
+	rm src/test/cli/ceph-authtool/cap*.t
+
+	#rm -rf "${UNBUNDLE_LIBS[@]}"
+}
+
+ceph_src_configure() {
+	local flag
+	local mycmakeargs=(
+		-DWITH_BABELTRACE=$(usex babeltrace)
+		-DWITH_CEPHFS=$(usex cephfs)
+		-DWITH_FUSE=$(usex fuse)
+		-DWITH_LTTNG=$(usex lttng)
+		-DWITH_MGR=$(usex mgr)
+		-DWITH_NSS=$(usex nss)
+		-DWITH_OPENLDAP=$(usex ldap)
+		-DWITH_RADOSGW=$(usex radosgw)
+		-DWITH_SSL=$(usex ssl)
+		-DWITH_SYSTEMD=$(usex systemd)
+		-DWITH_TESTS=$(usex test)
+		-DWITH_XFS=$(usex xfs)
+		-DWITH_ZFS=$(usex zfs)
+		-DENABLE_SHARED=$(usex static-libs '' 'yes' 'no')
+		-DALLOCATOR=$(usex tcmalloc 'tcmalloc' '' "$(usex jemalloc 'jemalloc' '' 'libc' '')" '')
+		-DWITH_SYSTEM_BOOST=yes
+		-DWITH_RDMA=no
+		-DSYSTEMD_UNITDIR=$(systemd_get_systemunitdir)
+	)
+	if use amd64 || use x86; then
+		for flag in ${CPU_FLAGS_X86[@]}; do
+			mycmakeargs+=("$(usex cpu_flags_x86_${flag} "-DHAVE_INTEL_${flag^^}=1")")
+		done
+	fi
+
+	rm -f "${BUILD_DIR:-${S}}/CMakeCache.txt"
+	cmake-utils_src_configure
+
+	# bug #630232
+	sed -i "s:\"${T//:\\:}/${EPYTHON}/bin/python\":\"${PYTHON}\":" \
+		"${BUILD_DIR:-${CMAKE_BUILD_DIR:-${S}}}"/include/acconfig.h \
+		|| die "sed failed"
+}
+
+src_configure() {
+	ceph_src_configure
+}
+
+python_compile() {
+	local CMAKE_USE_DIR="${S}"
+
+	ceph_src_configure
+	pushd "${BUILD_DIR}/src/pybind" >/dev/null || die
+	emake VERBOSE=1 all
+
+	# python modules are only compiled with "make install" so we need to do this to
+	# prevent doing a bunch of compilation in src_install
+	DESTDIR="${T}" emake VERBOSE=1 install
+	popd >/dev/null || die
+}
+
+src_compile() {
+	cmake-utils_src_make all
+
+	# we have to do this here to prevent from building everything multiple times
+	BUILD_DIR="${CMAKE_BUILD_DIR}" python_copy_sources
+	python_foreach_impl python_compile
+}
+
+src_test() {
+	make check || die "make check failed"
+}
+
+python_install() {
+	local CMAKE_USE_DIR="${S}"
+	pushd "${BUILD_DIR}/src/pybind" >/dev/null || die
+	DESTDIR="${D}" emake install
+	popd >/dev/null || die
+}
+
+src_install() {
+	cmake-utils_src_install
+	python_foreach_impl python_install
+
+	prune_libtool_files --all
+
+	exeinto /usr/$(get_libdir)/ceph
+	newexe "${CMAKE_BUILD_DIR}/bin/init-ceph" ceph_init.sh
+
+	insinto /etc/logrotate.d/
+	newins "${FILESDIR}"/ceph.logrotate ${PN}
+
+	keepdir /var/lib/${PN}{,/tmp} /var/log/${PN}/stat
+
+	fowners -R ceph:ceph /var/lib/ceph /var/log/ceph
+
+	newinitd "${FILESDIR}/rbdmap.initd" rbdmap
+	newinitd "${FILESDIR}/${PN}.initd-r6" ${PN}
+	newconfd "${FILESDIR}/${PN}.confd-r4" ${PN}
+
+	insinto /etc/sysctl.d
+	newins "${FILESDIR}"/sysctld 90-${PN}.conf
+
+	use tcmalloc && newenvd "${FILESDIR}"/envd-tcmalloc 99${PN}-tcmalloc
+
+	# units aren't installed by the build system unless systemd is enabled
+	# so no point installing these with the USE flag disabled
+	if use systemd; then
+		systemd_install_serviced "${FILESDIR}/ceph-mds_at.service.conf" \
+			"ceph-mds@.service"
+
+		systemd_install_serviced "${FILESDIR}/ceph-osd_at.service.conf" \
+			"ceph-osd@.service"
+	fi
+
+	udev_dorules udev/*.rules
+
+	readme.gentoo_create_doc
+
+	python_setup 'python2*'
+
+	# bug #630232
+	sed -i -r "s:${T//:/\\:}/${EPYTHON}:/usr:" "${ED}"/usr/bin/ceph \
+		|| die "sed failed"
+
+	python_fix_shebang "${ED}"/usr/{,s}bin/
+
+	# python_fix_shebang apparently is not idempotent
+	sed -i -r  's:(/usr/lib/python-exec/python[0-9]\.[0-9]/python)[0-9]\.[0-9]:\1:' \
+		"${ED}"/usr/{sbin/ceph-disk,bin/ceph-detect-init} || die "sed failed"
+}
+
+pkg_postinst() {
+	readme.gentoo_print_elog
+}

diff --git a/sys-cluster/ceph/files/ceph-12.2.2-build-without-radosgw.patch b/sys-cluster/ceph/files/ceph-12.2.2-build-without-radosgw.patch
new file mode 100644
index 00000000000..29257c4747d
--- /dev/null
+++ b/sys-cluster/ceph/files/ceph-12.2.2-build-without-radosgw.patch
@@ -0,0 +1,34 @@
+From b00ac12f4045cd39ac9a436cf32d233d16bc3485 Mon Sep 17 00:00:00 2001
+From: Jason Dillaman <dillaman@redhat.com>
+Date: Tue, 5 Dec 2017 09:58:04 -0500
+Subject: [PATCH] ceph-dencoder: moved RBD types outside of RGW preprocessor
+ guard
+
+Fixes: http://tracker.ceph.com/issues/22321
+Signed-off-by: Jason Dillaman <dillaman@redhat.com>
+---
+ src/test/encoding/types.h | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/src/test/encoding/types.h b/src/test/encoding/types.h
+index c061e93bd58c..4cfcb15edff1 100644
+--- a/src/test/encoding/types.h
++++ b/src/test/encoding/types.h
+@@ -405,6 +405,8 @@ TYPE(rgw_data_sync_info)
+ TYPE(rgw_data_sync_marker)
+ TYPE(rgw_data_sync_status)
+ 
++#endif
++
+ #ifdef WITH_RBD
+ #include "cls/rbd/cls_rbd.h"
+ TYPE(cls_rbd_parent)
+@@ -416,8 +418,6 @@ TYPE(cls::rbd::MirrorImage)
+ TYPE(cls::rbd::MirrorImageMap)
+ #endif
+ 
+-#endif
+-
+ #include "cls/lock/cls_lock_types.h"
+ TYPE(rados::cls::lock::locker_id_t)
+ TYPE_FEATUREFUL(rados::cls::lock::locker_info_t)

diff --git a/sys-cluster/ceph/files/ceph.confd-r4 b/sys-cluster/ceph/files/ceph.confd-r4
new file mode 100644
index 00000000000..b8a0c930a49
--- /dev/null
+++ b/sys-cluster/ceph/files/ceph.confd-r4
@@ -0,0 +1,70 @@
+# /etc/conf.d/ceph: startup configurations for ceph
+
+# default ceph conf file
+#ceph_conf="/etc/ceph/ceph.conf"
+
+# Set ulimits for Ceph services.
+#rc_ulimit="-n 1048576 -u 1048576"
+
+# the directory under /run to store runtime information in
+#rundir=/run/ceph
+
+# the user and group to run ceph as
+#user="ceph"
+#group="ceph"
+
+# tell openrc to use control groups to make sure everything gets killed
+# properly on stop. Highly reccommended to leave this enabled.
+rc_cgroup_cleanup=1
+
+# settings for openrc supervisor for various ceph daemons
+#
+# defaults (can be overidden for each daemon)
+# stderr and stdout values get .${id}-std{out,err}.log appended
+# to the provided value
+#
+#respawn_delay=20
+#respawn_max=5
+#respawn_period=1800
+#stdout="/dev/null"
+#stderr="/dev/null"
+
+# radosgw
+#radosgw_respawn_max
+#radosgw_respawn_delay=20
+#radosgw_respawn_period=1800
+#radosgw_stdout="/dev/null"
+#radosgw_stderr="/dev/null"
+
+# mon
+#mon_respawn_max=5
+#mon_respawn_delay=20
+#mon_respawn_period=1800
+#mon_stdout="/dev/null"
+#mon_stderr="/dev/null"
+
+# osd
+#osd_respawn_max=5
+#osd_respawn_delay=30
+#osd_respawn_period=1800
+#osd_stdout="/dev/null"
+#osd_stderr="/dev/null"
+
+# mds
+#mds_respawn_max=5
+#mds_respawn_delay=20
+#mds_respawn_period=1800
+#mds_stdout="/dev/null"
+#mds_stderr="/dev/null"
+
+# mgr
+#mgr_respawn_max=5
+#mgr_respawn_delay=20
+#mgr_respawn_period=1800
+#mgr_stdout="/dev/null"
+#mgr_stderr="/dev/null"
+
+# initd stop timeout.
+#CEPH_TERMTIMEOUT="TERM/120/KILL/5"
+#
+# vim:ft=gentoo-conf-d:ts=4:sts=4:sw=4:noet:

diff --git a/sys-cluster/ceph/files/ceph.initd-r6 b/sys-cluster/ceph/files/ceph.initd-r6
new file mode 100644
index 00000000000..fd31b17eb5e
--- /dev/null
+++ b/sys-cluster/ceph/files/ceph.initd-r6
@@ -0,0 +1,87 @@
+#!/sbin/openrc-run
+
+ceph_conf="${ceph_conf:-/etc/ceph/ceph.conf}"
+extra_commands="reload"
+daemon_type="${RC_SVCNAME#ceph-}"
+daemon_type="${daemon_type%%.*}"
+daemon_id="${RC_SVCNAME#ceph-*.}"
+daemon_id="${daemon_id:-0}"
+: ${rundir:=/run/ceph}
+: ${user:=ceph}
+: ${group:=ceph}
+: ${rc_ulimit:=-n 1048576 -u 1048576}
+
+pidfile="${rundir}/supervisor-${daemon_type}.${daemon_id}.pid"
+daemon_pidfile="${rundir}/${daemon_type}.${daemon_id}.pid"
+
+command="/usr/bin/${RC_SVCNAME%%.*}"
+command_args="-i ${daemon_id} --pid-file ${daemon_pidfile} -c ${ceph_conf}"
+command_args_foreground="--foreground"
+
+retry="${CEPH_TERMTIMEOUT:-TERM/120/KILL/5}"
+start_stop_daemon_args="--user ${user} --group ${group}"
+supervise_daemon_args="--user ${user} --group ${group}"
+
+: ${supervisor:=supervise-daemon}
+: ${stdout:=/dev/null}
+: ${stderr:=/dev/null}
+: ${respawn_delay:=10}
+: ${respawn_max:=5}
+: ${respawn_period:=1800}
+
+: ${osd_respawn_delay:=15}
+: ${osd_respawn_max:=10}
+
+: ${radosgw_respawn_max:=5}
+: ${radosgw_respawn_period:=30}
+
+depend() {
+	use dns logger
+	after net ntpd ntp-client chronyd
+	before netmount
+}
+
+is_type_valid() {
+	case ${daemon_type} in
+		mon|mds|osd|mgr|radosgw) return 0;;
+		*) return 1;;
+	esac
+}
+
+start_pre() {
+	export CEPH_CONF="${ceph_conf}"
+
+	checkpath -d -q -o "${user}:${group}" "${rundir}"
+
+	if ! is_type_valid ;then
+		eerror "Please give valid Ceph Server Type: mds, mon, osd"
+		return 1
+
+	elif pgrep -f "[c]eph-${daemon_type} -i ${daemon_id} "; then
+		eerror "${daemon_type}.${daemon_id} is still running, refusing to start"
+		return 1
+	fi
+	
+	local arg_name arg_val
+	for arg_name in std{out,err} respawn_{delay,max,period}; do
+		eval arg_val="\${${daemon_type}_${arg_name}}"
+
+		if [ -z "${arg_val}" ]; then
+			eval arg_val="\${${arg_name}}"
+		else
+			eval "${arg_name}=\"${arg_val}\""
+		fi
+
+		if [ "${arg_name}" = "stderr" ] || [ "${arg_name}" = "stdout" ]; then
+			supervise_daemon_args="${supervise_daemon_args} --${arg_name//_/-}=${arg_val}.${daemon_id}-${arg_name}.log"
+		fi
+	done
+}
+
+reload() {
+	ebegin "Reloading Ceph ${daemon_type}.${daemon_id}"
+	start-stop-daemon --signal 1 "${start_stop_daemon_args}"
+	eend ${?}
+}
+
+# vim:ft=gentoo-init-d:ts=4:sts=4:sw=4:noet:


^ permalink raw reply related	[flat|nested] 68+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-cluster/ceph/, sys-cluster/ceph/files/
@ 2017-10-06 21:07 Patrick McLean
  0 siblings, 0 replies; 68+ messages in thread
From: Patrick McLean @ 2017-10-06 21:07 UTC (permalink / raw
  To: gentoo-commits

commit:     7d5c41836d7c2007f5e98561a949867e9052eefe
Author:     Patrick McLean <chutzpah <AT> gentoo <DOT> org>
AuthorDate: Fri Oct  6 21:07:34 2017 +0000
Commit:     Patrick McLean <chutzpah <AT> gentoo <DOT> org>
CommitDate: Fri Oct  6 21:07:34 2017 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=7d5c4183

sys-cluster/ceph: Drop old version 12.2.0

Package-Manager: Portage-2.3.11, Repoman-2.3.3

 sys-cluster/ceph/Manifest                          |   1 -
 sys-cluster/ceph/ceph-12.2.0-r2.ebuild             | 284 ---------------------
 ...h-12.2.0-fix_two_stray_get_health_callers.patch |  46 ----
 3 files changed, 331 deletions(-)

diff --git a/sys-cluster/ceph/Manifest b/sys-cluster/ceph/Manifest
index e7c22e036c6..e37ff62073c 100644
--- a/sys-cluster/ceph/Manifest
+++ b/sys-cluster/ceph/Manifest
@@ -2,5 +2,4 @@ DIST ceph-10.2.10.tar.gz 14573701 SHA256 41210ac8cb71d9c9d6504b57adce496d3272ee8
 DIST ceph-10.2.3.tar.gz 11596171 SHA256 dca933aa14db67b404d836ef510bd418091978edc2f0c74dfc530ba0aa5e8994 SHA512 9de1e6851fc343d2c52c72cec3f7887d998d5b588f1251ee3a1fda14427badfa10408e6691fb03a374a10f4ec9844868423fee70fbbe2c0d962af98481412f19 WHIRLPOOL 981ebca66113a07a5cc6e5934272a72b29a2c19e03398f7b622c11df6ea0a05339558dfc2f11504403cbbd0efe0b090ad59f4b86206b46db57587744091aa26a
 DIST ceph-10.2.7.tar.gz 14518491 SHA256 2cdfeaa9a08e94c2d35f540b450bbf64b2a694bd537679834185e98fc59d8ba2 SHA512 7e0686e9efa4ddd9d548f4145b448f8232f1ca29b08428daa5cd60a74ce26f1176a1f2ebbf2ac1761d9e6c1d364a5ffa194d2b3a18a8111f59b7c27f7a1d7734 WHIRLPOOL b6b6902230401b5f4c6f27801f315678bdc7b99aab4e50b54d941fc3a425b4f0fa9390484f2e12d6b4f962253fb8772fb706dad35d490b4542b06db166fab59b
 DIST ceph-10.2.9.tar.gz 14550219 SHA256 3d93f4fc4a66b1d9f9ce43f65868dc18287cea32fbb2c7421faca6aed2b52a80 SHA512 1d59146614aa87ca551b05b795a684071a3cfb4ce6013e978ba650403c6732b2aa13f3c3cc191e6a1ea34b4631c82e97700593c24e200c41ec2f2b43b3ef5547 WHIRLPOOL 42215d33c4f617087e1b0ef81cd41b42330c3605acf625b0668d44eba9e982239683b466a1cc1a6f926fc1d439dfd6be4ce220f783da7d2214d36a2a6cc9181f
-DIST ceph-12.2.0.tar.gz 148372459 SHA256 0f601a9e28e9ce6837119b3ef0d89e1e44e0432f1f5d55567a947efefdd4d4ce SHA512 e084109c48f5666e35df5ee49262dee36ba5e7620fda30002dec538a87de11bdd21157436b5656557cd909a0943071046f3a17dd679aa1129b88b8b925f73113 WHIRLPOOL 60016eb5a20159bfc74b16c4135055cf8bf68bd868ef897b2455107a1014d4663efd55e6f5977e7d2e29010660a59d6134e3af32922d15dccbae07145c9023ea
 DIST ceph-12.2.1.tar.gz 148738778 SHA256 512666ee88610640d66b261f9307c96ccd70eb25cd3349acd083fb1220c8a32e SHA512 ec2623c1f6ab563c6fd0bb5fd046c78528fdbedca7cde347c92a9b15005d2ab2b1a46d7294e93f56933386462f1066750285109aafb6bf94f7d5bcdb7214d8a8 WHIRLPOOL 6a22bc7080483b3fe161bfc441b9fdf1a85d2bd9a394e89db2005a229397d206614d3e7a0d84cf7521822688faf4b92ca75ad4ce586de0d262fdda5c94b4f904

diff --git a/sys-cluster/ceph/ceph-12.2.0-r2.ebuild b/sys-cluster/ceph/ceph-12.2.0-r2.ebuild
deleted file mode 100644
index 677d00832e3..00000000000
--- a/sys-cluster/ceph/ceph-12.2.0-r2.ebuild
+++ /dev/null
@@ -1,284 +0,0 @@
-# Copyright 1999-2017 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-PYTHON_COMPAT=( python{2_7,3_{4,5,6}} )
-DISTUTILS_OPTIONAL=1
-
-inherit check-reqs cmake-utils distutils-r1 python-r1 udev user systemd \
-	readme.gentoo-r1 flag-o-matic
-
-if [[ ${PV} == *9999* ]]; then
-	inherit git-r3
-	EGIT_REPO_URI="https://github.com/ceph/ceph.git"
-	SRC_URI=""
-else
-	SRC_URI="https://download.ceph.com/tarballs/${P}.tar.gz"
-	KEYWORDS="~amd64 ~arm64 ~x86"
-fi
-
-DESCRIPTION="Ceph distributed filesystem"
-HOMEPAGE="https://ceph.com/"
-
-LICENSE="LGPL-2.1 CC-BY-SA-1.0 GPL-2 BSD Boost-1.0 MIT"
-SLOT="0"
-
-CPU_FLAGS_X86=(sse{,2,3,4_1,4_2} ssse3)
-
-IUSE="babeltrace cephfs fuse jemalloc ldap lttng +mgr nss +radosgw +ssl"
-IUSE+=" static-libs systemd +tcmalloc test xfs zfs"
-IUSE+=" $(printf "cpu_flags_x86_%s\n" ${CPU_FLAGS_X86[@]})"
-
-# unbundling code commented out pending bugs 584056 and 584058
-#>=dev-libs/jerasure-2.0.0-r1
-#>=dev-libs/gf-complete-2.0.0
-COMMON_DEPEND="
-	virtual/libudev
-	app-arch/bzip2:=[static-libs?]
-	app-arch/lz4:=[static-libs?]
-	app-arch/snappy:=[static-libs?]
-	app-arch/zstd:=[static-libs?]
-	app-misc/jq:=[static-libs?]
-	dev-libs/boost:=[threads,context,python,static-libs?,${PYTHON_USEDEP}]
-	dev-libs/crypto++:=[static-libs?]
-	dev-libs/leveldb:=[snappy,static-libs?]
-	dev-libs/libaio:=[static-libs?]
-	dev-libs/libxml2:=[static-libs?]
-	sys-apps/keyutils:=[static-libs?]
-	sys-apps/util-linux:=[static-libs?]
-	sys-libs/zlib:=[static-libs?]
-	babeltrace? ( dev-util/babeltrace )
-	ldap? ( net-nds/openldap:=[static-libs?] )
-	lttng? ( dev-util/lttng-ust:= )
-	nss? ( dev-libs/nss:= )
-	fuse? ( sys-fs/fuse:0=[static-libs?] )
-	ssl? ( dev-libs/openssl:=[static-libs?] )
-	xfs? ( sys-fs/xfsprogs:=[static-libs?] )
-	zfs? ( sys-fs/zfs:=[static-libs?] )
-	radosgw? (
-		dev-libs/expat:=[static-libs?]
-		dev-libs/openssl:=[static-libs?]
-		net-misc/curl:=[static-libs?]
-	)
-	jemalloc? ( dev-libs/jemalloc:=[static-libs?] )
-	!jemalloc? ( >=dev-util/google-perftools-2.4:=[static-libs?] )
-	${PYTHON_DEPS}
-	"
-DEPEND="${COMMON_DEPEND}
-	app-arch/cpio
-	dev-lang/yasm
-	dev-python/cython[${PYTHON_USEDEP}]
-	dev-python/sphinx
-	dev-util/gperf
-	dev-util/valgrind
-	sys-apps/which
-	sys-devel/bc
-	virtual/pkgconfig
-	test? (
-		dev-python/tox[${PYTHON_USEDEP}]
-		dev-python/virtualenv[${PYTHON_USEDEP}]
-		sys-apps/grep[pcre]
-		sys-fs/btrfs-progs
-	)"
-RDEPEND="${COMMON_DEPEND}
-	net-misc/socat
-	sys-apps/gptfdisk
-	sys-block/parted
-	sys-fs/cryptsetup
-	!<sys-apps/openrc-0.26.3
-	dev-python/cherrypy[${PYTHON_USEDEP}]
-	dev-python/flask[${PYTHON_USEDEP}]
-	dev-python/pecan[${PYTHON_USEDEP}]
-	dev-python/prettytable[${PYTHON_USEDEP}]
-	dev-python/pyopenssl[${PYTHON_USEDEP}]
-	dev-python/requests[${PYTHON_USEDEP}]
-	dev-python/werkzeug[${PYTHON_USEDEP}]
-	"
-REQUIRED_USE="
-	$(python_gen_useflags 'python2*')
-	${PYTHON_REQUIRED_USE}
-	?? ( ssl nss )
-	?? ( jemalloc tcmalloc )
-	"
-
-# radosgw seems to be required to actually build
-REQUIRED_USE+=" radosgw"
-
-RESTRICT="test? ( userpriv )"
-
-# distribution tarball does not include everything needed for tests
-RESTRICT+=" test"
-
-STRIP_MASK="/usr/lib*/rados-classes/*"
-
-UNBUNDLE_LIBS=(
-	src/erasure-code/jerasure/jerasure
-	src/erasure-code/jerasure/gf-complete
-)
-
-PATCHES=(
-	"${FILESDIR}/${PN}-12.2.0-use-provided-cpu-flag-values.patch"
-	"${FILESDIR}/${PN}-12.2.0-cflags.patch"
-
-	# pull in some bugfixes from upstream
-	"${FILESDIR}/${PN}-12.2.0-fix_two_stray_get_health_callers.patch"
-)
-
-check-reqs_export_vars() {
-	if use amd64; then
-		CHECKREQS_DISK_BUILD="12G"
-		CHECKREQS_DISK_USR="460M"
-	else
-		CHECKREQS_DISK_BUILD="1400M"
-		CHECKREQS_DISK_USR="450M"
-	fi
-
-	export CHECKREQS_DISK_BUILD CHECKREQS_DISK_USR
-}
-
-user_setup() {
-	enewgroup ceph ${CEPH_GID:--1}
-	enewuser ceph "${CEPH_UID:--1}" -1 /var/lib/ceph ceph
-}
-
-pkg_pretend() {
-	check-reqs_export_vars
-	check-reqs_pkg_pretend
-}
-
-pkg_setup() {
-	python_setup 'python2*'
-	check-reqs_export_vars
-	check-reqs_pkg_setup
-	user_setup
-}
-
-src_prepare() {
-	default
-
-	# remove tests that need root access
-	rm src/test/cli/ceph-authtool/cap*.t
-
-	#rm -rf "${UNBUNDLE_LIBS[@]}"
-}
-
-ceph_src_configure() {
-	local flag
-	local mycmakeargs=(
-		-DWITH_BABELTRACE=$(usex babeltrace)
-		-DWITH_CEPHFS=$(usex cephfs)
-		-DWITH_FUSE=$(usex fuse)
-		-DWITH_LTTNG=$(usex lttng)
-		-DWITH_MGR=$(usex mgr)
-		-DWITH_NSS=$(usex nss)
-		-DWITH_OPENLDAP=$(usex ldap)
-		-DWITH_RADOSGW=$(usex radosgw)
-		-DWITH_SSL=$(usex ssl)
-		-DWITH_SYSTEMD=$(usex systemd)
-		-DWITH_TESTS=$(usex test)
-		-DWITH_XFS=$(usex xfs)
-		-DWITH_ZFS=$(usex zfs)
-		-DENABLE_SHARED=$(usex static-libs '' 'yes' 'no')
-		-DALLOCATOR=$(usex tcmalloc 'tcmalloc' '' "$(usex jemalloc 'jemalloc' '' 'libc' '')" '')
-		-DWITH_SYSTEM_BOOST=yes
-		-DWITH_RDMA=no
-	)
-	if use amd64 || use x86; then
-		for flag in ${CPU_FLAGS_X86[@]}; do
-			mycmakeargs+=("$(usex cpu_flags_x86_${flag} "-DHAVE_INTEL_${flag^^}=1")")
-		done
-	fi
-
-	rm -f "${BUILD_DIR:-${S}}/CMakeCache.txt"
-	cmake-utils_src_configure
-
-	# bug #630232
-	sed -i "s:\"${T//:\\:}/${EPYTHON}/bin/python\":\"${PYTHON}\":" \
-		"${BUILD_DIR:-${CMAKE_BUILD_DIR:-${S}}}"/include/acconfig.h \
-		|| die "sed failed"
-}
-
-src_configure() {
-	ceph_src_configure
-}
-
-python_compile() {
-	local CMAKE_USE_DIR="${S}"
-
-	ceph_src_configure
-	pushd "${BUILD_DIR}/src/pybind" >/dev/null || die
-	emake VERBOSE=1 all
-
-	# python modules are only compiled with "make install" so we need to do this to
-	# prevent doing a bunch of compilation in src_install
-	DESTDIR="${T}" emake VERBOSE=1 install
-	popd >/dev/null || die
-}
-
-src_compile() {
-	cmake-utils_src_make all
-
-	# we have to do this here to prevent from building everything multiple times
-	BUILD_DIR="${CMAKE_BUILD_DIR}" python_copy_sources
-	python_foreach_impl python_compile
-}
-
-src_test() {
-	make check || die "make check failed"
-}
-
-python_install() {
-	local CMAKE_USE_DIR="${S}"
-	pushd "${BUILD_DIR}/src/pybind" >/dev/null || die
-	DESTDIR="${D}" emake install
-	popd >/dev/null || die
-}
-
-src_install() {
-	cmake-utils_src_install
-	python_foreach_impl python_install
-
-	prune_libtool_files --all
-
-	exeinto /usr/$(get_libdir)/ceph
-	newexe "${CMAKE_BUILD_DIR}/bin/init-ceph" ceph_init.sh
-
-	insinto /etc/logrotate.d/
-	newins "${FILESDIR}"/ceph.logrotate ${PN}
-
-	keepdir /var/lib/${PN}{,/tmp} /var/log/${PN}/stat
-
-	fowners -R ceph:ceph /var/lib/ceph /var/log/ceph
-
-	newinitd "${FILESDIR}/rbdmap.initd" rbdmap
-	newinitd "${FILESDIR}/${PN}.initd-r5" ${PN}
-	newconfd "${FILESDIR}/${PN}.confd-r3" ${PN}
-
-	insinto /etc/sysctl.d
-	newins "${FILESDIR}"/sysctld 90-${PN}.conf
-
-	use tcmalloc && newenvd "${FILESDIR}"/envd-tcmalloc 99${PN}-tcmalloc
-
-	systemd_install_serviced "${FILESDIR}/ceph-mds_at.service.conf" "ceph-mds@.service"
-	systemd_install_serviced "${FILESDIR}/ceph-osd_at.service.conf" "ceph-osd@.service"
-
-	udev_dorules udev/*.rules
-
-	readme.gentoo_create_doc
-
-	python_setup 'python2*'
-
-	# bug #630232
-	sed -i -r "s:${T//:/\\:}/${EPYTHON}:/usr:" "${ED}"/usr/bin/ceph \
-		|| die "sed failed"
-
-	python_fix_shebang "${ED}"/usr/{,s}bin/
-
-	# python_fix_shebang apparently is not idempotent
-	sed -i -r  's:(/usr/lib/python-exec/python[0-9]\.[0-9]/python)[0-9]\.[0-9]:\1:' \
-		"${ED}"/usr/{sbin/ceph-disk,bin/ceph-detect-init} || die "sed failed"
-}
-
-pkg_postinst() {
-	readme.gentoo_print_elog
-}

diff --git a/sys-cluster/ceph/files/ceph-12.2.0-fix_two_stray_get_health_callers.patch b/sys-cluster/ceph/files/ceph-12.2.0-fix_two_stray_get_health_callers.patch
deleted file mode 100644
index ec6f53ef461..00000000000
--- a/sys-cluster/ceph/files/ceph-12.2.0-fix_two_stray_get_health_callers.patch
+++ /dev/null
@@ -1,46 +0,0 @@
-commit b713cc831da238844a6e42e80e93cb31ee060aad
-Author: Sage Weil <sage@redhat.com>
-Date:   Fri Aug 25 18:30:12 2017 -0400
-
-    mon: fix two stray legacy get_health() callers
-    
-    These need to call the new method when appropriate.
-    
-    Signed-off-by: Sage Weil <sage@redhat.com>
-    (cherry picked from commit 69038a18070d0cd47dc857020cce115514beaa3d)
-
-diff --git a/src/mon/Monitor.cc b/src/mon/Monitor.cc
-index d98a40967b..b330d78f8c 100644
---- a/src/mon/Monitor.cc
-+++ b/src/mon/Monitor.cc
-@@ -3363,8 +3363,12 @@ void Monitor::handle_command(MonOpRequestRef op)
-       tagstr = tagstr.substr(0, tagstr.find_last_of(' '));
-     f->dump_string("tag", tagstr);
- 
--    list<string> hs;
--    get_health(hs, NULL, f.get());
-+    if (osdmon()->osdmap.require_osd_release >= CEPH_RELEASE_LUMINOUS) {
-+      get_health_status(true, f.get(), nullptr);
-+    } else {
-+      list<string> health_str;
-+      get_health(health_str, nullptr, f.get());
-+    }
- 
-     monmon()->dump_info(f.get());
-     osdmon()->dump_info(f.get());
-@@ -4399,8 +4403,13 @@ void Monitor::handle_ping(MonOpRequestRef op)
-   boost::scoped_ptr<Formatter> f(new JSONFormatter(true));
-   f->open_object_section("pong");
- 
--  list<string> health_str;
--  get_health(health_str, NULL, f.get());
-+  if (osdmon()->osdmap.require_osd_release >= CEPH_RELEASE_LUMINOUS) {
-+    get_health_status(false, f.get(), nullptr);
-+  } else {
-+    list<string> health_str;
-+    get_health(health_str, nullptr, f.get());
-+  }
-+
-   {
-     stringstream ss;
-     get_mon_status(f.get(), ss);


^ permalink raw reply related	[flat|nested] 68+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-cluster/ceph/, sys-cluster/ceph/files/
@ 2017-09-07 23:40 Patrick McLean
  0 siblings, 0 replies; 68+ messages in thread
From: Patrick McLean @ 2017-09-07 23:40 UTC (permalink / raw
  To: gentoo-commits

commit:     b38b1860a141b00d8e897e3771069f6a68ae6398
Author:     Patrick McLean <chutzpah <AT> gentoo <DOT> org>
AuthorDate: Thu Sep  7 23:35:43 2017 +0000
Commit:     Patrick McLean <chutzpah <AT> gentoo <DOT> org>
CommitDate: Thu Sep  7 23:35:43 2017 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=b38b1860

sys-cluster/ceph: Revision bump to 12.2.0-r1, fix references to temp python link

This also fixes some overriding of system CFLAGS.

Gentoo-Bug: 630232
Package-Manager: Portage-2.3.8, Repoman-2.3.3

 .../ceph/{ceph-12.2.0.ebuild => ceph-12.2.0-r1.ebuild}      | 11 +++++++++++
 sys-cluster/ceph/files/ceph-12.2.0-cflags.patch             | 13 +++++++++++++
 2 files changed, 24 insertions(+)

diff --git a/sys-cluster/ceph/ceph-12.2.0.ebuild b/sys-cluster/ceph/ceph-12.2.0-r1.ebuild
similarity index 95%
rename from sys-cluster/ceph/ceph-12.2.0.ebuild
rename to sys-cluster/ceph/ceph-12.2.0-r1.ebuild
index e5e89e7a1c7..c068ab583fc 100644
--- a/sys-cluster/ceph/ceph-12.2.0.ebuild
+++ b/sys-cluster/ceph/ceph-12.2.0-r1.ebuild
@@ -117,6 +117,7 @@ UNBUNDLE_LIBS=(
 
 PATCHES=(
 	"${FILESDIR}/${PN}-12.2.0-use-provided-cpu-flag-values.patch"
+	"${FILESDIR}/${PN}-12.2.0-cflags.patch"
 
 	# pull in some bugfixes from upstream
 	"${FILESDIR}/${PN}-12.2.0-fix_two_stray_get_health_callers.patch"
@@ -189,6 +190,11 @@ ceph_src_configure() {
 
 	rm -f "${BUILD_DIR:-${S}}/CMakeCache.txt"
 	cmake-utils_src_configure
+
+	# bug #630232
+	sed -i "s:\"${T//:\\:}/${EPYTHON}/bin/python\":\"${PYTHON}\":" \
+		"${BUILD_DIR:-${CMAKE_BUILD_DIR:-${S}}}"/include/acconfig.h \
+		|| die "sed failed"
 }
 
 src_configure() {
@@ -260,6 +266,11 @@ src_install() {
 	readme.gentoo_create_doc
 
 	python_setup 'python2*'
+
+	# bug #630232
+	sed -i -r "s:${T//:/\\:}/${EPYTHON}:/usr:" "${ED}"/usr/bin/ceph \
+		|| die "sed failed"
+
 	python_fix_shebang "${ED}"/usr/{,s}bin/
 
 	# python_fix_shebang apparently is not idempotent

diff --git a/sys-cluster/ceph/files/ceph-12.2.0-cflags.patch b/sys-cluster/ceph/files/ceph-12.2.0-cflags.patch
new file mode 100644
index 00000000000..0f02e6e6d43
--- /dev/null
+++ b/sys-cluster/ceph/files/ceph-12.2.0-cflags.patch
@@ -0,0 +1,13 @@
+diff --git a/cmake/modules/Distutils.cmake b/cmake/modules/Distutils.cmake
+index 24d1a50654..a9fac61196 100644
+--- a/cmake/modules/Distutils.cmake
++++ b/cmake/modules/Distutils.cmake
+@@ -43,7 +43,7 @@ function(distutils_add_cython_module name src)
+     CC=${PY_CC}
+     CXX=${PY_CXX}
+     LDSHARED=${PY_LDSHARED}
+-    OPT=\"-DNDEBUG -g -fwrapv -O2 -w\"
++    OPT=\"-DNDEBUG -fwrapv -w\"
+     LDFLAGS=-L${CMAKE_LIBRARY_OUTPUT_DIRECTORY}
+     CYTHON_BUILD_DIR=${CMAKE_CURRENT_BINARY_DIR}
+     CEPH_LIBDIR=${CMAKE_LIBRARY_OUTPUT_DIRECTORY}


^ permalink raw reply related	[flat|nested] 68+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-cluster/ceph/, sys-cluster/ceph/files/
@ 2017-08-02 22:11 Patrick McLean
  0 siblings, 0 replies; 68+ messages in thread
From: Patrick McLean @ 2017-08-02 22:11 UTC (permalink / raw
  To: gentoo-commits

commit:     3bb809e1da954b79678beed5d6e06dd7907b880a
Author:     Patrick McLean <chutzpah <AT> gentoo <DOT> org>
AuthorDate: Wed Aug  2 22:11:27 2017 +0000
Commit:     Patrick McLean <chutzpah <AT> gentoo <DOT> org>
CommitDate: Wed Aug  2 22:11:27 2017 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=3bb809e1

sys-cluster/ceph: Pull one of the patches from 10.2.9-r3

Package-Manager: Portage-2.3.6, Repoman-2.3.3

 sys-cluster/ceph/ceph-10.2.9-r3.ebuild             |  1 -
 ....2.9-librados_Fix_deadlock_in_watch_flush.patch | 61 ----------------------
 2 files changed, 62 deletions(-)

diff --git a/sys-cluster/ceph/ceph-10.2.9-r3.ebuild b/sys-cluster/ceph/ceph-10.2.9-r3.ebuild
index d74301f3760..edd9ac4bbd6 100644
--- a/sys-cluster/ceph/ceph-10.2.9-r3.ebuild
+++ b/sys-cluster/ceph/ceph-10.2.9-r3.ebuild
@@ -118,7 +118,6 @@ PATCHES=(
 	"${FILESDIR}/${PN}-10.2.9-libradosstriper_fix_format_injection_vulnerability.patch"
 	"${FILESDIR}/${PN}-10.2.9-rbd-nbd_relax_size_check_for_newer_kernel_versions.patch"
 	"${FILESDIR}/${PN}-10.2.9-filestore_fix_infinit_loops_in_fiemap.patch"
-	"${FILESDIR}/${PN}-10.2.9-librados_Fix_deadlock_in_watch_flush.patch"
 	"${FILESDIR}/${PN}-10.2.9-librbd_filter_expected_error_codes_from_is_exclusive_lock_owner.patch"
 	"${FILESDIR}/${PN}-10.2.9-osd-scrub_to_specifies_clone_ver_but_transaction_include.patch"
 	"${FILESDIR}/${PN}-10.2.9-rbd-do_not_attempt_to_load_key_if_auth_is_disabled.patch"

diff --git a/sys-cluster/ceph/files/ceph-10.2.9-librados_Fix_deadlock_in_watch_flush.patch b/sys-cluster/ceph/files/ceph-10.2.9-librados_Fix_deadlock_in_watch_flush.patch
deleted file mode 100644
index 77ab14b4295..00000000000
--- a/sys-cluster/ceph/files/ceph-10.2.9-librados_Fix_deadlock_in_watch_flush.patch
+++ /dev/null
@@ -1,61 +0,0 @@
-From 2fb04c40804f646b4cdd3a55ec8a9e9df95b9360 Mon Sep 17 00:00:00 2001
-From: Xiaoxi Chen <xiaoxchen@ebay.com>
-Date: Sat, 10 Sep 2016 00:23:55 +0800
-Subject: [PATCH] Librados: Fix deadlock in watch_flush
-
-In previous code, in the watch_flush, it is waiting on conditon
-with holding the "lock". The condition will only be signal by
-finisher thread, but sadly, in some cases,when finisher queue
-is not empty, some context need to take the "lock", thus deadlock.
-
-To avoid concurrent call to shutdown cause race condition, add
-a shutdown_lock to ensure only one concurrent in shutdown function.
-
-Signed-off-by: Xiaoxi Chen <xiaoxchen@ebay.com>
----
- src/librados/RadosClient.cc | 4 ++++
- src/librados/RadosClient.h  | 1 +
- 2 files changed, 5 insertions(+)
-
-diff --git a/src/librados/RadosClient.cc b/src/librados/RadosClient.cc
-index 8c5e8ed803fa..230e8b53ecd9 100644
---- a/src/librados/RadosClient.cc
-+++ b/src/librados/RadosClient.cc
-@@ -72,6 +72,7 @@ librados::RadosClient::RadosClient(CephContext *cct_)
-     instance_id(0),
-     objecter(NULL),
-     lock("librados::RadosClient::lock"),
-+    shutdown_lock("librados::RadosClient::shutdown_lock"),
-     timer(cct, lock),
-     refcnt(1),
-     log_last_version(0), log_cb(NULL), log_cb_arg(NULL),
-@@ -324,6 +325,7 @@ int librados::RadosClient::connect()
- 
- void librados::RadosClient::shutdown()
- {
-+  Mutex::Locker l(shutdown_lock);
-   lock.Lock();
-   if (state == DISCONNECTED) {
-     lock.Unlock();
-@@ -338,7 +340,9 @@ void librados::RadosClient::shutdown()
-   if (state == CONNECTED) {
-     if (need_objecter) {
-       // make sure watch callbacks are flushed
-+      lock.Unlock();
-       watch_flush();
-+      lock.Lock();
-     }
-     finisher.wait_for_empty();
-     finisher.stop();
-diff --git a/src/librados/RadosClient.h b/src/librados/RadosClient.h
-index f495ba5966c2..a8ef2070ddcb 100644
---- a/src/librados/RadosClient.h
-+++ b/src/librados/RadosClient.h
-@@ -62,6 +62,7 @@ class librados::RadosClient : public Dispatcher
-   Objecter *objecter;
- 
-   Mutex lock;
-+  Mutex shutdown_lock;
-   Cond cond;
-   SafeTimer timer;
-   int refcnt;


^ permalink raw reply related	[flat|nested] 68+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-cluster/ceph/, sys-cluster/ceph/files/
@ 2017-08-02 21:04 Patrick McLean
  0 siblings, 0 replies; 68+ messages in thread
From: Patrick McLean @ 2017-08-02 21:04 UTC (permalink / raw
  To: gentoo-commits

commit:     36236559c3205a224ed43e6d6ac4dccc4b3a4c29
Author:     Patrick McLean <chutzpah <AT> gentoo <DOT> org>
AuthorDate: Wed Aug  2 21:03:55 2017 +0000
Commit:     Patrick McLean <chutzpah <AT> gentoo <DOT> org>
CommitDate: Wed Aug  2 21:04:22 2017 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=36236559

sys-cluster/ceph: Revision bump to 10.2.9, pull in fixes from upstream

Also update openrc dependency to make sure we are using a version that
supports the supervisor stuff properly.

Package-Manager: Portage-2.3.6, Repoman-2.3.3

 sys-cluster/ceph/ceph-10.2.9-r3.ebuild             | 308 +++++++++++++++++++++
 ...2.9-filestore_fix_infinit_loops_in_fiemap.patch |  82 ++++++
 ....2.9-librados_Fix_deadlock_in_watch_flush.patch |  61 ++++
 ..._error_codes_from_is_exclusive_lock_owner.patch |  28 ++
 ...ecifies_clone_ver_but_transaction_include.patch |  39 +++
 ...t_attempt_to_load_key_if_auth_is_disabled.patch |  39 +++
 ...ck_sdata_op_ordering_lock_with_sdata_lock.patch |  32 +++
 7 files changed, 589 insertions(+)

diff --git a/sys-cluster/ceph/ceph-10.2.9-r3.ebuild b/sys-cluster/ceph/ceph-10.2.9-r3.ebuild
new file mode 100644
index 00000000000..d74301f3760
--- /dev/null
+++ b/sys-cluster/ceph/ceph-10.2.9-r3.ebuild
@@ -0,0 +1,308 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+PYTHON_COMPAT=( python{2_7,3_{4,5,6}} )
+
+inherit check-reqs autotools eutils python-r1 udev user \
+	readme.gentoo-r1 systemd versionator flag-o-matic
+
+if [[ ${PV} == *9999* ]]; then
+	inherit git-r3
+	EGIT_REPO_URI="https://github.com/ceph/ceph.git"
+	SRC_URI=""
+else
+	SRC_URI="https://download.ceph.com/tarballs/${P}.tar.gz"
+	KEYWORDS="~amd64 ~arm64 ~x86"
+fi
+
+DESCRIPTION="Ceph distributed filesystem"
+HOMEPAGE="https://ceph.com/"
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+
+IUSE="babeltrace cephfs cryptopp debug fuse gtk jemalloc ldap +libaio"
+IUSE+=" libatomic lttng +nss +radosgw static-libs +tcmalloc test xfs zfs"
+
+# unbundling code commented out pending bugs 584056 and 584058
+#>=dev-libs/jerasure-2.0.0-r1
+#>=dev-libs/gf-complete-2.0.0
+COMMON_DEPEND="
+	app-arch/snappy:=
+	sys-libs/zlib:=
+	app-arch/lz4:=
+	app-arch/bzip2:=
+	app-arch/zstd:=
+	dev-libs/boost:=[threads]
+	dev-libs/libaio:=
+	dev-libs/leveldb:=[snappy]
+	nss? ( dev-libs/nss:= )
+	libatomic? ( dev-libs/libatomic_ops:= )
+	cryptopp? ( dev-libs/crypto++:= )
+	sys-apps/keyutils
+	sys-apps/util-linux
+	dev-libs/libxml2:=
+	radosgw? ( dev-libs/fcgi:= )
+	ldap? ( net-nds/openldap:= )
+	babeltrace? ( dev-util/babeltrace )
+	fuse? ( sys-fs/fuse:0= )
+	xfs? ( sys-fs/xfsprogs:= )
+	zfs? ( sys-fs/zfs:= )
+	gtk? (
+		x11-libs/gtk+:2=
+		dev-cpp/gtkmm:2.4
+		gnome-base/librsvg:=
+	)
+	radosgw? (
+		dev-libs/fcgi:=
+		dev-libs/expat:=
+		net-misc/curl:=
+	)
+	jemalloc? ( dev-libs/jemalloc:= )
+	!jemalloc? ( =dev-util/google-perftools-2.4*:= )
+	lttng? ( dev-util/lttng-ust:= )
+	${PYTHON_DEPS}
+	"
+DEPEND="${COMMON_DEPEND}
+	dev-python/cython[${PYTHON_USEDEP}]
+	app-arch/cpio
+	virtual/pkgconfig
+	dev-python/sphinx
+	test? (
+		sys-fs/btrfs-progs
+		sys-apps/grep[pcre]
+		dev-python/tox[${PYTHON_USEDEP}]
+		dev-python/virtualenv[${PYTHON_USEDEP}]
+	)"
+RDEPEND="${COMMON_DEPEND}
+	sys-apps/hdparm
+	sys-block/parted
+	sys-fs/cryptsetup
+	sys-apps/gptfdisk
+	!<sys-apps/openrc-0.26.3
+	dev-python/flask[${PYTHON_USEDEP}]
+	dev-python/requests[${PYTHON_USEDEP}]
+	"
+REQUIRED_USE="
+	$(python_gen_useflags 'python2*')
+	${PYTHON_REQUIRED_USE}
+	^^ ( nss cryptopp )
+	?? ( jemalloc tcmalloc )
+	"
+
+# work around bug in ceph compilation (rgw/ceph_dencoder-rgw_dencoder.o... undefined reference to `vtable for RGWZoneGroup')
+REQUIRED_USE+=" radosgw"
+
+#RESTRICT="test? ( userpriv )"
+
+# distribution tarball does not include everything needed for tests
+RESTRICT+=" test"
+
+STRIP_MASK="/usr/lib*/rados-classes/*"
+
+UNBUNDLE_LIBS=(
+	src/erasure-code/jerasure/jerasure
+	src/erasure-code/jerasure/gf-complete
+)
+
+PATCHES=(
+	"${FILESDIR}/ceph-10.2.0-dont-use-virtualenvs.patch"
+	#"${FILESDIR}/ceph-10.2.1-unbundle-jerasure.patch"
+	"${FILESDIR}/${PN}-10.2.1-libzfs.patch"
+	"${FILESDIR}/${PN}-10.2.3-build-without-openldap.patch"
+	"${FILESDIR}/${PN}-10.2.5-Make-RBD-Python-bindings-compatible-with-Python-3.patch"
+	"${FILESDIR}/${PN}-10.2.5-Make-CephFS-bindings-and-tests-compatible-with-Python-3.patch"
+	"${FILESDIR}/${PN}-10.2.7-fix-compilation-with-zstd.patch"
+	# pull in some bugfixes from upstream
+	"${FILESDIR}/${PN}-10.2.9-libradosstriper_fix_format_injection_vulnerability.patch"
+	"${FILESDIR}/${PN}-10.2.9-rbd-nbd_relax_size_check_for_newer_kernel_versions.patch"
+	"${FILESDIR}/${PN}-10.2.9-filestore_fix_infinit_loops_in_fiemap.patch"
+	"${FILESDIR}/${PN}-10.2.9-librados_Fix_deadlock_in_watch_flush.patch"
+	"${FILESDIR}/${PN}-10.2.9-librbd_filter_expected_error_codes_from_is_exclusive_lock_owner.patch"
+	"${FILESDIR}/${PN}-10.2.9-osd-scrub_to_specifies_clone_ver_but_transaction_include.patch"
+	"${FILESDIR}/${PN}-10.2.9-rbd-do_not_attempt_to_load_key_if_auth_is_disabled.patch"
+	"${FILESDIR}/${PN}-10.2.9-unlock_sdata_op_ordering_lock_with_sdata_lock.patch"
+
+)
+
+check-reqs_export_vars() {
+	if use debug; then
+		CHECKREQS_DISK_BUILD="23G"
+		CHECKREQS_DISK_USR="7G"
+	elif use amd64; then
+		CHECKREQS_DISK_BUILD="12G"
+		CHECKREQS_DISK_USR="450M"
+	else
+		CHECKREQS_DISK_BUILD="1400M"
+		CHECKREQS_DISK_USR="450M"
+	fi
+
+	export CHECKREQS_DISK_BUILD CHECKREQS_DISK_USR
+}
+
+user_setup() {
+	enewgroup ceph ${CEPH_GID}
+	enewuser ceph "${CEPH_UID:--1}" -1 /var/lib/ceph ceph
+}
+
+emake_python_bindings() {
+	local action="${1}" params binding module
+	shift
+	params=("${@}")
+
+	__emake_python_bindings_do_impl() {
+		ceph_run_econf "${EPYTHON}"
+		emake "${params[@]}" PYTHON="${EPYTHON}" "${binding}-pybind-${action}"
+
+		# these don't work and aren't needed on python3
+		if [[ ${EBUILD_PHASE} == install ]]; then
+			for module in "${S}"/src/pybind/*.py; do
+				module_basename="$(basename "${module}")"
+				if [[ ${module_basename} == ceph_volume_client.py ]] && ! use cephfs; then
+					continue
+				elif [[ ! -e "${ED}/$(python_get_sitedir)/${module_basename}" ]]; then
+					python_domodule ${module}
+				fi
+			done
+		fi
+	}
+
+	pushd "${S}/src"
+	for binding in rados rbd $(use cephfs && echo cephfs); do
+		python_foreach_impl __emake_python_bindings_do_impl
+	done
+	popd
+
+	unset __emake_python_bindings_do_impl
+}
+
+pkg_pretend() {
+	check-reqs_export_vars
+	check-reqs_pkg_pretend
+}
+
+pkg_setup() {
+	python_setup
+	check-reqs_export_vars
+	check-reqs_pkg_setup
+	user_setup
+}
+
+src_prepare() {
+	default
+
+	# remove tests that need root access
+	rm src/test/cli/ceph-authtool/cap*.t
+
+	#rm -rf "${UNBUNDLE_LIBS[@]}"
+
+	append-flags -fPIC
+	eautoreconf
+}
+
+src_configure() {
+	ECONFARGS=(
+		--without-hadoop
+		--includedir=/usr/include
+		$(use_with cephfs)
+		$(use_with debug)
+		$(use_with fuse)
+		$(use_with libaio)
+		$(use_with libatomic libatomic-ops)
+		$(use_with nss)
+		$(use_with cryptopp)
+		$(use_with radosgw)
+		$(use_with gtk gtk2)
+		$(use_enable static-libs static)
+		$(use_with jemalloc)
+		$(use_with xfs libxfs)
+		$(use_with zfs libzfs)
+		$(use_with lttng )
+		$(use_with babeltrace)
+		$(use_with ldap openldap)
+		$(use jemalloc || usex tcmalloc " --with-tcmalloc" " --with-tcmalloc-minimal")
+		--with-mon
+		--with-eventfd
+		--with-cython
+		--without-kinetic
+		--without-librocksdb
+		--with-systemdsystemunitdir="$(systemd_get_systemunitdir)"
+	)
+
+	# we can only use python2.7 for building at the moment
+	ceph_run_econf "python2*"
+}
+
+ceph_run_econf() {
+	[[ -z ${ECONFARGS} ]] && die "called ${FUNCNAME[0]} with ECONFARGS unset"
+	[[ -z ${1} ]] && die "called ${FUNCNAME[0]} without passing python implementation"
+
+	pushd "${S}" >/dev/null || die
+	#
+	# This generates a QA warning about running econf in src_compile
+	# and src_install. Unfortunately the only other way to do this would
+	# involve building all of for each python implementation times, which
+	# wastes a _lot_ of CPU time and disk space. This hack will no longer
+	# be needed with >=ceph-11.2.
+	#
+	python_setup "${1}"
+	econf "${ECONFARGS[@]}"
+
+	popd >/dev/null || die
+}
+
+src_compile() {
+	emake
+	emake_python_bindings all
+
+	use test && emake check-local
+}
+
+src_test() {
+	make check || die "make check failed"
+}
+
+src_install() {
+	default
+	emake_python_bindings install-exec "DESTDIR=\"${D}\""
+
+	prune_libtool_files --all
+
+	exeinto /usr/$(get_libdir)/ceph
+	newexe src/init-ceph ceph_init.sh
+
+	insinto /etc/logrotate.d/
+	newins "${FILESDIR}"/ceph.logrotate ${PN}
+
+	keepdir /var/lib/${PN}{,/tmp} /var/log/${PN}/stat
+
+	fowners -R ceph:ceph /var/lib/ceph /var/log/ceph
+
+	newinitd "${FILESDIR}/rbdmap.initd" rbdmap
+	newinitd "${FILESDIR}/${PN}.initd-r5" ${PN}
+	newconfd "${FILESDIR}/${PN}.confd-r3" ${PN}
+
+	insinto /etc/sysctl.d
+	newins "${FILESDIR}"/sysctld 90-${PN}.conf
+
+	use tcmalloc && newenvd "${FILESDIR}"/envd-tcmalloc 99${PN}-tcmalloc
+
+	systemd_install_serviced "${FILESDIR}/ceph-mds_at.service.conf" "ceph-mds@.service"
+	systemd_install_serviced "${FILESDIR}/ceph-osd_at.service.conf" "ceph-osd@.service"
+
+	udev_dorules udev/*.rules
+
+	readme.gentoo_create_doc
+
+	python_setup 'python2*'
+	python_fix_shebang "${ED}"/usr/{,s}bin/
+
+	# python_fix_shebang apparently is not idempotent
+	sed -i -r  's:(/usr/lib/python-exec/python[0-9]\.[0-9]/python)[0-9]\.[0-9]:\1:' \
+		"${ED}"/usr/{sbin/ceph-disk,bin/ceph-detect-init} || die "sed failed"
+}
+
+pkg_postinst() {
+	readme.gentoo_print_elog
+}

diff --git a/sys-cluster/ceph/files/ceph-10.2.9-filestore_fix_infinit_loops_in_fiemap.patch b/sys-cluster/ceph/files/ceph-10.2.9-filestore_fix_infinit_loops_in_fiemap.patch
new file mode 100644
index 00000000000..e67113e51cc
--- /dev/null
+++ b/sys-cluster/ceph/files/ceph-10.2.9-filestore_fix_infinit_loops_in_fiemap.patch
@@ -0,0 +1,82 @@
+From b52bfe6b443f0ff88c8614441752102058063699 Mon Sep 17 00:00:00 2001
+From: Ning Yao <yaoning@unitedstack.com>
+Date: Thu, 6 Apr 2017 11:12:04 +0000
+Subject: [PATCH] os/filestore: fix infinit loops in fiemap()
+
+since fiemap can get extents based on offset --> len
+but we should consider last extents is retrieved when len == 0
+even though it is not last fiemap extents
+
+Signed-off-by: Ning Yao <yaoning@unitedstack.com>
+(cherry picked from commit 36f6b668a8910d76847674086cbc86910c78faee)
+---
+ src/os/filestore/FileStore.cc      | 13 +++++--------
+ src/test/objectstore/store_test.cc | 21 +++++++++++++++++++++
+ 2 files changed, 26 insertions(+), 8 deletions(-)
+
+diff --git a/src/os/filestore/FileStore.cc b/src/os/filestore/FileStore.cc
+index c47b0d0d2eae..95f48cdf4960 100644
+--- a/src/os/filestore/FileStore.cc
++++ b/src/os/filestore/FileStore.cc
+@@ -3102,17 +3102,14 @@ int FileStore::_do_fiemap(int fd, uint64_t offset, size_t len,
+     i++;
+     last = extent++;
+   }
+-  const bool is_last = last->fe_flags & FIEMAP_EXTENT_LAST;
++  uint64_t xoffset = last->fe_logical + last->fe_length - offset;
++  offset = last->fe_logical + last->fe_length;
++  len -= xoffset;
++  const bool is_last = (last->fe_flags & FIEMAP_EXTENT_LAST) || (len == 0);
++  free(fiemap);
+   if (!is_last) {
+-    uint64_t xoffset = last->fe_logical + last->fe_length - offset;
+-    offset = last->fe_logical + last->fe_length;
+-    len -= xoffset;
+-    free(fiemap); /* fix clang warn: use-after-free */
+     goto more;
+   }
+-  else {
+-    free(fiemap);
+-  }
+ 
+   return r;
+ }
+diff --git a/src/test/objectstore/store_test.cc b/src/test/objectstore/store_test.cc
+index 5ab011ad17d8..4cada7e2e435 100644
+--- a/src/test/objectstore/store_test.cc
++++ b/src/test/objectstore/store_test.cc
+@@ -279,6 +279,7 @@ TEST_P(StoreTest, FiemapHoles) {
+     ASSERT_EQ(r, 0);
+   }
+   {
++    //fiemap test from 0 to SKIP_STEP * (MAX_EXTENTS - 1) + 3
+     bufferlist bl;
+     store->fiemap(cid, oid, 0, SKIP_STEP * (MAX_EXTENTS - 1) + 3, bl);
+     map<uint64_t,uint64_t> m, e;
+@@ -295,6 +296,26 @@ TEST_P(StoreTest, FiemapHoles) {
+     ASSERT_TRUE((m.size() == 1 &&
+ 		 m[0] > SKIP_STEP * (MAX_EXTENTS - 1)) ||
+ 		 (m.size() == MAX_EXTENTS && extents_exist));
++
++    // fiemap test from SKIP_STEP to SKIP_STEP * (MAX_EXTENTS - 2) + 3
++    // reset bufferlist and map
++    bl.clear();
++    m.clear();
++    e.clear();
++    store->fiemap(cid, oid, SKIP_STEP, SKIP_STEP * (MAX_EXTENTS - 2) + 3, bl);
++    p = bl.begin();
++    ::decode(m, p);
++    cout << " got " << m << std::endl;
++    ASSERT_TRUE(!m.empty());
++    ASSERT_GE(m[SKIP_STEP], 3u);
++    extents_exist = true;
++    if (m.size() == (MAX_EXTENTS - 2)) {
++      for (uint64_t i = 1; i < MAX_EXTENTS - 1; i++)
++	extents_exist = extents_exist && m.count(SKIP_STEP*i);
++    }
++    ASSERT_TRUE((m.size() == 1 &&
++		 m[SKIP_STEP] > SKIP_STEP * (MAX_EXTENTS - 2)) ||
++		 (m.size() == (MAX_EXTENTS - 1) && extents_exist));
+   }
+   {
+     ObjectStore::Transaction t;

diff --git a/sys-cluster/ceph/files/ceph-10.2.9-librados_Fix_deadlock_in_watch_flush.patch b/sys-cluster/ceph/files/ceph-10.2.9-librados_Fix_deadlock_in_watch_flush.patch
new file mode 100644
index 00000000000..77ab14b4295
--- /dev/null
+++ b/sys-cluster/ceph/files/ceph-10.2.9-librados_Fix_deadlock_in_watch_flush.patch
@@ -0,0 +1,61 @@
+From 2fb04c40804f646b4cdd3a55ec8a9e9df95b9360 Mon Sep 17 00:00:00 2001
+From: Xiaoxi Chen <xiaoxchen@ebay.com>
+Date: Sat, 10 Sep 2016 00:23:55 +0800
+Subject: [PATCH] Librados: Fix deadlock in watch_flush
+
+In previous code, in the watch_flush, it is waiting on conditon
+with holding the "lock". The condition will only be signal by
+finisher thread, but sadly, in some cases,when finisher queue
+is not empty, some context need to take the "lock", thus deadlock.
+
+To avoid concurrent call to shutdown cause race condition, add
+a shutdown_lock to ensure only one concurrent in shutdown function.
+
+Signed-off-by: Xiaoxi Chen <xiaoxchen@ebay.com>
+---
+ src/librados/RadosClient.cc | 4 ++++
+ src/librados/RadosClient.h  | 1 +
+ 2 files changed, 5 insertions(+)
+
+diff --git a/src/librados/RadosClient.cc b/src/librados/RadosClient.cc
+index 8c5e8ed803fa..230e8b53ecd9 100644
+--- a/src/librados/RadosClient.cc
++++ b/src/librados/RadosClient.cc
+@@ -72,6 +72,7 @@ librados::RadosClient::RadosClient(CephContext *cct_)
+     instance_id(0),
+     objecter(NULL),
+     lock("librados::RadosClient::lock"),
++    shutdown_lock("librados::RadosClient::shutdown_lock"),
+     timer(cct, lock),
+     refcnt(1),
+     log_last_version(0), log_cb(NULL), log_cb_arg(NULL),
+@@ -324,6 +325,7 @@ int librados::RadosClient::connect()
+ 
+ void librados::RadosClient::shutdown()
+ {
++  Mutex::Locker l(shutdown_lock);
+   lock.Lock();
+   if (state == DISCONNECTED) {
+     lock.Unlock();
+@@ -338,7 +340,9 @@ void librados::RadosClient::shutdown()
+   if (state == CONNECTED) {
+     if (need_objecter) {
+       // make sure watch callbacks are flushed
++      lock.Unlock();
+       watch_flush();
++      lock.Lock();
+     }
+     finisher.wait_for_empty();
+     finisher.stop();
+diff --git a/src/librados/RadosClient.h b/src/librados/RadosClient.h
+index f495ba5966c2..a8ef2070ddcb 100644
+--- a/src/librados/RadosClient.h
++++ b/src/librados/RadosClient.h
+@@ -62,6 +62,7 @@ class librados::RadosClient : public Dispatcher
+   Objecter *objecter;
+ 
+   Mutex lock;
++  Mutex shutdown_lock;
+   Cond cond;
+   SafeTimer timer;
+   int refcnt;

diff --git a/sys-cluster/ceph/files/ceph-10.2.9-librbd_filter_expected_error_codes_from_is_exclusive_lock_owner.patch b/sys-cluster/ceph/files/ceph-10.2.9-librbd_filter_expected_error_codes_from_is_exclusive_lock_owner.patch
new file mode 100644
index 00000000000..6800285318f
--- /dev/null
+++ b/sys-cluster/ceph/files/ceph-10.2.9-librbd_filter_expected_error_codes_from_is_exclusive_lock_owner.patch
@@ -0,0 +1,28 @@
+From 787ba33e5dba285dff874955a8f0d7aabd3f87fe Mon Sep 17 00:00:00 2001
+From: Jason Dillaman <dillaman@redhat.com>
+Date: Mon, 5 Jun 2017 08:17:05 -0400
+Subject: [PATCH] librbd: filter expected error codes from
+ is_exclusive_lock_owner
+
+Fixes: http://tracker.ceph.com/issues/20182
+Signed-off-by: Jason Dillaman <dillaman@redhat.com>
+(cherry picked from commit d4daaf54e6bc42cd4fb2111ea20b2042941b0c31)
+---
+ src/librbd/internal.cc | 4 +++-
+ 1 file changed, 3 insertions(+), 1 deletion(-)
+
+diff --git a/src/librbd/internal.cc b/src/librbd/internal.cc
+index 9fecb1e1688f..6021be078090 100644
+--- a/src/librbd/internal.cc
++++ b/src/librbd/internal.cc
+@@ -2110,7 +2110,9 @@ int mirror_image_disable_internal(ImageCtx *ictx, bool force,
+     // might have been blacklisted by peer -- ensure we still own
+     // the lock by pinging the OSD
+     int r = ictx->exclusive_lock->assert_header_locked();
+-    if (r < 0) {
++    if (r == -EBUSY || r == -ENOENT) {
++      return 0;
++    } else if (r < 0) {
+       return r;
+     }
+ 

diff --git a/sys-cluster/ceph/files/ceph-10.2.9-osd-scrub_to_specifies_clone_ver_but_transaction_include.patch b/sys-cluster/ceph/files/ceph-10.2.9-osd-scrub_to_specifies_clone_ver_but_transaction_include.patch
new file mode 100644
index 00000000000..8bf14c2944b
--- /dev/null
+++ b/sys-cluster/ceph/files/ceph-10.2.9-osd-scrub_to_specifies_clone_ver_but_transaction_include.patch
@@ -0,0 +1,39 @@
+From 153f77544118613e19d5e88c030c3901234cf950 Mon Sep 17 00:00:00 2001
+From: David Zafman <dzafman@redhat.com>
+Date: Tue, 18 Jul 2017 15:08:14 -0700
+Subject: [PATCH] osd: scrub_to specifies clone ver, but transaction include
+ head write ver
+
+Fixes: http://tracker.ceph.com/issues/20041
+
+Signed-off-by: David Zafman <dzafman@redhat.com>
+(cherry picked from commit fd598a0d23d61c645633ae774c3404a43d035e3c)
+
+Conflicts:
+	src/osd/ReplicatedPG.cc (trivial)
+---
+ src/osd/ReplicatedPG.cc | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/src/osd/ReplicatedPG.cc b/src/osd/ReplicatedPG.cc
+index 4b4dc34c602a..4d80ad1770e1 100644
+--- a/src/osd/ReplicatedPG.cc
++++ b/src/osd/ReplicatedPG.cc
+@@ -8318,7 +8318,7 @@ void ReplicatedPG::op_applied(const eversion_t &applied_version)
+   last_update_applied = applied_version;
+   if (is_primary()) {
+     if (scrubber.active) {
+-      if (last_update_applied == scrubber.subset_last_update) {
++      if (last_update_applied >= scrubber.subset_last_update) {
+         requeue_scrub();
+       }
+     } else {
+@@ -8326,7 +8326,7 @@ void ReplicatedPG::op_applied(const eversion_t &applied_version)
+     }
+   } else {
+     if (scrubber.active_rep_scrub) {
+-      if (last_update_applied == static_cast<MOSDRepScrub*>(
++      if (last_update_applied >= static_cast<MOSDRepScrub*>(
+ 	    scrubber.active_rep_scrub->get_req())->scrub_to) {
+ 	osd->op_wq.queue(
+ 	  make_pair(

diff --git a/sys-cluster/ceph/files/ceph-10.2.9-rbd-do_not_attempt_to_load_key_if_auth_is_disabled.patch b/sys-cluster/ceph/files/ceph-10.2.9-rbd-do_not_attempt_to_load_key_if_auth_is_disabled.patch
new file mode 100644
index 00000000000..4b03e335bc5
--- /dev/null
+++ b/sys-cluster/ceph/files/ceph-10.2.9-rbd-do_not_attempt_to_load_key_if_auth_is_disabled.patch
@@ -0,0 +1,39 @@
+From 0cd7df3649d7486d444a61cab89c48a89ddd3e8d Mon Sep 17 00:00:00 2001
+From: Jason Dillaman <dillaman@redhat.com>
+Date: Thu, 29 Jun 2017 14:54:40 -0400
+Subject: [PATCH] rbd: do not attempt to load key if auth is disabled
+
+Fixes: http://tracker.ceph.com/issues/19035
+Signed-off-by: Jason Dillaman <dillaman@redhat.com>
+(cherry picked from commit 8b9c8df6d7f0b75c5451953bb322bc1f9afb6299)
+---
+ src/krbd.cc | 16 +++++++++-------
+ 1 file changed, 9 insertions(+), 7 deletions(-)
+
+diff --git a/src/krbd.cc b/src/krbd.cc
+index a0e546fa7f6f..2bb6b4270abd 100644
+--- a/src/krbd.cc
++++ b/src/krbd.cc
+@@ -129,13 +129,15 @@ static int build_map_buf(CephContext *cct, const char *pool, const char *image,
+   oss << " name=" << cct->_conf->name.get_id();
+ 
+   KeyRing keyring;
+-  r = keyring.from_ceph_context(cct);
+-  if (r == -ENOENT && !(cct->_conf->keyfile.length() ||
+-                        cct->_conf->key.length()))
+-    r = 0;
+-  if (r < 0) {
+-    cerr << "rbd: failed to get secret" << std::endl;
+-    return r;
++  if (cct->_conf->auth_client_required != "none") {
++    r = keyring.from_ceph_context(cct);
++    if (r == -ENOENT && !(cct->_conf->keyfile.length() ||
++                          cct->_conf->key.length()))
++      r = 0;
++    if (r < 0) {
++      cerr << "rbd: failed to get secret" << std::endl;
++      return r;
++    }
+   }
+ 
+   CryptoKey secret;

diff --git a/sys-cluster/ceph/files/ceph-10.2.9-unlock_sdata_op_ordering_lock_with_sdata_lock.patch b/sys-cluster/ceph/files/ceph-10.2.9-unlock_sdata_op_ordering_lock_with_sdata_lock.patch
new file mode 100644
index 00000000000..60f46ab36a4
--- /dev/null
+++ b/sys-cluster/ceph/files/ceph-10.2.9-unlock_sdata_op_ordering_lock_with_sdata_lock.patch
@@ -0,0 +1,32 @@
+From 3fa277b479d69699bf5a6875cd4a5efcf9ae0788 Mon Sep 17 00:00:00 2001
+From: Alexey Sheplyakov <asheplyakov@mirantis.com>
+Date: Tue, 27 Jun 2017 16:07:01 +0400
+Subject: [PATCH] jewel: osd: unlock sdata_op_ordering_lock with sdata_lock
+ hold to avoid missing wakeup signal
+
+Based on commit bc683385819146f3f6f096ceec97e1226a3cd237. The OSD code has
+been refactored a lot since Jewel, hence cherry-picking that patch introduces
+a lot of unrelated changes, and is much more difficult than reusing the idea.
+
+Fixes: http://tracker.ceph.com/issues/20428
+
+Signed-off-by: Alexey Sheplyakov <asheplyakov@mirantis.com>
+---
+ src/osd/OSD.cc | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/src/osd/OSD.cc b/src/osd/OSD.cc
+index f5cfda3b686a..38a2711f6f92 100644
+--- a/src/osd/OSD.cc
++++ b/src/osd/OSD.cc
+@@ -8727,9 +8727,9 @@ void OSD::ShardedOpWQ::_process(uint32_t thread_index, heartbeat_handle_d *hb )
+   assert(NULL != sdata);
+   sdata->sdata_op_ordering_lock.Lock();
+   if (sdata->pqueue->empty()) {
+-    sdata->sdata_op_ordering_lock.Unlock();
+     osd->cct->get_heartbeat_map()->reset_timeout(hb, 4, 0);
+     sdata->sdata_lock.Lock();
++    sdata->sdata_op_ordering_lock.Unlock();
+     sdata->sdata_cond.WaitInterval(osd->cct, sdata->sdata_lock, utime_t(2, 0));
+     sdata->sdata_lock.Unlock();
+     sdata->sdata_op_ordering_lock.Lock();


^ permalink raw reply related	[flat|nested] 68+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-cluster/ceph/, sys-cluster/ceph/files/
@ 2017-07-31 19:04 Patrick McLean
  0 siblings, 0 replies; 68+ messages in thread
From: Patrick McLean @ 2017-07-31 19:04 UTC (permalink / raw
  To: gentoo-commits

commit:     99748ee7bf5dedea9ac0af33f482fe65aea11c96
Author:     Patrick McLean <chutzpah <AT> gentoo <DOT> org>
AuthorDate: Mon Jul 31 19:03:31 2017 +0000
Commit:     Patrick McLean <chutzpah <AT> gentoo <DOT> org>
CommitDate: Mon Jul 31 19:04:00 2017 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=99748ee7

sys-cluster/ceph: Revision bump, pull in fix for CVE-2017-7519

Also add envd file when tcmalloc USE flags is enabled to set
TCMALLOC_MAX_TOTAL_THREAD_CACHE_BYTES=134217728

This is recommended by upstream. Install file to sysctl.d to update
kernel.pid_max to 257256, and sync conf.d file with init.d.

Package-Manager: Portage-2.3.6, Repoman-2.3.3

 sys-cluster/ceph/ceph-10.2.9-r1.ebuild             | 298 +++++++++++++++++++++
 ...triper_fix_format_injection_vulnerability.patch |  35 +++
 sys-cluster/ceph/files/ceph.confd-r3               |   2 +-
 sys-cluster/ceph/files/envd-tcmalloc               |   1 +
 sys-cluster/ceph/files/sysctld                     |   2 +
 5 files changed, 337 insertions(+), 1 deletion(-)

diff --git a/sys-cluster/ceph/ceph-10.2.9-r1.ebuild b/sys-cluster/ceph/ceph-10.2.9-r1.ebuild
new file mode 100644
index 00000000000..9650b2dff20
--- /dev/null
+++ b/sys-cluster/ceph/ceph-10.2.9-r1.ebuild
@@ -0,0 +1,298 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+PYTHON_COMPAT=( python{2_7,3_{4,5,6}} )
+
+inherit check-reqs autotools eutils python-r1 udev user \
+	readme.gentoo-r1 systemd versionator flag-o-matic
+
+if [[ ${PV} == *9999* ]]; then
+	inherit git-r3
+	EGIT_REPO_URI="https://github.com/ceph/ceph.git"
+	SRC_URI=""
+else
+	SRC_URI="https://download.ceph.com/tarballs/${P}.tar.gz"
+	KEYWORDS="~amd64 ~arm64 ~x86"
+fi
+
+DESCRIPTION="Ceph distributed filesystem"
+HOMEPAGE="https://ceph.com/"
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+
+IUSE="babeltrace cephfs cryptopp debug fuse gtk jemalloc ldap +libaio"
+IUSE+=" libatomic lttng +nss +radosgw static-libs +tcmalloc test xfs zfs"
+
+# unbundling code commented out pending bugs 584056 and 584058
+#>=dev-libs/jerasure-2.0.0-r1
+#>=dev-libs/gf-complete-2.0.0
+COMMON_DEPEND="
+	app-arch/snappy:=
+	sys-libs/zlib:=
+	app-arch/lz4:=
+	app-arch/bzip2:=
+	app-arch/zstd:=
+	dev-libs/boost:=[threads]
+	dev-libs/libaio:=
+	dev-libs/leveldb:=[snappy]
+	nss? ( dev-libs/nss:= )
+	libatomic? ( dev-libs/libatomic_ops:= )
+	cryptopp? ( dev-libs/crypto++:= )
+	sys-apps/keyutils
+	sys-apps/util-linux
+	dev-libs/libxml2:=
+	radosgw? ( dev-libs/fcgi:= )
+	ldap? ( net-nds/openldap:= )
+	babeltrace? ( dev-util/babeltrace )
+	fuse? ( sys-fs/fuse:0= )
+	xfs? ( sys-fs/xfsprogs:= )
+	zfs? ( sys-fs/zfs:= )
+	gtk? (
+		x11-libs/gtk+:2=
+		dev-cpp/gtkmm:2.4
+		gnome-base/librsvg:=
+	)
+	radosgw? (
+		dev-libs/fcgi:=
+		dev-libs/expat:=
+		net-misc/curl:=
+	)
+	jemalloc? ( dev-libs/jemalloc:= )
+	!jemalloc? ( =dev-util/google-perftools-2.4*:= )
+	lttng? ( dev-util/lttng-ust:= )
+	${PYTHON_DEPS}
+	"
+DEPEND="${COMMON_DEPEND}
+	dev-python/cython[${PYTHON_USEDEP}]
+	app-arch/cpio
+	virtual/pkgconfig
+	dev-python/sphinx
+	test? (
+		sys-fs/btrfs-progs
+		sys-apps/grep[pcre]
+		dev-python/tox[${PYTHON_USEDEP}]
+		dev-python/virtualenv[${PYTHON_USEDEP}]
+	)"
+RDEPEND="${COMMON_DEPEND}
+	sys-apps/hdparm
+	sys-block/parted
+	sys-fs/cryptsetup
+	sys-apps/gptfdisk
+	dev-python/flask[${PYTHON_USEDEP}]
+	dev-python/requests[${PYTHON_USEDEP}]
+	"
+REQUIRED_USE="
+	$(python_gen_useflags 'python2*')
+	${PYTHON_REQUIRED_USE}
+	^^ ( nss cryptopp )
+	?? ( jemalloc tcmalloc )
+	"
+
+# work around bug in ceph compilation (rgw/ceph_dencoder-rgw_dencoder.o... undefined reference to `vtable for RGWZoneGroup')
+REQUIRED_USE+=" radosgw"
+
+#RESTRICT="test? ( userpriv )"
+
+# distribution tarball does not include everything needed for tests
+RESTRICT+=" test"
+
+STRIP_MASK="/usr/lib*/rados-classes/*"
+
+UNBUNDLE_LIBS=(
+	src/erasure-code/jerasure/jerasure
+	src/erasure-code/jerasure/gf-complete
+)
+
+PATCHES=(
+	"${FILESDIR}/ceph-10.2.0-dont-use-virtualenvs.patch"
+	#"${FILESDIR}/ceph-10.2.1-unbundle-jerasure.patch"
+	"${FILESDIR}/${PN}-10.2.1-libzfs.patch"
+	"${FILESDIR}/${PN}-10.2.3-build-without-openldap.patch"
+	"${FILESDIR}/${PN}-10.2.5-Make-RBD-Python-bindings-compatible-with-Python-3.patch"
+	"${FILESDIR}/${PN}-10.2.5-Make-CephFS-bindings-and-tests-compatible-with-Python-3.patch"
+	"${FILESDIR}/${PN}-10.2.7-fix-compilation-with-zstd.patch"
+	"${FILESDIR}/${PN}-10.2.9-libradosstriper_fix_format_injection_vulnerability.patch"
+)
+
+check-reqs_export_vars() {
+	if use debug; then
+		CHECKREQS_DISK_BUILD="23G"
+		CHECKREQS_DISK_USR="7G"
+	elif use amd64; then
+		CHECKREQS_DISK_BUILD="12G"
+		CHECKREQS_DISK_USR="450M"
+	else
+		CHECKREQS_DISK_BUILD="1400M"
+		CHECKREQS_DISK_USR="450M"
+	fi
+
+	export CHECKREQS_DISK_BUILD CHECKREQS_DISK_USR
+}
+
+user_setup() {
+	enewgroup ceph ${CEPH_GID}
+	enewuser ceph "${CEPH_UID:--1}" -1 /var/lib/ceph ceph
+}
+
+emake_python_bindings() {
+	local action="${1}" params binding module
+	shift
+	params=("${@}")
+
+	__emake_python_bindings_do_impl() {
+		ceph_run_econf "${EPYTHON}"
+		emake "${params[@]}" PYTHON="${EPYTHON}" "${binding}-pybind-${action}"
+
+		# these don't work and aren't needed on python3
+		if [[ ${EBUILD_PHASE} == install ]]; then
+			for module in "${S}"/src/pybind/*.py; do
+				module_basename="$(basename "${module}")"
+				if [[ ${module_basename} == ceph_volume_client.py ]] && ! use cephfs; then
+					continue
+				elif [[ ! -e "${ED}/$(python_get_sitedir)/${module_basename}" ]]; then
+					python_domodule ${module}
+				fi
+			done
+		fi
+	}
+
+	pushd "${S}/src"
+	for binding in rados rbd $(use cephfs && echo cephfs); do
+		python_foreach_impl __emake_python_bindings_do_impl
+	done
+	popd
+
+	unset __emake_python_bindings_do_impl
+}
+
+pkg_pretend() {
+	check-reqs_export_vars
+	check-reqs_pkg_pretend
+}
+
+pkg_setup() {
+	python_setup
+	check-reqs_export_vars
+	check-reqs_pkg_setup
+	user_setup
+}
+
+src_prepare() {
+	default
+
+	# remove tests that need root access
+	rm src/test/cli/ceph-authtool/cap*.t
+
+	#rm -rf "${UNBUNDLE_LIBS[@]}"
+
+	append-flags -fPIC
+	eautoreconf
+}
+
+src_configure() {
+	ECONFARGS=(
+		--without-hadoop
+		--includedir=/usr/include
+		$(use_with cephfs)
+		$(use_with debug)
+		$(use_with fuse)
+		$(use_with libaio)
+		$(use_with libatomic libatomic-ops)
+		$(use_with nss)
+		$(use_with cryptopp)
+		$(use_with radosgw)
+		$(use_with gtk gtk2)
+		$(use_enable static-libs static)
+		$(use_with jemalloc)
+		$(use_with xfs libxfs)
+		$(use_with zfs libzfs)
+		$(use_with lttng )
+		$(use_with babeltrace)
+		$(use_with ldap openldap)
+		$(use jemalloc || usex tcmalloc " --with-tcmalloc" " --with-tcmalloc-minimal")
+		--with-mon
+		--with-eventfd
+		--with-cython
+		--without-kinetic
+		--without-librocksdb
+		--with-systemdsystemunitdir="$(systemd_get_systemunitdir)"
+	)
+
+	# we can only use python2.7 for building at the moment
+	ceph_run_econf "python2*"
+}
+
+ceph_run_econf() {
+	[[ -z ${ECONFARGS} ]] && die "called ${FUNCNAME[0]} with ECONFARGS unset"
+	[[ -z ${1} ]] && die "called ${FUNCNAME[0]} without passing python implementation"
+
+	pushd "${S}" >/dev/null || die
+	#
+	# This generates a QA warning about running econf in src_compile
+	# and src_install. Unfortunately the only other way to do this would
+	# involve building all of for each python implementation times, which
+	# wastes a _lot_ of CPU time and disk space. This hack will no longer
+	# be needed with >=ceph-11.2.
+	#
+	python_setup "${1}"
+	econf "${ECONFARGS[@]}"
+
+	popd >/dev/null || die
+}
+
+src_compile() {
+	emake
+	emake_python_bindings all
+
+	use test && emake check-local
+}
+
+src_test() {
+	make check || die "make check failed"
+}
+
+src_install() {
+	default
+	emake_python_bindings install-exec "DESTDIR=\"${D}\""
+
+	prune_libtool_files --all
+
+	exeinto /usr/$(get_libdir)/ceph
+	newexe src/init-ceph ceph_init.sh
+
+	insinto /etc/logrotate.d/
+	newins "${FILESDIR}"/ceph.logrotate ${PN}
+
+	keepdir /var/lib/${PN}{,/tmp} /var/log/${PN}/stat
+
+	fowners -R ceph:ceph /var/lib/ceph /var/log/ceph
+
+	newinitd "${FILESDIR}/rbdmap.initd" rbdmap
+	newinitd "${FILESDIR}/${PN}.initd-r5" ${PN}
+	newconfd "${FILESDIR}/${PN}.confd-r3" ${PN}
+
+	insinto /etc/sysctl.d
+	newins "${FILESDIR}"/sysctld 90-${PN}.conf
+
+	use tcmalloc && newenvd "${FILESDIR}"/envd-tcmalloc ${PN}-tcmalloc
+
+	systemd_install_serviced "${FILESDIR}/ceph-mds_at.service.conf" "ceph-mds@.service"
+	systemd_install_serviced "${FILESDIR}/ceph-osd_at.service.conf" "ceph-osd@.service"
+
+	udev_dorules udev/*.rules
+
+	readme.gentoo_create_doc
+
+	python_setup 'python2*'
+	python_fix_shebang "${ED}"/usr/{,s}bin/
+
+	# python_fix_shebang apparently is not idempotent
+	sed -i -r  's:(/usr/lib/python-exec/python[0-9]\.[0-9]/python)[0-9]\.[0-9]:\1:' \
+		"${ED}"/usr/{sbin/ceph-disk,bin/ceph-detect-init} || die "sed failed"
+}
+
+pkg_postinst() {
+	readme.gentoo_print_elog
+}

diff --git a/sys-cluster/ceph/files/ceph-10.2.9-libradosstriper_fix_format_injection_vulnerability.patch b/sys-cluster/ceph/files/ceph-10.2.9-libradosstriper_fix_format_injection_vulnerability.patch
new file mode 100644
index 00000000000..eaf18c35783
--- /dev/null
+++ b/sys-cluster/ceph/files/ceph-10.2.9-libradosstriper_fix_format_injection_vulnerability.patch
@@ -0,0 +1,35 @@
+diff --git a/src/libradosstriper/RadosStriperImpl.cc b/src/libradosstriper/RadosStriperImpl.cc
+index 22352d9125..70dcb7569f 100644
+--- a/src/libradosstriper/RadosStriperImpl.cc
++++ b/src/libradosstriper/RadosStriperImpl.cc
+@@ -12,6 +12,8 @@
+  *
+  */
+ 
++#include <boost/algorithm/string/replace.hpp>
++
+ #include "libradosstriper/RadosStriperImpl.h"
+ 
+ #include <errno.h>
+@@ -466,7 +468,9 @@ int libradosstriper::RadosStriperImpl::aio_read(const std::string& soid,
+   // get list of extents to be read from
+   vector<ObjectExtent> *extents = new vector<ObjectExtent>();
+   if (read_len > 0) {
+-    std::string format = soid + RADOS_OBJECT_EXTENSION_FORMAT;
++    std::string format = soid;
++    boost::replace_all(format, "%", "%%");
++    format += RADOS_OBJECT_EXTENSION_FORMAT;
+     file_layout_t l;
+     l.from_legacy(layout);
+     Striper::file_to_extents(cct(), format.c_str(), &l, off, read_len,
+@@ -776,7 +780,9 @@ libradosstriper::RadosStriperImpl::internal_aio_write(const std::string& soid,
+   if (len > 0) {
+     // get list of extents to be written to
+     vector<ObjectExtent> extents;
+-    std::string format = soid + RADOS_OBJECT_EXTENSION_FORMAT;
++    std::string format = soid;
++    boost::replace_all(format, "%", "%%");
++    format += RADOS_OBJECT_EXTENSION_FORMAT;
+     file_layout_t l;
+     l.from_legacy(layout);
+     Striper::file_to_extents(cct(), format.c_str(), &l, off, len, 0, extents);

diff --git a/sys-cluster/ceph/files/ceph.confd-r3 b/sys-cluster/ceph/files/ceph.confd-r3
index 491b1241ba6..54673c2688f 100644
--- a/sys-cluster/ceph/files/ceph.confd-r3
+++ b/sys-cluster/ceph/files/ceph.confd-r3
@@ -4,7 +4,7 @@
 #ceph_conf="/etc/ceph/ceph.conf"
 
 # Set ulimits for Ceph services.
-#rc_ulimit="-n 32768"
+#rc_ulimit="-n 131072 -u 257256"
 
 # the directory under /run to store runtime information in
 #rundir=/run/ceph

diff --git a/sys-cluster/ceph/files/envd-tcmalloc b/sys-cluster/ceph/files/envd-tcmalloc
new file mode 100644
index 00000000000..bdb09670c63
--- /dev/null
+++ b/sys-cluster/ceph/files/envd-tcmalloc
@@ -0,0 +1 @@
+TCMALLOC_MAX_TOTAL_THREAD_CACHE_BYTES=134217728

diff --git a/sys-cluster/ceph/files/sysctld b/sys-cluster/ceph/files/sysctld
new file mode 100644
index 00000000000..4d133264f55
--- /dev/null
+++ b/sys-cluster/ceph/files/sysctld
@@ -0,0 +1,2 @@
+# up the global pid max for ceph
+kernel.pid_max = 257256


^ permalink raw reply related	[flat|nested] 68+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-cluster/ceph/, sys-cluster/ceph/files/
@ 2017-07-27 21:33 Patrick McLean
  0 siblings, 0 replies; 68+ messages in thread
From: Patrick McLean @ 2017-07-27 21:33 UTC (permalink / raw
  To: gentoo-commits

commit:     4d88c3d017ed95dd0110eccf08f8aec5795c3e9c
Author:     Patrick McLean <chutzpah <AT> gentoo <DOT> org>
AuthorDate: Thu Jul 27 21:33:02 2017 +0000
Commit:     Patrick McLean <chutzpah <AT> gentoo <DOT> org>
CommitDate: Thu Jul 27 21:33:02 2017 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=4d88c3d0

sys-cluster/ceph: Drop old versions

Package-Manager: Portage-2.3.6, Repoman-2.3.3

 sys-cluster/ceph/Manifest              |   2 -
 sys-cluster/ceph/ceph-10.2.5-r1.ebuild | 265 ------------------------------
 sys-cluster/ceph/ceph-10.2.5-r3.ebuild | 290 --------------------------------
 sys-cluster/ceph/ceph-10.2.5-r4.ebuild | 292 ---------------------------------
 sys-cluster/ceph/ceph-10.2.5-r5.ebuild | 292 ---------------------------------
 sys-cluster/ceph/ceph-10.2.6-r1.ebuild | 292 ---------------------------------
 sys-cluster/ceph/ceph-10.2.6.ebuild    | 292 ---------------------------------
 sys-cluster/ceph/ceph-10.2.7.ebuild    | 291 --------------------------------
 sys-cluster/ceph/files/ceph.initd-r1   |  48 ------
 sys-cluster/ceph/files/ceph.initd-r3   |  40 -----
 10 files changed, 2104 deletions(-)

diff --git a/sys-cluster/ceph/Manifest b/sys-cluster/ceph/Manifest
index c24494e69f6..5f0cc0c6676 100644
--- a/sys-cluster/ceph/Manifest
+++ b/sys-cluster/ceph/Manifest
@@ -1,7 +1,5 @@
 DIST ceph-0.94.9.tar.gz 9044702 SHA256 d5bc07e7aef75f74d75f0356e5dd2a17956cbad6bb552a1e96a0fabd80924050 SHA512 ef4bbcc4429e22a2d924fd52dc42f522d5327f67ee8c1781d7cf602c2932a485cb48db21bdc33e7c7fbc968eec59c17882ebb18e6405599e11a3abc248f1d376 WHIRLPOOL f348159e8d7dd5e1ac3810a51846f50f6cefdbc5fa4cd15c3127b1136eb960baca8ad8db33c78a5d6435720cf1e2c277e068d09f9b9dbcf0f8ad56d7ddd914dc
 DIST ceph-10.2.3.tar.gz 11596171 SHA256 dca933aa14db67b404d836ef510bd418091978edc2f0c74dfc530ba0aa5e8994 SHA512 9de1e6851fc343d2c52c72cec3f7887d998d5b588f1251ee3a1fda14427badfa10408e6691fb03a374a10f4ec9844868423fee70fbbe2c0d962af98481412f19 WHIRLPOOL 981ebca66113a07a5cc6e5934272a72b29a2c19e03398f7b622c11df6ea0a05339558dfc2f11504403cbbd0efe0b090ad59f4b86206b46db57587744091aa26a
-DIST ceph-10.2.5.tar.gz 14020700 SHA256 82dd4271f18eb7b84ff16f273a5250a4a9e809bfaccce5a1cca493416332d5f4 SHA512 4889aff38c8af781c2e3dce8f4ee51864db0a27c6294774345d2c1b047588ec31354ad41f799e2f0d0a966dc372d76c9bdbfb93f30a0718ea9d7c2b7a645d0f8 WHIRLPOOL 986a6ac35612a732d2a9a73277525679f9da729601c7e3f82b83e7e8ee2eb4245c98cdf5c4462ae1c789cb3d120a2c4a7eb9a3958b072db5e743b2c015269dfc
-DIST ceph-10.2.6.tar.gz 14500365 SHA256 ad32c549d0ce6de581b5e1c6c7eba38e0f6658aaf8a91990e602f7c64c5e48c7 SHA512 c4321e27a6f8983f69435316c35858ab2b8b620cd80663a5471447c7489d867aef30b22541ca9648a7dcf9d931d04055e29d87dea3a6e94963fb360d06713dee WHIRLPOOL bd886105b47b6cfaeeff882f1d21d710442880c31a1943298db0904a453d67da71519c8fe5e1dd0377480b5413c90bf8ae4bed6bd99bfc53e4696f8b8031c23a
 DIST ceph-10.2.7.tar.gz 14518491 SHA256 2cdfeaa9a08e94c2d35f540b450bbf64b2a694bd537679834185e98fc59d8ba2 SHA512 7e0686e9efa4ddd9d548f4145b448f8232f1ca29b08428daa5cd60a74ce26f1176a1f2ebbf2ac1761d9e6c1d364a5ffa194d2b3a18a8111f59b7c27f7a1d7734 WHIRLPOOL b6b6902230401b5f4c6f27801f315678bdc7b99aab4e50b54d941fc3a425b4f0fa9390484f2e12d6b4f962253fb8772fb706dad35d490b4542b06db166fab59b
 DIST ceph-10.2.8.tar.gz 14548472 SHA256 f284743b007cbb61fc9849dc2249942886116c2cb2abcd346d2304d52b16eaaa SHA512 1f3bf81bf6745033e034c3c4e4f05db5c39b2e8435da20fc130971559e8fde0d640bf00bfaafb374d24c45f873e7d768ae9d7d8cd3388347f5804c4bfc303f09 WHIRLPOOL a8bf29ff913c08d423beb0fefa792c06a653d8ac00bd698b7f77bbaf4657f0530ad5a43043dabb24308ed5a4e569fec53130a78d78d8eddf16026a942de8cc40
 DIST ceph-10.2.9.tar.gz 14550219 SHA256 3d93f4fc4a66b1d9f9ce43f65868dc18287cea32fbb2c7421faca6aed2b52a80 SHA512 1d59146614aa87ca551b05b795a684071a3cfb4ce6013e978ba650403c6732b2aa13f3c3cc191e6a1ea34b4631c82e97700593c24e200c41ec2f2b43b3ef5547 WHIRLPOOL 42215d33c4f617087e1b0ef81cd41b42330c3605acf625b0668d44eba9e982239683b466a1cc1a6f926fc1d439dfd6be4ce220f783da7d2214d36a2a6cc9181f

diff --git a/sys-cluster/ceph/ceph-10.2.5-r1.ebuild b/sys-cluster/ceph/ceph-10.2.5-r1.ebuild
deleted file mode 100644
index 1e82394dbed..00000000000
--- a/sys-cluster/ceph/ceph-10.2.5-r1.ebuild
+++ /dev/null
@@ -1,265 +0,0 @@
-# Copyright 1999-2017 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-PYTHON_COMPAT=( python{2_7,3_{4,5}} )
-
-inherit check-reqs autotools eutils python-r1 udev user \
-	readme.gentoo-r1 systemd versionator flag-o-matic
-
-if [[ ${PV} == *9999* ]]; then
-	inherit git-r3
-	EGIT_REPO_URI="
-		git://github.com/ceph/ceph.git
-		https://github.com/ceph/ceph.git"
-	SRC_URI=""
-else
-	SRC_URI="http://ceph.com/download/${P}.tar.gz"
-	KEYWORDS="~amd64 ~arm ~ppc ~ppc64 ~x86"
-fi
-
-DESCRIPTION="Ceph distributed filesystem"
-HOMEPAGE="http://ceph.com/"
-
-LICENSE="LGPL-2.1"
-SLOT="0"
-
-IUSE="babeltrace cephfs cryptopp debug fuse gtk jemalloc ldap +libaio"
-IUSE+=" libatomic lttng +nss +radosgw static-libs +tcmalloc test xfs zfs"
-
-# unbundling code commented out pending bugs 584056 and 584058
-#>=dev-libs/jerasure-2.0.0-r1
-#>=dev-libs/gf-complete-2.0.0
-COMMON_DEPEND="
-	app-arch/snappy
-	app-arch/lz4:=
-	app-arch/bzip2
-	dev-libs/boost:=[threads]
-	dev-libs/libaio
-	dev-libs/leveldb[snappy]
-	nss? ( dev-libs/nss )
-	libatomic? ( dev-libs/libatomic_ops )
-	cryptopp? ( dev-libs/crypto++:= )
-	sys-apps/keyutils
-	sys-apps/util-linux
-	dev-libs/libxml2
-	radosgw? ( dev-libs/fcgi )
-	ldap? ( net-nds/openldap )
-	babeltrace? ( dev-util/babeltrace )
-	fuse? ( sys-fs/fuse:0 )
-	xfs? ( sys-fs/xfsprogs )
-	zfs? ( sys-fs/zfs )
-	gtk? (
-		x11-libs/gtk+:2
-		dev-cpp/gtkmm:2.4
-		gnome-base/librsvg
-	)
-	radosgw? (
-		dev-libs/fcgi
-		dev-libs/expat
-		net-misc/curl
-	)
-	jemalloc? ( dev-libs/jemalloc )
-	!jemalloc? ( dev-util/google-perftools )
-	lttng? ( dev-util/lttng-ust )
-	${PYTHON_DEPS}
-	"
-DEPEND="${COMMON_DEPEND}
-	dev-python/cython[${PYTHON_USEDEP}]
-	app-arch/cpio
-	sys-apps/lsb-release
-	virtual/pkgconfig
-	dev-python/sphinx
-	test? (
-		sys-fs/btrfs-progs
-		sys-apps/grep[pcre]
-		dev-python/tox[${PYTHON_USEDEP}]
-		dev-python/virtualenv[${PYTHON_USEDEP}]
-	)"
-RDEPEND="${COMMON_DEPEND}
-	sys-apps/hdparm
-	sys-block/parted
-	sys-fs/cryptsetup
-	sys-apps/gptfdisk
-	dev-python/flask[${PYTHON_USEDEP}]
-	dev-python/requests[${PYTHON_USEDEP}]
-	"
-REQUIRED_USE="
-	$(python_gen_useflags 'python2*')
-	${PYTHON_REQUIRED_USE}
-	^^ ( nss cryptopp )
-	?? ( jemalloc tcmalloc )
-	"
-
-# work around bug in ceph compilation (rgw/ceph_dencoder-rgw_dencoder.o... undefined reference to `vtable for RGWZoneGroup')
-REQUIRED_USE+=" radosgw"
-
-RESTRICT="test? ( userpriv )"
-
-# distribution tarball does not include everything needed for tests
-RESTRICT+=" test"
-
-STRIP_MASK="/usr/lib*/rados-classes/*"
-
-UNBUNDLE_LIBS=(
-	src/erasure-code/jerasure/jerasure
-	src/erasure-code/jerasure/gf-complete
-)
-
-PATCHES=(
-	"${FILESDIR}/ceph-10.2.0-dont-use-virtualenvs.patch"
-	#"${FILESDIR}/ceph-10.2.1-unbundle-jerasure.patch"
-	"${FILESDIR}/${PN}-10.2.1-libzfs.patch"
-	"${FILESDIR}/${PN}-10.2.3-build-without-openldap.patch"
-)
-
-check-reqs_export_vars() {
-	if use debug; then
-		CHECKREQS_DISK_BUILD="23G"
-		CHECKREQS_DISK_USR="7G"
-	elif use amd64; then
-		CHECKREQS_DISK_BUILD="12G"
-		CHECKREQS_DISK_USR="450M"
-	else
-		CHECKREQS_DISK_BUILD="1400M"
-		CHECKREQS_DISK_USR="450M"
-	fi
-
-	export CHECKREQS_DISK_BUILD CHECKREQS_DISK_USR
-}
-
-user_setup() {
-	enewgroup ceph ${CEPH_GID}
-	enewuser ceph "${CEPH_UID:--1}" -1 /var/lib/ceph ceph
-}
-
-emake_python_bindings() {
-	local action="${1}" params binding
-	shift
-	params=("${@}")
-
-	__emake_python_bindings_do_impl() {
-		emake "${params[@]}" PYTHON="${EPYTHON}" "${binding}-pybind-${action}"
-
-		# these don't work and aren't needed on python3
-		if [[ ${EBUILD_PHASE} == install ]] && python_is_python3; then
-			rm -f "${ED}/$(python_get_sitedir)"/ceph_{argparse,volume_client}.py
-		fi
-	}
-
-	pushd "${S}/src"
-	for binding in rados rbd $(use cephfs && echo cephfs); do
-		python_foreach_impl __emake_python_bindings_do_impl
-	done
-	popd
-
-	unset __emake_python_bindings_do_impl
-}
-
-pkg_pretend() {
-	check-reqs_export_vars
-	check-reqs_pkg_pretend
-}
-
-pkg_setup() {
-	python_setup
-	check-reqs_export_vars
-	check-reqs_pkg_setup
-	user_setup
-}
-
-src_prepare() {
-	default
-
-	# remove tests that need root access
-	rm src/test/cli/ceph-authtool/cap*.t
-
-	#rm -rf "${UNBUNDLE_LIBS[@]}"
-
-	append-flags -fPIC
-	eautoreconf
-}
-
-src_configure() {
-	local myeconfargs=(
-		--without-hadoop
-		--includedir=/usr/include
-		$(use_with cephfs)
-		$(use_with debug)
-		$(use_with fuse)
-		$(use_with libaio)
-		$(use_with libatomic libatomic-ops)
-		$(use_with nss)
-		$(use_with cryptopp)
-		$(use_with radosgw)
-		$(use_with gtk gtk2)
-		$(use_enable static-libs static)
-		$(use_with jemalloc)
-		$(use_with xfs libxfs)
-		$(use_with zfs libzfs)
-		$(use_with lttng )
-		$(use_with babeltrace)
-		$(use_with ldap openldap)
-		$(use jemalloc || usex tcmalloc " --with-tcmalloc" " --with-tcmalloc-minimal")
-		--with-mon
-		--with-eventfd
-		--with-cython
-		--without-kinetic
-		--without-librocksdb
-		--with-systemdsystemunitdir="$(systemd_get_systemunitdir)"
-	)
-
-	# we can only use python2.7 for building at the moment
-	python_setup 'python2*'
-	econf "${myeconfargs[@]}"
-}
-
-src_compile() {
-	emake
-	emake_python_bindings all
-
-	use test && emake check-local
-}
-
-src_test() {
-	make check || die "make check failed"
-}
-
-src_install() {
-	default
-	emake_python_bindings install-exec "DESTDIR=\"${D}\""
-
-	prune_libtool_files --all
-
-	exeinto /usr/$(get_libdir)/ceph
-	newexe src/init-ceph ceph_init.sh
-
-	insinto /etc/logrotate.d/
-	newins "${FILESDIR}"/ceph.logrotate ${PN}
-
-	keepdir /var/lib/${PN}{,/tmp} /var/log/${PN}/stat
-
-	fowners -R ceph:ceph /var/lib/ceph /var/log/ceph
-
-	newinitd "${FILESDIR}/rbdmap.initd" rbdmap
-	newinitd "${FILESDIR}/${PN}.initd-r3" ${PN}
-	newconfd "${FILESDIR}/${PN}.confd-r1" ${PN}
-
-	systemd_install_serviced "${FILESDIR}/ceph-mds_at.service.conf" "ceph-mds@.service"
-	systemd_install_serviced "${FILESDIR}/ceph-osd_at.service.conf" "ceph-osd@.service"
-
-	udev_dorules udev/*.rules
-
-	readme.gentoo_create_doc
-
-	python_setup 'python2*'
-	python_fix_shebang "${ED}"/usr/{,s}bin/
-
-	# python_fix_shebang apparently is not idempotent
-	sed -i -r  's:(/usr/lib/python-exec/python[0-9]\.[0-9]/python)[0-9]\.[0-9]:\1:' \
-		"${ED}"/usr/{sbin/ceph-disk,bin/ceph-detect-init} || die "sed failed"
-}
-
-pkg_postinst() {
-	readme.gentoo_print_elog
-}

diff --git a/sys-cluster/ceph/ceph-10.2.5-r3.ebuild b/sys-cluster/ceph/ceph-10.2.5-r3.ebuild
deleted file mode 100644
index 23faa9a8c48..00000000000
--- a/sys-cluster/ceph/ceph-10.2.5-r3.ebuild
+++ /dev/null
@@ -1,290 +0,0 @@
-# Copyright 1999-2017 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-PYTHON_COMPAT=( python{2_7,3_{4,5,6}} )
-
-inherit check-reqs autotools eutils python-r1 udev user \
-	readme.gentoo-r1 systemd versionator flag-o-matic
-
-if [[ ${PV} == *9999* ]]; then
-	inherit git-r3
-	EGIT_REPO_URI="
-		git://github.com/ceph/ceph.git
-		https://github.com/ceph/ceph.git"
-	SRC_URI=""
-else
-	SRC_URI="http://ceph.com/download/${P}.tar.gz"
-	KEYWORDS="~amd64 ~arm ~ppc ~ppc64 ~x86"
-fi
-
-DESCRIPTION="Ceph distributed filesystem"
-HOMEPAGE="http://ceph.com/"
-
-LICENSE="LGPL-2.1"
-SLOT="0"
-
-IUSE="babeltrace cephfs cryptopp debug fuse gtk jemalloc ldap +libaio"
-IUSE+=" libatomic lttng +nss +radosgw static-libs +tcmalloc test xfs zfs"
-
-# unbundling code commented out pending bugs 584056 and 584058
-#>=dev-libs/jerasure-2.0.0-r1
-#>=dev-libs/gf-complete-2.0.0
-COMMON_DEPEND="
-	app-arch/snappy
-	app-arch/lz4:=
-	app-arch/bzip2
-	dev-libs/boost:=[threads]
-	dev-libs/libaio
-	dev-libs/leveldb[snappy]
-	nss? ( dev-libs/nss )
-	libatomic? ( dev-libs/libatomic_ops )
-	cryptopp? ( dev-libs/crypto++:= )
-	sys-apps/keyutils
-	sys-apps/util-linux
-	dev-libs/libxml2
-	radosgw? ( dev-libs/fcgi )
-	ldap? ( net-nds/openldap )
-	babeltrace? ( dev-util/babeltrace )
-	fuse? ( sys-fs/fuse:0 )
-	xfs? ( sys-fs/xfsprogs )
-	zfs? ( sys-fs/zfs )
-	gtk? (
-		x11-libs/gtk+:2
-		dev-cpp/gtkmm:2.4
-		gnome-base/librsvg
-	)
-	radosgw? (
-		dev-libs/fcgi
-		dev-libs/expat
-		net-misc/curl
-	)
-	jemalloc? ( dev-libs/jemalloc )
-	!jemalloc? ( dev-util/google-perftools )
-	lttng? ( dev-util/lttng-ust )
-	${PYTHON_DEPS}
-	"
-DEPEND="${COMMON_DEPEND}
-	dev-python/cython[${PYTHON_USEDEP}]
-	app-arch/cpio
-	sys-apps/lsb-release
-	virtual/pkgconfig
-	dev-python/sphinx
-	test? (
-		sys-fs/btrfs-progs
-		sys-apps/grep[pcre]
-		dev-python/tox[${PYTHON_USEDEP}]
-		dev-python/virtualenv[${PYTHON_USEDEP}]
-	)"
-RDEPEND="${COMMON_DEPEND}
-	sys-apps/hdparm
-	sys-block/parted
-	sys-fs/cryptsetup
-	sys-apps/gptfdisk
-	dev-python/flask[${PYTHON_USEDEP}]
-	dev-python/requests[${PYTHON_USEDEP}]
-	"
-REQUIRED_USE="
-	$(python_gen_useflags 'python2*')
-	${PYTHON_REQUIRED_USE}
-	^^ ( nss cryptopp )
-	?? ( jemalloc tcmalloc )
-	"
-
-# work around bug in ceph compilation (rgw/ceph_dencoder-rgw_dencoder.o... undefined reference to `vtable for RGWZoneGroup')
-REQUIRED_USE+=" radosgw"
-
-RESTRICT="test? ( userpriv )"
-
-# distribution tarball does not include everything needed for tests
-RESTRICT+=" test"
-
-STRIP_MASK="/usr/lib*/rados-classes/*"
-
-UNBUNDLE_LIBS=(
-	src/erasure-code/jerasure/jerasure
-	src/erasure-code/jerasure/gf-complete
-)
-
-PATCHES=(
-	"${FILESDIR}/ceph-10.2.0-dont-use-virtualenvs.patch"
-	#"${FILESDIR}/ceph-10.2.1-unbundle-jerasure.patch"
-	"${FILESDIR}/${PN}-10.2.1-libzfs.patch"
-	"${FILESDIR}/${PN}-10.2.3-build-without-openldap.patch"
-)
-
-check-reqs_export_vars() {
-	if use debug; then
-		CHECKREQS_DISK_BUILD="23G"
-		CHECKREQS_DISK_USR="7G"
-	elif use amd64; then
-		CHECKREQS_DISK_BUILD="12G"
-		CHECKREQS_DISK_USR="450M"
-	else
-		CHECKREQS_DISK_BUILD="1400M"
-		CHECKREQS_DISK_USR="450M"
-	fi
-
-	export CHECKREQS_DISK_BUILD CHECKREQS_DISK_USR
-}
-
-user_setup() {
-	enewgroup ceph ${CEPH_GID}
-	enewuser ceph "${CEPH_UID:--1}" -1 /var/lib/ceph ceph
-}
-
-emake_python_bindings() {
-	local action="${1}" params binding module
-	shift
-	params=("${@}")
-
-	__emake_python_bindings_do_impl() {
-		ceph_run_econf "${EPYTHON}"
-		emake "${params[@]}" PYTHON="${EPYTHON}" "${binding}-pybind-${action}"
-
-		# these don't work and aren't needed on python3
-		if [[ ${EBUILD_PHASE} == install ]]; then
-			for module in "${S}"/src/pybind/*.py; do
-				module_basename="$(basename "${module}")"
-				if [[ ${module_basename} == ceph_volume_client.py ]] && ! use cephfs; then
-					continue
-				elif [[ ! -e "${ED}/$(python_get_sitedir)/${module_basename}" ]]; then
-					python_domodule ${module}
-				fi
-			done
-		fi
-	}
-
-	pushd "${S}/src"
-	for binding in rados rbd $(use cephfs && echo cephfs); do
-		python_foreach_impl __emake_python_bindings_do_impl
-	done
-	popd
-
-	unset __emake_python_bindings_do_impl
-}
-
-pkg_pretend() {
-	check-reqs_export_vars
-	check-reqs_pkg_pretend
-}
-
-pkg_setup() {
-	python_setup
-	check-reqs_export_vars
-	check-reqs_pkg_setup
-	user_setup
-}
-
-src_prepare() {
-	default
-
-	# remove tests that need root access
-	rm src/test/cli/ceph-authtool/cap*.t
-
-	#rm -rf "${UNBUNDLE_LIBS[@]}"
-
-	append-flags -fPIC
-	eautoreconf
-}
-
-src_configure() {
-	ECONFARGS=(
-		--without-hadoop
-		--includedir=/usr/include
-		$(use_with cephfs)
-		$(use_with debug)
-		$(use_with fuse)
-		$(use_with libaio)
-		$(use_with libatomic libatomic-ops)
-		$(use_with nss)
-		$(use_with cryptopp)
-		$(use_with radosgw)
-		$(use_with gtk gtk2)
-		$(use_enable static-libs static)
-		$(use_with jemalloc)
-		$(use_with xfs libxfs)
-		$(use_with zfs libzfs)
-		$(use_with lttng )
-		$(use_with babeltrace)
-		$(use_with ldap openldap)
-		$(use jemalloc || usex tcmalloc " --with-tcmalloc" " --with-tcmalloc-minimal")
-		--with-mon
-		--with-eventfd
-		--with-cython
-		--without-kinetic
-		--without-librocksdb
-		--with-systemdsystemunitdir="$(systemd_get_systemunitdir)"
-	)
-
-	# we can only use python2.7 for building at the moment
-	ceph_run_econf "python2*"
-}
-
-ceph_run_econf() {
-	[[ -z ${ECONFARGS} ]] && die "called ${FUNCNAME[0]} with ECONFARGS unset"
-	[[ -z ${1} ]] && die "called ${FUNCNAME[0]} without passing python implementation"
-
-	pushd "${S}" >/dev/null || die
-	#
-	# This generates a QA warning about running econf in src_compile
-	# and src_install. Unfortunately the only other way to do this would
-	# involve building all of for each python implementation times, which
-	# wastes a _lot_ of CPU time and disk space. This hack will no longer
-	# be needed with >=ceph-11.2.
-	#
-	python_setup "${1}"
-	econf "${ECONFARGS[@]}"
-
-	popd >/dev/null || die
-}
-
-src_compile() {
-	emake
-	emake_python_bindings all
-
-	use test && emake check-local
-}
-
-src_test() {
-	make check || die "make check failed"
-}
-
-src_install() {
-	default
-	emake_python_bindings install-exec "DESTDIR=\"${D}\""
-
-	prune_libtool_files --all
-
-	exeinto /usr/$(get_libdir)/ceph
-	newexe src/init-ceph ceph_init.sh
-
-	insinto /etc/logrotate.d/
-	newins "${FILESDIR}"/ceph.logrotate ${PN}
-
-	keepdir /var/lib/${PN}{,/tmp} /var/log/${PN}/stat
-
-	fowners -R ceph:ceph /var/lib/ceph /var/log/ceph
-
-	newinitd "${FILESDIR}/rbdmap.initd" rbdmap
-	newinitd "${FILESDIR}/${PN}.initd-r3" ${PN}
-	newconfd "${FILESDIR}/${PN}.confd-r1" ${PN}
-
-	systemd_install_serviced "${FILESDIR}/ceph-mds_at.service.conf" "ceph-mds@.service"
-	systemd_install_serviced "${FILESDIR}/ceph-osd_at.service.conf" "ceph-osd@.service"
-
-	udev_dorules udev/*.rules
-
-	readme.gentoo_create_doc
-
-	python_setup 'python2*'
-	python_fix_shebang "${ED}"/usr/{,s}bin/
-
-	# python_fix_shebang apparently is not idempotent
-	sed -i -r  's:(/usr/lib/python-exec/python[0-9]\.[0-9]/python)[0-9]\.[0-9]:\1:' \
-		"${ED}"/usr/{sbin/ceph-disk,bin/ceph-detect-init} || die "sed failed"
-}
-
-pkg_postinst() {
-	readme.gentoo_print_elog
-}

diff --git a/sys-cluster/ceph/ceph-10.2.5-r4.ebuild b/sys-cluster/ceph/ceph-10.2.5-r4.ebuild
deleted file mode 100644
index 072e143d578..00000000000
--- a/sys-cluster/ceph/ceph-10.2.5-r4.ebuild
+++ /dev/null
@@ -1,292 +0,0 @@
-# Copyright 1999-2017 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-PYTHON_COMPAT=( python{2_7,3_{4,5,6}} )
-
-inherit check-reqs autotools eutils python-r1 udev user \
-	readme.gentoo-r1 systemd versionator flag-o-matic
-
-if [[ ${PV} == *9999* ]]; then
-	inherit git-r3
-	EGIT_REPO_URI="
-		git://github.com/ceph/ceph.git
-		https://github.com/ceph/ceph.git"
-	SRC_URI=""
-else
-	SRC_URI="http://ceph.com/download/${P}.tar.gz"
-	KEYWORDS="~amd64 ~arm ~ppc ~ppc64 ~x86"
-fi
-
-DESCRIPTION="Ceph distributed filesystem"
-HOMEPAGE="http://ceph.com/"
-
-LICENSE="LGPL-2.1"
-SLOT="0"
-
-IUSE="babeltrace cephfs cryptopp debug fuse gtk jemalloc ldap +libaio"
-IUSE+=" libatomic lttng +nss +radosgw static-libs +tcmalloc test xfs zfs"
-
-# unbundling code commented out pending bugs 584056 and 584058
-#>=dev-libs/jerasure-2.0.0-r1
-#>=dev-libs/gf-complete-2.0.0
-COMMON_DEPEND="
-	app-arch/snappy
-	app-arch/lz4:=
-	app-arch/bzip2
-	dev-libs/boost:=[threads]
-	dev-libs/libaio
-	dev-libs/leveldb[snappy]
-	nss? ( dev-libs/nss )
-	libatomic? ( dev-libs/libatomic_ops )
-	cryptopp? ( dev-libs/crypto++:= )
-	sys-apps/keyutils
-	sys-apps/util-linux
-	dev-libs/libxml2
-	radosgw? ( dev-libs/fcgi )
-	ldap? ( net-nds/openldap )
-	babeltrace? ( dev-util/babeltrace )
-	fuse? ( sys-fs/fuse:0 )
-	xfs? ( sys-fs/xfsprogs )
-	zfs? ( sys-fs/zfs )
-	gtk? (
-		x11-libs/gtk+:2
-		dev-cpp/gtkmm:2.4
-		gnome-base/librsvg
-	)
-	radosgw? (
-		dev-libs/fcgi
-		dev-libs/expat
-		net-misc/curl
-	)
-	jemalloc? ( dev-libs/jemalloc )
-	!jemalloc? ( dev-util/google-perftools )
-	lttng? ( dev-util/lttng-ust )
-	${PYTHON_DEPS}
-	"
-DEPEND="${COMMON_DEPEND}
-	dev-python/cython[${PYTHON_USEDEP}]
-	app-arch/cpio
-	sys-apps/lsb-release
-	virtual/pkgconfig
-	dev-python/sphinx
-	test? (
-		sys-fs/btrfs-progs
-		sys-apps/grep[pcre]
-		dev-python/tox[${PYTHON_USEDEP}]
-		dev-python/virtualenv[${PYTHON_USEDEP}]
-	)"
-RDEPEND="${COMMON_DEPEND}
-	sys-apps/hdparm
-	sys-block/parted
-	sys-fs/cryptsetup
-	sys-apps/gptfdisk
-	dev-python/flask[${PYTHON_USEDEP}]
-	dev-python/requests[${PYTHON_USEDEP}]
-	"
-REQUIRED_USE="
-	$(python_gen_useflags 'python2*')
-	${PYTHON_REQUIRED_USE}
-	^^ ( nss cryptopp )
-	?? ( jemalloc tcmalloc )
-	"
-
-# work around bug in ceph compilation (rgw/ceph_dencoder-rgw_dencoder.o... undefined reference to `vtable for RGWZoneGroup')
-REQUIRED_USE+=" radosgw"
-
-RESTRICT="test? ( userpriv )"
-
-# distribution tarball does not include everything needed for tests
-RESTRICT+=" test"
-
-STRIP_MASK="/usr/lib*/rados-classes/*"
-
-UNBUNDLE_LIBS=(
-	src/erasure-code/jerasure/jerasure
-	src/erasure-code/jerasure/gf-complete
-)
-
-PATCHES=(
-	"${FILESDIR}/ceph-10.2.0-dont-use-virtualenvs.patch"
-	#"${FILESDIR}/ceph-10.2.1-unbundle-jerasure.patch"
-	"${FILESDIR}/${PN}-10.2.1-libzfs.patch"
-	"${FILESDIR}/${PN}-10.2.3-build-without-openldap.patch"
-	"${FILESDIR}/${PN}-10.2.5-Make-RBD-Python-bindings-compatible-with-Python-3.patch"
-	"${FILESDIR}/${PN}-10.2.5-Make-CephFS-bindings-and-tests-compatible-with-Python-3.patch"
-)
-
-check-reqs_export_vars() {
-	if use debug; then
-		CHECKREQS_DISK_BUILD="23G"
-		CHECKREQS_DISK_USR="7G"
-	elif use amd64; then
-		CHECKREQS_DISK_BUILD="12G"
-		CHECKREQS_DISK_USR="450M"
-	else
-		CHECKREQS_DISK_BUILD="1400M"
-		CHECKREQS_DISK_USR="450M"
-	fi
-
-	export CHECKREQS_DISK_BUILD CHECKREQS_DISK_USR
-}
-
-user_setup() {
-	enewgroup ceph ${CEPH_GID}
-	enewuser ceph "${CEPH_UID:--1}" -1 /var/lib/ceph ceph
-}
-
-emake_python_bindings() {
-	local action="${1}" params binding module
-	shift
-	params=("${@}")
-
-	__emake_python_bindings_do_impl() {
-		ceph_run_econf "${EPYTHON}"
-		emake "${params[@]}" PYTHON="${EPYTHON}" "${binding}-pybind-${action}"
-
-		# these don't work and aren't needed on python3
-		if [[ ${EBUILD_PHASE} == install ]]; then
-			for module in "${S}"/src/pybind/*.py; do
-				module_basename="$(basename "${module}")"
-				if [[ ${module_basename} == ceph_volume_client.py ]] && ! use cephfs; then
-					continue
-				elif [[ ! -e "${ED}/$(python_get_sitedir)/${module_basename}" ]]; then
-					python_domodule ${module}
-				fi
-			done
-		fi
-	}
-
-	pushd "${S}/src"
-	for binding in rados rbd $(use cephfs && echo cephfs); do
-		python_foreach_impl __emake_python_bindings_do_impl
-	done
-	popd
-
-	unset __emake_python_bindings_do_impl
-}
-
-pkg_pretend() {
-	check-reqs_export_vars
-	check-reqs_pkg_pretend
-}
-
-pkg_setup() {
-	python_setup
-	check-reqs_export_vars
-	check-reqs_pkg_setup
-	user_setup
-}
-
-src_prepare() {
-	default
-
-	# remove tests that need root access
-	rm src/test/cli/ceph-authtool/cap*.t
-
-	#rm -rf "${UNBUNDLE_LIBS[@]}"
-
-	append-flags -fPIC
-	eautoreconf
-}
-
-src_configure() {
-	ECONFARGS=(
-		--without-hadoop
-		--includedir=/usr/include
-		$(use_with cephfs)
-		$(use_with debug)
-		$(use_with fuse)
-		$(use_with libaio)
-		$(use_with libatomic libatomic-ops)
-		$(use_with nss)
-		$(use_with cryptopp)
-		$(use_with radosgw)
-		$(use_with gtk gtk2)
-		$(use_enable static-libs static)
-		$(use_with jemalloc)
-		$(use_with xfs libxfs)
-		$(use_with zfs libzfs)
-		$(use_with lttng )
-		$(use_with babeltrace)
-		$(use_with ldap openldap)
-		$(use jemalloc || usex tcmalloc " --with-tcmalloc" " --with-tcmalloc-minimal")
-		--with-mon
-		--with-eventfd
-		--with-cython
-		--without-kinetic
-		--without-librocksdb
-		--with-systemdsystemunitdir="$(systemd_get_systemunitdir)"
-	)
-
-	# we can only use python2.7 for building at the moment
-	ceph_run_econf "python2*"
-}
-
-ceph_run_econf() {
-	[[ -z ${ECONFARGS} ]] && die "called ${FUNCNAME[0]} with ECONFARGS unset"
-	[[ -z ${1} ]] && die "called ${FUNCNAME[0]} without passing python implementation"
-
-	pushd "${S}" >/dev/null || die
-	#
-	# This generates a QA warning about running econf in src_compile
-	# and src_install. Unfortunately the only other way to do this would
-	# involve building all of for each python implementation times, which
-	# wastes a _lot_ of CPU time and disk space. This hack will no longer
-	# be needed with >=ceph-11.2.
-	#
-	python_setup "${1}"
-	econf "${ECONFARGS[@]}"
-
-	popd >/dev/null || die
-}
-
-src_compile() {
-	emake
-	emake_python_bindings all
-
-	use test && emake check-local
-}
-
-src_test() {
-	make check || die "make check failed"
-}
-
-src_install() {
-	default
-	emake_python_bindings install-exec "DESTDIR=\"${D}\""
-
-	prune_libtool_files --all
-
-	exeinto /usr/$(get_libdir)/ceph
-	newexe src/init-ceph ceph_init.sh
-
-	insinto /etc/logrotate.d/
-	newins "${FILESDIR}"/ceph.logrotate ${PN}
-
-	keepdir /var/lib/${PN}{,/tmp} /var/log/${PN}/stat
-
-	fowners -R ceph:ceph /var/lib/ceph /var/log/ceph
-
-	newinitd "${FILESDIR}/rbdmap.initd" rbdmap
-	newinitd "${FILESDIR}/${PN}.initd-r3" ${PN}
-	newconfd "${FILESDIR}/${PN}.confd-r1" ${PN}
-
-	systemd_install_serviced "${FILESDIR}/ceph-mds_at.service.conf" "ceph-mds@.service"
-	systemd_install_serviced "${FILESDIR}/ceph-osd_at.service.conf" "ceph-osd@.service"
-
-	udev_dorules udev/*.rules
-
-	readme.gentoo_create_doc
-
-	python_setup 'python2*'
-	python_fix_shebang "${ED}"/usr/{,s}bin/
-
-	# python_fix_shebang apparently is not idempotent
-	sed -i -r  's:(/usr/lib/python-exec/python[0-9]\.[0-9]/python)[0-9]\.[0-9]:\1:' \
-		"${ED}"/usr/{sbin/ceph-disk,bin/ceph-detect-init} || die "sed failed"
-}
-
-pkg_postinst() {
-	readme.gentoo_print_elog
-}

diff --git a/sys-cluster/ceph/ceph-10.2.5-r5.ebuild b/sys-cluster/ceph/ceph-10.2.5-r5.ebuild
deleted file mode 100644
index 81523b24898..00000000000
--- a/sys-cluster/ceph/ceph-10.2.5-r5.ebuild
+++ /dev/null
@@ -1,292 +0,0 @@
-# Copyright 1999-2017 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-PYTHON_COMPAT=( python{2_7,3_{4,5,6}} )
-
-inherit check-reqs autotools eutils python-r1 udev user \
-	readme.gentoo-r1 systemd versionator flag-o-matic
-
-if [[ ${PV} == *9999* ]]; then
-	inherit git-r3
-	EGIT_REPO_URI="
-		git://github.com/ceph/ceph.git
-		https://github.com/ceph/ceph.git"
-	SRC_URI=""
-else
-	SRC_URI="http://ceph.com/download/${P}.tar.gz"
-	KEYWORDS="~amd64 ~arm ~ppc ~ppc64 ~x86"
-fi
-
-DESCRIPTION="Ceph distributed filesystem"
-HOMEPAGE="http://ceph.com/"
-
-LICENSE="LGPL-2.1"
-SLOT="0"
-
-IUSE="babeltrace cephfs cryptopp debug fuse gtk jemalloc ldap +libaio"
-IUSE+=" libatomic lttng +nss +radosgw static-libs +tcmalloc test xfs zfs"
-
-# unbundling code commented out pending bugs 584056 and 584058
-#>=dev-libs/jerasure-2.0.0-r1
-#>=dev-libs/gf-complete-2.0.0
-COMMON_DEPEND="
-	app-arch/snappy
-	app-arch/lz4:=
-	app-arch/bzip2
-	dev-libs/boost:=[threads]
-	dev-libs/libaio
-	dev-libs/leveldb[snappy]
-	nss? ( dev-libs/nss )
-	libatomic? ( dev-libs/libatomic_ops )
-	cryptopp? ( dev-libs/crypto++:= )
-	sys-apps/keyutils
-	sys-apps/util-linux
-	dev-libs/libxml2
-	radosgw? ( dev-libs/fcgi )
-	ldap? ( net-nds/openldap )
-	babeltrace? ( dev-util/babeltrace )
-	fuse? ( sys-fs/fuse:0 )
-	xfs? ( sys-fs/xfsprogs )
-	zfs? ( sys-fs/zfs )
-	gtk? (
-		x11-libs/gtk+:2
-		dev-cpp/gtkmm:2.4
-		gnome-base/librsvg
-	)
-	radosgw? (
-		dev-libs/fcgi
-		dev-libs/expat
-		net-misc/curl
-	)
-	jemalloc? ( dev-libs/jemalloc )
-	!jemalloc? ( dev-util/google-perftools )
-	lttng? ( dev-util/lttng-ust )
-	${PYTHON_DEPS}
-	"
-DEPEND="${COMMON_DEPEND}
-	dev-python/cython[${PYTHON_USEDEP}]
-	app-arch/cpio
-	sys-apps/lsb-release
-	virtual/pkgconfig
-	dev-python/sphinx
-	test? (
-		sys-fs/btrfs-progs
-		sys-apps/grep[pcre]
-		dev-python/tox[${PYTHON_USEDEP}]
-		dev-python/virtualenv[${PYTHON_USEDEP}]
-	)"
-RDEPEND="${COMMON_DEPEND}
-	sys-apps/hdparm
-	sys-block/parted
-	sys-fs/cryptsetup
-	sys-apps/gptfdisk
-	dev-python/flask[${PYTHON_USEDEP}]
-	dev-python/requests[${PYTHON_USEDEP}]
-	"
-REQUIRED_USE="
-	$(python_gen_useflags 'python2*')
-	${PYTHON_REQUIRED_USE}
-	^^ ( nss cryptopp )
-	?? ( jemalloc tcmalloc )
-	"
-
-# work around bug in ceph compilation (rgw/ceph_dencoder-rgw_dencoder.o... undefined reference to `vtable for RGWZoneGroup')
-REQUIRED_USE+=" radosgw"
-
-RESTRICT="test? ( userpriv )"
-
-# distribution tarball does not include everything needed for tests
-RESTRICT+=" test"
-
-STRIP_MASK="/usr/lib*/rados-classes/*"
-
-UNBUNDLE_LIBS=(
-	src/erasure-code/jerasure/jerasure
-	src/erasure-code/jerasure/gf-complete
-)
-
-PATCHES=(
-	"${FILESDIR}/ceph-10.2.0-dont-use-virtualenvs.patch"
-	#"${FILESDIR}/ceph-10.2.1-unbundle-jerasure.patch"
-	"${FILESDIR}/${PN}-10.2.1-libzfs.patch"
-	"${FILESDIR}/${PN}-10.2.3-build-without-openldap.patch"
-	"${FILESDIR}/${PN}-10.2.5-Make-RBD-Python-bindings-compatible-with-Python-3.patch"
-	"${FILESDIR}/${PN}-10.2.5-Make-CephFS-bindings-and-tests-compatible-with-Python-3.patch"
-)
-
-check-reqs_export_vars() {
-	if use debug; then
-		CHECKREQS_DISK_BUILD="23G"
-		CHECKREQS_DISK_USR="7G"
-	elif use amd64; then
-		CHECKREQS_DISK_BUILD="12G"
-		CHECKREQS_DISK_USR="450M"
-	else
-		CHECKREQS_DISK_BUILD="1400M"
-		CHECKREQS_DISK_USR="450M"
-	fi
-
-	export CHECKREQS_DISK_BUILD CHECKREQS_DISK_USR
-}
-
-user_setup() {
-	enewgroup ceph ${CEPH_GID}
-	enewuser ceph "${CEPH_UID:--1}" -1 /var/lib/ceph ceph
-}
-
-emake_python_bindings() {
-	local action="${1}" params binding module
-	shift
-	params=("${@}")
-
-	__emake_python_bindings_do_impl() {
-		ceph_run_econf "${EPYTHON}"
-		emake "${params[@]}" PYTHON="${EPYTHON}" "${binding}-pybind-${action}"
-
-		# these don't work and aren't needed on python3
-		if [[ ${EBUILD_PHASE} == install ]]; then
-			for module in "${S}"/src/pybind/*.py; do
-				module_basename="$(basename "${module}")"
-				if [[ ${module_basename} == ceph_volume_client.py ]] && ! use cephfs; then
-					continue
-				elif [[ ! -e "${ED}/$(python_get_sitedir)/${module_basename}" ]]; then
-					python_domodule ${module}
-				fi
-			done
-		fi
-	}
-
-	pushd "${S}/src"
-	for binding in rados rbd $(use cephfs && echo cephfs); do
-		python_foreach_impl __emake_python_bindings_do_impl
-	done
-	popd
-
-	unset __emake_python_bindings_do_impl
-}
-
-pkg_pretend() {
-	check-reqs_export_vars
-	check-reqs_pkg_pretend
-}
-
-pkg_setup() {
-	python_setup
-	check-reqs_export_vars
-	check-reqs_pkg_setup
-	user_setup
-}
-
-src_prepare() {
-	default
-
-	# remove tests that need root access
-	rm src/test/cli/ceph-authtool/cap*.t
-
-	#rm -rf "${UNBUNDLE_LIBS[@]}"
-
-	append-flags -fPIC
-	eautoreconf
-}
-
-src_configure() {
-	ECONFARGS=(
-		--without-hadoop
-		--includedir=/usr/include
-		$(use_with cephfs)
-		$(use_with debug)
-		$(use_with fuse)
-		$(use_with libaio)
-		$(use_with libatomic libatomic-ops)
-		$(use_with nss)
-		$(use_with cryptopp)
-		$(use_with radosgw)
-		$(use_with gtk gtk2)
-		$(use_enable static-libs static)
-		$(use_with jemalloc)
-		$(use_with xfs libxfs)
-		$(use_with zfs libzfs)
-		$(use_with lttng )
-		$(use_with babeltrace)
-		$(use_with ldap openldap)
-		$(use jemalloc || usex tcmalloc " --with-tcmalloc" " --with-tcmalloc-minimal")
-		--with-mon
-		--with-eventfd
-		--with-cython
-		--without-kinetic
-		--without-librocksdb
-		--with-systemdsystemunitdir="$(systemd_get_systemunitdir)"
-	)
-
-	# we can only use python2.7 for building at the moment
-	ceph_run_econf "python2*"
-}
-
-ceph_run_econf() {
-	[[ -z ${ECONFARGS} ]] && die "called ${FUNCNAME[0]} with ECONFARGS unset"
-	[[ -z ${1} ]] && die "called ${FUNCNAME[0]} without passing python implementation"
-
-	pushd "${S}" >/dev/null || die
-	#
-	# This generates a QA warning about running econf in src_compile
-	# and src_install. Unfortunately the only other way to do this would
-	# involve building all of for each python implementation times, which
-	# wastes a _lot_ of CPU time and disk space. This hack will no longer
-	# be needed with >=ceph-11.2.
-	#
-	python_setup "${1}"
-	econf "${ECONFARGS[@]}"
-
-	popd >/dev/null || die
-}
-
-src_compile() {
-	emake
-	emake_python_bindings all
-
-	use test && emake check-local
-}
-
-src_test() {
-	make check || die "make check failed"
-}
-
-src_install() {
-	default
-	emake_python_bindings install-exec "DESTDIR=\"${D}\""
-
-	prune_libtool_files --all
-
-	exeinto /usr/$(get_libdir)/ceph
-	newexe src/init-ceph ceph_init.sh
-
-	insinto /etc/logrotate.d/
-	newins "${FILESDIR}"/ceph.logrotate ${PN}
-
-	keepdir /var/lib/${PN}{,/tmp} /var/log/${PN}/stat
-
-	fowners -R ceph:ceph /var/lib/ceph /var/log/ceph
-
-	newinitd "${FILESDIR}/rbdmap.initd" rbdmap
-	newinitd "${FILESDIR}/${PN}.initd-r4" ${PN}
-	newconfd "${FILESDIR}/${PN}.confd-r2" ${PN}
-
-	systemd_install_serviced "${FILESDIR}/ceph-mds_at.service.conf" "ceph-mds@.service"
-	systemd_install_serviced "${FILESDIR}/ceph-osd_at.service.conf" "ceph-osd@.service"
-
-	udev_dorules udev/*.rules
-
-	readme.gentoo_create_doc
-
-	python_setup 'python2*'
-	python_fix_shebang "${ED}"/usr/{,s}bin/
-
-	# python_fix_shebang apparently is not idempotent
-	sed -i -r  's:(/usr/lib/python-exec/python[0-9]\.[0-9]/python)[0-9]\.[0-9]:\1:' \
-		"${ED}"/usr/{sbin/ceph-disk,bin/ceph-detect-init} || die "sed failed"
-}
-
-pkg_postinst() {
-	readme.gentoo_print_elog
-}

diff --git a/sys-cluster/ceph/ceph-10.2.6-r1.ebuild b/sys-cluster/ceph/ceph-10.2.6-r1.ebuild
deleted file mode 100644
index 843b516b452..00000000000
--- a/sys-cluster/ceph/ceph-10.2.6-r1.ebuild
+++ /dev/null
@@ -1,292 +0,0 @@
-# Copyright 1999-2017 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-PYTHON_COMPAT=( python{2_7,3_{4,5,6}} )
-
-inherit check-reqs autotools eutils python-r1 udev user \
-	readme.gentoo-r1 systemd versionator flag-o-matic
-
-if [[ ${PV} == *9999* ]]; then
-	inherit git-r3
-	EGIT_REPO_URI="
-		git://github.com/ceph/ceph.git
-		https://github.com/ceph/ceph.git"
-	SRC_URI=""
-else
-	SRC_URI="http://download.ceph.com/tarballs/${P}.tar.gz"
-	KEYWORDS="~amd64 ~arm ~ppc ~ppc64 ~x86"
-fi
-
-DESCRIPTION="Ceph distributed filesystem"
-HOMEPAGE="http://ceph.com/"
-
-LICENSE="LGPL-2.1"
-SLOT="0"
-
-IUSE="babeltrace cephfs cryptopp debug fuse gtk jemalloc ldap +libaio"
-IUSE+=" libatomic lttng +nss +radosgw static-libs +tcmalloc test xfs zfs"
-
-# unbundling code commented out pending bugs 584056 and 584058
-#>=dev-libs/jerasure-2.0.0-r1
-#>=dev-libs/gf-complete-2.0.0
-COMMON_DEPEND="
-	app-arch/snappy
-	app-arch/lz4:=
-	app-arch/bzip2
-	dev-libs/boost:=[threads]
-	dev-libs/libaio
-	dev-libs/leveldb[snappy]
-	nss? ( dev-libs/nss )
-	libatomic? ( dev-libs/libatomic_ops )
-	cryptopp? ( dev-libs/crypto++:= )
-	sys-apps/keyutils
-	sys-apps/util-linux
-	dev-libs/libxml2
-	radosgw? ( dev-libs/fcgi )
-	ldap? ( net-nds/openldap )
-	babeltrace? ( dev-util/babeltrace )
-	fuse? ( sys-fs/fuse:0 )
-	xfs? ( sys-fs/xfsprogs )
-	zfs? ( sys-fs/zfs )
-	gtk? (
-		x11-libs/gtk+:2
-		dev-cpp/gtkmm:2.4
-		gnome-base/librsvg
-	)
-	radosgw? (
-		dev-libs/fcgi
-		dev-libs/expat
-		net-misc/curl
-	)
-	jemalloc? ( dev-libs/jemalloc )
-	!jemalloc? ( dev-util/google-perftools )
-	lttng? ( dev-util/lttng-ust )
-	${PYTHON_DEPS}
-	"
-DEPEND="${COMMON_DEPEND}
-	dev-python/cython[${PYTHON_USEDEP}]
-	app-arch/cpio
-	virtual/pkgconfig
-	dev-python/sphinx
-	test? (
-		sys-fs/btrfs-progs
-		sys-apps/grep[pcre]
-		dev-python/tox[${PYTHON_USEDEP}]
-		dev-python/virtualenv[${PYTHON_USEDEP}]
-	)"
-RDEPEND="${COMMON_DEPEND}
-	sys-apps/hdparm
-	sys-block/parted
-	sys-fs/cryptsetup
-	sys-apps/gptfdisk
-	dev-python/flask[${PYTHON_USEDEP}]
-	dev-python/requests[${PYTHON_USEDEP}]
-	"
-REQUIRED_USE="
-	$(python_gen_useflags 'python2*')
-	${PYTHON_REQUIRED_USE}
-	^^ ( nss cryptopp )
-	?? ( jemalloc tcmalloc )
-	"
-
-# work around bug in ceph compilation (rgw/ceph_dencoder-rgw_dencoder.o... undefined reference to `vtable for RGWZoneGroup')
-REQUIRED_USE+=" radosgw"
-
-RESTRICT="test? ( userpriv )"
-
-# distribution tarball does not include everything needed for tests
-RESTRICT+=" test"
-
-STRIP_MASK="/usr/lib*/rados-classes/*"
-
-UNBUNDLE_LIBS=(
-	src/erasure-code/jerasure/jerasure
-	src/erasure-code/jerasure/gf-complete
-)
-
-PATCHES=(
-	"${FILESDIR}/ceph-10.2.0-dont-use-virtualenvs.patch"
-	#"${FILESDIR}/ceph-10.2.1-unbundle-jerasure.patch"
-	"${FILESDIR}/${PN}-10.2.1-libzfs.patch"
-	"${FILESDIR}/${PN}-10.2.3-build-without-openldap.patch"
-	"${FILESDIR}/${PN}-10.2.5-Make-RBD-Python-bindings-compatible-with-Python-3.patch"
-	"${FILESDIR}/${PN}-10.2.5-Make-CephFS-bindings-and-tests-compatible-with-Python-3.patch"
-	"${FILESDIR}/${PN}-10.2.6-radosgw-swift-clean-up-flush-newline-behavior.patch"
-)
-
-check-reqs_export_vars() {
-	if use debug; then
-		CHECKREQS_DISK_BUILD="23G"
-		CHECKREQS_DISK_USR="7G"
-	elif use amd64; then
-		CHECKREQS_DISK_BUILD="12G"
-		CHECKREQS_DISK_USR="450M"
-	else
-		CHECKREQS_DISK_BUILD="1400M"
-		CHECKREQS_DISK_USR="450M"
-	fi
-
-	export CHECKREQS_DISK_BUILD CHECKREQS_DISK_USR
-}
-
-user_setup() {
-	enewgroup ceph ${CEPH_GID}
-	enewuser ceph "${CEPH_UID:--1}" -1 /var/lib/ceph ceph
-}
-
-emake_python_bindings() {
-	local action="${1}" params binding module
-	shift
-	params=("${@}")
-
-	__emake_python_bindings_do_impl() {
-		ceph_run_econf "${EPYTHON}"
-		emake "${params[@]}" PYTHON="${EPYTHON}" "${binding}-pybind-${action}"
-
-		# these don't work and aren't needed on python3
-		if [[ ${EBUILD_PHASE} == install ]]; then
-			for module in "${S}"/src/pybind/*.py; do
-				module_basename="$(basename "${module}")"
-				if [[ ${module_basename} == ceph_volume_client.py ]] && ! use cephfs; then
-					continue
-				elif [[ ! -e "${ED}/$(python_get_sitedir)/${module_basename}" ]]; then
-					python_domodule ${module}
-				fi
-			done
-		fi
-	}
-
-	pushd "${S}/src"
-	for binding in rados rbd $(use cephfs && echo cephfs); do
-		python_foreach_impl __emake_python_bindings_do_impl
-	done
-	popd
-
-	unset __emake_python_bindings_do_impl
-}
-
-pkg_pretend() {
-	check-reqs_export_vars
-	check-reqs_pkg_pretend
-}
-
-pkg_setup() {
-	python_setup
-	check-reqs_export_vars
-	check-reqs_pkg_setup
-	user_setup
-}
-
-src_prepare() {
-	default
-
-	# remove tests that need root access
-	rm src/test/cli/ceph-authtool/cap*.t
-
-	#rm -rf "${UNBUNDLE_LIBS[@]}"
-
-	append-flags -fPIC
-	eautoreconf
-}
-
-src_configure() {
-	ECONFARGS=(
-		--without-hadoop
-		--includedir=/usr/include
-		$(use_with cephfs)
-		$(use_with debug)
-		$(use_with fuse)
-		$(use_with libaio)
-		$(use_with libatomic libatomic-ops)
-		$(use_with nss)
-		$(use_with cryptopp)
-		$(use_with radosgw)
-		$(use_with gtk gtk2)
-		$(use_enable static-libs static)
-		$(use_with jemalloc)
-		$(use_with xfs libxfs)
-		$(use_with zfs libzfs)
-		$(use_with lttng )
-		$(use_with babeltrace)
-		$(use_with ldap openldap)
-		$(use jemalloc || usex tcmalloc " --with-tcmalloc" " --with-tcmalloc-minimal")
-		--with-mon
-		--with-eventfd
-		--with-cython
-		--without-kinetic
-		--without-librocksdb
-		--with-systemdsystemunitdir="$(systemd_get_systemunitdir)"
-	)
-
-	# we can only use python2.7 for building at the moment
-	ceph_run_econf "python2*"
-}
-
-ceph_run_econf() {
-	[[ -z ${ECONFARGS} ]] && die "called ${FUNCNAME[0]} with ECONFARGS unset"
-	[[ -z ${1} ]] && die "called ${FUNCNAME[0]} without passing python implementation"
-
-	pushd "${S}" >/dev/null || die
-	#
-	# This generates a QA warning about running econf in src_compile
-	# and src_install. Unfortunately the only other way to do this would
-	# involve building all of for each python implementation times, which
-	# wastes a _lot_ of CPU time and disk space. This hack will no longer
-	# be needed with >=ceph-11.2.
-	#
-	python_setup "${1}"
-	econf "${ECONFARGS[@]}"
-
-	popd >/dev/null || die
-}
-
-src_compile() {
-	emake
-	emake_python_bindings all
-
-	use test && emake check-local
-}
-
-src_test() {
-	make check || die "make check failed"
-}
-
-src_install() {
-	default
-	emake_python_bindings install-exec "DESTDIR=\"${D}\""
-
-	prune_libtool_files --all
-
-	exeinto /usr/$(get_libdir)/ceph
-	newexe src/init-ceph ceph_init.sh
-
-	insinto /etc/logrotate.d/
-	newins "${FILESDIR}"/ceph.logrotate ${PN}
-
-	keepdir /var/lib/${PN}{,/tmp} /var/log/${PN}/stat
-
-	fowners -R ceph:ceph /var/lib/ceph /var/log/ceph
-
-	newinitd "${FILESDIR}/rbdmap.initd" rbdmap
-	newinitd "${FILESDIR}/${PN}.initd-r4" ${PN}
-	newconfd "${FILESDIR}/${PN}.confd-r2" ${PN}
-
-	systemd_install_serviced "${FILESDIR}/ceph-mds_at.service.conf" "ceph-mds@.service"
-	systemd_install_serviced "${FILESDIR}/ceph-osd_at.service.conf" "ceph-osd@.service"
-
-	udev_dorules udev/*.rules
-
-	readme.gentoo_create_doc
-
-	python_setup 'python2*'
-	python_fix_shebang "${ED}"/usr/{,s}bin/
-
-	# python_fix_shebang apparently is not idempotent
-	sed -i -r  's:(/usr/lib/python-exec/python[0-9]\.[0-9]/python)[0-9]\.[0-9]:\1:' \
-		"${ED}"/usr/{sbin/ceph-disk,bin/ceph-detect-init} || die "sed failed"
-}
-
-pkg_postinst() {
-	readme.gentoo_print_elog
-}

diff --git a/sys-cluster/ceph/ceph-10.2.6.ebuild b/sys-cluster/ceph/ceph-10.2.6.ebuild
deleted file mode 100644
index df59b17133e..00000000000
--- a/sys-cluster/ceph/ceph-10.2.6.ebuild
+++ /dev/null
@@ -1,292 +0,0 @@
-# Copyright 1999-2017 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-PYTHON_COMPAT=( python{2_7,3_{4,5,6}} )
-
-inherit check-reqs autotools eutils python-r1 udev user \
-	readme.gentoo-r1 systemd versionator flag-o-matic
-
-if [[ ${PV} == *9999* ]]; then
-	inherit git-r3
-	EGIT_REPO_URI="
-		git://github.com/ceph/ceph.git
-		https://github.com/ceph/ceph.git"
-	SRC_URI=""
-else
-	SRC_URI="http://download.ceph.com/tarballs/${P}.tar.gz"
-	KEYWORDS="~amd64 ~arm ~ppc ~ppc64 ~x86"
-fi
-
-DESCRIPTION="Ceph distributed filesystem"
-HOMEPAGE="http://ceph.com/"
-
-LICENSE="LGPL-2.1"
-SLOT="0"
-
-IUSE="babeltrace cephfs cryptopp debug fuse gtk jemalloc ldap +libaio"
-IUSE+=" libatomic lttng +nss +radosgw static-libs +tcmalloc test xfs zfs"
-
-# unbundling code commented out pending bugs 584056 and 584058
-#>=dev-libs/jerasure-2.0.0-r1
-#>=dev-libs/gf-complete-2.0.0
-COMMON_DEPEND="
-	app-arch/snappy
-	app-arch/lz4:=
-	app-arch/bzip2
-	dev-libs/boost:=[threads]
-	dev-libs/libaio
-	dev-libs/leveldb[snappy]
-	nss? ( dev-libs/nss )
-	libatomic? ( dev-libs/libatomic_ops )
-	cryptopp? ( dev-libs/crypto++:= )
-	sys-apps/keyutils
-	sys-apps/util-linux
-	dev-libs/libxml2
-	radosgw? ( dev-libs/fcgi )
-	ldap? ( net-nds/openldap )
-	babeltrace? ( dev-util/babeltrace )
-	fuse? ( sys-fs/fuse:0 )
-	xfs? ( sys-fs/xfsprogs )
-	zfs? ( sys-fs/zfs )
-	gtk? (
-		x11-libs/gtk+:2
-		dev-cpp/gtkmm:2.4
-		gnome-base/librsvg
-	)
-	radosgw? (
-		dev-libs/fcgi
-		dev-libs/expat
-		net-misc/curl
-	)
-	jemalloc? ( dev-libs/jemalloc )
-	!jemalloc? ( dev-util/google-perftools )
-	lttng? ( dev-util/lttng-ust )
-	${PYTHON_DEPS}
-	"
-DEPEND="${COMMON_DEPEND}
-	dev-python/cython[${PYTHON_USEDEP}]
-	app-arch/cpio
-	virtual/pkgconfig
-	dev-python/sphinx
-	test? (
-		sys-fs/btrfs-progs
-		sys-apps/grep[pcre]
-		dev-python/tox[${PYTHON_USEDEP}]
-		dev-python/virtualenv[${PYTHON_USEDEP}]
-	)"
-RDEPEND="${COMMON_DEPEND}
-	sys-apps/hdparm
-	sys-block/parted
-	sys-fs/cryptsetup
-	sys-apps/gptfdisk
-	dev-python/flask[${PYTHON_USEDEP}]
-	dev-python/requests[${PYTHON_USEDEP}]
-	"
-REQUIRED_USE="
-	$(python_gen_useflags 'python2*')
-	${PYTHON_REQUIRED_USE}
-	^^ ( nss cryptopp )
-	?? ( jemalloc tcmalloc )
-	"
-
-# work around bug in ceph compilation (rgw/ceph_dencoder-rgw_dencoder.o... undefined reference to `vtable for RGWZoneGroup')
-REQUIRED_USE+=" radosgw"
-
-RESTRICT="test? ( userpriv )"
-
-# distribution tarball does not include everything needed for tests
-RESTRICT+=" test"
-
-STRIP_MASK="/usr/lib*/rados-classes/*"
-
-UNBUNDLE_LIBS=(
-	src/erasure-code/jerasure/jerasure
-	src/erasure-code/jerasure/gf-complete
-)
-
-PATCHES=(
-	"${FILESDIR}/ceph-10.2.0-dont-use-virtualenvs.patch"
-	#"${FILESDIR}/ceph-10.2.1-unbundle-jerasure.patch"
-	"${FILESDIR}/${PN}-10.2.1-libzfs.patch"
-	"${FILESDIR}/${PN}-10.2.3-build-without-openldap.patch"
-	"${FILESDIR}/${PN}-10.2.5-Make-RBD-Python-bindings-compatible-with-Python-3.patch"
-	"${FILESDIR}/${PN}-10.2.5-Make-CephFS-bindings-and-tests-compatible-with-Python-3.patch"
-	"${FILESDIR}/${PN}-10.2.6-radosgw-swift-clean-up-flush-newline-behavior.patch"
-)
-
-check-reqs_export_vars() {
-	if use debug; then
-		CHECKREQS_DISK_BUILD="23G"
-		CHECKREQS_DISK_USR="7G"
-	elif use amd64; then
-		CHECKREQS_DISK_BUILD="12G"
-		CHECKREQS_DISK_USR="450M"
-	else
-		CHECKREQS_DISK_BUILD="1400M"
-		CHECKREQS_DISK_USR="450M"
-	fi
-
-	export CHECKREQS_DISK_BUILD CHECKREQS_DISK_USR
-}
-
-user_setup() {
-	enewgroup ceph ${CEPH_GID}
-	enewuser ceph "${CEPH_UID:--1}" -1 /var/lib/ceph ceph
-}
-
-emake_python_bindings() {
-	local action="${1}" params binding module
-	shift
-	params=("${@}")
-
-	__emake_python_bindings_do_impl() {
-		ceph_run_econf "${EPYTHON}"
-		emake "${params[@]}" PYTHON="${EPYTHON}" "${binding}-pybind-${action}"
-
-		# these don't work and aren't needed on python3
-		if [[ ${EBUILD_PHASE} == install ]]; then
-			for module in "${S}"/src/pybind/*.py; do
-				module_basename="$(basename "${module}")"
-				if [[ ${module_basename} == ceph_volume_client.py ]] && ! use cephfs; then
-					continue
-				elif [[ ! -e "${ED}/$(python_get_sitedir)/${module_basename}" ]]; then
-					python_domodule ${module}
-				fi
-			done
-		fi
-	}
-
-	pushd "${S}/src"
-	for binding in rados rbd $(use cephfs && echo cephfs); do
-		python_foreach_impl __emake_python_bindings_do_impl
-	done
-	popd
-
-	unset __emake_python_bindings_do_impl
-}
-
-pkg_pretend() {
-	check-reqs_export_vars
-	check-reqs_pkg_pretend
-}
-
-pkg_setup() {
-	python_setup
-	check-reqs_export_vars
-	check-reqs_pkg_setup
-	user_setup
-}
-
-src_prepare() {
-	default
-
-	# remove tests that need root access
-	rm src/test/cli/ceph-authtool/cap*.t
-
-	#rm -rf "${UNBUNDLE_LIBS[@]}"
-
-	append-flags -fPIC
-	eautoreconf
-}
-
-src_configure() {
-	ECONFARGS=(
-		--without-hadoop
-		--includedir=/usr/include
-		$(use_with cephfs)
-		$(use_with debug)
-		$(use_with fuse)
-		$(use_with libaio)
-		$(use_with libatomic libatomic-ops)
-		$(use_with nss)
-		$(use_with cryptopp)
-		$(use_with radosgw)
-		$(use_with gtk gtk2)
-		$(use_enable static-libs static)
-		$(use_with jemalloc)
-		$(use_with xfs libxfs)
-		$(use_with zfs libzfs)
-		$(use_with lttng )
-		$(use_with babeltrace)
-		$(use_with ldap openldap)
-		$(use jemalloc || usex tcmalloc " --with-tcmalloc" " --with-tcmalloc-minimal")
-		--with-mon
-		--with-eventfd
-		--with-cython
-		--without-kinetic
-		--without-librocksdb
-		--with-systemdsystemunitdir="$(systemd_get_systemunitdir)"
-	)
-
-	# we can only use python2.7 for building at the moment
-	ceph_run_econf "python2*"
-}
-
-ceph_run_econf() {
-	[[ -z ${ECONFARGS} ]] && die "called ${FUNCNAME[0]} with ECONFARGS unset"
-	[[ -z ${1} ]] && die "called ${FUNCNAME[0]} without passing python implementation"
-
-	pushd "${S}" >/dev/null || die
-	#
-	# This generates a QA warning about running econf in src_compile
-	# and src_install. Unfortunately the only other way to do this would
-	# involve building all of for each python implementation times, which
-	# wastes a _lot_ of CPU time and disk space. This hack will no longer
-	# be needed with >=ceph-11.2.
-	#
-	python_setup "${1}"
-	econf "${ECONFARGS[@]}"
-
-	popd >/dev/null || die
-}
-
-src_compile() {
-	emake
-	emake_python_bindings all
-
-	use test && emake check-local
-}
-
-src_test() {
-	make check || die "make check failed"
-}
-
-src_install() {
-	default
-	emake_python_bindings install-exec "DESTDIR=\"${D}\""
-
-	prune_libtool_files --all
-
-	exeinto /usr/$(get_libdir)/ceph
-	newexe src/init-ceph ceph_init.sh
-
-	insinto /etc/logrotate.d/
-	newins "${FILESDIR}"/ceph.logrotate ${PN}
-
-	keepdir /var/lib/${PN}{,/tmp} /var/log/${PN}/stat
-
-	fowners -R ceph:ceph /var/lib/ceph /var/log/ceph
-
-	newinitd "${FILESDIR}/rbdmap.initd" rbdmap
-	newinitd "${FILESDIR}/${PN}.initd-r3" ${PN}
-	newconfd "${FILESDIR}/${PN}.confd-r1" ${PN}
-
-	systemd_install_serviced "${FILESDIR}/ceph-mds_at.service.conf" "ceph-mds@.service"
-	systemd_install_serviced "${FILESDIR}/ceph-osd_at.service.conf" "ceph-osd@.service"
-
-	udev_dorules udev/*.rules
-
-	readme.gentoo_create_doc
-
-	python_setup 'python2*'
-	python_fix_shebang "${ED}"/usr/{,s}bin/
-
-	# python_fix_shebang apparently is not idempotent
-	sed -i -r  's:(/usr/lib/python-exec/python[0-9]\.[0-9]/python)[0-9]\.[0-9]:\1:' \
-		"${ED}"/usr/{sbin/ceph-disk,bin/ceph-detect-init} || die "sed failed"
-}
-
-pkg_postinst() {
-	readme.gentoo_print_elog
-}

diff --git a/sys-cluster/ceph/ceph-10.2.7.ebuild b/sys-cluster/ceph/ceph-10.2.7.ebuild
deleted file mode 100644
index 09783bcaf46..00000000000
--- a/sys-cluster/ceph/ceph-10.2.7.ebuild
+++ /dev/null
@@ -1,291 +0,0 @@
-# Copyright 1999-2017 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-PYTHON_COMPAT=( python{2_7,3_{4,5,6}} )
-
-inherit check-reqs autotools eutils python-r1 udev user \
-	readme.gentoo-r1 systemd versionator flag-o-matic
-
-if [[ ${PV} == *9999* ]]; then
-	inherit git-r3
-	EGIT_REPO_URI="
-		git://github.com/ceph/ceph.git
-		https://github.com/ceph/ceph.git"
-	SRC_URI=""
-else
-	SRC_URI="http://download.ceph.com/tarballs/${P}.tar.gz"
-	KEYWORDS="~amd64 ~arm ~ppc ~ppc64 ~x86"
-fi
-
-DESCRIPTION="Ceph distributed filesystem"
-HOMEPAGE="http://ceph.com/"
-
-LICENSE="LGPL-2.1"
-SLOT="0"
-
-IUSE="babeltrace cephfs cryptopp debug fuse gtk jemalloc ldap +libaio"
-IUSE+=" libatomic lttng +nss +radosgw static-libs +tcmalloc test xfs zfs"
-
-# unbundling code commented out pending bugs 584056 and 584058
-#>=dev-libs/jerasure-2.0.0-r1
-#>=dev-libs/gf-complete-2.0.0
-COMMON_DEPEND="
-	app-arch/snappy
-	app-arch/lz4:=
-	app-arch/bzip2
-	dev-libs/boost:=[threads]
-	dev-libs/libaio
-	dev-libs/leveldb[snappy]
-	nss? ( dev-libs/nss )
-	libatomic? ( dev-libs/libatomic_ops )
-	cryptopp? ( dev-libs/crypto++:= )
-	sys-apps/keyutils
-	sys-apps/util-linux
-	dev-libs/libxml2
-	radosgw? ( dev-libs/fcgi )
-	ldap? ( net-nds/openldap )
-	babeltrace? ( dev-util/babeltrace )
-	fuse? ( sys-fs/fuse:0 )
-	xfs? ( sys-fs/xfsprogs )
-	zfs? ( sys-fs/zfs )
-	gtk? (
-		x11-libs/gtk+:2
-		dev-cpp/gtkmm:2.4
-		gnome-base/librsvg
-	)
-	radosgw? (
-		dev-libs/fcgi
-		dev-libs/expat
-		net-misc/curl
-	)
-	jemalloc? ( dev-libs/jemalloc )
-	!jemalloc? ( dev-util/google-perftools )
-	lttng? ( dev-util/lttng-ust )
-	${PYTHON_DEPS}
-	"
-DEPEND="${COMMON_DEPEND}
-	dev-python/cython[${PYTHON_USEDEP}]
-	app-arch/cpio
-	virtual/pkgconfig
-	dev-python/sphinx
-	test? (
-		sys-fs/btrfs-progs
-		sys-apps/grep[pcre]
-		dev-python/tox[${PYTHON_USEDEP}]
-		dev-python/virtualenv[${PYTHON_USEDEP}]
-	)"
-RDEPEND="${COMMON_DEPEND}
-	sys-apps/hdparm
-	sys-block/parted
-	sys-fs/cryptsetup
-	sys-apps/gptfdisk
-	dev-python/flask[${PYTHON_USEDEP}]
-	dev-python/requests[${PYTHON_USEDEP}]
-	"
-REQUIRED_USE="
-	$(python_gen_useflags 'python2*')
-	${PYTHON_REQUIRED_USE}
-	^^ ( nss cryptopp )
-	?? ( jemalloc tcmalloc )
-	"
-
-# work around bug in ceph compilation (rgw/ceph_dencoder-rgw_dencoder.o... undefined reference to `vtable for RGWZoneGroup')
-REQUIRED_USE+=" radosgw"
-
-#RESTRICT="test? ( userpriv )"
-
-# distribution tarball does not include everything needed for tests
-RESTRICT+=" test"
-
-STRIP_MASK="/usr/lib*/rados-classes/*"
-
-UNBUNDLE_LIBS=(
-	src/erasure-code/jerasure/jerasure
-	src/erasure-code/jerasure/gf-complete
-)
-
-PATCHES=(
-	"${FILESDIR}/ceph-10.2.0-dont-use-virtualenvs.patch"
-	#"${FILESDIR}/ceph-10.2.1-unbundle-jerasure.patch"
-	"${FILESDIR}/${PN}-10.2.1-libzfs.patch"
-	"${FILESDIR}/${PN}-10.2.3-build-without-openldap.patch"
-	"${FILESDIR}/${PN}-10.2.5-Make-RBD-Python-bindings-compatible-with-Python-3.patch"
-	"${FILESDIR}/${PN}-10.2.5-Make-CephFS-bindings-and-tests-compatible-with-Python-3.patch"
-)
-
-check-reqs_export_vars() {
-	if use debug; then
-		CHECKREQS_DISK_BUILD="23G"
-		CHECKREQS_DISK_USR="7G"
-	elif use amd64; then
-		CHECKREQS_DISK_BUILD="12G"
-		CHECKREQS_DISK_USR="450M"
-	else
-		CHECKREQS_DISK_BUILD="1400M"
-		CHECKREQS_DISK_USR="450M"
-	fi
-
-	export CHECKREQS_DISK_BUILD CHECKREQS_DISK_USR
-}
-
-user_setup() {
-	enewgroup ceph ${CEPH_GID}
-	enewuser ceph "${CEPH_UID:--1}" -1 /var/lib/ceph ceph
-}
-
-emake_python_bindings() {
-	local action="${1}" params binding module
-	shift
-	params=("${@}")
-
-	__emake_python_bindings_do_impl() {
-		ceph_run_econf "${EPYTHON}"
-		emake "${params[@]}" PYTHON="${EPYTHON}" "${binding}-pybind-${action}"
-
-		# these don't work and aren't needed on python3
-		if [[ ${EBUILD_PHASE} == install ]]; then
-			for module in "${S}"/src/pybind/*.py; do
-				module_basename="$(basename "${module}")"
-				if [[ ${module_basename} == ceph_volume_client.py ]] && ! use cephfs; then
-					continue
-				elif [[ ! -e "${ED}/$(python_get_sitedir)/${module_basename}" ]]; then
-					python_domodule ${module}
-				fi
-			done
-		fi
-	}
-
-	pushd "${S}/src"
-	for binding in rados rbd $(use cephfs && echo cephfs); do
-		python_foreach_impl __emake_python_bindings_do_impl
-	done
-	popd
-
-	unset __emake_python_bindings_do_impl
-}
-
-pkg_pretend() {
-	check-reqs_export_vars
-	check-reqs_pkg_pretend
-}
-
-pkg_setup() {
-	python_setup
-	check-reqs_export_vars
-	check-reqs_pkg_setup
-	user_setup
-}
-
-src_prepare() {
-	default
-
-	# remove tests that need root access
-	rm src/test/cli/ceph-authtool/cap*.t
-
-	#rm -rf "${UNBUNDLE_LIBS[@]}"
-
-	append-flags -fPIC
-	eautoreconf
-}
-
-src_configure() {
-	ECONFARGS=(
-		--without-hadoop
-		--includedir=/usr/include
-		$(use_with cephfs)
-		$(use_with debug)
-		$(use_with fuse)
-		$(use_with libaio)
-		$(use_with libatomic libatomic-ops)
-		$(use_with nss)
-		$(use_with cryptopp)
-		$(use_with radosgw)
-		$(use_with gtk gtk2)
-		$(use_enable static-libs static)
-		$(use_with jemalloc)
-		$(use_with xfs libxfs)
-		$(use_with zfs libzfs)
-		$(use_with lttng )
-		$(use_with babeltrace)
-		$(use_with ldap openldap)
-		$(use jemalloc || usex tcmalloc " --with-tcmalloc" " --with-tcmalloc-minimal")
-		--with-mon
-		--with-eventfd
-		--with-cython
-		--without-kinetic
-		--without-librocksdb
-		--with-systemdsystemunitdir="$(systemd_get_systemunitdir)"
-	)
-
-	# we can only use python2.7 for building at the moment
-	ceph_run_econf "python2*"
-}
-
-ceph_run_econf() {
-	[[ -z ${ECONFARGS} ]] && die "called ${FUNCNAME[0]} with ECONFARGS unset"
-	[[ -z ${1} ]] && die "called ${FUNCNAME[0]} without passing python implementation"
-
-	pushd "${S}" >/dev/null || die
-	#
-	# This generates a QA warning about running econf in src_compile
-	# and src_install. Unfortunately the only other way to do this would
-	# involve building all of for each python implementation times, which
-	# wastes a _lot_ of CPU time and disk space. This hack will no longer
-	# be needed with >=ceph-11.2.
-	#
-	python_setup "${1}"
-	econf "${ECONFARGS[@]}"
-
-	popd >/dev/null || die
-}
-
-src_compile() {
-	emake
-	emake_python_bindings all
-
-	use test && emake check-local
-}
-
-src_test() {
-	make check || die "make check failed"
-}
-
-src_install() {
-	default
-	emake_python_bindings install-exec "DESTDIR=\"${D}\""
-
-	prune_libtool_files --all
-
-	exeinto /usr/$(get_libdir)/ceph
-	newexe src/init-ceph ceph_init.sh
-
-	insinto /etc/logrotate.d/
-	newins "${FILESDIR}"/ceph.logrotate ${PN}
-
-	keepdir /var/lib/${PN}{,/tmp} /var/log/${PN}/stat
-
-	fowners -R ceph:ceph /var/lib/ceph /var/log/ceph
-
-	newinitd "${FILESDIR}/rbdmap.initd" rbdmap
-	newinitd "${FILESDIR}/${PN}.initd-r4" ${PN}
-	newconfd "${FILESDIR}/${PN}.confd-r2" ${PN}
-
-	systemd_install_serviced "${FILESDIR}/ceph-mds_at.service.conf" "ceph-mds@.service"
-	systemd_install_serviced "${FILESDIR}/ceph-osd_at.service.conf" "ceph-osd@.service"
-
-	udev_dorules udev/*.rules
-
-	readme.gentoo_create_doc
-
-	python_setup 'python2*'
-	python_fix_shebang "${ED}"/usr/{,s}bin/
-
-	# python_fix_shebang apparently is not idempotent
-	sed -i -r  's:(/usr/lib/python-exec/python[0-9]\.[0-9]/python)[0-9]\.[0-9]:\1:' \
-		"${ED}"/usr/{sbin/ceph-disk,bin/ceph-detect-init} || die "sed failed"
-}
-
-pkg_postinst() {
-	readme.gentoo_print_elog
-}

diff --git a/sys-cluster/ceph/files/ceph.initd-r1 b/sys-cluster/ceph/files/ceph.initd-r1
deleted file mode 100644
index 3fac993b473..00000000000
--- a/sys-cluster/ceph/files/ceph.initd-r1
+++ /dev/null
@@ -1,48 +0,0 @@
-#!/sbin/openrc-run
-
-ceph_conf="${ceph_conf:-/etc/ceph/ceph.conf}"
-extra_commands="reload"
-type=${RC_SVCNAME:5:3}
-id=${RC_SVCNAME:9}
-id=${id:-"0"}
-command="/usr/bin/ceph-${type}"
-pidfile="/run/ceph/${type}.${id}.pid"
-command_args="-i ${id} --pid-file ${pidfile} -c ${ceph_conf}"
-
-depend() {
-	after net ntpd ntp-client chronyd
-	before netmount
-}
-
-is_type_valid() {
-	case ${type} in
-		mon|mds|osd) return 0;;
-		*) return 1;;
-	esac
-}
-
-start_pre() {
-        checkpath -d -q -o ceph $(dirname ${pidfile})
-}
-
-start() {
-	ebegin "Starting Ceph ${type}.${id}"
-	if ! is_type_valid ;then
-		eerror "Please give valid Ceph Server Type: mds, mon, osd"
-		return 1
-	fi
-	start-stop-daemon --start -exec ${command} --user ceph --group ceph -- ${command_args}
-	eend $?
-}
-
-stop() {
-	ebegin "Stopping Ceph ${type}.${id}"
-	start-stop-daemon --stop --user ceph --group ceph --pidfile ${pidfile}
-	eend $?
-}
-
-reload() {
-	ebegin "Reloading Ceph ${type}.${id}"
-	start-stop-daemon --signal 1 --user ceph --group ceph --pidfile ${pidfile}
-	eend $?
-}

diff --git a/sys-cluster/ceph/files/ceph.initd-r3 b/sys-cluster/ceph/files/ceph.initd-r3
deleted file mode 100644
index 9476aa9191a..00000000000
--- a/sys-cluster/ceph/files/ceph.initd-r3
+++ /dev/null
@@ -1,40 +0,0 @@
-#!/sbin/openrc-run
-
-ceph_conf="${ceph_conf:-/etc/ceph/ceph.conf}"
-extra_commands="reload"
-daemon_type="${RC_SVCNAME#ceph-}"
-daemon_type="${daemon_type%%.*}"
-daemon_id="${RC_SVCNAME#ceph-*.}"
-daemon_id="${daemon_id:-0}"
-command="/usr/bin/ceph-${daemon_type}"
-pidfile="/run/ceph/${daemon_type}.${daemon_id}.pid"
-command_args="-i ${daemon_id} --pid-file ${pidfile} -c ${ceph_conf}"
-start_stop_daemon_args="--user ceph --group ceph"
-
-depend() {
-	after net ntpd ntp-client chronyd
-	before netmount
-}
-
-is_type_valid() {
-	case ${daemon_type} in
-		mon|mds|osd) return 0;;
-		*) return 1;;
-	esac
-}
-
-start_pre() {
-	checkpath -d -q -o ceph "$(dirname "${pidfile}")"
-	if ! is_type_valid ;then
-		eerror "Please give valid Ceph Server Type: mds, mon, osd"
-		return 1
-	fi
-}
-
-reload() {
-	ebegin "Reloading Ceph ${daemon_type}.${daemon_id}"
-	start-stop-daemon --signal 1 ${start_stop_daemon_args} --pidfile "${pidfile}"
-	eend $?
-}
-
-# vim:ft=gentoo-init-d:ts=4:sts=4:sw=4:noet:


^ permalink raw reply related	[flat|nested] 68+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-cluster/ceph/, sys-cluster/ceph/files/
@ 2017-07-27 21:27 Patrick McLean
  0 siblings, 0 replies; 68+ messages in thread
From: Patrick McLean @ 2017-07-27 21:27 UTC (permalink / raw
  To: gentoo-commits

commit:     4c55d60a47fc9a1a81e185850c042c00d6534e5e
Author:     Patrick McLean <chutzpah <AT> gentoo <DOT> org>
AuthorDate: Thu Jul 27 21:22:55 2017 +0000
Commit:     Patrick McLean <chutzpah <AT> gentoo <DOT> org>
CommitDate: Thu Jul 27 21:26:23 2017 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=4c55d60a

sys-cluster/ceph: Remove empty files/ceph-mon_at.service.conf

Gentoo-Bug: 622418

Package-Manager: Portage-2.3.6, Repoman-2.3.3

 sys-cluster/ceph/ceph-0.94.9.ebuild             | 3 +--
 sys-cluster/ceph/ceph-10.2.3-r2.ebuild          | 3 +--
 sys-cluster/ceph/ceph-10.2.5-r1.ebuild          | 1 -
 sys-cluster/ceph/ceph-10.2.5-r3.ebuild          | 1 -
 sys-cluster/ceph/ceph-10.2.5-r4.ebuild          | 1 -
 sys-cluster/ceph/ceph-10.2.5-r5.ebuild          | 1 -
 sys-cluster/ceph/ceph-10.2.6-r1.ebuild          | 1 -
 sys-cluster/ceph/ceph-10.2.6.ebuild             | 1 -
 sys-cluster/ceph/ceph-10.2.7-r1.ebuild          | 1 -
 sys-cluster/ceph/ceph-10.2.7.ebuild             | 1 -
 sys-cluster/ceph/ceph-10.2.8.ebuild             | 1 -
 sys-cluster/ceph/ceph-9.2.1-r2.ebuild           | 3 +--
 sys-cluster/ceph/files/ceph-mon_at.service.conf | 0
 13 files changed, 3 insertions(+), 15 deletions(-)

diff --git a/sys-cluster/ceph/ceph-0.94.9.ebuild b/sys-cluster/ceph/ceph-0.94.9.ebuild
index 01fbc561d1f..a72ed5527d9 100644
--- a/sys-cluster/ceph/ceph-0.94.9.ebuild
+++ b/sys-cluster/ceph/ceph-0.94.9.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2016 Gentoo Foundation
+# Copyright 1999-2017 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
 
 EAPI=5
@@ -157,7 +157,6 @@ src_install() {
 	systemd_newunit          "${FILESDIR}/ceph-osd_at.service"      "ceph-osd@.service"
 	systemd_install_serviced "${FILESDIR}/ceph-osd_at.service.conf" "ceph-osd@.service"
 	systemd_newunit          "${FILESDIR}/ceph-mon_at.service"      "ceph-mon@.service"
-	systemd_install_serviced "${FILESDIR}/ceph-mon_at.service.conf" "ceph-mon@.service"
 
 	python_fix_shebang \
 		"${ED}"/usr/sbin/{ceph-disk,ceph-create-keys} \

diff --git a/sys-cluster/ceph/ceph-10.2.3-r2.ebuild b/sys-cluster/ceph/ceph-10.2.3-r2.ebuild
index 9985ce30565..6e64a45da44 100644
--- a/sys-cluster/ceph/ceph-10.2.3-r2.ebuild
+++ b/sys-cluster/ceph/ceph-10.2.3-r2.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2016 Gentoo Foundation
+# Copyright 1999-2017 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
 
 EAPI=6
@@ -248,7 +248,6 @@ src_install() {
 
 	systemd_install_serviced "${FILESDIR}/ceph-mds_at.service.conf" "ceph-mds@.service"
 	systemd_install_serviced "${FILESDIR}/ceph-osd_at.service.conf" "ceph-osd@.service"
-	systemd_install_serviced "${FILESDIR}/ceph-mon_at.service.conf" "ceph-mon@.service"
 
 	udev_dorules udev/*.rules
 

diff --git a/sys-cluster/ceph/ceph-10.2.5-r1.ebuild b/sys-cluster/ceph/ceph-10.2.5-r1.ebuild
index 6d87b25f362..919a26b53c0 100644
--- a/sys-cluster/ceph/ceph-10.2.5-r1.ebuild
+++ b/sys-cluster/ceph/ceph-10.2.5-r1.ebuild
@@ -247,7 +247,6 @@ src_install() {
 
 	systemd_install_serviced "${FILESDIR}/ceph-mds_at.service.conf" "ceph-mds@.service"
 	systemd_install_serviced "${FILESDIR}/ceph-osd_at.service.conf" "ceph-osd@.service"
-	systemd_install_serviced "${FILESDIR}/ceph-mon_at.service.conf" "ceph-mon@.service"
 
 	udev_dorules udev/*.rules
 

diff --git a/sys-cluster/ceph/ceph-10.2.5-r3.ebuild b/sys-cluster/ceph/ceph-10.2.5-r3.ebuild
index b64ba9f1485..dfde5fddbbf 100644
--- a/sys-cluster/ceph/ceph-10.2.5-r3.ebuild
+++ b/sys-cluster/ceph/ceph-10.2.5-r3.ebuild
@@ -272,7 +272,6 @@ src_install() {
 
 	systemd_install_serviced "${FILESDIR}/ceph-mds_at.service.conf" "ceph-mds@.service"
 	systemd_install_serviced "${FILESDIR}/ceph-osd_at.service.conf" "ceph-osd@.service"
-	systemd_install_serviced "${FILESDIR}/ceph-mon_at.service.conf" "ceph-mon@.service"
 
 	udev_dorules udev/*.rules
 

diff --git a/sys-cluster/ceph/ceph-10.2.5-r4.ebuild b/sys-cluster/ceph/ceph-10.2.5-r4.ebuild
index 2cac94d409d..ceb7710b214 100644
--- a/sys-cluster/ceph/ceph-10.2.5-r4.ebuild
+++ b/sys-cluster/ceph/ceph-10.2.5-r4.ebuild
@@ -274,7 +274,6 @@ src_install() {
 
 	systemd_install_serviced "${FILESDIR}/ceph-mds_at.service.conf" "ceph-mds@.service"
 	systemd_install_serviced "${FILESDIR}/ceph-osd_at.service.conf" "ceph-osd@.service"
-	systemd_install_serviced "${FILESDIR}/ceph-mon_at.service.conf" "ceph-mon@.service"
 
 	udev_dorules udev/*.rules
 

diff --git a/sys-cluster/ceph/ceph-10.2.5-r5.ebuild b/sys-cluster/ceph/ceph-10.2.5-r5.ebuild
index 6a70d39196b..a291cf3e5c6 100644
--- a/sys-cluster/ceph/ceph-10.2.5-r5.ebuild
+++ b/sys-cluster/ceph/ceph-10.2.5-r5.ebuild
@@ -274,7 +274,6 @@ src_install() {
 
 	systemd_install_serviced "${FILESDIR}/ceph-mds_at.service.conf" "ceph-mds@.service"
 	systemd_install_serviced "${FILESDIR}/ceph-osd_at.service.conf" "ceph-osd@.service"
-	systemd_install_serviced "${FILESDIR}/ceph-mon_at.service.conf" "ceph-mon@.service"
 
 	udev_dorules udev/*.rules
 

diff --git a/sys-cluster/ceph/ceph-10.2.6-r1.ebuild b/sys-cluster/ceph/ceph-10.2.6-r1.ebuild
index a0c131b1783..8836e8dda1f 100644
--- a/sys-cluster/ceph/ceph-10.2.6-r1.ebuild
+++ b/sys-cluster/ceph/ceph-10.2.6-r1.ebuild
@@ -274,7 +274,6 @@ src_install() {
 
 	systemd_install_serviced "${FILESDIR}/ceph-mds_at.service.conf" "ceph-mds@.service"
 	systemd_install_serviced "${FILESDIR}/ceph-osd_at.service.conf" "ceph-osd@.service"
-	systemd_install_serviced "${FILESDIR}/ceph-mon_at.service.conf" "ceph-mon@.service"
 
 	udev_dorules udev/*.rules
 

diff --git a/sys-cluster/ceph/ceph-10.2.6.ebuild b/sys-cluster/ceph/ceph-10.2.6.ebuild
index ac3fbe53c5a..82e7a077ffe 100644
--- a/sys-cluster/ceph/ceph-10.2.6.ebuild
+++ b/sys-cluster/ceph/ceph-10.2.6.ebuild
@@ -274,7 +274,6 @@ src_install() {
 
 	systemd_install_serviced "${FILESDIR}/ceph-mds_at.service.conf" "ceph-mds@.service"
 	systemd_install_serviced "${FILESDIR}/ceph-osd_at.service.conf" "ceph-osd@.service"
-	systemd_install_serviced "${FILESDIR}/ceph-mon_at.service.conf" "ceph-mon@.service"
 
 	udev_dorules udev/*.rules
 

diff --git a/sys-cluster/ceph/ceph-10.2.7-r1.ebuild b/sys-cluster/ceph/ceph-10.2.7-r1.ebuild
index 49d48748772..e38dcf0c253 100644
--- a/sys-cluster/ceph/ceph-10.2.7-r1.ebuild
+++ b/sys-cluster/ceph/ceph-10.2.7-r1.ebuild
@@ -276,7 +276,6 @@ src_install() {
 
 	systemd_install_serviced "${FILESDIR}/ceph-mds_at.service.conf" "ceph-mds@.service"
 	systemd_install_serviced "${FILESDIR}/ceph-osd_at.service.conf" "ceph-osd@.service"
-	systemd_install_serviced "${FILESDIR}/ceph-mon_at.service.conf" "ceph-mon@.service"
 
 	udev_dorules udev/*.rules
 

diff --git a/sys-cluster/ceph/ceph-10.2.7.ebuild b/sys-cluster/ceph/ceph-10.2.7.ebuild
index 35d1dad1bc9..6bde5f59117 100644
--- a/sys-cluster/ceph/ceph-10.2.7.ebuild
+++ b/sys-cluster/ceph/ceph-10.2.7.ebuild
@@ -273,7 +273,6 @@ src_install() {
 
 	systemd_install_serviced "${FILESDIR}/ceph-mds_at.service.conf" "ceph-mds@.service"
 	systemd_install_serviced "${FILESDIR}/ceph-osd_at.service.conf" "ceph-osd@.service"
-	systemd_install_serviced "${FILESDIR}/ceph-mon_at.service.conf" "ceph-mon@.service"
 
 	udev_dorules udev/*.rules
 

diff --git a/sys-cluster/ceph/ceph-10.2.8.ebuild b/sys-cluster/ceph/ceph-10.2.8.ebuild
index c4e36e3930a..b587c536cdb 100644
--- a/sys-cluster/ceph/ceph-10.2.8.ebuild
+++ b/sys-cluster/ceph/ceph-10.2.8.ebuild
@@ -276,7 +276,6 @@ src_install() {
 
 	systemd_install_serviced "${FILESDIR}/ceph-mds_at.service.conf" "ceph-mds@.service"
 	systemd_install_serviced "${FILESDIR}/ceph-osd_at.service.conf" "ceph-osd@.service"
-	systemd_install_serviced "${FILESDIR}/ceph-mon_at.service.conf" "ceph-mon@.service"
 
 	udev_dorules udev/*.rules
 

diff --git a/sys-cluster/ceph/ceph-9.2.1-r2.ebuild b/sys-cluster/ceph/ceph-9.2.1-r2.ebuild
index e4512579227..95ac6405cfc 100644
--- a/sys-cluster/ceph/ceph-9.2.1-r2.ebuild
+++ b/sys-cluster/ceph/ceph-9.2.1-r2.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2016 Gentoo Foundation
+# Copyright 1999-2017 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
 
 EAPI=5
@@ -174,7 +174,6 @@ src_install() {
 
 	systemd_install_serviced "${FILESDIR}/ceph-mds_at.service.conf" "ceph-mds@.service"
 	systemd_install_serviced "${FILESDIR}/ceph-osd_at.service.conf" "ceph-osd@.service"
-	systemd_install_serviced "${FILESDIR}/ceph-mon_at.service.conf" "ceph-mon@.service"
 
 	python_fix_shebang \
 		"${ED}"/usr/sbin/{ceph-disk,ceph-create-keys} \

diff --git a/sys-cluster/ceph/files/ceph-mon_at.service.conf b/sys-cluster/ceph/files/ceph-mon_at.service.conf
deleted file mode 100644
index e69de29bb2d..00000000000


^ permalink raw reply related	[flat|nested] 68+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-cluster/ceph/, sys-cluster/ceph/files/
@ 2017-04-12 20:44 Patrick McLean
  0 siblings, 0 replies; 68+ messages in thread
From: Patrick McLean @ 2017-04-12 20:44 UTC (permalink / raw
  To: gentoo-commits

commit:     17519e6e45d0244df45ce7494b50fa1477a0f541
Author:     Patrick McLean <chutzpah <AT> gentoo <DOT> org>
AuthorDate: Wed Apr 12 20:42:55 2017 +0000
Commit:     Patrick McLean <chutzpah <AT> gentoo <DOT> org>
CommitDate: Wed Apr 12 20:44:16 2017 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=17519e6e

sys-cluster/ceph: Revision bump, add patch from bug 601610, fix automagic deps

This adds a dep on zstd to fix the automagic dep, and drops keywords for
arm, ppc and ppc64 since zstd is not keyworded on those arches.

Package-Manager: Portage-2.3.5, Repoman-2.3.2

 sys-cluster/ceph/ceph-10.2.7-r1.ebuild             | 295 +++++++++++++++++++++
 .../ceph-10.2.7-fix-compilation-with-zstd.patch    |  49 ++++
 2 files changed, 344 insertions(+)

diff --git a/sys-cluster/ceph/ceph-10.2.7-r1.ebuild b/sys-cluster/ceph/ceph-10.2.7-r1.ebuild
new file mode 100644
index 00000000000..87d36ae0852
--- /dev/null
+++ b/sys-cluster/ceph/ceph-10.2.7-r1.ebuild
@@ -0,0 +1,295 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+PYTHON_COMPAT=( python{2_7,3_{4,5,6}} )
+
+inherit check-reqs autotools eutils python-r1 udev user \
+	readme.gentoo-r1 systemd versionator flag-o-matic
+
+if [[ ${PV} == *9999* ]]; then
+	inherit git-r3
+	EGIT_REPO_URI="
+		git://github.com/ceph/ceph.git
+		https://github.com/ceph/ceph.git"
+	SRC_URI=""
+else
+	SRC_URI="http://download.ceph.com/tarballs/${P}.tar.gz"
+	KEYWORDS="~amd64 ~x86"
+fi
+
+DESCRIPTION="Ceph distributed filesystem"
+HOMEPAGE="http://ceph.com/"
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+
+IUSE="babeltrace cephfs cryptopp debug fuse gtk jemalloc ldap +libaio"
+IUSE+=" libatomic lttng +nss +radosgw static-libs +tcmalloc test xfs zfs"
+
+# unbundling code commented out pending bugs 584056 and 584058
+#>=dev-libs/jerasure-2.0.0-r1
+#>=dev-libs/gf-complete-2.0.0
+COMMON_DEPEND="
+	app-arch/snappy:=
+	sys-libs/zlib:=
+	app-arch/lz4:=
+	app-arch/bzip2:=
+	app-arch/zstd:=
+	dev-libs/boost:=[threads]
+	dev-libs/libaio:=
+	dev-libs/leveldb:=[snappy]
+	nss? ( dev-libs/nss:= )
+	libatomic? ( dev-libs/libatomic_ops:= )
+	cryptopp? ( dev-libs/crypto++:= )
+	sys-apps/keyutils
+	sys-apps/util-linux
+	dev-libs/libxml2:=
+	radosgw? ( dev-libs/fcgi:= )
+	ldap? ( net-nds/openldap:= )
+	babeltrace? ( dev-util/babeltrace )
+	fuse? ( sys-fs/fuse:= )
+	xfs? ( sys-fs/xfsprogs:= )
+	zfs? ( sys-fs/zfs:= )
+	gtk? (
+		x11-libs/gtk+:2=
+		dev-cpp/gtkmm:2.4
+		gnome-base/librsvg:=
+	)
+	radosgw? (
+		dev-libs/fcgi:=
+		dev-libs/expat:=
+		net-misc/curl:=
+	)
+	jemalloc? ( dev-libs/jemalloc:= )
+	!jemalloc? ( dev-util/google-perftools )
+	lttng? ( dev-util/lttng-ust:= )
+	${PYTHON_DEPS}
+	"
+DEPEND="${COMMON_DEPEND}
+	dev-python/cython[${PYTHON_USEDEP}]
+	app-arch/cpio
+	virtual/pkgconfig
+	dev-python/sphinx
+	test? (
+		sys-fs/btrfs-progs
+		sys-apps/grep[pcre]
+		dev-python/tox[${PYTHON_USEDEP}]
+		dev-python/virtualenv[${PYTHON_USEDEP}]
+	)"
+RDEPEND="${COMMON_DEPEND}
+	sys-apps/hdparm
+	sys-block/parted
+	sys-fs/cryptsetup
+	sys-apps/gptfdisk
+	dev-python/flask[${PYTHON_USEDEP}]
+	dev-python/requests[${PYTHON_USEDEP}]
+	"
+REQUIRED_USE="
+	$(python_gen_useflags 'python2*')
+	${PYTHON_REQUIRED_USE}
+	^^ ( nss cryptopp )
+	?? ( jemalloc tcmalloc )
+	"
+
+# work around bug in ceph compilation (rgw/ceph_dencoder-rgw_dencoder.o... undefined reference to `vtable for RGWZoneGroup')
+REQUIRED_USE+=" radosgw"
+
+#RESTRICT="test? ( userpriv )"
+
+# distribution tarball does not include everything needed for tests
+RESTRICT+=" test"
+
+STRIP_MASK="/usr/lib*/rados-classes/*"
+
+UNBUNDLE_LIBS=(
+	src/erasure-code/jerasure/jerasure
+	src/erasure-code/jerasure/gf-complete
+)
+
+PATCHES=(
+	"${FILESDIR}/ceph-10.2.0-dont-use-virtualenvs.patch"
+	#"${FILESDIR}/ceph-10.2.1-unbundle-jerasure.patch"
+	"${FILESDIR}/${PN}-10.2.1-libzfs.patch"
+	"${FILESDIR}/${PN}-10.2.3-build-without-openldap.patch"
+	"${FILESDIR}/${PN}-10.2.5-Make-RBD-Python-bindings-compatible-with-Python-3.patch"
+	"${FILESDIR}/${PN}-10.2.5-Make-CephFS-bindings-and-tests-compatible-with-Python-3.patch"
+	"${FILESDIR}/${PN}-10.2.7-fix-compilation-with-zstd.patch"
+)
+
+check-reqs_export_vars() {
+	if use debug; then
+		CHECKREQS_DISK_BUILD="23G"
+		CHECKREQS_DISK_USR="7G"
+	elif use amd64; then
+		CHECKREQS_DISK_BUILD="12G"
+		CHECKREQS_DISK_USR="450M"
+	else
+		CHECKREQS_DISK_BUILD="1400M"
+		CHECKREQS_DISK_USR="450M"
+	fi
+
+	export CHECKREQS_DISK_BUILD CHECKREQS_DISK_USR
+}
+
+user_setup() {
+	enewgroup ceph ${CEPH_GID}
+	enewuser ceph "${CEPH_UID:--1}" -1 /var/lib/ceph ceph
+}
+
+emake_python_bindings() {
+	local action="${1}" params binding module
+	shift
+	params=("${@}")
+
+	__emake_python_bindings_do_impl() {
+		ceph_run_econf "${EPYTHON}"
+		emake "${params[@]}" PYTHON="${EPYTHON}" "${binding}-pybind-${action}"
+
+		# these don't work and aren't needed on python3
+		if [[ ${EBUILD_PHASE} == install ]]; then
+			for module in "${S}"/src/pybind/*.py; do
+				module_basename="$(basename "${module}")"
+				if [[ ${module_basename} == ceph_volume_client.py ]] && ! use cephfs; then
+					continue
+				elif [[ ! -e "${ED}/$(python_get_sitedir)/${module_basename}" ]]; then
+					python_domodule ${module}
+				fi
+			done
+		fi
+	}
+
+	pushd "${S}/src"
+	for binding in rados rbd $(use cephfs && echo cephfs); do
+		python_foreach_impl __emake_python_bindings_do_impl
+	done
+	popd
+
+	unset __emake_python_bindings_do_impl
+}
+
+pkg_pretend() {
+	check-reqs_export_vars
+	check-reqs_pkg_pretend
+}
+
+pkg_setup() {
+	python_setup
+	check-reqs_export_vars
+	check-reqs_pkg_setup
+	user_setup
+}
+
+src_prepare() {
+	default
+
+	# remove tests that need root access
+	rm src/test/cli/ceph-authtool/cap*.t
+
+	#rm -rf "${UNBUNDLE_LIBS[@]}"
+
+	append-flags -fPIC
+	eautoreconf
+}
+
+src_configure() {
+	ECONFARGS=(
+		--without-hadoop
+		--includedir=/usr/include
+		$(use_with cephfs)
+		$(use_with debug)
+		$(use_with fuse)
+		$(use_with libaio)
+		$(use_with libatomic libatomic-ops)
+		$(use_with nss)
+		$(use_with cryptopp)
+		$(use_with radosgw)
+		$(use_with gtk gtk2)
+		$(use_enable static-libs static)
+		$(use_with jemalloc)
+		$(use_with xfs libxfs)
+		$(use_with zfs libzfs)
+		$(use_with lttng )
+		$(use_with babeltrace)
+		$(use_with ldap openldap)
+		$(use jemalloc || usex tcmalloc " --with-tcmalloc" " --with-tcmalloc-minimal")
+		--with-mon
+		--with-eventfd
+		--with-cython
+		--without-kinetic
+		--without-librocksdb
+		--with-systemdsystemunitdir="$(systemd_get_systemunitdir)"
+	)
+
+	# we can only use python2.7 for building at the moment
+	ceph_run_econf "python2*"
+}
+
+ceph_run_econf() {
+	[[ -z ${ECONFARGS} ]] && die "called ${FUNCNAME[0]} with ECONFARGS unset"
+	[[ -z ${1} ]] && die "called ${FUNCNAME[0]} without passing python implementation"
+
+	pushd "${S}" >/dev/null || die
+	#
+	# This generates a QA warning about running econf in src_compile
+	# and src_install. Unfortunately the only other way to do this would
+	# involve building all of for each python implementation times, which
+	# wastes a _lot_ of CPU time and disk space. This hack will no longer
+	# be needed with >=ceph-11.2.
+	#
+	python_setup "${1}"
+	econf "${ECONFARGS[@]}"
+
+	popd >/dev/null || die
+}
+
+src_compile() {
+	emake
+	emake_python_bindings all
+
+	use test && emake check-local
+}
+
+src_test() {
+	make check || die "make check failed"
+}
+
+src_install() {
+	default
+	emake_python_bindings install-exec "DESTDIR=\"${D}\""
+
+	prune_libtool_files --all
+
+	exeinto /usr/$(get_libdir)/ceph
+	newexe src/init-ceph ceph_init.sh
+
+	insinto /etc/logrotate.d/
+	newins "${FILESDIR}"/ceph.logrotate ${PN}
+
+	keepdir /var/lib/${PN}{,/tmp} /var/log/${PN}/stat
+
+	fowners -R ceph:ceph /var/lib/ceph /var/log/ceph
+
+	newinitd "${FILESDIR}/rbdmap.initd" rbdmap
+	newinitd "${FILESDIR}/${PN}.initd-r4" ${PN}
+	newconfd "${FILESDIR}/${PN}.confd-r2" ${PN}
+
+	systemd_install_serviced "${FILESDIR}/ceph-mds_at.service.conf" "ceph-mds@.service"
+	systemd_install_serviced "${FILESDIR}/ceph-osd_at.service.conf" "ceph-osd@.service"
+	systemd_install_serviced "${FILESDIR}/ceph-mon_at.service.conf" "ceph-mon@.service"
+
+	udev_dorules udev/*.rules
+
+	readme.gentoo_create_doc
+
+	python_setup 'python2*'
+	python_fix_shebang "${ED}"/usr/{,s}bin/
+
+	# python_fix_shebang apparently is not idempotent
+	sed -i -r  's:(/usr/lib/python-exec/python[0-9]\.[0-9]/python)[0-9]\.[0-9]:\1:' \
+		"${ED}"/usr/{sbin/ceph-disk,bin/ceph-detect-init} || die "sed failed"
+}
+
+pkg_postinst() {
+	readme.gentoo_print_elog
+}

diff --git a/sys-cluster/ceph/files/ceph-10.2.7-fix-compilation-with-zstd.patch b/sys-cluster/ceph/files/ceph-10.2.7-fix-compilation-with-zstd.patch
new file mode 100644
index 00000000000..4e76deabe65
--- /dev/null
+++ b/sys-cluster/ceph/files/ceph-10.2.7-fix-compilation-with-zstd.patch
@@ -0,0 +1,49 @@
+From 5a11f31aac4fa6a5c5ebb4fa0964e1c07a420e8c Mon Sep 17 00:00:00 2001
+From: Zac Medico <zmedico@gentoo.org>
+Date: Wed, 12 Apr 2017 01:49:09 -0700
+Subject: [PATCH] configure: link against zstd if detected
+
+https://bugs.gentoo.org/show_bug.cgi?id=601610
+---
+ configure.ac        | 6 ++++--
+ src/Makefile-env.am | 3 +++
+ 2 files changed, 7 insertions(+), 2 deletions(-)
+
+diff --git a/configure.ac b/configure.ac
+index 51daf91..8914b71 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -851,12 +851,14 @@ AS_IF([test "x$with_librocksdb_static" = "xyes"],
+ AM_CONDITIONAL(WITH_SLIBROCKSDB, [ test "x$with_librocksdb_static" = "xyes" ])
+ AM_CONDITIONAL(WITH_LIBROCKSDB, [ test "x$with_librocksdb_static" = "xyes" -o "x$with_librocksdb" = "xyes" ])
+ 
+-# rocksdb detects bzlib and lz4 in its Makefile, which forces us to do the same.
++# rocksdb detects headers in its Makefile, which forces us to do the same.
+ AS_IF([test "x$with_librocksdb_static" = "xyes"], [
+   AC_CHECK_HEADER([bzlib.h], [have_bzlib=yes])
+-  AC_CHECK_HEADER([lz4.h], [have_lz4=yes])])
++  AC_CHECK_HEADER([lz4.h], [have_lz4=yes])]
++  AC_CHECK_HEADER([zstd.h], [have_zstd=yes])])
+ AM_CONDITIONAL(HAVE_BZLIB, [test "x$have_bzlib" = "xyes"])
+ AM_CONDITIONAL(HAVE_LZ4, [test "x$have_lz4" = "xyes"])
++AM_CONDITIONAL(HAVE_ZSTD, [test "x$have_zstd" = "xyes"])
+ 
+ # needs libcurl and libxml2
+ if test "x$with_rest_bench" = xyes && test "x$with_system_libs3" = xno; then
+diff --git a/src/Makefile-env.am b/src/Makefile-env.am
+index 4771bad..0ee42f8 100644
+--- a/src/Makefile-env.am
++++ b/src/Makefile-env.am
+@@ -280,6 +280,9 @@ endif
+ if HAVE_LZ4
+ LIBKV += -llz4
+ endif
++if HAVE_ZSTD
++LIBKV += -lzstd
++endif
+ endif # WITH_SLIBROCKSDB
+ LIBKV += -lz -lleveldb -lsnappy
+ LIBOS += $(LIBOS_TYPES) $(LIBKV) $(LIBFUSE_LIBS)
+-- 
+2.10.2
+


^ permalink raw reply related	[flat|nested] 68+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-cluster/ceph/, sys-cluster/ceph/files/
@ 2017-02-10  1:18 Patrick McLean
  0 siblings, 0 replies; 68+ messages in thread
From: Patrick McLean @ 2017-02-10  1:18 UTC (permalink / raw
  To: gentoo-commits

commit:     b25fd2666765a5ce74cab2b6ac27e2927f6c9bc4
Author:     Patrick McLean <chutzpah <AT> gentoo <DOT> org>
AuthorDate: Fri Feb 10 01:17:53 2017 +0000
Commit:     Patrick McLean <chutzpah <AT> gentoo <DOT> org>
CommitDate: Fri Feb 10 01:18:14 2017 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=b25fd266

sys-cluster/ceph: Revision bump, minor fix to init script

Package-Manager: Portage-2.3.3, Repoman-2.3.1

 sys-cluster/ceph/ceph-10.2.5-r1.ebuild | 267 +++++++++++++++++++++++++++++++++
 sys-cluster/ceph/files/ceph.initd-r3   |  40 +++++
 2 files changed, 307 insertions(+)

diff --git a/sys-cluster/ceph/ceph-10.2.5-r1.ebuild b/sys-cluster/ceph/ceph-10.2.5-r1.ebuild
new file mode 100644
index 0000000000..1f381009dd
--- /dev/null
+++ b/sys-cluster/ceph/ceph-10.2.5-r1.ebuild
@@ -0,0 +1,267 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=6
+PYTHON_COMPAT=( python{2_7,3_{4,5}} )
+
+inherit check-reqs autotools eutils python-r1 udev user \
+	readme.gentoo-r1 systemd versionator flag-o-matic
+
+if [[ ${PV} == *9999* ]]; then
+	inherit git-r3
+	EGIT_REPO_URI="
+		git://github.com/ceph/ceph.git
+		https://github.com/ceph/ceph.git"
+	SRC_URI=""
+else
+	SRC_URI="http://ceph.com/download/${P}.tar.gz"
+	KEYWORDS="~amd64 ~arm ~ppc ~ppc64 ~x86"
+fi
+
+DESCRIPTION="Ceph distributed filesystem"
+HOMEPAGE="http://ceph.com/"
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+
+IUSE="babeltrace cephfs cryptopp debug fuse gtk jemalloc ldap +libaio"
+IUSE+=" libatomic lttng +nss +radosgw static-libs +tcmalloc test xfs zfs"
+
+# unbundling code commented out pending bugs 584056 and 584058
+#>=dev-libs/jerasure-2.0.0-r1
+#>=dev-libs/gf-complete-2.0.0
+COMMON_DEPEND="
+	app-arch/snappy
+	app-arch/lz4:=
+	app-arch/bzip2
+	dev-libs/boost:=[threads]
+	dev-libs/libaio
+	dev-libs/leveldb[snappy]
+	nss? ( dev-libs/nss )
+	libatomic? ( dev-libs/libatomic_ops )
+	cryptopp? ( dev-libs/crypto++:= )
+	sys-apps/keyutils
+	sys-apps/util-linux
+	dev-libs/libxml2
+	radosgw? ( dev-libs/fcgi )
+	ldap? ( net-nds/openldap )
+	babeltrace? ( dev-util/babeltrace )
+	fuse? ( sys-fs/fuse )
+	xfs? ( sys-fs/xfsprogs )
+	zfs? ( sys-fs/zfs )
+	gtk? (
+		x11-libs/gtk+:2
+		dev-cpp/gtkmm:2.4
+		gnome-base/librsvg
+	)
+	radosgw? (
+		dev-libs/fcgi
+		dev-libs/expat
+		net-misc/curl
+	)
+	jemalloc? ( dev-libs/jemalloc )
+	!jemalloc? ( dev-util/google-perftools )
+	lttng? ( dev-util/lttng-ust )
+	${PYTHON_DEPS}
+	"
+DEPEND="${COMMON_DEPEND}
+	dev-python/cython[${PYTHON_USEDEP}]
+	app-arch/cpio
+	sys-apps/lsb-release
+	virtual/pkgconfig
+	dev-python/sphinx
+	test? (
+		sys-fs/btrfs-progs
+		sys-apps/grep[pcre]
+		dev-python/tox[${PYTHON_USEDEP}]
+		dev-python/virtualenv[${PYTHON_USEDEP}]
+	)"
+RDEPEND="${COMMON_DEPEND}
+	sys-apps/hdparm
+	sys-block/parted
+	sys-fs/cryptsetup
+	sys-apps/gptfdisk
+	dev-python/flask[${PYTHON_USEDEP}]
+	dev-python/requests[${PYTHON_USEDEP}]
+	"
+REQUIRED_USE="
+	$(python_gen_useflags 'python2*')
+	${PYTHON_REQUIRED_USE}
+	^^ ( nss cryptopp )
+	?? ( jemalloc tcmalloc )
+	"
+
+# work around bug in ceph compilation (rgw/ceph_dencoder-rgw_dencoder.o... undefined reference to `vtable for RGWZoneGroup')
+REQUIRED_USE+=" radosgw"
+
+RESTRICT="test? ( userpriv )"
+
+# distribution tarball does not include everything needed for tests
+RESTRICT+=" test"
+
+STRIP_MASK="/usr/lib*/rados-classes/*"
+
+UNBUNDLE_LIBS=(
+	src/erasure-code/jerasure/jerasure
+	src/erasure-code/jerasure/gf-complete
+)
+
+PATCHES=(
+	"${FILESDIR}/ceph-10.2.0-dont-use-virtualenvs.patch"
+	#"${FILESDIR}/ceph-10.2.1-unbundle-jerasure.patch"
+	"${FILESDIR}/${PN}-10.2.1-libzfs.patch"
+	"${FILESDIR}/${PN}-10.2.3-build-without-openldap.patch"
+)
+
+check-reqs_export_vars() {
+	if use debug; then
+		CHECKREQS_DISK_BUILD="23G"
+		CHECKREQS_DISK_USR="7G"
+	elif use amd64; then
+		CHECKREQS_DISK_BUILD="12G"
+		CHECKREQS_DISK_USR="450M"
+	else
+		CHECKREQS_DISK_BUILD="1400M"
+		CHECKREQS_DISK_USR="450M"
+	fi
+
+	export CHECKREQS_DISK_BUILD CHECKREQS_DISK_USR
+}
+
+user_setup() {
+	enewgroup ceph ${CEPH_GID}
+	enewuser ceph "${CEPH_UID:--1}" -1 /var/lib/ceph ceph
+}
+
+emake_python_bindings() {
+	local action="${1}" params binding
+	shift
+	params=("${@}")
+
+	__emake_python_bindings_do_impl() {
+		emake "${params[@]}" PYTHON="${EPYTHON}" "${binding}-pybind-${action}"
+
+		# these don't work and aren't needed on python3
+		if [[ ${EBUILD_PHASE} == install ]] && python_is_python3; then
+			rm -f "${ED}/$(python_get_sitedir)"/ceph_{argparse,volume_client}.py
+		fi
+	}
+
+	pushd "${S}/src"
+	for binding in rados rbd $(use cephfs && echo cephfs); do
+		python_foreach_impl __emake_python_bindings_do_impl
+	done
+	popd
+
+	unset __emake_python_bindings_do_impl
+}
+
+pkg_pretend() {
+	check-reqs_export_vars
+	check-reqs_pkg_pretend
+}
+
+pkg_setup() {
+	python_setup
+	check-reqs_export_vars
+	check-reqs_pkg_setup
+	user_setup
+}
+
+src_prepare() {
+	default
+
+	# remove tests that need root access
+	rm src/test/cli/ceph-authtool/cap*.t
+
+	#rm -rf "${UNBUNDLE_LIBS[@]}"
+
+	append-flags -fPIC
+	eautoreconf
+}
+
+src_configure() {
+	local myeconfargs=(
+		--without-hadoop
+		--includedir=/usr/include
+		$(use_with cephfs)
+		$(use_with debug)
+		$(use_with fuse)
+		$(use_with libaio)
+		$(use_with libatomic libatomic-ops)
+		$(use_with nss)
+		$(use_with cryptopp)
+		$(use_with radosgw)
+		$(use_with gtk gtk2)
+		$(use_enable static-libs static)
+		$(use_with jemalloc)
+		$(use_with xfs libxfs)
+		$(use_with zfs libzfs)
+		$(use_with lttng )
+		$(use_with babeltrace)
+		$(use_with ldap openldap)
+		$(use jemalloc || usex tcmalloc " --with-tcmalloc" " --with-tcmalloc-minimal")
+		--with-mon
+		--with-eventfd
+		--with-cython
+		--without-kinetic
+		--without-librocksdb
+		--with-systemdsystemunitdir="$(systemd_get_systemunitdir)"
+	)
+
+	# we can only use python2.7 for building at the moment
+	python_setup 'python2*'
+	econf "${myeconfargs[@]}"
+}
+
+src_compile() {
+	emake
+	emake_python_bindings all
+
+	use test && emake check-local
+}
+
+src_test() {
+	make check || die "make check failed"
+}
+
+src_install() {
+	default
+	emake_python_bindings install-exec "DESTDIR=\"${D}\""
+
+	prune_libtool_files --all
+
+	exeinto /usr/$(get_libdir)/ceph
+	newexe src/init-ceph ceph_init.sh
+
+	insinto /etc/logrotate.d/
+	newins "${FILESDIR}"/ceph.logrotate ${PN}
+
+	keepdir /var/lib/${PN}{,/tmp} /var/log/${PN}/stat
+
+	fowners -R ceph:ceph /var/lib/ceph /var/log/ceph
+
+	newinitd "${FILESDIR}/rbdmap.initd" rbdmap
+	newinitd "${FILESDIR}/${PN}.initd-r3" ${PN}
+	newconfd "${FILESDIR}/${PN}.confd-r1" ${PN}
+
+	systemd_install_serviced "${FILESDIR}/ceph-mds_at.service.conf" "ceph-mds@.service"
+	systemd_install_serviced "${FILESDIR}/ceph-osd_at.service.conf" "ceph-osd@.service"
+	systemd_install_serviced "${FILESDIR}/ceph-mon_at.service.conf" "ceph-mon@.service"
+
+	udev_dorules udev/*.rules
+
+	readme.gentoo_create_doc
+
+	python_setup 'python2*'
+	python_fix_shebang "${ED}"/usr/{,s}bin/
+
+	# python_fix_shebang apparently is not idempotent
+	sed -i -r  's:(/usr/lib/python-exec/python[0-9]\.[0-9]/python)[0-9]\.[0-9]:\1:' \
+		"${ED}"/usr/{sbin/ceph-disk,bin/ceph-detect-init} || die "sed failed"
+}
+
+pkg_postinst() {
+	readme.gentoo_print_elog
+}

diff --git a/sys-cluster/ceph/files/ceph.initd-r3 b/sys-cluster/ceph/files/ceph.initd-r3
new file mode 100644
index 0000000000..9476aa9191
--- /dev/null
+++ b/sys-cluster/ceph/files/ceph.initd-r3
@@ -0,0 +1,40 @@
+#!/sbin/openrc-run
+
+ceph_conf="${ceph_conf:-/etc/ceph/ceph.conf}"
+extra_commands="reload"
+daemon_type="${RC_SVCNAME#ceph-}"
+daemon_type="${daemon_type%%.*}"
+daemon_id="${RC_SVCNAME#ceph-*.}"
+daemon_id="${daemon_id:-0}"
+command="/usr/bin/ceph-${daemon_type}"
+pidfile="/run/ceph/${daemon_type}.${daemon_id}.pid"
+command_args="-i ${daemon_id} --pid-file ${pidfile} -c ${ceph_conf}"
+start_stop_daemon_args="--user ceph --group ceph"
+
+depend() {
+	after net ntpd ntp-client chronyd
+	before netmount
+}
+
+is_type_valid() {
+	case ${daemon_type} in
+		mon|mds|osd) return 0;;
+		*) return 1;;
+	esac
+}
+
+start_pre() {
+	checkpath -d -q -o ceph "$(dirname "${pidfile}")"
+	if ! is_type_valid ;then
+		eerror "Please give valid Ceph Server Type: mds, mon, osd"
+		return 1
+	fi
+}
+
+reload() {
+	ebegin "Reloading Ceph ${daemon_type}.${daemon_id}"
+	start-stop-daemon --signal 1 ${start_stop_daemon_args} --pidfile "${pidfile}"
+	eend $?
+}
+
+# vim:ft=gentoo-init-d:ts=4:sts=4:sw=4:noet:


^ permalink raw reply related	[flat|nested] 68+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-cluster/ceph/, sys-cluster/ceph/files/
@ 2016-10-11 21:57 Patrick McLean
  0 siblings, 0 replies; 68+ messages in thread
From: Patrick McLean @ 2016-10-11 21:57 UTC (permalink / raw
  To: gentoo-commits

commit:     37385b5e56b341e9cea2bd536104e3daff3a83c0
Author:     Patrick McLean <chutzpah <AT> gentoo <DOT> org>
AuthorDate: Tue Oct 11 21:56:31 2016 +0000
Commit:     Patrick McLean <chutzpah <AT> gentoo <DOT> org>
CommitDate: Tue Oct 11 21:57:16 2016 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=37385b5e

sys-cluster/ceph: Version bump to 10.2.3

Package-Manager: portage-2.3.1

 sys-cluster/ceph/Manifest                          |   1 +
 sys-cluster/ceph/ceph-10.2.3.ebuild                | 262 +++++++++++++++++++++
 .../files/ceph-10.2.3-build-without-openldap.patch |  32 +++
 3 files changed, 295 insertions(+)

diff --git a/sys-cluster/ceph/Manifest b/sys-cluster/ceph/Manifest
index 1a120d4..c21cf2a 100644
--- a/sys-cluster/ceph/Manifest
+++ b/sys-cluster/ceph/Manifest
@@ -1,3 +1,4 @@
 DIST ceph-0.94.7.tar.gz 9164375 SHA256 aafe6cbab2f5db11376e5696a58d0711a90e93094a04eafe8d4d0910c8694d66 SHA512 e27631dceb01d59fab5fab22eaf7a8d0cbb474b44834a3b62bff4562e32723711431ee3ae66e2de26368b3b0e8f3619282a91c6934b88e722fcdfe6215bf8e68 WHIRLPOOL b2c0f5d26a1ffdfede29ec35cba6bf3c630cfcf0ea8d42542bcfc8ee36294d611c5316ff85e4ade9c8e1e66ad020cf5402bddcfa9557b29969ae6bb9a3870b60
 DIST ceph-10.2.2.tar.gz 11541035 SHA256 7adaaeffb5a787108b5e1494df9165b6420069c0ab710e6e4aad185f423b0f6d SHA512 b47138528af3078646b52e9ea9a561eca4120473e7584c9076e949f0e9bbbdd15aa88e2287a90bd1ddb09d06c29c40181c18da58f5126a442101169ef3419b8a WHIRLPOOL f744444f2064832cba46065bd0fe64996c92bf8ed7888c075dffa9efe1d84393bd2204b38cefe11d0804ea862d0f2ff2d114ea205ff163d60e061e2e4a01db15
+DIST ceph-10.2.3.tar.gz 11596171 SHA256 dca933aa14db67b404d836ef510bd418091978edc2f0c74dfc530ba0aa5e8994 SHA512 9de1e6851fc343d2c52c72cec3f7887d998d5b588f1251ee3a1fda14427badfa10408e6691fb03a374a10f4ec9844868423fee70fbbe2c0d962af98481412f19 WHIRLPOOL 981ebca66113a07a5cc6e5934272a72b29a2c19e03398f7b622c11df6ea0a05339558dfc2f11504403cbbd0efe0b090ad59f4b86206b46db57587744091aa26a
 DIST ceph-9.2.1.tar.gz 9933444 SHA256 1918dfc3df80df5986c5b7ff6bc6c78064eef0f6c5e8269dba30e08c703a7c2f SHA512 1e84c1e2d64f4156a523658ed11552b045f75986922b7b7dbaf4719e73a0a6aadc71eb2b94ae363526f729534a592921a437468a41a3cea88c1b84e09de8505a WHIRLPOOL 3a0eb6712e5b0235707e86129e1d66f1184f50cd4980c30f6d8cc0e7dfd96d30b91177ed16dd7abf2ad4983c6a543eb91915f74f661f7d3e3c810b5b1d656aca

diff --git a/sys-cluster/ceph/ceph-10.2.3.ebuild b/sys-cluster/ceph/ceph-10.2.3.ebuild
new file mode 100644
index 00000000..0d4c758
--- /dev/null
+++ b/sys-cluster/ceph/ceph-10.2.3.ebuild
@@ -0,0 +1,262 @@
+# Copyright 1999-2016 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=6
+PYTHON_COMPAT=( python{2_7,3_{4,5}} )
+
+inherit check-reqs autotools eutils python-r1 udev user \
+	readme.gentoo-r1 systemd versionator flag-o-matic
+
+if [[ ${PV} == *9999* ]]; then
+	inherit git-r3
+	EGIT_REPO_URI="
+		git://github.com/ceph/ceph.git
+		https://github.com/ceph/ceph.git"
+	SRC_URI=""
+else
+	SRC_URI="http://ceph.com/download/${P}.tar.gz"
+	KEYWORDS="~amd64 ~arm ~ppc ~ppc64 ~x86"
+fi
+
+DESCRIPTION="Ceph distributed filesystem"
+HOMEPAGE="http://ceph.com/"
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+
+IUSE="babeltrace cephfs cryptopp debug fuse gtk jemalloc ldap +libaio"
+IUSE+=" libatomic lttng +nss +radosgw static-libs tcmalloc test xfs zfs"
+
+# unbundling code commented out pending bugs 584056 and 584058
+#>=dev-libs/jerasure-2.0.0-r1
+#>=dev-libs/gf-complete-2.0.0
+COMMON_DEPEND="
+	app-arch/snappy
+	app-arch/lz4:=
+	app-arch/bzip2
+	dev-libs/boost:=[threads]
+	dev-libs/libaio
+	dev-libs/leveldb[snappy]
+	nss? ( dev-libs/nss )
+	libatomic? ( dev-libs/libatomic_ops )
+	cryptopp? ( dev-libs/crypto++:= )
+	sys-apps/keyutils
+	sys-apps/util-linux
+	dev-libs/libxml2
+	radosgw? ( dev-libs/fcgi )
+	ldap? ( net-nds/openldap )
+	babeltrace? ( dev-util/babeltrace )
+	fuse? ( sys-fs/fuse )
+	xfs? ( sys-fs/xfsprogs )
+	zfs? ( sys-fs/zfs )
+	gtk? (
+		x11-libs/gtk+:2
+		dev-cpp/gtkmm:2.4
+		gnome-base/librsvg
+	)
+	radosgw? (
+		dev-libs/fcgi
+		dev-libs/expat
+		net-misc/curl
+	)
+	jemalloc? ( dev-libs/jemalloc )
+	!jemalloc? ( dev-util/google-perftools )
+	lttng? ( dev-util/lttng-ust )
+	${PYTHON_DEPS}
+	"
+DEPEND="${COMMON_DEPEND}
+	dev-python/cython[${PYTHON_USEDEP}]
+	app-arch/cpio
+	sys-apps/lsb-release
+	virtual/pkgconfig
+	dev-python/sphinx
+	test? (
+		sys-fs/btrfs-progs
+		sys-apps/grep[pcre]
+		dev-python/tox[${PYTHON_USEDEP}]
+		dev-python/virtualenv[${PYTHON_USEDEP}]
+	)"
+RDEPEND="${COMMON_DEPEND}
+	sys-apps/hdparm
+	sys-block/parted
+	sys-fs/cryptsetup
+	sys-apps/gptfdisk
+	dev-python/flask[${PYTHON_USEDEP}]
+	dev-python/requests[${PYTHON_USEDEP}]
+	"
+REQUIRED_USE="
+	$(python_gen_useflags 'python2*')
+	${PYTHON_REQUIRED_USE}
+	^^ ( nss cryptopp )
+	?? ( jemalloc tcmalloc )
+	"
+
+# work around bug in ceph compilation (rgw/ceph_dencoder-rgw_dencoder.o... undefined reference to `vtable for RGWZoneGroup')
+REQUIRED_USE+=" radosgw"
+
+RESTRICT="test? ( userpriv )"
+
+# distribution tarball does not include everything needed for tests
+RESTRICT+=" test"
+
+STRIP_MASK="/usr/lib*/rados-classes/*"
+
+UNBUNDLE_LIBS=(
+	src/erasure-code/jerasure/jerasure
+	src/erasure-code/jerasure/gf-complete
+)
+
+PATCHES=(
+	"${FILESDIR}/ceph-10.2.0-dont-use-virtualenvs.patch"
+	#"${FILESDIR}/ceph-10.2.1-unbundle-jerasure.patch"
+	"${FILESDIR}/${PN}-10.2.1-libzfs.patch"
+	"${FILESDIR}/${PN}-10.2.3-build-without-openldap.patch"
+)
+
+check-reqs_export_vars() {
+	if use debug; then
+		CHECKREQS_DISK_BUILD="23G"
+		CHECKREQS_DISK_USR="7G"
+	elif use amd64; then
+		CHECKREQS_DISK_BUILD="12G"
+		CHECKREQS_DISK_USR="450M"
+	else
+		CHECKREQS_DISK_BUILD="1400M"
+		CHECKREQS_DISK_USR="450M"
+	fi
+
+	export CHECKREQS_DISK_BUILD CHECKREQS_DISK_USR
+}
+
+user_setup() {
+	enewgroup ceph
+	enewuser ceph -1 -1 /var/lib/ceph ceph
+}
+
+emake_python_bindings() {
+	local action="${1}" params binding
+	shift
+	params=("${@}")
+
+	__emake_python_bindings_do_impl() {
+		emake "${params[@]}" PYTHON="${EPYTHON}" "${binding}-pybind-${action}"
+
+		# these don't work and aren't needed on python3
+		if [[ ${EBUILD_PHASE} == install ]] && python_is_python3; then
+			rm -f "${ED}/$(python_get_sitedir)"/ceph_{argparse,volume_client}.py
+		fi
+	}
+
+	pushd "${S}/src"
+	for binding in rados rbd $(use cephfs && echo cephfs); do
+		python_foreach_impl __emake_python_bindings_do_impl
+	done
+	popd
+
+	unset __emake_python_bindings_do_impl
+}
+
+pkg_pretend() {
+	check-reqs_export_vars
+	check-reqs_pkg_pretend
+}
+
+pkg_setup() {
+	python_setup
+	check-reqs_export_vars
+	check-reqs_pkg_setup
+	user_setup
+}
+
+src_prepare() {
+	default
+
+	# remove tests that need root access
+	rm src/test/cli/ceph-authtool/cap*.t
+
+	#rm -rf "${UNBUNDLE_LIBS[@]}"
+
+	append-flags -fPIC
+	eautoreconf
+}
+
+src_configure() {
+	local myeconfargs=(
+		--without-hadoop
+		--includedir=/usr/include
+		$(use_with cephfs)
+		$(use_with debug)
+		$(use_with fuse)
+		$(use_with libaio)
+		$(use_with libatomic libatomic-ops)
+		$(use_with nss)
+		$(use_with cryptopp)
+		$(use_with radosgw)
+		$(use_with gtk gtk2)
+		$(use_enable static-libs static)
+		$(use_with jemalloc)
+		$(use_with xfs libxfs)
+		$(use_with zfs libzfs)
+		$(use_with lttng )
+		$(use_with babeltrace)
+		$(use_with ldap openldap)
+		$(use jemalloc || usex tcmalloc " --with-tcmalloc" " --with-tcmalloc-minimal")
+		--with-mon
+		--with-eventfd
+		--with-cython
+		--without-kinetic
+		--without-librocksdb
+		--with-systemdsystemunitdir="$(systemd_get_systemunitdir)"
+	)
+
+	# we can only use python2.7 for building at the moment
+	python_export python2.7 PYTHON EPYTHON
+	econf "${myeconfargs[@]}"
+}
+
+src_compile() {
+	emake
+	emake_python_bindings all
+
+	use test && emake check-local
+}
+
+src_test() {
+	make check || die "make check failed"
+}
+
+src_install() {
+	default
+	emake_python_bindings install-exec "DESTDIR=\"${D}\""
+
+	prune_libtool_files --all
+
+	exeinto /usr/$(get_libdir)/ceph
+	newexe src/init-ceph ceph_init.sh
+
+	insinto /etc/logrotate.d/
+	newins "${FILESDIR}"/ceph.logrotate ${PN}
+
+	keepdir /var/lib/${PN}{,/tmp} /var/log/${PN}/stat
+
+	fowners ceph:ceph /var/lib/ceph
+
+	newinitd "${FILESDIR}/rbdmap.initd" rbdmap
+	newinitd "${FILESDIR}/${PN}.initd-r2" ${PN}
+	newconfd "${FILESDIR}/${PN}.confd-r1" ${PN}
+
+	systemd_install_serviced "${FILESDIR}/ceph-mds_at.service.conf" "ceph-mds@.service"
+	systemd_install_serviced "${FILESDIR}/ceph-osd_at.service.conf" "ceph-osd@.service"
+	systemd_install_serviced "${FILESDIR}/ceph-mon_at.service.conf" "ceph-mon@.service"
+
+	python_fix_shebang "${ED}"/usr/{,s}bin/
+
+	udev_dorules udev/*.rules
+
+	readme.gentoo_create_doc
+}
+
+pkg_postinst() {
+	readme.gentoo_print_elog
+}

diff --git a/sys-cluster/ceph/files/ceph-10.2.3-build-without-openldap.patch b/sys-cluster/ceph/files/ceph-10.2.3-build-without-openldap.patch
new file mode 100644
index 00000000..ffc1645
--- /dev/null
+++ b/sys-cluster/ceph/files/ceph-10.2.3-build-without-openldap.patch
@@ -0,0 +1,32 @@
+diff --git a/src/rgw/librgw.cc b/src/rgw/librgw.cc
+index c476129..cad54b8 100644
+--- a/src/rgw/librgw.cc
++++ b/src/rgw/librgw.cc
+@@ -470,7 +470,11 @@ namespace rgw {
+     const string& ldap_searchdn = store->ctx()->_conf->rgw_ldap_searchdn;
+     const string& ldap_dnattr =
+       store->ctx()->_conf->rgw_ldap_dnattr;
++#ifdef HAVE_OPENLDAP
+     std::string ldap_bindpw = parse_rgw_ldap_bindpw(store->ctx());
++#else
++    std::string ldap_bindpw;
++#endif /* HAVE_OPENLDAP */
+ 
+     ldh = new rgw::LDAPHelper(ldap_uri, ldap_binddn, ldap_bindpw.c_str(),
+ 			      ldap_searchdn, ldap_dnattr);
+diff --git a/src/rgw/rgw_rest_s3.cc b/src/rgw/rgw_rest_s3.cc
+index e9f24f3..7291e69 100644
+--- a/src/rgw/rgw_rest_s3.cc
++++ b/src/rgw/rgw_rest_s3.cc
+@@ -3091,7 +3091,11 @@ void RGW_Auth_S3::init_impl(RGWRados* store)
+   const string& ldap_searchdn = store->ctx()->_conf->rgw_ldap_searchdn;
+   const string& ldap_dnattr =
+     store->ctx()->_conf->rgw_ldap_dnattr;
++#ifdef HAVE_OPENLDAP
+   std::string ldap_bindpw = parse_rgw_ldap_bindpw(store->ctx());
++#else
++  std::string ldap_bindpw;
++#endif /* HAVE_OPENLDAP */
+ 
+   ldh = new rgw::LDAPHelper(ldap_uri, ldap_binddn, ldap_bindpw,
+ 			    ldap_searchdn, ldap_dnattr);


^ permalink raw reply related	[flat|nested] 68+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-cluster/ceph/, sys-cluster/ceph/files/
@ 2016-07-11  1:23 Yixun Lan
  0 siblings, 0 replies; 68+ messages in thread
From: Yixun Lan @ 2016-07-11  1:23 UTC (permalink / raw
  To: gentoo-commits

commit:     361fb48dfdefd0b5442dd36e1b3d9a2cb47f8b07
Author:     Yixun Lan <dlan <AT> gentoo <DOT> org>
AuthorDate: Mon Jul 11 01:21:06 2016 +0000
Commit:     Yixun Lan <dlan <AT> gentoo <DOT> org>
CommitDate: Mon Jul 11 01:21:47 2016 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=361fb48d

sys-cluster/ceph: restore 0.94.x (hammer)

we decided to keep at least two LTS versions
also, allow user upgrade from old versions (sidely)

Gentoo-Bug: 587568

Package-Manager: portage-2.3.0_rc1

 sys-cluster/ceph/Manifest                          |   1 +
 sys-cluster/ceph/ceph-0.94.7.ebuild                | 177 +++++++++++++++++++++
 .../ceph/files/ceph-0.94.7-monitor-security.patch  | 109 +++++++++++++
 3 files changed, 287 insertions(+)

diff --git a/sys-cluster/ceph/Manifest b/sys-cluster/ceph/Manifest
index 5317942..1a120d4 100644
--- a/sys-cluster/ceph/Manifest
+++ b/sys-cluster/ceph/Manifest
@@ -1,2 +1,3 @@
+DIST ceph-0.94.7.tar.gz 9164375 SHA256 aafe6cbab2f5db11376e5696a58d0711a90e93094a04eafe8d4d0910c8694d66 SHA512 e27631dceb01d59fab5fab22eaf7a8d0cbb474b44834a3b62bff4562e32723711431ee3ae66e2de26368b3b0e8f3619282a91c6934b88e722fcdfe6215bf8e68 WHIRLPOOL b2c0f5d26a1ffdfede29ec35cba6bf3c630cfcf0ea8d42542bcfc8ee36294d611c5316ff85e4ade9c8e1e66ad020cf5402bddcfa9557b29969ae6bb9a3870b60
 DIST ceph-10.2.2.tar.gz 11541035 SHA256 7adaaeffb5a787108b5e1494df9165b6420069c0ab710e6e4aad185f423b0f6d SHA512 b47138528af3078646b52e9ea9a561eca4120473e7584c9076e949f0e9bbbdd15aa88e2287a90bd1ddb09d06c29c40181c18da58f5126a442101169ef3419b8a WHIRLPOOL f744444f2064832cba46065bd0fe64996c92bf8ed7888c075dffa9efe1d84393bd2204b38cefe11d0804ea862d0f2ff2d114ea205ff163d60e061e2e4a01db15
 DIST ceph-9.2.1.tar.gz 9933444 SHA256 1918dfc3df80df5986c5b7ff6bc6c78064eef0f6c5e8269dba30e08c703a7c2f SHA512 1e84c1e2d64f4156a523658ed11552b045f75986922b7b7dbaf4719e73a0a6aadc71eb2b94ae363526f729534a592921a437468a41a3cea88c1b84e09de8505a WHIRLPOOL 3a0eb6712e5b0235707e86129e1d66f1184f50cd4980c30f6d8cc0e7dfd96d30b91177ed16dd7abf2ad4983c6a543eb91915f74f661f7d3e3c810b5b1d656aca

diff --git a/sys-cluster/ceph/ceph-0.94.7.ebuild b/sys-cluster/ceph/ceph-0.94.7.ebuild
new file mode 100644
index 0000000..eb31594
--- /dev/null
+++ b/sys-cluster/ceph/ceph-0.94.7.ebuild
@@ -0,0 +1,177 @@
+# Copyright 1999-2016 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 )
+
+if [[ $PV = *9999* ]]; then
+	scm_eclass=git-r3
+	EGIT_REPO_URI="
+		git://github.com/ceph/ceph.git
+		https://github.com/ceph/ceph.git"
+	SRC_URI=""
+else
+	[[ -n ${UPSTREAM_VER} ]] && \
+		UPSTREAM_PATCHSET_URI="https://dev.gentoo.org/~dlan/distfiles/${P}-upstream-patches-${UPSTREAM_VER}.tar.xz"
+
+	SRC_URI="http://ceph.com/download/${P}.tar.gz
+		${UPSTREAM_PATCHSET_URI}"
+fi
+KEYWORDS="~amd64 ~arm ~ppc ~ppc64 ~x86"
+
+inherit check-reqs autotools eutils multilib python-single-r1 udev readme.gentoo-r1 systemd ${scm_eclass}
+
+DESCRIPTION="Ceph distributed filesystem"
+HOMEPAGE="http://ceph.com/"
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+IUSE="babeltrace cryptopp debug fuse gtk libatomic +libaio lttng +nss radosgw static-libs jemalloc python tcmalloc xfs zfs"
+
+COMMON_DEPEND="
+	app-arch/snappy
+	dev-libs/boost:=[threads]
+	dev-libs/fcgi
+	dev-libs/libaio
+	dev-libs/libedit
+	dev-libs/leveldb[snappy]
+	nss? ( dev-libs/nss )
+	cryptopp? ( dev-libs/crypto++ )
+	sys-apps/keyutils
+	sys-apps/util-linux
+	dev-libs/libxml2
+	babeltrace? ( dev-util/babeltrace )
+	fuse? ( sys-fs/fuse )
+	libatomic? ( dev-libs/libatomic_ops )
+	xfs? ( sys-fs/xfsprogs )
+	zfs? ( sys-fs/zfs )
+	gtk? (
+		x11-libs/gtk+:2
+		dev-cpp/gtkmm:2.4
+		gnome-base/librsvg
+	)
+	radosgw? (
+		dev-libs/fcgi
+		dev-libs/expat
+		net-misc/curl
+	)
+	jemalloc? ( dev-libs/jemalloc )
+	!jemalloc? ( dev-util/google-perftools )
+	lttng? ( dev-util/lttng-ust )
+	${PYTHON_DEPS}
+	"
+DEPEND="${COMMON_DEPEND}
+	virtual/pkgconfig"
+RDEPEND="${COMMON_DEPEND}
+	sys-apps/hdparm
+	dev-python/flask[${PYTHON_USEDEP}]
+	dev-python/requests[${PYTHON_USEDEP}]
+	"
+REQUIRED_USE="
+	${PYTHON_REQUIRED_USE}
+	^^ ( nss cryptopp )
+	?? ( jemalloc tcmalloc )
+	"
+
+STRIP_MASK="/usr/lib*/rados-classes/*"
+
+PATCHES=(
+	"${FILESDIR}"/${PN}-0.79-libzfs.patch
+	"${FILESDIR}"/${P}-monitor-security.patch
+)
+CHECKREQS_DISK_BUILD="1400M"
+
+pkg_setup() {
+	python_setup
+}
+
+src_prepare() {
+	# Upstream's patchset
+	if [[ -n ${UPSTREAM_VER} ]]; then
+		einfo "Try to apply Ceph Upstream patch set"
+		EPATCH_SUFFIX="patch" \
+		EPATCH_FORCE="yes" \
+		EPATCH_OPTS="-p1" \
+			epatch "${WORKDIR}"/patches-upstream
+	fi
+
+	[[ ${PATCHES[@]} ]] && epatch "${PATCHES[@]}"
+
+	epatch_user
+	eautoreconf
+}
+
+src_configure() {
+	local myeconfargs=(
+		--without-hadoop
+		--docdir="${EPREFIX}/usr/share/doc/${PF}"
+		--includedir=/usr/include
+		$(use_with debug)
+		$(use_with fuse)
+		$(use_with libaio)
+		$(use_with libatomic libatomic-ops)
+		$(use_with nss)
+		$(use_with cryptopp)
+		$(use_with radosgw)
+		$(use_with gtk gtk2)
+		$(use_enable static-libs static)
+		$(use_with jemalloc)
+		$(use_with xfs libxfs)
+		$(use_with zfs libzfs)
+		$(use_with lttng )
+		$(use_with babeltrace)
+		--without-kinetic
+		--without-librocksdb
+	)
+
+	use jemalloc || \
+		myeconfargs+=( $(usex tcmalloc " --with-tcmalloc" " --with-tcmalloc-minimal") )
+
+	PYTHON="${EPYTHON}" \
+		econf "${myeconfargs[@]}"
+}
+
+src_install() {
+	default
+
+	prune_libtool_files --all
+
+	exeinto /usr/$(get_libdir)/ceph
+	newexe src/init-ceph ceph_init.sh
+
+	insinto /etc/logrotate.d/
+	newins "${FILESDIR}"/ceph.logrotate ${PN}
+
+	chmod 644 "${ED}"/usr/share/doc/${PF}/sample.*
+
+	keepdir /var/lib/${PN}
+	keepdir /var/lib/${PN}/tmp
+	keepdir /var/log/${PN}/stat
+
+	newinitd "${FILESDIR}/rbdmap.initd" rbdmap
+	newinitd "${FILESDIR}/${PN}.initd-r1.1" ${PN}
+	newconfd "${FILESDIR}/${PN}.confd-r1" ${PN}
+
+	systemd_dounit           "${FILESDIR}/ceph.target"
+	systemd_newunit          "${FILESDIR}/ceph-mds_at.service"      "ceph-mds@.service"
+	systemd_install_serviced "${FILESDIR}/ceph-mds_at.service.conf" "ceph-mds@.service"
+	systemd_newunit          "${FILESDIR}/ceph-osd_at.service"      "ceph-osd@.service"
+	systemd_install_serviced "${FILESDIR}/ceph-osd_at.service.conf" "ceph-osd@.service"
+	systemd_newunit          "${FILESDIR}/ceph-mon_at.service"      "ceph-mon@.service"
+	systemd_install_serviced "${FILESDIR}/ceph-mon_at.service.conf" "ceph-mon@.service"
+
+	python_fix_shebang \
+		"${ED}"/usr/sbin/{ceph-disk,ceph-create-keys} \
+		"${ED}"/usr/bin/{ceph,ceph-rest-api}
+
+	#install udev rules
+	udev_dorules udev/50-rbd.rules
+	udev_dorules udev/95-ceph-osd.rules
+
+	readme.gentoo_create_doc
+}
+
+pkg_postinst() {
+	readme.gentoo_print_elog
+}

diff --git a/sys-cluster/ceph/files/ceph-0.94.7-monitor-security.patch b/sys-cluster/ceph/files/ceph-0.94.7-monitor-security.patch
new file mode 100644
index 0000000..b225a6f
--- /dev/null
+++ b/sys-cluster/ceph/files/ceph-0.94.7-monitor-security.patch
@@ -0,0 +1,109 @@
+From b78a1be835706e7dabc505be343945d0ac05697d Mon Sep 17 00:00:00 2001
+From: Kefu Chai <kchai@redhat.com>
+Date: Thu, 30 Jun 2016 13:24:22 +0800
+Subject: [PATCH] mon: Monitor: validate prefix on handle_command()
+
+Fixes: http://tracker.ceph.com/issues/16297
+
+Signed-off-by: You Ji <youji@ebay.com>
+(cherry picked from commit 7cb3434fed03a5497abfd00bcec7276b70df0654)
+
+Conflicts:
+    src/mon/Monitor.cc (the signature of Monitor::reply_command()
+                        changed a little bit in master, so adapt the
+                        commit to work with the old method)
+---
+ src/mon/Monitor.cc       | 23 ++++++++++++++++++++++-
+ src/test/librados/cmd.cc | 35 +++++++++++++++++++++++++++++++++++
+ 2 files changed, 57 insertions(+), 1 deletion(-)
+
+diff --git a/src/mon/Monitor.cc b/src/mon/Monitor.cc
+index 48563ad..d499f0c 100644
+--- a/src/mon/Monitor.cc
++++ b/src/mon/Monitor.cc
+@@ -2565,7 +2565,19 @@ void Monitor::handle_command(MMonCommand *m)
+     return;
+   }
+ 
+-  cmd_getval(g_ceph_context, cmdmap, "prefix", prefix);
++  // check return value. If no prefix parameter provided,
++  // return value will be false, then return error info.
++  if(!cmd_getval(g_ceph_context, cmdmap, "prefix", prefix)) {
++    reply_command(m, -EINVAL, "command prefix not found", 0);
++    return;
++  }
++
++  // check prefix is empty
++  if (prefix.empty()) {
++    reply_command(m, -EINVAL, "command prefix must not be empty", 0);
++    return;
++  }
++
+   if (prefix == "get_command_descriptions") {
+     bufferlist rdata;
+     Formatter *f = Formatter::create("json");
+@@ -2586,6 +2598,15 @@ void Monitor::handle_command(MMonCommand *m)
+   boost::scoped_ptr<Formatter> f(Formatter::create(format));
+ 
+   get_str_vec(prefix, fullcmd);
++
++  // make sure fullcmd is not empty.
++  // invalid prefix will cause empty vector fullcmd.
++  // such as, prefix=";,,;"
++  if (fullcmd.empty()) {
++    reply_command(m, -EINVAL, "command requires a prefix to be valid", 0);
++    return;
++  }
++
+   module = fullcmd[0];
+ 
+   // validate command is in leader map
+diff --git a/src/test/librados/cmd.cc b/src/test/librados/cmd.cc
+index 4f327a0..0a7ed16 100644
+--- a/src/test/librados/cmd.cc
++++ b/src/test/librados/cmd.cc
+@@ -49,6 +49,41 @@ TEST(LibRadosCmd, MonDescribe) {
+   rados_buffer_free(buf);
+   rados_buffer_free(st);
+ 
++  cmd[0] = (char *)"";
++  ASSERT_EQ(-EINVAL, rados_mon_command(cluster, (const char **)cmd, 1, "{}", 2, &buf, &buflen, &st, &stlen));
++  rados_buffer_free(buf);
++  rados_buffer_free(st);
++
++  cmd[0] = (char *)"{}";
++  ASSERT_EQ(-EINVAL, rados_mon_command(cluster, (const char **)cmd, 1, "", 0, &buf, &buflen, &st, &stlen));
++  rados_buffer_free(buf);
++  rados_buffer_free(st);
++
++  cmd[0] = (char *)"{\"abc\":\"something\"}";
++  ASSERT_EQ(-EINVAL, rados_mon_command(cluster, (const char **)cmd, 1, "", 0, &buf, &buflen, &st, &stlen));
++  rados_buffer_free(buf);
++  rados_buffer_free(st);
++
++  cmd[0] = (char *)"{\"prefix\":\"\"}";
++  ASSERT_EQ(-EINVAL, rados_mon_command(cluster, (const char **)cmd, 1, "", 0, &buf, &buflen, &st, &stlen));
++  rados_buffer_free(buf);
++  rados_buffer_free(st);
++
++  cmd[0] = (char *)"{\"prefix\":\"    \"}";
++  ASSERT_EQ(-EINVAL, rados_mon_command(cluster, (const char **)cmd, 1, "", 0, &buf, &buflen, &st, &stlen));
++  rados_buffer_free(buf);
++  rados_buffer_free(st);
++
++  cmd[0] = (char *)"{\"prefix\":\";;;,,,;;,,\"}";
++  ASSERT_EQ(-EINVAL, rados_mon_command(cluster, (const char **)cmd, 1, "", 0, &buf, &buflen, &st, &stlen));
++  rados_buffer_free(buf);
++  rados_buffer_free(st);
++
++  cmd[0] = (char *)"{\"prefix\":\"extra command\"}";
++  ASSERT_EQ(-EINVAL, rados_mon_command(cluster, (const char **)cmd, 1, "", 0, &buf, &buflen, &st, &stlen));
++  rados_buffer_free(buf);
++  rados_buffer_free(st);
++
+   cmd[0] = (char *)"{\"prefix\":\"mon_status\"}";
+   ASSERT_EQ(0, rados_mon_command(cluster, (const char **)cmd, 1, "", 0, &buf, &buflen, &st, &stlen));
+   ASSERT_LT(0u, buflen);
+-- 
+2.9.0
+


^ permalink raw reply related	[flat|nested] 68+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-cluster/ceph/, sys-cluster/ceph/files/
@ 2016-06-30 23:53 Patrick McLean
  0 siblings, 0 replies; 68+ messages in thread
From: Patrick McLean @ 2016-06-30 23:53 UTC (permalink / raw
  To: gentoo-commits

commit:     4c6618086e16e704df31113b279e7ea4395bd41a
Author:     Patrick McLean <chutzpah <AT> gentoo <DOT> org>
AuthorDate: Thu Jun 30 23:52:50 2016 +0000
Commit:     Patrick McLean <chutzpah <AT> gentoo <DOT> org>
CommitDate: Thu Jun 30 23:52:50 2016 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=4c661808

sys-cluster/ceph: Revision bump to 9.2.1-r2 and 10.2.2-r1 for CVE-2016-5009 (bug #587568)

Package-Manager: portage-2.3.0

 sys-cluster/ceph/ceph-10.2.2-r1.ebuild          | 263 ++++++++++++++++++++++++
 sys-cluster/ceph/ceph-9.2.1-r2.ebuild           | 193 +++++++++++++++++
 sys-cluster/ceph/files/ceph-CVE-2016-5009.patch |  87 ++++++++
 3 files changed, 543 insertions(+)

diff --git a/sys-cluster/ceph/ceph-10.2.2-r1.ebuild b/sys-cluster/ceph/ceph-10.2.2-r1.ebuild
new file mode 100644
index 0000000..276f496
--- /dev/null
+++ b/sys-cluster/ceph/ceph-10.2.2-r1.ebuild
@@ -0,0 +1,263 @@
+# Copyright 1999-2016 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=6
+PYTHON_COMPAT=( python{2_7,3_{4,5}} )
+
+inherit check-reqs autotools eutils python-r1 udev user \
+	readme.gentoo-r1 systemd versionator flag-o-matic
+
+if [[ ${PV} == *9999* ]]; then
+	inherit git-r3
+	EGIT_REPO_URI="
+		git://github.com/ceph/ceph.git
+		https://github.com/ceph/ceph.git"
+	SRC_URI=""
+else
+	SRC_URI="http://ceph.com/download/${P}.tar.gz"
+	KEYWORDS="~amd64 ~arm ~ppc ~ppc64 ~x86"
+fi
+
+DESCRIPTION="Ceph distributed filesystem"
+HOMEPAGE="http://ceph.com/"
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+
+IUSE="babeltrace cephfs cryptopp debug fuse gtk jemalloc ldap +libaio"
+IUSE+=" libatomic lttng +nss +radosgw static-libs tcmalloc test xfs zfs"
+
+# unbundling code commented out pending bugs 584056 and 584058
+#>=dev-libs/jerasure-2.0.0-r1
+#>=dev-libs/gf-complete-2.0.0
+COMMON_DEPEND="
+	app-arch/snappy
+	app-arch/lz4:=
+	app-arch/bzip2
+	dev-libs/boost:=[threads]
+	dev-libs/libaio
+	dev-libs/leveldb[snappy]
+	nss? ( dev-libs/nss )
+	libatomic? ( dev-libs/libatomic_ops )
+	cryptopp? ( dev-libs/crypto++ )
+	sys-apps/keyutils
+	sys-apps/util-linux
+	dev-libs/libxml2
+	radosgw? ( dev-libs/fcgi )
+	ldap? ( net-nds/openldap )
+	babeltrace? ( dev-util/babeltrace )
+	fuse? ( sys-fs/fuse )
+	xfs? ( sys-fs/xfsprogs )
+	zfs? ( sys-fs/zfs )
+	gtk? (
+		x11-libs/gtk+:2
+		dev-cpp/gtkmm:2.4
+		gnome-base/librsvg
+	)
+	radosgw? (
+		dev-libs/fcgi
+		dev-libs/expat
+		net-misc/curl
+	)
+	jemalloc? ( dev-libs/jemalloc )
+	!jemalloc? ( dev-util/google-perftools )
+	lttng? ( dev-util/lttng-ust )
+	${PYTHON_DEPS}
+	"
+DEPEND="${COMMON_DEPEND}
+	dev-python/cython[${PYTHON_USEDEP}]
+	app-arch/cpio
+	sys-apps/lsb-release
+	virtual/pkgconfig
+	dev-python/sphinx
+	test? (
+		sys-fs/btrfs-progs
+		sys-apps/grep[pcre]
+		dev-python/tox[${PYTHON_USEDEP}]
+		dev-python/virtualenv[${PYTHON_USEDEP}]
+	)"
+RDEPEND="${COMMON_DEPEND}
+	sys-apps/hdparm
+	sys-block/parted
+	sys-fs/cryptsetup
+	sys-apps/gptfdisk
+	dev-python/flask[${PYTHON_USEDEP}]
+	dev-python/requests[${PYTHON_USEDEP}]
+	"
+REQUIRED_USE="
+	$(python_gen_useflags 'python2*')
+	${PYTHON_REQUIRED_USE}
+	^^ ( nss cryptopp )
+	?? ( jemalloc tcmalloc )
+	"
+
+# work around bug in ceph compilation (rgw/ceph_dencoder-rgw_dencoder.o... undefined reference to `vtable for RGWZoneGroup')
+REQUIRED_USE+="	radosgw"
+
+RESTRICT="test? ( userpriv )"
+
+# distribution tarball does not include everything needed for tests
+RESTRICT+=" test"
+
+STRIP_MASK="/usr/lib*/rados-classes/*"
+
+UNBUNDLE_LIBS=(
+	src/erasure-code/jerasure/jerasure
+	src/erasure-code/jerasure/gf-complete
+)
+
+PATCHES=(
+	"${FILESDIR}/ceph-10.2.0-dont-use-virtualenvs.patch"
+	#"${FILESDIR}/ceph-10.2.1-unbundle-jerasure.patch"
+	"${FILESDIR}/${PN}-10.2.1-libzfs.patch"
+	"${FILESDIR}/${PN}-10.2.1-armv7l-doesnt-support-momit-leaf-frame-pointer.patch"
+	"${FILESDIR}/${PN}-CVE-2016-5009.patch"
+)
+
+check-reqs_export_vars() {
+	if use debug; then
+		CHECKREQS_DISK_BUILD="23G"
+		CHECKREQS_DISK_USR="7G"
+	elif use amd64; then
+		CHECKREQS_DISK_BUILD="12G"
+		CHECKREQS_DISK_USR="450M"
+	else
+		CHECKREQS_DISK_BUILD="1400M"
+		CHECKREQS_DISK_USR="450M"
+	fi
+
+	export CHECKREQS_DISK_BUILD CHECKREQS_DISK_USR
+}
+
+user_setup() {
+	enewgroup ceph
+	enewuser ceph -1 -1 /var/lib/ceph ceph
+}
+
+emake_python_bindings() {
+	local action="${1}" params binding
+	shift
+	params=("${@}")
+
+	__emake_python_bindings_do_impl() {
+		emake "${params[@]}" PYTHON="${EPYTHON}" "${binding}-pybind-${action}"
+
+		# these don't work and aren't needed on python3
+		if [[ ${EBUILD_PHASE} == install ]] && python_is_python3; then
+			rm -f "${ED}/$(python_get_sitedir)"/ceph_{argparse,volume_client}.py
+		fi
+	}
+
+	pushd "${S}/src"
+	for binding in rados rbd $(use cephfs && echo cephfs); do
+		python_foreach_impl __emake_python_bindings_do_impl
+	done
+	popd
+
+	unset __emake_python_bindings_do_impl
+}
+
+pkg_pretend() {
+	check-reqs_export_vars
+	check-reqs_pkg_pretend
+}
+
+pkg_setup() {
+	python_setup
+	check-reqs_export_vars
+	check-reqs_pkg_setup
+	user_setup
+}
+
+src_prepare() {
+	default
+
+	# remove tests that need root access
+	rm src/test/cli/ceph-authtool/cap*.t
+
+	#rm -rf "${UNBUNDLE_LIBS[@]}"
+
+	append-flags -fPIC
+	eautoreconf
+}
+
+src_configure() {
+	local myeconfargs=(
+		--without-hadoop
+		--includedir=/usr/include
+		$(use_with cephfs)
+		$(use_with debug)
+		$(use_with fuse)
+		$(use_with libaio)
+		$(use_with libatomic libatomic-ops)
+		$(use_with nss)
+		$(use_with cryptopp)
+		$(use_with radosgw)
+		$(use_with gtk gtk2)
+		$(use_enable static-libs static)
+		$(use_with jemalloc)
+		$(use_with xfs libxfs)
+		$(use_with zfs libzfs)
+		$(use_with lttng )
+		$(use_with babeltrace)
+		$(use_with ldap openldap)
+		$(use jemalloc || usex tcmalloc " --with-tcmalloc" " --with-tcmalloc-minimal")
+		--with-mon
+		--with-eventfd
+		--with-cython
+		--without-kinetic
+		--without-librocksdb
+		--with-systemdsystemunitdir="$(systemd_get_systemunitdir)"
+	)
+
+	# we can only use python2.7 for building at the moment
+	python_export python2.7 PYTHON EPYTHON
+	econf "${myeconfargs[@]}"
+}
+
+src_compile() {
+	emake
+	emake_python_bindings all
+
+	use test && emake check-local
+}
+
+src_test() {
+	make check || die "make check failed"
+}
+
+src_install() {
+	default
+	emake_python_bindings install-exec "DESTDIR=\"${D}\""
+
+	prune_libtool_files --all
+
+	exeinto /usr/$(get_libdir)/ceph
+	newexe src/init-ceph ceph_init.sh
+
+	insinto /etc/logrotate.d/
+	newins "${FILESDIR}"/ceph.logrotate ${PN}
+
+	keepdir /var/lib/${PN}{,/tmp} /var/log/${PN}/stat
+
+	fowners ceph:ceph /var/lib/ceph
+
+	newinitd "${FILESDIR}/rbdmap.initd" rbdmap
+	newinitd "${FILESDIR}/${PN}.initd-r2" ${PN}
+	newconfd "${FILESDIR}/${PN}.confd-r1" ${PN}
+
+	systemd_install_serviced "${FILESDIR}/ceph-mds_at.service.conf" "ceph-mds@.service"
+	systemd_install_serviced "${FILESDIR}/ceph-osd_at.service.conf" "ceph-osd@.service"
+	systemd_install_serviced "${FILESDIR}/ceph-mon_at.service.conf" "ceph-mon@.service"
+
+	python_fix_shebang "${ED}"/usr/{,s}bin/
+
+	udev_dorules udev/*.rules
+
+	readme.gentoo_create_doc
+}
+
+pkg_postinst() {
+	readme.gentoo_print_elog
+}

diff --git a/sys-cluster/ceph/ceph-9.2.1-r2.ebuild b/sys-cluster/ceph/ceph-9.2.1-r2.ebuild
new file mode 100644
index 0000000..494094e
--- /dev/null
+++ b/sys-cluster/ceph/ceph-9.2.1-r2.ebuild
@@ -0,0 +1,193 @@
+# Copyright 1999-2016 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 )
+
+if [[ $PV = *9999* ]]; then
+	scm_eclass=git-r3
+	EGIT_REPO_URI="
+		git://github.com/ceph/ceph.git
+		https://github.com/ceph/ceph.git"
+	SRC_URI=""
+else
+	SRC_URI="http://ceph.com/download/${P}.tar.gz"
+fi
+KEYWORDS="~amd64 ~arm ~ppc ~ppc64 ~x86"
+
+inherit check-reqs autotools eutils multilib python-single-r1 udev user readme.gentoo systemd versionator ${scm_eclass}
+
+DESCRIPTION="Ceph distributed filesystem"
+HOMEPAGE="http://ceph.com/"
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+IUSE="babeltrace cryptopp debug fuse gtk libatomic +libaio lttng +nss radosgw static-libs jemalloc tcmalloc xfs zfs"
+
+COMMON_DEPEND="
+	app-arch/snappy
+	dev-libs/boost:=[threads]
+	dev-libs/fcgi
+	dev-libs/libaio
+	dev-libs/libedit
+	dev-libs/leveldb[snappy]
+	nss? ( dev-libs/nss )
+	cryptopp? ( dev-libs/crypto++ )
+	sys-apps/keyutils
+	sys-apps/util-linux
+	dev-libs/libxml2
+	babeltrace? ( dev-util/babeltrace )
+	fuse? ( sys-fs/fuse )
+	libatomic? ( dev-libs/libatomic_ops )
+	xfs? ( sys-fs/xfsprogs )
+	zfs? ( sys-fs/zfs )
+	gtk? (
+		x11-libs/gtk+:2
+		dev-cpp/gtkmm:2.4
+		gnome-base/librsvg
+	)
+	radosgw? (
+		dev-libs/fcgi
+		dev-libs/expat
+		net-misc/curl
+	)
+	jemalloc? ( dev-libs/jemalloc )
+	!jemalloc? ( dev-util/google-perftools )
+	lttng? ( dev-util/lttng-ust )
+	${PYTHON_DEPS}
+	"
+DEPEND="${COMMON_DEPEND}
+	virtual/pkgconfig"
+RDEPEND="${COMMON_DEPEND}
+	sys-apps/hdparm
+	dev-python/flask[${PYTHON_USEDEP}]
+	dev-python/requests[${PYTHON_USEDEP}]
+	"
+REQUIRED_USE="
+	${PYTHON_REQUIRED_USE}
+	^^ ( nss cryptopp )
+	?? ( jemalloc tcmalloc )
+	"
+
+STRIP_MASK="/usr/lib*/rados-classes/*"
+
+PATCHES=(
+	"${FILESDIR}"/${PN}-0.79-libzfs.patch
+	"${FILESDIR}"/${P}-libxfs.patch
+)
+
+check-reqs_export_vars() {
+	# check-reqs does not support use flags, and there is a lot of variability
+	# in Ceph.
+	# 16G     /var/tmp/portage/sys-cluster/ceph-9999-r1/work/ceph-9999
+	# 6.7G    /var/tmp/portage/sys-cluster/ceph-9999-r1/image/usr
+	# 23G     /var/tmp/portage/sys-cluster/ceph-9999-r1
+	# Size requirements tested for Hammer & Jewel releases
+	if use debug; then
+		export CHECKREQS_DISK_BUILD="23G"
+		export CHECKREQS_DISK_USR="7G"
+	else
+		export CHECKREQS_DISK_BUILD="9G"
+		export CHECKREQS_DISK_USR="450M"
+	fi
+
+	export CHECKREQS_MEMORY="7G"
+}
+
+user_setup() {
+	enewgroup ceph
+	enewuser ceph -1 -1 /var/lib/ceph ceph
+}
+
+pkg_setup() {
+	python_setup
+	check-reqs_export_vars
+	check-reqs_pkg_setup
+	user_setup
+}
+
+src_prepare() {
+	[[ ${PATCHES[@]} ]] && epatch "${PATCHES[@]}"
+
+	epatch_user
+	eautoreconf
+}
+
+pkg_pretend() {
+	check-reqs_export_vars
+	check-reqs_pkg_pretend
+}
+
+src_configure() {
+	local myeconfargs=(
+		--without-hadoop
+		--docdir="${EPREFIX}/usr/share/doc/${PF}"
+		--includedir=/usr/include
+		$(use_with debug)
+		$(use_with fuse)
+		$(use_with libaio)
+		$(use_with libatomic libatomic-ops)
+		$(use_with nss)
+		$(use_with cryptopp)
+		$(use_with radosgw)
+		$(use_with gtk gtk2)
+		$(use_enable static-libs static)
+		$(use_with jemalloc)
+		$(use_with xfs libxfs)
+		$(use_with zfs libzfs)
+		$(use_with lttng )
+		$(use_with babeltrace)
+		--without-kinetic
+		--without-librocksdb
+		--with-systemdsystemunitdir="$(systemd_get_systemunitdir)"
+	)
+
+	use jemalloc || \
+		myeconfargs+=( $(usex tcmalloc " --with-tcmalloc" " --with-tcmalloc-minimal") )
+
+	PYTHON="${EPYTHON}" \
+		econf "${myeconfargs[@]}"
+}
+
+src_install() {
+	default
+
+	prune_libtool_files --all
+
+	exeinto /usr/$(get_libdir)/ceph
+	newexe src/init-ceph ceph_init.sh
+
+	insinto /etc/logrotate.d/
+	newins "${FILESDIR}"/ceph.logrotate ${PN}
+
+	chmod 644 "${ED}"/usr/share/doc/${PF}/sample.*
+
+	keepdir /var/lib/${PN}
+	keepdir /var/lib/${PN}/tmp
+	keepdir /var/log/${PN}/stat
+
+	fowners ceph:ceph /var/lib/ceph
+
+	newinitd "${FILESDIR}/rbdmap.initd" rbdmap
+	newinitd "${FILESDIR}/${PN}.initd-r2" ${PN}
+	newconfd "${FILESDIR}/${PN}.confd-r1" ${PN}
+
+	systemd_install_serviced "${FILESDIR}/ceph-mds_at.service.conf" "ceph-mds@.service"
+	systemd_install_serviced "${FILESDIR}/ceph-osd_at.service.conf" "ceph-osd@.service"
+	systemd_install_serviced "${FILESDIR}/ceph-mon_at.service.conf" "ceph-mon@.service"
+
+	python_fix_shebang \
+		"${ED}"/usr/sbin/{ceph-disk,ceph-create-keys} \
+		"${ED}"/usr/bin/{ceph,ceph-rest-api,ceph-detect-init,ceph-brag}
+
+	#install udev rules
+	udev_dorules udev/50-rbd.rules
+	udev_dorules udev/95-ceph-osd.rules
+
+	readme.gentoo_create_doc
+}
+
+pkg_postinst() {
+	readme.gentoo_print_elog
+}

diff --git a/sys-cluster/ceph/files/ceph-CVE-2016-5009.patch b/sys-cluster/ceph/files/ceph-CVE-2016-5009.patch
new file mode 100644
index 0000000..1528dad
--- /dev/null
+++ b/sys-cluster/ceph/files/ceph-CVE-2016-5009.patch
@@ -0,0 +1,87 @@
+diff --git a/src/mon/Monitor.cc b/src/mon/Monitor.cc
+index 10c8bfc..98843d7 100644
+--- a/src/mon/Monitor.cc
++++ b/src/mon/Monitor.cc
+@@ -2631,7 +2631,19 @@ void Monitor::handle_command(MonOpRequestRef op)
+     return;
+   }
+ 
+-  cmd_getval(g_ceph_context, cmdmap, "prefix", prefix);
++  // check return value. If no prefix parameter provided,
++  // return value will be false, then return error info.
++  if(!cmd_getval(g_ceph_context, cmdmap, "prefix", prefix)) {
++    reply_command(op, -EINVAL, "command prefix not found", 0);
++    return;
++  }
++
++  // check prefix is empty
++  if (prefix.empty()) {
++    reply_command(op, -EINVAL, "command prefix must not be empty", 0);
++    return;
++  }
++
+   if (prefix == "get_command_descriptions") {
+     bufferlist rdata;
+     Formatter *f = Formatter::create("json");
+@@ -2652,6 +2664,15 @@ void Monitor::handle_command(MonOpRequestRef op)
+   boost::scoped_ptr<Formatter> f(Formatter::create(format));
+ 
+   get_str_vec(prefix, fullcmd);
++
++  // make sure fullcmd is not empty.
++  // invalid prefix will cause empty vector fullcmd.
++  // such as, prefix=";,,;"
++  if (fullcmd.empty()) {
++    reply_command(op, -EINVAL, "command requires a prefix to be valid", 0);
++    return;
++  }
++
+   module = fullcmd[0];
+ 
+   // validate command is in leader map
+diff --git a/src/test/librados/cmd.cc b/src/test/librados/cmd.cc
+index 9261fb5..878a8af 100644
+--- a/src/test/librados/cmd.cc
++++ b/src/test/librados/cmd.cc
+@@ -48,6 +48,41 @@ TEST(LibRadosCmd, MonDescribe) {
+   rados_buffer_free(buf);
+   rados_buffer_free(st);
+ 
++  cmd[0] = (char *)"";
++  ASSERT_EQ(-EINVAL, rados_mon_command(cluster, (const char **)cmd, 1, "{}", 2, &buf, &buflen, &st, &stlen));
++  rados_buffer_free(buf);
++  rados_buffer_free(st);
++
++  cmd[0] = (char *)"{}";
++  ASSERT_EQ(-EINVAL, rados_mon_command(cluster, (const char **)cmd, 1, "", 0, &buf, &buflen, &st, &stlen));
++  rados_buffer_free(buf);
++  rados_buffer_free(st);
++
++  cmd[0] = (char *)"{\"abc\":\"something\"}";
++  ASSERT_EQ(-EINVAL, rados_mon_command(cluster, (const char **)cmd, 1, "", 0, &buf, &buflen, &st, &stlen));
++  rados_buffer_free(buf);
++  rados_buffer_free(st);
++
++  cmd[0] = (char *)"{\"prefix\":\"\"}";
++  ASSERT_EQ(-EINVAL, rados_mon_command(cluster, (const char **)cmd, 1, "", 0, &buf, &buflen, &st, &stlen));
++  rados_buffer_free(buf);
++  rados_buffer_free(st);
++
++  cmd[0] = (char *)"{\"prefix\":\"    \"}";
++  ASSERT_EQ(-EINVAL, rados_mon_command(cluster, (const char **)cmd, 1, "", 0, &buf, &buflen, &st, &stlen));
++  rados_buffer_free(buf);
++  rados_buffer_free(st);
++
++  cmd[0] = (char *)"{\"prefix\":\";;;,,,;;,,\"}";
++  ASSERT_EQ(-EINVAL, rados_mon_command(cluster, (const char **)cmd, 1, "", 0, &buf, &buflen, &st, &stlen));
++  rados_buffer_free(buf);
++  rados_buffer_free(st);
++
++  cmd[0] = (char *)"{\"prefix\":\"extra command\"}";
++  ASSERT_EQ(-EINVAL, rados_mon_command(cluster, (const char **)cmd, 1, "", 0, &buf, &buflen, &st, &stlen));
++  rados_buffer_free(buf);
++  rados_buffer_free(st);
++
+   cmd[0] = (char *)"{\"prefix\":\"mon_status\"}";
+   ASSERT_EQ(0, rados_mon_command(cluster, (const char **)cmd, 1, "", 0, &buf, &buflen, &st, &stlen));
+   ASSERT_LT(0u, buflen);


^ permalink raw reply related	[flat|nested] 68+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-cluster/ceph/, sys-cluster/ceph/files/
@ 2016-06-07  6:45 Yixun Lan
  0 siblings, 0 replies; 68+ messages in thread
From: Yixun Lan @ 2016-06-07  6:45 UTC (permalink / raw
  To: gentoo-commits

commit:     afb63b906bf1cba90a8f9d4a651174ad973ee422
Author:     Yixun Lan <dlan <AT> gentoo <DOT> org>
AuthorDate: Tue Jun  7 06:42:45 2016 +0000
Commit:     Yixun Lan <dlan <AT> gentoo <DOT> org>
CommitDate: Tue Jun  7 06:44:36 2016 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=afb63b90

sys-cluster/ceph: correct zfs PKG_CONFIG's variable

Gentoo-Bug: 585050

Package-Manager: portage-2.3.0_rc1

 sys-cluster/ceph/ceph-10.2.1.ebuild             |  3 ++-
 sys-cluster/ceph/files/ceph-10.2.1-libzfs.patch | 11 +++++++++++
 2 files changed, 13 insertions(+), 1 deletion(-)

diff --git a/sys-cluster/ceph/ceph-10.2.1.ebuild b/sys-cluster/ceph/ceph-10.2.1.ebuild
index ab79bf3..1ab15d9 100644
--- a/sys-cluster/ceph/ceph-10.2.1.ebuild
+++ b/sys-cluster/ceph/ceph-10.2.1.ebuild
@@ -111,7 +111,8 @@ UNBUNDLE_LIBS=(
 PATCHES=(
 	"${FILESDIR}/ceph-10.2.0-dont-use-virtualenvs.patch"
 	#"${FILESDIR}/ceph-10.2.1-unbundle-jerasure.patch"
-	"${FILESDIR}/ceph-10.2.1-armv7l-doesnt-support-momit-leaf-frame-pointer.patch"
+	"${FILESDIR}/${P}-libzfs.patch"
+	"${FILESDIR}/${P}-armv7l-doesnt-support-momit-leaf-frame-pointer.patch"
 )
 
 check-reqs_export_vars() {

diff --git a/sys-cluster/ceph/files/ceph-10.2.1-libzfs.patch b/sys-cluster/ceph/files/ceph-10.2.1-libzfs.patch
new file mode 100644
index 0000000..34f8eb8
--- /dev/null
+++ b/sys-cluster/ceph/files/ceph-10.2.1-libzfs.patch
@@ -0,0 +1,11 @@
+--- ceph-10.2.1/configure.ac
++++ ceph-10.2.1/configure.ac
+@@ -908,7 +908,7 @@
+ 	    ,
+ 	    [with_libzfs=no])
+ AS_IF([test "x$with_libzfs" = xyes],
+-	    [PKG_CHECK_MODULES([LIBZFS], [zfs], [], [true])])
++	    [PKG_CHECK_MODULES([LIBZFS], [libzfs], [], [true])])
+ AS_IF([test "x$with_libzfs" = xyes],
+ 	    [AC_DEFINE([HAVE_LIBZFS], [1], [Defined if you have libzfs enabled])])
+ AM_CONDITIONAL(WITH_LIBZFS, [ test "$with_libzfs" = "yes" ])


^ permalink raw reply related	[flat|nested] 68+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-cluster/ceph/, sys-cluster/ceph/files/
@ 2016-05-12 21:05 Patrick McLean
  0 siblings, 0 replies; 68+ messages in thread
From: Patrick McLean @ 2016-05-12 21:05 UTC (permalink / raw
  To: gentoo-commits

commit:     cdc8feb0f3590c62ac103efdb3f5ba903df8dc52
Author:     Patrick McLean <chutzpah <AT> gentoo <DOT> org>
AuthorDate: Thu May 12 21:04:08 2016 +0000
Commit:     Patrick McLean <chutzpah <AT> gentoo <DOT> org>
CommitDate: Thu May 12 21:04:08 2016 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=cdc8feb0

sys-cluster/ceph: Revision bump to 0.94.6-r1, don't try to run as "ceph" user

Gentoo-Bug: 577570

Package-Manager: portage-2.2.28

 sys-cluster/ceph/ceph-0.94.6-r1.ebuild | 163 +++++++++++++++++++++++++++++++++
 sys-cluster/ceph/files/ceph.initd-r1.1 |  39 ++++++++
 2 files changed, 202 insertions(+)

diff --git a/sys-cluster/ceph/ceph-0.94.6-r1.ebuild b/sys-cluster/ceph/ceph-0.94.6-r1.ebuild
new file mode 100644
index 0000000..0892f95
--- /dev/null
+++ b/sys-cluster/ceph/ceph-0.94.6-r1.ebuild
@@ -0,0 +1,163 @@
+# Copyright 1999-2016 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 )
+
+if [[ $PV = *9999* ]]; then
+	scm_eclass=git-r3
+	EGIT_REPO_URI="
+		git://github.com/ceph/ceph.git
+		https://github.com/ceph/ceph.git"
+	SRC_URI=""
+else
+	SRC_URI="http://ceph.com/download/${P}.tar.gz"
+fi
+KEYWORDS="~amd64 ~arm ~ppc ~ppc64 ~x86"
+
+inherit check-reqs autotools eutils multilib python-single-r1 udev readme.gentoo-r1 systemd ${scm_eclass}
+
+DESCRIPTION="Ceph distributed filesystem"
+HOMEPAGE="http://ceph.com/"
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+IUSE="babeltrace cryptopp debug fuse gtk libatomic +libaio lttng +nss radosgw static-libs jemalloc python tcmalloc xfs zfs"
+
+COMMON_DEPEND="
+	app-arch/snappy
+	dev-libs/boost:=[threads]
+	dev-libs/fcgi
+	dev-libs/libaio
+	dev-libs/libedit
+	dev-libs/leveldb[snappy]
+	nss? ( dev-libs/nss )
+	cryptopp? ( dev-libs/crypto++ )
+	sys-apps/keyutils
+	sys-apps/util-linux
+	dev-libs/libxml2
+	babeltrace? ( dev-util/babeltrace )
+	fuse? ( sys-fs/fuse )
+	libatomic? ( dev-libs/libatomic_ops )
+	xfs? ( sys-fs/xfsprogs )
+	zfs? ( sys-fs/zfs )
+	gtk? (
+		x11-libs/gtk+:2
+		dev-cpp/gtkmm:2.4
+		gnome-base/librsvg
+	)
+	radosgw? (
+		dev-libs/fcgi
+		dev-libs/expat
+		net-misc/curl
+	)
+	jemalloc? ( dev-libs/jemalloc )
+	!jemalloc? ( dev-util/google-perftools )
+	lttng? ( dev-util/lttng-ust )
+	${PYTHON_DEPS}
+	"
+DEPEND="${COMMON_DEPEND}
+	virtual/pkgconfig"
+RDEPEND="${COMMON_DEPEND}
+	sys-apps/hdparm
+	dev-python/flask[${PYTHON_USEDEP}]
+	dev-python/requests[${PYTHON_USEDEP}]
+	"
+REQUIRED_USE="
+	${PYTHON_REQUIRED_USE}
+	^^ ( nss cryptopp )
+	?? ( jemalloc tcmalloc )
+	"
+
+STRIP_MASK="/usr/lib*/rados-classes/*"
+
+PATCHES=(
+	"${FILESDIR}"/${PN}-0.79-libzfs.patch
+)
+CHECKREQS_DISK_BUILD="1400M"
+
+pkg_setup() {
+	python_setup
+}
+
+src_prepare() {
+	[[ ${PATCHES[@]} ]] && epatch "${PATCHES[@]}"
+
+	epatch_user
+	eautoreconf
+}
+
+src_configure() {
+	local myeconfargs=(
+		--without-hadoop
+		--docdir="${EPREFIX}/usr/share/doc/${PF}"
+		--includedir=/usr/include
+		$(use_with debug)
+		$(use_with fuse)
+		$(use_with libaio)
+		$(use_with libatomic libatomic-ops)
+		$(use_with nss)
+		$(use_with cryptopp)
+		$(use_with radosgw)
+		$(use_with gtk gtk2)
+		$(use_enable static-libs static)
+		$(use_with jemalloc)
+		$(use_with xfs libxfs)
+		$(use_with zfs libzfs)
+		$(use_with lttng )
+		$(use_with babeltrace)
+		--without-kinetic
+		--without-librocksdb
+	)
+
+	use jemalloc || \
+		myeconfargs+=( $(usex tcmalloc " --with-tcmalloc" " --with-tcmalloc-minimal") )
+
+	PYTHON="${EPYTHON}" \
+		econf "${myeconfargs[@]}"
+}
+
+src_install() {
+	default
+
+	prune_libtool_files --all
+
+	exeinto /usr/$(get_libdir)/ceph
+	newexe src/init-ceph ceph_init.sh
+
+	insinto /etc/logrotate.d/
+	newins "${FILESDIR}"/ceph.logrotate ${PN}
+
+	chmod 644 "${ED}"/usr/share/doc/${PF}/sample.*
+
+	keepdir /var/lib/${PN}
+	keepdir /var/lib/${PN}/tmp
+	keepdir /var/log/${PN}/stat
+
+	newinitd "${FILESDIR}/rbdmap.initd" rbdmap
+	newinitd "${FILESDIR}/${PN}.initd-r1.1" ${PN}
+	newconfd "${FILESDIR}/${PN}.confd-r1" ${PN}
+
+	systemd_dounit           "${FILESDIR}/ceph.target"
+	systemd_newunit          "${FILESDIR}/ceph-mds_at.service"      "ceph-mds@.service"
+	systemd_install_serviced "${FILESDIR}/ceph-mds_at.service.conf" "ceph-mds@.service"
+	systemd_newunit          "${FILESDIR}/ceph-osd_at.service"      "ceph-osd@.service"
+	systemd_install_serviced "${FILESDIR}/ceph-osd_at.service.conf" "ceph-osd@.service"
+	systemd_newunit          "${FILESDIR}/ceph-mon_at.service"      "ceph-mon@.service"
+	systemd_install_serviced "${FILESDIR}/ceph-mon_at.service.conf" "ceph-mon@.service"
+
+	python_fix_shebang \
+		"${ED}"/usr/sbin/{ceph-disk,ceph-create-keys} \
+		"${ED}"/usr/bin/{ceph,ceph-rest-api}
+
+	#install udev rules
+	udev_dorules udev/50-rbd.rules
+	udev_dorules udev/95-ceph-osd.rules
+
+	readme.gentoo_create_doc
+}
+
+pkg_postinst() {
+	readme.gentoo_print_elog
+}

diff --git a/sys-cluster/ceph/files/ceph.initd-r1.1 b/sys-cluster/ceph/files/ceph.initd-r1.1
new file mode 100644
index 0000000..bb60325
--- /dev/null
+++ b/sys-cluster/ceph/files/ceph.initd-r1.1
@@ -0,0 +1,39 @@
+#!/sbin/openrc-run
+
+ceph_conf="${ceph_conf:-/etc/ceph/ceph.conf}"
+extra_commands="reload"
+daemon_type="${RC_SVCNAME#ceph-}"
+daemon_type="${daemon_type%.*}"
+daemon_id="${RC_SVCNAME#ceph-*.}"
+daemon_id="${daemon_id:-0}"
+command="/usr/bin/ceph-${daemon_type}"
+pidfile="/run/ceph/${daemon_type}.${daemon_id}.pid"
+command_args="-i ${daemon_id} --pid-file ${pidfile} -c ${ceph_conf}"
+
+depend() {
+	after net ntpd ntp-client chronyd
+	before netmount
+}
+
+is_type_valid() {
+	case ${daemon_type} in
+		mon|mds|osd) return 0;;
+		*) return 1;;
+	esac
+}
+
+start_pre() {
+	checkpath -d -q -o ceph "$(dirname "${pidfile}")"
+	if ! is_type_valid ;then
+		eerror "Please give valid Ceph Server Type: mds, mon, osd"
+		return 1
+	fi
+}
+
+reload() {
+	ebegin "Reloading Ceph ${daemon_type}.${daemon_id}"
+	start-stop-daemon --signal 1 ${start_stop_daemon_args} --pidfile "${pidfile}"
+	eend $?
+}
+
+# vim:ft=gentoo-init-d:ts=4:sts=4:sw=4:noet:


^ permalink raw reply related	[flat|nested] 68+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-cluster/ceph/, sys-cluster/ceph/files/
@ 2016-05-12 18:56 Patrick McLean
  0 siblings, 0 replies; 68+ messages in thread
From: Patrick McLean @ 2016-05-12 18:56 UTC (permalink / raw
  To: gentoo-commits

commit:     02e633365fd994d9601fc84ddd742a6b20742e1e
Author:     Patrick McLean <chutzpah <AT> gentoo <DOT> org>
AuthorDate: Thu May 12 18:55:55 2016 +0000
Commit:     Patrick McLean <chutzpah <AT> gentoo <DOT> org>
CommitDate: Thu May 12 18:55:55 2016 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=02e63336

sys-cluster/ceph: Version bump to 10.2.0 (bug #580878)

This also adds a new init script that is written in POSIX shell (bug #581358)

Gentoo-Bug: 580878

Package-Manager: portage-2.2.28

 sys-cluster/ceph/Manifest                          |   1 +
 sys-cluster/ceph/ceph-10.2.0.ebuild                | 250 +++++++++++++++++++++
 .../files/ceph-10.2.0-dont-use-virtualenvs.patch   |  95 ++++++++
 sys-cluster/ceph/files/ceph.initd-r2               |  40 ++++
 sys-cluster/ceph/metadata.xml                      |   1 +
 5 files changed, 387 insertions(+)

diff --git a/sys-cluster/ceph/Manifest b/sys-cluster/ceph/Manifest
index 8129c0d..0387562 100644
--- a/sys-cluster/ceph/Manifest
+++ b/sys-cluster/ceph/Manifest
@@ -3,5 +3,6 @@ DIST ceph-0.94.5.tar.bz2 7084809 SHA256 7658bec8cf6e6c8f5ceb1e85116c4df2582c497a
 DIST ceph-0.94.6.tar.gz 9131464 SHA256 d2e65e21bdecdfa1fffb2661e9be2d5382bd975a0eb8296df0e96bacc11c251f SHA512 4920857d7493769929754877e3f255cc816400757b014b0c075d65ce9c83c47a86725540fa012eb95f9c6395a477945d3a46322f3055f05345298858fec53997 WHIRLPOOL cb1a230dc1f07903b3712d9d23df718b12df219255b680737d3a746e9cbeee0d0c3ddb21da6dad1e31fb4d77aa9b3283e2dbd6e59ca38146db2ae91c5e7d4229
 DIST ceph-10.0.0.tar.gz 10429823 SHA256 fd92052e0de135e1f35ea2add44b5b8add28a2a8235639d69c33cced06a4a357 SHA512 f0e36bf83c97d1dc0328fbba96897e583c6d29b11dc54ea7fa0186ffaa1cf4d26519f336083825d64dda70bd290dc45bd6f3f17ff67ada33322caee5f2f3ce07 WHIRLPOOL f443ab25ab8f89455d76f509f215b55519f9338d3b9daec318b097de4dffff7009a01521da0d963c4b5549485b6aebca1c0a705746cf2e64fef8e9f5e66676cf
 DIST ceph-10.0.2.tar.gz 10674888 SHA256 b62a906c3e7fa36d612077d2400a048a6a8c5beebd5763d550c3c8ca1506db37 SHA512 d7ee38d1ceb8f4593c2cbaf6fb87a51abd484793969d6b1aa7b396e49b115e4b939216b4df9f50add40621e78aff33bae91980615b428039ed64e26aaf05a80d WHIRLPOOL 1a6a35cb73b5afe979ddb1b9612b26a02cae48103701dee6a96ee4d1f88e3e75bebf13de299c3787379559a9ab17ed5547cf8cbbbbce7db279aa86f1aa41e1fd
+DIST ceph-10.2.0.tar.gz 11667920 SHA256 1a39d919beccaa26ddfbaeac04eebb80f4d43946a59a18e2e25a9a805d5b262d SHA512 1277f08aa7f8e30d962e455d611ff21667334c27012b7a4c2e22faf0e03c0f3e3278c561ce7ea7548d065c26824e8d212b01303201d0749648b741d2a4eb0125 WHIRLPOOL 3d6e85888f74b629f67107199c4c5de5dffc2f7bdb639a24aaea8cce447710996281685623f667b95786b5218ec586ea1c0b497237ff344b857eb6cbffc28713
 DIST ceph-9.2.0.tar.bz2 7663088 SHA256 706d33e097b4489a75cfaff8d835e05d91df6dac5cdd3a32a57404f0522dbdbb SHA512 d462f2e4696873552b232f0b89bcda8ddb0cddeab89cbab58e99eb068acb082a42cb558898bd4dee66239df64d15992cfd1c1158217b2ce60a465e1761bcea78 WHIRLPOOL d016b873a26afef4816921e5b9cbaae3ba4c9ece6683e3d60b1f689ab7dcc285bc386963e83b410a66a313cc953b7d0d9baa427b3b3eb12697daa08f3a5a6a18
 DIST ceph-9.2.1.tar.gz 9933444 SHA256 1918dfc3df80df5986c5b7ff6bc6c78064eef0f6c5e8269dba30e08c703a7c2f SHA512 1e84c1e2d64f4156a523658ed11552b045f75986922b7b7dbaf4719e73a0a6aadc71eb2b94ae363526f729534a592921a437468a41a3cea88c1b84e09de8505a WHIRLPOOL 3a0eb6712e5b0235707e86129e1d66f1184f50cd4980c30f6d8cc0e7dfd96d30b91177ed16dd7abf2ad4983c6a543eb91915f74f661f7d3e3c810b5b1d656aca

diff --git a/sys-cluster/ceph/ceph-10.2.0.ebuild b/sys-cluster/ceph/ceph-10.2.0.ebuild
new file mode 100644
index 0000000..34a1ae6
--- /dev/null
+++ b/sys-cluster/ceph/ceph-10.2.0.ebuild
@@ -0,0 +1,250 @@
+# Copyright 1999-2016 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=6
+PYTHON_COMPAT=( python{2_7,3_{4,5}} )
+
+inherit check-reqs autotools eutils python-r1 udev user \
+	readme.gentoo-r1 systemd versionator flag-o-matic
+
+if [[ ${PV} == *9999* ]]; then
+	inherit git-r3
+	EGIT_REPO_URI="
+		git://github.com/ceph/ceph.git
+		https://github.com/ceph/ceph.git"
+	SRC_URI=""
+else
+	SRC_URI="http://ceph.com/download/${P}.tar.gz"
+	KEYWORDS="~amd64 ~arm ~ppc ~ppc64 ~x86"
+fi
+
+DESCRIPTION="Ceph distributed filesystem"
+HOMEPAGE="http://ceph.com/"
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+
+IUSE="babeltrace cephfs cryptopp debug fuse gtk jemalloc ldap +libaio"
+IUSE+=" libatomic lttng +nss +radosgw static-libs tcmalloc test xfs zfs"
+
+COMMON_DEPEND="
+	app-arch/snappy
+	dev-libs/boost:=[threads]
+	dev-libs/fcgi
+	dev-libs/libaio
+	dev-libs/libedit
+	dev-python/sphinx[$(python_gen_usedep 'python2*')]
+	dev-libs/leveldb[snappy]
+	nss? ( dev-libs/nss )
+	libatomic? ( dev-libs/libatomic_ops )
+	cryptopp? ( dev-libs/crypto++ )
+	sys-apps/keyutils
+	sys-apps/util-linux
+	dev-libs/libxml2
+	ldap? ( net-nds/openldap )
+	babeltrace? ( dev-util/babeltrace )
+	fuse? ( sys-fs/fuse )
+	xfs? ( sys-fs/xfsprogs )
+	zfs? ( sys-fs/zfs )
+	gtk? (
+		x11-libs/gtk+:2
+		dev-cpp/gtkmm:2.4
+		gnome-base/librsvg
+	)
+	radosgw? (
+		dev-libs/fcgi
+		dev-libs/expat
+		net-misc/curl
+	)
+	jemalloc? ( dev-libs/jemalloc )
+	!jemalloc? ( dev-util/google-perftools )
+	lttng? ( dev-util/lttng-ust )
+	${PYTHON_DEPS}
+	"
+DEPEND="${COMMON_DEPEND}
+	dev-python/cython[${PYTHON_USEDEP}]
+	app-arch/cpio
+	sys-apps/lsb-release
+	virtual/pkgconfig
+	test? (
+		sys-fs/btrfs-progs
+		sys-apps/grep[pcre]
+		dev-python/tox[${PYTHON_USEDEP}]
+		dev-python/virtualenv[${PYTHON_USEDEP}]
+	)"
+RDEPEND="${COMMON_DEPEND}
+	sys-apps/which
+	sys-apps/hdparm
+	sys-block/parted
+	sys-fs/cryptsetup
+	sys-apps/gptfdisk
+	sys-apps/findutils
+	dev-python/flask[${PYTHON_USEDEP}]
+	dev-python/requests[${PYTHON_USEDEP}]
+	"
+REQUIRED_USE="
+	$(python_gen_useflags 'python2*')
+	${PYTHON_REQUIRED_USE}
+	^^ ( nss cryptopp )
+	?? ( jemalloc tcmalloc )
+	"
+
+# work around bug in ceph compilation (rgw/ceph_dencoder-rgw_dencoder.o... undefined reference to `vtable for RGWZoneGroup')
+REQUIRED_USE+="	radosgw"
+
+RESTRICT="test? ( userpriv )"
+
+# distribution tarball does not include everything needed for tests
+RESTRICT+=" test"
+
+STRIP_MASK="/usr/lib*/rados-classes/*"
+
+PATCHES=(
+	"${FILESDIR}/ceph-10.2.0-dont-use-virtualenvs.patch"
+)
+
+check-reqs_export_vars() {
+	if use debug; then
+		CHECKREQS_DISK_BUILD="23G"
+		CHECKREQS_DISK_USR="7G"
+	elif use amd64; then
+		CHECKREQS_DISK_BUILD="12G"
+		CHECKREQS_DISK_USR="450M"
+	else
+		CHECKREQS_DISK_BUILD="1400M"
+		CHECKREQS_DISK_USR="450M"
+	fi
+
+	export CHECKREQS_DISK_BUILD CHECKREQS_DISK_USR
+}
+
+user_setup() {
+	enewgroup ceph
+	enewuser ceph -1 -1 /var/lib/ceph ceph
+}
+
+emake_python_bindings() {
+	local action="${1}" params binding
+	shift
+	params=("${@}")
+
+	__emake_python_bindings_do_impl() {
+		emake "${params[@]}" PYTHON="${EPYTHON}" "${binding}-pybind-${action}"
+
+		# these don't work and aren't needed on python3
+		if [[ ${EBUILD_PHASE} == install ]] && python_is_python3; then
+			rm -f "${ED}/$(python_get_sitedir)"/ceph_{argparse,volume_client}.py
+		fi
+	}
+
+	pushd "${S}/src"
+	for binding in rados rbd $(use cephfs && echo cephfs); do
+		python_foreach_impl __emake_python_bindings_do_impl
+	done
+	popd
+
+	unset __emake_python_bindings_do_impl
+}
+
+pkg_pretend() {
+	check-reqs_export_vars
+	check-reqs_pkg_pretend
+}
+
+pkg_setup() {
+	python_setup
+	check-reqs_export_vars
+	check-reqs_pkg_setup
+	user_setup
+}
+
+src_prepare() {
+	default
+
+	# remove tests that need root access
+	rm src/test/cli/ceph-authtool/cap*.t
+
+	append-flags -fPIC
+	eautoreconf
+}
+
+src_configure() {
+	local myeconfargs=(
+		--without-hadoop
+		--includedir=/usr/include
+		$(use_with cephfs)
+		$(use_with debug)
+		$(use_with fuse)
+		$(use_with libaio)
+		$(use_with libatomic libatomic-ops)
+		$(use_with nss)
+		$(use_with cryptopp)
+		$(use_with radosgw)
+		$(use_with gtk gtk2)
+		$(use_enable static-libs static)
+		$(use_with jemalloc)
+		$(use_with xfs libxfs)
+		$(use_with zfs libzfs)
+		$(use_with lttng )
+		$(use_with babeltrace)
+		$(use_with ldap openldap)
+		$(use jemalloc || usex tcmalloc " --with-tcmalloc" " --with-tcmalloc-minimal")
+		--with-mon
+		--with-eventfd
+		--with-cython
+		--without-kinetic
+		--without-librocksdb
+		--with-systemdsystemunitdir="$(systemd_get_systemunitdir)"
+	)
+
+	# we can only use python2.7 for building at the moment
+	python_export python2.7 PYTHON EPYTHON
+	econf "${myeconfargs[@]}"
+}
+
+src_compile() {
+	emake
+	emake_python_bindings all
+
+	use test && emake check-local
+}
+
+src_test() {
+	make check || die "make check failed"
+}
+
+src_install() {
+	default
+	emake_python_bindings install-exec "DESTDIR=\"${D}\""
+
+	prune_libtool_files --all
+
+	exeinto /usr/$(get_libdir)/ceph
+	newexe src/init-ceph ceph_init.sh
+
+	insinto /etc/logrotate.d/
+	newins "${FILESDIR}"/ceph.logrotate ${PN}
+
+	keepdir /var/lib/${PN}{,/tmp} /var/log/${PN}/stat
+
+	fowners ceph:ceph /var/lib/ceph
+
+	newinitd "${FILESDIR}/rbdmap.initd" rbdmap
+	newinitd "${FILESDIR}/${PN}.initd-r2" ${PN}
+	newconfd "${FILESDIR}/${PN}.confd-r1" ${PN}
+
+	systemd_install_serviced "${FILESDIR}/ceph-mds_at.service.conf" "ceph-mds@.service"
+	systemd_install_serviced "${FILESDIR}/ceph-osd_at.service.conf" "ceph-osd@.service"
+	systemd_install_serviced "${FILESDIR}/ceph-mon_at.service.conf" "ceph-mon@.service"
+
+	python_fix_shebang "${ED}"/usr/{,s}bin/
+
+	udev_dorules udev/*.rules
+
+	readme.gentoo_create_doc
+}
+
+pkg_postinst() {
+	readme.gentoo_print_elog
+}

diff --git a/sys-cluster/ceph/files/ceph-10.2.0-dont-use-virtualenvs.patch b/sys-cluster/ceph/files/ceph-10.2.0-dont-use-virtualenvs.patch
new file mode 100644
index 0000000..f362763
--- /dev/null
+++ b/sys-cluster/ceph/files/ceph-10.2.0-dont-use-virtualenvs.patch
@@ -0,0 +1,95 @@
+diff --git a/Makefile.am b/Makefile.am
+index 7734be2..ba33bda 100644
+--- a/Makefile.am
++++ b/Makefile.am
+@@ -79,7 +79,6 @@ clean-local:
+ 	  cd src/gmock && $(MAKE) $(AM_MAKEFLAGS) clean; \
+ 	fi
+ 
+-	@rm -rf src/test/virtualenv
+ 	@rm -rf install-deps-*
+ 
+ 
+diff --git a/src/Makefile-env.am b/src/Makefile-env.am
+index df225d6..ca030cf 100644
+--- a/src/Makefile-env.am
++++ b/src/Makefile-env.am
+@@ -297,10 +297,6 @@ LIBCIVETWEB_DEPS =
+ DENCODER_SOURCES =
+ DENCODER_DEPS =
+ 
+-# put virtualenvs in this directory
+-# otherwise it may overflow #! 80 kernel limit
+-# beware that some build environments might not be able to write to /tmp
+ export TMPDIR ?= /tmp
+-export CEPH_BUILD_VIRTUALENV = $(TMPDIR)
+ 
+ radoslibdir = $(libdir)/rados-classes
+diff --git a/src/ceph-detect-init/Makefile.am b/src/ceph-detect-init/Makefile.am
+index 8ddcb1e..52dd5d5 100644
+--- a/src/ceph-detect-init/Makefile.am
++++ b/src/ceph-detect-init/Makefile.am
+@@ -53,15 +53,10 @@ EXTRA_DIST += \
+ 	ceph-detect-init/tests/test_all.py \
+ 	ceph-detect-init/tox.ini
+ 
+-export CEPH_DETECT_INIT_VIRTUALENV = ${CEPH_BUILD_VIRTUALENV}/ceph-detect-init-virtualenv
+-
+-ceph-detect-init-all: ${CEPH_DETECT_INIT_VIRTUALENV}
+-
+-${CEPH_DETECT_INIT_VIRTUALENV}:
+-	cd $(srcdir)/ceph-detect-init ; ../tools/setup-virtualenv.sh ${CEPH_DETECT_INIT_VIRTUALENV} ; test -d wheelhouse && export NO_INDEX=--no-index ; ${CEPH_DETECT_INIT_VIRTUALENV}/bin/pip install $$NO_INDEX --use-wheel --find-links=file://$$(pwd)/wheelhouse -e .
++ceph-detect-init-all:
+ 
+ ceph-detect-init-clean:
+-	cd $(srcdir)/ceph-detect-init ; python setup.py clean ; rm -fr wheelhouse .tox build ${CEPH_DETECT_INIT_VIRTUALENV} .coverage *.egg-info
++	cd $(srcdir)/ceph-detect-init
+ 
+ ceph-detect-init-install-data:
+ 	cd $(srcdir)/ceph-detect-init ; \
+diff --git a/src/ceph-disk/Makefile.am b/src/ceph-disk/Makefile.am
+index 9006303..0b35b0f 100644
+--- a/src/ceph-disk/Makefile.am
++++ b/src/ceph-disk/Makefile.am
+@@ -29,15 +29,10 @@ EXTRA_DIST += \
+ 	ceph-disk/tests/test_main.py \
+ 	ceph-disk/tox.ini
+ 
+-export CEPH_DISK_VIRTUALENV = ${CEPH_BUILD_VIRTUALENV}/ceph-disk-virtualenv
+-
+-ceph-disk-all: ${CEPH_DISK_VIRTUALENV}
+-
+-${CEPH_DISK_VIRTUALENV}:
+-	cd $(srcdir)/ceph-disk ; ../tools/setup-virtualenv.sh ${CEPH_DISK_VIRTUALENV} ; test -d wheelhouse && export NO_INDEX=--no-index ; ${CEPH_DISK_VIRTUALENV}/bin/pip install $$NO_INDEX --use-wheel --find-links=file://$$(pwd)/wheelhouse -e .
++ceph-disk-all:
+ 
+ ceph-disk-clean:
+-	cd $(srcdir)/ceph-disk ; python setup.py clean ; rm -fr wheelhouse .tox build ${CEPH_DISK_VIRTUALENV} .coverage *.egg-info
++	cd $(srcdir)/ceph-disk
+ 
+ ceph-disk-install-data:
+ 	cd $(srcdir)/ceph-disk ; \
+diff --git a/src/tools/Makefile.am b/src/tools/Makefile.am
+index e730850..9569947 100644
+--- a/src/tools/Makefile.am
++++ b/src/tools/Makefile.am
+@@ -45,6 +45,3 @@ noinst_HEADERS += \
+ 	tools/rados/PoolDump.h \
+ 	tools/cephfs/DataScan.h \
+ 	tools/cephfs/RoleSelector.h
+-
+-EXTRA_DIST += \
+-	tools/setup-virtualenv.sh
+diff --git a/src/tools/setup-virtualenv.sh b/src/tools/setup-virtualenv.sh
+index 9ff2d26..b6fca0a 100755
+--- a/src/tools/setup-virtualenv.sh
++++ b/src/tools/setup-virtualenv.sh
+@@ -15,6 +15,8 @@
+ # GNU Library Public License for more details.
+ #
+ 
++exit 0
++
+ DIR=$1
+ rm -fr $DIR
+ mkdir -p $DIR

diff --git a/sys-cluster/ceph/files/ceph.initd-r2 b/sys-cluster/ceph/files/ceph.initd-r2
new file mode 100644
index 0000000..16267c5
--- /dev/null
+++ b/sys-cluster/ceph/files/ceph.initd-r2
@@ -0,0 +1,40 @@
+#!/sbin/openrc-run
+
+ceph_conf="${ceph_conf:-/etc/ceph/ceph.conf}"
+extra_commands="reload"
+daemon_type="${RC_SVCNAME#ceph-}"
+daemon_type="${daemon_type%.*}"
+daemon_id="${RC_SVCNAME#ceph-*.}"
+daemon_id="${daemon_id:-0}"
+command="/usr/bin/ceph-${daemon_type}"
+pidfile="/run/ceph/${daemon_type}.${daemon_id}.pid"
+command_args="-i ${daemon_id} --pid-file ${pidfile} -c ${ceph_conf}"
+start_stop_daemon_args="--user ceph --group ceph"
+
+depend() {
+	after net ntpd ntp-client chronyd
+	before netmount
+}
+
+is_type_valid() {
+	case ${daemon_type} in
+		mon|mds|osd) return 0;;
+		*) return 1;;
+	esac
+}
+
+start_pre() {
+	checkpath -d -q -o ceph "$(dirname "${pidfile}")"
+	if ! is_type_valid ;then
+		eerror "Please give valid Ceph Server Type: mds, mon, osd"
+		return 1
+	fi
+}
+
+reload() {
+	ebegin "Reloading Ceph ${daemon_type}.${daemon_id}"
+	start-stop-daemon --signal 1 ${start_stop_daemon_args} --pidfile "${pidfile}"
+	eend $?
+}
+
+# vim:ft=gentoo-init-d:ts=4:sts=4:sw=4:noet:

diff --git a/sys-cluster/ceph/metadata.xml b/sys-cluster/ceph/metadata.xml
index 7810753..958ea7e 100644
--- a/sys-cluster/ceph/metadata.xml
+++ b/sys-cluster/ceph/metadata.xml
@@ -20,6 +20,7 @@ Ceph is a distributed network file system designed to provide excellent performa
 </longdescription>
   <use>
     <flag name="cryptopp">Use <pkg>dev-libs/crypto++</pkg> for cryptography</flag>
+    <flag name="cephfs">Build support for cephfs, a POSIX compatible filesystem built on top of ceph</flag>
     <flag name="fuse">Build fuse client</flag>
     <flag name="libatomic">Use libatomic instead of builtin atomic operations</flag>
     <flag name="libaio">Use libaio as asynchronous input/output library</flag>


^ permalink raw reply related	[flat|nested] 68+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-cluster/ceph/, sys-cluster/ceph/files/
@ 2015-12-21  7:47 Yixun Lan
  0 siblings, 0 replies; 68+ messages in thread
From: Yixun Lan @ 2015-12-21  7:47 UTC (permalink / raw
  To: gentoo-commits

commit:     c93f06ce2ecec595db4759cc11b29d5a1f0164bc
Author:     Yixun Lan <dlan <AT> gentoo <DOT> org>
AuthorDate: Mon Dec 21 06:23:04 2015 +0000
Commit:     Yixun Lan <dlan <AT> gentoo <DOT> org>
CommitDate: Mon Dec 21 07:45:45 2015 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=c93f06ce

sys-cluster/ceph: bump to 9.2.0

add user/group: ceph
 now sys-cluster/ceph run in normal user 'ceph' instead of 'root'

Package-Manager: portage-2.2.26

 sys-cluster/ceph/Manifest                          |   3 +-
 sys-cluster/ceph/ceph-0.94.4.ebuild                | 159 ---------------------
 sys-cluster/ceph/ceph-10.0.0.ebuild                |  18 ++-
 .../ceph/{ceph-9.0.3.ebuild => ceph-9.2.0.ebuild}  |  20 +--
 sys-cluster/ceph/ceph-9999.ebuild                  |  17 ++-
 sys-cluster/ceph/files/README.gentoo               |   7 +
 .../ceph/files/ceph-0.87.1-glibc-2.20.patch        |  59 --------
 sys-cluster/ceph/files/ceph-fix-gnustack.patch     |  22 ---
 sys-cluster/ceph/files/ceph-mds_at.service         |  12 --
 sys-cluster/ceph/files/ceph-mon_at.service         |  19 ---
 sys-cluster/ceph/files/ceph-osd_at.service         |  13 --
 sys-cluster/ceph/files/ceph.initd-r1               |   8 +-
 12 files changed, 50 insertions(+), 307 deletions(-)

diff --git a/sys-cluster/ceph/Manifest b/sys-cluster/ceph/Manifest
index a4df18b..ea635f0 100644
--- a/sys-cluster/ceph/Manifest
+++ b/sys-cluster/ceph/Manifest
@@ -1,5 +1,4 @@
 DIST ceph-0.80.10.tar.bz2 4136018 SHA256 a7ca8a3d0710ab88adcd5c52aebe0a8ee573e247c1ccf5d84eea8a9ff07a51fa SHA512 7823a489b7654457512d300050410b4a91d615fbb467d341c76e76b77364d6a2afa763bceb2c6cd8ed05a45d7b0aef4c3baf80155cc3223e940b439e0571f3c9 WHIRLPOOL a03fc3a4ca8c49157ff3b51528418ca62c3520c4141e402863cf3475a11b240be5297f731bf1a4e77a01a476e80f5e06c0722d688fbb8ad2db26ef1975a450da
-DIST ceph-0.94.4.tar.bz2 7082496 SHA256 09b3a134c4eb06f770a72769d2aec3900c2c7f1d25092f93b0e8e73ab17e577c SHA512 3ae714d110d63717e7e49d07ac5523cbbd06b8fa140b842576f6afea780aec2408ccd053c109bf5e011018ff1c544366113e83e09ea79925e32d46e7360317ab WHIRLPOOL 8b53fb0410e6168d6385360005b29b919d7d4f255e06cc874fcbb35f1dc5566c0e97bbce50ec7ea2da479a0f068bf254abec474d155186085d500a0f4ea9eb01
 DIST ceph-0.94.5.tar.bz2 7084809 SHA256 7658bec8cf6e6c8f5ceb1e85116c4df2582c497ae686295abebc6fc82ec79211 SHA512 8bf57eceda37ec058bd7b9cf98ba0eda11c361156da4cea0aa99a3059d61fc2120ebb27f1bb07bae42e13836b57a5db8f3888401481e9125780a6df21ca90529 WHIRLPOOL cfedf299f86e19ff87615e851e4639d4045c0e26756d8896498e2e6eb8304808bc78837ec68b01936abd7fd2563aafe973109ba72d66b368304c38e38fc680f5
 DIST ceph-10.0.0.tar.gz 10429823 SHA256 fd92052e0de135e1f35ea2add44b5b8add28a2a8235639d69c33cced06a4a357 SHA512 f0e36bf83c97d1dc0328fbba96897e583c6d29b11dc54ea7fa0186ffaa1cf4d26519f336083825d64dda70bd290dc45bd6f3f17ff67ada33322caee5f2f3ce07 WHIRLPOOL f443ab25ab8f89455d76f509f215b55519f9338d3b9daec318b097de4dffff7009a01521da0d963c4b5549485b6aebca1c0a705746cf2e64fef8e9f5e66676cf
-DIST ceph-9.0.3.tar.bz2 7082795 SHA256 98ad66b35d3747d56e04fcf32a5387b765f86f43c6f09393fe9c7f17e4ae5418 SHA512 fdaebf26076490394229ef1716278ae82e6397651e25b911553db9f93b0d7ba8849320d770aef1363952e7c8e672616f5e61523fc4b79642fe81f1d2d71c4225 WHIRLPOOL cc11218246efe1d1f0a095ddc3466eacc64ffd032093cc0642a420ed9eb7fdd956b25693cc46e2dace216a6ec577c1c4d26457cf86f0319fe71c5a1125342128
+DIST ceph-9.2.0.tar.bz2 7663088 SHA256 706d33e097b4489a75cfaff8d835e05d91df6dac5cdd3a32a57404f0522dbdbb SHA512 d462f2e4696873552b232f0b89bcda8ddb0cddeab89cbab58e99eb068acb082a42cb558898bd4dee66239df64d15992cfd1c1158217b2ce60a465e1761bcea78 WHIRLPOOL d016b873a26afef4816921e5b9cbaae3ba4c9ece6683e3d60b1f689ab7dcc285bc386963e83b410a66a313cc953b7d0d9baa427b3b3eb12697daa08f3a5a6a18

diff --git a/sys-cluster/ceph/ceph-0.94.4.ebuild b/sys-cluster/ceph/ceph-0.94.4.ebuild
deleted file mode 100644
index 1a2b052..0000000
--- a/sys-cluster/ceph/ceph-0.94.4.ebuild
+++ /dev/null
@@ -1,159 +0,0 @@
-# Copyright 1999-2015 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Id$
-
-EAPI=5
-PYTHON_COMPAT=( python2_7 )
-
-if [[ $PV = *9999* ]]; then
-	scm_eclass=git-r3
-	EGIT_REPO_URI="
-		git://github.com/ceph/ceph.git
-		https://github.com/ceph/ceph.git"
-	SRC_URI=""
-else
-	SRC_URI="http://ceph.com/download/${P}.tar.bz2"
-fi
-KEYWORDS="~amd64 ~arm ~ppc ~ppc64 ~x86"
-
-inherit check-reqs autotools eutils multilib python-single-r1 udev readme.gentoo systemd ${scm_eclass}
-
-DESCRIPTION="Ceph distributed filesystem"
-HOMEPAGE="http://ceph.com/"
-
-LICENSE="LGPL-2.1"
-SLOT="0"
-IUSE="babeltrace cryptopp debug fuse gtk libatomic +libaio lttng +nss radosgw static-libs jemalloc tcmalloc xfs zfs"
-
-CDEPEND="
-	app-arch/snappy
-	dev-libs/boost:=[threads]
-	dev-libs/fcgi
-	dev-libs/libaio
-	dev-libs/libedit
-	dev-libs/leveldb[snappy]
-	nss? ( dev-libs/nss )
-	cryptopp? ( dev-libs/crypto++ )
-	sys-apps/keyutils
-	sys-apps/util-linux
-	dev-libs/libxml2
-	babeltrace? ( dev-util/babeltrace )
-	fuse? ( sys-fs/fuse )
-	libatomic? ( dev-libs/libatomic_ops )
-	xfs? ( sys-fs/xfsprogs )
-	zfs? ( sys-fs/zfs )
-	gtk? (
-		x11-libs/gtk+:2
-		dev-cpp/gtkmm:2.4
-		gnome-base/librsvg
-	)
-	radosgw? (
-		dev-libs/fcgi
-		dev-libs/expat
-		net-misc/curl
-	)
-	jemalloc? ( dev-libs/jemalloc )
-	!jemalloc? ( dev-util/google-perftools )
-	lttng? ( dev-util/lttng-ust )
-	${PYTHON_DEPS}
-	"
-DEPEND="${CDEPEND}
-	virtual/pkgconfig"
-RDEPEND="${CDEPEND}
-	sys-apps/hdparm
-	dev-python/flask[${PYTHON_USEDEP}]
-	dev-python/requests[${PYTHON_USEDEP}]
-	"
-REQUIRED_USE="
-	${PYTHON_REQUIRED_USE}
-	^^ ( nss cryptopp )
-	?? ( jemalloc tcmalloc )
-	"
-
-STRIP_MASK="/usr/lib*/rados-classes/*"
-
-PATCHES=(
-	"${FILESDIR}"/${PN}-0.79-libzfs.patch
-)
-CHECKREQS_DISK_BUILD="1400M"
-
-pkg_setup() {
-	python_setup
-}
-
-src_prepare() {
-	[[ ${PATCHES[@]} ]] && epatch "${PATCHES[@]}"
-
-	epatch_user
-	eautoreconf
-}
-
-src_configure() {
-	local myeconfargs=(
-		--without-hadoop
-		--docdir="${EPREFIX}/usr/share/doc/${PF}"
-		--includedir=/usr/include
-		$(use_with debug)
-		$(use_with fuse)
-		$(use_with libaio)
-		$(use_with libatomic libatomic-ops)
-		$(use_with nss)
-		$(use_with cryptopp)
-		$(use_with radosgw)
-		$(use_with gtk gtk2)
-		$(use_enable static-libs static)
-		$(use_with jemalloc)
-		$(use_with xfs libxfs)
-		$(use_with zfs libzfs)
-		--without-kinetic
-		--without-librocksdb
-		$(use_with lttng )
-		$(use_with babeltrace)
-	)
-
-	use jemalloc || \
-		myeconfargs+=( $(usex tcmalloc " --with-tcmalloc" " --with-tcmalloc-minimal") )
-
-	PYTHON="${EPYTHON}" \
-		econf "${myeconfargs[@]}"
-}
-
-src_install() {
-	default
-
-	prune_libtool_files --all
-
-	exeinto /usr/$(get_libdir)/ceph
-	newexe src/init-ceph ceph_init.sh
-
-	insinto /etc/logrotate.d/
-	newins "${FILESDIR}"/ceph.logrotate ${PN}
-
-	chmod 644 "${ED}"/usr/share/doc/${PF}/sample.*
-
-	keepdir /var/lib/${PN}
-	keepdir /var/lib/${PN}/tmp
-	keepdir /var/log/${PN}/stat
-
-	newinitd "${FILESDIR}/rbdmap.initd" rbdmap
-	newinitd "${FILESDIR}/${PN}.initd-r1" ${PN}
-	newconfd "${FILESDIR}/${PN}.confd-r1" ${PN}
-
-	systemd_dounit           "${FILESDIR}/ceph.target"
-	systemd_newunit          "${FILESDIR}/ceph-mds_at.service"      "ceph-mds@.service"
-	systemd_install_serviced "${FILESDIR}/ceph-mds_at.service.conf" "ceph-mds@.service"
-	systemd_newunit          "${FILESDIR}/ceph-osd_at.service"      "ceph-osd@.service"
-	systemd_install_serviced "${FILESDIR}/ceph-osd_at.service.conf" "ceph-osd@.service"
-	systemd_newunit          "${FILESDIR}/ceph-mon_at.service"      "ceph-mon@.service"
-	systemd_install_serviced "${FILESDIR}/ceph-mon_at.service.conf" "ceph-mon@.service"
-
-	python_fix_shebang \
-		"${ED}"/usr/sbin/{ceph-disk,ceph-create-keys} \
-		"${ED}"/usr/bin/{ceph,ceph-rest-api}
-
-	#install udev rules
-	udev_dorules udev/50-rbd.rules
-	udev_dorules udev/95-ceph-osd.rules
-
-	readme.gentoo_create_doc
-}

diff --git a/sys-cluster/ceph/ceph-10.0.0.ebuild b/sys-cluster/ceph/ceph-10.0.0.ebuild
index e2936b9..acb485b 100644
--- a/sys-cluster/ceph/ceph-10.0.0.ebuild
+++ b/sys-cluster/ceph/ceph-10.0.0.ebuild
@@ -16,7 +16,7 @@ else
 fi
 KEYWORDS="~amd64 ~arm ~ppc ~ppc64 ~x86"
 
-inherit check-reqs autotools eutils multilib python-single-r1 udev readme.gentoo systemd ${scm_eclass}
+inherit check-reqs autotools eutils multilib python-single-r1 udev user readme.gentoo systemd ${scm_eclass}
 
 DESCRIPTION="Ceph distributed filesystem"
 HOMEPAGE="http://ceph.com/"
@@ -75,7 +75,6 @@ STRIP_MASK="/usr/lib*/rados-classes/*"
 PATCHES=(
 	"${FILESDIR}"/${PN}-0.79-libzfs.patch
 )
-CHECKREQS_DISK_BUILD="1400M"
 
 check-reqs_export_vars() {
 	# check-reqs does not support use flags, and there is a lot of variability
@@ -93,10 +92,16 @@ check-reqs_export_vars() {
 	fi
 }
 
+user_setup() {
+	enewgroup ceph
+	enewuser ceph -1 -1 /var/lib/ceph ceph
+}
+
 pkg_setup() {
 	python_setup
 	check-reqs_export_vars
 	check-reqs_pkg_setup
+	user_setup
 }
 
 src_prepare() {
@@ -132,6 +137,7 @@ src_configure() {
 		--without-librocksdb
 		$(use_with lttng )
 		$(use_with babeltrace)
+		--with-systemdsystemunitdir="$(systemd_get_systemunitdir)"
 	)
 
 	use jemalloc || \
@@ -158,21 +164,19 @@ src_install() {
 	keepdir /var/lib/${PN}/tmp
 	keepdir /var/log/${PN}/stat
 
+	fowners ceph:ceph /var/lib/ceph
+
 	newinitd "${FILESDIR}/rbdmap.initd" rbdmap
 	newinitd "${FILESDIR}/${PN}.initd-r1" ${PN}
 	newconfd "${FILESDIR}/${PN}.confd-r1" ${PN}
 
-	systemd_dounit           "${FILESDIR}/ceph.target"
-	systemd_newunit          "${FILESDIR}/ceph-mds_at.service"      "ceph-mds@.service"
 	systemd_install_serviced "${FILESDIR}/ceph-mds_at.service.conf" "ceph-mds@.service"
-	systemd_newunit          "${FILESDIR}/ceph-osd_at.service"      "ceph-osd@.service"
 	systemd_install_serviced "${FILESDIR}/ceph-osd_at.service.conf" "ceph-osd@.service"
-	systemd_newunit          "${FILESDIR}/ceph-mon_at.service"      "ceph-mon@.service"
 	systemd_install_serviced "${FILESDIR}/ceph-mon_at.service.conf" "ceph-mon@.service"
 
 	python_fix_shebang \
 		"${ED}"/usr/sbin/{ceph-disk,ceph-create-keys} \
-		"${ED}"/usr/bin/{ceph,ceph-rest-api}
+		"${ED}"/usr/bin/{ceph,ceph-rest-api,ceph-detect-init,ceph-brag}
 
 	#install udev rules
 	udev_dorules udev/50-rbd.rules

diff --git a/sys-cluster/ceph/ceph-9.0.3.ebuild b/sys-cluster/ceph/ceph-9.2.0.ebuild
similarity index 89%
rename from sys-cluster/ceph/ceph-9.0.3.ebuild
rename to sys-cluster/ceph/ceph-9.2.0.ebuild
index c50d81a..434fd90 100644
--- a/sys-cluster/ceph/ceph-9.0.3.ebuild
+++ b/sys-cluster/ceph/ceph-9.2.0.ebuild
@@ -16,7 +16,7 @@ else
 fi
 KEYWORDS="~amd64 ~arm ~ppc ~ppc64 ~x86"
 
-inherit check-reqs autotools eutils multilib python-single-r1 udev readme.gentoo systemd ${scm_eclass}
+inherit check-reqs autotools eutils multilib python-single-r1 udev user readme.gentoo systemd ${scm_eclass}
 
 DESCRIPTION="Ceph distributed filesystem"
 HOMEPAGE="http://ceph.com/"
@@ -75,7 +75,6 @@ STRIP_MASK="/usr/lib*/rados-classes/*"
 PATCHES=(
 	"${FILESDIR}"/${PN}-0.79-libzfs.patch
 )
-CHECKREQS_DISK_BUILD="1400M"
 
 check-reqs_export_vars() {
 	# check-reqs does not support use flags, and there is a lot of variability
@@ -88,15 +87,21 @@ check-reqs_export_vars() {
 		export CHECKREQS_DISK_BUILD="23G"
 		export CHECKREQS_DISK_USR="7G"
 	else
-		export CHECKREQS_DISK_BUILD="1400M"
+		export CHECKREQS_DISK_BUILD="9G"
 		export CHECKREQS_DISK_USR="450M"
 	fi
 }
 
+user_setup() {
+	enewgroup ceph
+	enewuser ceph -1 -1 /var/lib/ceph ceph
+}
+
 pkg_setup() {
 	python_setup
 	check-reqs_export_vars
 	check-reqs_pkg_setup
+	user_setup
 }
 
 src_prepare() {
@@ -132,6 +137,7 @@ src_configure() {
 		--without-librocksdb
 		$(use_with lttng )
 		$(use_with babeltrace)
+		--with-systemdsystemunitdir="$(systemd_get_systemunitdir)"
 	)
 
 	use jemalloc || \
@@ -158,21 +164,19 @@ src_install() {
 	keepdir /var/lib/${PN}/tmp
 	keepdir /var/log/${PN}/stat
 
+	fowners ceph:ceph /var/lib/ceph
+
 	newinitd "${FILESDIR}/rbdmap.initd" rbdmap
 	newinitd "${FILESDIR}/${PN}.initd-r1" ${PN}
 	newconfd "${FILESDIR}/${PN}.confd-r1" ${PN}
 
-	systemd_dounit           "${FILESDIR}/ceph.target"
-	systemd_newunit          "${FILESDIR}/ceph-mds_at.service"      "ceph-mds@.service"
 	systemd_install_serviced "${FILESDIR}/ceph-mds_at.service.conf" "ceph-mds@.service"
-	systemd_newunit          "${FILESDIR}/ceph-osd_at.service"      "ceph-osd@.service"
 	systemd_install_serviced "${FILESDIR}/ceph-osd_at.service.conf" "ceph-osd@.service"
-	systemd_newunit          "${FILESDIR}/ceph-mon_at.service"      "ceph-mon@.service"
 	systemd_install_serviced "${FILESDIR}/ceph-mon_at.service.conf" "ceph-mon@.service"
 
 	python_fix_shebang \
 		"${ED}"/usr/sbin/{ceph-disk,ceph-create-keys} \
-		"${ED}"/usr/bin/{ceph,ceph-rest-api}
+		"${ED}"/usr/bin/{ceph,ceph-rest-api,ceph-detect-init,ceph-brag}
 
 	#install udev rules
 	udev_dorules udev/50-rbd.rules

diff --git a/sys-cluster/ceph/ceph-9999.ebuild b/sys-cluster/ceph/ceph-9999.ebuild
index fe924eb..1805e16 100644
--- a/sys-cluster/ceph/ceph-9999.ebuild
+++ b/sys-cluster/ceph/ceph-9999.ebuild
@@ -17,7 +17,7 @@ else
 	KEYWORDS="~amd64 ~arm ~ppc ~ppc64 ~x86"
 fi
 
-inherit autotools eutils multilib python-any-r1 udev readme.gentoo ${scm_eclass}
+inherit autotools eutils multilib python-any-r1 udev user readme.gentoo ${scm_eclass}
 
 DESCRIPTION="Ceph distributed filesystem"
 HOMEPAGE="http://ceph.com/"
@@ -71,8 +71,14 @@ REQUIRED_USE="
 
 STRIP_MASK="/usr/lib*/rados-classes/*"
 
+user_setup() {
+	enewgroup ceph
+	enewuser ceph -1 -1 /var/lib/ceph ceph
+}
+
 pkg_setup() {
 	python-any-r1_pkg_setup
+	user_setup
 }
 
 src_prepare() {
@@ -99,6 +105,7 @@ src_configure() {
 		$(use_with tcmalloc) \
 		$(use_with xfs libxfs) \
 		$(use_with zfs libzfs)
+		--with-systemdsystemunitdir="$(systemd_get_systemunitdir)"
 }
 
 src_install() {
@@ -118,12 +125,18 @@ src_install() {
 	keepdir /var/lib/${PN}/tmp
 	keepdir /var/log/${PN}/stat
 
+	fowners ceph:ceph /var/lib/ceph
+
 	newinitd "${FILESDIR}/${PN}.initd-r1" ${PN}
 	newconfd "${FILESDIR}/${PN}.confd-r1" ${PN}
 
+	systemd_install_serviced "${FILESDIR}/ceph-mds_at.service.conf" "ceph-mds@.service"
+	systemd_install_serviced "${FILESDIR}/ceph-osd_at.service.conf" "ceph-osd@.service"
+	systemd_install_serviced "${FILESDIR}/ceph-mon_at.service.conf" "ceph-mon@.service"
+
 	python_fix_shebang \
 		"${ED}"/usr/sbin/{ceph-disk,ceph-create-keys} \
-		"${ED}"/usr/bin/{ceph,ceph-rest-api}
+		"${ED}"/usr/bin/{ceph,ceph-rest-api,ceph-detect-init,ceph-brag}
 
 	#install udev rules
 	udev_dorules udev/50-rbd.rules

diff --git a/sys-cluster/ceph/files/README.gentoo b/sys-cluster/ceph/files/README.gentoo
index b049515..c596120 100644
--- a/sys-cluster/ceph/files/README.gentoo
+++ b/sys-cluster/ceph/files/README.gentoo
@@ -16,3 +16,10 @@
    net-misc/ntp
    net-misc/openntpd
    net-misc/chrony
+
+4) Starting from version 9.0.x, Ceph daemons run as ‘ceph’ user instead root.
+   In order to fix this, we suggest to stop ceph daemons, and fix ownership
+
+    chown -R ceph:ceph /var/lib/ceph
+
+    https://ceph.com/releases/v9-2-0-infernalis-released/

diff --git a/sys-cluster/ceph/files/ceph-0.87.1-glibc-2.20.patch b/sys-cluster/ceph/files/ceph-0.87.1-glibc-2.20.patch
deleted file mode 100644
index 55a49d7..0000000
--- a/sys-cluster/ceph/files/ceph-0.87.1-glibc-2.20.patch
+++ /dev/null
@@ -1,59 +0,0 @@
-From cf2104d4d991361c53f6e2fea93b69de10cd654b Mon Sep 17 00:00:00 2001
-From: Federico Simoncelli <fsimonce@redhat.com>
-Date: Sat, 15 Nov 2014 14:14:04 +0000
-Subject: [PATCH] common: do not unlock rwlock on destruction
-
-According to pthread_rwlock_unlock(3p):
-
- Results are undefined if the read-write lock rwlock is not held
- by the calling thread.
-
-and:
-
- https://sourceware.org/bugzilla/show_bug.cgi?id=17561
-
- Calling pthread_rwlock_unlock on an rwlock which is not locked
- is undefined.
-
-calling pthread_rwlock_unlock on RWLock destruction could cause
-an unknown behavior for two reasons:
-
-- the lock is acquired by another thread (undefined)
-- the lock is not acquired (undefined)
-
-Moreover since glibc-2.20 calling pthread_rwlock_unlock on a
-rwlock that is not locked results in a SIGILL that kills the
-application.
-
-This patch removes the pthread_rwlock_unlock call on destruction
-and replaces it with an assertion to check that the RWLock is
-not in use.
-
-Any code that relied on the implicit release is now going to
-break the assertion, e.g.:
-
- {
-   RWLock l;
-   l.get(for_write);
- } // implicit release, wrong.
-
-Signed-off-by: Federico Simoncelli <fsimonce@redhat.com>
----
- src/common/RWLock.h | 4 +++-
- 1 file changed, 3 insertions(+), 1 deletion(-)
-
-diff --git a/src/common/RWLock.h b/src/common/RWLock.h
-index e647e17..6f0ab8e 100644
---- a/src/common/RWLock.h
-+++ b/src/common/RWLock.h
-@@ -46,7 +46,9 @@ class RWLock
-     return (nwlock.read() > 0);
-   }
-   virtual ~RWLock() {
--    pthread_rwlock_unlock(&L);
-+    // The following check is racy but we are about to destroy
-+    // the object and we assume that there are no other users.
-+    assert(!is_locked());
-     pthread_rwlock_destroy(&L);
-   }
- 

diff --git a/sys-cluster/ceph/files/ceph-fix-gnustack.patch b/sys-cluster/ceph/files/ceph-fix-gnustack.patch
deleted file mode 100644
index 3e2eace..0000000
--- a/sys-cluster/ceph/files/ceph-fix-gnustack.patch
+++ /dev/null
@@ -1,22 +0,0 @@
-diff --git a/src/common/crc32c_intel_fast_asm.S b/src/common/crc32c_intel_fast_asm.S
-index 4ca5d65..68d3426 100644
---- a/src/common/crc32c_intel_fast_asm.S
-+++ b/src/common/crc32c_intel_fast_asm.S
-@@ -662,3 +662,6 @@ global %1_slver
- %endmacro
- ;;;       func            core, ver, snum
- slversion crc32_iscsi_00, 00,   02,  0014
-+#if defined(__linux__) && defined(__ELF__)
-+.section .note.GNU-stack,"",%progbits
-+#endiF
-diff --git a/src/common/crc32c_intel_fast_zero_asm.S b/src/common/crc32c_intel_fast_zero_asm.S
-index b7246f2..9728be9 100644
---- a/src/common/crc32c_intel_fast_zero_asm.S
-+++ b/src/common/crc32c_intel_fast_zero_asm.S
-@@ -644,3 +644,6 @@ global %1_slver
- %endmacro
- ;;;       func            core, ver, snum
- slversion crc32_iscsi_zero_00, 00,   02,  0014
-+#if defined(__linux__) && defined(__ELF__)
-+.section .note.GNU-stack,"",%progbits
-+#endiF

diff --git a/sys-cluster/ceph/files/ceph-mds_at.service b/sys-cluster/ceph/files/ceph-mds_at.service
deleted file mode 100644
index c28604e..0000000
--- a/sys-cluster/ceph/files/ceph-mds_at.service
+++ /dev/null
@@ -1,12 +0,0 @@
-[Unit]
-Description=Ceph metadata server daemon
-After=network-online.target local-fs.target
-Wants=network-online.target local-fs.target
-PartOf=ceph.target
-
-[Service]
-Environment=CLUSTER=ceph
-ExecStart=/usr/bin/ceph-mds -f --cluster ${CLUSTER} --id %i
-
-[Install]
-WantedBy=ceph.target

diff --git a/sys-cluster/ceph/files/ceph-mon_at.service b/sys-cluster/ceph/files/ceph-mon_at.service
deleted file mode 100644
index 4f54cc1..0000000
--- a/sys-cluster/ceph/files/ceph-mon_at.service
+++ /dev/null
@@ -1,19 +0,0 @@
-[Unit]
-Description=Ceph cluster monitor daemon
-After=network-online.target
-Wants=network-online.target
-
-# According to:
-#   http://www.freedesktop.org/wiki/Software/systemd/NetworkTarget
-# these can be removed once ceph-mon will dynamically change network
-# configuration.
-After=network-online.target local-fs.target
-Wants=network-online.target local-fs.target
-PartOf=ceph.target
-
-[Service]
-Environment=CLUSTER=ceph
-ExecStart=/usr/bin/ceph-mon -f --cluster ${CLUSTER} --id %i
-
-[Install]
-WantedBy=ceph.target

diff --git a/sys-cluster/ceph/files/ceph-osd_at.service b/sys-cluster/ceph/files/ceph-osd_at.service
deleted file mode 100644
index 7bf125f..0000000
--- a/sys-cluster/ceph/files/ceph-osd_at.service
+++ /dev/null
@@ -1,13 +0,0 @@
-[Unit]
-Description=Ceph object storage daemon
-After=network-online.target local-fs.target
-Wants=network-online.target local-fs.target
-PartOf=ceph.target
-
-[Service]
-Environment=CLUSTER=ceph
-ExecStart=/usr/bin/ceph-osd -f --cluster ${CLUSTER} --id %i
-ExecStartPre=/usr/libexec/ceph/ceph-osd-prestart.sh --cluster ${CLUSTER} --id %i
-
-[Install]
-WantedBy=ceph.target

diff --git a/sys-cluster/ceph/files/ceph.initd-r1 b/sys-cluster/ceph/files/ceph.initd-r1
index ca5ab60..7f1558d 100644
--- a/sys-cluster/ceph/files/ceph.initd-r1
+++ b/sys-cluster/ceph/files/ceph.initd-r1
@@ -22,7 +22,7 @@ is_type_valid() {
 }
 
 start_pre() {
-        checkpath -d -q $(dirname ${pidfile})
+        checkpath -d -q -o ceph $(dirname ${pidfile})
 }
 
 start() {
@@ -31,18 +31,18 @@ start() {
 		eerror "Please give valid Ceph Server Type: mds, mon, osd"
 		return 1
 	fi
-	${command} ${command_args}
+	start-stop-daemon --start -exec ${command} --user ceph --group ceph -- ${command_args}
 	eend $?
 }
 
 stop() {
 	ebegin "Stopping Ceph ${type}.${id}"
-	start-stop-daemon --stop --pidfile ${pidfile}
+	start-stop-daemon --stop --user ceph --group ceph --pidfile ${pidfile}
 	eend $?
 }
 
 reload() {
 	ebegin "Reloading Ceph ${type}.${id}"
-	start-stop-daemon --signal 1 --pidfile ${pidfile}
+	start-stop-daemon --signal 1 --user ceph --group ceph --pidfile ${pidfile}
 	eend $?
 }


^ permalink raw reply related	[flat|nested] 68+ messages in thread

end of thread, other threads:[~2024-10-14  0:50 UTC | newest]

Thread overview: 68+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2017-09-27 21:19 [gentoo-commits] repo/gentoo:master commit in: sys-cluster/ceph/, sys-cluster/ceph/files/ Patrick McLean
  -- strict thread matches above, loose matches on Subject: below --
2024-10-14  0:50 Sam James
2024-10-01  9:32 Patrick Lauer
2024-07-30  9:05 Patrick Lauer
2024-07-30  9:05 Patrick Lauer
2023-11-08  2:51 Patrick McLean
2023-09-12  2:24 Patrick McLean
2023-06-04  5:06 Sam James
2023-06-03  1:54 Sam James
2023-04-11 23:28 Patrick McLean
2023-03-17 18:07 Patrick McLean
2022-10-28 15:57 Sam James
2022-10-04 23:42 Patrick McLean
2022-08-24 17:07 Patrick McLean
2022-08-22 20:29 Patrick McLean
2022-07-07 18:32 Patrick McLean
2022-06-28  0:27 Patrick McLean
2022-05-17 18:03 Patrick McLean
2022-05-13 10:59 Michał Górny
2022-05-05 22:51 Patrick McLean
2022-05-04 23:17 Patrick McLean
2022-04-29  0:31 Patrick McLean
2021-10-29 20:49 Patrick McLean
2021-10-25 17:02 Patrick McLean
2021-10-25 17:02 Patrick McLean
2021-07-01  0:47 Patrick McLean
2020-12-01  2:35 Patrick McLean
2020-11-25  5:38 Patrick McLean
2020-11-19  7:29 Patrick McLean
2020-09-25  0:53 Patrick McLean
2020-09-16 23:52 Patrick McLean
2020-08-05  0:16 Patrick McLean
2020-06-24  0:51 Patrick McLean
2020-04-03  1:41 Patrick McLean
2019-12-11 22:40 Patrick McLean
2019-11-08 23:26 Patrick McLean
2019-09-17 22:56 Patrick McLean
2019-09-05  0:26 Patrick McLean
2019-07-19  3:20 Patrick McLean
2019-06-13  1:48 Patrick McLean
2019-04-29 22:57 Patrick McLean
2019-04-12  2:05 Patrick McLean
2019-03-29  2:23 Patrick McLean
2019-03-20 21:54 Patrick McLean
2019-03-20  1:12 Patrick McLean
2019-01-08  0:13 Patrick McLean
2018-11-29 23:57 Patrick McLean
2018-11-09  2:51 Patrick McLean
2018-03-10 19:16 Patrick McLean
2018-03-06 19:39 Patrick McLean
2018-02-06 17:43 Patrick Lauer
2017-12-05 20:10 Patrick McLean
2017-10-06 21:07 Patrick McLean
2017-09-07 23:40 Patrick McLean
2017-08-02 22:11 Patrick McLean
2017-08-02 21:04 Patrick McLean
2017-07-31 19:04 Patrick McLean
2017-07-27 21:33 Patrick McLean
2017-07-27 21:27 Patrick McLean
2017-04-12 20:44 Patrick McLean
2017-02-10  1:18 Patrick McLean
2016-10-11 21:57 Patrick McLean
2016-07-11  1:23 Yixun Lan
2016-06-30 23:53 Patrick McLean
2016-06-07  6:45 Yixun Lan
2016-05-12 21:05 Patrick McLean
2016-05-12 18:56 Patrick McLean
2015-12-21  7:47 Yixun Lan

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox