* [gentoo-commits] repo/gentoo:master commit in: sys-cluster/ceph/files/, sys-cluster/ceph/
@ 2016-02-16 10:04 Yixun Lan
0 siblings, 0 replies; 48+ messages in thread
From: Yixun Lan @ 2016-02-16 10:04 UTC (permalink / raw
To: gentoo-commits
commit: b0f5aa7239b0d047772f4462e7d4f18ac52e2f6f
Author: Yixun Lan <dlan <AT> gentoo <DOT> org>
AuthorDate: Tue Feb 16 09:57:05 2016 +0000
Commit: Yixun Lan <dlan <AT> gentoo <DOT> org>
CommitDate: Tue Feb 16 10:04:16 2016 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=b0f5aa72
sys-cluster/ceph: warn user about permission changes
Gentoo-bug: 574792
Package-Manager: portage-2.2.27
sys-cluster/ceph/ceph-10.0.0.ebuild | 12 +++++++++++-
sys-cluster/ceph/ceph-9.2.0.ebuild | 12 +++++++++++-
sys-cluster/ceph/files/README.gentoo | 11 ++++++++---
3 files changed, 30 insertions(+), 5 deletions(-)
diff --git a/sys-cluster/ceph/ceph-10.0.0.ebuild b/sys-cluster/ceph/ceph-10.0.0.ebuild
index acb485b..5eb497c 100644
--- a/sys-cluster/ceph/ceph-10.0.0.ebuild
+++ b/sys-cluster/ceph/ceph-10.0.0.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2015 Gentoo Foundation
+# Copyright 1999-2016 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Id$
@@ -90,6 +90,8 @@ check-reqs_export_vars() {
export CHECKREQS_DISK_BUILD="1400M"
export CHECKREQS_DISK_USR="450M"
fi
+
+ export CHECKREQS_MEMORY="7G"
}
user_setup() {
@@ -184,3 +186,11 @@ src_install() {
readme.gentoo_create_doc
}
+
+pkg_postinst() {
+ if [[ -n ${REPLACING_VERSIONS} ]] && ! version_is_at_least 9.0 ${REPLACING_VERSIONS}; then
+ ewarn "You've upgraded ceph from old version, please fix the permission issue"
+ ewarn "Please refer section 4) in README.gentoo doc for detail info"
+ ewarn " bzless /usr/share/doc/${P}/README.gentoo.bz2"
+ fi
+}
diff --git a/sys-cluster/ceph/ceph-9.2.0.ebuild b/sys-cluster/ceph/ceph-9.2.0.ebuild
index 434fd90..0f82103 100644
--- a/sys-cluster/ceph/ceph-9.2.0.ebuild
+++ b/sys-cluster/ceph/ceph-9.2.0.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2015 Gentoo Foundation
+# Copyright 1999-2016 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Id$
@@ -90,6 +90,8 @@ check-reqs_export_vars() {
export CHECKREQS_DISK_BUILD="9G"
export CHECKREQS_DISK_USR="450M"
fi
+
+ export CHECKREQS_MEMORY="7G"
}
user_setup() {
@@ -184,3 +186,11 @@ src_install() {
readme.gentoo_create_doc
}
+
+pkg_postinst() {
+ if [[ -n ${REPLACING_VERSIONS} ]] && ! version_is_at_least 9.0 ${REPLACING_VERSIONS}; then
+ ewarn "You've upgraded ceph from old version, please fix the permission issue"
+ ewarn "Please refer section 4) in README.gentoo doc for detail info"
+ ewarn " bzless /usr/share/doc/${P}/README.gentoo.bz2"
+ fi
+}
diff --git a/sys-cluster/ceph/files/README.gentoo b/sys-cluster/ceph/files/README.gentoo
index c596120..6e5f836 100644
--- a/sys-cluster/ceph/files/README.gentoo
+++ b/sys-cluster/ceph/files/README.gentoo
@@ -17,9 +17,14 @@
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
+4) Starting from version 9.0.x, Ceph daemons run as user 'ceph' instead of 'root'.
+ In order to solve this, we recommand to stop ceph daemons, and fix the ownership
- chown -R ceph:ceph /var/lib/ceph
+ # chown -R ceph:ceph /var/lib/ceph
+
+ or
+
+ Add the following line to ceph.conf on all hosts:
+ " setuser match path = /var/lib/ceph/$type/$cluster-$id "
https://ceph.com/releases/v9-2-0-infernalis-released/
^ permalink raw reply related [flat|nested] 48+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-cluster/ceph/files/, sys-cluster/ceph/
@ 2016-05-25 17:56 Patrick McLean
0 siblings, 0 replies; 48+ messages in thread
From: Patrick McLean @ 2016-05-25 17:56 UTC (permalink / raw
To: gentoo-commits
commit: d3a2f3beb98b83316c57450bd09d0c3ffd8f2148
Author: Patrick McLean <chutzpah <AT> gentoo <DOT> org>
AuthorDate: Wed May 25 17:56:01 2016 +0000
Commit: Patrick McLean <chutzpah <AT> gentoo <DOT> org>
CommitDate: Wed May 25 17:56:01 2016 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=d3a2f3be
sys-cluster/ceph: Version bump to 10.2.1 (bug #583194)
This also adds some preliminary code for unbundling dev-libs/jerasure and
dev-libs/gf-complete (bug #463326), but it is commented out for the moment
pending bugs 584056 and 584058.
This also contains fixes for bugs 583550 and 582908.
Package-Manager: portage-2.3.0_rc1
sys-cluster/ceph/Manifest | 1 +
sys-cluster/ceph/ceph-10.2.1.ebuild | 262 +++++++++++++++
...l-doesnt-support-momit-leaf-frame-pointer.patch | 25 ++
.../ceph/files/ceph-10.2.1-unbundle-jerasure.patch | 355 +++++++++++++++++++++
4 files changed, 643 insertions(+)
diff --git a/sys-cluster/ceph/Manifest b/sys-cluster/ceph/Manifest
index b575c7d..0ca02c7 100644
--- a/sys-cluster/ceph/Manifest
+++ b/sys-cluster/ceph/Manifest
@@ -1,4 +1,5 @@
DIST ceph-0.80.10.tar.bz2 4136018 SHA256 a7ca8a3d0710ab88adcd5c52aebe0a8ee573e247c1ccf5d84eea8a9ff07a51fa SHA512 7823a489b7654457512d300050410b4a91d615fbb467d341c76e76b77364d6a2afa763bceb2c6cd8ed05a45d7b0aef4c3baf80155cc3223e940b439e0571f3c9 WHIRLPOOL a03fc3a4ca8c49157ff3b51528418ca62c3520c4141e402863cf3475a11b240be5297f731bf1a4e77a01a476e80f5e06c0722d688fbb8ad2db26ef1975a450da
DIST ceph-0.94.6.tar.gz 9131464 SHA256 d2e65e21bdecdfa1fffb2661e9be2d5382bd975a0eb8296df0e96bacc11c251f SHA512 4920857d7493769929754877e3f255cc816400757b014b0c075d65ce9c83c47a86725540fa012eb95f9c6395a477945d3a46322f3055f05345298858fec53997 WHIRLPOOL cb1a230dc1f07903b3712d9d23df718b12df219255b680737d3a746e9cbeee0d0c3ddb21da6dad1e31fb4d77aa9b3283e2dbd6e59ca38146db2ae91c5e7d4229
DIST ceph-10.2.0.tar.gz 11667920 SHA256 1a39d919beccaa26ddfbaeac04eebb80f4d43946a59a18e2e25a9a805d5b262d SHA512 1277f08aa7f8e30d962e455d611ff21667334c27012b7a4c2e22faf0e03c0f3e3278c561ce7ea7548d065c26824e8d212b01303201d0749648b741d2a4eb0125 WHIRLPOOL 3d6e85888f74b629f67107199c4c5de5dffc2f7bdb639a24aaea8cce447710996281685623f667b95786b5218ec586ea1c0b497237ff344b857eb6cbffc28713
+DIST ceph-10.2.1.tar.gz 11697889 SHA256 f9f2f61b9d172f7ac55cde4c22564cf49d2421cdb312b0e7d191de5ab8ca8e9a SHA512 b0dfbca4ce1ebeb069455e7df068d0d3e777080f1bbf10553395106b8dbf198a74f381036c64dbe28854a221c5c5c4a0ac5eed2700b7658e829297610bcd8243 WHIRLPOOL 54c321506fc31875dfec4c4ee13335c8228ef311817cb1021694133303dd0bc9a7216aa46ad3ca529a95909b9974ece14e13db722a106f3130ed4dbc0899a07b
DIST ceph-9.2.1.tar.gz 9933444 SHA256 1918dfc3df80df5986c5b7ff6bc6c78064eef0f6c5e8269dba30e08c703a7c2f SHA512 1e84c1e2d64f4156a523658ed11552b045f75986922b7b7dbaf4719e73a0a6aadc71eb2b94ae363526f729534a592921a437468a41a3cea88c1b84e09de8505a WHIRLPOOL 3a0eb6712e5b0235707e86129e1d66f1184f50cd4980c30f6d8cc0e7dfd96d30b91177ed16dd7abf2ad4983c6a543eb91915f74f661f7d3e3c810b5b1d656aca
diff --git a/sys-cluster/ceph/ceph-10.2.1.ebuild b/sys-cluster/ceph/ceph-10.2.1.ebuild
new file mode 100644
index 0000000..ab79bf3
--- /dev/null
+++ b/sys-cluster/ceph/ceph-10.2.1.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
+ dev-libs/boost:=[threads]
+ 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
+ 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
+ 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/*"
+
+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}/ceph-10.2.1-armv7l-doesnt-support-momit-leaf-frame-pointer.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.1-armv7l-doesnt-support-momit-leaf-frame-pointer.patch b/sys-cluster/ceph/files/ceph-10.2.1-armv7l-doesnt-support-momit-leaf-frame-pointer.patch
new file mode 100644
index 0000000..38d479a
--- /dev/null
+++ b/sys-cluster/ceph/files/ceph-10.2.1-armv7l-doesnt-support-momit-leaf-frame-pointer.patch
@@ -0,0 +1,25 @@
+From 0160e50fa9b255ad338a50b97bcbb2bfa56aa93d Mon Sep 17 00:00:00 2001
+From: Your Name <you@example.com>
+Date: Tue, 3 May 2016 10:51:54 -0500
+Subject: [PATCH] armv7l doesnt support -momit-leaf-frame-pointer
+
+---
+ src/rocksdb/Makefile | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/src/rocksdb/Makefile b/src/rocksdb/Makefile
+index c64ea36..541dbf3 100644
+--- a/src/rocksdb/Makefile
++++ b/src/rocksdb/Makefile
+@@ -84,7 +84,7 @@ endif
+ # compile with -O2 if debug level is not 2
+ ifneq ($(DEBUG_LEVEL), 2)
+ OPT += -O2 -fno-omit-frame-pointer
+-ifneq ($(MACHINE),ppc64) # ppc64 doesn't support -momit-leaf-frame-pointer
++ifneq ($(MACHINE),$(filter $(MACHINE),ppc64 armv7l)) # ppc64 and armv7l doesn't support -momit-leaf-frame-pointer
+ OPT += -momit-leaf-frame-pointer
+ endif
+ endif
+--
+2.7.3
+
diff --git a/sys-cluster/ceph/files/ceph-10.2.1-unbundle-jerasure.patch b/sys-cluster/ceph/files/ceph-10.2.1-unbundle-jerasure.patch
new file mode 100644
index 0000000..8340b4d
--- /dev/null
+++ b/sys-cluster/ceph/files/ceph-10.2.1-unbundle-jerasure.patch
@@ -0,0 +1,355 @@
+diff --git a/src/erasure-code/jerasure/Makefile.am b/src/erasure-code/jerasure/Makefile.am
+index adcb95d..8099208 100644
+--- a/src/erasure-code/jerasure/Makefile.am
++++ b/src/erasure-code/jerasure/Makefile.am
+@@ -1,52 +1,17 @@
+ # jerasure plugin
+ noinst_HEADERS += \
+- erasure-code/jerasure/gf-complete/include/gf_complete.h \
+- erasure-code/jerasure/gf-complete/include/gf_general.h \
+- erasure-code/jerasure/gf-complete/include/gf_int.h \
+- erasure-code/jerasure/gf-complete/include/gf_method.h \
+- erasure-code/jerasure/gf-complete/include/gf_rand.h \
+- erasure-code/jerasure/gf-complete/include/gf_w16.h \
+- erasure-code/jerasure/gf-complete/include/gf_w32.h \
+- erasure-code/jerasure/gf-complete/include/gf_w4.h \
+- erasure-code/jerasure/gf-complete/include/gf_w64.h \
+- erasure-code/jerasure/gf-complete/include/gf_w8.h \
+- erasure-code/jerasure/jerasure/include/cauchy.h \
+- erasure-code/jerasure/jerasure/include/galois.h \
+- erasure-code/jerasure/jerasure/include/jerasure.h \
+- erasure-code/jerasure/jerasure/include/liberation.h \
+- erasure-code/jerasure/jerasure/include/reed_sol.h \
+ erasure-code/jerasure/ErasureCodeJerasure.h
+
+ jerasure_sources = \
+ erasure-code/ErasureCode.cc \
+- erasure-code/jerasure/jerasure/src/cauchy.c \
+- erasure-code/jerasure/jerasure/src/galois.c \
+- erasure-code/jerasure/jerasure/src/jerasure.c \
+- erasure-code/jerasure/jerasure/src/liberation.c \
+- erasure-code/jerasure/jerasure/src/reed_sol.c \
+- erasure-code/jerasure/gf-complete/src/gf_wgen.c \
+- erasure-code/jerasure/gf-complete/src/gf_method.c \
+- erasure-code/jerasure/gf-complete/src/gf_w16.c \
+- erasure-code/jerasure/gf-complete/src/gf.c \
+- erasure-code/jerasure/gf-complete/src/gf_w32.c \
+- erasure-code/jerasure/gf-complete/src/gf_w64.c \
+- erasure-code/jerasure/gf-complete/src/gf_w128.c \
+- erasure-code/jerasure/gf-complete/src/gf_general.c \
+- erasure-code/jerasure/gf-complete/src/gf_w4.c \
+- erasure-code/jerasure/gf-complete/src/gf_rand.c \
+- erasure-code/jerasure/gf-complete/src/gf_w8.c \
+ erasure-code/jerasure/ErasureCodePluginJerasure.cc \
+ erasure-code/jerasure/ErasureCodeJerasure.cc
+
+ erasure-code/jerasure/ErasureCodePluginJerasure.cc: ./ceph_ver.h
+
+ libec_jerasure_generic_la_SOURCES = ${jerasure_sources}
+-libec_jerasure_generic_la_CFLAGS = ${AM_CFLAGS} \
+- -I$(srcdir)/erasure-code/jerasure/gf-complete/include \
+- -I$(srcdir)/erasure-code/jerasure/jerasure/include
+-libec_jerasure_generic_la_CXXFLAGS= ${AM_CXXFLAGS} \
+- -I$(srcdir)/erasure-code/jerasure/gf-complete/include \
+- -I$(srcdir)/erasure-code/jerasure/jerasure/include
++libec_jerasure_generic_la_CFLAGS = ${AM_CFLAGS}
++libec_jerasure_generic_la_CXXFLAGS= ${AM_CXXFLAGS}
+ libec_jerasure_generic_la_LIBADD = $(LIBCRUSH) $(PTHREAD_LIBS) $(EXTRALIBS)
+ libec_jerasure_generic_la_LDFLAGS = ${AM_LDFLAGS} -module -avoid-version -shared
+ if LINUX
+@@ -55,20 +20,11 @@ endif
+
+ erasure_codelib_LTLIBRARIES += libec_jerasure_generic.la
+
+-libec_jerasure_neon_la_SOURCES = ${jerasure_sources} \
+- erasure-code/jerasure/gf-complete/src/neon/gf_w4_neon.c \
+- erasure-code/jerasure/gf-complete/src/neon/gf_w8_neon.c \
+- erasure-code/jerasure/gf-complete/src/neon/gf_w16_neon.c \
+- erasure-code/jerasure/gf-complete/src/neon/gf_w32_neon.c \
+- erasure-code/jerasure/gf-complete/src/neon/gf_w64_neon.c
++libec_jerasure_neon_la_SOURCES = ${jerasure_sources}
+ libec_jerasure_neon_la_CFLAGS = ${AM_CFLAGS} \
+- ${ARM_NEON_FLAGS} \
+- -I$(srcdir)/erasure-code/jerasure/gf-complete/include \
+- -I$(srcdir)/erasure-code/jerasure/jerasure/include
++ ${ARM_NEON_FLAGS}
+ libec_jerasure_neon_la_CXXFLAGS= ${AM_CXXFLAGS} \
+- ${ARM_NEON_FLAGS} \
+- -I$(srcdir)/erasure-code/jerasure/gf-complete/include \
+- -I$(srcdir)/erasure-code/jerasure/jerasure/include
++ ${ARM_NEON_FLAGS}
+ libec_jerasure_neon_la_LIBADD = $(LIBCRUSH) $(PTHREAD_LIBS) $(EXTRALIBS)
+ libec_jerasure_neon_la_LDFLAGS = ${AM_LDFLAGS} -module -avoid-version -shared
+ if LINUX
+@@ -84,16 +40,12 @@ libec_jerasure_sse3_la_CFLAGS = ${AM_CFLAGS} \
+ ${INTEL_SSE_FLAGS} \
+ ${INTEL_SSE2_FLAGS} \
+ ${INTEL_SSE3_FLAGS} \
+- ${INTEL_SSSE3_FLAGS} \
+- -I$(srcdir)/erasure-code/jerasure/gf-complete/include \
+- -I$(srcdir)/erasure-code/jerasure/jerasure/include
++ ${INTEL_SSSE3_FLAGS}
+ libec_jerasure_sse3_la_CXXFLAGS= ${AM_CXXFLAGS} \
+ ${INTEL_SSE_FLAGS} \
+ ${INTEL_SSE2_FLAGS} \
+ ${INTEL_SSE3_FLAGS} \
+- ${INTEL_SSSE3_FLAGS} \
+- -I$(srcdir)/erasure-code/jerasure/gf-complete/include \
+- -I$(srcdir)/erasure-code/jerasure/jerasure/include
++ ${INTEL_SSSE3_FLAGS}
+ libec_jerasure_sse3_la_LIBADD = $(LIBCRUSH) $(PTHREAD_LIBS) $(EXTRALIBS)
+ libec_jerasure_sse3_la_LDFLAGS = ${AM_LDFLAGS} -module -avoid-version -shared
+ if LINUX
+@@ -111,18 +63,14 @@ libec_jerasure_sse4_la_CFLAGS = ${AM_CFLAGS} \
+ ${INTEL_SSE3_FLAGS} \
+ ${INTEL_SSSE3_FLAGS} \
+ ${INTEL_SSE4_1_FLAGS} \
+- ${INTEL_SSE4_2_FLAGS} \
+- -I$(srcdir)/erasure-code/jerasure/gf-complete/include \
+- -I$(srcdir)/erasure-code/jerasure/jerasure/include
++ ${INTEL_SSE4_2_FLAGS}
+ libec_jerasure_sse4_la_CXXFLAGS= ${AM_CXXFLAGS} \
+ ${INTEL_SSE_FLAGS} \
+ ${INTEL_SSE2_FLAGS} \
+ ${INTEL_SSE3_FLAGS} \
+ ${INTEL_SSSE3_FLAGS} \
+ ${INTEL_SSE4_1_FLAGS} \
+- ${INTEL_SSE4_2_FLAGS} \
+- -I$(srcdir)/erasure-code/jerasure/gf-complete/include \
+- -I$(srcdir)/erasure-code/jerasure/jerasure/include
++ ${INTEL_SSE4_2_FLAGS}
+ libec_jerasure_sse4_la_LIBADD = $(LIBCRUSH) $(PTHREAD_LIBS) $(EXTRALIBS)
+ libec_jerasure_sse4_la_LDFLAGS = ${AM_LDFLAGS} -module -avoid-version -shared
+ if LINUX
+diff --git a/src/erasure-code/shec/ErasureCodePluginShec.cc b/src/erasure-code/shec/ErasureCodePluginShec.cc
+index d2b72f5..acbd172 100644
+--- a/src/erasure-code/shec/ErasureCodePluginShec.cc
++++ b/src/erasure-code/shec/ErasureCodePluginShec.cc
+@@ -71,7 +71,7 @@ public:
+ };
+
+ extern "C" {
+-#include "jerasure/include/galois.h"
++#include "galois.h"
+
+ extern gf_t *gfp_array[];
+ extern int gfp_is_composite[];
+diff --git a/src/erasure-code/shec/ErasureCodeShec.cc b/src/erasure-code/shec/ErasureCodeShec.cc
+index 2180328..c84ffc7 100644
+--- a/src/erasure-code/shec/ErasureCodeShec.cc
++++ b/src/erasure-code/shec/ErasureCodeShec.cc
+@@ -28,8 +28,8 @@
+ #include "crush/CrushWrapper.h"
+ #include "osd/osd_types.h"
+ extern "C" {
+-#include "jerasure/include/jerasure.h"
+-#include "jerasure/include/galois.h"
++#include "jerasure.h"
++#include "galois.h"
+
+ extern int calc_determinant(int *matrix, int dim);
+ extern int* reed_sol_vandermonde_coding_matrix(int k, int m, int w);
+diff --git a/src/erasure-code/shec/Makefile.am b/src/erasure-code/shec/Makefile.am
+index 6b658d5..3281c60 100644
+--- a/src/erasure-code/shec/Makefile.am
++++ b/src/erasure-code/shec/Makefile.am
+@@ -4,49 +4,19 @@ shec_sources = \
+ erasure-code/shec/ErasureCodePluginShec.cc \
+ erasure-code/shec/ErasureCodeShec.cc \
+ erasure-code/shec/ErasureCodeShecTableCache.cc \
+- erasure-code/shec/determinant.c \
+- erasure-code/jerasure/jerasure/src/cauchy.c \
+- erasure-code/jerasure/jerasure/src/galois.c \
+- erasure-code/jerasure/jerasure/src/jerasure.c \
+- erasure-code/jerasure/jerasure/src/liberation.c \
+- erasure-code/jerasure/jerasure/src/reed_sol.c \
+- erasure-code/jerasure/gf-complete/src/gf_wgen.c \
+- erasure-code/jerasure/gf-complete/src/gf_method.c \
+- erasure-code/jerasure/gf-complete/src/gf_w16.c \
+- erasure-code/jerasure/gf-complete/src/gf.c \
+- erasure-code/jerasure/gf-complete/src/gf_w32.c \
+- erasure-code/jerasure/gf-complete/src/gf_w64.c \
+- erasure-code/jerasure/gf-complete/src/gf_w128.c \
+- erasure-code/jerasure/gf-complete/src/gf_general.c \
+- erasure-code/jerasure/gf-complete/src/gf_w4.c \
+- erasure-code/jerasure/gf-complete/src/gf_rand.c \
+- erasure-code/jerasure/gf-complete/src/gf_w8.c
++ erasure-code/shec/determinant.c
+
+ noinst_HEADERS += \
+ erasure-code/shec/ErasureCodeShec.h \
+- erasure-code/shec/ErasureCodeShecTableCache.h \
+- erasure-code/jerasure/jerasure/include/cauchy.h \
+- erasure-code/jerasure/jerasure/include/galois.h \
+- erasure-code/jerasure/jerasure/include/jerasure.h \
+- erasure-code/jerasure/jerasure/include/liberation.h \
+- erasure-code/jerasure/jerasure/include/reed_sol.h \
+- erasure-code/jerasure/gf-complete/include/gf_int.h \
+- erasure-code/jerasure/gf-complete/include/gf_complete.h \
+- erasure-code/jerasure/gf-complete/include/gf_rand.h \
+- erasure-code/jerasure/gf-complete/include/gf_method.h \
+- erasure-code/jerasure/gf-complete/include/gf_general.h
++ erasure-code/shec/ErasureCodeShecTableCache.h
+
+ erasure-code/shec/ErasureCodePluginShec.cc: ./ceph_ver.h
+
+ libec_shec_generic_la_SOURCES = ${shec_sources}
+ libec_shec_generic_la_CFLAGS = ${AM_CFLAGS} \
+- -I$(srcdir)/erasure-code/jerasure/jerasure/include \
+- -I$(srcdir)/erasure-code/jerasure/gf-complete/include \
+ -I$(srcdir)/erasure-code/jerasure \
+ -I$(srcdir)/erasure-code/shec
+ libec_shec_generic_la_CXXFLAGS= ${AM_CXXFLAGS} \
+- -I$(srcdir)/erasure-code/jerasure/jerasure/include \
+- -I$(srcdir)/erasure-code/jerasure/gf-complete/include \
+ -I$(srcdir)/erasure-code/jerasure \
+ -I$(srcdir)/erasure-code/shec
+ libec_shec_generic_la_LIBADD = $(LIBCRUSH) $(PTHREAD_LIBS) $(EXTRALIBS)
+@@ -57,22 +27,13 @@ endif
+
+ erasure_codelib_LTLIBRARIES += libec_shec_generic.la
+
+-libec_shec_neon_la_SOURCES = ${shec_sources} \
+- erasure-code/jerasure/gf-complete/src/neon/gf_w4_neon.c \
+- erasure-code/jerasure/gf-complete/src/neon/gf_w8_neon.c \
+- erasure-code/jerasure/gf-complete/src/neon/gf_w16_neon.c \
+- erasure-code/jerasure/gf-complete/src/neon/gf_w32_neon.c \
+- erasure-code/jerasure/gf-complete/src/neon/gf_w64_neon.c
++libec_shec_neon_la_SOURCES = ${shec_sources}
+ libec_shec_neon_la_CFLAGS = ${AM_CFLAGS} \
+ ${ARM_NEON_FLAGS} \
+- -I$(srcdir)/erasure-code/jerasure/jerasure/include \
+- -I$(srcdir)/erasure-code/jerasure/gf-complete/include \
+ -I$(srcdir)/erasure-code/jerasure \
+ -I$(srcdir)/erasure-code/shec
+ libec_shec_neon_la_CXXFLAGS= ${AM_CXXFLAGS} \
+ ${ARM_NEON_FLAGS} \
+- -I$(srcdir)/erasure-code/jerasure/jerasure/include \
+- -I$(srcdir)/erasure-code/jerasure/gf-complete/include \
+ -I$(srcdir)/erasure-code/jerasure \
+ -I$(srcdir)/erasure-code/shec
+ libec_shec_neon_la_LIBADD = $(LIBCRUSH) $(PTHREAD_LIBS) $(EXTRALIBS)
+@@ -91,8 +52,6 @@ libec_shec_sse3_la_CFLAGS = ${AM_CFLAGS} \
+ ${INTEL_SSE2_FLAGS} \
+ ${INTEL_SSE3_FLAGS} \
+ ${INTEL_SSSE3_FLAGS} \
+- -I$(srcdir)/erasure-code/jerasure/jerasure/include \
+- -I$(srcdir)/erasure-code/jerasure/gf-complete/include \
+ -I$(srcdir)/erasure-code/jerasure \
+ -I$(srcdir)/erasure-code/shec
+ libec_shec_sse3_la_CXXFLAGS= ${AM_CXXFLAGS} \
+@@ -100,8 +59,6 @@ libec_shec_sse3_la_CXXFLAGS= ${AM_CXXFLAGS} \
+ ${INTEL_SSE2_FLAGS} \
+ ${INTEL_SSE3_FLAGS} \
+ ${INTEL_SSSE3_FLAGS} \
+- -I$(srcdir)/erasure-code/jerasure/jerasure/include \
+- -I$(srcdir)/erasure-code/jerasure/gf-complete/include \
+ -I$(srcdir)/erasure-code/jerasure \
+ -I$(srcdir)/erasure-code/shec
+ libec_shec_sse3_la_LIBADD = $(LIBCRUSH) $(PTHREAD_LIBS) $(EXTRALIBS)
+@@ -122,8 +79,6 @@ libec_shec_sse4_la_CFLAGS = ${AM_CFLAGS} \
+ ${INTEL_SSSE3_FLAGS} \
+ ${INTEL_SSE4_1_FLAGS} \
+ ${INTEL_SSE4_2_FLAGS} \
+- -I$(srcdir)/erasure-code/jerasure/jerasure/include \
+- -I$(srcdir)/erasure-code/jerasure/gf-complete/include \
+ -I$(srcdir)/erasure-code/jerasure \
+ -I$(srcdir)/erasure-code/shec
+ libec_shec_sse4_la_CXXFLAGS= ${AM_CXXFLAGS} \
+@@ -133,8 +88,6 @@ libec_shec_sse4_la_CXXFLAGS= ${AM_CXXFLAGS} \
+ ${INTEL_SSSE3_FLAGS} \
+ ${INTEL_SSE4_1_FLAGS} \
+ ${INTEL_SSE4_2_FLAGS} \
+- -I$(srcdir)/erasure-code/jerasure/jerasure/include \
+- -I$(srcdir)/erasure-code/jerasure/gf-complete/include \
+ -I$(srcdir)/erasure-code/jerasure \
+ -I$(srcdir)/erasure-code/shec
+ libec_shec_sse4_la_LIBADD = $(LIBCRUSH) $(PTHREAD_LIBS) $(EXTRALIBS)
+diff --git a/src/erasure-code/shec/determinant.c b/src/erasure-code/shec/determinant.c
+index 15b62c9..bf5d290 100755
+--- a/src/erasure-code/shec/determinant.c
++++ b/src/erasure-code/shec/determinant.c
+@@ -19,7 +19,7 @@
+ #include <stdlib.h>
+ #include <string.h>
+
+-#include "jerasure/include/galois.h"
++#include "galois.h"
+
+ void print_matrix(int *mat, int dim)
+ {
+diff --git a/src/test/erasure-code/Makefile.am b/src/test/erasure-code/Makefile.am
+index bdce080..11895ae 100644
+--- a/src/test/erasure-code/Makefile.am
++++ b/src/test/erasure-code/Makefile.am
+@@ -166,12 +166,8 @@ check_TESTPROGRAMS += unittest_erasure_code
+ unittest_erasure_code_jerasure_SOURCES = \
+ test/erasure-code/TestErasureCodeJerasure.cc \
+ ${jerasure_sources}
+-unittest_erasure_code_jerasure_CFLAGS = $(AM_CFLAGS) \
+- -Ierasure-code/jerasure/gf-complete/include \
+- -Ierasure-code/jerasure/jerasure/include
+-unittest_erasure_code_jerasure_CXXFLAGS = $(UNITTEST_CXXFLAGS) \
+- -Ierasure-code/jerasure/gf-complete/include \
+- -Ierasure-code/jerasure/jerasure/include
++unittest_erasure_code_jerasure_CFLAGS = $(AM_CFLAGS)
++unittest_erasure_code_jerasure_CXXFLAGS = $(UNITTEST_CXXFLAGS)
+ unittest_erasure_code_jerasure_LDADD = $(LIBOSD) $(LIBCOMMON) $(UNITTEST_LDADD) $(CEPH_GLOBAL)
+ if LINUX
+ unittest_erasure_code_jerasure_LDADD += -ldl
+@@ -232,13 +228,9 @@ unittest_erasure_code_shec_SOURCES = \
+ test/erasure-code/TestErasureCodeShec.cc \
+ ${shec_sources}
+ unittest_erasure_code_shec_CFLAGS = ${libec_shec_la_CFLAGS} \
+- -I$(srcdir)/erasure-code/jerasure/jerasure/include \
+- -I$(srcdir)/erasure-code/jerasure/gf-complete/include \
+ -I$(srcdir)/erasure-code/jerasure \
+ -I$(srcdir)/erasure-code/shec
+ unittest_erasure_code_shec_CXXFLAGS = ${libec_shec_la_CXXFLAGS} $(UNITTEST_CXXFLAGS) \
+- -I$(srcdir)/erasure-code/jerasure/jerasure/include \
+- -I$(srcdir)/erasure-code/jerasure/gf-complete/include \
+ -I$(srcdir)/erasure-code/jerasure \
+ -I$(srcdir)/erasure-code/shec
+ unittest_erasure_code_shec_LDADD = $(LIBOSD) $(LIBCOMMON) $(UNITTEST_LDADD) $(CEPH_GLOBAL)
+@@ -251,13 +243,9 @@ unittest_erasure_code_shec_all_SOURCES = \
+ test/erasure-code/TestErasureCodeShec_all.cc \
+ ${shec_sources}
+ unittest_erasure_code_shec_all_CFLAGS = ${libec_shec_la_CFLAGS} \
+- -I$(srcdir)/erasure-code/jerasure/jerasure/include \
+- -I$(srcdir)/erasure-code/jerasure/gf-complete/include \
+ -I$(srcdir)/erasure-code/jerasure \
+ -I$(srcdir)/erasure-code/shec
+ unittest_erasure_code_shec_all_CXXFLAGS = ${libec_shec_la_CXXFLAGS} $(UNITTEST_CXXFLAGS) \
+- -I$(srcdir)/erasure-code/jerasure/jerasure/include \
+- -I$(srcdir)/erasure-code/jerasure/gf-complete/include \
+ -I$(srcdir)/erasure-code/jerasure \
+ -I$(srcdir)/erasure-code/shec
+ unittest_erasure_code_shec_all_LDADD = $(LIBOSD) $(LIBCOMMON) $(UNITTEST_LDADD) $(CEPH_GLOBAL)
+@@ -270,13 +258,9 @@ unittest_erasure_code_shec_thread_SOURCES = \
+ test/erasure-code/TestErasureCodeShec_thread.cc \
+ ${shec_sources}
+ unittest_erasure_code_shec_thread_CFLAGS = ${libec_shec_la_CFLAGS} \
+- -I$(srcdir)/erasure-code/jerasure/jerasure/include \
+- -I$(srcdir)/erasure-code/jerasure/gf-complete/include \
+ -I$(srcdir)/erasure-code/jerasure \
+ -I$(srcdir)/erasure-code/shec
+ unittest_erasure_code_shec_thread_CXXFLAGS = ${libec_shec_la_CXXFLAGS} $(UNITTEST_CXXFLAGS) \
+- -I$(srcdir)/erasure-code/jerasure/jerasure/include \
+- -I$(srcdir)/erasure-code/jerasure/gf-complete/include \
+ -I$(srcdir)/erasure-code/jerasure \
+ -I$(srcdir)/erasure-code/shec
+ unittest_erasure_code_shec_thread_LDADD = $(LIBOSD) $(LIBCOMMON) $(UNITTEST_LDADD) $(CEPH_GLOBAL)
+@@ -289,13 +273,9 @@ unittest_erasure_code_shec_arguments_SOURCES = \
+ test/erasure-code/TestErasureCodeShec_arguments.cc \
+ ${shec_sources}
+ unittest_erasure_code_shec_arguments_CFLAGS = ${libec_shec_la_CFLAGS} \
+- -I$(srcdir)/erasure-code/jerasure/jerasure/include \
+- -I$(srcdir)/erasure-code/jerasure/gf-complete/include \
+ -I$(srcdir)/erasure-code/jerasure \
+ -I$(srcdir)/erasure-code/shec
+ unittest_erasure_code_shec_arguments_CXXFLAGS = ${libec_shec_la_CXXFLAGS} $(UNITTEST_CXXFLAGS) \
+- -I$(srcdir)/erasure-code/jerasure/jerasure/include \
+- -I$(srcdir)/erasure-code/jerasure/gf-complete/include \
+ -I$(srcdir)/erasure-code/jerasure \
+ -I$(srcdir)/erasure-code/shec
+ unittest_erasure_code_shec_arguments_LDADD = $(LIBOSD) $(LIBCOMMON) $(UNITTEST_LDADD) $(CEPH_GLOBAL)
^ permalink raw reply related [flat|nested] 48+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-cluster/ceph/files/, sys-cluster/ceph/
@ 2016-06-16 10:57 Yixun Lan
0 siblings, 0 replies; 48+ messages in thread
From: Yixun Lan @ 2016-06-16 10:57 UTC (permalink / raw
To: gentoo-commits
commit: 3136c76f780e6102b2e55598d85861808cc4abb7
Author: Yixun Lan <dlan <AT> gentoo <DOT> org>
AuthorDate: Thu Jun 16 10:52:37 2016 +0000
Commit: Yixun Lan <dlan <AT> gentoo <DOT> org>
CommitDate: Thu Jun 16 10:55:25 2016 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=3136c76f
sys-cluster/ceph: fix missing xfs header err when USE=xfs enabled
Gentoo-Bug: 585988
Package-Manager: portage-2.3.0_rc1
sys-cluster/ceph/ceph-9.2.1-r1.ebuild | 1 +
sys-cluster/ceph/files/ceph-9.2.1-libxfs.patch | 28 ++++++++++++++++++++++++++
2 files changed, 29 insertions(+)
diff --git a/sys-cluster/ceph/ceph-9.2.1-r1.ebuild b/sys-cluster/ceph/ceph-9.2.1-r1.ebuild
index 53f3e9c..494094e 100644
--- a/sys-cluster/ceph/ceph-9.2.1-r1.ebuild
+++ b/sys-cluster/ceph/ceph-9.2.1-r1.ebuild
@@ -74,6 +74,7 @@ STRIP_MASK="/usr/lib*/rados-classes/*"
PATCHES=(
"${FILESDIR}"/${PN}-0.79-libzfs.patch
+ "${FILESDIR}"/${P}-libxfs.patch
)
check-reqs_export_vars() {
diff --git a/sys-cluster/ceph/files/ceph-9.2.1-libxfs.patch b/sys-cluster/ceph/files/ceph-9.2.1-libxfs.patch
new file mode 100644
index 0000000..85515be
--- /dev/null
+++ b/sys-cluster/ceph/files/ceph-9.2.1-libxfs.patch
@@ -0,0 +1,28 @@
+From 602425abd5cef741fc1b5d4d1dd70c68e153fc8d Mon Sep 17 00:00:00 2001
+From: Ira Cooper <ira@redhat.com>
+Date: Thu, 31 Mar 2016 12:30:45 -0400
+Subject: [PATCH] configure: Add -D_LARGEFILE64_SOURCE to Linux build.
+
+Without -D_LARGEFILE64_SOURCE we can't build against libxfs,
+because off64_t must be defined.
+
+Signed-off-by: Ira Cooper <ira@redhat.com>
+---
+ configure.ac | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/configure.ac b/configure.ac
+index 48a7fc2..610c40b 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -63,6 +63,7 @@ darwin*)
+ ;;
+ linux*)
+ linux="yes"
++ CFLAGS="-D_LARGEFILE64_SOURCE ${CFLAGS}"
+ ;;
+ freebsd*)
+ freebsd="yes"
+--
+2.8.4
+
^ permalink raw reply related [flat|nested] 48+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-cluster/ceph/files/, sys-cluster/ceph/
@ 2016-10-27 21:31 Patrick McLean
0 siblings, 0 replies; 48+ messages in thread
From: Patrick McLean @ 2016-10-27 21:31 UTC (permalink / raw
To: gentoo-commits
commit: 6a0cecccd4cde2ac81dd8a2409467dcc291133b5
Author: Patrick McLean <chutzpah <AT> gentoo <DOT> org>
AuthorDate: Thu Oct 27 21:31:02 2016 +0000
Commit: Patrick McLean <chutzpah <AT> gentoo <DOT> org>
CommitDate: Thu Oct 27 21:31:02 2016 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=6a0ceccc
sys-cluster/ceph: Revision bump to 10.2.3-r1 for CVE-2016-8626
Gentoo-Bug: 598206
Package-Manager: portage-2.3.2
sys-cluster/ceph/ceph-10.2.3-r1.ebuild | 263 +++++++++++++++++++++
.../ceph/files/ceph-10.2.3-CVE-2016-8626.patch | 33 +++
2 files changed, 296 insertions(+)
diff --git a/sys-cluster/ceph/ceph-10.2.3-r1.ebuild b/sys-cluster/ceph/ceph-10.2.3-r1.ebuild
new file mode 100644
index 00000000..5f40c53
--- /dev/null
+++ b/sys-cluster/ceph/ceph-10.2.3-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.3-build-without-openldap.patch"
+ "${FILESDIR}/${PN}-10.2.3-CVE-2016-8626.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_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-CVE-2016-8626.patch b/sys-cluster/ceph/files/ceph-10.2.3-CVE-2016-8626.patch
new file mode 100644
index 00000000..d767d81
--- /dev/null
+++ b/sys-cluster/ceph/files/ceph-10.2.3-CVE-2016-8626.patch
@@ -0,0 +1,33 @@
+commit dc2ffda7819d2ebeed3526d9e6da8f53221818de
+Author: Yehuda Sadeh <yehuda@redhat.com>
+Date: Thu Oct 20 10:17:36 2016 -0700
+
+ rgw: handle empty POST condition
+
+ Fixes: http://tracker.ceph.com/issues/17635
+
+ Before accessing json entity, need to check that iterator is valid.
+ If there is no entry return appropriate error code.
+
+ Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
+ (cherry picked from commit 23cb642243e09ca4a8e104f62a3bb7b2cbb6ea12)
+
+diff --git a/src/rgw/rgw_policy_s3.cc b/src/rgw/rgw_policy_s3.cc
+index 3843511..8af70a8 100644
+--- a/src/rgw/rgw_policy_s3.cc
++++ b/src/rgw/rgw_policy_s3.cc
+@@ -286,11 +286,13 @@ int RGWPolicy::from_json(bufferlist& bl, string& err_msg)
+ int r = add_condition(v[0], v[1], v[2], err_msg);
+ if (r < 0)
+ return r;
+- } else {
++ } else if (!citer.end()) {
+ JSONObj *c = *citer;
+ dout(0) << "adding simple_check: " << c->get_name() << " : " << c->get_data() << dendl;
+
+ add_simple_check(c->get_name(), c->get_data());
++ } else {
++ return -EINVAL;
+ }
+ }
+ return 0;
^ permalink raw reply related [flat|nested] 48+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-cluster/ceph/files/, sys-cluster/ceph/
@ 2017-03-02 0:38 Patrick McLean
0 siblings, 0 replies; 48+ messages in thread
From: Patrick McLean @ 2017-03-02 0:38 UTC (permalink / raw
To: gentoo-commits
commit: ddd6de576d3d0f0e992974e3f6064c48f2c31039
Author: Patrick McLean <chutzpah <AT> gentoo <DOT> org>
AuthorDate: Thu Mar 2 00:37:34 2017 +0000
Commit: Patrick McLean <chutzpah <AT> gentoo <DOT> org>
CommitDate: Thu Mar 2 00:38:06 2017 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=ddd6de57
sys-cluster/ceph: Revision bump, pull in some python3 patches from upstream
Package-Manager: Portage-2.3.3, Repoman-2.3.1
sys-cluster/ceph/ceph-10.2.5-r4.ebuild | 293 +++++++++++++++++++++
...ndings-and-tests-compatible-with-Python-3.patch | 22 ++
...-Python-bindings-compatible-with-Python-3.patch | 45 ++++
3 files changed, 360 insertions(+)
diff --git a/sys-cluster/ceph/ceph-10.2.5-r4.ebuild b/sys-cluster/ceph/ceph-10.2.5-r4.ebuild
new file mode 100644
index 00000000000..2cac94d409d
--- /dev/null
+++ b/sys-cluster/ceph/ceph-10.2.5-r4.ebuild
@@ -0,0 +1,293 @@
+# 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 )
+ 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"
+ 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.5-Make-CephFS-bindings-and-tests-compatible-with-Python-3.patch b/sys-cluster/ceph/files/ceph-10.2.5-Make-CephFS-bindings-and-tests-compatible-with-Python-3.patch
new file mode 100644
index 00000000000..08a7920035a
--- /dev/null
+++ b/sys-cluster/ceph/files/ceph-10.2.5-Make-CephFS-bindings-and-tests-compatible-with-Python-3.patch
@@ -0,0 +1,22 @@
+commit e1dc386f93eb4613dc7e89cc76a031aeee5022ba
+Author: Oleh Prypin <oleh@pryp.in>
+Date: Thu Jul 21 18:33:25 2016 +0300
+
+ pybind: Make CephFS bindings and tests compatible with Python 3
+
+ Signed-off-by: Oleh Prypin <oleh@pryp.in>
+
+diff --git a/src/pybind/cephfs/cephfs.pyx b/src/pybind/cephfs/cephfs.pyx
+index ac17ada1a1..bd14de3b16 100644
+--- a/src/pybind/cephfs/cephfs.pyx
++++ b/src/pybind/cephfs/cephfs.pyx
+@@ -613,8 +613,7 @@ cdef class LibCephFS(object):
+
+ if not isinstance(mode, int):
+ raise TypeError('mode must be an int')
+- if isinstance(flags, basestring):
+- flags = cstr(flags, 'flags')
++ if isinstance(flags, str_type):
+ cephfs_flags = 0
+ if flags == '':
+ cephfs_flags = os.O_RDONLY
diff --git a/sys-cluster/ceph/files/ceph-10.2.5-Make-RBD-Python-bindings-compatible-with-Python-3.patch b/sys-cluster/ceph/files/ceph-10.2.5-Make-RBD-Python-bindings-compatible-with-Python-3.patch
new file mode 100644
index 00000000000..a81aae6e7ce
--- /dev/null
+++ b/sys-cluster/ceph/files/ceph-10.2.5-Make-RBD-Python-bindings-compatible-with-Python-3.patch
@@ -0,0 +1,45 @@
+commit 773e01294da518c6ec18f0a8b72e05def85fef6c
+Author: Oleh Prypin <oleh@pryp.in>
+Date: Fri Jun 24 15:48:57 2016 +0300
+
+ pybind: Make RBD Python bindings compatible with Python 3
+
+ Signed-off-by: Oleh Prypin <oleh@pryp.in>
+
+diff --git a/src/pybind/rbd/rbd.pyx b/src/pybind/rbd/rbd.pyx
+index 52727bf39e..8f25dfbee0 100644
+--- a/src/pybind/rbd/rbd.pyx
++++ b/src/pybind/rbd/rbd.pyx
+@@ -745,7 +745,7 @@ class RBD(object):
+ break
+ elif ret != -errno.ERANGE:
+ raise make_ex(ret, 'error listing images')
+- return [decode_cstr(name) for name in c_names[:ret].split('\0')
++ return [decode_cstr(name) for name in c_names[:ret].split(b'\0')
+ if name]
+ finally:
+ free(c_names)
+@@ -1885,8 +1885,8 @@ written." % (self.name, ret, length))
+ raise make_ex(ret, 'error listing images')
+ if ret == 0:
+ return []
+- pools = map(decode_cstr, c_pools[:pools_size - 1].split('\0'))
+- images = map(decode_cstr, c_images[:images_size - 1].split('\0'))
++ pools = map(decode_cstr, c_pools[:pools_size - 1].split(b'\0'))
++ images = map(decode_cstr, c_images[:images_size - 1].split(b'\0'))
+ return list(zip(pools, images))
+ finally:
+ free(c_pools)
+@@ -1933,9 +1933,9 @@ written." % (self.name, ret, length))
+ raise make_ex(ret, 'error listing images')
+ if ret == 0:
+ return []
+- clients = map(decode_cstr, c_clients[:clients_size - 1].split('\0'))
+- cookies = map(decode_cstr, c_cookies[:cookies_size - 1].split('\0'))
+- addrs = map(decode_cstr, c_addrs[:addrs_size - 1].split('\0'))
++ clients = map(decode_cstr, c_clients[:clients_size - 1].split(b'\0'))
++ cookies = map(decode_cstr, c_cookies[:cookies_size - 1].split(b'\0'))
++ addrs = map(decode_cstr, c_addrs[:addrs_size - 1].split(b'\0'))
+ return {
+ 'tag' : decode_cstr(c_tag),
+ 'exclusive' : exclusive == 1,
^ permalink raw reply related [flat|nested] 48+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-cluster/ceph/files/, sys-cluster/ceph/
@ 2017-03-08 22:57 Patrick McLean
0 siblings, 0 replies; 48+ messages in thread
From: Patrick McLean @ 2017-03-08 22:57 UTC (permalink / raw
To: gentoo-commits
commit: 81e655fb8e2d3a68f5d71745833dee66ce017ae4
Author: Patrick McLean <chutzpah <AT> gentoo <DOT> org>
AuthorDate: Wed Mar 8 22:56:46 2017 +0000
Commit: Patrick McLean <chutzpah <AT> gentoo <DOT> org>
CommitDate: Wed Mar 8 22:56:46 2017 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=81e655fb
sys-cluster/ceph: Version bump to 10.2.6
Package-Manager: Portage-2.3.4, Repoman-2.3.2
sys-cluster/ceph/Manifest | 1 +
sys-cluster/ceph/ceph-10.2.6.ebuild | 293 +++++++++++++++++++++
...sgw-swift-clean-up-flush-newline-behavior.patch | 92 +++++++
3 files changed, 386 insertions(+)
diff --git a/sys-cluster/ceph/Manifest b/sys-cluster/ceph/Manifest
index 793888de568..767fa7e7bb5 100644
--- a/sys-cluster/ceph/Manifest
+++ b/sys-cluster/ceph/Manifest
@@ -1,4 +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-9.2.1.tar.gz 9933444 SHA256 1918dfc3df80df5986c5b7ff6bc6c78064eef0f6c5e8269dba30e08c703a7c2f SHA512 1e84c1e2d64f4156a523658ed11552b045f75986922b7b7dbaf4719e73a0a6aadc71eb2b94ae363526f729534a592921a437468a41a3cea88c1b84e09de8505a WHIRLPOOL 3a0eb6712e5b0235707e86129e1d66f1184f50cd4980c30f6d8cc0e7dfd96d30b91177ed16dd7abf2ad4983c6a543eb91915f74f661f7d3e3c810b5b1d656aca
diff --git a/sys-cluster/ceph/ceph-10.2.6.ebuild b/sys-cluster/ceph/ceph-10.2.6.ebuild
new file mode 100644
index 00000000000..ac3fbe53c5a
--- /dev/null
+++ b/sys-cluster/ceph/ceph-10.2.6.ebuild
@@ -0,0 +1,293 @@
+# 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 )
+ 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"
+ 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.6-radosgw-swift-clean-up-flush-newline-behavior.patch b/sys-cluster/ceph/files/ceph-10.2.6-radosgw-swift-clean-up-flush-newline-behavior.patch
new file mode 100644
index 00000000000..3202de3cbe9
--- /dev/null
+++ b/sys-cluster/ceph/files/ceph-10.2.6-radosgw-swift-clean-up-flush-newline-behavior.patch
@@ -0,0 +1,92 @@
+From 39848e41b7c517cc5faab1ccf77c2804fd7d2628 Mon Sep 17 00:00:00 2001
+From: Marcus Watts <mwatts@redhat.com>
+Date: Wed, 11 Jan 2017 00:06:15 -0500
+Subject: [PATCH] radosgw/swift: clean up flush / newline behavior.
+
+The current code emits a newline after swift errors, but fails
+to account for it when it calculates 'content-length'. This results in
+some clients (go github.com/ncw/swift) producing complaints about the
+unsolicited newline such as this,
+ Unsolicited response received on idle HTTP channel starting with "\n"; err=<nil>
+
+This logic eliminates the newline on flush. This makes the content length
+calculation correct and eliminates the stray newline.
+
+There was already existing separator logic in the rgw plain formatter
+that can emit a newline at the correct point. It had been checking
+"len" to decide if previous data had been emitted, but that's reset to 0
+by flush(). So, this logic adds a new per-instance variable to separately
+track state that it emitted a previous item (and should emit a newline).
+
+Fixes: http://tracker.ceph.com/issues/18473
+Signed-off-by: Marcus Watts <mwatts@redhat.com>
+Signed-off-by: Matt Benjamin <mbenjamin@redhat.com>
+(cherry picked from commit 5f229d6a33eae4906f22cdb90941835e47ee9f02)
+---
+ src/rgw/rgw_formats.cc | 11 +++++++----
+ src/rgw/rgw_formats.h | 1 +
+ 2 files changed, 8 insertions(+), 4 deletions(-)
+
+diff --git a/src/rgw/rgw_formats.cc b/src/rgw/rgw_formats.cc
+index 698ec96..61e9b66 100644
+--- a/src/rgw/rgw_formats.cc
++++ b/src/rgw/rgw_formats.cc
+@@ -25,6 +25,7 @@ RGWFormatter_Plain::RGWFormatter_Plain(const bool ukv)
+ : buf(NULL),
+ len(0),
+ max_len(0),
++ wrote_something(false),
+ min_stack_level(0),
+ use_kv(ukv)
+ {
+@@ -41,7 +42,7 @@ void RGWFormatter_Plain::flush(ostream& os)
+ return;
+
+ if (len) {
+- os << buf << "\n";
++ os << buf;
+ os.flush();
+ }
+
+@@ -156,13 +157,14 @@ void RGWFormatter_Plain::dump_format_va(const char *name, const char *ns, bool q
+ vsnprintf(buf, LARGE_SIZE, fmt, ap);
+
+ const char *eol;
+- if (len) {
++ if (wrote_something) {
+ if (use_kv && entry.is_array && entry.size > 1)
+ eol = ", ";
+ else
+ eol = "\n";
+ } else
+ eol = "";
++ wrote_something = true;
+
+ if (use_kv && !entry.is_array)
+ write_data("%s%s: %s", eol, name, buf);
+@@ -268,10 +270,11 @@ void RGWFormatter_Plain::dump_value_int(const char *name, const char *fmt, ...)
+ va_end(ap);
+
+ const char *eol;
+- if (len)
++ if (wrote_something) {
+ eol = "\n";
+- else
++ } else
+ eol = "";
++ wrote_something = true;
+
+ if (use_kv && !entry.is_array)
+ write_data("%s%s: %s", eol, name, buf);
+diff --git a/src/rgw/rgw_formats.h b/src/rgw/rgw_formats.h
+index 9df5251..1c5afd1 100644
+--- a/src/rgw/rgw_formats.h
++++ b/src/rgw/rgw_formats.h
+@@ -56,6 +56,7 @@ class RGWFormatter_Plain : public Formatter {
+ std::list<struct plain_stack_entry> stack;
+ size_t min_stack_level;
+ bool use_kv;
++ bool wrote_something;
+ };
+
+ class RGWFormatterFlusher {
^ permalink raw reply related [flat|nested] 48+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-cluster/ceph/files/, sys-cluster/ceph/
@ 2017-03-17 2:20 Patrick McLean
0 siblings, 0 replies; 48+ messages in thread
From: Patrick McLean @ 2017-03-17 2:20 UTC (permalink / raw
To: gentoo-commits
commit: 881726f6fef97cd9f7e360d257e7b5450861143a
Author: Patrick McLean <chutzpah <AT> gentoo <DOT> org>
AuthorDate: Fri Mar 17 02:20:08 2017 +0000
Commit: Patrick McLean <chutzpah <AT> gentoo <DOT> org>
CommitDate: Fri Mar 17 02:20:08 2017 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=881726f6
sys-cluster/ceph: Revision bump, some minor init script cleanups/enhancements
Package-Manager: Portage-2.3.4, Repoman-2.3.2
sys-cluster/ceph/ceph-10.2.5-r5.ebuild | 293 +++++++++++++++++++++++++++++++++
sys-cluster/ceph/ceph-10.2.6-r1.ebuild | 293 +++++++++++++++++++++++++++++++++
sys-cluster/ceph/files/ceph.confd-r2 | 8 +
sys-cluster/ceph/files/ceph.initd-r4 | 49 ++++++
4 files changed, 643 insertions(+)
diff --git a/sys-cluster/ceph/ceph-10.2.5-r5.ebuild b/sys-cluster/ceph/ceph-10.2.5-r5.ebuild
new file mode 100644
index 00000000000..6a70d39196b
--- /dev/null
+++ b/sys-cluster/ceph/ceph-10.2.5-r5.ebuild
@@ -0,0 +1,293 @@
+# 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 )
+ 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"
+ 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/ceph-10.2.6-r1.ebuild b/sys-cluster/ceph/ceph-10.2.6-r1.ebuild
new file mode 100644
index 00000000000..a0c131b1783
--- /dev/null
+++ b/sys-cluster/ceph/ceph-10.2.6-r1.ebuild
@@ -0,0 +1,293 @@
+# 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 )
+ 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"
+ 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.confd-r2 b/sys-cluster/ceph/files/ceph.confd-r2
new file mode 100644
index 00000000000..13b1cfad458
--- /dev/null
+++ b/sys-cluster/ceph/files/ceph.confd-r2
@@ -0,0 +1,8 @@
+# default ceph conf file
+#ceph_conf="/etc/ceph/ceph.conf"
+
+# Set ulimits for Ceph services.
+rc_ulimit="-n 32768"
+
+# initd stop timeout.
+#CEPH_TERMTIMEOUT="TERM/60/KILL/5"
diff --git a/sys-cluster/ceph/files/ceph.initd-r4 b/sys-cluster/ceph/files/ceph.initd-r4
new file mode 100644
index 00000000000..33e1a3002ac
--- /dev/null
+++ b/sys-cluster/ceph/files/ceph.initd-r4
@@ -0,0 +1,49 @@
+#!/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"
+retry="${CEPH_TERMTIMEOUT:-TERM/60/KILL/5}"
+
+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() {
+ export CEPH_CONF="${ceph_conf}"
+
+ 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
+
+ if pgrep -f "[c]eph-${daemon_type} -i ${daemon_id} "; then
+ eerror "${daemon_type}.${daemon_id} is still running, refusing to start"
+ 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] 48+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-cluster/ceph/files/, sys-cluster/ceph/
@ 2017-07-11 2:18 Patrick McLean
0 siblings, 0 replies; 48+ messages in thread
From: Patrick McLean @ 2017-07-11 2:18 UTC (permalink / raw
To: gentoo-commits
commit: ee0636629e9e5745a052318468d5eb0191ca1f8b
Author: Patrick McLean <chutzpah <AT> gentoo <DOT> org>
AuthorDate: Tue Jul 11 02:16:18 2017 +0000
Commit: Patrick McLean <chutzpah <AT> gentoo <DOT> org>
CommitDate: Tue Jul 11 02:16:18 2017 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=ee063662
sys-cluster/ceph: Version bump to 10.2.8, rework init script
The init script is reworked to use the built-in service supervisor from
sys-apps/openrc. See "man openrc-run" for more information.
Package-Manager: Portage-2.3.6, Repoman-2.3.2
sys-cluster/ceph/Manifest | 1 +
sys-cluster/ceph/ceph-10.2.8.ebuild | 295 +++++++++++++++++++++++++++++++++++
sys-cluster/ceph/files/ceph.confd-r3 | 61 ++++++++
sys-cluster/ceph/files/ceph.initd-r5 | 87 +++++++++++
4 files changed, 444 insertions(+)
diff --git a/sys-cluster/ceph/Manifest b/sys-cluster/ceph/Manifest
index 181c3c79f9a..797645c3fe5 100644
--- a/sys-cluster/ceph/Manifest
+++ b/sys-cluster/ceph/Manifest
@@ -3,4 +3,5 @@ DIST ceph-10.2.3.tar.gz 11596171 SHA256 dca933aa14db67b404d836ef510bd418091978ed
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-9.2.1.tar.gz 9933444 SHA256 1918dfc3df80df5986c5b7ff6bc6c78064eef0f6c5e8269dba30e08c703a7c2f SHA512 1e84c1e2d64f4156a523658ed11552b045f75986922b7b7dbaf4719e73a0a6aadc71eb2b94ae363526f729534a592921a437468a41a3cea88c1b84e09de8505a WHIRLPOOL 3a0eb6712e5b0235707e86129e1d66f1184f50cd4980c30f6d8cc0e7dfd96d30b91177ed16dd7abf2ad4983c6a543eb91915f74f661f7d3e3c810b5b1d656aca
diff --git a/sys-cluster/ceph/ceph-10.2.8.ebuild b/sys-cluster/ceph/ceph-10.2.8.ebuild
new file mode 100644
index 00000000000..c4e36e3930a
--- /dev/null
+++ b/sys-cluster/ceph/ceph-10.2.8.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 ~arm64 ~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-r5" ${PN}
+ newconfd "${FILESDIR}/${PN}.confd-r3" ${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.confd-r3 b/sys-cluster/ceph/files/ceph.confd-r3
new file mode 100644
index 00000000000..491b1241ba6
--- /dev/null
+++ b/sys-cluster/ceph/files/ceph.confd-r3
@@ -0,0 +1,61 @@
+# /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 32768"
+
+# the directory under /run to store runtime information in
+#rundir=/run/ceph
+
+# the user and group to run ceph as
+
+# settings for openrc supervisor for various ceph daemons
+#
+# defaults (can be overidden for each daemon)
+#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-r5 b/sys-cluster/ceph/files/ceph.initd-r5
new file mode 100644
index 00000000000..9ed23b8489a
--- /dev/null
+++ b/sys-cluster/ceph/files/ceph.initd-r5
@@ -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 32768}
+
+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}"
+ 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] 48+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-cluster/ceph/files/, sys-cluster/ceph/
@ 2017-07-31 23:06 Patrick McLean
0 siblings, 0 replies; 48+ messages in thread
From: Patrick McLean @ 2017-07-31 23:06 UTC (permalink / raw
To: gentoo-commits
commit: 457cc8d804957b769e7c44147a49237068351b9f
Author: Patrick McLean <chutzpah <AT> gentoo <DOT> org>
AuthorDate: Mon Jul 31 23:06:16 2017 +0000
Commit: Patrick McLean <chutzpah <AT> gentoo <DOT> org>
CommitDate: Mon Jul 31 23:06:36 2017 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=457cc8d8
sys-cluster/ceph: Revision bump to 10.2.9-r2, fix bug in rbd-nbd mapping
Package-Manager: Portage-2.3.6, Repoman-2.3.3
sys-cluster/ceph/ceph-10.2.9-r2.ebuild | 299 +++++++++++++++++++++
...elax_size_check_for_newer_kernel_versions.patch | 28 ++
2 files changed, 327 insertions(+)
diff --git a/sys-cluster/ceph/ceph-10.2.9-r2.ebuild b/sys-cluster/ceph/ceph-10.2.9-r2.ebuild
new file mode 100644
index 00000000000..a9d0eec50ea
--- /dev/null
+++ b/sys-cluster/ceph/ceph-10.2.9-r2.ebuild
@@ -0,0 +1,299 @@
+# 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"
+ "${FILESDIR}/${PN}-10.2.9-rbd-nbd_relax_size_check_for_newer_kernel_versions.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-rbd-nbd_relax_size_check_for_newer_kernel_versions.patch b/sys-cluster/ceph/files/ceph-10.2.9-rbd-nbd_relax_size_check_for_newer_kernel_versions.patch
new file mode 100644
index 00000000000..5cb89be0edf
--- /dev/null
+++ b/sys-cluster/ceph/files/ceph-10.2.9-rbd-nbd_relax_size_check_for_newer_kernel_versions.patch
@@ -0,0 +1,28 @@
+diff --git a/src/tools/rbd_nbd/rbd-nbd.cc b/src/tools/rbd_nbd/rbd-nbd.cc
+index 2e399ab832..88e1e0ff65 100644
+--- a/src/tools/rbd_nbd/rbd-nbd.cc
++++ b/src/tools/rbd_nbd/rbd-nbd.cc
+@@ -469,6 +469,10 @@ static int open_device(const char* path, bool try_load_moudle = false)
+
+ static int check_device_size(int nbd_index, unsigned long expected_size)
+ {
++ // There are bugs with some older kernel versions that result in an
++ // overflow for large image sizes. This check is to ensure we are
++ // not affected.
++
+ unsigned long size = 0;
+ std::string path = "/sys/block/nbd" + stringify(nbd_index) + "/size";
+ std::ifstream ifs;
+@@ -480,6 +484,12 @@ static int check_device_size(int nbd_index, unsigned long expected_size)
+ ifs >> size;
+ size *= RBD_NBD_BLKSIZE;
+
++ if (size == 0) {
++ // Newer kernel versions will report real size only after nbd
++ // connect. Assume this is the case and return success.
++ return 0;
++ }
++
+ if (size != expected_size) {
+ cerr << "rbd-nbd: kernel reported invalid device size (" << size
+ << ", expected " << expected_size << ")" << std::endl;
^ permalink raw reply related [flat|nested] 48+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-cluster/ceph/files/, sys-cluster/ceph/
@ 2017-09-01 1:46 Patrick McLean
0 siblings, 0 replies; 48+ messages in thread
From: Patrick McLean @ 2017-09-01 1:46 UTC (permalink / raw
To: gentoo-commits
commit: 36e2a6eb3dcb8f4d62830c2eeccae3c5c680291d
Author: Patrick McLean <chutzpah <AT> gentoo <DOT> org>
AuthorDate: Fri Sep 1 01:45:53 2017 +0000
Commit: Patrick McLean <chutzpah <AT> gentoo <DOT> org>
CommitDate: Fri Sep 1 01:45:53 2017 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=36e2a6eb
sys-cluster/ceph: Version bump to 12.2.0
Package-Manager: Portage-2.3.8, Repoman-2.3.3
sys-cluster/ceph/Manifest | 1 +
sys-cluster/ceph/ceph-12.2.0.ebuild | 272 +++++++++++++++++++++
...h-12.2.0-fix_two_stray_get_health_callers.patch | 46 ++++
.../ceph-12.2.0-use-provided-cpu-flag-values.patch | 37 +++
sys-cluster/ceph/metadata.xml | 1 +
5 files changed, 357 insertions(+)
diff --git a/sys-cluster/ceph/Manifest b/sys-cluster/ceph/Manifest
index 5f0cc0c6676..ba05389cad1 100644
--- a/sys-cluster/ceph/Manifest
+++ b/sys-cluster/ceph/Manifest
@@ -3,4 +3,5 @@ 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.8.tar.gz 14548472 SHA256 f284743b007cbb61fc9849dc2249942886116c2cb2abcd346d2304d52b16eaaa SHA512 1f3bf81bf6745033e034c3c4e4f05db5c39b2e8435da20fc130971559e8fde0d640bf00bfaafb374d24c45f873e7d768ae9d7d8cd3388347f5804c4bfc303f09 WHIRLPOOL a8bf29ff913c08d423beb0fefa792c06a653d8ac00bd698b7f77bbaf4657f0530ad5a43043dabb24308ed5a4e569fec53130a78d78d8eddf16026a942de8cc40
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-9.2.1.tar.gz 9933444 SHA256 1918dfc3df80df5986c5b7ff6bc6c78064eef0f6c5e8269dba30e08c703a7c2f SHA512 1e84c1e2d64f4156a523658ed11552b045f75986922b7b7dbaf4719e73a0a6aadc71eb2b94ae363526f729534a592921a437468a41a3cea88c1b84e09de8505a WHIRLPOOL 3a0eb6712e5b0235707e86129e1d66f1184f50cd4980c30f6d8cc0e7dfd96d30b91177ed16dd7abf2ad4983c6a543eb91915f74f661f7d3e3c810b5b1d656aca
diff --git a/sys-cluster/ceph/ceph-12.2.0.ebuild b/sys-cluster/ceph/ceph-12.2.0.ebuild
new file mode 100644
index 00000000000..86ffb9c4fef
--- /dev/null
+++ b/sys-cluster/ceph/ceph-12.2.0.ebuild
@@ -0,0 +1,272 @@
+# 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="
+ 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,static-libs?]
+ 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"
+
+ # 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
+}
+
+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*'
+ 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
new file mode 100644
index 00000000000..ec6f53ef461
--- /dev/null
+++ b/sys-cluster/ceph/files/ceph-12.2.0-fix_two_stray_get_health_callers.patch
@@ -0,0 +1,46 @@
+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);
diff --git a/sys-cluster/ceph/files/ceph-12.2.0-use-provided-cpu-flag-values.patch b/sys-cluster/ceph/files/ceph-12.2.0-use-provided-cpu-flag-values.patch
new file mode 100644
index 00000000000..55c82b0a272
--- /dev/null
+++ b/sys-cluster/ceph/files/ceph-12.2.0-use-provided-cpu-flag-values.patch
@@ -0,0 +1,37 @@
+diff --git a/cmake/modules/SIMDExt.cmake b/cmake/modules/SIMDExt.cmake
+index 5330835aa1..a4dd881e34 100644
+--- a/cmake/modules/SIMDExt.cmake
++++ b/cmake/modules/SIMDExt.cmake
+@@ -76,32 +76,25 @@ elseif(CMAKE_SYSTEM_PROCESSOR MATCHES "arm|ARM")
+ elseif(CMAKE_SYSTEM_PROCESSOR MATCHES "i386|i686|amd64|x86_64|AMD64")
+ set(HAVE_INTEL 1)
+ if(CMAKE_SYSTEM_PROCESSOR MATCHES "i686|amd64|x86_64|AMD64")
+- CHECK_C_COMPILER_FLAG(-msse HAVE_INTEL_SSE)
+ if(HAVE_INTEL_SSE)
+ set(SIMD_COMPILE_FLAGS "${SIMD_COMPILE_FLAGS} -msse")
+ endif()
+ if(CMAKE_SYSTEM_PROCESSOR MATCHES "amd64|x86_64|AMD64")
+- CHECK_C_COMPILER_FLAG(-msse2 HAVE_INTEL_SSE2)
+ if(HAVE_INTEL_SSE2)
+ set(SIMD_COMPILE_FLAGS "${SIMD_COMPILE_FLAGS} -msse2")
+ endif()
+- CHECK_C_COMPILER_FLAG(-msse3 HAVE_INTEL_SSE3)
+ if(HAVE_INTEL_SSE3)
+ set(SIMD_COMPILE_FLAGS "${SIMD_COMPILE_FLAGS} -msse3")
+ endif()
+- CHECK_C_COMPILER_FLAG(-mssse3 HAVE_INTEL_SSSE3)
+ if(HAVE_INTEL_SSSE3)
+ set(SIMD_COMPILE_FLAGS "${SIMD_COMPILE_FLAGS} -mssse3")
+ endif()
+- CHECK_C_COMPILER_FLAG(-mpclmul HAVE_INTEL_PCLMUL)
+ if(HAVE_INTEL_PCLMUL)
+ set(SIMD_COMPILE_FLAGS "${SIMD_COMPILE_FLAGS} -mpclmul")
+ endif()
+- CHECK_C_COMPILER_FLAG(-msse4.1 HAVE_INTEL_SSE4_1)
+ if(HAVE_INTEL_SSE4_1)
+ set(SIMD_COMPILE_FLAGS "${SIMD_COMPILE_FLAGS} -msse4.1")
+ endif()
+- CHECK_C_COMPILER_FLAG(-msse4.2 HAVE_INTEL_SSE4_2)
+ if(HAVE_INTEL_SSE4_2)
+ set(SIMD_COMPILE_FLAGS "${SIMD_COMPILE_FLAGS} -msse4.2")
+ endif()
diff --git a/sys-cluster/ceph/metadata.xml b/sys-cluster/ceph/metadata.xml
index 958ea7ee16d..be0d84faee0 100644
--- a/sys-cluster/ceph/metadata.xml
+++ b/sys-cluster/ceph/metadata.xml
@@ -26,6 +26,7 @@ Ceph is a distributed network file system designed to provide excellent performa
<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>
^ permalink raw reply related [flat|nested] 48+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-cluster/ceph/files/, sys-cluster/ceph/
@ 2017-09-07 23:40 Patrick McLean
0 siblings, 0 replies; 48+ messages in thread
From: Patrick McLean @ 2017-09-07 23:40 UTC (permalink / raw
To: gentoo-commits
commit: e282ab19abdaa03f1405a11e363d281ea5a070aa
Author: Patrick McLean <chutzpah <AT> gentoo <DOT> org>
AuthorDate: Thu Sep 7 23:37:44 2017 +0000
Commit: Patrick McLean <chutzpah <AT> gentoo <DOT> org>
CommitDate: Thu Sep 7 23:37:44 2017 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=e282ab19
sys-cluster/ceph: Fix 10.2.9-r3 to respect CFLAGS
Also don't call lsb_release if it is not installed. Filter debugging
CFLAGS with gcc-7.2.0 as it causes the compiler to crash.
Package-Manager: Portage-2.3.8, Repoman-2.3.3
sys-cluster/ceph/ceph-10.2.9-r3.ebuild | 10 +++-
sys-cluster/ceph/files/ceph-10.2.9-cflags.patch | 15 +++++
.../files/ceph-10.2.9-dont-run-lsb_release.patch | 65 ++++++++++++++++++++++
3 files changed, 88 insertions(+), 2 deletions(-)
diff --git a/sys-cluster/ceph/ceph-10.2.9-r3.ebuild b/sys-cluster/ceph/ceph-10.2.9-r3.ebuild
index edd9ac4bbd6..73d8983868d 100644
--- a/sys-cluster/ceph/ceph-10.2.9-r3.ebuild
+++ b/sys-cluster/ceph/ceph-10.2.9-r3.ebuild
@@ -5,7 +5,7 @@ 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
+ readme.gentoo-r1 systemd versionator flag-o-matic toolchain-funcs
if [[ ${PV} == *9999* ]]; then
inherit git-r3
@@ -114,6 +114,8 @@ PATCHES=(
"${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"
# 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"
@@ -122,7 +124,6 @@ PATCHES=(
"${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() {
@@ -197,6 +198,11 @@ src_prepare() {
#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
}
diff --git a/sys-cluster/ceph/files/ceph-10.2.9-cflags.patch b/sys-cluster/ceph/files/ceph-10.2.9-cflags.patch
new file mode 100644
index 00000000000..31221ae2f99
--- /dev/null
+++ b/sys-cluster/ceph/files/ceph-10.2.9-cflags.patch
@@ -0,0 +1,15 @@
+diff --git a/src/Makefile-env.am b/src/Makefile-env.am
+index 4771bad02d..f92e20479b 100644
+--- a/src/Makefile-env.am
++++ b/src/Makefile-env.am
+@@ -53,10 +53,6 @@ endif
+ ## automake environment
+
+ HARDENING_CFLAGS = \
+- -O2 \
+- -g \
+- -pipe \
+- -Wall \
+ -Wp,-U_FORTIFY_SOURCE \
+ -Wp,-D_FORTIFY_SOURCE=2 \
+ -fexceptions \
diff --git a/sys-cluster/ceph/files/ceph-10.2.9-dont-run-lsb_release.patch b/sys-cluster/ceph/files/ceph-10.2.9-dont-run-lsb_release.patch
new file mode 100644
index 00000000000..a6b5515cee2
--- /dev/null
+++ b/sys-cluster/ceph/files/ceph-10.2.9-dont-run-lsb_release.patch
@@ -0,0 +1,65 @@
+diff --git a/src/ceph-detect-init/Makefile.am b/src/ceph-detect-init/Makefile.am
+index 3926ac4bec..90e2eae50c 100644
+--- a/src/ceph-detect-init/Makefile.am
++++ b/src/ceph-detect-init/Makefile.am
+@@ -67,7 +67,7 @@ ceph-detect-init-clean:
+ ceph-detect-init-install-data:
+ cd $(srcdir)/ceph-detect-init ; \
+ if test "$(DESTDIR)" ; then \
+- if lsb_release -si | grep --quiet 'Ubuntu\|Debian\|Devuan' ; then \
++ if command -v lsb_release >/dev/null && lsb_release -si | grep --quiet 'Ubuntu\|Debian\|Devuan' ; then \
+ options=--install-layout=deb ; \
+ else \
+ options=--prefix=/usr ; \
+diff --git a/src/ceph-disk/Makefile.am b/src/ceph-disk/Makefile.am
+index a8532878c8..d908b1649a 100644
+--- a/src/ceph-disk/Makefile.am
++++ b/src/ceph-disk/Makefile.am
+@@ -43,7 +43,7 @@ ceph-disk-clean:
+ ceph-disk-install-data:
+ cd $(srcdir)/ceph-disk ; \
+ if test "$(DESTDIR)" ; then \
+- if lsb_release -si | grep --quiet 'Ubuntu\|Debian\|Devuan' ; then \
++ if command -v lsb_release >/dev/null && lsb_release -si | grep --quiet 'Ubuntu\|Debian\|Devuan' ; then \
+ options=--install-layout=deb ; \
+ else \
+ options=--prefix=/usr ; \
+diff --git a/src/pybind/cephfs/Makefile.am b/src/pybind/cephfs/Makefile.am
+index 698522daa4..c49c190986 100644
+--- a/src/pybind/cephfs/Makefile.am
++++ b/src/pybind/cephfs/Makefile.am
+@@ -15,7 +15,7 @@ cephfs-pybind-clean: ${srcdir}/ceph_ver.h
+
+ cephfs-pybind-install-exec: ${srcdir}/ceph_ver.h
+ if test "$(DESTDIR)" ; then \
+- if lsb_release -si | grep --quiet 'Ubuntu\|Debian\|Devuan' ; then \
++ if command -v lsb_release >/dev/null && lsb_release -si | grep --quiet 'Ubuntu\|Debian\|Devuan' ; then \
+ options=--install-layout=deb ; \
+ else \
+ options=--prefix=/usr ; \
+diff --git a/src/pybind/rados/Makefile.am b/src/pybind/rados/Makefile.am
+index a4145bf0f4..960395fee8 100644
+--- a/src/pybind/rados/Makefile.am
++++ b/src/pybind/rados/Makefile.am
+@@ -15,7 +15,7 @@ rados-pybind-clean: ${srcdir}/ceph_ver.h
+
+ rados-pybind-install-exec: ${srcdir}/ceph_ver.h
+ if test "$(DESTDIR)" ; then \
+- if lsb_release -si | grep --quiet 'Ubuntu\|Debian\|Devuan' ; then \
++ if command -v lsb_release >/dev/null && lsb_release -si | grep --quiet 'Ubuntu\|Debian\|Devuan' ; then \
+ options=--install-layout=deb ; \
+ else \
+ options=--prefix=/usr ; \
+diff --git a/src/pybind/rbd/Makefile.am b/src/pybind/rbd/Makefile.am
+index 7dd49333fa..fbb940d07d 100644
+--- a/src/pybind/rbd/Makefile.am
++++ b/src/pybind/rbd/Makefile.am
+@@ -15,7 +15,7 @@ rbd-pybind-clean: ${srcdir}/ceph_ver.h
+
+ rbd-pybind-install-exec: ${srcdir}/ceph_ver.h
+ if test "$(DESTDIR)" ; then \
+- if lsb_release -si | grep --quiet 'Ubuntu\|Debian\|Devuan' ; then \
++ if command -v lsb_release >/dev/null && lsb_release -si | grep --quiet 'Ubuntu\|Debian\|Devuan' ; then \
+ options=--install-layout=deb ; \
+ else \
+ options=--prefix=/usr ; \
^ permalink raw reply related [flat|nested] 48+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-cluster/ceph/files/, sys-cluster/ceph/
@ 2017-09-07 23:40 Patrick McLean
0 siblings, 0 replies; 48+ messages in thread
From: Patrick McLean @ 2017-09-07 23:40 UTC (permalink / raw
To: gentoo-commits
commit: 7eea3cfaacc3251aaefa1fb0575927ded4036cfc
Author: Patrick McLean <chutzpah <AT> gentoo <DOT> org>
AuthorDate: Thu Sep 7 23:40:21 2017 +0000
Commit: Patrick McLean <chutzpah <AT> gentoo <DOT> org>
CommitDate: Thu Sep 7 23:40:21 2017 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=7eea3cfa
sys-cluster/ceph: Clean out old versions
Package-Manager: Portage-2.3.8, Repoman-2.3.3
sys-cluster/ceph/Manifest | 3 -
sys-cluster/ceph/ceph-0.94.9.ebuild | 172 ---------------
sys-cluster/ceph/ceph-10.2.8.ebuild | 292 -------------------------
sys-cluster/ceph/ceph-9.2.1-r2.ebuild | 189 ----------------
sys-cluster/ceph/files/ceph-0.79-libzfs.patch | 13 --
sys-cluster/ceph/files/ceph-9.2.1-libxfs.patch | 28 ---
6 files changed, 697 deletions(-)
diff --git a/sys-cluster/ceph/Manifest b/sys-cluster/ceph/Manifest
index ba05389cad1..54c044058ee 100644
--- a/sys-cluster/ceph/Manifest
+++ b/sys-cluster/ceph/Manifest
@@ -1,7 +1,4 @@
-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.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
DIST ceph-12.2.0.tar.gz 148372459 SHA256 0f601a9e28e9ce6837119b3ef0d89e1e44e0432f1f5d55567a947efefdd4d4ce SHA512 e084109c48f5666e35df5ee49262dee36ba5e7620fda30002dec538a87de11bdd21157436b5656557cd909a0943071046f3a17dd679aa1129b88b8b925f73113 WHIRLPOOL 60016eb5a20159bfc74b16c4135055cf8bf68bd868ef897b2455107a1014d4663efd55e6f5977e7d2e29010660a59d6134e3af32922d15dccbae07145c9023ea
-DIST ceph-9.2.1.tar.gz 9933444 SHA256 1918dfc3df80df5986c5b7ff6bc6c78064eef0f6c5e8269dba30e08c703a7c2f SHA512 1e84c1e2d64f4156a523658ed11552b045f75986922b7b7dbaf4719e73a0a6aadc71eb2b94ae363526f729534a592921a437468a41a3cea88c1b84e09de8505a WHIRLPOOL 3a0eb6712e5b0235707e86129e1d66f1184f50cd4980c30f6d8cc0e7dfd96d30b91177ed16dd7abf2ad4983c6a543eb91915f74f661f7d3e3c810b5b1d656aca
diff --git a/sys-cluster/ceph/ceph-0.94.9.ebuild b/sys-cluster/ceph/ceph-0.94.9.ebuild
deleted file mode 100644
index 1d7eef4c590..00000000000
--- a/sys-cluster/ceph/ceph-0.94.9.ebuild
+++ /dev/null
@@ -1,172 +0,0 @@
-# Copyright 1999-2017 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=5
-PYTHON_COMPAT=( python2_7 )
-
-if [[ $PV = *9999* ]]; then
- scm_eclass=git-r3
- EGIT_REPO_URI="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="https://download.ceph.com/tarballs/${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="https://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:0 )
- 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() {
- # 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"
-
- python_fix_shebang \
- "${ED}"/usr/sbin/{ceph-disk,ceph-create-keys} \
- "${ED}"/usr/bin/{ceph,ceph-rest-api,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/ceph-10.2.8.ebuild b/sys-cluster/ceph/ceph-10.2.8.ebuild
deleted file mode 100644
index 90cd7f880ef..00000000000
--- a/sys-cluster/ceph/ceph-10.2.8.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="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 )
- 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-r5" ${PN}
- newconfd "${FILESDIR}/${PN}.confd-r3" ${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-9.2.1-r2.ebuild b/sys-cluster/ceph/ceph-9.2.1-r2.ebuild
deleted file mode 100644
index 529686284af..00000000000
--- a/sys-cluster/ceph/ceph-9.2.1-r2.ebuild
+++ /dev/null
@@ -1,189 +0,0 @@
-# Copyright 1999-2017 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=5
-PYTHON_COMPAT=( python2_7 )
-
-if [[ $PV = *9999* ]]; then
- scm_eclass=git-r3
- EGIT_REPO_URI="https://github.com/ceph/ceph.git"
- SRC_URI=""
-else
- SRC_URI="https://download.ceph.com/tarballs/${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="https://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:0 )
- 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"
-
- 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-0.79-libzfs.patch b/sys-cluster/ceph/files/ceph-0.79-libzfs.patch
deleted file mode 100644
index 6d79c178d43..00000000000
--- a/sys-cluster/ceph/files/ceph-0.79-libzfs.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-diff --git a/src/os/Makefile.am b/src/os/Makefile.am
-index 252c678..c28ad0a 100644
---- a/src/os/Makefile.am
-+++ b/src/os/Makefile.am
-@@ -61,7 +61,7 @@ noinst_HEADERS += \
-
- if WITH_LIBZFS
- libos_zfs_a_SOURCES = os/ZFS.cc
--libos_zfs_a_CXXFLAGS = ${AM_CXXFLAGS} ${LIBZFS_CFLAGS}
-+libos_zfs_a_CXXFLAGS = ${AM_CXXFLAGS} ${LIBZFS_CFLAGS} -I/usr/include/libzfs -I/usr/include/libspl
- noinst_LIBRARIES += libos_zfs.a
- noinst_HEADERS += os/ZFS.h
- endif
diff --git a/sys-cluster/ceph/files/ceph-9.2.1-libxfs.patch b/sys-cluster/ceph/files/ceph-9.2.1-libxfs.patch
deleted file mode 100644
index 85515be3653..00000000000
--- a/sys-cluster/ceph/files/ceph-9.2.1-libxfs.patch
+++ /dev/null
@@ -1,28 +0,0 @@
-From 602425abd5cef741fc1b5d4d1dd70c68e153fc8d Mon Sep 17 00:00:00 2001
-From: Ira Cooper <ira@redhat.com>
-Date: Thu, 31 Mar 2016 12:30:45 -0400
-Subject: [PATCH] configure: Add -D_LARGEFILE64_SOURCE to Linux build.
-
-Without -D_LARGEFILE64_SOURCE we can't build against libxfs,
-because off64_t must be defined.
-
-Signed-off-by: Ira Cooper <ira@redhat.com>
----
- configure.ac | 1 +
- 1 file changed, 1 insertion(+)
-
-diff --git a/configure.ac b/configure.ac
-index 48a7fc2..610c40b 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -63,6 +63,7 @@ darwin*)
- ;;
- linux*)
- linux="yes"
-+ CFLAGS="-D_LARGEFILE64_SOURCE ${CFLAGS}"
- ;;
- freebsd*)
- freebsd="yes"
---
-2.8.4
-
^ permalink raw reply related [flat|nested] 48+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-cluster/ceph/files/, sys-cluster/ceph/
@ 2018-03-14 1:34 Patrick McLean
0 siblings, 0 replies; 48+ messages in thread
From: Patrick McLean @ 2018-03-14 1:34 UTC (permalink / raw
To: gentoo-commits
commit: ef08702b2f3a34ef42bc91aaf12bedabd41dbfba
Author: Patrick McLean <chutzpah <AT> gentoo <DOT> org>
AuthorDate: Wed Mar 14 01:33:36 2018 +0000
Commit: Patrick McLean <chutzpah <AT> gentoo <DOT> org>
CommitDate: Wed Mar 14 01:33:36 2018 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=ef08702b
sys-cluster/ceph: Revision bump, brainfart in new init script in 12.2.4-r1
Package-Manager: Portage-2.3.24, Repoman-2.3.6
sys-cluster/ceph/{ceph-12.2.4-r1.ebuild => ceph-12.2.4-r2.ebuild} | 0
sys-cluster/ceph/files/ceph.initd-r8 | 2 +-
2 files changed, 1 insertion(+), 1 deletion(-)
diff --git a/sys-cluster/ceph/ceph-12.2.4-r1.ebuild b/sys-cluster/ceph/ceph-12.2.4-r2.ebuild
similarity index 100%
rename from sys-cluster/ceph/ceph-12.2.4-r1.ebuild
rename to sys-cluster/ceph/ceph-12.2.4-r2.ebuild
diff --git a/sys-cluster/ceph/files/ceph.initd-r8 b/sys-cluster/ceph/files/ceph.initd-r8
index 2f6c2601f16..2ef2ed1890d 100644
--- a/sys-cluster/ceph/files/ceph.initd-r8
+++ b/sys-cluster/ceph/files/ceph.initd-r8
@@ -77,7 +77,7 @@ start_pre() {
log_postfix=".${daemon_id}-${arg_name}.log"
log_file="${arg_val}"
- if [ "${log_file}" != /dev/null ]
+ if [ "${log_file}" != /dev/null ]; then
log_file="${log_file}${log_postfix}"
fi
^ permalink raw reply related [flat|nested] 48+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-cluster/ceph/files/, sys-cluster/ceph/
@ 2018-06-13 17:52 Patrick McLean
0 siblings, 0 replies; 48+ messages in thread
From: Patrick McLean @ 2018-06-13 17:52 UTC (permalink / raw
To: gentoo-commits
commit: 15907512d886d53b2f4559b740eb69eb127e7a07
Author: Patrick McLean <chutzpah <AT> gentoo <DOT> org>
AuthorDate: Wed Jun 13 17:45:58 2018 +0000
Commit: Patrick McLean <chutzpah <AT> gentoo <DOT> org>
CommitDate: Wed Jun 13 17:51:19 2018 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=15907512
sys-cluster/ceph: Version bump to 13.2.0 (unkeyworded for the moment)
Closes: https://bugs.gentoo.org/657430
Package-Manager: Portage-2.3.40, Repoman-2.3.9
sys-cluster/ceph/Manifest | 2 +
sys-cluster/ceph/ceph-13.2.0.ebuild | 355 +++++++++++++++++++++
.../ceph/files/ceph-13.2.0-boost-sonames.patch | 166 ++++++++++
sys-cluster/ceph/files/ceph-13.2.0-cflags.patch | 26 ++
.../files/ceph-13.2.0-mgr-python-version.patch | 16 +
.../ceph/files/ceph-13.2.0-no-virtualenvs.patch | 78 +++++
.../ceph/files/make-node-frontend-tarball.bash | 140 ++++++++
sys-cluster/ceph/metadata.xml | 2 +
8 files changed, 785 insertions(+)
diff --git a/sys-cluster/ceph/Manifest b/sys-cluster/ceph/Manifest
index 00c897026da..ecef19d5151 100644
--- a/sys-cluster/ceph/Manifest
+++ b/sys-cluster/ceph/Manifest
@@ -6,3 +6,5 @@ DIST ceph-12.2.1.tar.gz 148738778 BLAKE2B df4bea1ad552ab2361174c1e2f285f42b4a07a
DIST ceph-12.2.2.tar.gz 148763718 BLAKE2B 5c9a56bc536b723ca3a6a0aa68c7f456032c892716167dfa213cda4964e3a45e970efe6dd67e5c43ef6f6018bd9367e0c890de270acccf3217b848b58cb98488 SHA512 89b166dc4b58e0110ebe0147eef9f47e1090ccee01702b3f72cfbdca856d02bf03b2663de9e88c84b21a2a61f8f92211e217a05b8bdcf7d5de3158adbe49db88
DIST ceph-12.2.4.tar.gz 78694838 BLAKE2B 862c275eb5e42065b2f42d417f8efd2ee8ee67c19575eb19bc799d5923d0720fa4810e1c51915fee6f96a44d433059ca6b180861013b735287751ad24235e611 SHA512 ce9ec49e8693d11345adb3a219763cc76b626db2c26d8d9ba08ff0a4d6fdeb08739da29bb87ff0946fed8e6fd55c8db0672cb286f7ebb90cf2e11a47042ba5d6
DIST ceph-12.2.5.tar.gz 78758920 BLAKE2B 0e4a515ff80fdd39e8f1afd737434c7dc2a218f0a89b53ec31bc3a5478bfd876c6f2bf3c2947a8c2f056d9b94ffa34d18ceac06b00008605e84485ec631c7a32 SHA512 bd78358590eb077afcc3c1e12864fadee906c95ac8afee25bdca6155f99b75f89d923159fcc13430abba21a89fee3e566177ff5f9ffabdd3b3f220d05602ab86
+DIST ceph-13.2.0-frontend-node-modules.tar.xz 44082360 BLAKE2B 0f1bcf1c5154bdc352c9314853099b314b76c76cf1c3ee2447803ea5d79d02bbc91a0f8aefa6df96b47fc2d89e531354ac485752d2dbb762498d3eaba273635a SHA512 ad3c38b055ba886215aea07c4afb202cc3bfb64cdebc816eb4f124f76f2401e04e5645859b2a780828bf8eddcc0093b36d4d9935b703ac2bbc4212e913abeb8c
+DIST ceph-13.2.0.tar.gz 89077825 BLAKE2B 07ee531a672e436df8f218ecb4a2425d33911771dcf9c63fa9fc36a868c93a101029d8a8c69fcea026882ac466e6032da76be0dc961ceb03845b955fb5762add SHA512 2524ad5a868024463e1a1edc5bd9c3f7bc1f58e47bf8d331902ed53206120abc6a427dd9c1d657131e67efd955d6ed8052b6c3fed8658aa905d58ac58ee62973
diff --git a/sys-cluster/ceph/ceph-13.2.0.ebuild b/sys-cluster/ceph/ceph-13.2.0.ebuild
new file mode 100644
index 00000000000..036cfc442fc
--- /dev/null
+++ b/sys-cluster/ceph/ceph-13.2.0.ebuild
@@ -0,0 +1,355 @@
+# 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 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
+ mgr-frontend? ( mirror://gentoo/${P}-frontend-node-modules.tar.xz )"
+ # unkeyworded for testing that this actually works
+ # had to do a lot of hackery for the mgr frontend, dunno if anything broke
+ #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 mgr-frontend nss"
+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?]
+ 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:= )
+ 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?] )
+ mgr? (
+ <net-libs/nodejs-9.0
+ >net-libs/nodejs-8.10
+ )
+ mgr-frontend? ( net-libs/nodejs[npm] )
+ 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.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}
+ 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*') )
+ mgr-frontend? ( mgr || ( $(python_gen_useflags 'python2*') ) )
+ ?? ( ssl nss )
+ ?? ( jemalloc tcmalloc )
+ "
+
+# currently does not configure without the mgr
+REQUIRED_USE+=" mgr"
+
+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"
+)
+
+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
+
+ # prevent useless javascript from being installed to the system
+ use mgr-frontend || rm -rf src/pybind/mgr/dashboard/frontend
+
+ # 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=$(usex mgr-frontend)
+ -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}"
+
+ 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() {
+ if use mgr-frontend; then
+ # npm likes trying to create /etc/npm
+ addpredict /etc/npm
+
+ # subshell to avoid polluting the environment
+ (
+ python_setup 'python2*'
+
+ export CC="$(tc-getCC)" CXX="$(tc-getCXX)"
+
+ set -e
+
+ pushd src/pybind/mgr/dashboard/frontend >/dev/null
+
+ npm install --offline --no-save --verbose --parseable \
+ --no-rollback --no-progress --fetch-retries=0 \
+ --nodedir="/usr/include/node" \
+ --cache="${WORKDIR}/${P}-npm-cache" \
+ --registry="http://npmjs.invalid" \
+ --sass-binary-site="http://sass.invalid"
+
+ # this tends to get installed to the system if it's still here
+ rm -rf node_modules/node-sass/build
+
+ popd >/dev/null
+
+ ) || die "failed to build node modules for mgr-frontend"
+ fi
+
+ 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="${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 ${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}
+ 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 '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-13.2.0-boost-sonames.patch b/sys-cluster/ceph/files/ceph-13.2.0-boost-sonames.patch
new file mode 100644
index 00000000000..8de09b91d8a
--- /dev/null
+++ b/sys-cluster/ceph/files/ceph-13.2.0-boost-sonames.patch
@@ -0,0 +1,166 @@
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 2f997d03f8..748cb190e6 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -591,7 +591,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 3d3b4c0919..94ab42ef9f 100644
+--- a/src/CMakeLists.txt
++++ b/src/CMakeLists.txt
+@@ -630,12 +630,12 @@ set(ceph_common_objs
+ $<TARGET_OBJECTS:crush_objs>)
+ set(ceph_common_deps
+ json_spirit erasure_code ${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}
+@@ -759,7 +759,7 @@ if (WITH_MGR)
+ $<TARGET_OBJECTS:heap_profiler_objs>)
+ target_include_directories(ceph-mgr SYSTEM PRIVATE "${PYTHON_INCLUDE_DIRS}")
+ target_link_libraries(ceph-mgr osdc client global-static ceph-common
+- Boost::python ${MGR_PYTHON_LIBRARIES} ${BLKID_LIBRARIES} ${CMAKE_DL_LIBS} ${ALLOC_LIBS})
++ boost_python-${EPYTHON_VERSION} ${MGR_PYTHON_LIBRARIES} ${BLKID_LIBRARIES} ${CMAKE_DL_LIBS} ${ALLOC_LIBS})
+ install(TARGETS ceph-mgr DESTINATION bin)
+ endif (WITH_MGR)
+
+@@ -888,7 +888,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 ceph-common
+- Boost::thread)
++ boost_thread)
+ install(TARGETS ceph-mds DESTINATION bin)
+
+ add_subdirectory(erasure-code)
+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 c1edd3b882..000c8daaf8 100644
+--- a/src/rgw/CMakeLists.txt
++++ b/src/rgw/CMakeLists.txt
+@@ -162,7 +162,7 @@ target_link_libraries(rgw_a librados cls_otp_client cls_lock_client cls_rgw_clie
+
+ 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()
+
+ if (WITH_CURL_OPENSSL OR (WITH_RADOSGW_BEAST_FRONTEND AND WITH_RADOSGW_BEAST_OPENSSL))
+diff --git a/src/test/CMakeLists.txt b/src/test/CMakeLists.txt
+index a43335e825..a0d056faaa 100644
+--- a/src/test/CMakeLists.txt
++++ b/src/test/CMakeLists.txt
+@@ -147,7 +147,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/erasure-code/CMakeLists.txt b/src/test/erasure-code/CMakeLists.txt
+index 4ba31ab2a8..ab66208b57 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 1c909ee1ce..7c1ef32df1 100644
+--- a/src/test/librados/CMakeLists.txt
++++ b/src/test/librados/CMakeLists.txt
+@@ -61,7 +61,7 @@ set_target_properties(ceph_test_rados_api_asio PROPERTIES COMPILE_FLAGS
+ 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()
+
+ # ceph_test_rados_api_list
+@@ -147,7 +147,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
+- librados global ${UNITTEST_LIBS} Boost::system radostest)
++ librados global ${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 e0844ec0c7..886839302c 100644
+--- a/src/tools/CMakeLists.txt
++++ b/src/tools/CMakeLists.txt
+@@ -29,20 +29,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)
+ endif(WITH_FUSE)
diff --git a/sys-cluster/ceph/files/ceph-13.2.0-cflags.patch b/sys-cluster/ceph/files/ceph-13.2.0-cflags.patch
new file mode 100644
index 00000000000..b275a177da3
--- /dev/null
+++ b/sys-cluster/ceph/files/ceph-13.2.0-cflags.patch
@@ -0,0 +1,26 @@
+diff --git a/cmake/modules/BuildBoost.cmake b/cmake/modules/BuildBoost.cmake
+index d6572115a4..cc0bdddc9f 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}")
+
+ list(FIND Boost_BUILD_COMPONENTS "python" with_python)
+diff --git a/src/compressor/zstd/CMakeLists.txt b/src/compressor/zstd/CMakeLists.txt
+index 5a80aa539c..8d6ff5c8f0 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} -O3")
+
+ include(ExternalProject)
+ ExternalProject_Add(zstd_ext
diff --git a/sys-cluster/ceph/files/ceph-13.2.0-mgr-python-version.patch b/sys-cluster/ceph/files/ceph-13.2.0-mgr-python-version.patch
new file mode 100644
index 00000000000..0dc90ebeaef
--- /dev/null
+++ b/sys-cluster/ceph/files/ceph-13.2.0-mgr-python-version.patch
@@ -0,0 +1,16 @@
+diff --git a/src/pybind/CMakeLists.txt b/src/pybind/CMakeLists.txt
+index c996cd9402..f99765702b 100644
+--- a/src/pybind/CMakeLists.txt
++++ b/src/pybind/CMakeLists.txt
+@@ -62,11 +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()
+ # Location needs to match default setting for mgr_module_path, currently:
+ # OPTION(mgr_module_path, OPT_STR, CEPH_PKGLIBDIR "/mgr")
+ install(DIRECTORY
diff --git a/sys-cluster/ceph/files/ceph-13.2.0-no-virtualenvs.patch b/sys-cluster/ceph/files/ceph-13.2.0-no-virtualenvs.patch
new file mode 100644
index 00000000000..470dbaeb3c0
--- /dev/null
+++ b/sys-cluster/ceph/files/ceph-13.2.0-no-virtualenvs.patch
@@ -0,0 +1,78 @@
+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 2b050f6c6e..e9fb87f76b 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,9 @@ 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 8.10.0
++ #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 8.10.0
+ WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
+ COMMENT "dashboard nodeenv is being installed"
+ )
+@@ -27,7 +27,7 @@ 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 install && deactivate
++ #COMMAND . ${mgr-dashboard-nodeenv}/bin/activate && npm install && deactivate
+ DEPENDS frontend/package.json
+ WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}/src/pybind/mgr/dashboard/frontend
+ COMMENT "dashboard frontend dependencies are being installed"
+@@ -62,9 +62,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"
diff --git a/sys-cluster/ceph/files/make-node-frontend-tarball.bash b/sys-cluster/ceph/files/make-node-frontend-tarball.bash
new file mode 100644
index 00000000000..0a8015ffa98
--- /dev/null
+++ b/sys-cluster/ceph/files/make-node-frontend-tarball.bash
@@ -0,0 +1,140 @@
+#!/bin/bash
+
+frontend_path="src/pybind/mgr/dashboard/frontend"
+node_dir="node_modules"
+output_name_format="ceph-%s-frontend-node-modules.tar.xz"
+cache_dir_format="ceph-%s-npm-cache"
+
+# regexes for modules to remove
+remove_modules=(
+ "^karma.*"
+ "^jasmine.*"
+ ".+/jasmine.*"
+ "^tslint.*"
+ "^codelyzer"
+ "^protractor"
+ "^ts-node"
+)
+
+# location to find dependencies to prune
+node_dep_location="devDependencies"
+
+# node package files
+node_package_file="package.json"
+node_package_lock="package-lock.json"
+
+# system commands needed
+dependencies=(
+ wget
+ git
+ gzip
+ jq
+ tar
+ xz
+)
+
+check_deps() {
+ local dep
+
+ for dep in "${dependencies[@]}"; do
+ if ! command -v "${dep}" >/dev/null; then
+ printf '%s: ERROR could not find required command "%s"\n' "${appname}" "${dep}" >&2
+ exit 1
+ fi
+ done
+
+ # make sure that jq was compiled with support for regexes
+ if ! jq -c 'map( select(. | test("TEST"; "i")))' <<< '{"TEST": "TEST"}' >/dev/null; then
+ printf '%s: ERROR: jq does not support regular expressions, make sure the "oniguruma" USE flag is enabled\n' \
+ "${appname}"
+ exit 1
+ fi
+ :
+}
+
+get_npm_packages() {
+ local tempfile jq_regex full_cache_dir
+
+ full_cache_dir="${PWD}/${cache_dir}"
+
+ pushd "${source_path}/${frontend_path}" > /dev/null
+ if [[ ! -r "${node_package_file}" ]]; then
+ printf '%s: ERROR: could not find "%s" in "%s"\n' "${appname}" \
+ "${node_package_file}" "${frontend_path}"
+ exit 1
+ fi
+
+ tempfile="$(TMPDIR="." mktemp packages-XXXXX.json)"
+
+ jq_regex="$(printf "%s|" "${remove_modules[@]}")"
+
+ # filter out test only deps that pull in precompiled binaries
+ # shellcheck disable=SC2031
+ jq --monochrome-output --raw-output --exit-status \
+ '."'"${node_dep_location}"'"|=with_entries(select(.key|test("('"${jq_regex%|}"')")|not))' \
+ "${node_package_file}" > "${tempfile}"
+
+ # make sure output is still valid JSON
+ jq . --exit-status "${tempfile}" > /dev/null
+
+ mv "${tempfile}" "${node_package_file}"
+
+ rm -rf "${full_cache_dir:?}" "${node_dir:?}" "${node_package_lock:?}"
+
+ npm install --ignore-scripts --cache="${full_cache_dir}"
+
+ popd >/dev/null
+}
+
+main() {
+ local appname source_path version cache_dir
+
+ set -e
+ set -o pipefail
+ shopt -s nullglob
+
+ appname=$(basename "${0}")
+ source_path="${1}"
+ version="${2}"
+
+ if [[ -z ${source_path} || -z ${version} ]]; then
+ printf 'Syntax: %s <source directory> <version>\n' "${appname}" >&2
+ return 1
+
+ elif [[ ! -d ${source_path} ]]; then
+ printf '%s: ERROR: Not a directory: %s\n' "${appname}" "${source_path}"
+ return 1
+ fi
+
+ check_deps
+
+ # shellcheck disable=SC2059
+ cache_dir="$(printf -- "${cache_dir_format}\\n" "${version}")"
+
+ get_npm_packages
+ pack_tarball
+}
+
+pack_tarball() {
+ local output
+
+ # shellcheck disable=SC2059
+ output="$(printf -- "${output_name_format}\\n" "${version}")"
+
+ tar caf "${output}" \
+ --numeric-owner \
+ --anchored \
+ --owner="root:0" \
+ --group="root:0" \
+ --exclude-vcs \
+ --transform="s:^${source_path}/:ceph-${version}/:" \
+ "${cache_dir}" \
+ "${source_path}/${frontend_path}/${node_package_file}" \
+ "${source_path}/${frontend_path}/${node_package_lock}"
+
+ printf '%s: Output written to "%s"\n' "${appname}" "${output}"
+}
+
+main "${@}"
+
+# vim:ft=sh:noet:ts=4:sts=4:sw=4:
diff --git a/sys-cluster/ceph/metadata.xml b/sys-cluster/ceph/metadata.xml
index 8ed7a4c83e4..0a4f8d20e2e 100644
--- a/sys-cluster/ceph/metadata.xml
+++ b/sys-cluster/ceph/metadata.xml
@@ -20,12 +20,14 @@
<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="dpdk">Enable DPDK messaging</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="mgr">Build the ceph-mgr daemon</flag>
+ <flag name="mgr-frontend">Build/install the mgr/dashboard frontend with npm</flag>
<flag name="nss">Use <pkg>dev-libs/nss</pkg> for cryptography</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] 48+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-cluster/ceph/files/, sys-cluster/ceph/
@ 2018-07-10 20:51 Patrick McLean
0 siblings, 0 replies; 48+ messages in thread
From: Patrick McLean @ 2018-07-10 20:51 UTC (permalink / raw
To: gentoo-commits
commit: 7d3bd77eca37425b9147acbb2edb705a6fcf99a4
Author: Patrick McLean <chutzpah <AT> gentoo <DOT> org>
AuthorDate: Tue Jul 10 20:51:28 2018 +0000
Commit: Patrick McLean <chutzpah <AT> gentoo <DOT> org>
CommitDate: Tue Jul 10 20:51:28 2018 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=7d3bd77e
sys-cluster/ceph: Add patch to remove -Werror (bug 660486)
Closes: https://bugs.gentoo.org/660486
Package-Manager: Portage-2.3.41, Repoman-2.3.9
sys-cluster/ceph/ceph-12.2.5.ebuild | 3 +-
.../ceph/files/ceph-12.2.5-boost-sonames.patch | 165 +++++++++++++++++++++
sys-cluster/ceph/files/ceph-12.2.5-no-werror.patch | 55 +++++++
3 files changed, 222 insertions(+), 1 deletion(-)
diff --git a/sys-cluster/ceph/ceph-12.2.5.ebuild b/sys-cluster/ceph/ceph-12.2.5.ebuild
index c7805109ba2..000712b8e6f 100644
--- a/sys-cluster/ceph/ceph-12.2.5.ebuild
+++ b/sys-cluster/ceph/ceph-12.2.5.ebuild
@@ -128,6 +128,7 @@ PATCHES=(
"${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"
)
check-reqs_export_vars() {
@@ -163,7 +164,7 @@ src_prepare() {
cmake-utils_src_prepare
if use system-boost; then
- eapply "${FILESDIR}/ceph-12.2.4-boost-sonames.patch"
+ eapply "${FILESDIR}/ceph-12.2.5-boost-sonames.patch"
fi
# remove tests that need root access
diff --git a/sys-cluster/ceph/files/ceph-12.2.5-boost-sonames.patch b/sys-cluster/ceph/files/ceph-12.2.5-boost-sonames.patch
new file mode 100644
index 00000000000..57482b3f27c
--- /dev/null
+++ b/sys-cluster/ceph/files/ceph-12.2.5-boost-sonames.patch
@@ -0,0 +1,165 @@
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index aa90ba65da..ea65dd4209 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -567,7 +567,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 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 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.5-no-werror.patch b/sys-cluster/ceph/files/ceph-12.2.5-no-werror.patch
new file mode 100644
index 00000000000..dd24e7819fe
--- /dev/null
+++ b/sys-cluster/ceph/files/ceph-12.2.5-no-werror.patch
@@ -0,0 +1,55 @@
+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
^ permalink raw reply related [flat|nested] 48+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-cluster/ceph/files/, sys-cluster/ceph/
@ 2018-10-17 0:38 Patrick McLean
0 siblings, 0 replies; 48+ messages in thread
From: Patrick McLean @ 2018-10-17 0:38 UTC (permalink / raw
To: gentoo-commits
commit: 9c8362b30d0cef025ec3b0da1716d1c93fac0e21
Author: Patrick McLean <chutzpah <AT> gentoo <DOT> org>
AuthorDate: Wed Oct 17 00:09:47 2018 +0000
Commit: Patrick McLean <chutzpah <AT> gentoo <DOT> org>
CommitDate: Wed Oct 17 00:38:41 2018 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=9c8362b3
sys-cluster/ceph: Version bump to 13.2.2 (bug #667766)
Closes: https://bugs.gentoo.org/667766
Package-Manager: Portage-2.3.51, Repoman-2.3.11
Signed-off-by: Patrick McLean <chutzpah <AT> gentoo.org>
sys-cluster/ceph/Manifest | 2 +
sys-cluster/ceph/ceph-13.2.2.ebuild | 362 +++++++++++++++++++++
.../ceph-13.2.2-dont-install-sysvinit-script.patch | 15 +
sys-cluster/ceph/files/ceph.logrotate-r1 | 18 +
4 files changed, 397 insertions(+)
diff --git a/sys-cluster/ceph/Manifest b/sys-cluster/ceph/Manifest
index 72923438896..84c9df735e2 100644
--- a/sys-cluster/ceph/Manifest
+++ b/sys-cluster/ceph/Manifest
@@ -4,3 +4,5 @@ DIST ceph-12.2.7.tar.gz 78783279 BLAKE2B 9058a5e408b3431cf0e8c28b44f95f6eb12f029
DIST ceph-12.2.8.tar.gz 77243685 BLAKE2B 37c34396a0c276b8d79735e14934ac70da024822c2a060061531c234e03e5d41aad6c41dc64b05c2ce47f03287d0cae9ef9bed67e4a0861b6380c8ce1de4ea69 SHA512 91c5c11aaeef701b3e31c9f8a1192b6b79fd34f3b96c61595c65173c98bfce0009c5b7c9b29764f5e4d4b1f5ac2ca7109fed5ae598c176aba717a34a132fabac
DIST ceph-13.2.1-frontend-node-modules.tar.xz 44352460 BLAKE2B 0a0099e60f0b36d48928dcda3f69dbb00e14a9a9e10c688ecbeb3daa3adbe339655652a43924043fe140ce1754525be2abed61f1ad5f24779fa4ff890d2b7cf6 SHA512 3938e8cadb6385cdaf023fe55ab5f202e44ed80173b128e3b76fc4849556cea90ce5d8884a928b93776b0509b5aef814f1078ba5e44a9d644b43a871aea06dd9
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
diff --git a/sys-cluster/ceph/ceph-13.2.2.ebuild b/sys-cluster/ceph/ceph-13.2.2.ebuild
new file mode 100644
index 00000000000..b5c1fb29a62
--- /dev/null
+++ b/sys-cluster/ceph/ceph-13.2.2.ebuild
@@ -0,0 +1,362 @@
+# 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 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
+ mgr-frontend? ( mirror://gentoo/${P}-frontend-node-modules.tar.xz )"
+ 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 mgr-frontend"
+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
+ )
+ mgr-frontend? ( net-libs/nodejs[npm] )
+ 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*') )
+ mgr-frontend? ( mgr || ( $(python_gen_useflags 'python2*') ) )
+ ?? ( jemalloc tcmalloc )
+ "
+
+# building npm stuff is currently broken
+REQUIRED_USE="!mgr-frontend"
+
+# 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() {
+ 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=$(usex mgr-frontend)
+ -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() {
+ if use mgr-frontend; then
+ # npm likes trying to create /etc/npm
+ addpredict /etc/npm
+
+ # subshell to avoid polluting the environment
+ (
+ python_setup 'python2*'
+
+ export CC="$(tc-getCC)" CXX="$(tc-getCXX)"
+
+ set -e
+
+ pushd src/pybind/mgr/dashboard/frontend >/dev/null
+
+ npm install --offline --no-save --verbose --parseable \
+ --no-rollback --no-progress --fetch-retries=0 \
+ --nodedir="/usr/include/node" \
+ --cache="${WORKDIR}/${P}-npm-cache" \
+ --registry="http://npmjs.invalid" \
+ --sass-binary-site="http://sass.invalid"
+
+ # this tends to get installed to the system if it's still here
+ rm -rf node_modules/node-sass/build
+
+ popd >/dev/null
+
+ ) || die "failed to build node modules for mgr-frontend"
+ fi
+
+ 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 ${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}
+ 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 '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-13.2.2-dont-install-sysvinit-script.patch b/sys-cluster/ceph/files/ceph-13.2.2-dont-install-sysvinit-script.patch
new file mode 100644
index 00000000000..4fbc8b6c810
--- /dev/null
+++ b/sys-cluster/ceph/files/ceph-13.2.2-dont-install-sysvinit-script.patch
@@ -0,0 +1,15 @@
+diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
+index 874eabfaa1..e337f4cf8e 100644
+--- a/src/CMakeLists.txt
++++ b/src/CMakeLists.txt
+@@ -601,10 +601,6 @@ install(PROGRAMS
+ ${CMAKE_SOURCE_DIR}/src/ceph-run
+ ${CMAKE_SOURCE_DIR}/src/ceph-clsinfo
+ DESTINATION bin)
+-install(PROGRAMS
+- ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/init-ceph
+- DESTINATION ${CMAKE_INSTALL_SYSCONFDIR}/init.d
+- RENAME ceph)
+
+ install(FILES
+ ${CMAKE_SOURCE_DIR}/share/id_rsa_drop.ceph.com
diff --git a/sys-cluster/ceph/files/ceph.logrotate-r1 b/sys-cluster/ceph/files/ceph.logrotate-r1
new file mode 100644
index 00000000000..df03f5e69a4
--- /dev/null
+++ b/sys-cluster/ceph/files/ceph.logrotate-r1
@@ -0,0 +1,18 @@
+/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
+}
^ permalink raw reply related [flat|nested] 48+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-cluster/ceph/files/, sys-cluster/ceph/
@ 2019-02-13 19:52 Patrick McLean
0 siblings, 0 replies; 48+ messages in thread
From: Patrick McLean @ 2019-02-13 19:52 UTC (permalink / raw
To: gentoo-commits
commit: 411791b6a219ef34912bbad4abbbf3175198fafd
Author: Patrick McLean <patrick.mclean <AT> sony <DOT> com>
AuthorDate: Wed Feb 13 19:51:44 2019 +0000
Commit: Patrick McLean <chutzpah <AT> gentoo <DOT> org>
CommitDate: Wed Feb 13 19:51:44 2019 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=411791b6
sys-cluster/ceph: Update boost-sonames patch for 12.2.11
Copyright: Sony Interactive Entertainment Inc.
Package-Manager: Portage-2.3.60, Repoman-2.3.12
Signed-off-by: Patrick McLean <chutzpah <AT> gentoo.org>
sys-cluster/ceph/ceph-12.2.11.ebuild | 2 +-
.../ceph/files/ceph-12.2.11-boost-sonames.patch | 214 +++++++++++++++++++++
2 files changed, 215 insertions(+), 1 deletion(-)
diff --git a/sys-cluster/ceph/ceph-12.2.11.ebuild b/sys-cluster/ceph/ceph-12.2.11.ebuild
index 4fe896d4cc1..d828bc7be4f 100644
--- a/sys-cluster/ceph/ceph-12.2.11.ebuild
+++ b/sys-cluster/ceph/ceph-12.2.11.ebuild
@@ -169,7 +169,7 @@ src_prepare() {
cmake-utils_src_prepare
if use system-boost; then
- eapply "${FILESDIR}/ceph-12.2.5-boost-sonames.patch"
+ eapply "${FILESDIR}/ceph-12.2.11-boost-sonames.patch"
fi
# remove tests that need root access
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
new file mode 100644
index 00000000000..bd17686bd9a
--- /dev/null
+++ b/sys-cluster/ceph/files/ceph-12.2.11-boost-sonames.patch
@@ -0,0 +1,214 @@
+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)
^ permalink raw reply related [flat|nested] 48+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-cluster/ceph/files/, sys-cluster/ceph/
@ 2019-03-22 22:32 Patrick McLean
0 siblings, 0 replies; 48+ messages in thread
From: Patrick McLean @ 2019-03-22 22:32 UTC (permalink / raw
To: gentoo-commits
commit: 4b1f971d7c5d842d3422d2e167e9d8e272820af1
Author: Patrick McLean <patrick.mclean <AT> sony <DOT> com>
AuthorDate: Fri Mar 22 22:29:35 2019 +0000
Commit: Patrick McLean <chutzpah <AT> gentoo <DOT> org>
CommitDate: Fri Mar 22 22:32:11 2019 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=4b1f971d
sys-cluster/ceph: revbump 14.2.0-r1 static crc32 fork (bug #681216)
Statically link internal crc32 fork to avoid collisions and runtime
errors.
Closes: https://bugs.gentoo.org/681216
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/{ceph-14.2.0-r1.ebuild => ceph-14.2.0-r2.ebuild} | 4 +++-
.../ceph/files/ceph-14.2.0-link-crc32-statically.patch | 11 +++++++++++
2 files changed, 14 insertions(+), 1 deletion(-)
diff --git a/sys-cluster/ceph/ceph-14.2.0-r1.ebuild b/sys-cluster/ceph/ceph-14.2.0-r2.ebuild
similarity index 98%
rename from sys-cluster/ceph/ceph-14.2.0-r1.ebuild
rename to sys-cluster/ceph/ceph-14.2.0-r2.ebuild
index 868ca8e9fd7..d318002040a 100644
--- a/sys-cluster/ceph/ceph-14.2.0-r1.ebuild
+++ b/sys-cluster/ceph/ceph-14.2.0-r2.ebuild
@@ -38,6 +38,7 @@ COMMON_DEPEND="
app-arch/snappy:=[static-libs?]
app-arch/zstd:=[static-libs?]
app-misc/jq:=[static-libs?]
+ dev-libs/crc32c:=
dev-libs/crypto++:=[static-libs?]
dev-libs/leveldb:=[snappy,static-libs?,tcmalloc?]
dev-libs/libaio:=[static-libs?]
@@ -149,6 +150,7 @@ 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-link-crc32-statically.patch"
)
# dpdk and ninja don't get along
@@ -228,7 +230,7 @@ ceph_src_configure() {
-DWITH_TBB=no
-DSYSTEMD_UNITDIR=$(systemd_get_systemunitdir)
-DEPYTHON_VERSION="${EPYTHON#python}"
- -DCMAKE_INSTALL_DOCDIR="${EPREFIX}/usr/share/doc/${P}"
+ -DCMAKE_INSTALL_DOCDIR="${EPREFIX}/usr/share/doc/${PN}"
-DCMAKE_INSTALL_SYSCONFDIR="${EPREFIX}/etc"
-Wno-dev
)
diff --git a/sys-cluster/ceph/files/ceph-14.2.0-link-crc32-statically.patch b/sys-cluster/ceph/files/ceph-14.2.0-link-crc32-statically.patch
new file mode 100644
index 00000000000..ec7a4fb079b
--- /dev/null
+++ b/sys-cluster/ceph/files/ceph-14.2.0-link-crc32-statically.patch
@@ -0,0 +1,11 @@
+--- ceph-14.2.0.orig/src/common/CMakeLists.txt 2019-03-18 04:08:29.000000000 -0600
++++ ceph-14.2.0/src/common/CMakeLists.txt 2019-03-21 18:42:32.903182824 -0600
+@@ -165,7 +165,7 @@
+ crc32c_aarch64.c)
+ endif(HAVE_INTEL)
+
+-add_library(crc32 ${crc32_srcs})
++add_library(crc32 STATIC ${crc32_srcs})
+ if(HAVE_ARMV8_CRC)
+ set_target_properties(crc32 PROPERTIES
+ COMPILE_FLAGS "${CMAKE_C_FLAGS} ${ARMV8_CRC_COMPILE_FLAGS}")
^ permalink raw reply related [flat|nested] 48+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-cluster/ceph/files/, sys-cluster/ceph/
@ 2019-04-05 1:48 Patrick McLean
0 siblings, 0 replies; 48+ messages in thread
From: Patrick McLean @ 2019-04-05 1:48 UTC (permalink / raw
To: gentoo-commits
commit: 84f2bdae597f394425b96329fc8305d9b729f782
Author: Patrick McLean <patrick.mclean <AT> sony <DOT> com>
AuthorDate: Fri Apr 5 01:45:22 2019 +0000
Commit: Patrick McLean <chutzpah <AT> gentoo <DOT> org>
CommitDate: Fri Apr 5 01:47:56 2019 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=84f2bdae
sys-cluster/ceph: revbumps, fix build with cython-29 (bug 682482)
Closes: https://bugs.gentoo.org/682482
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-r1.ebuild => ceph-13.2.5-r2.ebuild} | 1 +
.../{ceph-14.2.0-r3.ebuild => ceph-14.2.0-r4.ebuild} | 1 +
sys-cluster/ceph/files/ceph-14.2.0-cython-0.29.patch | 17 +++++++++++++++++
3 files changed, 19 insertions(+)
diff --git a/sys-cluster/ceph/ceph-13.2.5-r1.ebuild b/sys-cluster/ceph/ceph-13.2.5-r2.ebuild
similarity index 99%
rename from sys-cluster/ceph/ceph-13.2.5-r1.ebuild
rename to sys-cluster/ceph/ceph-13.2.5-r2.ebuild
index 7d088a08ac6..2ef0f19a401 100644
--- a/sys-cluster/ceph/ceph-13.2.5-r1.ebuild
+++ b/sys-cluster/ceph/ceph-13.2.5-r2.ebuild
@@ -147,6 +147,7 @@ PATCHES=(
"${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"
+ "${FILESDIR}/ceph-14.2.0-cython-0.29.patch"
)
check-reqs_export_vars() {
diff --git a/sys-cluster/ceph/ceph-14.2.0-r3.ebuild b/sys-cluster/ceph/ceph-14.2.0-r4.ebuild
similarity index 99%
rename from sys-cluster/ceph/ceph-14.2.0-r3.ebuild
rename to sys-cluster/ceph/ceph-14.2.0-r4.ebuild
index 01499ef0ffe..61c4b21e9f8 100644
--- a/sys-cluster/ceph/ceph-14.2.0-r3.ebuild
+++ b/sys-cluster/ceph/ceph-14.2.0-r4.ebuild
@@ -150,6 +150,7 @@ PATCHES=(
"${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"
)
# dpdk and ninja don't get along
diff --git a/sys-cluster/ceph/files/ceph-14.2.0-cython-0.29.patch b/sys-cluster/ceph/files/ceph-14.2.0-cython-0.29.patch
new file mode 100644
index 00000000000..be133c121d0
--- /dev/null
+++ b/sys-cluster/ceph/files/ceph-14.2.0-cython-0.29.patch
@@ -0,0 +1,17 @@
+--- ceph-13.2.1/cmake/modules/Distutils.cmake.old 2018-07-26 17:39:56.000000000 -0000
++++ ceph-13.2.1/cmake/modules/Distutils.cmake 2018-12-24 05:43:51.566174070 -0000
+@@ -58,8 +62,13 @@
+ function(distutils_install_cython_module name)
+ get_property(compiler_launcher GLOBAL PROPERTY RULE_LAUNCH_COMPILE)
+ get_property(link_launcher GLOBAL PROPERTY RULE_LAUNCH_LINK)
+- set(PY_CC "${compiler_launcher} ${CMAKE_C_COMPILER}")
++ string(REPLACE " " ";" cflags ${CMAKE_C_FLAGS})
++ list(APPEND cflags -iquote${CMAKE_SOURCE_DIR}/src/include -w)
++ list(APPEND cflags -D'void0=dead_function\(void\)')
++ list(APPEND cflags -D'__Pyx_check_single_interpreter\(ARG\)=ARG \#\# 0')
++ string(REPLACE ";" " " cflags "${cflags}")
++ set(PY_CC "${compiler_launcher} ${CMAKE_C_COMPILER} ${cflags}")
+ set(PY_LDSHARED "${link_launcher} ${CMAKE_C_COMPILER} -shared")
+ install(CODE "
+ set(ENV{CC} \"${PY_CC}\")
+ set(ENV{LDSHARED} \"${PY_LDSHARED}\")
^ permalink raw reply related [flat|nested] 48+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-cluster/ceph/files/, sys-cluster/ceph/
@ 2019-04-15 23:29 Patrick McLean
0 siblings, 0 replies; 48+ messages in thread
From: Patrick McLean @ 2019-04-15 23:29 UTC (permalink / raw
To: gentoo-commits
commit: 9c1469bcc815ad185bba2b5300887a3a142e8603
Author: Patrick McLean <patrick.mclean <AT> sony <DOT> com>
AuthorDate: Mon Apr 15 23:26:37 2019 +0000
Commit: Patrick McLean <chutzpah <AT> gentoo <DOT> org>
CommitDate: Mon Apr 15 23:26:37 2019 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=9c1469bc
sys-cluster/ceph: Revbumps, 681068, 651460, 671482, 682664, 638750
Cleanups for a lot of old bugs that had fallen through the cracks/
Closes: https://bugs.gentoo.org/681068
Closes: https://bugs.gentoo.org/651460
Closes: https://bugs.gentoo.org/671482
Closes: https://bugs.gentoo.org/682664
Closes: https://bugs.gentoo.org/638750
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-12.2.12.ebuild => ceph-12.2.12-r1.ebuild} | 13 +++++-----
...ceph-13.2.5-r2.ebuild => ceph-13.2.5-r3.ebuild} | 23 +++++++++--------
...ceph-14.2.0-r4.ebuild => ceph-14.2.0-r5.ebuild} | 13 +++++-----
.../ceph/files/ceph-12.2.12-ncurses-tinfo.patch | 20 +++++++++++++++
.../ceph/files/ceph-14.2.1-ncurses-tinfo.patch | 30 ++++++++++++++++++++++
5 files changed, 77 insertions(+), 22 deletions(-)
diff --git a/sys-cluster/ceph/ceph-12.2.12.ebuild b/sys-cluster/ceph/ceph-12.2.12-r1.ebuild
similarity index 96%
rename from sys-cluster/ceph/ceph-12.2.12.ebuild
rename to sys-cluster/ceph/ceph-12.2.12-r1.ebuild
index 002e685d77b..b9a012001e4 100644
--- a/sys-cluster/ceph/ceph-12.2.12.ebuild
+++ b/sys-cluster/ceph/ceph-12.2.12-r1.ebuild
@@ -81,7 +81,6 @@ DEPEND="${COMMON_DEPEND}
sys-devel/bc
virtual/pkgconfig
test? (
- dev-python/tox[${PYTHON_USEDEP}]
dev-python/virtualenv[${PYTHON_USEDEP}]
sys-apps/grep[pcre]
sys-fs/btrfs-progs
@@ -121,8 +120,6 @@ 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
@@ -141,6 +138,7 @@ PATCHES=(
"${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() {
@@ -189,7 +187,7 @@ ceph_src_configure() {
local flag
local mycmakeargs=(
-DCMAKE_INSTALL_SYSCONFDIR="${EPREFIX}/etc"
- -DCMAKE_INSTALL_DOCDIR="${EPREFIX}/usr/share/doc/${P}"
+ -DCMAKE_INSTALL_DOCDIR="${EPREFIX}/usr/share/doc/${PN}-${PVR}"
-DWITH_BABELTRACE=$(usex babeltrace)
-DWITH_CEPHFS=$(usex cephfs)
-DWITH_FUSE=$(usex fuse)
@@ -204,7 +202,7 @@ ceph_src_configure() {
-DWITH_XFS=$(usex xfs)
-DWITH_ZFS=$(usex zfs)
-DENABLE_SHARED=$(usex static-libs '' 'yes' 'no')
- -DALLOCATOR=$(usex tcmalloc 'tcmalloc' '' "$(usex jemalloc 'jemalloc' '' 'libc' '')" '')
+ -DALLOCATOR=$(usex tcmalloc 'tcmalloc' "$(usex jemalloc 'jemalloc' 'libc')")
-DWITH_SYSTEM_BOOST=$(usex system-boost)
-DBOOST_J=$(makeopts_jobs)
-DWITH_RDMA=no
@@ -258,7 +256,7 @@ src_test() {
python_install() {
local CMAKE_USE_DIR="${S}"
pushd "${BUILD_DIR}/src/pybind" >/dev/null || die
- DESTDIR="${D}" emake install
+ DESTDIR="${ED}" emake install
popd >/dev/null || die
}
@@ -312,6 +310,9 @@ src_install() {
# 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() {
diff --git a/sys-cluster/ceph/ceph-13.2.5-r2.ebuild b/sys-cluster/ceph/ceph-13.2.5-r3.ebuild
similarity index 94%
rename from sys-cluster/ceph/ceph-13.2.5-r2.ebuild
rename to sys-cluster/ceph/ceph-13.2.5-r3.ebuild
index 2ef0f19a401..c426116b1e6 100644
--- a/sys-cluster/ceph/ceph-13.2.5-r2.ebuild
+++ b/sys-cluster/ceph/ceph-13.2.5-r3.ebuild
@@ -1,13 +1,12 @@
# Copyright 1999-2019 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=6
+EAPI=7
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
+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
@@ -93,7 +92,6 @@ DEPEND="${COMMON_DEPEND}
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
@@ -103,7 +101,7 @@ RDEPEND="${COMMON_DEPEND}
sys-apps/gptfdisk
sys-block/parted
sys-fs/cryptsetup
- sys-fs/lvm2
+ sys-fs/lvm2[-device-mapper-only(-)]
!<sys-apps/openrc-0.26.3
dev-python/bcrypt[${PYTHON_USEDEP}]
dev-python/cherrypy[${PYTHON_USEDEP}]
@@ -130,7 +128,8 @@ RESTRICT+=" test"
# false positives unless all USE flags are on
CMAKE_WARN_UNUSED_CLI="no"
-STRIP_MASK="/usr/lib*/rados-classes/*"
+# ninja does not work at all
+CMAKE_MAKEFILE_GENERATOR="emake"
UNBUNDLE_LIBS=(
src/erasure-code/jerasure/jerasure
@@ -148,6 +147,7 @@ PATCHES=(
"${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"
)
check-reqs_export_vars() {
@@ -236,7 +236,7 @@ ceph_src_configure() {
# bug #630232
sed -i "s:\"${T//:\\:}/${EPYTHON}/bin/python\":\"${PYTHON}\":" \
- "${BUILD_DIR:-${CMAKE_BUILD_DIR:-${S}}}"/include/acconfig.h \
+ "${BUILD_DIR:--${S}}"/include/acconfig.h \
|| die "sed failed"
}
@@ -283,10 +283,10 @@ src_install() {
cmake-utils_src_install
python_foreach_impl python_install
- prune_libtool_files --all
+ find "${D}" -name '*.la' -delete || die
exeinto /usr/$(get_libdir)/ceph
- newexe "${CMAKE_BUILD_DIR}/bin/init-ceph" ceph_init.sh
+ newexe "${BUILD_DIR}/bin/init-ceph" ceph_init.sh
insinto /etc/logrotate.d/
newins "${FILESDIR}"/ceph.logrotate-r2 ${PN}
@@ -329,6 +329,9 @@ src_install() {
# 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() {
diff --git a/sys-cluster/ceph/ceph-14.2.0-r4.ebuild b/sys-cluster/ceph/ceph-14.2.0-r5.ebuild
similarity index 97%
rename from sys-cluster/ceph/ceph-14.2.0-r4.ebuild
rename to sys-cluster/ceph/ceph-14.2.0-r5.ebuild
index 61c4b21e9f8..3484f7a13d0 100644
--- a/sys-cluster/ceph/ceph-14.2.0-r4.ebuild
+++ b/sys-cluster/ceph/ceph-14.2.0-r5.ebuild
@@ -86,7 +86,6 @@ DEPEND="${COMMON_DEPEND}
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
@@ -105,7 +104,7 @@ RDEPEND="${COMMON_DEPEND}
sys-apps/gptfdisk
sys-block/parted
sys-fs/cryptsetup
- sys-fs/lvm2
+ sys-fs/lvm2[-device-mapper-only(-)]
!<sys-apps/openrc-0.26.3
dev-python/bcrypt[${PYTHON_USEDEP}]
dev-python/cherrypy[${PYTHON_USEDEP}]
@@ -133,8 +132,6 @@ 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
@@ -151,6 +148,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.1-ncurses-tinfo.patch"
)
# dpdk and ninja don't get along
@@ -245,7 +243,7 @@ ceph_src_configure() {
# bug #630232
sed -i "s:\"${T//:\\:}/${EPYTHON}/bin/python\":\"${PYTHON}\":" \
- "${BUILD_DIR:-${CMAKE_BUILD_DIR:-${S}}}"/include/acconfig.h \
+ "${BUILD_DIR:-${S}}"/include/acconfig.h \
|| die "sed failed"
}
@@ -271,7 +269,7 @@ 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_copy_sources
python_foreach_impl python_compile
}
@@ -336,6 +334,9 @@ src_install() {
# 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=( "${D}/usr/$(get_libdir)/rados-classes"/* )
+ dostrip -x "${rados_classes[@]#${D}}"
}
pkg_postinst() {
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
new file mode 100644
index 00000000000..1b72e5447db
--- /dev/null
+++ b/sys-cluster/ceph/files/ceph-12.2.12-ncurses-tinfo.patch
@@ -0,0 +1,20 @@
+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-14.2.1-ncurses-tinfo.patch b/sys-cluster/ceph/files/ceph-14.2.1-ncurses-tinfo.patch
new file mode 100644
index 00000000000..7f74a102d77
--- /dev/null
+++ b/sys-cluster/ceph/files/ceph-14.2.1-ncurses-tinfo.patch
@@ -0,0 +1,30 @@
+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] 48+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-cluster/ceph/files/, sys-cluster/ceph/
@ 2020-03-05 1:17 Patrick McLean
0 siblings, 0 replies; 48+ messages in thread
From: Patrick McLean @ 2020-03-05 1:17 UTC (permalink / raw
To: gentoo-commits
commit: 0a61409fb0b83f41e02f91d0065fe33fd0ca1014
Author: Patrick McLean <patrick.mclean <AT> sony <DOT> com>
AuthorDate: Thu Mar 5 01:11:29 2020 +0000
Commit: Patrick McLean <chutzpah <AT> gentoo <DOT> org>
CommitDate: Thu Mar 5 01:17:36 2020 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=0a61409f
sys-cluster/ceph-14.2.8: version bump
Copyright: Sony Interactive Entertainment Inc.
Package-Manager: Portage-2.3.89, Repoman-2.3.20
Signed-off-by: Patrick McLean <chutzpah <AT> gentoo.org>
sys-cluster/ceph/Manifest | 1 +
sys-cluster/ceph/ceph-14.2.8.ebuild | 367 ++++++++++++++
.../ceph/files/ceph-14.2.8-boost-sonames.patch | 538 +++++++++++++++++++++
3 files changed, 906 insertions(+)
diff --git a/sys-cluster/ceph/Manifest b/sys-cluster/ceph/Manifest
index 5bc6a05232c..f6b72a26254 100644
--- a/sys-cluster/ceph/Manifest
+++ b/sys-cluster/ceph/Manifest
@@ -1,2 +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.8.tar.gz 128415417 BLAKE2B bb3644938106aaefe17d29fd6adc8568a35e6aef799da048add5ecebb6fb0128a8575eba1f5ecc2f33f33caf2130619e5b6979a6291566e0971976d8da0e8387 SHA512 38b0c6df58579377528c8f8e06d0cbc40f471f6eb2fb4a05b395f6fddbd3f2117674545b2147d8730973b01967ddcd4322a769ba03f9c625417ed35cc39f195a
diff --git a/sys-cluster/ceph/ceph-14.2.8.ebuild b/sys-cluster/ceph/ceph-14.2.8.ebuild
new file mode 100644
index 00000000000..287059ae8ea
--- /dev/null
+++ b/sys-cluster/ceph/ceph-14.2.8.ebuild
@@ -0,0 +1,367 @@
+# 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 ~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 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.72*[threads,context,python,static-libs?,${PYTHON_USEDEP}] )
+ jemalloc? ( dev-libs/jemalloc:=[static-libs?] )
+ !jemalloc? ( >=dev-util/google-perftools-2.6.1:=[static-libs?] )
+ ${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/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="${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}]
+ mgr? (
+ dev-python/more-itertools[${PYTHON_USEDEP}]
+ dev-python/pyjwt[${PYTHON_USEDEP}]
+ dev-python/pyyaml[${PYTHON_USEDEP}]
+ dev-python/routes[${PYTHON_USEDEP}]
+ dev-python/six[${PYTHON_USEDEP}]
+ )
+"
+REQUIRED_USE="
+ ${PYTHON_REQUIRED_USE}
+ mgr? ( cephfs )
+ ?? ( 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.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.8-boost-sonames.patch"
+
+ find "${S}" -name '*.cmake' -or -name 'CMakeLists.txt' -print0 \
+ | xargs --null sed \
+ -e 's|Boost::|Boost_|g' \
+ -e 's|Boost_boost|boost_system|g' -i || die
+ 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.8-boost-sonames.patch b/sys-cluster/ceph/files/ceph-14.2.8-boost-sonames.patch
new file mode 100644
index 00000000000..07def706d78
--- /dev/null
+++ b/sys-cluster/ceph/files/ceph-14.2.8-boost-sonames.patch
@@ -0,0 +1,538 @@
+diff --git a/cmake/modules/BuildBoost.cmake b/cmake/modules/BuildBoost.cmake
+index f99d74a0bc..d1a47bc5d1 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 INTERFACE IMPORTED)
++ set_target_properties(boost PROPERTIES
+ INTERFACE_INCLUDE_DIRECTORIES "${Boost_INCLUDE_DIRS}")
+- add_dependencies(Boost::boost Boost)
++ add_dependencies(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)
+ return()
+ endif()
+ endforeach()
+diff --git a/cmake/modules/FindBoost.cmake b/cmake/modules/FindBoost.cmake
+index bc61995b03..4419632fa4 100644
+--- a/cmake/modules/FindBoost.cmake
++++ b/cmake/modules/FindBoost.cmake
+@@ -293,9 +293,9 @@ function(_boost_get_canonical_target_name component target_var)
+ string(TOLOWER "${component}" component)
+ if(component MATCHES "^([a-z_]*)(python|numpy)([1-9])\\.?([0-9])?$")
+ # handle pythonXY and numpyXY versioned components and also python X.Y, mpi_python etc.
+- set(${target_var} "Boost::${CMAKE_MATCH_1}${CMAKE_MATCH_2}" PARENT_SCOPE)
++ set(${target_var} "boost_${CMAKE_MATCH_1}${CMAKE_MATCH_2}" PARENT_SCOPE)
+ else()
+- set(${target_var} "Boost::${component}" PARENT_SCOPE)
++ set(${target_var} "boost_${component}" PARENT_SCOPE)
+ endif()
+ endfunction()
+
+@@ -403,19 +403,19 @@ function(_boost_set_legacy_variables_from_config)
+ if(WIN32)
+ _boost_set_if_unset(Boost_LIB_DIAGNOSTIC_DEFINITIONS "-DBOOST_LIB_DIAGNOSTIC")
+ endif()
+- if(NOT TARGET Boost::headers)
+- add_library(Boost::headers INTERFACE IMPORTED)
+- target_include_directories(Boost::headers INTERFACE ${Boost_INCLUDE_DIRS})
++ if(NOT TARGET boost_headers)
++ add_library(boost_headers INTERFACE IMPORTED)
++ target_include_directories(boost_headers INTERFACE ${Boost_INCLUDE_DIRS})
+ endif()
+ # Legacy targets w/o functionality as all handled by defined targets
+ foreach(lib diagnostic_definitions disable_autolinking dynamic_linking)
+- if(NOT TARGET Boost::${lib})
+- add_library(Boost::${lib} INTERFACE IMPORTED)
++ if(NOT TARGET boost_${lib})
++ add_library(boost_${lib} INTERFACE IMPORTED)
+ endif()
+ endforeach()
+- if(NOT TARGET Boost::boost)
+- add_library(Boost::boost INTERFACE IMPORTED)
+- target_link_libraries(Boost::boost INTERFACE Boost::headers)
++ if(NOT TARGET boost_boost)
++ add_library(boost_boost INTERFACE IMPORTED)
++ target_link_libraries(boost_boost INTERFACE boost_headers)
+ endif()
+ endfunction()
+
+@@ -580,10 +580,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()
+@@ -1170,7 +1166,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()
+
+ #
+@@ -1254,7 +1250,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()
+
+ #
+@@ -1302,7 +1298,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`.
+@@ -1472,11 +1468,11 @@ _Boost_DEBUG_PRINT_VAR("${CMAKE_CURRENT_LIST_FILE}" "${CMAKE_CURRENT_LIST_LINE}"
+ # 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)
+- set_target_properties(Boost::dynamic_linking PROPERTIES
++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)
++ set_target_properties(boost_dynamic_linking PROPERTIES
+ INTERFACE_COMPILE_DEFINITIONS "BOOST_ALL_DYN_LINK")
+ endif()
+ if(WIN32)
+@@ -1498,9 +1494,9 @@ 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")
+ endif()
+
+@@ -1933,7 +1929,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()
+
+@@ -2234,69 +2230,69 @@ endif()
+ if(Boost_FOUND)
+ # The builtin CMake package in Boost 1.70+ introduces a new name
+ # for the header-only lib, let's provide the same UI in module mode
+- if(NOT TARGET Boost::headers)
+- add_library(Boost::headers INTERFACE IMPORTED)
++ if(NOT TARGET boost_headers)
++ add_library(boost_headers INTERFACE IMPORTED)
+ if(Boost_INCLUDE_DIRS)
+- set_target_properties(Boost::headers PROPERTIES
++ set_target_properties(boost_headers PROPERTIES
+ INTERFACE_INCLUDE_DIRECTORIES "${Boost_INCLUDE_DIRS}")
+ endif()
+ endif()
+
+ # Define the old target name for header-only libraries for backwards
+ # compat.
+- if(NOT TARGET Boost::boost)
+- add_library(Boost::boost INTERFACE IMPORTED)
+- set_target_properties(Boost::boost
+- PROPERTIES INTERFACE_LINK_LIBRARIES Boost::headers)
++ if(NOT TARGET boost_boost)
++ add_library(boost_boost INTERFACE IMPORTED)
++ set_target_properties(boost_boost
++ PROPERTIES INTERFACE_LINK_LIBRARIES boost_headers)
+ 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
+ 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 180e39bc1c..8323aa29a5 100644
+--- a/src/mgr/CMakeLists.txt
++++ b/src/mgr/CMakeLists.txt
+@@ -30,7 +30,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 d184c783de..00740331e3 100644
+--- a/src/rgw/CMakeLists.txt
++++ b/src/rgw/CMakeLists.txt
+@@ -203,7 +203,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)
+@@ -354,7 +354,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/lazy-omap-stats/CMakeLists.txt b/src/test/lazy-omap-stats/CMakeLists.txt
+index fad71f135c..06a3d2d929 100644
+--- a/src/test/lazy-omap-stats/CMakeLists.txt
++++ b/src/test/lazy-omap-stats/CMakeLists.txt
+@@ -4,7 +4,7 @@ add_executable(ceph_test_lazy_omap_stats
+ main.cc
+ lazy_omap_stats_test.cc)
+ target_link_libraries(ceph_test_lazy_omap_stats
+- librados ${UNITTEST_LIBS} Boost::system)
++ librados ${UNITTEST_LIBS} boost_system)
+ install(TARGETS
+ ceph_test_lazy_omap_stats
+ DESTINATION ${CMAKE_INSTALL_BINDIR})
+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/mon/CMakeLists.txt b/src/test/mon/CMakeLists.txt
+index b712e95be7..6225ff3320 100644
+--- a/src/test/mon/CMakeLists.txt
++++ b/src/test/mon/CMakeLists.txt
+@@ -44,7 +44,7 @@ target_link_libraries(unittest_mon_montypes mon global)
+ add_executable(ceph_test_mon_memory_target
+ test_mon_memory_target.cc
+ )
+-target_link_libraries(ceph_test_mon_memory_target ${UNITTEST_LIBS} Boost::system)
++target_link_libraries(ceph_test_mon_memory_target ${UNITTEST_LIBS} boost_system)
+ install(TARGETS ceph_test_mon_memory_target
+ DESTINATION ${CMAKE_INSTALL_BINDIR})
+
+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)
^ permalink raw reply related [flat|nested] 48+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-cluster/ceph/files/, sys-cluster/ceph/
@ 2020-04-23 20:44 Patrick McLean
0 siblings, 0 replies; 48+ messages in thread
From: Patrick McLean @ 2020-04-23 20:44 UTC (permalink / raw
To: gentoo-commits
commit: 1a0923bb23a6efb653d10489cb143221d5c57a42
Author: Patrick McLean <patrick.mclean <AT> sony <DOT> com>
AuthorDate: Thu Apr 23 20:42:03 2020 +0000
Commit: Patrick McLean <chutzpah <AT> gentoo <DOT> org>
CommitDate: Thu Apr 23 20:44:22 2020 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=1a0923bb
sys-cluster/ceph: remove old
Copyright: Sony Interactive Entertainment Inc.
Package-Manager: Portage-2.3.99, Repoman-2.3.22
Signed-off-by: Patrick McLean <chutzpah <AT> gentoo.org>
sys-cluster/ceph/Manifest | 1 -
sys-cluster/ceph/ceph-12.2.12-r2.ebuild | 320 ------------
sys-cluster/ceph/ceph-14.2.8-r1.ebuild | 368 --------------
sys-cluster/ceph/ceph-14.2.8.ebuild | 368 --------------
sys-cluster/ceph/ceph-14.2.9.ebuild | 366 --------------
sys-cluster/ceph/ceph-15.2.1.ebuild | 389 ---------------
.../ceph/files/ceph-14.2.8-boost-sonames.patch | 538 ---------------------
7 files changed, 2350 deletions(-)
diff --git a/sys-cluster/ceph/Manifest b/sys-cluster/ceph/Manifest
index b5d41bfe5a8..4e3cf108066 100644
--- a/sys-cluster/ceph/Manifest
+++ b/sys-cluster/ceph/Manifest
@@ -1,5 +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-14.2.9.tar.gz 128419205 BLAKE2B bace7469d9066a3da7320a0eb894013fae5b7139c15679dddae7df28c593a1029956234a1ba0d3bbdf1639e3a975aa776c695efefb915113a16099c80d563675 SHA512 0a26372d0037c32fe1d24be880e272fcce5089b02adfb0e791e0406155f6e66c913fa43762028f49c1fa3f30c6c8d819c521dd11702a37cc7040dfd3097c068e
DIST ceph-15.2.1.tar.gz 147551715 BLAKE2B fcb5683493431ffc75aced3be7faf5a0486052df695d3133572bb9728fd4863fb88117bd9b13e4bf89c7e4afeea2888bbb252df48b0f52c33ce6202a6f4f7f87 SHA512 01589875078466321aaaeead8d7e21baf670e68c3d1f3168de188f3ad93eada745affb9da30217c8cb4938cbfdbe6bdf6bfd074fe8eb01863e1e8448f06a2304
diff --git a/sys-cluster/ceph/ceph-12.2.12-r2.ebuild b/sys-cluster/ceph/ceph-12.2.12-r2.ebuild
deleted file mode 100644
index 5ce8a64ecb1..00000000000
--- a/sys-cluster/ceph/ceph-12.2.12-r2.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+=" 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="
- 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-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:0=[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/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=$(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="${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-14.2.8-r1.ebuild b/sys-cluster/ceph/ceph-14.2.8-r1.ebuild
deleted file mode 100644
index c2fa46f1c65..00000000000
--- a/sys-cluster/ceph/ceph-14.2.8-r1.ebuild
+++ /dev/null
@@ -1,368 +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 ~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 custom-cflags dpdk fuse grafana jemalloc kerberos ldap"
-IUSE+=" libressl lttng +mgr numa rabbitmq +radosgw +ssl spdk "
-IUSE+=" system-boost 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.72*[threads,context,python,${PYTHON_USEDEP}] )
- jemalloc? ( dev-libs/jemalloc:= )
- !jemalloc? ( >=dev-util/google-perftools-2.6.1:= )
- ${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/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="${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}]
- mgr? (
- dev-python/more-itertools[${PYTHON_USEDEP}]
- dev-python/pyjwt[${PYTHON_USEDEP}]
- dev-python/pyyaml[${PYTHON_USEDEP}]
- dev-python/routes[${PYTHON_USEDEP}]
- dev-python/six[${PYTHON_USEDEP}]
- )
-"
-REQUIRED_USE="
- ${PYTHON_REQUIRED_USE}
- mgr? ( cephfs )
- ?? ( 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.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.8-boost-sonames.patch"
-
- find "${S}" -name '*.cmake' -or -name 'CMakeLists.txt' -print0 \
- | xargs --null sed \
- -e 's|Boost::|Boost_|g' \
- -e 's|Boost_boost|boost_system|g' -i || die
- 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() {
- 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-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/ceph-14.2.8.ebuild b/sys-cluster/ceph/ceph-14.2.8.ebuild
deleted file mode 100644
index 95abd364b0f..00000000000
--- a/sys-cluster/ceph/ceph-14.2.8.ebuild
+++ /dev/null
@@ -1,368 +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 ~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 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="
- 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.72*[threads,context,python,static-libs?,${PYTHON_USEDEP}] )
- jemalloc? ( dev-libs/jemalloc:=[static-libs?] )
- !jemalloc? ( >=dev-util/google-perftools-2.6.1:=[static-libs?] )
- ${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/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="${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}]
- mgr? (
- dev-python/more-itertools[${PYTHON_USEDEP}]
- dev-python/pyjwt[${PYTHON_USEDEP}]
- dev-python/pyyaml[${PYTHON_USEDEP}]
- dev-python/routes[${PYTHON_USEDEP}]
- dev-python/six[${PYTHON_USEDEP}]
- )
-"
-REQUIRED_USE="
- ${PYTHON_REQUIRED_USE}
- mgr? ( cephfs )
- ?? ( 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.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.8-boost-sonames.patch"
-
- find "${S}" -name '*.cmake' -or -name 'CMakeLists.txt' -print0 \
- | xargs --null sed \
- -e 's|Boost::|Boost_|g' \
- -e 's|Boost_boost|boost_system|g' -i || die
- 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() {
- 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-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/ceph-14.2.9.ebuild b/sys-cluster/ceph/ceph-14.2.9.ebuild
deleted file mode 100644
index 75b01167a71..00000000000
--- a/sys-cluster/ceph/ceph-14.2.9.ebuild
+++ /dev/null
@@ -1,366 +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 ~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 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="
- 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.72*[threads,context,python,static-libs?,${PYTHON_USEDEP}] )
- jemalloc? ( dev-libs/jemalloc:=[static-libs?] )
- !jemalloc? ( >=dev-util/google-perftools-2.6.1:=[static-libs?] )
- ${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/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="${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}]
- mgr? (
- dev-python/more-itertools[${PYTHON_USEDEP}]
- dev-python/pyjwt[${PYTHON_USEDEP}]
- dev-python/pyyaml[${PYTHON_USEDEP}]
- dev-python/routes[${PYTHON_USEDEP}]
- dev-python/six[${PYTHON_USEDEP}]
- )
-"
-REQUIRED_USE="
- ${PYTHON_REQUIRED_USE}
- mgr? ( cephfs )
- ?? ( 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.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
- find "${S}" -name '*.cmake' -or -name 'CMakeLists.txt' -print0 \
- | xargs --null sed \
- -e 's|Boost::|boost_|g' \
- -e 's|boost_boost|boost_system|g' -i || die
- 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() {
- 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-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/ceph-15.2.1.ebuild b/sys-cluster/ceph/ceph-15.2.1.ebuild
deleted file mode 100644
index 08f7ccfa694..00000000000
--- a/sys-cluster/ceph/ceph-15.2.1.ebuild
+++ /dev/null
@@ -1,389 +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-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"
-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 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="
- 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/libfmt:=
- dev-libs/libnl:3=[static-libs?]
- dev-libs/libxml2:=[static-libs?]
- dev-libs/xmlsec:=[!openssl?,!libressl?,static-libs?]
- dev-cpp/yaml-cpp:=
- 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
- sys-apps/util-linux
- 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 )
- 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?] )
- radosgw? (
- dev-libs/expat:=[static-libs?]
- openssl? (
- 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?]
- )
- )
- 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}] )
- uring? ( sys-libs/liburing:=[static-libs?] )
- xfs? ( sys-fs/xfsprogs:=[static-libs(+)?] )
- zfs? ( sys-fs/zfs:=[static-libs?] )
- ${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="${COMMON_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/scipy[${PYTHON_USEDEP}]
- sci-libs/scikits_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 )"
-
-# 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-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"
-)
-
-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
- 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
-
- # 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_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=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=$(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=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"
- )
- 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() {
- 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-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.8-boost-sonames.patch b/sys-cluster/ceph/files/ceph-14.2.8-boost-sonames.patch
deleted file mode 100644
index 07def706d78..00000000000
--- a/sys-cluster/ceph/files/ceph-14.2.8-boost-sonames.patch
+++ /dev/null
@@ -1,538 +0,0 @@
-diff --git a/cmake/modules/BuildBoost.cmake b/cmake/modules/BuildBoost.cmake
-index f99d74a0bc..d1a47bc5d1 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 INTERFACE IMPORTED)
-+ set_target_properties(boost PROPERTIES
- INTERFACE_INCLUDE_DIRECTORIES "${Boost_INCLUDE_DIRS}")
-- add_dependencies(Boost::boost Boost)
-+ add_dependencies(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)
- return()
- endif()
- endforeach()
-diff --git a/cmake/modules/FindBoost.cmake b/cmake/modules/FindBoost.cmake
-index bc61995b03..4419632fa4 100644
---- a/cmake/modules/FindBoost.cmake
-+++ b/cmake/modules/FindBoost.cmake
-@@ -293,9 +293,9 @@ function(_boost_get_canonical_target_name component target_var)
- string(TOLOWER "${component}" component)
- if(component MATCHES "^([a-z_]*)(python|numpy)([1-9])\\.?([0-9])?$")
- # handle pythonXY and numpyXY versioned components and also python X.Y, mpi_python etc.
-- set(${target_var} "Boost::${CMAKE_MATCH_1}${CMAKE_MATCH_2}" PARENT_SCOPE)
-+ set(${target_var} "boost_${CMAKE_MATCH_1}${CMAKE_MATCH_2}" PARENT_SCOPE)
- else()
-- set(${target_var} "Boost::${component}" PARENT_SCOPE)
-+ set(${target_var} "boost_${component}" PARENT_SCOPE)
- endif()
- endfunction()
-
-@@ -403,19 +403,19 @@ function(_boost_set_legacy_variables_from_config)
- if(WIN32)
- _boost_set_if_unset(Boost_LIB_DIAGNOSTIC_DEFINITIONS "-DBOOST_LIB_DIAGNOSTIC")
- endif()
-- if(NOT TARGET Boost::headers)
-- add_library(Boost::headers INTERFACE IMPORTED)
-- target_include_directories(Boost::headers INTERFACE ${Boost_INCLUDE_DIRS})
-+ if(NOT TARGET boost_headers)
-+ add_library(boost_headers INTERFACE IMPORTED)
-+ target_include_directories(boost_headers INTERFACE ${Boost_INCLUDE_DIRS})
- endif()
- # Legacy targets w/o functionality as all handled by defined targets
- foreach(lib diagnostic_definitions disable_autolinking dynamic_linking)
-- if(NOT TARGET Boost::${lib})
-- add_library(Boost::${lib} INTERFACE IMPORTED)
-+ if(NOT TARGET boost_${lib})
-+ add_library(boost_${lib} INTERFACE IMPORTED)
- endif()
- endforeach()
-- if(NOT TARGET Boost::boost)
-- add_library(Boost::boost INTERFACE IMPORTED)
-- target_link_libraries(Boost::boost INTERFACE Boost::headers)
-+ if(NOT TARGET boost_boost)
-+ add_library(boost_boost INTERFACE IMPORTED)
-+ target_link_libraries(boost_boost INTERFACE boost_headers)
- endif()
- endfunction()
-
-@@ -580,10 +580,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()
-@@ -1170,7 +1166,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()
-
- #
-@@ -1254,7 +1250,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()
-
- #
-@@ -1302,7 +1298,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`.
-@@ -1472,11 +1468,11 @@ _Boost_DEBUG_PRINT_VAR("${CMAKE_CURRENT_LIST_FILE}" "${CMAKE_CURRENT_LIST_LINE}"
- # 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)
-- set_target_properties(Boost::dynamic_linking PROPERTIES
-+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)
-+ set_target_properties(boost_dynamic_linking PROPERTIES
- INTERFACE_COMPILE_DEFINITIONS "BOOST_ALL_DYN_LINK")
- endif()
- if(WIN32)
-@@ -1498,9 +1494,9 @@ 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")
- endif()
-
-@@ -1933,7 +1929,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()
-
-@@ -2234,69 +2230,69 @@ endif()
- if(Boost_FOUND)
- # The builtin CMake package in Boost 1.70+ introduces a new name
- # for the header-only lib, let's provide the same UI in module mode
-- if(NOT TARGET Boost::headers)
-- add_library(Boost::headers INTERFACE IMPORTED)
-+ if(NOT TARGET boost_headers)
-+ add_library(boost_headers INTERFACE IMPORTED)
- if(Boost_INCLUDE_DIRS)
-- set_target_properties(Boost::headers PROPERTIES
-+ set_target_properties(boost_headers PROPERTIES
- INTERFACE_INCLUDE_DIRECTORIES "${Boost_INCLUDE_DIRS}")
- endif()
- endif()
-
- # Define the old target name for header-only libraries for backwards
- # compat.
-- if(NOT TARGET Boost::boost)
-- add_library(Boost::boost INTERFACE IMPORTED)
-- set_target_properties(Boost::boost
-- PROPERTIES INTERFACE_LINK_LIBRARIES Boost::headers)
-+ if(NOT TARGET boost_boost)
-+ add_library(boost_boost INTERFACE IMPORTED)
-+ set_target_properties(boost_boost
-+ PROPERTIES INTERFACE_LINK_LIBRARIES boost_headers)
- 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
- 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 180e39bc1c..8323aa29a5 100644
---- a/src/mgr/CMakeLists.txt
-+++ b/src/mgr/CMakeLists.txt
-@@ -30,7 +30,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 d184c783de..00740331e3 100644
---- a/src/rgw/CMakeLists.txt
-+++ b/src/rgw/CMakeLists.txt
-@@ -203,7 +203,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)
-@@ -354,7 +354,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/lazy-omap-stats/CMakeLists.txt b/src/test/lazy-omap-stats/CMakeLists.txt
-index fad71f135c..06a3d2d929 100644
---- a/src/test/lazy-omap-stats/CMakeLists.txt
-+++ b/src/test/lazy-omap-stats/CMakeLists.txt
-@@ -4,7 +4,7 @@ add_executable(ceph_test_lazy_omap_stats
- main.cc
- lazy_omap_stats_test.cc)
- target_link_libraries(ceph_test_lazy_omap_stats
-- librados ${UNITTEST_LIBS} Boost::system)
-+ librados ${UNITTEST_LIBS} boost_system)
- install(TARGETS
- ceph_test_lazy_omap_stats
- DESTINATION ${CMAKE_INSTALL_BINDIR})
-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/mon/CMakeLists.txt b/src/test/mon/CMakeLists.txt
-index b712e95be7..6225ff3320 100644
---- a/src/test/mon/CMakeLists.txt
-+++ b/src/test/mon/CMakeLists.txt
-@@ -44,7 +44,7 @@ target_link_libraries(unittest_mon_montypes mon global)
- add_executable(ceph_test_mon_memory_target
- test_mon_memory_target.cc
- )
--target_link_libraries(ceph_test_mon_memory_target ${UNITTEST_LIBS} Boost::system)
-+target_link_libraries(ceph_test_mon_memory_target ${UNITTEST_LIBS} boost_system)
- install(TARGETS ceph_test_mon_memory_target
- DESTINATION ${CMAKE_INSTALL_BINDIR})
-
-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)
^ permalink raw reply related [flat|nested] 48+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-cluster/ceph/files/, sys-cluster/ceph/
@ 2020-05-28 19:09 Patrick McLean
0 siblings, 0 replies; 48+ messages in thread
From: Patrick McLean @ 2020-05-28 19:09 UTC (permalink / raw
To: gentoo-commits
commit: c8077590d4fd447e07508c7e511e9190920f0ca8
Author: Patrick McLean <patrick.mclean <AT> sony <DOT> com>
AuthorDate: Thu May 28 19:08:53 2020 +0000
Commit: Patrick McLean <chutzpah <AT> gentoo <DOT> org>
CommitDate: Thu May 28 19:09:22 2020 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=c8077590
sys-cluster/ceph-15.2.2-r1: Revbump, fix bugs #724508 and #724438
Adds a "diskprediction" USE flag to enable diskprediction_local since it
forces an old scipy (forcing off python3_8) (bug #724438)
Fixes up the systemd unit and adds a tmpfiles entry (bug #724508)
Closes: https://bugs.gentoo.org/724508
Closes: https://bugs.gentoo.org/724438
Copyright: Sony Interactive Entertainment Inc.
Package-Manager: Portage-2.3.100, Repoman-2.3.22
Signed-off-by: Patrick McLean <chutzpah <AT> gentoo.org>
.../{ceph-15.2.2.ebuild => ceph-15.2.2-r1.ebuild} | 30 +++++++++++++++-------
.../ceph/files/ceph-15.2.2-systemd-unit.patch | 12 +++++++++
sys-cluster/ceph/files/ceph-tmpfilesd | 1 +
sys-cluster/ceph/metadata.xml | 1 +
4 files changed, 35 insertions(+), 9 deletions(-)
diff --git a/sys-cluster/ceph/ceph-15.2.2.ebuild b/sys-cluster/ceph/ceph-15.2.2-r1.ebuild
similarity index 92%
rename from sys-cluster/ceph/ceph-15.2.2.ebuild
rename to sys-cluster/ceph/ceph-15.2.2-r1.ebuild
index 2d9f2924eca..d8466689267 100644
--- a/sys-cluster/ceph/ceph-15.2.2.ebuild
+++ b/sys-cluster/ceph/ceph-15.2.2-r1.ebuild
@@ -9,7 +9,7 @@ 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
+ systemd tmpfiles
if [[ ${PV} == *9999* ]]; then
inherit git-r3
@@ -28,9 +28,9 @@ SLOT="0"
CPU_FLAGS_X86=(sse{,2,3,4_1,4_2} ssse3)
-IUSE="babeltrace +cephfs custom-cflags 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="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[@]})"
COMMON_DEPEND="
@@ -153,18 +153,22 @@ RDEPEND="${COMMON_DEPEND}
dev-python/pyjwt[${PYTHON_USEDEP}]
dev-python/pyyaml[${PYTHON_USEDEP}]
dev-python/routes[${PYTHON_USEDEP}]
- sci-libs/scipy[${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 )
- rabbitmq? ( radosgw )
mgr? ( cephfs )
- ?? ( jemalloc tcmalloc )
rabbitmq? ( radosgw )
"
RESTRICT="!test? ( test )"
@@ -189,10 +193,11 @@ PATCHES=(
"${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"
)
check-reqs_export_vars() {
- CHECKREQS_DISK_BUILD="5.2G"
+ CHECKREQS_DISK_BUILD="5200M"
CHECKREQS_DISK_USR="510M"
export CHECKREQS_DISK_BUILD CHECKREQS_DISK_USR
@@ -223,6 +228,10 @@ src_prepare() {
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
}
@@ -262,6 +271,7 @@ ceph_src_configure() {
-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"
@@ -356,13 +366,15 @@ src_install() {
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 'python3*'
+ python_setup
# bug #630232
sed -i -r "s:${T//:/\\:}/${EPYTHON}:/usr:" "${ED}"/usr/bin/ceph{,-crash} \
diff --git a/sys-cluster/ceph/files/ceph-15.2.2-systemd-unit.patch b/sys-cluster/ceph/files/ceph-15.2.2-systemd-unit.patch
new file mode 100644
index 00000000000..fdd3a6ac2ac
--- /dev/null
+++ b/sys-cluster/ceph/files/ceph-15.2.2-systemd-unit.patch
@@ -0,0 +1,12 @@
+diff -ur ceph-15.2.2/systemd/ceph-osd@.service.in ceph-15.2.2.af/systemd/ceph-osd@.service.in
+--- ceph-15.2.2/systemd/ceph-osd@.service.in 2020-05-18 16:25:12.000000000 +0000
++++ ceph-15.2.2.af/systemd/ceph-osd@.service.in 2020-05-21 21:20:58.318655944 +0000
+@@ -10,7 +10,7 @@
+ 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=/usr/libexec/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-tmpfilesd b/sys-cluster/ceph/files/ceph-tmpfilesd
new file mode 100644
index 00000000000..2ded82f5f65
--- /dev/null
+++ b/sys-cluster/ceph/files/ceph-tmpfilesd
@@ -0,0 +1 @@
+d /run/ceph 0770 ceph ceph -
diff --git a/sys-cluster/ceph/metadata.xml b/sys-cluster/ceph/metadata.xml
index dcf0de05f77..b29a383d9b5 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="diskprediction">Enable local diskprediction module to predict disk failures</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>
^ permalink raw reply related [flat|nested] 48+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-cluster/ceph/files/, sys-cluster/ceph/
@ 2020-06-01 19:14 Patrick McLean
0 siblings, 0 replies; 48+ messages in thread
From: Patrick McLean @ 2020-06-01 19:14 UTC (permalink / raw
To: gentoo-commits
commit: 8f0f8a7ad1f00acef2416ea918d0b6ed978a8e63
Author: Patrick McLean <patrick.mclean <AT> sony <DOT> com>
AuthorDate: Mon Jun 1 19:14:09 2020 +0000
Commit: Patrick McLean <chutzpah <AT> gentoo <DOT> org>
CommitDate: Mon Jun 1 19:14:48 2020 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=8f0f8a7a
sys-cluster/ceph-15.2.3: Fix build with USE=spdk
Copyright: Sony Interactive Entertainment Inc.
Package-Manager: Portage-2.3.100, Repoman-2.3.22
Signed-off-by: Patrick McLean <chutzpah <AT> gentoo.org>
sys-cluster/ceph/ceph-15.2.3.ebuild | 1 +
sys-cluster/ceph/files/ceph-15.2.3-spdk-compile.patch | 9 +++++++++
2 files changed, 10 insertions(+)
diff --git a/sys-cluster/ceph/ceph-15.2.3.ebuild b/sys-cluster/ceph/ceph-15.2.3.ebuild
index 6b0fa3f4c3b..dc22c44fea6 100644
--- a/sys-cluster/ceph/ceph-15.2.3.ebuild
+++ b/sys-cluster/ceph/ceph-15.2.3.ebuild
@@ -194,6 +194,7 @@ PATCHES=(
"${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"
)
check-reqs_export_vars() {
diff --git a/sys-cluster/ceph/files/ceph-15.2.3-spdk-compile.patch b/sys-cluster/ceph/files/ceph-15.2.3-spdk-compile.patch
new file mode 100644
index 00000000000..3ea6eadbb86
--- /dev/null
+++ b/sys-cluster/ceph/files/ceph-15.2.3-spdk-compile.patch
@@ -0,0 +1,9 @@
+--- ceph-15.2.3.orig/cmake/modules/BuildSPDK.cmake 2020-05-29 09:24:50.000000000 -0700
++++ ceph-15.2.3/cmake/modules/BuildSPDK.cmake 2020-06-01 10:36:14.629306433 -0700
+@@ -1,5 +1,5 @@
+ macro(build_spdk)
+- set(DPDK_DIR ${CMAKE_BINARY_DIR}/src/dpdk)
++ set(DPDK_DIR ${CMAKE_SOURCE_DIR}/src/dpdk)
+ if(NOT TARGET dpdk-ext)
+ include(BuildDPDK)
+ build_dpdk(${DPDK_DIR})
^ permalink raw reply related [flat|nested] 48+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-cluster/ceph/files/, sys-cluster/ceph/
@ 2020-06-27 20:00 Patrick McLean
0 siblings, 0 replies; 48+ messages in thread
From: Patrick McLean @ 2020-06-27 20:00 UTC (permalink / raw
To: gentoo-commits
commit: e98b9305296a9f98342559a50e29834ad12b1c0b
Author: Patrick McLean <patrick.mclean <AT> sony <DOT> com>
AuthorDate: Sat Jun 27 07:47:57 2020 +0000
Commit: Patrick McLean <chutzpah <AT> gentoo <DOT> org>
CommitDate: Sat Jun 27 19:59:14 2020 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=e98b9305
sys-cluster/ceph-14.2.10: Version bump
This release includes the diskprediction code, so add the USE flag for
that. Also move from cmake-utils.eclass to cmake.eclass.
Copyright: Sony Interactive Entertainment Inc.
Package-Manager: Portage-2.3.103, Repoman-2.3.23
Signed-off-by: Patrick McLean <chutzpah <AT> gentoo.org>
sys-cluster/ceph/Manifest | 1 +
sys-cluster/ceph/ceph-14.2.10.ebuild | 392 +++++++++++++++++++++
.../ceph/files/ceph-14.2.10-missing-includes.patch | 26 ++
.../ceph/files/ceph-14.2.10-python-warnings.patch | 31 ++
4 files changed, 450 insertions(+)
diff --git a/sys-cluster/ceph/Manifest b/sys-cluster/ceph/Manifest
index f3022f2a86f..8c2cc97fb01 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.10.tar.gz 129274835 BLAKE2B b3f14897db478418b982281bf367a0c497cdfa8991a73e277b5582663c159550f3eff5bdc78a506e267eae8d59c59b19b8a9294802cb532fd7dfa9f612ed0e53 SHA512 5ec95b933a360183f89404446c5e1912a81853dfb1134bb8868bc6675a0185420c2bf1eba72308014a008f617aeb8733d51eb8c8eea5d472c32514cf483f4ea6
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.10.ebuild b/sys-cluster/ceph/ceph-14.2.10.ebuild
new file mode 100644
index 00000000000..b9bca5dfb76
--- /dev/null
+++ b/sys-cluster/ceph/ceph-14.2.10.ebuild
@@ -0,0 +1,392 @@
+# 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-utils distutils-r1 flag-o-matic \
+ multiprocessing 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[@]})"
+
+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/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="${COMMON_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 '<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"
+
+# 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"
+)
+
+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-utils_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_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=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
+
+ 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() {
+ 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-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
+ 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..59663028cfa
--- /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 <ostream>
+ #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 {
+
diff --git a/sys-cluster/ceph/files/ceph-14.2.10-python-warnings.patch b/sys-cluster/ceph/files/ceph-14.2.10-python-warnings.patch
new file mode 100644
index 00000000000..8be3e509a1c
--- /dev/null
+++ b/sys-cluster/ceph/files/ceph-14.2.10-python-warnings.patch
@@ -0,0 +1,31 @@
+diff --git a/src/pybind/ceph_volume_client.py b/src/pybind/ceph_volume_client.py
+index 7d7e5b49e4..9a1ba80e69 100644
+--- a/src/pybind/ceph_volume_client.py
++++ b/src/pybind/ceph_volume_client.py
+@@ -355,7 +355,7 @@ class CephFSVolumeClient(object):
+ continue
+
+ (group_id, volume_id) = volume.split('/')
+- group_id = group_id if group_id is not 'None' else None
++ group_id = group_id if group_id != 'None' else None
+ volume_path = VolumePath(group_id, volume_id)
+ access_level = volume_data['access_level']
+
+@@ -378,7 +378,7 @@ class CephFSVolumeClient(object):
+ if vol_meta['auths'][auth_id] == want_auth:
+ continue
+
+- readonly = True if access_level is 'r' else False
++ readonly = True if access_level == 'r' else False
+ self._authorize_volume(volume_path, auth_id, readonly)
+
+ # Recovered from partial auth updates for the auth ID's access
+@@ -1120,7 +1120,7 @@ class CephFSVolumeClient(object):
+
+ # Construct auth caps that if present might conflict with the desired
+ # auth caps.
+- unwanted_access_level = 'r' if want_access_level is 'rw' else 'rw'
++ unwanted_access_level = 'r' if want_access_level == 'rw' else 'rw'
+ unwanted_mds_cap = 'allow {0} path={1}'.format(unwanted_access_level, path)
+ if namespace:
+ unwanted_osd_cap = 'allow {0} pool={1} namespace={2}'.format(
^ permalink raw reply related [flat|nested] 48+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-cluster/ceph/files/, sys-cluster/ceph/
@ 2020-07-20 20:10 Patrick McLean
0 siblings, 0 replies; 48+ messages in thread
From: Patrick McLean @ 2020-07-20 20:10 UTC (permalink / raw
To: gentoo-commits
commit: 2eae111954e16b5efa850296d4ebe53a13692c71
Author: Patrick McLean <patrick.mclean <AT> sony <DOT> com>
AuthorDate: Mon Jul 20 20:10:41 2020 +0000
Commit: Patrick McLean <chutzpah <AT> gentoo <DOT> org>
CommitDate: Mon Jul 20 20:10:41 2020 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=2eae1119
sys-cluster/ceph: Use RelWithDebInfo cmake build type (bug 733316)
Closes: https://bugs.gentoo.org/733316
Copyright: Sony Interactive Entertainment Inc.
Package-Manager: Portage-2.3.103, Repoman-2.3.23
Signed-off-by: Patrick McLean <chutzpah <AT> gentoo.org>
sys-cluster/ceph/{ceph-14.2.10.ebuild => ceph-14.2.10-r1.ebuild} | 3 +++
sys-cluster/ceph/{ceph-15.2.4.ebuild => ceph-15.2.4-r1.ebuild} | 3 +++
sys-cluster/ceph/files/ceph-14.2.10-missing-includes.patch | 2 +-
3 files changed, 7 insertions(+), 1 deletion(-)
diff --git a/sys-cluster/ceph/ceph-14.2.10.ebuild b/sys-cluster/ceph/ceph-14.2.10-r1.ebuild
similarity index 99%
rename from sys-cluster/ceph/ceph-14.2.10.ebuild
rename to sys-cluster/ceph/ceph-14.2.10-r1.ebuild
index f335155f0e1..a074166f6b2 100644
--- a/sys-cluster/ceph/ceph-14.2.10.ebuild
+++ b/sys-cluster/ceph/ceph-14.2.10-r1.ebuild
@@ -173,6 +173,9 @@ 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
diff --git a/sys-cluster/ceph/ceph-15.2.4.ebuild b/sys-cluster/ceph/ceph-15.2.4-r1.ebuild
similarity index 99%
rename from sys-cluster/ceph/ceph-15.2.4.ebuild
rename to sys-cluster/ceph/ceph-15.2.4-r1.ebuild
index dc446889a8f..78786763b46 100644
--- a/sys-cluster/ceph/ceph-15.2.4.ebuild
+++ b/sys-cluster/ceph/ceph-15.2.4-r1.ebuild
@@ -178,6 +178,9 @@ 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
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
index 59663028cfa..aaa6ee080a3 100644
--- a/sys-cluster/ceph/files/ceph-14.2.10-missing-includes.patch
+++ b/sys-cluster/ceph/files/ceph-14.2.10-missing-includes.patch
@@ -7,7 +7,7 @@ index c4c24f6a75..b5631e8b84 100644
#define CEPH_COMMON_BIT_STR_H
+#include <cstdint>
-+#include <ostream>
++#include <iosfwd>
#include <functional>
namespace ceph {
^ permalink raw reply related [flat|nested] 48+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-cluster/ceph/files/, sys-cluster/ceph/
@ 2020-08-05 0:16 Patrick McLean
0 siblings, 0 replies; 48+ messages in thread
From: Patrick McLean @ 2020-08-05 0:16 UTC (permalink / raw
To: gentoo-commits
commit: 113190b93664650497e2a1ee8e503b27ca19a199
Author: Patrick McLean <patrick.mclean <AT> sony <DOT> com>
AuthorDate: Wed Aug 5 00:14:59 2020 +0000
Commit: Patrick McLean <chutzpah <AT> gentoo <DOT> org>
CommitDate: Wed Aug 5 00:16:30 2020 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=113190b9
sys-cluster/ceph-15.2.4-r3: revbump, fix deps, fix build with USE=uring
Copyright: Sony Interactive Entertainment Inc.
Package-Manager: Portage-3.0.1, Repoman-2.3.23
Signed-off-by: Patrick McLean <chutzpah <AT> gentoo.org>
...ceph-15.2.4-r2.ebuild => ceph-15.2.4-r3.ebuild} | 5 +-
.../ceph/files/ceph-15.2.4-system-uring.patch | 66 ++++++++++++++++++++++
2 files changed, 69 insertions(+), 2 deletions(-)
diff --git a/sys-cluster/ceph/ceph-15.2.4-r2.ebuild b/sys-cluster/ceph/ceph-15.2.4-r3.ebuild
similarity index 99%
rename from sys-cluster/ceph/ceph-15.2.4-r2.ebuild
rename to sys-cluster/ceph/ceph-15.2.4-r3.ebuild
index b497a432952..a81fe959935 100644
--- a/sys-cluster/ceph/ceph-15.2.4-r2.ebuild
+++ b/sys-cluster/ceph/ceph-15.2.4-r3.ebuild
@@ -32,7 +32,7 @@ IUSE="babeltrace +cephfs custom-cflags diskprediction dpdk fuse grafana jemalloc
rbd-rwl +ssl spdk system-boost systemd +tcmalloc test uring xfs zfs"
IUSE+=" $(printf "cpu_flags_x86_%s\n" ${CPU_FLAGS_X86[@]})"
-COMMON_DEPEND="
+DEPEND="
acct-group/ceph
acct-user/ceph
virtual/libudev:=
@@ -124,7 +124,7 @@ BDEPEND="
sys-fs/btrfs-progs
)
"
-RDEPEND="${COMMON_DEPEND}
+RDEPEND="${DEPEND}
app-admin/sudo
net-misc/socat
sys-apps/gptfdisk
@@ -198,6 +198,7 @@ PATCHES=(
"${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"
)
check-reqs_export_vars() {
diff --git a/sys-cluster/ceph/files/ceph-15.2.4-system-uring.patch b/sys-cluster/ceph/files/ceph-15.2.4-system-uring.patch
new file mode 100644
index 00000000000..64df81bf97b
--- /dev/null
+++ b/sys-cluster/ceph/files/ceph-15.2.4-system-uring.patch
@@ -0,0 +1,66 @@
+diff --git a/src/os/CMakeLists.txt b/src/os/CMakeLists.txt
+index 760244b9b4..7f83923671 100644
+--- a/src/os/CMakeLists.txt
++++ b/src/os/CMakeLists.txt
+@@ -134,27 +134,6 @@ if(WITH_EVENTTRACE)
+ endif()
+
+ if(WITH_LIBURING)
+- include(ExternalProject)
+- if("${CMAKE_GENERATOR}" MATCHES "Make")
+- set(make_cmd "$(MAKE)")
+- else()
+- set(make_cmd "make")
+- endif()
+- ExternalProject_Add(liburing_ext
+- DOWNLOAD_DIR ${CMAKE_BINARY_DIR}/src/
+- GIT_REPOSITORY http://git.kernel.dk/liburing
+- GIT_TAG "4e360f71131918c36774f51688e5c65dea8d43f2"
+- SOURCE_DIR ${CMAKE_BINARY_DIR}/src/liburing
+- CONFIGURE_COMMAND <SOURCE_DIR>/configure
+- BUILD_COMMAND env CC=${CMAKE_C_COMPILER} ${make_cmd} -C src -s
+- BUILD_IN_SOURCE 1
+- INSTALL_COMMAND "")
+- unset(make_cmd)
+- add_library(liburing STATIC IMPORTED GLOBAL)
+- add_dependencies(liburing liburing_ext)
+- set_target_properties(liburing PROPERTIES
+- IMPORTED_LINK_INTERFACE_LANGUAGES "C"
+- IMPORTED_LOCATION "${CMAKE_BINARY_DIR}/src/liburing/src/liburing.a")
+- target_link_libraries(os liburing)
+- target_include_directories(os SYSTEM PRIVATE "${CMAKE_BINARY_DIR}/src/liburing/src/include")
++ pkg_check_modules(LIBURING REQUIRED IMPORTED_TARGET liburing)
++ target_link_libraries(os uring)
+ endif(WITH_LIBURING)
+diff --git a/src/os/bluestore/io_uring.cc b/src/os/bluestore/io_uring.cc
+index 54fa0f9535..4ba83cf172 100644
+--- a/src/os/bluestore/io_uring.cc
++++ b/src/os/bluestore/io_uring.cc
+@@ -7,6 +7,8 @@
+
+ #include "liburing.h"
+ #include <sys/epoll.h>
++#include <unistd.h>
++#include <sys/syscall.h>
+
+ /* Options */
+
+@@ -134,8 +136,7 @@ int ioring_queue_t::init(std::vector<int> &fds)
+ if (ret < 0)
+ return ret;
+
+- ret = io_uring_register(d->io_uring.ring_fd, IORING_REGISTER_FILES,
+- &fds[0], fds.size());
++ ret = io_uring_register_files(&d->io_uring, &fds[0], fds.size());
+ if (ret < 0) {
+ ret = -errno;
+ goto close_ring_fd;
+@@ -214,7 +215,7 @@ bool ioring_queue_t::supported()
+ struct io_uring_params p;
+
+ memset(&p, 0, sizeof(p));
+- int fd = io_uring_setup(16, &p);
++ int fd = syscall(SYS_io_uring_setup, 16, &p);
+ if (fd < 0)
+ return false;
+
^ permalink raw reply related [flat|nested] 48+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-cluster/ceph/files/, sys-cluster/ceph/
@ 2020-10-02 11:37 Vadim Misbakh-Soloviov
0 siblings, 0 replies; 48+ messages in thread
From: Vadim Misbakh-Soloviov @ 2020-10-02 11:37 UTC (permalink / raw
To: gentoo-commits
commit: 8430cafd2d19ed29b89829b7d61a033dbf55005b
Author: Vadim Misbakh-Soloviov <mva <AT> gentoo <DOT> org>
AuthorDate: Fri Oct 2 11:37:33 2020 +0000
Commit: Vadim Misbakh-Soloviov <mva <AT> gentoo <DOT> org>
CommitDate: Fri Oct 2 11:37:33 2020 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=8430cafd
sys-cluster/ceph: fix building with glibc-2.32
Bug: https://bugs.gentoo.org/739042
Package-Manager: Portage-3.0.6, Repoman-3.0.1
Signed-off-by: Vadim Misbakh-Soloviov <mva <AT> gentoo.org>
sys-cluster/ceph/ceph-15.2.4-r3.ebuild | 1 +
sys-cluster/ceph/ceph-15.2.5-r1.ebuild | 1 +
sys-cluster/ceph/files/ceph-15.2.5-glibc-2.32.patch | 15 +++++++++++++++
3 files changed, 17 insertions(+)
diff --git a/sys-cluster/ceph/ceph-15.2.4-r3.ebuild b/sys-cluster/ceph/ceph-15.2.4-r3.ebuild
index d3903349156..5a32d2f3787 100644
--- a/sys-cluster/ceph/ceph-15.2.4-r3.ebuild
+++ b/sys-cluster/ceph/ceph-15.2.4-r3.ebuild
@@ -199,6 +199,7 @@ PATCHES=(
"${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() {
diff --git a/sys-cluster/ceph/ceph-15.2.5-r1.ebuild b/sys-cluster/ceph/ceph-15.2.5-r1.ebuild
index e86923bb252..ace42c44650 100644
--- a/sys-cluster/ceph/ceph-15.2.5-r1.ebuild
+++ b/sys-cluster/ceph/ceph-15.2.5-r1.ebuild
@@ -201,6 +201,7 @@ PATCHES=(
"${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"
+ "${FILESDIR}/ceph-15.2.5-glibc-2.32.patch"
)
check-reqs_export_vars() {
diff --git a/sys-cluster/ceph/files/ceph-15.2.5-glibc-2.32.patch b/sys-cluster/ceph/files/ceph-15.2.5-glibc-2.32.patch
new file mode 100644
index 00000000000..f8f7fad8b65
--- /dev/null
+++ b/sys-cluster/ceph/files/ceph-15.2.5-glibc-2.32.patch
@@ -0,0 +1,15 @@
+diff -NaurBwdp a/src/global/signal_handler.h src/global/b/signal_handler.h
+--- a/src/global/signal_handler.h 2020-10-01 03:15:48.208164979 +0700
++++ b/src/global/signal_handler.h 2020-10-01 03:15:40.655244081 +0700
+@@ -20,11 +20,7 @@
+
+ typedef void (*signal_handler_t)(int);
+
+-#ifndef HAVE_REENTRANT_STRSIGNAL
+-# define sig_str(signum) sys_siglist[signum]
+-#else
+ # define sig_str(signum) strsignal(signum)
+-#endif
+
+ void install_sighandler(int signum, signal_handler_t handler, int flags);
+
^ permalink raw reply related [flat|nested] 48+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-cluster/ceph/files/, sys-cluster/ceph/
@ 2021-02-26 0:44 Patrick McLean
0 siblings, 0 replies; 48+ messages in thread
From: Patrick McLean @ 2021-02-26 0:44 UTC (permalink / raw
To: gentoo-commits
commit: 113ee30b5fbc92ced3160824d5d7c0dd2881e40a
Author: Patrick McLean <patrick.mclean <AT> sony <DOT> com>
AuthorDate: Fri Feb 26 00:35:22 2021 +0000
Commit: Patrick McLean <chutzpah <AT> gentoo <DOT> org>
CommitDate: Fri Feb 26 00:44:08 2021 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=113ee30b
sys-cluster/ceph-15.2.9: Version bump
- Add patch to avoid SSE 4.1 functions when SSE 4.1 is disabled (bug
#701618)
- Don't call objdump directly (bug #733814)
- Drop libressl support (closes bug #724522)
- Add a dep on the new pmdk package (bug #52177)
Closes: https://bugs.gentoo.org/701618
Bug: https://bugs.gentoo.org/733814
Closes: https://bugs.gentoo.org/724522
Closes: https://bugs.gentoo.org/752177
Copyright: Sony Interactive Entertainment Inc.
Package-Manager: Portage-3.0.15, Repoman-3.0.2
Signed-off-by: Patrick McLean <chutzpah <AT> gentoo.org>
sys-cluster/ceph/Manifest | 1 +
sys-cluster/ceph/ceph-15.2.9.ebuild | 405 +++++++++++++++++++++
...ompile-isal_compress-if-don-t-have-SSE4_1.patch | 22 ++
sys-cluster/ceph/files/rbdmap.initd-r1 | 122 +++++++
4 files changed, 550 insertions(+)
diff --git a/sys-cluster/ceph/Manifest b/sys-cluster/ceph/Manifest
index 34eb0178d51..a920d9ddde8 100644
--- a/sys-cluster/ceph/Manifest
+++ b/sys-cluster/ceph/Manifest
@@ -3,3 +3,4 @@ DIST ceph-14.2.13.tar.gz 129255298 BLAKE2B 32d12ede10ff657e9341e2fc31412018041a3
DIST ceph-14.2.15.tar.gz 129254705 BLAKE2B bb30f04ace31c2175c6678a9f252fc31951fd32f47362fb460ed9b8edec3a6535752d28214530e9b996c384a6e6a23eebce5caa89cb2746a2e258f5a1e1f8a3c SHA512 20ac9244974cc1312b7c642acf00142f5b7f59b09ae338f73b6c8e1ee2054b4ebd62701b18653cc792ca575a77b98644903ebb11bee6a9f1ab3aec6b37a2ef1b
DIST ceph-14.2.16.tar.gz 130220625 BLAKE2B 30fcf971dd3ebaad8decf0d8d3ade1b554c0f97844db037ca618fd3f133964c08248067dc82c525cbc7deb04949a3a3d07850a5f56e75bcb8e359957d31df85f SHA512 94cab2c9711f5ee2c826ee27b474676c7bb8507c0761ed8d0a520a7e5182c4b353402061ffafbe9b95ac45603f023015752bffbbe0936f4835dfafc9476d3275
DIST ceph-15.2.8.tar.gz 149565241 BLAKE2B 5b484734c0149aae95a5df2d4481c44e30bf23cdd25aa082084a7a69e5d3398711d45e7d634f98dc99d16a77d85456c13fe3fe0d241087a990e1524664597892 SHA512 66c7322575165b4747955ac9de34f9f9e2d4361c8cd8498819383883045601b92f786c4336c79369d6f019db1c4524c492faa40cdceed7fc1b2b373ca6ab5065
+DIST ceph-15.2.9.tar.gz 149518360 BLAKE2B 3d1d2cf7e356587d77c1ca3e6b05078a3de656607007d38ff0369f5a76fb9e12a3f06929bcbf19ed5d3de7c8e402dc0972c0b3c7245f64e6f5d94a4a78bb1d00 SHA512 1f55b0a13bf06df782831d0c9d5f8617c22442ab97fb186e6ccb08183e02bf1756caf8633fa6b1cf156c3fb7b1bdff90a60a1249adfad0b9450036e2329bf8ff
diff --git a/sys-cluster/ceph/ceph-15.2.9.ebuild b/sys-cluster/ceph/ceph-15.2.9.ebuild
new file mode 100644
index 00000000000..d90c82927bc
--- /dev/null
+++ b/sys-cluster/ceph/ceph-15.2.9.ebuild
@@ -0,0 +1,405 @@
+# 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:=
+ 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}]
+ 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 )
+ 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
+}
diff --git a/sys-cluster/ceph/files/ceph-15.2.9-dont-compile-isal_compress-if-don-t-have-SSE4_1.patch b/sys-cluster/ceph/files/ceph-15.2.9-dont-compile-isal_compress-if-don-t-have-SSE4_1.patch
new file mode 100644
index 00000000000..e9439a63018
--- /dev/null
+++ b/sys-cluster/ceph/files/ceph-15.2.9-dont-compile-isal_compress-if-don-t-have-SSE4_1.patch
@@ -0,0 +1,22 @@
+diff --git a/src/compressor/zlib/ZlibCompressor.cc b/src/compressor/zlib/ZlibCompressor.cc
+index e3064d2a21..c86b19da6c 100644
+--- a/src/compressor/zlib/ZlibCompressor.cc
++++ b/src/compressor/zlib/ZlibCompressor.cc
+@@ -107,7 +107,7 @@ int ZlibCompressor::zlib_compress(const bufferlist &in, bufferlist &out)
+ return 0;
+ }
+
+-#if __x86_64__ && defined(HAVE_BETTER_YASM_ELF64)
++#if __x86_64__ && defined(HAVE_BETTER_YASM_ELF64) && defined(HAVE_INTEL_SSE4_1)
+ int ZlibCompressor::isal_compress(const bufferlist &in, bufferlist &out)
+ {
+ int ret;
+@@ -167,7 +167,7 @@ int ZlibCompressor::compress(const bufferlist &in, bufferlist &out)
+ if (qat_enabled)
+ return qat_accel.compress(in, out);
+ #endif
+-#if __x86_64__ && defined(HAVE_BETTER_YASM_ELF64)
++#if __x86_64__ && defined(HAVE_BETTER_YASM_ELF64) && defined(HAVE_INTEL_SSE4_1)
+ if (isal_enabled)
+ return isal_compress(in, out);
+ else
diff --git a/sys-cluster/ceph/files/rbdmap.initd-r1 b/sys-cluster/ceph/files/rbdmap.initd-r1
new file mode 100644
index 00000000000..f3f2ea526e4
--- /dev/null
+++ b/sys-cluster/ceph/files/rbdmap.initd-r1
@@ -0,0 +1,122 @@
+#!/sbin/openrc-run
+
+DESC="RBD Mapping:"
+RBDMAPFILE="/etc/ceph/rbdmap"
+
+extra_started_commands="reload"
+
+depend() {
+ need localmount net
+ before netmount
+}
+
+start() {
+
+ if [ ! -f "${RBDMAPFILE}" ]; then
+ ewarn "$DESC : No ${RBDMAPFILE} found."
+ exit 0
+ fi
+
+ RET=0
+ # Read /etc/ceph/rbdmap to create non-existant mapping
+ while read DEV PARAMS; do
+ case "$DEV" in
+ ""|\#*)
+ continue
+ ;;
+ */*)
+ ;;
+ *)
+ DEV=rbd/$DEV
+ ;;
+ esac
+ ebegin "${DESC} '${DEV}'"
+ newrbd=""
+ MAP_RV=""
+ RET_OP=0
+ OIFS=$IFS
+ IFS=','
+ for PARAM in ${PARAMS}; do
+ CMDPARAMS="${CMDPARAMS} --$(printf '%s\n' "${PARAM}" | tr '=' ' ')"
+ done
+ IFS=$OIFS
+ if [ ! -b /dev/rbd/${DEV} ]; then
+ MAP_RV=$(rbd map ${DEV} ${CMDPARAMS} 2>&1)
+ if [ $? -eq 0 ]; then
+ newrbd="yes"
+ else
+ RET=$((${RET}+$?))
+ RET_OP=1
+ fi
+ fi
+ eend ${RET_OP} "${MAP_RV}"
+
+ if [ "$newrbd" ]; then
+ ## Mount new rbd
+ MNT_RV=""
+ mount --fake /dev/rbd/${DEV} >>/dev/null 2>&1 \
+ && MNT_RV=$(mount -vn /dev/rbd/${DEV} 2>&1)
+ [ -n "${MNT_RV}" ] && einfo "mount: ${MNT_RV}"
+
+ ## post-mapping
+ if [ -x "/etc/ceph/rbd.d/${DEV}" ]; then
+ einfo "RBD Running post-map hook '/etc/ceph/rbd.d/${DEV}'"
+ /etc/ceph/rbd.d/${DEV} map "/dev/rbd/${DEV}"
+ fi
+ fi
+ done < ${RBDMAPFILE}
+ eend ${RET}
+}
+
+stop() {
+
+ RET=0
+ ## Unmount and unmap all rbd devices
+ if ls /dev/rbd[0-9]* >/dev/null 2>&1; then
+ for DEV in /dev/rbd[0-9]*; do
+ ## pre-unmapping
+ for L in $(find /dev/rbd -type l); do
+ LL="${L##/dev/rbd/}"
+ if [ "$(readlink -f $L)" = "${DEV}" ] \
+ && [ -x "/etc/ceph/rbd.d/${LL}" ]; then
+ einfo "RBD pre-unmap: '${DEV}' hook '/etc/ceph/rbd.d/${LL}'"
+ /etc/ceph/rbd.d/${LL} unmap "$L"
+ break
+ fi
+ done
+
+ ebegin "Unmapping RBD device: '${DEV}'"
+ UMNT_RV=""
+ UMAP_RV=""
+ RET_OP=0
+ MNT=$(findmnt --mtab --source ${DEV} --noheadings | awk '{print $1'})
+ if [ -n "${MNT}" ]; then
+ einfo "un-mounting '${MNT}'"
+ UMNT_RV=$(umount "${MNT}" 2>&1)
+ fi
+ if mountpoint -q "${MNT}"; then
+ ## Un-mounting failed.
+ RET_OP=1
+ RET=$((${RET}+1))
+ else
+ ## Un-mapping.
+ UMAP_RV=$(rbd unmap $DEV 2>&1)
+ if [ $? -ne 0 ]; then
+ RET=$((${RET}+$?))
+ RET_OP=1
+ fi
+ fi
+ eend ${RET_OP} "${UMAP_RV}"
+ [ -n "${UMNT_RV}" ] && einfo "${UMNT_RV}"
+ done
+ fi
+ eend ${RET}
+}
+
+reload() {
+ start
+}
+
+status() {
+ rbd showmapped
+}
^ permalink raw reply related [flat|nested] 48+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-cluster/ceph/files/, sys-cluster/ceph/
@ 2021-04-03 4:20 Patrick McLean
0 siblings, 0 replies; 48+ messages in thread
From: Patrick McLean @ 2021-04-03 4:20 UTC (permalink / raw
To: gentoo-commits
commit: b2d98f7c634994ea1f55511ab74e3280fcc44775
Author: Patrick McLean <patrick.mclean <AT> sony <DOT> com>
AuthorDate: Sat Apr 3 04:15:20 2021 +0000
Commit: Patrick McLean <chutzpah <AT> gentoo <DOT> org>
CommitDate: Sat Apr 3 04:20:03 2021 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=b2d98f7c
sys-cluster/ceph-16.2.0: Version bump
Copyright: Sony Interactive Entertainment Inc.
Package-Manager: Portage-3.0.17, Repoman-3.0.2
Signed-off-by: Patrick McLean <chutzpah <AT> gentoo.org>
sys-cluster/ceph/Manifest | 1 +
sys-cluster/ceph/ceph-16.2.0.ebuild | 448 +++++++++++++++++++++
.../ceph/files/ceph-16.2.0-install-libblk.patch | 12 +
.../files/ceph-16.2.0-jaeger-system-boost.patch | 14 +
sys-cluster/ceph/files/ceph-16.2.0-liburing.patch | 35 ++
.../ceph/files/ceph-16.2.0-no-virtualenvs.patch | 74 ++++
.../ceph/files/ceph-16.2.0-rocksdb-cmake.patch | 15 +
.../ceph/files/ceph-16.2.0-spdk-tinfo.patch | 10 +
sys-cluster/ceph/metadata.xml | 4 +
9 files changed, 613 insertions(+)
diff --git a/sys-cluster/ceph/Manifest b/sys-cluster/ceph/Manifest
index 6bb1b6cdb29..02a9ca913cc 100644
--- a/sys-cluster/ceph/Manifest
+++ b/sys-cluster/ceph/Manifest
@@ -2,3 +2,4 @@ DIST ceph-14.2.16.tar.gz 130220625 BLAKE2B 30fcf971dd3ebaad8decf0d8d3ade1b554c0f
DIST ceph-14.2.19.tar.gz 129290834 BLAKE2B d1de69afcdacd4507a4d1d230a9a4cbd75067f7efa67c01b9f7100d29bf91b7196a36df6514d307affc3194bd83f1e91b5c274b424d0cb1931c9457f6321dc36 SHA512 69e3adba292d003e364f3b7eb16878992a3f3015a1ad0b73a9bd9b4ccb2f2f46518833346d40e024b62274985d30b684e1927e533a34a1e357a1780812c231fa
DIST ceph-15.2.10.tar.gz 148500214 BLAKE2B c24679bc5e41da45b093dcd01fa103fd3dff45ddc7d244acebd182547851f426dd140e24ae5afafd71d797b185d6825fbdb9b84abd5c7ead41d5f29b06ed01fa SHA512 20202c07a068f99d5ce56b1969f703f996ad34c201ea3ab9bb05ea278afac71ccba43fb03e9de641dc3ab9692eecfcc6f52ff1ac03e13a1dc2f939bd8159fc2d
DIST ceph-15.2.9.tar.gz 149518360 BLAKE2B 3d1d2cf7e356587d77c1ca3e6b05078a3de656607007d38ff0369f5a76fb9e12a3f06929bcbf19ed5d3de7c8e402dc0972c0b3c7245f64e6f5d94a4a78bb1d00 SHA512 1f55b0a13bf06df782831d0c9d5f8617c22442ab97fb186e6ccb08183e02bf1756caf8633fa6b1cf156c3fb7b1bdff90a60a1249adfad0b9450036e2329bf8ff
+DIST ceph-16.2.0.tar.gz 157057713 BLAKE2B 3e3e5d71f15b6af706eb6f9c174dd44ff208cbfa2eb587c473dff91726a61ec029b0d6b53b171ddadcc989eaaf19ded67321f8cf3cad743cfd5ef88e2af08eef SHA512 aeb9a91c33221c64ea24603dc88cab346bf0abdf0d41ff85c2e1cf134130737ec1fab1246be0a2fa3af8a655ae1dabb69688855f229f54438e60cb8098175b8e
diff --git a/sys-cluster/ceph/ceph-16.2.0.ebuild b/sys-cluster/ceph/ceph-16.2.0.ebuild
new file mode 100644
index 00000000000..ba5408dd220
--- /dev/null
+++ b/sys-cluster/ceph/ceph-16.2.0.ebuild
@@ -0,0 +1,448 @@
+# 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:=
+ 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:=
+ 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-13.2.0-cflags.patch"
+ "${FILESDIR}/ceph-16.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-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"
+)
+
+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
+}
diff --git a/sys-cluster/ceph/files/ceph-16.2.0-install-libblk.patch b/sys-cluster/ceph/files/ceph-16.2.0-install-libblk.patch
new file mode 100644
index 00000000000..309e00d226d
--- /dev/null
+++ b/sys-cluster/ceph/files/ceph-16.2.0-install-libblk.patch
@@ -0,0 +1,12 @@
+diff --git a/src/blk/CMakeLists.txt b/src/blk/CMakeLists.txt
+index b424482dee..dc4f9b82ae 100644
+--- a/src/blk/CMakeLists.txt
++++ b/src/blk/CMakeLists.txt
+@@ -26,6 +26,7 @@ if(WITH_ZBD)
+ endif()
+
+ add_library(blk ${libblk_srcs})
++install(TARGETS blk DESTINATION ${CMAKE_INSTALL_LIBDIR})
+ target_include_directories(blk PRIVATE "./")
+
+ if(HAVE_LIBAIO)
diff --git a/sys-cluster/ceph/files/ceph-16.2.0-jaeger-system-boost.patch b/sys-cluster/ceph/files/ceph-16.2.0-jaeger-system-boost.patch
new file mode 100644
index 00000000000..18d5d9c6d51
--- /dev/null
+++ b/sys-cluster/ceph/files/ceph-16.2.0-jaeger-system-boost.patch
@@ -0,0 +1,14 @@
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 0a0d8672a7..a76e7e1842 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -631,6 +631,9 @@ if(WITH_SYSTEM_BOOST)
+ set_property(TARGET Boost::iostreams APPEND PROPERTY
+ INTERFACE_LINK_LIBRARIES ZLIB::ZLIB)
+ endif()
++ if (WITH_JAEGER)
++ include_directories("${CMAKE_SOURCE_DIR}/boost/include")
++ endif()
+ else()
+ set(BOOST_J 1 CACHE STRING
+ "max jobs for Boost build") # override w/-DBOOST_J=<n>
diff --git a/sys-cluster/ceph/files/ceph-16.2.0-liburing.patch b/sys-cluster/ceph/files/ceph-16.2.0-liburing.patch
new file mode 100644
index 00000000000..dd248d51ac6
--- /dev/null
+++ b/sys-cluster/ceph/files/ceph-16.2.0-liburing.patch
@@ -0,0 +1,35 @@
+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"
+diff --git a/src/blk/CMakeLists.txt b/src/blk/CMakeLists.txt
+index dc4f9b82ae..e39d690394 100644
+--- a/src/blk/CMakeLists.txt
++++ b/src/blk/CMakeLists.txt
+@@ -52,10 +52,11 @@ endif()
+
+ if(WITH_LIBURING)
+ if(WITH_SYSTEM_LIBURING)
+- find_package(uring REQUIRED)
++ list(APPEND CMAKE_MODULE_PATH "${CMAKE_SOURCE_DIR}../../cmake/modules/")
++ pkg_check_modules(URING REQUIRED liburing)
+ else()
+ include(Builduring)
+ build_uring()
+ endif()
+- target_link_libraries(blk PRIVATE uring::uring)
++ target_link_libraries(blk PRIVATE ${URING_LIBRARIES})
+ endif()
diff --git a/sys-cluster/ceph/files/ceph-16.2.0-no-virtualenvs.patch b/sys-cluster/ceph/files/ceph-16.2.0-no-virtualenvs.patch
new file mode 100644
index 00000000000..d8acd4355b5
--- /dev/null
+++ b/sys-cluster/ceph/files/ceph-16.2.0-no-virtualenvs.patch
@@ -0,0 +1,74 @@
+diff --git a/cmake/modules/AddCephTest.cmake b/cmake/modules/AddCephTest.cmake
+index 2c8fdb0b93..07d52b3d67 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 59c28a33f6..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 ${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"
+ )
diff --git a/sys-cluster/ceph/files/ceph-16.2.0-rocksdb-cmake.patch b/sys-cluster/ceph/files/ceph-16.2.0-rocksdb-cmake.patch
new file mode 100644
index 00000000000..aff00c196d6
--- /dev/null
+++ b/sys-cluster/ceph/files/ceph-16.2.0-rocksdb-cmake.patch
@@ -0,0 +1,15 @@
+diff --git a/cmake/modules/BuildRocksDB.cmake b/cmake/modules/BuildRocksDB.cmake
+index 58ce26a6ac..2f8702c1dc 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/files/ceph-16.2.0-spdk-tinfo.patch b/sys-cluster/ceph/files/ceph-16.2.0-spdk-tinfo.patch
new file mode 100644
index 00000000000..19f2cce891f
--- /dev/null
+++ b/sys-cluster/ceph/files/ceph-16.2.0-spdk-tinfo.patch
@@ -0,0 +1,10 @@
+--- a/src/spdk/app/spdk_top/Makefile 2021-04-02 14:27:44.307824110 -0700
++++ b/src/spdk/app/spdk_top/Makefile 2021-04-02 14:27:56.722742839 -0700
+@@ -39,6 +39,6 @@
+ C_SRCS := spdk_top.c
+
+ SPDK_LIB_LIST = jsonrpc json rpc log util
+-LIBS=-lncurses -lpanel -lmenu
++LIBS=-lncurses -ltinfo -lpanel -lmenu
+
+ include $(SPDK_ROOT_DIR)/mk/spdk.app.mk
diff --git a/sys-cluster/ceph/metadata.xml b/sys-cluster/ceph/metadata.xml
index cd3df6b4e4c..85de88c2661 100644
--- a/sys-cluster/ceph/metadata.xml
+++ b/sys-cluster/ceph/metadata.xml
@@ -24,6 +24,7 @@
<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="jaeger">Enable jaegertracing and it's dependent libraries</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>
@@ -32,8 +33,11 @@
<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="rbd-ssd">Enable librbd persistent write back cache for SSDs</flag>
+ <flag name="rgw-lua">Rados Gateway's support for dynamically adding lua packagess</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="zbd">Enable <pkg>sys-block/libzbd</pkg> bluestore backend</flag>
<flag name="xfs">Add xfs support</flag>
<flag name="zfs">Add zfs support</flag>
</use>
^ permalink raw reply related [flat|nested] 48+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-cluster/ceph/files/, sys-cluster/ceph/
@ 2021-05-27 5:30 Patrick McLean
0 siblings, 0 replies; 48+ messages in thread
From: Patrick McLean @ 2021-05-27 5:30 UTC (permalink / raw
To: gentoo-commits
commit: 8e91fc08406dde5075852d4c9fdc9a7a8263070f
Author: Patrick McLean <chutzpah <AT> gentoo <DOT> org>
AuthorDate: Thu May 27 04:33:22 2021 +0000
Commit: Patrick McLean <chutzpah <AT> gentoo <DOT> org>
CommitDate: Thu May 27 05:30:06 2021 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=8e91fc08
sys-cluster/ceph-15.2.13: Version bump
Package-Manager: Portage-3.0.19, Repoman-3.0.3
Signed-off-by: Patrick McLean <chutzpah <AT> gentoo.org>
sys-cluster/ceph/Manifest | 1 +
sys-cluster/ceph/ceph-15.2.13.ebuild | 403 +++++++++++++++++++++
.../ceph/files/ceph-15.2.13-no-virtualenvs.patch | 73 ++++
3 files changed, 477 insertions(+)
diff --git a/sys-cluster/ceph/Manifest b/sys-cluster/ceph/Manifest
index 1fc50693970..6c86ea70178 100644
--- a/sys-cluster/ceph/Manifest
+++ b/sys-cluster/ceph/Manifest
@@ -1,3 +1,4 @@
DIST ceph-14.2.21.tar.gz 129272778 BLAKE2B f82f452e0f0c40a95ea1bdb3654c2d322caa3edeeb05e41247e02a8ffe731c570d9e49aefa61c447a8b73620d4a9b9872335171f1e08fbd9a08eea930ccbfe76 SHA512 39b4a0624dcab2bafa50f51a42155fcf96dad74531a001d75009ad246a8ca80ce81ae538b34c0a1b773691c363626f1d0342f2439b711bd0dd16214592171884
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-15.2.13.ebuild b/sys-cluster/ceph/ceph-15.2.13.ebuild
new file mode 100644
index 00000000000..6eee7a8e23e
--- /dev/null
+++ b/sys-cluster/ceph/ceph-15.2.13.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:=
+ 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}]
+ 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 )
+ 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
+}
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
new file mode 100644
index 00000000000..665bb891426
--- /dev/null
+++ b/sys-cluster/ceph/files/ceph-15.2.13-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 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] 48+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-cluster/ceph/files/, sys-cluster/ceph/
@ 2021-12-08 6:21 Patrick McLean
0 siblings, 0 replies; 48+ messages in thread
From: Patrick McLean @ 2021-12-08 6:21 UTC (permalink / raw
To: gentoo-commits
commit: efce49ae22d7f4d35945e8107649580c7e496c20
Author: Patrick McLean <chutzpah <AT> gentoo <DOT> org>
AuthorDate: Wed Dec 8 06:20:40 2021 +0000
Commit: Patrick McLean <chutzpah <AT> gentoo <DOT> org>
CommitDate: Wed Dec 8 06:21:28 2021 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=efce49ae
sys-cluster/ceph: 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-16.2.7.ebuild | 461 +++++++++++++++++++++
.../ceph/files/ceph-16.2.7-no-virtualenvs.patch | 74 ++++
.../ceph/files/ceph-16.2.7-string-includes.patch | 23 +
4 files changed, 559 insertions(+)
diff --git a/sys-cluster/ceph/Manifest b/sys-cluster/ceph/Manifest
index 0998b3de4eaa..b9d1bf4a7e80 100644
--- a/sys-cluster/ceph/Manifest
+++ b/sys-cluster/ceph/Manifest
@@ -2,3 +2,4 @@ DIST ceph-14.2.22.tar.gz 130597047 BLAKE2B 58bbb3243de076ed1d25dfd7bd75717c50ad1
DIST ceph-15.2.15.tar.gz 148584988 BLAKE2B 6ff629846a74c9b30c7e5d54731e2c85c67942f1871194cc8e704c56826b86cdd6163d6693805d9d6210bc0e3fc4d84fada12b9d81a5640e34d76be83cfe6e47 SHA512 e4d929ffda5c3e31767d93340fb97b5d49ca1d5641f6c30134ce5542486fc4f72684aef2ef47cb940a332e8b9144d8cec63ce8a9f86c773dbc0ccebdd8e7fb19
DIST ceph-16.2.5.tar.gz 155933825 BLAKE2B 3c8f3f1663b91d4de1e3736317add0b88d9083db5ab2fc3e2e913278977deec076bd4410e309f4e47ccc169d74356c2ab1221c94532cc45ee75ec73673fc42a0 SHA512 5c32f9aa817ecfa788725bcfe5743756853ca9b3f9ee453242110f1b5e1bdd1feaef79ad9ccf2b185445c9644bcecb1355e151a2255bfd27edc9818e0d6d4c4a
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.7.ebuild b/sys-cluster/ceph/ceph-16.2.7.ebuild
new file mode 100644
index 000000000000..eefa97462b83
--- /dev/null
+++ b/sys-cluster/ceph/ceph-16.2.7.ebuild
@@ -0,0 +1,461 @@
+# Copyright 1999-2021 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/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/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
new file mode 100644
index 000000000000..977a3ab50cba
--- /dev/null
+++ b/sys-cluster/ceph/files/ceph-16.2.7-no-virtualenvs.patch
@@ -0,0 +1,74 @@
+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"
+ )
diff --git a/sys-cluster/ceph/files/ceph-16.2.7-string-includes.patch b/sys-cluster/ceph/files/ceph-16.2.7-string-includes.patch
new file mode 100644
index 000000000000..f703a8fcf46a
--- /dev/null
+++ b/sys-cluster/ceph/files/ceph-16.2.7-string-includes.patch
@@ -0,0 +1,23 @@
+commit ebf3a0398f18eab67d2ba25e6a10b41ff140f6a4
+Author: Duncan Bellamy <dunk@denkimushi.com>
+Date: Fri May 21 06:30:10 2021 +0100
+
+ rgw/rgw_string.h: add missing includes for alpine and boost 1.75
+ alpine needs: string, stdexcept
+
+ Fixes: https://tracker.ceph.com/issues/50924
+ Signed-off-by: Duncan Bellamy <dunk@denkimushi.com>
+
+diff --git a/src/rgw/rgw_string.h b/src/rgw/rgw_string.h
+index 257daa9c1fe..90e64f98a25 100644
+--- a/src/rgw/rgw_string.h
++++ b/src/rgw/rgw_string.h
+@@ -8,6 +8,8 @@
+ #include <stdlib.h>
+ #include <limits.h>
+ #include <string_view>
++#include <string>
++#include <stdexcept>
+
+ #include <boost/container/small_vector.hpp>
+
^ permalink raw reply related [flat|nested] 48+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-cluster/ceph/files/, sys-cluster/ceph/
@ 2022-05-04 22:43 Patrick McLean
0 siblings, 0 replies; 48+ messages in thread
From: Patrick McLean @ 2022-05-04 22:43 UTC (permalink / raw
To: gentoo-commits
commit: cf1586831645abb734e92e5f4224f8d6d825c23a
Author: Patrick McLean <chutzpah <AT> gentoo <DOT> org>
AuthorDate: Wed May 4 22:37:12 2022 +0000
Commit: Patrick McLean <chutzpah <AT> gentoo <DOT> org>
CommitDate: Wed May 4 22:43:24 2022 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=cf158683
sys-cluster/ceph: add 17.2.0
Signed-off-by: Patrick McLean <chutzpah <AT> gentoo.org>
sys-cluster/ceph/Manifest | 2 +
sys-cluster/ceph/ceph-17.2.0.ebuild | 455 +++++++++++++++++++++
.../ceph/files/ceph-17.2.0-boost-1.74.patch | 25 ++
.../ceph/files/ceph-17.2.0-cyclic-deps.patch | 53 +++
.../ceph/files/ceph-17.2.0-deprecated-boost.patch | 69 ++++
sys-cluster/ceph/files/ceph-17.2.0-findre2.patch | 22 +
.../ceph/files/ceph-17.2.0-install-dbstore.patch | 12 +
.../ceph/files/ceph-17.2.0-no-virtualenvs.patch | 68 +++
.../ceph/files/ceph-17.2.0-pybind-boost-1.74.patch | 26 ++
.../files/ceph-17.2.0-system-opentelemetry.patch | 20 +
sys-cluster/ceph/metadata.xml | 5 +
11 files changed, 757 insertions(+)
diff --git a/sys-cluster/ceph/Manifest b/sys-cluster/ceph/Manifest
index 45f6d44762e5..884ad263bca6 100644
--- a/sys-cluster/ceph/Manifest
+++ b/sys-cluster/ceph/Manifest
@@ -1,3 +1,5 @@
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
+DIST ceph-xsimd-17.2.0.tar.gz 173025 BLAKE2B 54679c24804c195ae55b9f49589e331dde92c6d89aaa20e827539e9a4e0010c7549cdd5cf02a7ebed83f953ab2a6f1d9cc9a98cf45c3dc7758ae4938c9c43713 SHA512 ecc58e7909648aaa22aefbf76ee2c5a2bece4b1b88da9c7eda1b69a46247e619ff99c4366afd6015f95debd68c1a6b89292c677b9049462d0fc0255fbc0c2a33
diff --git a/sys-cluster/ceph/ceph-17.2.0.ebuild b/sys-cluster/ceph/ceph-17.2.0.ebuild
new file mode 100644
index 000000000000..74a067688a6d
--- /dev/null
+++ b/sys-cluster/ceph/ceph-17.2.0.ebuild
@@ -0,0 +1,455 @@
+# 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"
+
+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:0= )
+ 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.0-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"
+)
+
+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.0-boost-1.74.patch b/sys-cluster/ceph/files/ceph-17.2.0-boost-1.74.patch
new file mode 100644
index 000000000000..8fa7330520d8
--- /dev/null
+++ b/sys-cluster/ceph/files/ceph-17.2.0-boost-1.74.patch
@@ -0,0 +1,25 @@
+From 722b4303b1986ce93744af5baeecde7681d8e347 Mon Sep 17 00:00:00 2001
+From: Casey Bodley <cbodley@redhat.com>
+Date: Mon, 25 Jan 2021 13:08:35 -0500
+Subject: [PATCH] cmake: boost>=1.74 adds BOOST_ASIO_USE_TS_EXECUTOR_AS_DEFAULT
+ to radosgw
+
+Fixes: https://tracker.ceph.com/issues/48988
+
+Signed-off-by: Casey Bodley <cbodley@redhat.com>
+---
+ src/rgw/CMakeLists.txt | 4 ++++
+ 1 file changed, 4 insertions(+)
+
+diff --git a/src/rgw/CMakeLists.txt b/src/rgw/CMakeLists.txt
+index 1b8cb81b8f2c1..12b42e4077f5a 100644
+--- a/src/rgw/CMakeLists.txt
++++ b/src/rgw/CMakeLists.txt
+@@ -1,3 +1,7 @@
++if(Boost_VERSION VERSION_GREATER_EQUAL 1.74)
++ add_definitions(-DBOOST_ASIO_USE_TS_EXECUTOR_AS_DEFAULT)
++endif()
++
+ add_custom_target(civetweb_h
+ COMMAND ${CMAKE_COMMAND} -E make_directory
+ "${CMAKE_BINARY_DIR}/src/include/civetweb"
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
new file mode 100644
index 000000000000..f80edddd8de7
--- /dev/null
+++ b/sys-cluster/ceph/files/ceph-17.2.0-cyclic-deps.patch
@@ -0,0 +1,53 @@
+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
++++ b/src/rgw/store/dbstore/CMakeLists.txt
+@@ -47,7 +47,7 @@ else()
+ endif()
+
+ include_directories(${CMAKE_INCLUDE_DIR})
+-add_library(dbstore ${dbstore_mgr_srcs})
++add_library(dbstore STATIC ${dbstore_mgr_srcs})
+ target_link_libraries(dbstore ${CMAKE_LINK_LIBRARIES})
+
+ # testing purpose
+diff --git a/src/rgw/store/dbstore/sqlite/CMakeLists.txt b/src/rgw/store/dbstore/sqlite/CMakeLists.txt
+index cce59b9ec0aa9..909765e3058b6 100644
+--- a/src/rgw/store/dbstore/sqlite/CMakeLists.txt
++++ b/src/rgw/store/dbstore/sqlite/CMakeLists.txt
+@@ -12,5 +12,5 @@ include_directories(${CMAKE_INCLUDE_DIR})
+ set(SQLITE_COMPILE_FLAGS "-DSQLITE_THREADSAFE=1")
+ set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${SQLITE_COMPILE_FLAGS}")
+
+-add_library(sqlite_db ${sqlite_db_srcs})
++add_library(sqlite_db STATIC ${sqlite_db_srcs})
+ target_link_libraries(sqlite_db sqlite3 dbstore_lib rgw_common)
diff --git a/sys-cluster/ceph/files/ceph-17.2.0-deprecated-boost.patch b/sys-cluster/ceph/files/ceph-17.2.0-deprecated-boost.patch
new file mode 100644
index 000000000000..64b6d5c614c8
--- /dev/null
+++ b/sys-cluster/ceph/files/ceph-17.2.0-deprecated-boost.patch
@@ -0,0 +1,69 @@
+diff --git a/src/common/ConfUtils.cc b/src/common/ConfUtils.cc
+index ad791ece4f7..2f78fd02bf9 100644
+--- a/src/common/ConfUtils.cc
++++ b/src/common/ConfUtils.cc
+@@ -26,7 +26,7 @@
+ #include <boost/algorithm/string.hpp>
+ #include <boost/algorithm/string/trim_all.hpp>
+ #include <boost/spirit/include/qi.hpp>
+-#include <boost/spirit/include/phoenix.hpp>
++#include <boost/phoenix.hpp>
+ #include <boost/spirit/include/support_line_pos_iterator.hpp>
+
+ #include "include/buffer.h"
+diff --git a/src/mds/MDSAuthCaps.cc b/src/mds/MDSAuthCaps.cc
+index b78ebd6615b..f8158be6866 100644
+--- a/src/mds/MDSAuthCaps.cc
++++ b/src/mds/MDSAuthCaps.cc
+@@ -17,8 +17,8 @@
+ #include <errno.h>
+
+ #include <boost/spirit/include/qi.hpp>
+-#include <boost/spirit/include/phoenix_operator.hpp>
+-#include <boost/spirit/include/phoenix.hpp>
++#include <boost/phoenix/operator.hpp>
++#include <boost/phoenix.hpp>
+
+ #include "common/debug.h"
+ #include "MDSAuthCaps.h"
+diff --git a/src/mgr/MgrCap.cc b/src/mgr/MgrCap.cc
+index cba758083c3..6e5e1f9bb99 100644
+--- a/src/mgr/MgrCap.cc
++++ b/src/mgr/MgrCap.cc
+@@ -16,7 +16,7 @@
+ #include <boost/spirit/include/qi_uint.hpp>
+ #include <boost/spirit/include/qi.hpp>
+ #include <boost/fusion/include/std_pair.hpp>
+-#include <boost/spirit/include/phoenix.hpp>
++#include <boost/phoenix.hpp>
+ #include <boost/fusion/adapted/struct/adapt_struct.hpp>
+ #include <boost/fusion/include/adapt_struct.hpp>
+ #include <boost/algorithm/string/predicate.hpp>
+diff --git a/src/mon/MonCap.cc b/src/mon/MonCap.cc
+index e1dc3723965..0ff9fefdd15 100644
+--- a/src/mon/MonCap.cc
++++ b/src/mon/MonCap.cc
+@@ -16,7 +16,7 @@
+ #include <boost/spirit/include/qi_uint.hpp>
+ #include <boost/spirit/include/qi.hpp>
+ #include <boost/fusion/include/std_pair.hpp>
+-#include <boost/spirit/include/phoenix.hpp>
++#include <boost/phoenix.hpp>
+ #include <boost/fusion/adapted/struct/adapt_struct.hpp>
+ #include <boost/fusion/include/adapt_struct.hpp>
+ #include <boost/algorithm/string/predicate.hpp>
+diff --git a/src/osd/OSDCap.cc b/src/osd/OSDCap.cc
+index e7bf0582799..f847e80e337 100644
+--- a/src/osd/OSDCap.cc
++++ b/src/osd/OSDCap.cc
+@@ -14,8 +14,8 @@
+
+ #include <boost/config/warning_disable.hpp>
+ #include <boost/spirit/include/qi.hpp>
+-#include <boost/spirit/include/phoenix_operator.hpp>
+-#include <boost/spirit/include/phoenix.hpp>
++#include <boost/phoenix/operator.hpp>
++#include <boost/phoenix.hpp>
+ #include <boost/algorithm/string/predicate.hpp>
+
+ #include "OSDCap.h"
diff --git a/sys-cluster/ceph/files/ceph-17.2.0-findre2.patch b/sys-cluster/ceph/files/ceph-17.2.0-findre2.patch
new file mode 100644
index 000000000000..e42f291e55bf
--- /dev/null
+++ b/sys-cluster/ceph/files/ceph-17.2.0-findre2.patch
@@ -0,0 +1,22 @@
+diff --git a/src/arrow/cpp/cmake_modules/Findre2.cmake b/src/arrow/cpp/cmake_modules/Findre2.cmake
+new file mode 100644
+index 00000000000..6f39de75461
+--- /dev/null
++++ b/src/arrow/cpp/cmake_modules/Findre2.cmake
+@@ -0,0 +1,16 @@
++FIND_PATH(SYSTEM_RE2_INCLUDE_DIR re2/re2.h)
++IF (SYSTEM_RE2_INCLUDE_DIR)
++ MESSAGE(STATUS "Found RE2 include dir")
++ FIND_LIBRARY(SYSTEM_RE2_LIBRARY re2)
++ IF (SYSTEM_RE2_LIBRARY)
++ MESSAGE(STATUS "Found RE2 library")
++ SET(RE2_INCLUDE_DIR ${SYSTEM_RE2_INCLUDE_DIR})
++ SET(RE2_LIBRARY ${SYSTEM_RE2_LIBRARY})
++ ELSE ()
++ MESSAGE(FATAL_ERROR "Found RE2 headers, but not the library")
++ ENDIF ()
++ELSE ()
++ MESSAGE(STATUS "Did not find system RE2")
++ENDIF ()
++
++
diff --git a/sys-cluster/ceph/files/ceph-17.2.0-install-dbstore.patch b/sys-cluster/ceph/files/ceph-17.2.0-install-dbstore.patch
new file mode 100644
index 000000000000..e50030071c81
--- /dev/null
+++ b/sys-cluster/ceph/files/ceph-17.2.0-install-dbstore.patch
@@ -0,0 +1,12 @@
+diff --git a/src/rgw/store/dbstore/CMakeLists.txt b/src/rgw/store/dbstore/CMakeLists.txt
+index 143ede3c094..204ef653010 100644
+--- a/src/rgw/store/dbstore/CMakeLists.txt
++++ b/src/rgw/store/dbstore/CMakeLists.txt
+@@ -24,6 +24,7 @@ if(WITH_JAEGER)
+ list(APPEND link_targets ${jaeger_base})
+ endif()
+ target_link_libraries(dbstore_lib PUBLIC ${link_targets})
++install(TARGETS dbstore_lib DESTINATION ${CMAKE_INSTALL_LIBDIR})
+
+ set (CMAKE_LINK_LIBRARIES ${CMAKE_LINK_LIBRARIES} dbstore_lib)
+
diff --git a/sys-cluster/ceph/files/ceph-17.2.0-no-virtualenvs.patch b/sys-cluster/ceph/files/ceph-17.2.0-no-virtualenvs.patch
new file mode 100644
index 000000000000..930dd08e8630
--- /dev/null
+++ b/sys-cluster/ceph/files/ceph-17.2.0-no-virtualenvs.patch
@@ -0,0 +1,68 @@
+diff --git a/cmake/modules/AddCephTest.cmake b/cmake/modules/AddCephTest.cmake
+index 0df7125b508..01afc88289c 100644
+--- a/cmake/modules/AddCephTest.cmake
++++ b/cmake/modules/AddCephTest.cmake
+@@ -57,7 +57,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})
+@@ -71,27 +70,13 @@ function(add_tox_test name)
+ endif()
+ string(REPLACE ";" "," tox_envs "${tox_envs}")
+ find_package(Python3 QUIET REQUIRED)
+- 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)
+
diff --git a/sys-cluster/ceph/files/ceph-17.2.0-pybind-boost-1.74.patch b/sys-cluster/ceph/files/ceph-17.2.0-pybind-boost-1.74.patch
new file mode 100644
index 000000000000..8591b0bc7f89
--- /dev/null
+++ b/sys-cluster/ceph/files/ceph-17.2.0-pybind-boost-1.74.patch
@@ -0,0 +1,26 @@
+diff --git a/src/pybind/CMakeLists.txt b/src/pybind/CMakeLists.txt
+index cd9b27623d2..12688ad32b9 100644
+--- a/src/pybind/CMakeLists.txt
++++ b/src/pybind/CMakeLists.txt
+@@ -36,6 +36,10 @@ execute_process(
+ OUTPUT_VARIABLE "PYTHON3_INSTDIR"
+ OUTPUT_STRIP_TRAILING_WHITESPACE)
+
++if(Boost_VERSION VERSION_GREATER_EQUAL 1.74)
++ add_definitions(-DBOOST_ASIO_USE_TS_EXECUTOR_AS_DEFAULT)
++endif()
++
+ install(FILES
+ ceph_argparse.py
+ ceph_daemon.py
+diff --git a/src/test/librados/CMakeLists.txt b/src/test/librados/CMakeLists.txt
+index fc033766cc4..0ba3bc56e98 100644
+--- a/src/test/librados/CMakeLists.txt
++++ b/src/test/librados/CMakeLists.txt
+@@ -1,3 +1,6 @@
++
++add_definitions(-DBOOST_ASIO_USE_TS_EXECUTOR_AS_DEFAULT)
++
+ # radostest
+ add_library(radostest_shared OBJECT test_shared.cc)
+ target_include_directories(radostest_shared PRIVATE
diff --git a/sys-cluster/ceph/files/ceph-17.2.0-system-opentelemetry.patch b/sys-cluster/ceph/files/ceph-17.2.0-system-opentelemetry.patch
new file mode 100644
index 000000000000..6e0788a093e5
--- /dev/null
+++ b/sys-cluster/ceph/files/ceph-17.2.0-system-opentelemetry.patch
@@ -0,0 +1,20 @@
+diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
+index 30cf3605468..902e2123d04 100644
+--- a/src/CMakeLists.txt
++++ b/src/CMakeLists.txt
+@@ -430,9 +430,12 @@ add_dependencies(common-objs legacy-option-headers)
+
+ if(WITH_JAEGER)
+ find_package(thrift 0.13.0 REQUIRED)
+- include(BuildOpentelemetry)
+- build_opentelemetry()
+- set(jaeger_base opentelemetry::libopentelemetry thrift::libthrift)
++ find_package(opentelemetry-cpp 1.3.0 REQUIRED)
++ set(jaeger_base
++ opentelemetry-cpp::common
++ opentelemetry-cpp::trace
++ opentelemetry-cpp::jaeger_trace_exporter
++ thrift::libthrift)
+ add_dependencies(common-objs ${jaeger_base})
+ target_link_libraries(common-objs ${jaeger_base})
+ endif()
diff --git a/sys-cluster/ceph/metadata.xml b/sys-cluster/ceph/metadata.xml
index 3bafabc339fd..b9a4aabfe140 100644
--- a/sys-cluster/ceph/metadata.xml
+++ b/sys-cluster/ceph/metadata.xml
@@ -25,11 +25,13 @@
<flag name="lttng">Add support for LTTng</flag>
<flag name="mgr">Build the ceph-mgr daemon</flag>
<flag name="numa">Use <pkg>sys-process/numactl</pkg> for numa support in rocksdb</flag>
+ <flag name="parquet">Support for s3 select on parquet objects</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="rbd-ssd">Enable librbd persistent write back cache for SSDs</flag>
+ <flag name="rdma">Enable RDMA support via <pkg>sys-cluster/rdma-core</pkg></flag>
<flag name="rgw-lua">Rados Gateway's support for dynamically adding lua packagess</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>
@@ -37,4 +39,7 @@
<flag name="xfs">Add xfs support</flag>
<flag name="zfs">Add zfs support</flag>
</use>
+ <upstream>
+ <bugs-to>https://tracker.ceph.com/issues</bugs-to>
+ </upstream>
</pkgmetadata>
^ permalink raw reply related [flat|nested] 48+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-cluster/ceph/files/, sys-cluster/ceph/
@ 2022-07-13 0:20 Patrick McLean
0 siblings, 0 replies; 48+ messages in thread
From: Patrick McLean @ 2022-07-13 0:20 UTC (permalink / raw
To: gentoo-commits
commit: 0c5fe2e412eed3c9648d55f1e7d16d4f127bf02c
Author: Patrick McLean <chutzpah <AT> gentoo <DOT> org>
AuthorDate: Wed Jul 13 00:19:59 2022 +0000
Commit: Patrick McLean <chutzpah <AT> gentoo <DOT> org>
CommitDate: Wed Jul 13 00:19:59 2022 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=0c5fe2e4
sys-cluster/ceph: Patch to fix py310 (bug #857702)
Also update libfmt dep
Closes: https://bugs.gentoo.org/857702
Signed-off-by: Patrick McLean <chutzpah <AT> gentoo.org>
sys-cluster/ceph/Manifest | 2 +
sys-cluster/ceph/ceph-17.2.1-r1.ebuild | 459 +++++++++++++++++++++
sys-cluster/ceph/files/ceph-17.2.1-python310.patch | 35 ++
3 files changed, 496 insertions(+)
diff --git a/sys-cluster/ceph/Manifest b/sys-cluster/ceph/Manifest
index 9b6f58453e84..d2eb006a495d 100644
--- a/sys-cluster/ceph/Manifest
+++ b/sys-cluster/ceph/Manifest
@@ -1,2 +1,4 @@
DIST ceph-15.2.16.tar.gz 148628915 BLAKE2B 4f624078027c706428eae3eddd5b5479efe3b4442c19a4e6b6cdf8d3839cf56e2863b18249dc3c5079a7e25f60796bfec3202ffd695537587654f5e2f820caaa SHA512 532b8a5073e157fe9ed552b26976faeb64dc29b79a249910c0982134ad5f945d4f57d8bf451adf63487b6d285c6e4bd5c39f0e3fcd449230d6fb3087539f8c3b
DIST ceph-16.2.9.tar.gz 157168096 BLAKE2B 0a667a9699925cfc920ca0cc535e5331cbcd95997fb0b9816a4d84c8add454b6b17813018bc1d1de07c802167ef50aa528704b10b01f42759189392ccdb5088f SHA512 bf369038ad6383f88abbed267f0239e9d8a1d33b46b34ed260aeeb1fda1b374cb6e658238e1ace013fbbb68e73b8cd2922b7def318d7a110e5f4560eeae8fca3
+DIST ceph-17.2.1.tar.gz 168819036 BLAKE2B 2d6506f3a43ccbe4a149163c13ab2de72aeba568308ca7c0c59d0ff32316519d27b334451fd8d78af799cabe3b5a8c5b7b19d5da028e52c420ec7fc38efe5aad SHA512 cb88a3feff67ce41c575cb6c0067a32de51fcbf36d8f9f7273cccd54a3413ee890f473e83fcc1429a86b858b05c412fca8b2cfc24871c5adf612e3d224227cf0
+DIST ceph-xsimd-17.2.1.tar.gz 173025 BLAKE2B 54679c24804c195ae55b9f49589e331dde92c6d89aaa20e827539e9a4e0010c7549cdd5cf02a7ebed83f953ab2a6f1d9cc9a98cf45c3dc7758ae4938c9c43713 SHA512 ecc58e7909648aaa22aefbf76ee2c5a2bece4b1b88da9c7eda1b69a46247e619ff99c4366afd6015f95debd68c1a6b89292c677b9049462d0fc0255fbc0c2a33
diff --git a/sys-cluster/ceph/ceph-17.2.1-r1.ebuild b/sys-cluster/ceph/ceph-17.2.1-r1.ebuild
new file mode 100644
index 000000000000..8a67048c3455
--- /dev/null
+++ b/sys-cluster/ceph/ceph-17.2.1-r1.ebuild
@@ -0,0 +1,459 @@
+# 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/libfmt-9:=
+ 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"
+ "${FILESDIR}/ceph-17.2.1-python310.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-python310.patch b/sys-cluster/ceph/files/ceph-17.2.1-python310.patch
new file mode 100644
index 000000000000..767cd2922a26
--- /dev/null
+++ b/sys-cluster/ceph/files/ceph-17.2.1-python310.patch
@@ -0,0 +1,35 @@
+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
++++ b/src/mgr/CMakeLists.txt
+@@ -33,6 +33,7 @@ if(WITH_MGR)
+ mgr_commands.cc
+ $<TARGET_OBJECTS:mgr_cap_obj>)
+ add_executable(ceph-mgr ${mgr_srcs})
++ target_compile_definitions(ceph-mgr PRIVATE PY_SSIZE_T_CLEAN)
+ if(WITH_LIBCEPHSQLITE)
+ target_link_libraries(ceph-mgr cephsqlite SQLite3::SQLite3)
+ endif()
^ permalink raw reply related [flat|nested] 48+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-cluster/ceph/files/, sys-cluster/ceph/
@ 2022-07-13 0:20 Patrick McLean
0 siblings, 0 replies; 48+ messages in thread
From: Patrick McLean @ 2022-07-13 0:20 UTC (permalink / raw
To: gentoo-commits
commit: a4be3d5347668f59ece000c45cbb019f793c716f
Author: Patrick McLean <chutzpah <AT> gentoo <DOT> org>
AuthorDate: Tue Jul 12 22:47:18 2022 +0000
Commit: Patrick McLean <chutzpah <AT> gentoo <DOT> org>
CommitDate: Wed Jul 13 00:19:48 2022 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=a4be3d53
sys-cluster/ceph: Revbump to 16.2.9-r1 fix #857702
Also change libfmt dep to be <9.0
Bug: https://bugs.gentoo.org/857702
Signed-off-by: Patrick McLean <chutzpah <AT> gentoo.org>
sys-cluster/ceph/Manifest | 2 --
.../ceph/{ceph-16.2.9.ebuild => ceph-16.2.9-r1.ebuild} | 3 ++-
sys-cluster/ceph/files/ceph-16.2.9-python310.patch | 12 ++++++++++++
3 files changed, 14 insertions(+), 3 deletions(-)
diff --git a/sys-cluster/ceph/Manifest b/sys-cluster/ceph/Manifest
index d2eb006a495d..9b6f58453e84 100644
--- a/sys-cluster/ceph/Manifest
+++ b/sys-cluster/ceph/Manifest
@@ -1,4 +1,2 @@
DIST ceph-15.2.16.tar.gz 148628915 BLAKE2B 4f624078027c706428eae3eddd5b5479efe3b4442c19a4e6b6cdf8d3839cf56e2863b18249dc3c5079a7e25f60796bfec3202ffd695537587654f5e2f820caaa SHA512 532b8a5073e157fe9ed552b26976faeb64dc29b79a249910c0982134ad5f945d4f57d8bf451adf63487b6d285c6e4bd5c39f0e3fcd449230d6fb3087539f8c3b
DIST ceph-16.2.9.tar.gz 157168096 BLAKE2B 0a667a9699925cfc920ca0cc535e5331cbcd95997fb0b9816a4d84c8add454b6b17813018bc1d1de07c802167ef50aa528704b10b01f42759189392ccdb5088f SHA512 bf369038ad6383f88abbed267f0239e9d8a1d33b46b34ed260aeeb1fda1b374cb6e658238e1ace013fbbb68e73b8cd2922b7def318d7a110e5f4560eeae8fca3
-DIST ceph-17.2.1.tar.gz 168819036 BLAKE2B 2d6506f3a43ccbe4a149163c13ab2de72aeba568308ca7c0c59d0ff32316519d27b334451fd8d78af799cabe3b5a8c5b7b19d5da028e52c420ec7fc38efe5aad SHA512 cb88a3feff67ce41c575cb6c0067a32de51fcbf36d8f9f7273cccd54a3413ee890f473e83fcc1429a86b858b05c412fca8b2cfc24871c5adf612e3d224227cf0
-DIST ceph-xsimd-17.2.1.tar.gz 173025 BLAKE2B 54679c24804c195ae55b9f49589e331dde92c6d89aaa20e827539e9a4e0010c7549cdd5cf02a7ebed83f953ab2a6f1d9cc9a98cf45c3dc7758ae4938c9c43713 SHA512 ecc58e7909648aaa22aefbf76ee2c5a2bece4b1b88da9c7eda1b69a46247e619ff99c4366afd6015f95debd68c1a6b89292c677b9049462d0fc0255fbc0c2a33
diff --git a/sys-cluster/ceph/ceph-16.2.9.ebuild b/sys-cluster/ceph/ceph-16.2.9-r1.ebuild
similarity index 99%
rename from sys-cluster/ceph/ceph-16.2.9.ebuild
rename to sys-cluster/ceph/ceph-16.2.9-r1.ebuild
index 688c98bb2b8f..880937c7a706 100644
--- a/sys-cluster/ceph/ceph-16.2.9.ebuild
+++ b/sys-cluster/ceph/ceph-16.2.9-r1.ebuild
@@ -48,7 +48,7 @@ DEPEND="
dev-cpp/gflags:=
<dev-libs/leveldb-1.23:=[snappy,tcmalloc(-)?]
dev-libs/libaio:=
- dev-libs/libfmt:=
+ <dev-libs/libfmt-9:=
dev-libs/libnl:3=
dev-libs/libxml2:=
dev-libs/libevent:=
@@ -217,6 +217,7 @@ PATCHES=(
"${FILESDIR}/ceph-16.2.2-system-zstd.patch"
"${FILESDIR}/ceph-16.2.7-string-includes.patch"
"${FILESDIR}/ceph-17.2.0-fuse3.patch"
+ "${FILESDIR}/ceph-16.2.9-python310.patch"
)
check-reqs_export_vars() {
diff --git a/sys-cluster/ceph/files/ceph-16.2.9-python310.patch b/sys-cluster/ceph/files/ceph-16.2.9-python310.patch
new file mode 100644
index 000000000000..403cfe2f3d1d
--- /dev/null
+++ b/sys-cluster/ceph/files/ceph-16.2.9-python310.patch
@@ -0,0 +1,12 @@
+diff --git a/src/mgr/CMakeLists.txt b/src/mgr/CMakeLists.txt
+index 38aad299ccb..8e152e060ea 100644
+--- a/src/mgr/CMakeLists.txt
++++ b/src/mgr/CMakeLists.txt
+@@ -34,6 +34,7 @@ if(WITH_MGR)
+ mgr_commands.cc
+ $<TARGET_OBJECTS:mgr_cap_obj>)
+ add_executable(ceph-mgr ${mgr_srcs})
++ target_compile_definitions(ceph-mgr PRIVATE PY_SSIZE_T_CLEAN)
+ target_link_libraries(ceph-mgr
+ osdc client heap_profiler
+ global-static ceph-common
^ permalink raw reply related [flat|nested] 48+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-cluster/ceph/files/, sys-cluster/ceph/
@ 2022-08-12 20:46 Patrick McLean
0 siblings, 0 replies; 48+ messages in thread
From: Patrick McLean @ 2022-08-12 20:46 UTC (permalink / raw
To: gentoo-commits
commit: 0fb3b4acc70849deeee7a7cf07bc111e34be12fc
Author: Patrick McLean <chutzpah <AT> gentoo <DOT> org>
AuthorDate: Fri Aug 12 20:45:59 2022 +0000
Commit: Patrick McLean <chutzpah <AT> gentoo <DOT> org>
CommitDate: Fri Aug 12 20:46:44 2022 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=0fb3b4ac
sys-cluster/ceph: Add patch to attempt to fix bug #854681
I am unable to reproduce this bug, but this patch should theoretically fix it.
Please reopen the bug if the issue still exists.
Closes: https://bugs.gentoo.org/854681
Signed-off-by: Patrick McLean <chutzpah <AT> gentoo.org>
sys-cluster/ceph/ceph-17.2.3.ebuild | 1 +
sys-cluster/ceph/files/ceph-17.2.3-gcc12.patch | 12 ++++++++++++
2 files changed, 13 insertions(+)
diff --git a/sys-cluster/ceph/ceph-17.2.3.ebuild b/sys-cluster/ceph/ceph-17.2.3.ebuild
index 8a67048c3455..49a8857b5c24 100644
--- a/sys-cluster/ceph/ceph-17.2.3.ebuild
+++ b/sys-cluster/ceph/ceph-17.2.3.ebuild
@@ -216,6 +216,7 @@ PATCHES=(
"${FILESDIR}/ceph-17.2.0-fuse3.patch"
"${FILESDIR}/ceph-17.2.0-osd_class_dir.patch"
"${FILESDIR}/ceph-17.2.1-python310.patch"
+ "${FILESDIR}/ceph-17.2.3-gcc12.patch"
)
check-reqs_export_vars() {
diff --git a/sys-cluster/ceph/files/ceph-17.2.3-gcc12.patch b/sys-cluster/ceph/files/ceph-17.2.3-gcc12.patch
new file mode 100644
index 000000000000..e5e77b4116f6
--- /dev/null
+++ b/sys-cluster/ceph/files/ceph-17.2.3-gcc12.patch
@@ -0,0 +1,12 @@
+diff --git a/src/include/buffer.h b/src/include/buffer.h
+index 0c89367dd3b..98fcd7c3e08 100644
+--- a/src/include/buffer.h
++++ b/src/include/buffer.h
+@@ -62,6 +62,7 @@
+ #endif
+
+ #include "inline_memory.h"
++#include <memory>
+
+ #define CEPH_BUFFER_API
+
^ permalink raw reply related [flat|nested] 48+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-cluster/ceph/files/, sys-cluster/ceph/
@ 2022-08-22 20:29 Patrick McLean
0 siblings, 0 replies; 48+ messages in thread
From: Patrick McLean @ 2022-08-22 20:29 UTC (permalink / raw
To: gentoo-commits
commit: bf4283275302cbdf950f965f94920071068a2a8d
Author: Patrick McLean <chutzpah <AT> gentoo <DOT> org>
AuthorDate: Mon Aug 22 20:27:40 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=bf428327
sys-cluster/ceph: gcc12 (bug #866039), boost dep (bug #865509)
Also reduce filesdir usage a bit.
Closes: https://bugs.gentoo.org/865509
Closes: https://bugs.gentoo.org/866039
Signed-off-by: Patrick McLean <chutzpah <AT> gentoo.org>
sys-cluster/ceph/Manifest | 1 +
...{ceph-16.2.10.ebuild => ceph-16.2.10-r1.ebuild} | 5 ++-
.../ceph/files/ceph-15.2.15-snappy-1.1.9.patch | 22 -----------
sys-cluster/ceph/files/ceph-16.2.10-gcc12.patch | 45 ++++++++++++++++++++++
4 files changed, 49 insertions(+), 24 deletions(-)
diff --git a/sys-cluster/ceph/Manifest b/sys-cluster/ceph/Manifest
index 1d0f28a97518..85706e051c7c 100644
--- a/sys-cluster/ceph/Manifest
+++ b/sys-cluster/ceph/Manifest
@@ -1,4 +1,5 @@
DIST ceph-15.2.17.tar.gz 148640102 BLAKE2B a10dd702ffca005a8741bff645eaf2f671300be969edf9e9e321e29abdc34a403de7c56684fd1509d30c2bd32b996fff3aaa88d1d08c3d258d6f5ef43ecefddf SHA512 952cd4db057fcab5efa3c6331fbc19cf1e904f5855266c2ed13e41ffb2e5a7d18ed133bd113fea493149005a182f429eef39931c4ceac7776aefe84a208a745a
+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-xsimd-17.2.3.tar.gz 173025 BLAKE2B 54679c24804c195ae55b9f49589e331dde92c6d89aaa20e827539e9a4e0010c7549cdd5cf02a7ebed83f953ab2a6f1d9cc9a98cf45c3dc7758ae4938c9c43713 SHA512 ecc58e7909648aaa22aefbf76ee2c5a2bece4b1b88da9c7eda1b69a46247e619ff99c4366afd6015f95debd68c1a6b89292c677b9049462d0fc0255fbc0c2a33
diff --git a/sys-cluster/ceph/ceph-16.2.10.ebuild b/sys-cluster/ceph/ceph-16.2.10-r1.ebuild
similarity index 99%
rename from sys-cluster/ceph/ceph-16.2.10.ebuild
rename to sys-cluster/ceph/ceph-16.2.10-r1.ebuild
index 7100183dd1ba..fab42ed01f7d 100644
--- a/sys-cluster/ceph/ceph-16.2.10.ebuild
+++ b/sys-cluster/ceph/ceph-16.2.10-r1.ebuild
@@ -40,7 +40,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:=
@@ -92,7 +92,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] )
!system-boost? ( $(python_gen_impl_dep '' 3.8 3.9) )
uring? ( sys-libs/liburing:= )
xfs? ( sys-fs/xfsprogs:= )
@@ -218,6 +218,7 @@ PATCHES=(
"${FILESDIR}/ceph-16.2.7-string-includes.patch"
"${FILESDIR}/ceph-17.2.0-fuse3.patch"
"${FILESDIR}/ceph-16.2.9-python310.patch"
+ "${FILESDIR}/ceph-16.2.10-gcc12.patch"
)
check-reqs_export_vars() {
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
index 3b38c1708733..3319f3989ff9 100644
--- 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
@@ -1,25 +1,3 @@
-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
diff --git a/sys-cluster/ceph/files/ceph-16.2.10-gcc12.patch b/sys-cluster/ceph/files/ceph-16.2.10-gcc12.patch
new file mode 100644
index 000000000000..79bc5d41f410
--- /dev/null
+++ b/sys-cluster/ceph/files/ceph-16.2.10-gcc12.patch
@@ -0,0 +1,45 @@
+diff --git a/src/include/buffer.h b/src/include/buffer.h
+index 7c8f90e9fb5d3..71cb01935000b 100644
+--- a/src/include/buffer.h
++++ b/src/include/buffer.h
+@@ -41,6 +41,7 @@
+ #include <iosfwd>
+ #include <iomanip>
+ #include <list>
++#include <memory>
+ #include <vector>
+ #include <string>
+ #if __cplusplus >= 201703L
+
+diff --git a/src/rgw/rgw_string.h b/src/rgw/rgw_string.h
+index 257daa9c1fe6e..90e64f98a2587 100644
+--- a/src/rgw/rgw_string.h
++++ b/src/rgw/rgw_string.h
+@@ -8,6 +8,8 @@
+ #include <stdlib.h>
+ #include <limits.h>
+ #include <string_view>
++#include <string>
++#include <stdexcept>
+
+ #include <boost/container/small_vector.hpp>
+
+
+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) {
+ }
+
+ 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] 48+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-cluster/ceph/files/, sys-cluster/ceph/
@ 2022-08-23 7:44 罗百科
0 siblings, 0 replies; 48+ messages in thread
From: 罗百科 @ 2022-08-23 7:44 UTC (permalink / raw
To: gentoo-commits
commit: 624ff5962199a2fb0891a96e1afbaac0677d5578
Author: Patrick Lauer <patrick <AT> gentoo <DOT> org>
AuthorDate: Tue Aug 23 07:44:05 2022 +0000
Commit: 罗百科 <patrick <AT> gentoo <DOT> org>
CommitDate: Tue Aug 23 07:44:34 2022 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=624ff596
sys-cluster/ceph: More gcc12 fixes
Patches from
https://github.com/lgirdk/meta-virtualization/tree/master/recipes-extended/ceph/ceph
Package-Manager: Portage-3.0.30, Repoman-3.0.3
Signed-off-by: Patrick Lauer <patrick <AT> gentoo.org>
sys-cluster/ceph/ceph-17.2.3-r2.ebuild | 462 +++++++++++++++++++++
.../ceph/files/ceph-17.2.0-gcc12-dout.patch | 42 ++
| 30 ++
3 files changed, 534 insertions(+)
diff --git a/sys-cluster/ceph/ceph-17.2.3-r2.ebuild b/sys-cluster/ceph/ceph-17.2.3-r2.ebuild
new file mode 100644
index 000000000000..c31770f38434
--- /dev/null
+++ b/sys-cluster/ceph/ceph-17.2.3-r2.ebuild
@@ -0,0 +1,462 @@
+# 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-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/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},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.1-python310.patch"
+ "${FILESDIR}/ceph-17.2.3-gcc12.patch"
+ "${FILESDIR}/ceph-17.2.0-gcc12-dout.patch"
+ "${FILESDIR}/ceph-17.2.0-gcc12-header.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.0-gcc12-dout.patch b/sys-cluster/ceph/files/ceph-17.2.0-gcc12-dout.patch
new file mode 100644
index 000000000000..d119bf1bf11d
--- /dev/null
+++ b/sys-cluster/ceph/files/ceph-17.2.0-gcc12-dout.patch
@@ -0,0 +1,42 @@
+From 841806de212226921eeaeb3eea054bda8ccce616 Mon Sep 17 00:00:00 2001
+From: Radoslaw Zarzynski <rzarzyns@redhat.com>
+Date: Wed, 19 Jan 2022 15:24:11 +0000
+Subject: [PATCH 2/2] common: fix FTBFS due to dout & need_dynamic on GCC-12
+
+For details see:
+https://gist.github.com/rzarzynski/d6d2df6888923bef6a3e764f4856853f.
+
+Special thanks to Kaleb Keithley who reported the issue
+and tested the fix!
+
+Fixes: https://tracker.ceph.com/issues/53896
+Signed-off-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
+
+Upstream-Status: Backport [963d756ded40f5adf2efef53893c917bec1845c1]
+Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
+---
+ src/common/dout.h | 5 +++--
+ 1 file changed, 3 insertions(+), 2 deletions(-)
+
+diff --git a/src/common/dout.h b/src/common/dout.h
+index c7c08182..42f49915 100644
+--- a/src/common/dout.h
++++ b/src/common/dout.h
+@@ -99,11 +99,12 @@ namespace ceph::dout {
+ template<typename T>
+ struct dynamic_marker_t {
+ T value;
+- operator T() const { return value; }
++ // constexpr ctor isn't needed as it's an aggregate type
++ constexpr operator T() const { return value; }
+ };
+
+ template<typename T>
+-dynamic_marker_t<T> need_dynamic(T&& t) {
++constexpr dynamic_marker_t<T> need_dynamic(T&& t) {
+ return dynamic_marker_t<T>{ std::forward<T>(t) };
+ }
+
+--
+2.36.0
+
--git a/sys-cluster/ceph/files/ceph-17.2.0-gcc12-header.patch b/sys-cluster/ceph/files/ceph-17.2.0-gcc12-header.patch
new file mode 100644
index 000000000000..70d3eb94c97a
--- /dev/null
+++ b/sys-cluster/ceph/files/ceph-17.2.0-gcc12-header.patch
@@ -0,0 +1,30 @@
+From 496465d9238109a93612e28682273e5bf576823b Mon Sep 17 00:00:00 2001
+From: Chen Qi <Qi.Chen@windriver.com>
+Date: Sun, 22 May 2022 19:40:59 -0700
+Subject: [PATCH 1/2] buffer.h: add missing header file due to gcc upgrade
+
+The header file <memory> have been changed to be no longer included by other
+heades, thus requiring explicit include. See https://gcc.gnu.org/gcc-12/porting_to.html
+
+Upstream-Status: Pending
+
+Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
+---
+ src/include/buffer.h | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/src/include/buffer.h b/src/include/buffer.h
+index 5c8b427d..88845ee6 100644
+--- a/src/include/buffer.h
++++ b/src/include/buffer.h
+@@ -43,6 +43,7 @@
+ #include <list>
+ #include <vector>
+ #include <string>
++#include <memory>
+ #if __cplusplus >= 201703L
+ #include <string_view>
+ #endif // __cplusplus >= 201703L
+--
+2.36.0
+
^ permalink raw reply related [flat|nested] 48+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-cluster/ceph/files/, sys-cluster/ceph/
@ 2022-08-24 23:27 Patrick McLean
0 siblings, 0 replies; 48+ messages in thread
From: Patrick McLean @ 2022-08-24 23:27 UTC (permalink / raw
To: gentoo-commits
commit: dc412bfceb29b3de1cab492e25dd17ead7eabf13
Author: Patrick McLean <chutzpah <AT> gentoo <DOT> org>
AuthorDate: Wed Aug 24 23:27:37 2022 +0000
Commit: Patrick McLean <chutzpah <AT> gentoo <DOT> org>
CommitDate: Wed Aug 24 23:27:37 2022 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=dc412bfc
sys-cluster/ceph: Make sure LDFLAGS is respected for python
Signed-off-by: Patrick McLean <chutzpah <AT> gentoo.org>
sys-cluster/ceph/ceph-16.2.10-r2.ebuild | 1 +
sys-cluster/ceph/files/ceph-16.2.10-flags.patch | 14 ++++++++++++++
2 files changed, 15 insertions(+)
diff --git a/sys-cluster/ceph/ceph-16.2.10-r2.ebuild b/sys-cluster/ceph/ceph-16.2.10-r2.ebuild
index 93265481033e..546f6123d069 100644
--- a/sys-cluster/ceph/ceph-16.2.10-r2.ebuild
+++ b/sys-cluster/ceph/ceph-16.2.10-r2.ebuild
@@ -219,6 +219,7 @@ PATCHES=(
"${FILESDIR}/ceph-17.2.0-fuse3.patch"
"${FILESDIR}/ceph-16.2.9-python310.patch"
"${FILESDIR}/ceph-17.2.0-gcc12-header.patch"
+ "${FILESDIR}/ceph-16.2.10-flags.patch"
)
check-reqs_export_vars() {
diff --git a/sys-cluster/ceph/files/ceph-16.2.10-flags.patch b/sys-cluster/ceph/files/ceph-16.2.10-flags.patch
new file mode 100644
index 000000000000..79002b3a5fce
--- /dev/null
+++ b/sys-cluster/ceph/files/ceph-16.2.10-flags.patch
@@ -0,0 +1,14 @@
+diff --git a/cmake/modules/Distutils.cmake b/cmake/modules/Distutils.cmake
+index 01a6fc500c8..9eb4658482f 100644
+--- a/cmake/modules/Distutils.cmake
++++ b/cmake/modules/Distutils.cmake
+@@ -90,7 +90,8 @@ function(distutils_add_cython_module target name src)
+ CXX="${PY_CXX}"
+ LDSHARED="${PY_LDSHARED}"
+ OPT=\"-DNDEBUG -g -fwrapv -w\"
+- LDFLAGS=-L${CMAKE_LIBRARY_OUTPUT_DIRECTORY}
++ CFLAGS=${CMAKE_C_FLAGS}
++ 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] 48+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-cluster/ceph/files/, sys-cluster/ceph/
@ 2022-10-20 1:27 Patrick McLean
0 siblings, 0 replies; 48+ messages in thread
From: Patrick McLean @ 2022-10-20 1:27 UTC (permalink / raw
To: gentoo-commits
commit: 3db33760c4de33531b54ae4057ea1e6efe22c1aa
Author: Patrick McLean <chutzpah <AT> gentoo <DOT> org>
AuthorDate: Thu Oct 20 01:26:57 2022 +0000
Commit: Patrick McLean <chutzpah <AT> gentoo <DOT> org>
CommitDate: Thu Oct 20 01:26:57 2022 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=3db33760
sys-cluster/ceph: add 17.2.5
Closes: https://bugs.gentoo.org/866165
Closes: https://bugs.gentoo.org/871942
Signed-off-by: Patrick McLean <chutzpah <AT> gentoo.org>
sys-cluster/ceph/Manifest | 2 +
sys-cluster/ceph/ceph-17.2.5.ebuild | 478 +++++++++++++++++++++
.../files/ceph-17.2.5-suppress-cmake-warning.patch | 11 +
3 files changed, 491 insertions(+)
diff --git a/sys-cluster/ceph/Manifest b/sys-cluster/ceph/Manifest
index 2b750ba706c0..ccee4ae209f0 100644
--- a/sys-cluster/ceph/Manifest
+++ b/sys-cluster/ceph/Manifest
@@ -3,5 +3,7 @@ DIST ceph-16.2.10.tar.gz 157176743 BLAKE2B 065b6f1941f87fde150ab22ba45aa9f58069a
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-17.2.5.tar.gz 169004360 BLAKE2B b6d8df5f9b58de5e42fed5d16b1c82d2178297f8bb1b6cf9c42ff55d6a5b2e20fe413feeab038738f62342576ef59fff7091b87648c10cf71401377b0ffa5dc8 SHA512 10cd3d9eb01c91c148a92f1f7d040bbd78af5bb1ab15d071d93f54b37097dc9e1268eed9e788fe32794d137f6af81abd6a2aeaee39cef44d2c45234a15cc6020
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
+DIST ceph-xsimd-17.2.5.tar.gz 173025 BLAKE2B 54679c24804c195ae55b9f49589e331dde92c6d89aaa20e827539e9a4e0010c7549cdd5cf02a7ebed83f953ab2a6f1d9cc9a98cf45c3dc7758ae4938c9c43713 SHA512 ecc58e7909648aaa22aefbf76ee2c5a2bece4b1b88da9c7eda1b69a46247e619ff99c4366afd6015f95debd68c1a6b89292c677b9049462d0fc0255fbc0c2a33
diff --git a/sys-cluster/ceph/ceph-17.2.5.ebuild b/sys-cluster/ceph/ceph-17.2.5.ebuild
new file mode 100644
index 000000000000..59cec215e6f8
--- /dev/null
+++ b/sys-cluster/ceph/ceph-17.2.5.ebuild
@@ -0,0 +1,478 @@
+# 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-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/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"
+ # https://bugs.gentoo.org/866165
+ "${FILESDIR}/ceph-17.2.5-suppress-cmake-warning.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
+ # bug #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/${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.5-suppress-cmake-warning.patch b/sys-cluster/ceph/files/ceph-17.2.5-suppress-cmake-warning.patch
new file mode 100644
index 000000000000..99022cd082f3
--- /dev/null
+++ b/sys-cluster/ceph/files/ceph-17.2.5-suppress-cmake-warning.patch
@@ -0,0 +1,11 @@
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 7ffe1065d5c..2ea9a5125e1 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -708,3 +708,6 @@ add_tags(ctags
+ EXCLUDE_OPTS ${CTAG_EXCLUDES}
+ EXCLUDES "*.js" "*.css" ".tox" "python-common/build")
+ add_custom_target(tags DEPENDS ctags)
++
++# suppress warning in cmake.eclass
++set(UNUSED_VAR "${CMAKE_INSTALL_LIBDIR}")
^ permalink raw reply related [flat|nested] 48+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-cluster/ceph/files/, sys-cluster/ceph/
@ 2022-12-30 6:33 Sam James
0 siblings, 0 replies; 48+ messages in thread
From: Sam James @ 2022-12-30 6:33 UTC (permalink / raw
To: gentoo-commits
commit: a3b86c8057583ba85cb568b61795bd4a4ee37227
Author: Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Fri Dec 30 04:55:03 2022 +0000
Commit: Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Fri Dec 30 04:55:04 2022 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=a3b86c80
sys-cluster/ceph: fix build w/ boost 1.81
Thanks-to: Michael Uleysky <uleysky <AT> gmail.com>
Closes: https://bugs.gentoo.org/887481
Signed-off-by: Sam James <sam <AT> gentoo.org>
sys-cluster/ceph/ceph-17.2.5-r2.ebuild | 477 +++++++++++++++++++++
.../ceph/files/ceph-17.2.5-boost-1.81.patch | 49 +++
2 files changed, 526 insertions(+)
diff --git a/sys-cluster/ceph/ceph-17.2.5-r2.ebuild b/sys-cluster/ceph/ceph-17.2.5-r2.ebuild
new file mode 100644
index 000000000000..1401c2d28548
--- /dev/null
+++ b/sys-cluster/ceph/ceph-17.2.5-r2.ebuild
@@ -0,0 +1,477 @@
+# 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-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-gcc13.patch"
+ "${FILESDIR}/ceph-17.2.5-boost-1.81.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/${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.5-boost-1.81.patch b/sys-cluster/ceph/files/ceph-17.2.5-boost-1.81.patch
new file mode 100644
index 000000000000..2dd06edb312f
--- /dev/null
+++ b/sys-cluster/ceph/files/ceph-17.2.5-boost-1.81.patch
@@ -0,0 +1,49 @@
+https://bugs.gentoo.org/887481
+--- a/src/rgw/rgw_asio_client.cc
++++ b/src/rgw/rgw_asio_client.cc
+@@ -39,11 +39,11 @@
+ const auto& value = header->value();
+
+ if (field == beast::http::field::content_length) {
+- env.set("CONTENT_LENGTH", value.to_string());
++ env.set("CONTENT_LENGTH", value);
+ continue;
+ }
+ if (field == beast::http::field::content_type) {
+- env.set("CONTENT_TYPE", value.to_string());
++ env.set("CONTENT_TYPE", value);
+ continue;
+ }
+
+@@ -62,26 +62,26 @@
+ }
+ *dest = '\0';
+
+- env.set(buf, value.to_string());
++ env.set(buf, value);
+ }
+
+ int major = request.version() / 10;
+ int minor = request.version() % 10;
+ env.set("HTTP_VERSION", std::to_string(major) + '.' + std::to_string(minor));
+
+- env.set("REQUEST_METHOD", request.method_string().to_string());
++ env.set("REQUEST_METHOD", request.method_string());
+
+ // split uri from query
+ auto uri = request.target();
+ auto pos = uri.find('?');
+ if (pos != uri.npos) {
+ auto query = uri.substr(pos + 1);
+- env.set("QUERY_STRING", query.to_string());
++ env.set("QUERY_STRING", query);
+ uri = uri.substr(0, pos);
+ }
+- env.set("SCRIPT_URI", uri.to_string());
++ env.set("SCRIPT_URI", uri);
+
+- env.set("REQUEST_URI", request.target().to_string());
++ env.set("REQUEST_URI", request.target());
+
+ char port_buf[16];
+ snprintf(port_buf, sizeof(port_buf), "%d", local_endpoint.port());
^ permalink raw reply related [flat|nested] 48+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-cluster/ceph/files/, sys-cluster/ceph/
@ 2023-01-13 1:55 Patrick McLean
0 siblings, 0 replies; 48+ messages in thread
From: Patrick McLean @ 2023-01-13 1:55 UTC (permalink / raw
To: gentoo-commits
commit: 7d581fd5a9f851e3be2d98c1767b9f88230ba62a
Author: Patrick McLean <chutzpah <AT> gentoo <DOT> org>
AuthorDate: Thu Jan 12 21:31:31 2023 +0000
Commit: Patrick McLean <chutzpah <AT> gentoo <DOT> org>
CommitDate: Fri Jan 13 01:54:53 2023 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=7d581fd5
sys-cluster/ceph: Revbumps, fix location of console output logs
The init script was writing the console logs to /var/log/ceph rather than
/var/log/ceph/console. This was resulting in the copytruncate in the logrotate
not applying, so the logs were not effectively being rotated.
This also fixes some definitions in the init script.
Signed-off-by: Patrick McLean <chutzpah <AT> gentoo.org>
sys-cluster/ceph/ceph-15.2.17-r2.ebuild | 409 +++++++++++++++++++++++++++
sys-cluster/ceph/ceph-16.2.10-r4.ebuild | 473 +++++++++++++++++++++++++++++++
sys-cluster/ceph/ceph-17.2.5-r3.ebuild | 477 ++++++++++++++++++++++++++++++++
sys-cluster/ceph/files/ceph.initd-r13 | 115 ++++++++
4 files changed, 1474 insertions(+)
diff --git a/sys-cluster/ceph/ceph-15.2.17-r2.ebuild b/sys-cluster/ceph/ceph-15.2.17-r2.ebuild
new file mode 100644
index 000000000000..d250506f978d
--- /dev/null
+++ b/sys-cluster/ceph/ceph-15.2.17-r2.ebuild
@@ -0,0 +1,409 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+PYTHON_COMPAT=( python3_{8..9} )
+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 \
+ 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=""
+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/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:=[snappy,tcmalloc(-)?]
+ dev-libs/libaio:=
+ dev-libs/libfmt:=
+ <dev-libs/libfmt-9:=
+ 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/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:=[context,python,${PYTHON_USEDEP}] )
+ !system-boost? ( <sys-libs/glibc-2.34 )
+ uring? ( sys-libs/liburing:= )
+ 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/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/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/setuptools[${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}]
+ )
+"
+REQUIRED_USE="
+ ${PYTHON_REQUIRED_USE}
+ ?? ( jemalloc tcmalloc )
+ 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-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
+ distutils-r1_src_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
+ distutils-r1_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/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/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
+ udev_reload
+}
+
+pkg_postrm() {
+ udev_reload
+}
diff --git a/sys-cluster/ceph/ceph-16.2.10-r4.ebuild b/sys-cluster/ceph/ceph-16.2.10-r4.ebuild
new file mode 100644
index 000000000000..d13869019397
--- /dev/null
+++ b/sys-cluster/ceph/ceph-16.2.10-r4.ebuild
@@ -0,0 +1,473 @@
+# Copyright 1999-2023 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/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-9:=
+ 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:=[context,python,${PYTHON_USEDEP},zlib] )
+ !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/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/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}]
+ )
+"
+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_9
+ python_targets_python3_10
+ )
+"
+
+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"
+ "${FILESDIR}/ceph-16.2.9-python310.patch"
+ "${FILESDIR}/ceph-17.2.0-gcc12-header.patch"
+ "${FILESDIR}/ceph-16.2.10-flags.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/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}"
+ 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
+}
+
+pkg_postrm() {
+ udev_reload
+}
diff --git a/sys-cluster/ceph/ceph-17.2.5-r3.ebuild b/sys-cluster/ceph/ceph-17.2.5-r3.ebuild
new file mode 100644
index 000000000000..93999ca1aac5
--- /dev/null
+++ b/sys-cluster/ceph/ceph-17.2.5-r3.ebuild
@@ -0,0 +1,477 @@
+# Copyright 1999-2023 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-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-gcc13.patch"
+ "${FILESDIR}/ceph-17.2.5-boost-1.81.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.initd-r13 b/sys-cluster/ceph/files/ceph.initd-r13
new file mode 100644
index 000000000000..2d158ad80be3
--- /dev/null
+++ b/sys-cluster/ceph/files/ceph.initd-r13
@@ -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/console/ceph}"
+: "${stderr:=/var/log/ceph/console/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] 48+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-cluster/ceph/files/, sys-cluster/ceph/
@ 2023-04-11 23:28 Patrick McLean
0 siblings, 0 replies; 48+ messages in thread
From: Patrick McLean @ 2023-04-11 23:28 UTC (permalink / raw
To: gentoo-commits
commit: 043478b715372b5abf09a1b992d8ea135f5d3d32
Author: Patrick McLean <chutzpah <AT> gentoo <DOT> org>
AuthorDate: Tue Apr 11 23:28:39 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=043478b7
sys-cluster/ceph: drop 15.2.17-r3
Signed-off-by: Patrick McLean <chutzpah <AT> gentoo.org>
sys-cluster/ceph/Manifest | 1 -
sys-cluster/ceph/ceph-15.2.17-r3.ebuild | 408 ---------------------
sys-cluster/ceph/files/ceph-13.2.0-cflags.patch | 26 --
.../ceph/files/ceph-15.2.0-rocksdb-cmake.patch | 15 -
.../ceph/files/ceph-15.2.15-no-virtualenvs.patch | 73 ----
.../ceph/files/ceph-15.2.15-snappy-1.1.9.patch | 14 -
.../ceph/files/ceph-15.2.2-systemd-unit.patch | 12 -
.../ceph/files/ceph-15.2.4-system-uring.patch | 66 ----
...ompile-isal_compress-if-don-t-have-SSE4_1.patch | 22 --
sys-cluster/ceph/files/ceph.initd-r12 | 115 ------
10 files changed, 752 deletions(-)
diff --git a/sys-cluster/ceph/Manifest b/sys-cluster/ceph/Manifest
index b998db99a74a..40e9e424d312 100644
--- a/sys-cluster/ceph/Manifest
+++ b/sys-cluster/ceph/Manifest
@@ -1,4 +1,3 @@
-DIST ceph-15.2.17.tar.gz 148640102 BLAKE2B a10dd702ffca005a8741bff645eaf2f671300be969edf9e9e321e29abdc34a403de7c56684fd1509d30c2bd32b996fff3aaa88d1d08c3d258d6f5ef43ecefddf SHA512 952cd4db057fcab5efa3c6331fbc19cf1e904f5855266c2ed13e41ffb2e5a7d18ed133bd113fea493149005a182f429eef39931c4ceac7776aefe84a208a745a
DIST ceph-16.2.10.tar.gz 157176743 BLAKE2B 065b6f1941f87fde150ab22ba45aa9f58069acf7f33a483456faf0a26e41936846944e800ccd7f99bd8863db8438ae70804621522f75065c0b2506522c4fdd7d SHA512 ae164c24462c3e08763d202acc3e2fe86ffc09f312b5059bae07863e804fc47bd158fc130aa2923246ffcfe26ae6d6d9317326aec96373226e6f9030d7123c8b
DIST ceph-16.2.11.tar.gz 157171361 BLAKE2B f9b7398da50b9c5a7a553de0d8db5412745d1077310d57ee8682e1302d49bae2b8454326bd27c7781386c8ba267c41e72b0cc5c142839d7288ebd69662679fd4 SHA512 905e36bc08f5cf1af1eca7fb467dd9e946d44f7ed3561c262afa9caeb35443a445a86e0b1f662754727213a4a123bc2a5eb1f080ec6697743d235449d34681fd
DIST ceph-17.2.5.tar.gz 169004360 BLAKE2B b6d8df5f9b58de5e42fed5d16b1c82d2178297f8bb1b6cf9c42ff55d6a5b2e20fe413feeab038738f62342576ef59fff7091b87648c10cf71401377b0ffa5dc8 SHA512 10cd3d9eb01c91c148a92f1f7d040bbd78af5bb1ab15d071d93f54b37097dc9e1268eed9e788fe32794d137f6af81abd6a2aeaee39cef44d2c45234a15cc6020
diff --git a/sys-cluster/ceph/ceph-15.2.17-r3.ebuild b/sys-cluster/ceph/ceph-15.2.17-r3.ebuild
deleted file mode 100644
index 931743cffc69..000000000000
--- a/sys-cluster/ceph/ceph-15.2.17-r3.ebuild
+++ /dev/null
@@ -1,408 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-PYTHON_COMPAT=( python3_9 )
-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 \
- 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=""
-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/libfmt-9:=
- 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/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:=[context,python,${PYTHON_USEDEP}] )
- !system-boost? ( <sys-libs/glibc-2.34 )
- uring? ( sys-libs/liburing:= )
- 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/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/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/setuptools[${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}]
- )
-"
-REQUIRED_USE="
- ${PYTHON_REQUIRED_USE}
- ?? ( jemalloc tcmalloc )
- 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-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
- distutils-r1_src_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
- distutils-r1_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/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/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
- udev_reload
-}
-
-pkg_postrm() {
- udev_reload
-}
diff --git a/sys-cluster/ceph/files/ceph-13.2.0-cflags.patch b/sys-cluster/ceph/files/ceph-13.2.0-cflags.patch
deleted file mode 100644
index b275a177da35..000000000000
--- a/sys-cluster/ceph/files/ceph-13.2.0-cflags.patch
+++ /dev/null
@@ -1,26 +0,0 @@
-diff --git a/cmake/modules/BuildBoost.cmake b/cmake/modules/BuildBoost.cmake
-index d6572115a4..cc0bdddc9f 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}")
-
- list(FIND Boost_BUILD_COMPONENTS "python" with_python)
-diff --git a/src/compressor/zstd/CMakeLists.txt b/src/compressor/zstd/CMakeLists.txt
-index 5a80aa539c..8d6ff5c8f0 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} -O3")
-
- include(ExternalProject)
- ExternalProject_Add(zstd_ext
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
deleted file mode 100644
index 9b3d34858e76..000000000000
--- a/sys-cluster/ceph/files/ceph-15.2.0-rocksdb-cmake.patch
+++ /dev/null
@@ -1,15 +0,0 @@
-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/files/ceph-15.2.15-no-virtualenvs.patch b/sys-cluster/ceph/files/ceph-15.2.15-no-virtualenvs.patch
deleted file mode 100644
index 5ef7fb3a73e1..000000000000
--- a/sys-cluster/ceph/files/ceph-15.2.15-no-virtualenvs.patch
+++ /dev/null
@@ -1,73 +0,0 @@
-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
deleted file mode 100644
index 3319f3989ff9..000000000000
--- a/sys-cluster/ceph/files/ceph-15.2.15-snappy-1.1.9.patch
+++ /dev/null
@@ -1,14 +0,0 @@
-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;
- }
diff --git a/sys-cluster/ceph/files/ceph-15.2.2-systemd-unit.patch b/sys-cluster/ceph/files/ceph-15.2.2-systemd-unit.patch
deleted file mode 100644
index fdd3a6ac2ac7..000000000000
--- a/sys-cluster/ceph/files/ceph-15.2.2-systemd-unit.patch
+++ /dev/null
@@ -1,12 +0,0 @@
-diff -ur ceph-15.2.2/systemd/ceph-osd@.service.in ceph-15.2.2.af/systemd/ceph-osd@.service.in
---- ceph-15.2.2/systemd/ceph-osd@.service.in 2020-05-18 16:25:12.000000000 +0000
-+++ ceph-15.2.2.af/systemd/ceph-osd@.service.in 2020-05-21 21:20:58.318655944 +0000
-@@ -10,7 +10,7 @@
- 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=/usr/libexec/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.4-system-uring.patch b/sys-cluster/ceph/files/ceph-15.2.4-system-uring.patch
deleted file mode 100644
index 64df81bf97b5..000000000000
--- a/sys-cluster/ceph/files/ceph-15.2.4-system-uring.patch
+++ /dev/null
@@ -1,66 +0,0 @@
-diff --git a/src/os/CMakeLists.txt b/src/os/CMakeLists.txt
-index 760244b9b4..7f83923671 100644
---- a/src/os/CMakeLists.txt
-+++ b/src/os/CMakeLists.txt
-@@ -134,27 +134,6 @@ if(WITH_EVENTTRACE)
- endif()
-
- if(WITH_LIBURING)
-- include(ExternalProject)
-- if("${CMAKE_GENERATOR}" MATCHES "Make")
-- set(make_cmd "$(MAKE)")
-- else()
-- set(make_cmd "make")
-- endif()
-- ExternalProject_Add(liburing_ext
-- DOWNLOAD_DIR ${CMAKE_BINARY_DIR}/src/
-- GIT_REPOSITORY http://git.kernel.dk/liburing
-- GIT_TAG "4e360f71131918c36774f51688e5c65dea8d43f2"
-- SOURCE_DIR ${CMAKE_BINARY_DIR}/src/liburing
-- CONFIGURE_COMMAND <SOURCE_DIR>/configure
-- BUILD_COMMAND env CC=${CMAKE_C_COMPILER} ${make_cmd} -C src -s
-- BUILD_IN_SOURCE 1
-- INSTALL_COMMAND "")
-- unset(make_cmd)
-- add_library(liburing STATIC IMPORTED GLOBAL)
-- add_dependencies(liburing liburing_ext)
-- set_target_properties(liburing PROPERTIES
-- IMPORTED_LINK_INTERFACE_LANGUAGES "C"
-- IMPORTED_LOCATION "${CMAKE_BINARY_DIR}/src/liburing/src/liburing.a")
-- target_link_libraries(os liburing)
-- target_include_directories(os SYSTEM PRIVATE "${CMAKE_BINARY_DIR}/src/liburing/src/include")
-+ pkg_check_modules(LIBURING REQUIRED IMPORTED_TARGET liburing)
-+ target_link_libraries(os uring)
- endif(WITH_LIBURING)
-diff --git a/src/os/bluestore/io_uring.cc b/src/os/bluestore/io_uring.cc
-index 54fa0f9535..4ba83cf172 100644
---- a/src/os/bluestore/io_uring.cc
-+++ b/src/os/bluestore/io_uring.cc
-@@ -7,6 +7,8 @@
-
- #include "liburing.h"
- #include <sys/epoll.h>
-+#include <unistd.h>
-+#include <sys/syscall.h>
-
- /* Options */
-
-@@ -134,8 +136,7 @@ int ioring_queue_t::init(std::vector<int> &fds)
- if (ret < 0)
- return ret;
-
-- ret = io_uring_register(d->io_uring.ring_fd, IORING_REGISTER_FILES,
-- &fds[0], fds.size());
-+ ret = io_uring_register_files(&d->io_uring, &fds[0], fds.size());
- if (ret < 0) {
- ret = -errno;
- goto close_ring_fd;
-@@ -214,7 +215,7 @@ bool ioring_queue_t::supported()
- struct io_uring_params p;
-
- memset(&p, 0, sizeof(p));
-- int fd = io_uring_setup(16, &p);
-+ int fd = syscall(SYS_io_uring_setup, 16, &p);
- if (fd < 0)
- return false;
-
diff --git a/sys-cluster/ceph/files/ceph-15.2.9-dont-compile-isal_compress-if-don-t-have-SSE4_1.patch b/sys-cluster/ceph/files/ceph-15.2.9-dont-compile-isal_compress-if-don-t-have-SSE4_1.patch
deleted file mode 100644
index e9439a630185..000000000000
--- a/sys-cluster/ceph/files/ceph-15.2.9-dont-compile-isal_compress-if-don-t-have-SSE4_1.patch
+++ /dev/null
@@ -1,22 +0,0 @@
-diff --git a/src/compressor/zlib/ZlibCompressor.cc b/src/compressor/zlib/ZlibCompressor.cc
-index e3064d2a21..c86b19da6c 100644
---- a/src/compressor/zlib/ZlibCompressor.cc
-+++ b/src/compressor/zlib/ZlibCompressor.cc
-@@ -107,7 +107,7 @@ int ZlibCompressor::zlib_compress(const bufferlist &in, bufferlist &out)
- return 0;
- }
-
--#if __x86_64__ && defined(HAVE_BETTER_YASM_ELF64)
-+#if __x86_64__ && defined(HAVE_BETTER_YASM_ELF64) && defined(HAVE_INTEL_SSE4_1)
- int ZlibCompressor::isal_compress(const bufferlist &in, bufferlist &out)
- {
- int ret;
-@@ -167,7 +167,7 @@ int ZlibCompressor::compress(const bufferlist &in, bufferlist &out)
- if (qat_enabled)
- return qat_accel.compress(in, out);
- #endif
--#if __x86_64__ && defined(HAVE_BETTER_YASM_ELF64)
-+#if __x86_64__ && defined(HAVE_BETTER_YASM_ELF64) && defined(HAVE_INTEL_SSE4_1)
- if (isal_enabled)
- return isal_compress(in, out);
- else
diff --git a/sys-cluster/ceph/files/ceph.initd-r12 b/sys-cluster/ceph/files/ceph.initd-r12
deleted file mode 100644
index 4a90e3c3f984..000000000000
--- a/sys-cluster/ceph/files/ceph.initd-r12
+++ /dev/null
@@ -1,115 +0,0 @@
-#!/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] 48+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-cluster/ceph/files/, sys-cluster/ceph/
@ 2023-04-18 8:46 Sam James
0 siblings, 0 replies; 48+ messages in thread
From: Sam James @ 2023-04-18 8:46 UTC (permalink / raw
To: gentoo-commits
commit: fe44cb66634c6a364804f0f1c7c94a773cea96f9
Author: Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Tue Apr 18 08:46:06 2023 +0000
Commit: Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Tue Apr 18 08:46:40 2023 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=fe44cb66
sys-cluster/ceph: fix build w/ gcc 13
Closes: https://bugs.gentoo.org/892501
Signed-off-by: Sam James <sam <AT> gentoo.org>
sys-cluster/ceph/ceph-17.2.5-r3.ebuild | 1 +
sys-cluster/ceph/ceph-17.2.6.ebuild | 1 +
.../ceph/files/ceph-17.2.5-gcc13-deux.patch | 94 ++++++++++++++++++++++
3 files changed, 96 insertions(+)
diff --git a/sys-cluster/ceph/ceph-17.2.5-r3.ebuild b/sys-cluster/ceph/ceph-17.2.5-r3.ebuild
index 2221ccb8e94e..29bdfc8cecf8 100644
--- a/sys-cluster/ceph/ceph-17.2.5-r3.ebuild
+++ b/sys-cluster/ceph/ceph-17.2.5-r3.ebuild
@@ -221,6 +221,7 @@ PATCHES=(
# https://bugs.gentoo.org/866165
"${FILESDIR}/ceph-17.2.5-suppress-cmake-warning.patch"
"${FILESDIR}/ceph-17.2.5-gcc13.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.5-link-boost-context.patch"
diff --git a/sys-cluster/ceph/ceph-17.2.6.ebuild b/sys-cluster/ceph/ceph-17.2.6.ebuild
index aa370edc1017..90bd3470f2ff 100644
--- a/sys-cluster/ceph/ceph-17.2.6.ebuild
+++ b/sys-cluster/ceph/ceph-17.2.6.ebuild
@@ -220,6 +220,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-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"
diff --git a/sys-cluster/ceph/files/ceph-17.2.5-gcc13-deux.patch b/sys-cluster/ceph/files/ceph-17.2.5-gcc13-deux.patch
new file mode 100644
index 000000000000..1bfe7fdbf52f
--- /dev/null
+++ b/sys-cluster/ceph/files/ceph-17.2.5-gcc13-deux.patch
@@ -0,0 +1,94 @@
+https://bugs.gentoo.org/892501
+https://src.fedoraproject.org/rpms/ceph/c/945dc70d291321704f3218faa7c3efe70687ce27?branch=rawhide
+--- a/src/common/subsys_types.h
++++ b/src/common/subsys_types.h
+@@ -53,7 +53,7 @@
+ #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);
+--- a/src/msg/async/compression_onwire.h
++++ b/src/msg/async/compression_onwire.h
+@@ -44,7 +44,7 @@
+
+ class TxHandler final : private Handler {
+ public:
+- TxHandler(CephContext* const cct, CompressorRef compressor, int mode, std::uint64_t min_size)
++ TxHandler(CephContext* const cct, CompressorRef compressor, int mode, uint64_t min_size)
+ : Handler(cct, compressor),
+ m_min_size(min_size),
+ m_mode(static_cast<Compressor::CompressionMode>(mode))
+@@ -97,7 +97,7 @@
+ static rxtx_t create_handler_pair(
+ CephContext* ctx,
+ const CompConnectionMeta& comp_meta,
+- std::uint64_t compress_min_size);
++ uint64_t compress_min_size);
+ };
+ }
+
+--- a/src/msg/async/crypto_onwire.h
++++ b/src/msg/async/crypto_onwire.h
+@@ -95,7 +95,7 @@
+ // 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
+--- 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 @@
+ }
+ };
+
+-#endif // CEPH_CYCLES_H
+--- a/src/test/librados/op_speed.cc
++++ b/src/test/librados/op_speed.cc
+@@ -9,7 +9,7 @@
+ 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;
+--- 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>
+--- a/src/librbd/api/PoolMetadata.h
++++ b/src/librbd/api/PoolMetadata.h
+@@ -9,6 +9,7 @@
+
+ #include <map>
+ #include <string>
++#include <cstdint>
+
+ namespace librbd {
+
^ permalink raw reply related [flat|nested] 48+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-cluster/ceph/files/, sys-cluster/ceph/
@ 2023-05-09 17:49 Patrick McLean
0 siblings, 0 replies; 48+ messages in thread
From: Patrick McLean @ 2023-05-09 17:49 UTC (permalink / raw
To: gentoo-commits
commit: 81a5985a7fdb2fcb371406bc0269de2685a119cf
Author: Patrick McLean <chutzpah <AT> gentoo <DOT> org>
AuthorDate: Tue May 9 17:48:16 2023 +0000
Commit: Patrick McLean <chutzpah <AT> gentoo <DOT> org>
CommitDate: Tue May 9 17:49:04 2023 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=81a5985a
sys-cluster/ceph: Revbump, fix radosgw in init script (bug #905870)
Closes: https://bugs.gentoo.org/905870
Signed-off-by: Patrick McLean <chutzpah <AT> gentoo.org>
...ceph-17.2.5-r4.ebuild => ceph-17.2.5-r6.ebuild} | 2 +-
...ceph-17.2.6-r1.ebuild => ceph-17.2.6-r2.ebuild} | 2 +-
sys-cluster/ceph/files/ceph.initd-r14 | 119 +++++++++++++++++++++
3 files changed, 121 insertions(+), 2 deletions(-)
diff --git a/sys-cluster/ceph/ceph-17.2.5-r4.ebuild b/sys-cluster/ceph/ceph-17.2.5-r6.ebuild
similarity index 99%
rename from sys-cluster/ceph/ceph-17.2.5-r4.ebuild
rename to sys-cluster/ceph/ceph-17.2.5-r6.ebuild
index e4046b3b5701..95be155b4526 100644
--- a/sys-cluster/ceph/ceph-17.2.5-r4.ebuild
+++ b/sys-cluster/ceph/ceph-17.2.5-r6.ebuild
@@ -424,7 +424,7 @@ src_install() {
fowners -R ceph:ceph /var/log/ceph
newinitd "${FILESDIR}/rbdmap.initd-r1" rbdmap
- newinitd "${FILESDIR}/${PN}.initd-r13" ${PN}
+ newinitd "${FILESDIR}/${PN}.initd-r14" ${PN}
newconfd "${FILESDIR}/${PN}.confd-r5" ${PN}
insinto /etc/sudoers.d
diff --git a/sys-cluster/ceph/ceph-17.2.6-r1.ebuild b/sys-cluster/ceph/ceph-17.2.6-r2.ebuild
similarity index 99%
rename from sys-cluster/ceph/ceph-17.2.6-r1.ebuild
rename to sys-cluster/ceph/ceph-17.2.6-r2.ebuild
index 90bd3470f2ff..a28df53b6173 100644
--- a/sys-cluster/ceph/ceph-17.2.6-r1.ebuild
+++ b/sys-cluster/ceph/ceph-17.2.6-r2.ebuild
@@ -424,7 +424,7 @@ src_install() {
fowners -R ceph:ceph /var/log/ceph
newinitd "${FILESDIR}/rbdmap.initd-r1" rbdmap
- newinitd "${FILESDIR}/${PN}.initd-r13" ${PN}
+ newinitd "${FILESDIR}/${PN}.initd-r14" ${PN}
newconfd "${FILESDIR}/${PN}.confd-r5" ${PN}
insinto /etc/sudoers.d
diff --git a/sys-cluster/ceph/files/ceph.initd-r14 b/sys-cluster/ceph/files/ceph.initd-r14
new file mode 100644
index 000000000000..04002703d9e7
--- /dev/null
+++ b/sys-cluster/ceph/files/ceph.initd-r14
@@ -0,0 +1,119 @@
+#!/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/console/ceph}"
+: "${stderr:=/var/log/ceph/console/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 ]; then
+ command="/usr/bin/radosgw"
+
+ if [ "${RADOSGW_WANT_NAME_PARAM}" = y ]; then
+ command_args="${command_args} --name client.${daemon_id}"
+ fi
+ 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] 48+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-cluster/ceph/files/, sys-cluster/ceph/
@ 2023-08-10 21:02 Patrick McLean
0 siblings, 0 replies; 48+ messages in thread
From: Patrick McLean @ 2023-08-10 21:02 UTC (permalink / raw
To: gentoo-commits
commit: dbcb83cdbeccd5f4f9ef409052bdb616b9ab6b1d
Author: Patrick McLean <chutzpah <AT> gentoo <DOT> org>
AuthorDate: Thu Aug 10 17:36:42 2023 +0000
Commit: Patrick McLean <chutzpah <AT> gentoo <DOT> org>
CommitDate: Thu Aug 10 21:02:24 2023 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=dbcb83cd
sys-cluster/ceph: add 18.2.0
Signed-off-by: Patrick McLean <chutzpah <AT> gentoo.org>
sys-cluster/ceph/Manifest | 2 +
sys-cluster/ceph/ceph-18.2.0.ebuild | 481 +++++++++++++++++++++
.../ceph/files/ceph-18.2.0-cyclic-deps.patch | 13 +
.../files/ceph-18.2.0-system-opentelemetry.patch | 19 +
4 files changed, 515 insertions(+)
diff --git a/sys-cluster/ceph/Manifest b/sys-cluster/ceph/Manifest
index c6a19a4f4244..f4f3aab3b39d 100644
--- a/sys-cluster/ceph/Manifest
+++ b/sys-cluster/ceph/Manifest
@@ -1,3 +1,5 @@
DIST ceph-16.2.13.tar.gz 157213576 BLAKE2B cc319ff67f6320c101341d7bbca0d49630fd6d4a5ed48b34e73a9e780ddf934adc35e3ff09e32115fe4b9a853bff9a85ca2c1e5e62d5596251d2dae535726a28 SHA512 39ec2bed1de0276f08bf93241f9fb275893041fd5f20ade75e68728107011ae5d01aed532d5afd8805951d09061a5a3d96c4311701c8897a29668f77126c19ab
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
+DIST ceph-xsimd-18.2.0.tar.gz 173025 BLAKE2B 54679c24804c195ae55b9f49589e331dde92c6d89aaa20e827539e9a4e0010c7549cdd5cf02a7ebed83f953ab2a6f1d9cc9a98cf45c3dc7758ae4938c9c43713 SHA512 ecc58e7909648aaa22aefbf76ee2c5a2bece4b1b88da9c7eda1b69a46247e619ff99c4366afd6015f95debd68c1a6b89292c677b9049462d0fc0255fbc0c2a33
diff --git a/sys-cluster/ceph/ceph-18.2.0.ebuild b/sys-cluster/ceph/ceph-18.2.0.ebuild
new file mode 100644
index 000000000000..ca91f209f974
--- /dev/null
+++ b/sys-cluster/ceph/ceph-18.2.0.ebuild
@@ -0,0 +1,481 @@
+# 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:=
+ 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-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-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"
+)
+
+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
+
+ 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.0-cyclic-deps.patch b/sys-cluster/ceph/files/ceph-18.2.0-cyclic-deps.patch
new file mode 100644
index 000000000000..af9caa63aed2
--- /dev/null
+++ b/sys-cluster/ceph/files/ceph-18.2.0-cyclic-deps.patch
@@ -0,0 +1,13 @@
+diff --git a/src/rgw/driver/dbstore/CMakeLists.txt b/src/rgw/driver/dbstore/CMakeLists.txt
+index a3aca7a64e4..072d20193e3 100644
+--- a/src/rgw/driver/dbstore/CMakeLists.txt
++++ b/src/rgw/driver/dbstore/CMakeLists.txt
+@@ -24,7 +24,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/rgw"
+ PUBLIC "${CMAKE_SOURCE_DIR}/src/rgw/store/rados"
diff --git a/sys-cluster/ceph/files/ceph-18.2.0-system-opentelemetry.patch b/sys-cluster/ceph/files/ceph-18.2.0-system-opentelemetry.patch
new file mode 100644
index 000000000000..5e92d491dba9
--- /dev/null
+++ b/sys-cluster/ceph/files/ceph-18.2.0-system-opentelemetry.patch
@@ -0,0 +1,19 @@
+diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
+index 0a841c5db37..29be0232b48 100644
+--- a/src/CMakeLists.txt
++++ b/src/CMakeLists.txt
+@@ -433,8 +433,12 @@ add_dependencies(common-objs legacy-option-headers)
+
+ if(WITH_JAEGER)
+ find_package(thrift 0.13.0 REQUIRED)
+- include(BuildOpentelemetry)
+- build_opentelemetry()
++ find_package(opentelemetry-cpp REQUIRED)
++ set(jaeger_base
++ opentelemetry-cpp::common
++ opentelemetry-cpp::trace
++ opentelemetry-cpp::jaeger_trace_exporter
++ thrift::libthrift)
+ add_library(jaeger_base INTERFACE)
+ target_link_libraries(jaeger_base INTERFACE opentelemetry::libopentelemetry
+ thrift::libthrift)
^ permalink raw reply related [flat|nested] 48+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-cluster/ceph/files/, sys-cluster/ceph/
@ 2023-09-13 23:49 Patrick McLean
0 siblings, 0 replies; 48+ messages in thread
From: Patrick McLean @ 2023-09-13 23:49 UTC (permalink / raw
To: gentoo-commits
commit: bb07f65ed157020b4c7ebea9557820f5148d8920
Author: Patrick McLean <chutzpah <AT> gentoo <DOT> org>
AuthorDate: Wed Sep 13 23:48:54 2023 +0000
Commit: Patrick McLean <chutzpah <AT> gentoo <DOT> org>
CommitDate: Wed Sep 13 23:49:27 2023 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=bb07f65e
sys-cluster/ceph: Revbumps, add patch to build with cython-3
Closes: https://bugs.gentoo.org/907739
Signed-off-by: Patrick McLean <chutzpah <AT> gentoo.org>
...{ceph-16.2.14.ebuild => ceph-16.2.14-r1.ebuild} | 4 +++-
...ceph-17.2.6-r7.ebuild => ceph-17.2.6-r8.ebuild} | 4 +++-
...ceph-18.2.0-r1.ebuild => ceph-18.2.0-r2.ebuild} | 5 +++--
sys-cluster/ceph/files/ceph-18.2.0-cython3.patch | 26 ++++++++++++++++++++++
4 files changed, 35 insertions(+), 4 deletions(-)
diff --git a/sys-cluster/ceph/ceph-16.2.14.ebuild b/sys-cluster/ceph/ceph-16.2.14-r1.ebuild
similarity index 99%
rename from sys-cluster/ceph/ceph-16.2.14.ebuild
rename to sys-cluster/ceph/ceph-16.2.14-r1.ebuild
index c62e195e159e..40f04bb1347a 100644
--- a/sys-cluster/ceph/ceph-16.2.14.ebuild
+++ b/sys-cluster/ceph/ceph-16.2.14-r1.ebuild
@@ -103,7 +103,7 @@ BDEPEND="
x86? ( dev-lang/yasm )
app-arch/cpio
>=dev-util/cmake-3.5.0
- <dev-python/cython-3[${PYTHON_USEDEP}]
+ dev-python/cython[${PYTHON_USEDEP}]
dev-python/setuptools[${PYTHON_USEDEP}]
dev-python/sphinx
dev-util/gperf
@@ -213,6 +213,8 @@ PATCHES=(
"${FILESDIR}/ceph-16.2.10-flags.patch"
"${FILESDIR}/ceph-17.2.5-boost-1.81.patch"
"${FILESDIR}/ceph-16.2.14-gcc13.patch"
+ # https://bugs.gentoo.org/907739
+ "${FILESDIR}/ceph-18.2.0-cython3.patch"
)
check-reqs_export_vars() {
diff --git a/sys-cluster/ceph/ceph-17.2.6-r7.ebuild b/sys-cluster/ceph/ceph-17.2.6-r8.ebuild
similarity index 99%
rename from sys-cluster/ceph/ceph-17.2.6-r7.ebuild
rename to sys-cluster/ceph/ceph-17.2.6-r8.ebuild
index 2a2b757517dd..3f4382b4cbef 100644
--- a/sys-cluster/ceph/ceph-17.2.6-r7.ebuild
+++ b/sys-cluster/ceph/ceph-17.2.6-r8.ebuild
@@ -110,7 +110,7 @@ BDEPEND="
x86? ( dev-lang/yasm )
app-arch/cpio
>=dev-util/cmake-3.5.0
- <dev-python/cython-3[${PYTHON_USEDEP}]
+ dev-python/cython[${PYTHON_USEDEP}]
dev-python/setuptools[${PYTHON_USEDEP}]
dev-python/sphinx
dev-util/gperf
@@ -226,6 +226,8 @@ PATCHES=(
"${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"
)
check-reqs_export_vars() {
diff --git a/sys-cluster/ceph/ceph-18.2.0-r1.ebuild b/sys-cluster/ceph/ceph-18.2.0-r2.ebuild
similarity index 99%
rename from sys-cluster/ceph/ceph-18.2.0-r1.ebuild
rename to sys-cluster/ceph/ceph-18.2.0-r2.ebuild
index c24704db3311..72743d105137 100644
--- a/sys-cluster/ceph/ceph-18.2.0-r1.ebuild
+++ b/sys-cluster/ceph/ceph-18.2.0-r2.ebuild
@@ -107,13 +107,12 @@ DEPEND="
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-3[${PYTHON_USEDEP}]
+ dev-python/cython[${PYTHON_USEDEP}]
dev-python/setuptools[${PYTHON_USEDEP}]
dev-python/sphinx
dev-util/gperf
@@ -224,6 +223,8 @@ PATCHES=(
# 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"
)
check-reqs_export_vars() {
diff --git a/sys-cluster/ceph/files/ceph-18.2.0-cython3.patch b/sys-cluster/ceph/files/ceph-18.2.0-cython3.patch
new file mode 100644
index 000000000000..bfaeacea4f26
--- /dev/null
+++ b/sys-cluster/ceph/files/ceph-18.2.0-cython3.patch
@@ -0,0 +1,26 @@
+diff --git a/src/pybind/rbd/rbd.pyx b/src/pybind/rbd/rbd.pyx
+index 5e14e38c919..d10dce62262 100644
+--- a/src/pybind/rbd/rbd.pyx
++++ b/src/pybind/rbd/rbd.pyx
+@@ -371,10 +371,10 @@ ELSE:
+ cdef rados_ioctx_t convert_ioctx(rados.Ioctx ioctx) except? NULL:
+ return <rados_ioctx_t>ioctx.io
+
+-cdef int progress_callback(uint64_t offset, uint64_t total, void* ptr) with gil:
++cdef int progress_callback(uint64_t offset, uint64_t total, void* ptr) noexcept with gil:
+ return (<object>ptr)(offset, total)
+
+-cdef int no_op_progress_callback(uint64_t offset, uint64_t total, void* ptr):
++cdef int no_op_progress_callback(uint64_t offset, uint64_t total, void* ptr) noexcept with gil:
+ return 0
+
+ def cstr(val, name, encoding="utf-8", opt=False):
+@@ -426,7 +426,7 @@ RBD_MIRROR_PEER_ATTRIBUTE_NAME_KEY = decode_cstr(_RBD_MIRROR_PEER_ATTRIBUTE_NAME
+
+ cdef class Completion
+
+-cdef void __aio_complete_cb(rbd_completion_t completion, void *args) with gil:
++cdef void __aio_complete_cb(rbd_completion_t completion, void *args) noexcept with gil:
+ """
+ Callback to oncomplete() for asynchronous operations
+ """
^ permalink raw reply related [flat|nested] 48+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-cluster/ceph/files/, sys-cluster/ceph/
@ 2024-10-04 11:53 Patrick Lauer
0 siblings, 0 replies; 48+ messages in thread
From: Patrick Lauer @ 2024-10-04 11:53 UTC (permalink / raw
To: gentoo-commits
commit: e0728e24f29a6de82909cda5d81017e7900ea8c4
Author: Patrick Lauer <patrick <AT> gentoo <DOT> org>
AuthorDate: Fri Oct 4 11:52:30 2024 +0000
Commit: Patrick Lauer <patrick <AT> gentoo <DOT> org>
CommitDate: Fri Oct 4 11:52:30 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=e0728e24
sys-cluster/ceph: Fix build with use=spdk
Tests don't build, but we don't even run the tests.
Exclude tests from build.
Closes: https://bugs.gentoo.org/936889
Signed-off-by: Patrick Lauer <patrick <AT> gentoo.org>
sys-cluster/ceph/ceph-18.2.4-r2.ebuild | 1 +
sys-cluster/ceph/ceph-19.2.0.ebuild | 3 +++
sys-cluster/ceph/files/ceph-18.2.4-spdk.patch | 13 +++++++++++++
3 files changed, 17 insertions(+)
diff --git a/sys-cluster/ceph/ceph-18.2.4-r2.ebuild b/sys-cluster/ceph/ceph-18.2.4-r2.ebuild
index f23e56039cf6..9684c2b6a87a 100644
--- a/sys-cluster/ceph/ceph-18.2.4-r2.ebuild
+++ b/sys-cluster/ceph/ceph-18.2.4-r2.ebuild
@@ -234,6 +234,7 @@ PATCHES=(
"${FILESDIR}/ceph-18.2.1-gcc14.patch"
"${FILESDIR}/ceph-18.2.1-gcc14-2.patch"
"${FILESDIR}/ceph-18.2.4-liburing.patch"
+ "${FILESDIR}/ceph-18.2.4-spdk.patch"
)
check-reqs_export_vars() {
diff --git a/sys-cluster/ceph/ceph-19.2.0.ebuild b/sys-cluster/ceph/ceph-19.2.0.ebuild
index 05634a309b86..24a94bc4b788 100644
--- a/sys-cluster/ceph/ceph-19.2.0.ebuild
+++ b/sys-cluster/ceph/ceph-19.2.0.ebuild
@@ -230,6 +230,7 @@ PATCHES=(
# 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"
)
check-reqs_export_vars() {
@@ -289,6 +290,8 @@ src_prepare() {
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
diff --git a/sys-cluster/ceph/files/ceph-18.2.4-spdk.patch b/sys-cluster/ceph/files/ceph-18.2.4-spdk.patch
new file mode 100644
index 000000000000..27fb3c6eaa89
--- /dev/null
+++ b/sys-cluster/ceph/files/ceph-18.2.4-spdk.patch
@@ -0,0 +1,13 @@
+diff --git a/cmake/modules/BuildSPDK.cmake b/cmake/modules/BuildSPDK.cmake
+index d6ce97e..0c49e05 100644
+--- a/cmake/modules/BuildSPDK.cmake
++++ b/cmake/modules/BuildSPDK.cmake
+@@ -51,6 +51,8 @@ macro(build_spdk)
+ --with-dpdk=${DPDK_DIR}
+ --without-isal
+ --without-vhost
++ --disable-tests
++ --disable-unit-tests
+ --target-arch=${target_arch}
+ # unset $CFLAGS, otherwise it will interfere with how SPDK sets
+ # its include directory.
^ permalink raw reply related [flat|nested] 48+ messages in thread
end of thread, other threads:[~2024-10-04 11:53 UTC | newest]
Thread overview: 48+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2020-07-20 20:10 [gentoo-commits] repo/gentoo:master commit in: sys-cluster/ceph/files/, sys-cluster/ceph/ Patrick McLean
-- strict thread matches above, loose matches on Subject: below --
2024-10-04 11:53 Patrick Lauer
2023-09-13 23:49 Patrick McLean
2023-08-10 21:02 Patrick McLean
2023-05-09 17:49 Patrick McLean
2023-04-18 8:46 Sam James
2023-04-11 23:28 Patrick McLean
2023-01-13 1:55 Patrick McLean
2022-12-30 6:33 Sam James
2022-10-20 1:27 Patrick McLean
2022-08-24 23:27 Patrick McLean
2022-08-23 7:44 罗百科
2022-08-22 20:29 Patrick McLean
2022-08-12 20:46 Patrick McLean
2022-07-13 0:20 Patrick McLean
2022-07-13 0:20 Patrick McLean
2022-05-04 22:43 Patrick McLean
2021-12-08 6:21 Patrick McLean
2021-05-27 5:30 Patrick McLean
2021-04-03 4:20 Patrick McLean
2021-02-26 0:44 Patrick McLean
2020-10-02 11:37 Vadim Misbakh-Soloviov
2020-08-05 0:16 Patrick McLean
2020-06-27 20:00 Patrick McLean
2020-06-01 19:14 Patrick McLean
2020-05-28 19:09 Patrick McLean
2020-04-23 20:44 Patrick McLean
2020-03-05 1:17 Patrick McLean
2019-04-15 23:29 Patrick McLean
2019-04-05 1:48 Patrick McLean
2019-03-22 22:32 Patrick McLean
2019-02-13 19:52 Patrick McLean
2018-10-17 0:38 Patrick McLean
2018-07-10 20:51 Patrick McLean
2018-06-13 17:52 Patrick McLean
2018-03-14 1:34 Patrick McLean
2017-09-07 23:40 Patrick McLean
2017-09-07 23:40 Patrick McLean
2017-09-01 1:46 Patrick McLean
2017-07-31 23:06 Patrick McLean
2017-07-11 2:18 Patrick McLean
2017-03-17 2:20 Patrick McLean
2017-03-08 22:57 Patrick McLean
2017-03-02 0:38 Patrick McLean
2016-10-27 21:31 Patrick McLean
2016-06-16 10:57 Yixun Lan
2016-05-25 17:56 Patrick McLean
2016-02-16 10:04 Yixun Lan
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox