* [gentoo-commits] repo/gentoo:master commit in: sys-cluster/ceph/, sys-cluster/ceph/files/
@ 2022-08-22 20:29 Patrick McLean
0 siblings, 0 replies; 68+ messages in thread
From: Patrick McLean @ 2022-08-22 20:29 UTC (permalink / raw
To: gentoo-commits
commit: 1fc10bd005747daa1917f0c4d9394ae0ef1a70c9
Author: Patrick McLean <chutzpah <AT> gentoo <DOT> org>
AuthorDate: Mon Aug 22 18:35:21 2022 +0000
Commit: Patrick McLean <chutzpah <AT> gentoo <DOT> org>
CommitDate: Mon Aug 22 20:29:27 2022 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=1fc10bd0
sys-cluster/ceph: 17.2.3 more gcc12 fixes (bug #866039), bug #865509
- Fix system-boost boost dependency (bug #865509)
- Remove some documentation from patches to reduce the size of the files
directory
- Drop old snappy dep since it's no longer in the tree
Bug: https://bugs.gentoo.org/865509
Closes: https://bugs.gentoo.org/866039
Signed-off-by: Patrick McLean <chutzpah <AT> gentoo.org>
.../{ceph-17.2.3.ebuild => ceph-17.2.3-r1.ebuild} | 4 +--
.../ceph/files/ceph-17.2.0-cyclic-deps.patch | 29 -------------------
sys-cluster/ceph/files/ceph-17.2.1-python310.patch | 23 ---------------
sys-cluster/ceph/files/ceph-17.2.3-gcc12.patch | 33 +++++++++++++++++-----
4 files changed, 28 insertions(+), 61 deletions(-)
diff --git a/sys-cluster/ceph/ceph-17.2.3.ebuild b/sys-cluster/ceph/ceph-17.2.3-r1.ebuild
similarity index 99%
rename from sys-cluster/ceph/ceph-17.2.3.ebuild
rename to sys-cluster/ceph/ceph-17.2.3-r1.ebuild
index 49a8857b5c24..737e960de9d5 100644
--- a/sys-cluster/ceph/ceph-17.2.3.ebuild
+++ b/sys-cluster/ceph/ceph-17.2.3-r1.ebuild
@@ -41,7 +41,7 @@ DEPEND="
app-arch/bzip2:=
app-arch/lz4:=
app-arch/snappy:=
- || ( >=app-arch/snappy-1.1.9-r1 <app-arch/snappy-1.1.9 )
+ >=app-arch/snappy-1.1.9-r1
app-arch/zstd:=
app-shells/bash:0
app-misc/jq:=
@@ -99,7 +99,7 @@ DEPEND="
rdma? ( sys-cluster/rdma-core:= )
spdk? ( dev-util/cunit )
sqlite? ( dev-db/sqlite:= )
- system-boost? ( >=dev-libs/boost-1.72:=[threads(+),context,python,${PYTHON_USEDEP}] )
+ system-boost? ( >=dev-libs/boost-1.72:=[threads(+),context,python,${PYTHON_USEDEP},zlib] )
uring? ( sys-libs/liburing:= )
xfs? ( sys-fs/xfsprogs:= )
zbd? ( sys-block/libzbd:= )
diff --git a/sys-cluster/ceph/files/ceph-17.2.0-cyclic-deps.patch b/sys-cluster/ceph/files/ceph-17.2.0-cyclic-deps.patch
index f80edddd8de7..e9177cc02764 100644
--- a/sys-cluster/ceph/files/ceph-17.2.0-cyclic-deps.patch
+++ b/sys-cluster/ceph/files/ceph-17.2.0-cyclic-deps.patch
@@ -1,32 +1,3 @@
-From 78edb6a91788133334ceeeda0c95529df5f40da8 Mon Sep 17 00:00:00 2001
-From: "Kaleb S. KEITHLEY" <kkeithle@redhat.com>
-Date: Mon, 14 Feb 2022 07:42:08 -0500
-Subject: [PATCH] rgw: cmake configure error on fedora-37/rawhide
-
-see
-https://kojipkgs.fedoraproject.org//work/tasks/6624/82706624/build.log,
-excerpted below
-
-...
-CMake Error: The inter-target dependency graph contains the following
-strongly connected component (cycle): "rgw_common" of type
-STATIC_LIBRARY depends on "dbstore" (weak) depends on "sqlite_db" (weak)
-"dbstore" of type SHARED_LIBRARY depends on "rgw_common" (weak) depends
-on "sqlite_db" (weak) "sqlite_db" of type SHARED_LIBRARY depends on
-"rgw_common" (weak) depends on "dbstore" (weak) At least one of these
-targets is not a STATIC_LIBRARY. Cyclic dependencies are allowed only
-among static libraries. CMake Generate step failed. Build files cannot
-be regenerated correctly.
-...
-
-https://tracker.ceph.com/issues/54266
-
-Signed-off-by: Kaleb S. KEITHLEY <kkeithle@redhat.com>
----
- src/rgw/store/dbstore/CMakeLists.txt | 2 +-
- src/rgw/store/dbstore/sqlite/CMakeLists.txt | 2 +-
- 2 files changed, 2 insertions(+), 2 deletions(-)
-
diff --git a/src/rgw/store/dbstore/CMakeLists.txt b/src/rgw/store/dbstore/CMakeLists.txt
index 143ede3c094c9..18e032b73f54f 100644
--- a/src/rgw/store/dbstore/CMakeLists.txt
diff --git a/sys-cluster/ceph/files/ceph-17.2.1-python310.patch b/sys-cluster/ceph/files/ceph-17.2.1-python310.patch
index 767cd2922a26..959e98a8067a 100644
--- a/sys-cluster/ceph/files/ceph-17.2.1-python310.patch
+++ b/sys-cluster/ceph/files/ceph-17.2.1-python310.patch
@@ -1,26 +1,3 @@
-From 389054888f2aa782f73564125ec7a1ef0212d536 Mon Sep 17 00:00:00 2001
-From: Pete Zaitcev <zaitcev@redhat.com>
-Date: Tue, 14 Dec 2021 23:04:34 -0600
-Subject: [PATCH] mgr: Define PY_SSIZE_T_CLEAN ahead of every Python.h
-
-Building on Fedora 35 with Python 3.10 makes vstart to loop
-forever, throwing the following message:
-
- Error EINVAL: SystemError: PY_SSIZE_T_CLEAN macro must be
- defined for '#' formats
-
-I followed the hint in the following document:
- https://docs.python.org/3/c-api/intro.html
-
-It says "recommended" to always define PY_SSIZE_T_CLEAN,
-but as you can see it is actually required in our case.
-
-Fixes: https://tracker.ceph.com/issues/53441
-Signed-off-by: Pete Zaitcev <zaitcev@redhat.com>
----
- src/mgr/CMakeLists.txt | 1 +
- 1 file changed, 1 insertion(+)
-
diff --git a/src/mgr/CMakeLists.txt b/src/mgr/CMakeLists.txt
index 55147af4fc6ba..8f39e41ac0694 100644
--- a/src/mgr/CMakeLists.txt
diff --git a/sys-cluster/ceph/files/ceph-17.2.3-gcc12.patch b/sys-cluster/ceph/files/ceph-17.2.3-gcc12.patch
index e5e77b4116f6..356da385fedb 100644
--- a/sys-cluster/ceph/files/ceph-17.2.3-gcc12.patch
+++ b/sys-cluster/ceph/files/ceph-17.2.3-gcc12.patch
@@ -1,12 +1,31 @@
diff --git a/src/include/buffer.h b/src/include/buffer.h
-index 0c89367dd3b..98fcd7c3e08 100644
+index 7c8f90e9fb5d3..71cb01935000b 100644
--- a/src/include/buffer.h
+++ b/src/include/buffer.h
-@@ -62,6 +62,7 @@
- #endif
-
- #include "inline_memory.h"
+@@ -41,6 +41,7 @@
+ #include <iosfwd>
+ #include <iomanip>
+ #include <list>
+#include <memory>
+ #include <vector>
+ #include <string>
+ #if __cplusplus >= 201703L
+
+diff --git a/src/test/encoding.cc b/src/test/encoding.cc
+index 6d252fae18b71..f18901cbd27d9 100644
+--- a/src/test/encoding.cc
++++ b/src/test/encoding.cc
+@@ -334,11 +334,11 @@ void lame_decoder(int which) {
+ }
- #define CEPH_BUFFER_API
-
+ TEST(EncodingException, Macros) {
+- for (unsigned i = 0; i < sizeof(expected_what)/sizeof(expected_what[0]); i++) {
++ for (unsigned i = 0; i < std::size(expected_what); i++) {
+ try {
+ lame_decoder(i);
+ } catch (const exception& e) {
+- ASSERT_EQ(string(expected_what[i]), string(e.what()));
++ ASSERT_NE(string(e.what()).find(expected_what[i]), string::npos);
+ }
+ }
+ }
^ permalink raw reply related [flat|nested] 68+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-cluster/ceph/, sys-cluster/ceph/files/
@ 2024-10-14 0:50 Sam James
0 siblings, 0 replies; 68+ messages in thread
From: Sam James @ 2024-10-14 0:50 UTC (permalink / raw
To: gentoo-commits
commit: 5404f9963b19a5ceebe574bed1b1808ba9b9dba4
Author: Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Mon Oct 14 00:49:45 2024 +0000
Commit: Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Mon Oct 14 00:49:45 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=5404f996
sys-cluster/ceph: fix compat w/ newer importlib
Closes: https://bugs.gentoo.org/920906
Signed-off-by: Sam James <sam <AT> gentoo.org>
sys-cluster/ceph/ceph-19.2.0-r1.ebuild | 513 +++++++++++++++++++++
sys-cluster/ceph/files/ceph-19.2.0-importlib.patch | 45 ++
2 files changed, 558 insertions(+)
diff --git a/sys-cluster/ceph/ceph-19.2.0-r1.ebuild b/sys-cluster/ceph/ceph-19.2.0-r1.ebuild
new file mode 100644
index 000000000000..354bf3c96702
--- /dev/null
+++ b/sys-cluster/ceph/ceph-19.2.0-r1.ebuild
@@ -0,0 +1,513 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{10..12} )
+LUA_COMPAT=( lua5-{3..4} )
+
+inherit check-reqs bash-completion-r1 cmake flag-o-matic lua-single \
+ python-r1 udev readme.gentoo-r1 toolchain-funcs systemd tmpfiles
+
+XSIMD_HASH="aeec9c872c8b475dedd7781336710f2dd2666cb2"
+
+DESCRIPTION="Ceph distributed filesystem"
+HOMEPAGE="https://ceph.com/"
+
+SRC_URI="
+ https://download.ceph.com/tarballs/${P}.tar.gz
+ parquet? ( https://github.com/xtensor-stack/xsimd/archive/${XSIMD_HASH}.tar.gz -> ceph-xsimd-${PV}.tar.gz
+ mirror://apache/arrow/arrow-17.0.0/apache-arrow-17.0.0.tar.gz )
+"
+
+LICENSE="Apache-2.0 LGPL-2.1 CC-BY-SA-3.0 GPL-2 GPL-2+ LGPL-2+ LGPL-2.1 LGPL-3 GPL-3 BSD Boost-1.0 MIT public-domain"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~ppc64"
+
+CPU_FLAGS_X86=(avx2 avx512f pclmul sse{,2,3,4_1,4_2} ssse3)
+
+IUSE="
+ babeltrace +cephfs custom-cflags diskprediction dpdk fuse grafana
+ jemalloc jaeger kafka kerberos ldap lttng +mgr +parquet pmdk rabbitmq
+ +radosgw rbd-rwl rbd-ssd rdma rgw-lua selinux +ssl spdk +sqlite +system-boost
+ systemd +tcmalloc test +uring xfs zbd
+"
+
+IUSE+="$(printf "cpu_flags_x86_%s\n" ${CPU_FLAGS_X86[@]})"
+
+DEPEND="
+ ${LUA_DEPS}
+ ${PYTHON_DEPS}
+ acct-group/ceph
+ acct-user/ceph
+ virtual/libudev:=
+ app-arch/bzip2:=
+ app-arch/lz4:=
+ app-arch/snappy:=
+ >=app-arch/snappy-1.1.9-r1
+ app-arch/zstd:=
+ app-shells/bash:0
+ app-misc/jq:=
+ dev-cpp/gflags:=
+ dev-db/lmdb:=
+ dev-lang/jsonnet:=
+ dev-libs/libaio:=
+ dev-libs/libnl:3=
+ dev-libs/libxml2:=
+ dev-libs/libevent:=
+ dev-libs/libutf8proc:=
+ dev-libs/nss:=
+ dev-libs/openssl:=
+ <dev-libs/rocksdb-7.9.3:=
+ dev-libs/thrift:=
+ dev-libs/xmlsec:=[openssl]
+ dev-cpp/yaml-cpp:=
+ dev-python/natsort[${PYTHON_USEDEP}]
+ dev-python/pyyaml[${PYTHON_USEDEP}]
+ dev-vcs/git
+ net-dns/c-ares:=
+ net-libs/gnutls:=
+ sys-auth/oath-toolkit:=
+ sys-apps/coreutils
+ sys-apps/hwloc:=
+ sys-apps/keyutils:=
+ sys-apps/util-linux:=
+ sys-libs/libcap-ng:=
+ sys-libs/ncurses:0=
+ sys-libs/zlib:=
+ sys-process/numactl:=
+ virtual/libcrypt:=
+ x11-libs/libpciaccess:=
+ babeltrace? ( dev-util/babeltrace:0/1 )
+ fuse? ( sys-fs/fuse:3= )
+ jemalloc? ( dev-libs/jemalloc:= )
+ !jemalloc? ( >=dev-util/google-perftools-2.6.1:= )
+ jaeger? (
+ dev-cpp/nlohmann_json:=
+ dev-cpp/opentelemetry-cpp:=[jaeger]
+ )
+ kafka? ( dev-libs/librdkafka:= )
+ kerberos? ( virtual/krb5 )
+ ldap? ( net-nds/openldap:= )
+ lttng? ( dev-util/lttng-ust:= )
+ parquet? (
+ >=app-arch/lz4-1.10
+ dev-cpp/xsimd
+ dev-libs/re2:=
+ )
+ pmdk? (
+ >=dev-libs/pmdk-1.10.0:=
+ sys-block/ndctl:=
+ )
+ rabbitmq? ( net-libs/rabbitmq-c:= )
+ radosgw? (
+ dev-libs/icu:=
+ dev-libs/expat:=
+ net-misc/curl:=[curl_ssl_openssl]
+ )
+ rbd-rwl? ( dev-libs/pmdk:= )
+ rdma? ( sys-cluster/rdma-core:= )
+ spdk? ( dev-util/cunit )
+ sqlite? ( dev-db/sqlite:= )
+ system-boost? ( dev-libs/boost:=[context,python,${PYTHON_USEDEP},zlib] )
+ uring? ( sys-libs/liburing:= )
+ xfs? ( sys-fs/xfsprogs:= )
+ zbd? ( sys-block/libzbd:= )
+"
+BDEPEND="
+ amd64? ( dev-lang/nasm )
+ x86? ( dev-lang/yasm )
+ app-alternatives/cpio
+ dev-debug/valgrind
+ >=dev-build/cmake-3.5.0
+ dev-python/cython[${PYTHON_USEDEP}]
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ dev-python/sphinx
+ dev-util/gperf
+ dev-util/ragel
+ sys-apps/coreutils
+ sys-apps/grep
+ sys-apps/util-linux
+ sys-apps/which
+ app-alternatives/bc
+ sys-devel/patch
+ virtual/pkgconfig
+ jaeger? (
+ app-alternatives/yacc
+ app-alternatives/lex
+ )
+ test? (
+ dev-util/cunit
+ dev-python/coverage[${PYTHON_USEDEP}]
+ dev-python/virtualenv[${PYTHON_USEDEP}]
+ dev-python/requests-mock[${PYTHON_USEDEP}]
+ sys-apps/grep[pcre]
+ sys-fs/btrfs-progs
+ )
+"
+RDEPEND="
+ ${DEPEND}
+ app-admin/sudo
+ net-misc/socat
+ sys-apps/gptfdisk
+ sys-apps/nvme-cli
+ >=sys-apps/smartmontools-7.0
+ sys-block/parted
+ sys-fs/cryptsetup
+ sys-fs/lsscsi
+ sys-fs/lvm2[lvm]
+ app-alternatives/awk
+ dev-python/bcrypt[${PYTHON_USEDEP}]
+ dev-python/cherrypy[${PYTHON_USEDEP}]
+ dev-python/python-dateutil[${PYTHON_USEDEP}]
+ dev-python/flask[${PYTHON_USEDEP}]
+ dev-python/jinja[${PYTHON_USEDEP}]
+ dev-python/pecan[${PYTHON_USEDEP}]
+ dev-python/prettytable[${PYTHON_USEDEP}]
+ dev-python/pyopenssl[${PYTHON_USEDEP}]
+ dev-python/requests[${PYTHON_USEDEP}]
+ dev-python/werkzeug[${PYTHON_USEDEP}]
+ mgr? (
+ dev-python/jsonpatch[${PYTHON_USEDEP}]
+ dev-python/more-itertools[${PYTHON_USEDEP}]
+ dev-python/numpy[${PYTHON_USEDEP}]
+ dev-python/pyjwt[${PYTHON_USEDEP}]
+ dev-python/routes[${PYTHON_USEDEP}]
+ diskprediction? (
+ >=dev-python/scipy-1.4.0[${PYTHON_USEDEP}]
+ )
+ dev-python/scikit-learn[${PYTHON_USEDEP}]
+ dev-python/six[${PYTHON_USEDEP}]
+ )
+ selinux? ( sec-policy/selinux-ceph )
+"
+REQUIRED_USE="
+ ${PYTHON_REQUIRED_USE}
+ ${LUA_REQUIRED_USE}
+ ?? ( jemalloc tcmalloc )
+ diskprediction? ( mgr )
+ kafka? ( radosgw )
+ mgr? ( cephfs )
+ rabbitmq? ( radosgw )
+ rgw-lua? ( radosgw )
+"
+
+RESTRICT="
+ !test? ( test )
+"
+
+# tests need root access, and network access
+RESTRICT+="test"
+
+# false positives unless all USE flags are on
+CMAKE_WARN_UNUSED_CLI=no
+
+PATCHES=(
+ "${FILESDIR}/ceph-12.2.0-use-provided-cpu-flag-values.patch"
+ "${FILESDIR}/ceph-14.2.0-cflags.patch"
+ "${FILESDIR}/ceph-17.2.1-no-virtualenvs.patch"
+ "${FILESDIR}/ceph-13.2.2-dont-install-sysvinit-script.patch"
+ "${FILESDIR}/ceph-14.2.0-dpdk-cflags.patch"
+ "${FILESDIR}/ceph-16.2.0-rocksdb-cmake.patch"
+ "${FILESDIR}/ceph-16.2.0-spdk-tinfo.patch"
+ "${FILESDIR}/ceph-16.2.0-jaeger-system-boost.patch"
+ "${FILESDIR}/ceph-17.2.0-pybind-boost-1.74.patch"
+ "${FILESDIR}/ceph-17.2.0-findre2.patch"
+ "${FILESDIR}/ceph-18.2.0-system-opentelemetry.patch"
+ "${FILESDIR}/ceph-17.2.0-osd_class_dir.patch"
+ "${FILESDIR}/ceph-17.2.0-gcc12-header.patch"
+ "${FILESDIR}/ceph-17.2.3-flags.patch"
+ # https://bugs.gentoo.org/866165
+ "${FILESDIR}/ceph-17.2.5-suppress-cmake-warning.patch"
+ "${FILESDIR}/ceph-17.2.5-gcc13-deux.patch"
+ # https://bugs.gentoo.org/905626
+ "${FILESDIR}/ceph-17.2.6-arrow-flatbuffers-c++14.patch"
+ # https://bugs.gentoo.org/868891
+ "${FILESDIR}/ceph-17.2.6-cmake.patch"
+ "${FILESDIR}/ceph-18.2.0-cyclic-deps.patch"
+ # https://bugs.gentoo.org/907739
+ "${FILESDIR}/ceph-18.2.0-cython3.patch"
+ # https://bugs.gentoo.org/936889
+ "${FILESDIR}/ceph-18.2.1-gcc14.patch"
+ "${FILESDIR}/ceph-18.2.4-liburing.patch"
+ "${FILESDIR}/ceph-18.2.4-spdk.patch"
+ # https://bugs.gentoo.org/941069
+ "${FILESDIR}/ceph-19.2.0-importlib.patch"
+)
+
+check-reqs_export_vars() {
+ CHECKREQS_DISK_BUILD="6G"
+
+ if use system-boost; then
+ CHECKREQS_DISK_USR="350M"
+ else
+ CHECKREQS_DISK_USR="510M"
+ fi
+
+ export CHECKREQS_DISK_BUILD CHECKREQS_DISK_USR
+}
+
+pkg_pretend() {
+ check-reqs_export_vars
+ check-reqs_pkg_pretend
+}
+
+pkg_setup() {
+ python_setup
+ lua_setup
+ check-reqs_export_vars
+ check-reqs_pkg_setup
+}
+
+src_prepare() {
+ cmake_src_prepare
+
+ if use system-boost; then
+ find "${S}" -name '*.cmake' -or -name 'CMakeLists.txt' -print0 \
+ | xargs --null sed -r \
+ -e 's|Boost::|boost_|g' \
+ -e 's|Boost_|boost_|g' \
+ -e 's|[Bb]oost_boost|boost_system|g' \
+ -i || die
+ fi
+
+ if ! use systemd; then
+ find "${S}"/src/ceph-volume/ceph_volume -name '*.py' -print0 \
+ | xargs --null sed \
+ -e '/^from ceph_volume.systemd import systemctl/ d' \
+ -i || die
+ fi
+
+ sed -r -e "s:DESTINATION .+\\):DESTINATION $(get_bashcompdir)\\):" \
+ -i src/bash_completion/CMakeLists.txt || die
+
+ sed -e "s:objdump -p:$(tc-getOBJDUMP) -p:" -i CMakeLists.txt || die
+
+ # force lua version to use selected version
+ local lua_version
+ lua_version=$(ver_cut 1-2 $(lua_get_version))
+ sed "s:find_package(Lua [0-9][.][0-9] REQUIRED):find_package(Lua ${lua_version} EXACT REQUIRED):" \
+ -i src/CMakeLists.txt
+
+ if use spdk; then
+ # https://bugs.gentoo.org/871942
+ sed -i 's/[#]ifndef HAVE_ARC4RANDOM/#if 0/' src/spdk/lib/iscsi/iscsi.c || die
+ # unittests fail to build (??!?)
+ sed -i -e 's/CONFIG_UNIT_TESTS=y/CONFIG_UNIT_TESTS=n/' src/spdk/CONFIG || die
+ fi
+
+ # remove tests that need root access
+ rm src/test/cli/ceph-authtool/cap*.t || die
+
+ if use parquet; then
+ # hammer in newer version of parquet/arrow
+ rm -rf src/arrow/
+ mv "${WORKDIR}/apache-arrow-17.0.0" src/arrow || die
+ fi
+
+ # newer boost don't support no header-only
+ sed -i -e 's~#include <boost/url/src.hpp>~#include <boost/url.hpp>~' src/mds/BoostUrlImpl.cc || die
+
+ # everyone forgot to link to boost_url
+ sed -i -e 's~target_link_libraries(ceph-mds mds ${CMAKE_DL_LIBS} global-static ceph-common~target_link_libraries(ceph-mds mds ${CMAKE_DL_LIBS} global-static ceph-common boost_url~' src/CMakeLists.txt || die
+ sed -i -e 's/target_link_libraries(journal cls_journal_client)/target_link_libraries(journal cls_journal_client boost_url)/' src/journal/CMakeLists.txt || die
+ sed -i -e 's/${BLKID_LIBRARIES} ${CMAKE_DL_LIBS})/${BLKID_LIBRARIES} ${CMAKE_DL_LIBS} boost_url)/g' src/tools/cephfs/CMakeLists.txt || die
+}
+
+ceph_src_configure() {
+ local mycmakeargs=(
+ -DWITH_BABELTRACE:BOOL=$(usex babeltrace)
+ -DWITH_BLUESTORE_PMEM:BOOL=$(usex pmdk)
+ -DWITH_CEPHFS:BOOL=$(usex cephfs)
+ -DWITH_CEPHFS_SHELL:BOOL=$(usex cephfs)
+ -DWITH_DPDK:BOOL=$(usex dpdk)
+ -DWITH_SPDK:BOOL=$(usex spdk)
+ -DWITH_FUSE:BOOL=$(usex fuse)
+ -DWITH_LTTNG:BOOL=$(usex lttng)
+ -DWITH_GSSAPI:BOOL=$(usex kerberos)
+ -DWITH_GRAFANA:BOOL=$(usex grafana)
+ -DWITH_MGR:BOOL=$(usex mgr)
+ -DWITH_MGR_DASHBOARD_FRONTEND:BOOL=OFF
+ -DWITH_OPENLDAP:BOOL=$(usex ldap)
+ -DWITH_PYTHON3:STRING=3
+ -DWITH_RADOSGW:BOOL=$(usex radosgw)
+ -DWITH_RADOSGW_AMQP_ENDPOINT:BOOL=$(usex rabbitmq)
+ -DWITH_RADOSGW_KAFKA_ENDPOINT:BOOL=$(usex kafka)
+ -DWITH_RADOSGW_LUA_PACKAGES:BOOL=$(usex rgw-lua "$(usex radosgw)" "NO")
+ -DWITH_RBD_RWL:BOOL=$(usex rbd-rwl)
+ -DWITH_RBD_SSD_CACHE:BOOL=$(usex rbd-ssd)
+ -DWITH_SYSTEMD:BOOL=$(usex systemd)
+ -DWITH_TESTS:BOOL=$(usex test)
+ -DWITH_LIBURING:BOOL=$(usex uring)
+ -DWITH_SYSTEM_LIBURING:BOOL=$(usex uring)
+ -DWITH_LIBCEPHSQLITE:BOOL=$(usex sqlite)
+ -DWITH_XFS:BOOL=$(usex xfs)
+ -DWITH_ZBD:BOOL=$(usex zbd)
+ -DENABLE_SHARED:BOOL=ON
+ -DALLOCATOR:STRING=$(usex tcmalloc 'tcmalloc' "$(usex jemalloc 'jemalloc' 'libc')")
+ -DWITH_SYSTEM_PMDK:BOOL=$(usex pmdk 'YES' "$(usex rbd-rwl '')")
+ -DWITH_SYSTEM_BOOST:BOOL=$(usex system-boost)
+ -DWITH_SYSTEM_ROCKSDB:BOOL=ON
+ -DWITH_SYSTEM_ZSTD:BOOL=ON
+ -DWITH_RDMA:BOOL=$(usex rdma)
+ -DCMAKE_INSTALL_DOCDIR:PATH="${EPREFIX}/usr/share/doc/${PN}-${PVR}"
+ -DCMAKE_INSTALL_SYSCONFDIR:PATH="${EPREFIX}/etc"
+ # use the bundled libfmt for now since they seem to constantly break their API
+ -DCMAKE_DISABLE_FIND_PACKAGE_fmt=ON
+ -Wno-dev
+ -DCEPHADM_BUNDLED_DEPENDENCIES=none
+ )
+
+ # this breaks when re-configuring for python impl
+ if [[ ${EBUILD_PHASE} == configure ]]; then
+ mycmakeargs+=(
+ -DWITH_JAEGER:BOOL=$(usex jaeger)
+ -DWITH_RADOSGW_SELECT_PARQUET:BOOL=$(usex parquet)
+ )
+ else
+ mycmakeargs+=(
+ -DWITH_RADOSGW_SELECT_PARQUET:BOOL=OFF
+ -DWITH_JAEGER:BOOL=OFF
+ # don't want to warn about unused CLI when reconfiguring for python
+ -DCMAKE_WARN_UNUSED_CLI:BOOL=OFF
+ )
+ fi
+
+ # conditionally used cmake args
+ use test && mycmakearts+=( -DWITH_SYSTEM_GTEST:BOOL=$(usex test) )
+ use systemd && mycmakeargs+=( -DSYSTEMD_SYSTEM_UNIT_DIR:PATH=$(systemd_get_systemunitdir) )
+
+ if use amd64 || use x86; then
+ local flag
+ for flag in "${CPU_FLAGS_X86[@]}"; do
+ case "${flag}" in
+ avx*)
+ local var=${flag%f}
+ mycmakeargs+=(
+ "-DHAVE_NASM_X64_${var^^}:BOOL=$(usex cpu_flags_x86_${flag})"
+ )
+ ;;
+ *) mycmakeargs+=(
+ "-DHAVE_INTEL_${flag^^}:BOOL=$(usex cpu_flags_x86_${flag})"
+ );;
+ esac
+ done
+ fi
+
+ # needed for >=glibc-2.32
+ has_version '>=sys-libs/glibc-2.32' && mycmakeargs+=( -DWITH_REENTRANT_STRSIGNAL:BOOL=ON )
+
+ rm -f "${BUILD_DIR:-${S}}/CMakeCache.txt" \
+ || die "failed to remove cmake cache"
+
+ # hopefully this will not be necessary in the next release
+ use parquet && export ARROW_XSIMD_URL="file:///${DISTDIR}/ceph-xsimd-${PV}.tar.gz"
+
+ # https://bugs.gentoo.org/927066
+ filter-lto
+
+ cmake_src_configure
+
+ # bug #630232
+ sed -i "s:\"${T//:\\:}/${EPYTHON}/bin/python\":\"${PYTHON}\":" \
+ "${BUILD_DIR:-${S}}"/include/acconfig.h \
+ || die "sed failed"
+}
+
+src_configure() {
+ use custom-cflags || strip-flags
+ ceph_src_configure
+}
+
+src_compile() {
+ cmake_build all
+
+ # we have to do this here to prevent from building everything multiple times
+ python_copy_sources
+ python_foreach_impl python_compile
+}
+
+python_compile() {
+ local CMAKE_USE_DIR="${S}"
+ ceph_src_configure
+
+ cmake_build src/pybind/CMakeFiles/cython_modules
+ cmake_build cephadm
+}
+
+src_install() {
+ python_foreach_impl python_install
+
+ python_setup
+ cmake_src_install
+
+ python_optimize
+
+ find "${ED}" -name '*.la' -type f -delete || die
+
+ exeinto /usr/$(get_libdir)/ceph
+ newexe "${BUILD_DIR}/bin/init-ceph" init-ceph
+
+ insinto /etc/logrotate.d/
+ newins "${FILESDIR}"/ceph.logrotate-r2 ${PN}
+
+ keepdir /var/lib/${PN}{,/tmp} /var/log/ceph/stat /var/log/ceph/console
+
+ fowners -R ceph:ceph /var/log/ceph
+
+ newinitd "${FILESDIR}/rbdmap.initd-r1" rbdmap
+ newinitd "${FILESDIR}/${PN}.initd-r14" ${PN}
+ newconfd "${FILESDIR}/${PN}.confd-r5" ${PN}
+
+ insinto /etc/sudoers.d
+ doins sudoers.d/*
+
+ insinto /etc/sysctl.d
+ newins "${FILESDIR}"/sysctld 90-${PN}.conf
+
+ use tcmalloc && newenvd "${FILESDIR}"/envd-tcmalloc 99${PN}-tcmalloc
+
+ # units aren't installed by the build system unless systemd is enabled
+ # so no point installing these with the USE flag disabled
+ if use systemd; then
+ systemd_install_serviced "${FILESDIR}/ceph-mds_at.service.conf" "ceph-mds@.service"
+ systemd_install_serviced "${FILESDIR}/ceph-osd_at.service.conf" "ceph-osd@.service"
+ fi
+
+ udev_dorules udev/*.rules
+ newtmpfiles "${FILESDIR}"/ceph-tmpfilesd ${PN}.conf
+
+ readme.gentoo_create_doc
+
+ # bug #630232
+ sed -i -r "s:${T//:/\\:}/${EPYTHON}:/usr:" "${ED}"/usr/bin/ceph{,-crash} \
+ || die "sed failed"
+
+ python_fix_shebang "${ED}"/usr/{,s}bin/
+
+ # python_fix_shebang apparently is not idempotent
+ local shebang_regex='(/usr/lib/python-exec/python[0-9]\.[0-9]/python)[0-9]\.[0-9]'
+ grep -r -E -l --null "${shebang_regex}" "${ED}"/usr/{s,}bin/ \
+ | xargs --null --no-run-if-empty -- sed -i -r "s:${shebang_regex}:\1:" || die
+
+ local -a rados_classes=( "${ED}/usr/$(get_libdir)/rados-classes"/* )
+ dostrip -x "${rados_classes[@]#${ED}}"
+}
+
+python_install() {
+ local CMAKE_USE_DIR="${S}"
+ DESTDIR="${ED}" cmake_build src/pybind/install
+ DESTDIR="${ED}" cmake_build src/cephadm/install
+
+ python_optimize
+}
+
+pkg_postinst() {
+ readme.gentoo_print_elog
+ tmpfiles_process ${PN}.conf
+ udev_reload
+}
+
+pkg_postrm() {
+ udev_reload
+}
diff --git a/sys-cluster/ceph/files/ceph-19.2.0-importlib.patch b/sys-cluster/ceph/files/ceph-19.2.0-importlib.patch
new file mode 100644
index 000000000000..422d2dc87c20
--- /dev/null
+++ b/sys-cluster/ceph/files/ceph-19.2.0-importlib.patch
@@ -0,0 +1,45 @@
+https://bugs.gentoo.org/941069
+https://tracker.ceph.com/issues/68032
+https://github.com/ceph/ceph/pull/59739
+
+From 12cc90a8dac62824c9326f5a4b31744c3f2bf10b Mon Sep 17 00:00:00 2001
+From: Peter Sabaini <peter.sabaini@canonical.com>
+Date: Wed, 11 Sep 2024 16:56:50 +0200
+Subject: [PATCH] ceph-volume: fix importlib.metadata compat
+
+The importlib.metadata library removed older shims in releases >5.0.0
+where EntryPoints objects use .select() instead of dict-like access.
+
+Fixes: https://tracker.ceph.com/issues/68032
+
+Signed-off-by: Peter Sabaini <peter.sabaini@canonical.com>
+--- a/src/ceph-volume/ceph_volume/main.py
++++ b/src/ceph-volume/ceph_volume/main.py
+@@ -9,15 +9,25 @@
+ # `entry_points` from `importlib.metadata` does not.
+ try:
+ from importlib.metadata import entry_points
++ from importlib.metadata import EntryPoints
+
+ def get_entry_points(group: str): # type: ignore
+- return entry_points().get(group, []) # type: ignore
++ eps = entry_points()
++ if isinstance(eps, EntryPoints) and hasattr(eps, 'select'):
++ # New importlib.metadata uses .select()
++ return eps.select(group=group)
++ else:
++ # Fallback to older EntryPoints that returns dicts
++ return eps.get(group, []) # type: ignore
++
+ except ImportError:
++ # Fallback to `pkg_resources` for older versions
+ from pkg_resources import iter_entry_points as entry_points # type: ignore
+
+ def get_entry_points(group: str): # type: ignore
+ return entry_points(group=group) # type: ignore
+
++
+ from ceph_volume.decorators import catches
+ from ceph_volume import log, devices, configuration, conf, exceptions, terminal, inventory, drive_group, activate
+
+
^ permalink raw reply related [flat|nested] 68+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-cluster/ceph/, sys-cluster/ceph/files/
@ 2024-10-01 9:32 Patrick Lauer
0 siblings, 0 replies; 68+ messages in thread
From: Patrick Lauer @ 2024-10-01 9:32 UTC (permalink / raw
To: gentoo-commits
commit: 9926bd53f3da2dad26bc5517390241982bfa70e3
Author: Patrick Lauer <patrick <AT> gentoo <DOT> org>
AuthorDate: Tue Oct 1 09:29:21 2024 +0000
Commit: Patrick Lauer <patrick <AT> gentoo <DOT> org>
CommitDate: Tue Oct 1 09:32:46 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=9926bd53
sys-cluster/ceph: add 19.2.0
Signed-off-by: Patrick Lauer <patrick <AT> gentoo.org>
sys-cluster/ceph/Manifest | 2 +
sys-cluster/ceph/ceph-19.2.0.ebuild | 508 +++++++++++++++++++++
.../ceph-19.1.0-boost-build-none-options.patch | 13 +
3 files changed, 523 insertions(+)
diff --git a/sys-cluster/ceph/Manifest b/sys-cluster/ceph/Manifest
index 7f14b615ae13..5078a3abc1b1 100644
--- a/sys-cluster/ceph/Manifest
+++ b/sys-cluster/ceph/Manifest
@@ -5,7 +5,9 @@ DIST ceph-17.2.6.tar.gz 168093221 BLAKE2B f79efce9bd7f485b43ae1b4da94a1d9fb37530
DIST ceph-17.2.7.tar.gz 168577111 BLAKE2B e3470819305e580b4afc658564b9ac261d1db53242acc5d5ec6bf6166024394de927b745b7a752e010fdc020a3829ca5e7d3ac27a99cf60f45876f12fef1c927 SHA512 9005de7661c6a9d1054f1388cff2f48eb1af93565ebf852669de546eed594ed6a2668944b25a64c406d00f88bd2f7a6eac2ae96b04789c03ea4d248d1a683e7b
DIST ceph-18.2.1.tar.gz 197490056 BLAKE2B bcb66957a4e9502fda268aea09550ecc3775c83c2b4780a338364fd13b553164cae4c66dc69e64fb5df345d89161fe9d72ec42d9aa38eada0f77970b4125dc3c SHA512 88e1c18bc6c824b6203cf026cca4c9409000e7cf5b2b986e22ab74d2790d8b93d91556bd3af15a320dbdd0cf2302308f0b2c75fd1243bc5a65f76fc6b3d70736
DIST ceph-18.2.4.tar.gz 226953064 BLAKE2B 3865ea051d1bd2f9aa44e6379f5bf2c7a526b076b327366dcf502d5a2358cc4d9bc53c7275e7b0f91387ec22a8a0e427f5e851a9f5308320091d1a6306bc9097 SHA512 a4ebb4e14032e6ab8e1fd8836f39234b771cb0a4b655166e9c69493a2c0d687064af4bb35523d0501629605521854e49f5c53a56279f72810d108c76f4f88c5b
+DIST ceph-19.2.0.tar.gz 236860160 BLAKE2B 0f0b93f89591b67986ead414fef2e41b1bbba914fb7f8d875a7fac9f3d00d127b0ca6d92912c2c082662cdbfc7ad71b8e56767273e6f380aade192725f812d28 SHA512 c7c68229b0bc5cf33ec30945c07ee464c757dc47812c0a901dd6e73a088f7a053ecd537468c6ca7caae91ed7d1fb25bde4630e5004f1717e22355ce276da005f
DIST ceph-xsimd-17.2.6.tar.gz 173025 BLAKE2B 54679c24804c195ae55b9f49589e331dde92c6d89aaa20e827539e9a4e0010c7549cdd5cf02a7ebed83f953ab2a6f1d9cc9a98cf45c3dc7758ae4938c9c43713 SHA512 ecc58e7909648aaa22aefbf76ee2c5a2bece4b1b88da9c7eda1b69a46247e619ff99c4366afd6015f95debd68c1a6b89292c677b9049462d0fc0255fbc0c2a33
DIST ceph-xsimd-17.2.7.tar.gz 173025 BLAKE2B 54679c24804c195ae55b9f49589e331dde92c6d89aaa20e827539e9a4e0010c7549cdd5cf02a7ebed83f953ab2a6f1d9cc9a98cf45c3dc7758ae4938c9c43713 SHA512 ecc58e7909648aaa22aefbf76ee2c5a2bece4b1b88da9c7eda1b69a46247e619ff99c4366afd6015f95debd68c1a6b89292c677b9049462d0fc0255fbc0c2a33
DIST ceph-xsimd-18.2.1.tar.gz 173025 BLAKE2B 54679c24804c195ae55b9f49589e331dde92c6d89aaa20e827539e9a4e0010c7549cdd5cf02a7ebed83f953ab2a6f1d9cc9a98cf45c3dc7758ae4938c9c43713 SHA512 ecc58e7909648aaa22aefbf76ee2c5a2bece4b1b88da9c7eda1b69a46247e619ff99c4366afd6015f95debd68c1a6b89292c677b9049462d0fc0255fbc0c2a33
DIST ceph-xsimd-18.2.4.tar.gz 173025 BLAKE2B 54679c24804c195ae55b9f49589e331dde92c6d89aaa20e827539e9a4e0010c7549cdd5cf02a7ebed83f953ab2a6f1d9cc9a98cf45c3dc7758ae4938c9c43713 SHA512 ecc58e7909648aaa22aefbf76ee2c5a2bece4b1b88da9c7eda1b69a46247e619ff99c4366afd6015f95debd68c1a6b89292c677b9049462d0fc0255fbc0c2a33
+DIST ceph-xsimd-19.2.0.tar.gz 173025 BLAKE2B 54679c24804c195ae55b9f49589e331dde92c6d89aaa20e827539e9a4e0010c7549cdd5cf02a7ebed83f953ab2a6f1d9cc9a98cf45c3dc7758ae4938c9c43713 SHA512 ecc58e7909648aaa22aefbf76ee2c5a2bece4b1b88da9c7eda1b69a46247e619ff99c4366afd6015f95debd68c1a6b89292c677b9049462d0fc0255fbc0c2a33
diff --git a/sys-cluster/ceph/ceph-19.2.0.ebuild b/sys-cluster/ceph/ceph-19.2.0.ebuild
new file mode 100644
index 000000000000..6ff5e322718e
--- /dev/null
+++ b/sys-cluster/ceph/ceph-19.2.0.ebuild
@@ -0,0 +1,508 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{10..12} )
+LUA_COMPAT=( lua5-{3..4} )
+
+inherit check-reqs bash-completion-r1 cmake flag-o-matic lua-single \
+ python-r1 udev readme.gentoo-r1 toolchain-funcs systemd tmpfiles
+
+XSIMD_HASH="aeec9c872c8b475dedd7781336710f2dd2666cb2"
+
+DESCRIPTION="Ceph distributed filesystem"
+HOMEPAGE="https://ceph.com/"
+
+SRC_URI="
+ https://download.ceph.com/tarballs/${P}.tar.gz
+ parquet? ( https://github.com/xtensor-stack/xsimd/archive/${XSIMD_HASH}.tar.gz -> ceph-xsimd-${PV}.tar.gz
+ mirror://apache/arrow/arrow-17.0.0/apache-arrow-17.0.0.tar.gz )
+"
+
+LICENSE="Apache-2.0 LGPL-2.1 CC-BY-SA-3.0 GPL-2 GPL-2+ LGPL-2+ LGPL-2.1 LGPL-3 GPL-3 BSD Boost-1.0 MIT public-domain"
+SLOT="0"
+KEYWORDS=""
+
+CPU_FLAGS_X86=(avx2 avx512f pclmul sse{,2,3,4_1,4_2} ssse3)
+
+IUSE="
+ babeltrace +cephfs custom-cflags diskprediction dpdk fuse grafana
+ jemalloc jaeger kafka kerberos ldap lttng +mgr +parquet pmdk rabbitmq
+ +radosgw rbd-rwl rbd-ssd rdma rgw-lua selinux +ssl spdk +sqlite +system-boost
+ systemd +tcmalloc test +uring xfs zbd
+"
+
+IUSE+="$(printf "cpu_flags_x86_%s\n" ${CPU_FLAGS_X86[@]})"
+
+DEPEND="
+ ${LUA_DEPS}
+ ${PYTHON_DEPS}
+ acct-group/ceph
+ acct-user/ceph
+ virtual/libudev:=
+ app-arch/bzip2:=
+ app-arch/lz4:=
+ app-arch/snappy:=
+ >=app-arch/snappy-1.1.9-r1
+ app-arch/zstd:=
+ app-shells/bash:0
+ app-misc/jq:=
+ dev-cpp/gflags:=
+ dev-db/lmdb:=
+ dev-lang/jsonnet:=
+ dev-libs/libaio:=
+ dev-libs/libnl:3=
+ dev-libs/libxml2:=
+ dev-libs/libevent:=
+ dev-libs/libutf8proc:=
+ dev-libs/nss:=
+ dev-libs/openssl:=
+ <dev-libs/rocksdb-7.9.3:=
+ dev-libs/thrift:=
+ dev-libs/xmlsec:=[openssl]
+ dev-cpp/yaml-cpp:=
+ dev-python/natsort[${PYTHON_USEDEP}]
+ dev-python/pyyaml[${PYTHON_USEDEP}]
+ dev-vcs/git
+ net-dns/c-ares:=
+ net-libs/gnutls:=
+ sys-auth/oath-toolkit:=
+ sys-apps/coreutils
+ sys-apps/hwloc:=
+ sys-apps/keyutils:=
+ sys-apps/util-linux:=
+ sys-libs/libcap-ng:=
+ sys-libs/ncurses:0=
+ sys-libs/zlib:=
+ sys-process/numactl:=
+ virtual/libcrypt:=
+ x11-libs/libpciaccess:=
+ babeltrace? ( dev-util/babeltrace:0/1 )
+ fuse? ( sys-fs/fuse:3= )
+ jemalloc? ( dev-libs/jemalloc:= )
+ !jemalloc? ( >=dev-util/google-perftools-2.6.1:= )
+ jaeger? (
+ dev-cpp/nlohmann_json:=
+ dev-cpp/opentelemetry-cpp:=[jaeger]
+ )
+ kafka? ( dev-libs/librdkafka:= )
+ kerberos? ( virtual/krb5 )
+ ldap? ( net-nds/openldap:= )
+ lttng? ( dev-util/lttng-ust:= )
+ parquet? (
+ >=app-arch/lz4-1.10
+ dev-cpp/xsimd
+ dev-libs/re2:=
+ )
+ pmdk? (
+ >=dev-libs/pmdk-1.10.0:=
+ sys-block/ndctl:=
+ )
+ rabbitmq? ( net-libs/rabbitmq-c:= )
+ radosgw? (
+ dev-libs/icu:=
+ dev-libs/expat:=
+ net-misc/curl:=[curl_ssl_openssl]
+ )
+ rbd-rwl? ( dev-libs/pmdk:= )
+ rdma? ( sys-cluster/rdma-core:= )
+ spdk? ( dev-util/cunit )
+ sqlite? ( dev-db/sqlite:= )
+ system-boost? ( dev-libs/boost:=[context,python,${PYTHON_USEDEP},zlib] )
+ uring? ( sys-libs/liburing:= )
+ xfs? ( sys-fs/xfsprogs:= )
+ zbd? ( sys-block/libzbd:= )
+"
+BDEPEND="
+ amd64? ( dev-lang/nasm )
+ x86? ( dev-lang/yasm )
+ app-alternatives/cpio
+ dev-debug/valgrind
+ >=dev-build/cmake-3.5.0
+ dev-python/cython[${PYTHON_USEDEP}]
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ dev-python/sphinx
+ dev-util/gperf
+ dev-util/ragel
+ sys-apps/coreutils
+ sys-apps/grep
+ sys-apps/util-linux
+ sys-apps/which
+ app-alternatives/bc
+ sys-devel/patch
+ virtual/pkgconfig
+ jaeger? (
+ app-alternatives/yacc
+ app-alternatives/lex
+ )
+ test? (
+ dev-util/cunit
+ dev-python/coverage[${PYTHON_USEDEP}]
+ dev-python/virtualenv[${PYTHON_USEDEP}]
+ dev-python/requests-mock[${PYTHON_USEDEP}]
+ sys-apps/grep[pcre]
+ sys-fs/btrfs-progs
+ )
+"
+RDEPEND="
+ ${DEPEND}
+ app-admin/sudo
+ net-misc/socat
+ sys-apps/gptfdisk
+ sys-apps/nvme-cli
+ >=sys-apps/smartmontools-7.0
+ sys-block/parted
+ sys-fs/cryptsetup
+ sys-fs/lsscsi
+ sys-fs/lvm2[lvm]
+ app-alternatives/awk
+ dev-python/bcrypt[${PYTHON_USEDEP}]
+ dev-python/cherrypy[${PYTHON_USEDEP}]
+ dev-python/python-dateutil[${PYTHON_USEDEP}]
+ dev-python/flask[${PYTHON_USEDEP}]
+ dev-python/jinja[${PYTHON_USEDEP}]
+ dev-python/pecan[${PYTHON_USEDEP}]
+ dev-python/prettytable[${PYTHON_USEDEP}]
+ dev-python/pyopenssl[${PYTHON_USEDEP}]
+ dev-python/requests[${PYTHON_USEDEP}]
+ dev-python/werkzeug[${PYTHON_USEDEP}]
+ mgr? (
+ dev-python/jsonpatch[${PYTHON_USEDEP}]
+ dev-python/more-itertools[${PYTHON_USEDEP}]
+ dev-python/numpy[${PYTHON_USEDEP}]
+ dev-python/pyjwt[${PYTHON_USEDEP}]
+ dev-python/routes[${PYTHON_USEDEP}]
+ diskprediction? (
+ >=dev-python/scipy-1.4.0[${PYTHON_USEDEP}]
+ )
+ dev-python/scikit-learn[${PYTHON_USEDEP}]
+ dev-python/six[${PYTHON_USEDEP}]
+ )
+ selinux? ( sec-policy/selinux-ceph )
+"
+REQUIRED_USE="
+ ${PYTHON_REQUIRED_USE}
+ ${LUA_REQUIRED_USE}
+ ?? ( jemalloc tcmalloc )
+ diskprediction? ( mgr )
+ kafka? ( radosgw )
+ mgr? ( cephfs )
+ rabbitmq? ( radosgw )
+ rgw-lua? ( radosgw )
+"
+
+RESTRICT="
+ !test? ( test )
+"
+
+# tests need root access, and network access
+RESTRICT+="test"
+
+# false positives unless all USE flags are on
+CMAKE_WARN_UNUSED_CLI=no
+
+PATCHES=(
+ "${FILESDIR}/ceph-12.2.0-use-provided-cpu-flag-values.patch"
+ "${FILESDIR}/ceph-14.2.0-cflags.patch"
+ "${FILESDIR}/ceph-17.2.1-no-virtualenvs.patch"
+ "${FILESDIR}/ceph-13.2.2-dont-install-sysvinit-script.patch"
+ "${FILESDIR}/ceph-14.2.0-dpdk-cflags.patch"
+ "${FILESDIR}/ceph-16.2.0-rocksdb-cmake.patch"
+ "${FILESDIR}/ceph-16.2.0-spdk-tinfo.patch"
+ "${FILESDIR}/ceph-16.2.0-jaeger-system-boost.patch"
+ "${FILESDIR}/ceph-17.2.0-pybind-boost-1.74.patch"
+ "${FILESDIR}/ceph-17.2.0-findre2.patch"
+ "${FILESDIR}/ceph-18.2.0-system-opentelemetry.patch"
+ "${FILESDIR}/ceph-17.2.0-osd_class_dir.patch"
+ "${FILESDIR}/ceph-17.2.0-gcc12-header.patch"
+ "${FILESDIR}/ceph-17.2.3-flags.patch"
+ # https://bugs.gentoo.org/866165
+ "${FILESDIR}/ceph-17.2.5-suppress-cmake-warning.patch"
+ "${FILESDIR}/ceph-17.2.5-gcc13-deux.patch"
+ # https://bugs.gentoo.org/905626
+ "${FILESDIR}/ceph-17.2.6-arrow-flatbuffers-c++14.patch"
+ # https://bugs.gentoo.org/868891
+ "${FILESDIR}/ceph-17.2.6-cmake.patch"
+ "${FILESDIR}/ceph-18.2.0-cyclic-deps.patch"
+ # https://bugs.gentoo.org/907739
+ "${FILESDIR}/ceph-18.2.0-cython3.patch"
+ # https://bugs.gentoo.org/936889
+ "${FILESDIR}/ceph-18.2.1-gcc14.patch"
+ "${FILESDIR}/ceph-18.2.4-liburing.patch"
+)
+
+check-reqs_export_vars() {
+ CHECKREQS_DISK_BUILD="6G"
+
+ if use system-boost; then
+ CHECKREQS_DISK_USR="350M"
+ else
+ CHECKREQS_DISK_USR="510M"
+ fi
+
+ export CHECKREQS_DISK_BUILD CHECKREQS_DISK_USR
+}
+
+pkg_pretend() {
+ check-reqs_export_vars
+ check-reqs_pkg_pretend
+}
+
+pkg_setup() {
+ python_setup
+ lua_setup
+ check-reqs_export_vars
+ check-reqs_pkg_setup
+}
+
+src_prepare() {
+ cmake_src_prepare
+
+ if use system-boost; then
+ find "${S}" -name '*.cmake' -or -name 'CMakeLists.txt' -print0 \
+ | xargs --null sed -r \
+ -e 's|Boost::|boost_|g' \
+ -e 's|Boost_|boost_|g' \
+ -e 's|[Bb]oost_boost|boost_system|g' \
+ -i || die
+ fi
+
+ if ! use systemd; then
+ find "${S}"/src/ceph-volume/ceph_volume -name '*.py' -print0 \
+ | xargs --null sed \
+ -e '/^from ceph_volume.systemd import systemctl/ d' \
+ -i || die
+ fi
+
+ sed -r -e "s:DESTINATION .+\\):DESTINATION $(get_bashcompdir)\\):" \
+ -i src/bash_completion/CMakeLists.txt || die
+
+ sed -e "s:objdump -p:$(tc-getOBJDUMP) -p:" -i CMakeLists.txt || die
+
+ # force lua version to use selected version
+ local lua_version
+ lua_version=$(ver_cut 1-2 $(lua_get_version))
+ sed "s:find_package(Lua [0-9][.][0-9] REQUIRED):find_package(Lua ${lua_version} EXACT REQUIRED):" \
+ -i src/CMakeLists.txt
+
+ if use spdk; then
+ # https://bugs.gentoo.org/871942
+ sed -i 's/[#]ifndef HAVE_ARC4RANDOM/#if 0/' src/spdk/lib/iscsi/iscsi.c || die
+ fi
+
+ # remove tests that need root access
+ rm src/test/cli/ceph-authtool/cap*.t || die
+
+ if use parquet; then
+ # hammer in newer version of parquet/arrow
+ rm -rf src/arrow/
+ mv "${WORKDIR}/apache-arrow-17.0.0" src/arrow || die
+ fi
+
+ # newer boost don't support no header-only
+ sed -i -e 's~#include <boost/url/src.hpp>~#include <boost/url.hpp>~' src/mds/BoostUrlImpl.cc || die
+
+ # everyone forgot to link to boost_url
+ sed -i -e 's~target_link_libraries(ceph-mds mds ${CMAKE_DL_LIBS} global-static ceph-common~target_link_libraries(ceph-mds mds ${CMAKE_DL_LIBS} global-static ceph-common boost_url~' src/CMakeLists.txt || die
+ sed -i -e 's/target_link_libraries(journal cls_journal_client)/target_link_libraries(journal cls_journal_client boost_url)/' src/journal/CMakeLists.txt || die
+ sed -i -e 's/${BLKID_LIBRARIES} ${CMAKE_DL_LIBS})/${BLKID_LIBRARIES} ${CMAKE_DL_LIBS} boost_url)/g' src/tools/cephfs/CMakeLists.txt || die
+}
+
+ceph_src_configure() {
+ local mycmakeargs=(
+ -DWITH_BABELTRACE:BOOL=$(usex babeltrace)
+ -DWITH_BLUESTORE_PMEM:BOOL=$(usex pmdk)
+ -DWITH_CEPHFS:BOOL=$(usex cephfs)
+ -DWITH_CEPHFS_SHELL:BOOL=$(usex cephfs)
+ -DWITH_DPDK:BOOL=$(usex dpdk)
+ -DWITH_SPDK:BOOL=$(usex spdk)
+ -DWITH_FUSE:BOOL=$(usex fuse)
+ -DWITH_LTTNG:BOOL=$(usex lttng)
+ -DWITH_GSSAPI:BOOL=$(usex kerberos)
+ -DWITH_GRAFANA:BOOL=$(usex grafana)
+ -DWITH_MGR:BOOL=$(usex mgr)
+ -DWITH_MGR_DASHBOARD_FRONTEND:BOOL=OFF
+ -DWITH_OPENLDAP:BOOL=$(usex ldap)
+ -DWITH_PYTHON3:STRING=3
+ -DWITH_RADOSGW:BOOL=$(usex radosgw)
+ -DWITH_RADOSGW_AMQP_ENDPOINT:BOOL=$(usex rabbitmq)
+ -DWITH_RADOSGW_KAFKA_ENDPOINT:BOOL=$(usex kafka)
+ -DWITH_RADOSGW_LUA_PACKAGES:BOOL=$(usex rgw-lua "$(usex radosgw)" "NO")
+ -DWITH_RBD_RWL:BOOL=$(usex rbd-rwl)
+ -DWITH_RBD_SSD_CACHE:BOOL=$(usex rbd-ssd)
+ -DWITH_SYSTEMD:BOOL=$(usex systemd)
+ -DWITH_TESTS:BOOL=$(usex test)
+ -DWITH_LIBURING:BOOL=$(usex uring)
+ -DWITH_SYSTEM_LIBURING:BOOL=$(usex uring)
+ -DWITH_LIBCEPHSQLITE:BOOL=$(usex sqlite)
+ -DWITH_XFS:BOOL=$(usex xfs)
+ -DWITH_ZBD:BOOL=$(usex zbd)
+ -DENABLE_SHARED:BOOL=ON
+ -DALLOCATOR:STRING=$(usex tcmalloc 'tcmalloc' "$(usex jemalloc 'jemalloc' 'libc')")
+ -DWITH_SYSTEM_PMDK:BOOL=$(usex pmdk 'YES' "$(usex rbd-rwl '')")
+ -DWITH_SYSTEM_BOOST:BOOL=$(usex system-boost)
+ -DWITH_SYSTEM_ROCKSDB:BOOL=ON
+ -DWITH_SYSTEM_ZSTD:BOOL=ON
+ -DWITH_RDMA:BOOL=$(usex rdma)
+ -DCMAKE_INSTALL_DOCDIR:PATH="${EPREFIX}/usr/share/doc/${PN}-${PVR}"
+ -DCMAKE_INSTALL_SYSCONFDIR:PATH="${EPREFIX}/etc"
+ # use the bundled libfmt for now since they seem to constantly break their API
+ -DCMAKE_DISABLE_FIND_PACKAGE_fmt=ON
+ -Wno-dev
+ -DCEPHADM_BUNDLED_DEPENDENCIES=none
+ )
+
+ # this breaks when re-configuring for python impl
+ if [[ ${EBUILD_PHASE} == configure ]]; then
+ mycmakeargs+=(
+ -DWITH_JAEGER:BOOL=$(usex jaeger)
+ -DWITH_RADOSGW_SELECT_PARQUET:BOOL=$(usex parquet)
+ )
+ else
+ mycmakeargs+=(
+ -DWITH_RADOSGW_SELECT_PARQUET:BOOL=OFF
+ -DWITH_JAEGER:BOOL=OFF
+ # don't want to warn about unused CLI when reconfiguring for python
+ -DCMAKE_WARN_UNUSED_CLI:BOOL=OFF
+ )
+ fi
+
+ # conditionally used cmake args
+ use test && mycmakearts+=( -DWITH_SYSTEM_GTEST:BOOL=$(usex test) )
+ use systemd && mycmakeargs+=( -DSYSTEMD_SYSTEM_UNIT_DIR:PATH=$(systemd_get_systemunitdir) )
+
+ if use amd64 || use x86; then
+ local flag
+ for flag in "${CPU_FLAGS_X86[@]}"; do
+ case "${flag}" in
+ avx*)
+ local var=${flag%f}
+ mycmakeargs+=(
+ "-DHAVE_NASM_X64_${var^^}:BOOL=$(usex cpu_flags_x86_${flag})"
+ )
+ ;;
+ *) mycmakeargs+=(
+ "-DHAVE_INTEL_${flag^^}:BOOL=$(usex cpu_flags_x86_${flag})"
+ );;
+ esac
+ done
+ fi
+
+ # needed for >=glibc-2.32
+ has_version '>=sys-libs/glibc-2.32' && mycmakeargs+=( -DWITH_REENTRANT_STRSIGNAL:BOOL=ON )
+
+ rm -f "${BUILD_DIR:-${S}}/CMakeCache.txt" \
+ || die "failed to remove cmake cache"
+
+ # hopefully this will not be necessary in the next release
+ use parquet && export ARROW_XSIMD_URL="file:///${DISTDIR}/ceph-xsimd-${PV}.tar.gz"
+
+ # https://bugs.gentoo.org/927066
+ filter-lto
+
+ cmake_src_configure
+
+ # bug #630232
+ sed -i "s:\"${T//:\\:}/${EPYTHON}/bin/python\":\"${PYTHON}\":" \
+ "${BUILD_DIR:-${S}}"/include/acconfig.h \
+ || die "sed failed"
+}
+
+src_configure() {
+ use custom-cflags || strip-flags
+ ceph_src_configure
+}
+
+src_compile() {
+ cmake_build all
+
+ # we have to do this here to prevent from building everything multiple times
+ python_copy_sources
+ python_foreach_impl python_compile
+}
+
+python_compile() {
+ local CMAKE_USE_DIR="${S}"
+ ceph_src_configure
+
+ cmake_build src/pybind/CMakeFiles/cython_modules
+ cmake_build cephadm
+}
+
+src_install() {
+ python_foreach_impl python_install
+
+ python_setup
+ cmake_src_install
+
+ python_optimize
+
+ find "${ED}" -name '*.la' -type f -delete || die
+
+ exeinto /usr/$(get_libdir)/ceph
+ newexe "${BUILD_DIR}/bin/init-ceph" init-ceph
+
+ insinto /etc/logrotate.d/
+ newins "${FILESDIR}"/ceph.logrotate-r2 ${PN}
+
+ keepdir /var/lib/${PN}{,/tmp} /var/log/ceph/stat /var/log/ceph/console
+
+ fowners -R ceph:ceph /var/log/ceph
+
+ newinitd "${FILESDIR}/rbdmap.initd-r1" rbdmap
+ newinitd "${FILESDIR}/${PN}.initd-r14" ${PN}
+ newconfd "${FILESDIR}/${PN}.confd-r5" ${PN}
+
+ insinto /etc/sudoers.d
+ doins sudoers.d/*
+
+ insinto /etc/sysctl.d
+ newins "${FILESDIR}"/sysctld 90-${PN}.conf
+
+ use tcmalloc && newenvd "${FILESDIR}"/envd-tcmalloc 99${PN}-tcmalloc
+
+ # units aren't installed by the build system unless systemd is enabled
+ # so no point installing these with the USE flag disabled
+ if use systemd; then
+ systemd_install_serviced "${FILESDIR}/ceph-mds_at.service.conf" "ceph-mds@.service"
+ systemd_install_serviced "${FILESDIR}/ceph-osd_at.service.conf" "ceph-osd@.service"
+ fi
+
+ udev_dorules udev/*.rules
+ newtmpfiles "${FILESDIR}"/ceph-tmpfilesd ${PN}.conf
+
+ readme.gentoo_create_doc
+
+ # bug #630232
+ sed -i -r "s:${T//:/\\:}/${EPYTHON}:/usr:" "${ED}"/usr/bin/ceph{,-crash} \
+ || die "sed failed"
+
+ python_fix_shebang "${ED}"/usr/{,s}bin/
+
+ # python_fix_shebang apparently is not idempotent
+ local shebang_regex='(/usr/lib/python-exec/python[0-9]\.[0-9]/python)[0-9]\.[0-9]'
+ grep -r -E -l --null "${shebang_regex}" "${ED}"/usr/{s,}bin/ \
+ | xargs --null --no-run-if-empty -- sed -i -r "s:${shebang_regex}:\1:" || die
+
+ local -a rados_classes=( "${ED}/usr/$(get_libdir)/rados-classes"/* )
+ dostrip -x "${rados_classes[@]#${ED}}"
+}
+
+python_install() {
+ local CMAKE_USE_DIR="${S}"
+ DESTDIR="${ED}" cmake_build src/pybind/install
+ DESTDIR="${ED}" cmake_build src/cephadm/install
+
+ python_optimize
+}
+
+pkg_postinst() {
+ readme.gentoo_print_elog
+ tmpfiles_process ${PN}.conf
+ udev_reload
+}
+
+pkg_postrm() {
+ udev_reload
+}
diff --git a/sys-cluster/ceph/files/ceph-19.1.0-boost-build-none-options.patch b/sys-cluster/ceph/files/ceph-19.1.0-boost-build-none-options.patch
new file mode 100644
index 000000000000..bef4f6199eb0
--- /dev/null
+++ b/sys-cluster/ceph/files/ceph-19.1.0-boost-build-none-options.patch
@@ -0,0 +1,13 @@
+diff --git a/src/boost/tools/build/src/tools/features/optimization-feature.jam b/src/boost/tools/build/src/tools/features/optimization-feature.jam
+index 761f76f1..fb2a5dec 100644
+--- a/src/boost/tools/build/src/tools/features/optimization-feature.jam
++++ b/src/boost/tools/build/src/tools/features/optimization-feature.jam
+@@ -8,7 +8,7 @@
+ import feature ;
+
+ feature.feature optimization
+- : off speed space
++ : off none speed space
+ : propagated ;
+
+ feature.feature inlining
^ permalink raw reply related [flat|nested] 68+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-cluster/ceph/, sys-cluster/ceph/files/
@ 2024-07-30 9:05 Patrick Lauer
0 siblings, 0 replies; 68+ messages in thread
From: Patrick Lauer @ 2024-07-30 9:05 UTC (permalink / raw
To: gentoo-commits
commit: facfa7ae3832068faf09c7671993f816e8c6486e
Author: Patrick Lauer <patrick <AT> gentoo <DOT> org>
AuthorDate: Tue Jul 30 09:04:54 2024 +0000
Commit: Patrick Lauer <patrick <AT> gentoo <DOT> org>
CommitDate: Tue Jul 30 09:05:04 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=facfa7ae
sys-cluster/ceph: add 18.2.4
Signed-off-by: Patrick Lauer <patrick <AT> gentoo.org>
sys-cluster/ceph/Manifest | 2 +
sys-cluster/ceph/ceph-18.2.4.ebuild | 493 ++++++++++++++++++++++
sys-cluster/ceph/files/ceph-18.2.4-liburing.patch | 26 ++
3 files changed, 521 insertions(+)
diff --git a/sys-cluster/ceph/Manifest b/sys-cluster/ceph/Manifest
index 7359f5913f9f..39bec2fe54d7 100644
--- a/sys-cluster/ceph/Manifest
+++ b/sys-cluster/ceph/Manifest
@@ -3,6 +3,8 @@ DIST ceph-16.2.15.tar.gz 157260936 BLAKE2B 4de2e35c870ca005bf86f8158709d021785ec
DIST ceph-17.2.6.tar.gz 168093221 BLAKE2B f79efce9bd7f485b43ae1b4da94a1d9fb3753003f34535e93c80e480ffeaaf054d371f75bca72402da5f9dd460aafa820bb2af550d213bdbcca74aa939180431 SHA512 dca9aea2ce210c15fcc34cb06a5dc5b4488ffa36d684166d47ebd87e48b54b6fee0882e1c67007a780e1c25754e9bc6e760cc10f60ea1183263f8504ef2dbd9b
DIST ceph-17.2.7.tar.gz 168577111 BLAKE2B e3470819305e580b4afc658564b9ac261d1db53242acc5d5ec6bf6166024394de927b745b7a752e010fdc020a3829ca5e7d3ac27a99cf60f45876f12fef1c927 SHA512 9005de7661c6a9d1054f1388cff2f48eb1af93565ebf852669de546eed594ed6a2668944b25a64c406d00f88bd2f7a6eac2ae96b04789c03ea4d248d1a683e7b
DIST ceph-18.2.1.tar.gz 197490056 BLAKE2B bcb66957a4e9502fda268aea09550ecc3775c83c2b4780a338364fd13b553164cae4c66dc69e64fb5df345d89161fe9d72ec42d9aa38eada0f77970b4125dc3c SHA512 88e1c18bc6c824b6203cf026cca4c9409000e7cf5b2b986e22ab74d2790d8b93d91556bd3af15a320dbdd0cf2302308f0b2c75fd1243bc5a65f76fc6b3d70736
+DIST ceph-18.2.4.tar.gz 226953064 BLAKE2B 3865ea051d1bd2f9aa44e6379f5bf2c7a526b076b327366dcf502d5a2358cc4d9bc53c7275e7b0f91387ec22a8a0e427f5e851a9f5308320091d1a6306bc9097 SHA512 a4ebb4e14032e6ab8e1fd8836f39234b771cb0a4b655166e9c69493a2c0d687064af4bb35523d0501629605521854e49f5c53a56279f72810d108c76f4f88c5b
DIST ceph-xsimd-17.2.6.tar.gz 173025 BLAKE2B 54679c24804c195ae55b9f49589e331dde92c6d89aaa20e827539e9a4e0010c7549cdd5cf02a7ebed83f953ab2a6f1d9cc9a98cf45c3dc7758ae4938c9c43713 SHA512 ecc58e7909648aaa22aefbf76ee2c5a2bece4b1b88da9c7eda1b69a46247e619ff99c4366afd6015f95debd68c1a6b89292c677b9049462d0fc0255fbc0c2a33
DIST ceph-xsimd-17.2.7.tar.gz 173025 BLAKE2B 54679c24804c195ae55b9f49589e331dde92c6d89aaa20e827539e9a4e0010c7549cdd5cf02a7ebed83f953ab2a6f1d9cc9a98cf45c3dc7758ae4938c9c43713 SHA512 ecc58e7909648aaa22aefbf76ee2c5a2bece4b1b88da9c7eda1b69a46247e619ff99c4366afd6015f95debd68c1a6b89292c677b9049462d0fc0255fbc0c2a33
DIST ceph-xsimd-18.2.1.tar.gz 173025 BLAKE2B 54679c24804c195ae55b9f49589e331dde92c6d89aaa20e827539e9a4e0010c7549cdd5cf02a7ebed83f953ab2a6f1d9cc9a98cf45c3dc7758ae4938c9c43713 SHA512 ecc58e7909648aaa22aefbf76ee2c5a2bece4b1b88da9c7eda1b69a46247e619ff99c4366afd6015f95debd68c1a6b89292c677b9049462d0fc0255fbc0c2a33
+DIST ceph-xsimd-18.2.4.tar.gz 173025 BLAKE2B 54679c24804c195ae55b9f49589e331dde92c6d89aaa20e827539e9a4e0010c7549cdd5cf02a7ebed83f953ab2a6f1d9cc9a98cf45c3dc7758ae4938c9c43713 SHA512 ecc58e7909648aaa22aefbf76ee2c5a2bece4b1b88da9c7eda1b69a46247e619ff99c4366afd6015f95debd68c1a6b89292c677b9049462d0fc0255fbc0c2a33
diff --git a/sys-cluster/ceph/ceph-18.2.4.ebuild b/sys-cluster/ceph/ceph-18.2.4.ebuild
new file mode 100644
index 000000000000..12e9de0776c2
--- /dev/null
+++ b/sys-cluster/ceph/ceph-18.2.4.ebuild
@@ -0,0 +1,493 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{10..12} )
+LUA_COMPAT=( lua5-{3..4} )
+
+inherit check-reqs bash-completion-r1 cmake flag-o-matic lua-single \
+ python-r1 udev readme.gentoo-r1 toolchain-funcs systemd tmpfiles
+
+XSIMD_HASH="aeec9c872c8b475dedd7781336710f2dd2666cb2"
+
+DESCRIPTION="Ceph distributed filesystem"
+HOMEPAGE="https://ceph.com/"
+
+SRC_URI="
+ https://download.ceph.com/tarballs/${P}.tar.gz
+ parquet? ( https://github.com/xtensor-stack/xsimd/archive/${XSIMD_HASH}.tar.gz -> ceph-xsimd-${PV}.tar.gz )
+"
+
+LICENSE="Apache-2.0 LGPL-2.1 CC-BY-SA-3.0 GPL-2 GPL-2+ LGPL-2+ LGPL-2.1 LGPL-3 GPL-3 BSD Boost-1.0 MIT public-domain"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~ppc64"
+
+CPU_FLAGS_X86=(avx2 avx512f pclmul sse{,2,3,4_1,4_2} ssse3)
+
+IUSE="
+ babeltrace +cephfs custom-cflags diskprediction dpdk fuse grafana
+ jemalloc jaeger kafka kerberos ldap lttng +mgr +parquet pmdk rabbitmq
+ +radosgw rbd-rwl rbd-ssd rdma rgw-lua selinux +ssl spdk +sqlite +system-boost
+ systemd +tcmalloc test +uring xfs zbd zfs
+"
+
+IUSE+="$(printf "cpu_flags_x86_%s\n" ${CPU_FLAGS_X86[@]})"
+
+DEPEND="
+ ${LUA_DEPS}
+ ${PYTHON_DEPS}
+ acct-group/ceph
+ acct-user/ceph
+ virtual/libudev:=
+ app-arch/bzip2:=
+ app-arch/lz4:=
+ app-arch/snappy:=
+ >=app-arch/snappy-1.1.9-r1
+ app-arch/zstd:=
+ app-shells/bash:0
+ app-misc/jq:=
+ dev-cpp/gflags:=
+ dev-lang/jsonnet:=
+ dev-libs/libaio:=
+ dev-libs/libnl:3=
+ dev-libs/libxml2:=
+ dev-libs/libevent:=
+ dev-libs/libutf8proc:=
+ dev-libs/nss:=
+ dev-libs/openssl:=
+ <dev-libs/rocksdb-7.9.3:=
+ dev-libs/thrift:=
+ dev-libs/xmlsec:=[openssl]
+ dev-cpp/yaml-cpp:=
+ dev-python/natsort[${PYTHON_USEDEP}]
+ dev-python/pyyaml[${PYTHON_USEDEP}]
+ net-dns/c-ares:=
+ net-libs/gnutls:=
+ sys-auth/oath-toolkit:=
+ sys-apps/coreutils
+ sys-apps/hwloc:=
+ sys-apps/keyutils:=
+ sys-apps/util-linux:=
+ sys-libs/libcap-ng:=
+ sys-libs/ncurses:0=
+ sys-libs/zlib:=
+ sys-process/numactl:=
+ virtual/libcrypt:=
+ x11-libs/libpciaccess:=
+ babeltrace? ( dev-util/babeltrace:0/1 )
+ fuse? ( sys-fs/fuse:3= )
+ jemalloc? ( dev-libs/jemalloc:= )
+ !jemalloc? ( >=dev-util/google-perftools-2.6.1:= )
+ jaeger? (
+ dev-cpp/nlohmann_json:=
+ dev-cpp/opentelemetry-cpp:=[jaeger]
+ )
+ kafka? ( dev-libs/librdkafka:= )
+ kerberos? ( virtual/krb5 )
+ ldap? ( net-nds/openldap:= )
+ lttng? ( dev-util/lttng-ust:= )
+ parquet? ( dev-libs/re2:= )
+ pmdk? (
+ >=dev-libs/pmdk-1.10.0:=
+ sys-block/ndctl:=
+ )
+ rabbitmq? ( net-libs/rabbitmq-c:= )
+ radosgw? (
+ dev-libs/icu:=
+ dev-libs/expat:=
+ net-misc/curl:=[curl_ssl_openssl]
+ )
+ rbd-rwl? ( dev-libs/pmdk:= )
+ rdma? ( sys-cluster/rdma-core:= )
+ spdk? ( dev-util/cunit )
+ sqlite? ( dev-db/sqlite:= )
+ system-boost? ( dev-libs/boost:=[context,python,${PYTHON_USEDEP},zlib] )
+ uring? ( sys-libs/liburing:= )
+ xfs? ( sys-fs/xfsprogs:= )
+ zbd? ( sys-block/libzbd:= )
+ zfs? ( sys-fs/zfs:= )
+"
+BDEPEND="
+ amd64? ( dev-lang/nasm )
+ x86? ( dev-lang/yasm )
+ app-alternatives/cpio
+ dev-debug/valgrind
+ >=dev-build/cmake-3.5.0
+ dev-python/cython[${PYTHON_USEDEP}]
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ dev-python/sphinx
+ dev-util/gperf
+ dev-util/ragel
+ sys-apps/coreutils
+ sys-apps/grep
+ sys-apps/util-linux
+ sys-apps/which
+ app-alternatives/bc
+ sys-devel/patch
+ virtual/pkgconfig
+ jaeger? (
+ app-alternatives/yacc
+ app-alternatives/lex
+ )
+ test? (
+ dev-util/cunit
+ dev-python/coverage[${PYTHON_USEDEP}]
+ dev-python/virtualenv[${PYTHON_USEDEP}]
+ dev-python/requests-mock[${PYTHON_USEDEP}]
+ sys-apps/grep[pcre]
+ sys-fs/btrfs-progs
+ )
+"
+RDEPEND="
+ ${DEPEND}
+ app-admin/sudo
+ net-misc/socat
+ sys-apps/gptfdisk
+ sys-apps/nvme-cli
+ >=sys-apps/smartmontools-7.0
+ sys-block/parted
+ sys-fs/cryptsetup
+ sys-fs/lsscsi
+ sys-fs/lvm2[lvm]
+ app-alternatives/awk
+ dev-python/bcrypt[${PYTHON_USEDEP}]
+ dev-python/cherrypy[${PYTHON_USEDEP}]
+ dev-python/python-dateutil[${PYTHON_USEDEP}]
+ dev-python/flask[${PYTHON_USEDEP}]
+ dev-python/jinja[${PYTHON_USEDEP}]
+ dev-python/pecan[${PYTHON_USEDEP}]
+ dev-python/prettytable[${PYTHON_USEDEP}]
+ dev-python/pyopenssl[${PYTHON_USEDEP}]
+ dev-python/requests[${PYTHON_USEDEP}]
+ dev-python/werkzeug[${PYTHON_USEDEP}]
+ mgr? (
+ dev-python/jsonpatch[${PYTHON_USEDEP}]
+ dev-python/more-itertools[${PYTHON_USEDEP}]
+ dev-python/numpy[${PYTHON_USEDEP}]
+ dev-python/pyjwt[${PYTHON_USEDEP}]
+ dev-python/routes[${PYTHON_USEDEP}]
+ diskprediction? (
+ >=dev-python/scipy-1.4.0[${PYTHON_USEDEP}]
+ )
+ dev-python/scikit-learn[${PYTHON_USEDEP}]
+ dev-python/six[${PYTHON_USEDEP}]
+ )
+ selinux? ( sec-policy/selinux-ceph )
+"
+REQUIRED_USE="
+ ${PYTHON_REQUIRED_USE}
+ ${LUA_REQUIRED_USE}
+ ?? ( jemalloc tcmalloc )
+ diskprediction? ( mgr )
+ kafka? ( radosgw )
+ mgr? ( cephfs )
+ rabbitmq? ( radosgw )
+ rgw-lua? ( radosgw )
+"
+
+RESTRICT="
+ !test? ( test )
+"
+
+# tests need root access, and network access
+RESTRICT+="test"
+
+# false positives unless all USE flags are on
+CMAKE_WARN_UNUSED_CLI=no
+
+PATCHES=(
+ "${FILESDIR}/ceph-12.2.0-use-provided-cpu-flag-values.patch"
+ "${FILESDIR}/ceph-14.2.0-cflags.patch"
+ "${FILESDIR}/ceph-12.2.4-boost-build-none-options.patch"
+ "${FILESDIR}/ceph-17.2.1-no-virtualenvs.patch"
+ "${FILESDIR}/ceph-13.2.2-dont-install-sysvinit-script.patch"
+ "${FILESDIR}/ceph-14.2.0-dpdk-cflags.patch"
+ "${FILESDIR}/ceph-16.2.0-rocksdb-cmake.patch"
+ "${FILESDIR}/ceph-16.2.0-spdk-tinfo.patch"
+ "${FILESDIR}/ceph-16.2.0-jaeger-system-boost.patch"
+ "${FILESDIR}/ceph-17.2.0-pybind-boost-1.74.patch"
+ "${FILESDIR}/ceph-17.2.0-findre2.patch"
+ "${FILESDIR}/ceph-18.2.0-system-opentelemetry.patch"
+ "${FILESDIR}/ceph-17.2.0-osd_class_dir.patch"
+ "${FILESDIR}/ceph-17.2.0-gcc12-header.patch"
+ "${FILESDIR}/ceph-17.2.3-flags.patch"
+ # https://bugs.gentoo.org/866165
+ "${FILESDIR}/ceph-17.2.5-suppress-cmake-warning.patch"
+ "${FILESDIR}/ceph-17.2.5-gcc13-deux.patch"
+ "${FILESDIR}/ceph-17.2.5-boost-1.81.patch"
+ # https://bugs.gentoo.org/901403
+ "${FILESDIR}/ceph-17.2.6-link-boost-context.patch"
+ # https://bugs.gentoo.org/905626
+ "${FILESDIR}/ceph-17.2.6-arrow-flatbuffers-c++14.patch"
+ # https://bugs.gentoo.org/868891
+ "${FILESDIR}/ceph-17.2.6-cmake.patch"
+ "${FILESDIR}/ceph-18.2.0-cyclic-deps.patch"
+ # https://bugs.gentoo.org/907739
+ "${FILESDIR}/ceph-18.2.0-cython3.patch"
+ # https://bugs.gentoo.org/936889
+ "${FILESDIR}/ceph-18.2.1-gcc14.patch"
+ "${FILESDIR}/ceph-18.2.1-gcc14-2.patch"
+ "${FILESDIR}/ceph-18.2.4-liburing.patch"
+)
+
+check-reqs_export_vars() {
+ CHECKREQS_DISK_BUILD="6G"
+
+ if use system-boost; then
+ CHECKREQS_DISK_USR="350M"
+ else
+ CHECKREQS_DISK_USR="510M"
+ fi
+
+ export CHECKREQS_DISK_BUILD CHECKREQS_DISK_USR
+}
+
+pkg_pretend() {
+ check-reqs_export_vars
+ check-reqs_pkg_pretend
+}
+
+pkg_setup() {
+ python_setup
+ lua_setup
+ check-reqs_export_vars
+ check-reqs_pkg_setup
+}
+
+src_prepare() {
+ cmake_src_prepare
+
+ if use system-boost; then
+ find "${S}" -name '*.cmake' -or -name 'CMakeLists.txt' -print0 \
+ | xargs --null sed -r \
+ -e 's|Boost::|boost_|g' \
+ -e 's|Boost_|boost_|g' \
+ -e 's|[Bb]oost_boost|boost_system|g' \
+ -i || die
+ fi
+
+ if ! use systemd; then
+ find "${S}"/src/ceph-volume/ceph_volume -name '*.py' -print0 \
+ | xargs --null sed \
+ -e '/^from ceph_volume.systemd import systemctl/ d' \
+ -i || die
+ fi
+
+ sed -r -e "s:DESTINATION .+\\):DESTINATION $(get_bashcompdir)\\):" \
+ -i src/bash_completion/CMakeLists.txt || die
+
+ sed -e "s:objdump -p:$(tc-getOBJDUMP) -p:" -i CMakeLists.txt || die
+
+ # force lua version to use selected version
+ local lua_version
+ lua_version=$(ver_cut 1-2 $(lua_get_version))
+ sed "s:find_package(Lua [0-9][.][0-9] REQUIRED):find_package(Lua ${lua_version} EXACT REQUIRED):" \
+ -i src/CMakeLists.txt
+
+ if use spdk; then
+ # https://bugs.gentoo.org/871942
+ sed -i 's/[#]ifndef HAVE_ARC4RANDOM/#if 0/' src/spdk/lib/iscsi/iscsi.c || die
+ fi
+
+ # remove tests that need root access
+ rm src/test/cli/ceph-authtool/cap*.t || die
+}
+
+ceph_src_configure() {
+ local mycmakeargs=(
+ -DWITH_BABELTRACE:BOOL=$(usex babeltrace)
+ -DWITH_BLUESTORE_PMEM:BOOL=$(usex pmdk)
+ -DWITH_CEPHFS:BOOL=$(usex cephfs)
+ -DWITH_CEPHFS_SHELL:BOOL=$(usex cephfs)
+ -DWITH_DPDK:BOOL=$(usex dpdk)
+ -DWITH_SPDK:BOOL=$(usex spdk)
+ -DWITH_FUSE:BOOL=$(usex fuse)
+ -DWITH_LTTNG:BOOL=$(usex lttng)
+ -DWITH_GSSAPI:BOOL=$(usex kerberos)
+ -DWITH_GRAFANA:BOOL=$(usex grafana)
+ -DWITH_MGR:BOOL=$(usex mgr)
+ -DWITH_MGR_DASHBOARD_FRONTEND:BOOL=OFF
+ -DWITH_OPENLDAP:BOOL=$(usex ldap)
+ -DWITH_PYTHON3:STRING=3
+ -DWITH_RADOSGW:BOOL=$(usex radosgw)
+ -DWITH_RADOSGW_AMQP_ENDPOINT:BOOL=$(usex rabbitmq)
+ -DWITH_RADOSGW_KAFKA_ENDPOINT:BOOL=$(usex kafka)
+ -DWITH_RADOSGW_LUA_PACKAGES:BOOL=$(usex rgw-lua "$(usex radosgw)" "NO")
+ -DWITH_RBD_RWL:BOOL=$(usex rbd-rwl)
+ -DWITH_RBD_SSD_CACHE:BOOL=$(usex rbd-ssd)
+ -DWITH_SYSTEMD:BOOL=$(usex systemd)
+ -DWITH_TESTS:BOOL=$(usex test)
+ -DWITH_LIBURING:BOOL=$(usex uring)
+ -DWITH_SYSTEM_LIBURING:BOOL=$(usex uring)
+ -DWITH_LIBCEPHSQLITE:BOOL=$(usex sqlite)
+ -DWITH_XFS:BOOL=$(usex xfs)
+ -DWITH_ZBD:BOOL=$(usex zbd)
+ -DWITH_ZFS:BOOL=$(usex zfs)
+ -DENABLE_SHARED:BOOL=ON
+ -DALLOCATOR:STRING=$(usex tcmalloc 'tcmalloc' "$(usex jemalloc 'jemalloc' 'libc')")
+ -DWITH_SYSTEM_PMDK:BOOL=$(usex pmdk 'YES' "$(usex rbd-rwl '')")
+ -DWITH_SYSTEM_BOOST:BOOL=$(usex system-boost)
+ -DWITH_SYSTEM_ROCKSDB:BOOL=ON
+ -DWITH_SYSTEM_ZSTD:BOOL=ON
+ -DWITH_RDMA:BOOL=$(usex rdma)
+ -DCMAKE_INSTALL_DOCDIR:PATH="${EPREFIX}/usr/share/doc/${PN}-${PVR}"
+ -DCMAKE_INSTALL_SYSCONFDIR:PATH="${EPREFIX}/etc"
+ # use the bundled libfmt for now since they seem to constantly break their API
+ -DCMAKE_DISABLE_FIND_PACKAGE_fmt=ON
+ -Wno-dev
+ )
+
+ # this breaks when re-configuring for python impl
+ if [[ ${EBUILD_PHASE} == configure ]]; then
+ mycmakeargs+=(
+ -DWITH_JAEGER:BOOL=$(usex jaeger)
+ -DWITH_RADOSGW_SELECT_PARQUET:BOOL=$(usex parquet)
+ )
+ else
+ mycmakeargs+=(
+ -DWITH_RADOSGW_SELECT_PARQUET:BOOL=OFF
+ -DWITH_JAEGER:BOOL=OFF
+ # don't want to warn about unused CLI when reconfiguring for python
+ -DCMAKE_WARN_UNUSED_CLI:BOOL=OFF
+ )
+ fi
+
+ # conditionally used cmake args
+ use test && mycmakearts+=( -DWITH_SYSTEM_GTEST:BOOL=$(usex test) )
+ use systemd && mycmakeargs+=( -DSYSTEMD_SYSTEM_UNIT_DIR:PATH=$(systemd_get_systemunitdir) )
+
+ if use amd64 || use x86; then
+ local flag
+ for flag in "${CPU_FLAGS_X86[@]}"; do
+ case "${flag}" in
+ avx*)
+ local var=${flag%f}
+ mycmakeargs+=(
+ "-DHAVE_NASM_X64_${var^^}:BOOL=$(usex cpu_flags_x86_${flag})"
+ )
+ ;;
+ *) mycmakeargs+=(
+ "-DHAVE_INTEL_${flag^^}:BOOL=$(usex cpu_flags_x86_${flag})"
+ );;
+ esac
+ done
+ fi
+
+ # needed for >=glibc-2.32
+ has_version '>=sys-libs/glibc-2.32' && mycmakeargs+=( -DWITH_REENTRANT_STRSIGNAL:BOOL=ON )
+
+ rm -f "${BUILD_DIR:-${S}}/CMakeCache.txt" \
+ || die "failed to remove cmake cache"
+
+ # hopefully this will not be necessary in the next release
+ use parquet && export ARROW_XSIMD_URL="file:///${DISTDIR}/ceph-xsimd-${PV}.tar.gz"
+
+ # https://bugs.gentoo.org/927066
+ filter-lto
+
+ cmake_src_configure
+
+ # bug #630232
+ sed -i "s:\"${T//:\\:}/${EPYTHON}/bin/python\":\"${PYTHON}\":" \
+ "${BUILD_DIR:-${S}}"/include/acconfig.h \
+ || die "sed failed"
+}
+
+src_configure() {
+ use custom-cflags || strip-flags
+ ceph_src_configure
+}
+
+src_compile() {
+ cmake_build all
+
+ # we have to do this here to prevent from building everything multiple times
+ python_copy_sources
+ python_foreach_impl python_compile
+}
+
+python_compile() {
+ local CMAKE_USE_DIR="${S}"
+ ceph_src_configure
+
+ cmake_build src/pybind/CMakeFiles/cython_modules
+ cmake_build cephadm
+}
+
+src_install() {
+ python_foreach_impl python_install
+
+ python_setup
+ cmake_src_install
+
+ python_optimize
+
+ find "${ED}" -name '*.la' -type f -delete || die
+
+ exeinto /usr/$(get_libdir)/ceph
+ newexe "${BUILD_DIR}/bin/init-ceph" init-ceph
+
+ insinto /etc/logrotate.d/
+ newins "${FILESDIR}"/ceph.logrotate-r2 ${PN}
+
+ keepdir /var/lib/${PN}{,/tmp} /var/log/ceph/stat /var/log/ceph/console
+
+ fowners -R ceph:ceph /var/log/ceph
+
+ newinitd "${FILESDIR}/rbdmap.initd-r1" rbdmap
+ newinitd "${FILESDIR}/${PN}.initd-r14" ${PN}
+ newconfd "${FILESDIR}/${PN}.confd-r5" ${PN}
+
+ insinto /etc/sudoers.d
+ doins sudoers.d/*
+
+ insinto /etc/sysctl.d
+ newins "${FILESDIR}"/sysctld 90-${PN}.conf
+
+ use tcmalloc && newenvd "${FILESDIR}"/envd-tcmalloc 99${PN}-tcmalloc
+
+ # units aren't installed by the build system unless systemd is enabled
+ # so no point installing these with the USE flag disabled
+ if use systemd; then
+ systemd_install_serviced "${FILESDIR}/ceph-mds_at.service.conf" "ceph-mds@.service"
+ systemd_install_serviced "${FILESDIR}/ceph-osd_at.service.conf" "ceph-osd@.service"
+ fi
+
+ udev_dorules udev/*.rules
+ newtmpfiles "${FILESDIR}"/ceph-tmpfilesd ${PN}.conf
+
+ readme.gentoo_create_doc
+
+ # bug #630232
+ sed -i -r "s:${T//:/\\:}/${EPYTHON}:/usr:" "${ED}"/usr/bin/ceph{,-crash} \
+ || die "sed failed"
+
+ python_fix_shebang "${ED}"/usr/{,s}bin/
+
+ # python_fix_shebang apparently is not idempotent
+ local shebang_regex='(/usr/lib/python-exec/python[0-9]\.[0-9]/python)[0-9]\.[0-9]'
+ grep -r -E -l --null "${shebang_regex}" "${ED}"/usr/{s,}bin/ \
+ | xargs --null --no-run-if-empty -- sed -i -r "s:${shebang_regex}:\1:" || die
+
+ local -a rados_classes=( "${ED}/usr/$(get_libdir)/rados-classes"/* )
+ dostrip -x "${rados_classes[@]#${ED}}"
+}
+
+python_install() {
+ local CMAKE_USE_DIR="${S}"
+ DESTDIR="${ED}" cmake_build src/pybind/install
+ DESTDIR="${ED}" cmake_build src/cephadm/install
+
+ python_optimize
+}
+
+pkg_postinst() {
+ readme.gentoo_print_elog
+ tmpfiles_process ${PN}.conf
+ udev_reload
+}
+
+pkg_postrm() {
+ udev_reload
+}
diff --git a/sys-cluster/ceph/files/ceph-18.2.4-liburing.patch b/sys-cluster/ceph/files/ceph-18.2.4-liburing.patch
new file mode 100644
index 000000000000..a6830d0b679e
--- /dev/null
+++ b/sys-cluster/ceph/files/ceph-18.2.4-liburing.patch
@@ -0,0 +1,26 @@
+diff --git a/cmake/modules/Finduring.cmake b/cmake/modules/Finduring.cmake
+index 10c8de4255..c0a4dadfe4 100644
+--- a/cmake/modules/Finduring.cmake
++++ b/cmake/modules/Finduring.cmake
+@@ -8,10 +8,10 @@ find_path(URING_INCLUDE_DIR liburing.h)
+ find_library(URING_LIBRARIES liburing.a liburing)
+
+ include(FindPackageHandleStandardArgs)
+-find_package_handle_standard_args(uring DEFAULT_MSG URING_LIBRARIES URING_INCLUDE_DIR)
++pkg_check_modules(URING REQUIRED liburing)
+
+ if(uring_FOUND AND NOT TARGET uring::uring)
+- add_library(uring::uring UNKNOWN IMPORTED)
++ add_library(uring::uring ALIAS ${URING_LIBRARIES})
+ set_target_properties(uring::uring PROPERTIES
+ INTERFACE_INCLUDE_DIRECTORIES "${URING_INCLUDE_DIR}"
+ IMPORTED_LINK_INTERFACE_LANGUAGES "C"
+--- a/src/blk/CMakeLists.txt
++++ b/src/blk/CMakeLists.txt
+@@ -57,5 +57,5 @@
+ endif()
+
+ if(WITH_LIBURING)
+- target_link_libraries(blk PRIVATE uring::uring)
++ target_link_libraries(blk PRIVATE ${URING_LIBRARIES})
+ endif()
^ permalink raw reply related [flat|nested] 68+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-cluster/ceph/, sys-cluster/ceph/files/
@ 2024-07-30 9:05 Patrick Lauer
0 siblings, 0 replies; 68+ messages in thread
From: Patrick Lauer @ 2024-07-30 9:05 UTC (permalink / raw
To: gentoo-commits
commit: c8481002b920e87cfbffc3ca7908921134d70087
Author: Patrick Lauer <patrick <AT> gentoo <DOT> org>
AuthorDate: Tue Jul 30 07:49:34 2024 +0000
Commit: Patrick Lauer <patrick <AT> gentoo <DOT> org>
CommitDate: Tue Jul 30 09:05:03 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=c8481002
sys-cluster/ceph: Fix build with gcc-14
Bug: https://bugs.gentoo.org/936889
Signed-off-by: Patrick Lauer <patrick <AT> gentoo.org>
sys-cluster/ceph/ceph-18.2.1-r3.ebuild | 493 +++++++++++++++++++++++
sys-cluster/ceph/files/ceph-18.2.1-gcc14-2.patch | 253 ++++++++++++
sys-cluster/ceph/files/ceph-18.2.1-gcc14.patch | 141 +++++++
3 files changed, 887 insertions(+)
diff --git a/sys-cluster/ceph/ceph-18.2.1-r3.ebuild b/sys-cluster/ceph/ceph-18.2.1-r3.ebuild
new file mode 100644
index 000000000000..212dd1166fae
--- /dev/null
+++ b/sys-cluster/ceph/ceph-18.2.1-r3.ebuild
@@ -0,0 +1,493 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{10..12} )
+LUA_COMPAT=( lua5-{3..4} )
+
+inherit check-reqs bash-completion-r1 cmake flag-o-matic lua-single \
+ python-r1 udev readme.gentoo-r1 toolchain-funcs systemd tmpfiles
+
+XSIMD_HASH="aeec9c872c8b475dedd7781336710f2dd2666cb2"
+
+DESCRIPTION="Ceph distributed filesystem"
+HOMEPAGE="https://ceph.com/"
+
+SRC_URI="
+ https://download.ceph.com/tarballs/${P}.tar.gz
+ parquet? ( https://github.com/xtensor-stack/xsimd/archive/${XSIMD_HASH}.tar.gz -> ceph-xsimd-${PV}.tar.gz )
+"
+
+LICENSE="Apache-2.0 LGPL-2.1 CC-BY-SA-3.0 GPL-2 GPL-2+ LGPL-2+ LGPL-2.1 LGPL-3 GPL-3 BSD Boost-1.0 MIT public-domain"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~ppc64"
+
+CPU_FLAGS_X86=(avx2 avx512f pclmul sse{,2,3,4_1,4_2} ssse3)
+
+IUSE="
+ babeltrace +cephfs custom-cflags diskprediction dpdk fuse grafana
+ jemalloc jaeger kafka kerberos ldap lttng +mgr +parquet pmdk rabbitmq
+ +radosgw rbd-rwl rbd-ssd rdma rgw-lua selinux +ssl spdk +sqlite +system-boost
+ systemd +tcmalloc test +uring xfs zbd zfs
+"
+
+IUSE+="$(printf "cpu_flags_x86_%s\n" ${CPU_FLAGS_X86[@]})"
+
+DEPEND="
+ ${LUA_DEPS}
+ ${PYTHON_DEPS}
+ acct-group/ceph
+ acct-user/ceph
+ virtual/libudev:=
+ app-arch/bzip2:=
+ app-arch/lz4:=
+ app-arch/snappy:=
+ >=app-arch/snappy-1.1.9-r1
+ app-arch/zstd:=
+ app-shells/bash:0
+ app-misc/jq:=
+ dev-cpp/gflags:=
+ dev-lang/jsonnet:=
+ dev-libs/libaio:=
+ dev-libs/libnl:3=
+ dev-libs/libxml2:=
+ dev-libs/libevent:=
+ dev-libs/libutf8proc:=
+ dev-libs/nss:=
+ dev-libs/openssl:=
+ <dev-libs/rocksdb-7.9.3:=
+ dev-libs/thrift:=
+ dev-libs/xmlsec:=[openssl]
+ dev-cpp/yaml-cpp:=
+ dev-python/natsort[${PYTHON_USEDEP}]
+ dev-python/pyyaml[${PYTHON_USEDEP}]
+ net-dns/c-ares:=
+ net-libs/gnutls:=
+ sys-auth/oath-toolkit:=
+ sys-apps/coreutils
+ sys-apps/hwloc:=
+ sys-apps/keyutils:=
+ sys-apps/util-linux:=
+ sys-libs/libcap-ng:=
+ sys-libs/ncurses:0=
+ sys-libs/zlib:=
+ sys-process/numactl:=
+ virtual/libcrypt:=
+ x11-libs/libpciaccess:=
+ babeltrace? ( dev-util/babeltrace:0/1 )
+ fuse? ( sys-fs/fuse:3= )
+ jemalloc? ( dev-libs/jemalloc:= )
+ !jemalloc? ( >=dev-util/google-perftools-2.6.1:= )
+ jaeger? (
+ dev-cpp/nlohmann_json:=
+ dev-cpp/opentelemetry-cpp:=[jaeger]
+ )
+ kafka? ( dev-libs/librdkafka:= )
+ kerberos? ( virtual/krb5 )
+ ldap? ( net-nds/openldap:= )
+ lttng? ( dev-util/lttng-ust:= )
+ parquet? ( dev-libs/re2:= )
+ pmdk? (
+ >=dev-libs/pmdk-1.10.0:=
+ sys-block/ndctl:=
+ )
+ rabbitmq? ( net-libs/rabbitmq-c:= )
+ radosgw? (
+ dev-libs/icu:=
+ dev-libs/expat:=
+ net-misc/curl:=[curl_ssl_openssl]
+ )
+ rbd-rwl? ( dev-libs/pmdk:= )
+ rdma? ( sys-cluster/rdma-core:= )
+ spdk? ( dev-util/cunit )
+ sqlite? ( dev-db/sqlite:= )
+ system-boost? ( dev-libs/boost:=[context,python,${PYTHON_USEDEP},zlib] )
+ uring? ( sys-libs/liburing:= )
+ xfs? ( sys-fs/xfsprogs:= )
+ zbd? ( sys-block/libzbd:= )
+ zfs? ( sys-fs/zfs:= )
+"
+BDEPEND="
+ amd64? ( dev-lang/nasm )
+ x86? ( dev-lang/yasm )
+ app-alternatives/cpio
+ dev-debug/valgrind
+ >=dev-build/cmake-3.5.0
+ dev-python/cython[${PYTHON_USEDEP}]
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ dev-python/sphinx
+ dev-util/gperf
+ dev-util/ragel
+ sys-apps/coreutils
+ sys-apps/grep
+ sys-apps/util-linux
+ sys-apps/which
+ app-alternatives/bc
+ sys-devel/patch
+ virtual/pkgconfig
+ jaeger? (
+ app-alternatives/yacc
+ app-alternatives/lex
+ )
+ test? (
+ dev-util/cunit
+ dev-python/coverage[${PYTHON_USEDEP}]
+ dev-python/virtualenv[${PYTHON_USEDEP}]
+ dev-python/requests-mock[${PYTHON_USEDEP}]
+ sys-apps/grep[pcre]
+ sys-fs/btrfs-progs
+ )
+"
+RDEPEND="
+ ${DEPEND}
+ app-admin/sudo
+ net-misc/socat
+ sys-apps/gptfdisk
+ sys-apps/nvme-cli
+ >=sys-apps/smartmontools-7.0
+ sys-block/parted
+ sys-fs/cryptsetup
+ sys-fs/lsscsi
+ sys-fs/lvm2[lvm]
+ app-alternatives/awk
+ dev-python/bcrypt[${PYTHON_USEDEP}]
+ dev-python/cherrypy[${PYTHON_USEDEP}]
+ dev-python/python-dateutil[${PYTHON_USEDEP}]
+ dev-python/flask[${PYTHON_USEDEP}]
+ dev-python/jinja[${PYTHON_USEDEP}]
+ dev-python/pecan[${PYTHON_USEDEP}]
+ dev-python/prettytable[${PYTHON_USEDEP}]
+ dev-python/pyopenssl[${PYTHON_USEDEP}]
+ dev-python/requests[${PYTHON_USEDEP}]
+ dev-python/werkzeug[${PYTHON_USEDEP}]
+ mgr? (
+ dev-python/jsonpatch[${PYTHON_USEDEP}]
+ dev-python/more-itertools[${PYTHON_USEDEP}]
+ dev-python/numpy[${PYTHON_USEDEP}]
+ dev-python/pyjwt[${PYTHON_USEDEP}]
+ dev-python/routes[${PYTHON_USEDEP}]
+ diskprediction? (
+ >=dev-python/scipy-1.4.0[${PYTHON_USEDEP}]
+ )
+ dev-python/scikit-learn[${PYTHON_USEDEP}]
+ dev-python/six[${PYTHON_USEDEP}]
+ )
+ selinux? ( sec-policy/selinux-ceph )
+"
+REQUIRED_USE="
+ ${PYTHON_REQUIRED_USE}
+ ${LUA_REQUIRED_USE}
+ ?? ( jemalloc tcmalloc )
+ diskprediction? ( mgr )
+ kafka? ( radosgw )
+ mgr? ( cephfs )
+ rabbitmq? ( radosgw )
+ rgw-lua? ( radosgw )
+"
+
+RESTRICT="
+ !test? ( test )
+"
+
+# tests need root access, and network access
+RESTRICT+="test"
+
+# false positives unless all USE flags are on
+CMAKE_WARN_UNUSED_CLI=no
+
+PATCHES=(
+ "${FILESDIR}/ceph-12.2.0-use-provided-cpu-flag-values.patch"
+ "${FILESDIR}/ceph-14.2.0-cflags.patch"
+ "${FILESDIR}/ceph-12.2.4-boost-build-none-options.patch"
+ "${FILESDIR}/ceph-17.2.1-no-virtualenvs.patch"
+ "${FILESDIR}/ceph-13.2.2-dont-install-sysvinit-script.patch"
+ "${FILESDIR}/ceph-14.2.0-dpdk-cflags.patch"
+ "${FILESDIR}/ceph-16.2.0-rocksdb-cmake.patch"
+ "${FILESDIR}/ceph-16.2.0-spdk-tinfo.patch"
+ "${FILESDIR}/ceph-16.2.0-jaeger-system-boost.patch"
+ "${FILESDIR}/ceph-16.2.0-liburing.patch"
+ "${FILESDIR}/ceph-17.2.0-pybind-boost-1.74.patch"
+ "${FILESDIR}/ceph-17.2.0-findre2.patch"
+ "${FILESDIR}/ceph-18.2.0-system-opentelemetry.patch"
+ "${FILESDIR}/ceph-17.2.0-osd_class_dir.patch"
+ "${FILESDIR}/ceph-17.2.0-gcc12-header.patch"
+ "${FILESDIR}/ceph-17.2.3-flags.patch"
+ # https://bugs.gentoo.org/866165
+ "${FILESDIR}/ceph-17.2.5-suppress-cmake-warning.patch"
+ "${FILESDIR}/ceph-17.2.5-gcc13-deux.patch"
+ "${FILESDIR}/ceph-17.2.5-boost-1.81.patch"
+ # https://bugs.gentoo.org/901403
+ "${FILESDIR}/ceph-17.2.6-link-boost-context.patch"
+ # https://bugs.gentoo.org/905626
+ "${FILESDIR}/ceph-17.2.6-arrow-flatbuffers-c++14.patch"
+ # https://bugs.gentoo.org/868891
+ "${FILESDIR}/ceph-17.2.6-cmake.patch"
+ "${FILESDIR}/ceph-18.2.0-cyclic-deps.patch"
+ # https://bugs.gentoo.org/907739
+ "${FILESDIR}/ceph-18.2.0-cython3.patch"
+ # https://bugs.gentoo.org/936889
+ "${FILESDIR}/ceph-18.2.1-gcc14.patch"
+ "${FILESDIR}/ceph-18.2.1-gcc14-2.patch"
+)
+
+check-reqs_export_vars() {
+ CHECKREQS_DISK_BUILD="6G"
+
+ if use system-boost; then
+ CHECKREQS_DISK_USR="350M"
+ else
+ CHECKREQS_DISK_USR="510M"
+ fi
+
+ export CHECKREQS_DISK_BUILD CHECKREQS_DISK_USR
+}
+
+pkg_pretend() {
+ check-reqs_export_vars
+ check-reqs_pkg_pretend
+}
+
+pkg_setup() {
+ python_setup
+ lua_setup
+ check-reqs_export_vars
+ check-reqs_pkg_setup
+}
+
+src_prepare() {
+ cmake_src_prepare
+
+ if use system-boost; then
+ find "${S}" -name '*.cmake' -or -name 'CMakeLists.txt' -print0 \
+ | xargs --null sed -r \
+ -e 's|Boost::|boost_|g' \
+ -e 's|Boost_|boost_|g' \
+ -e 's|[Bb]oost_boost|boost_system|g' \
+ -i || die
+ fi
+
+ if ! use systemd; then
+ find "${S}"/src/ceph-volume/ceph_volume -name '*.py' -print0 \
+ | xargs --null sed \
+ -e '/^from ceph_volume.systemd import systemctl/ d' \
+ -i || die
+ fi
+
+ sed -r -e "s:DESTINATION .+\\):DESTINATION $(get_bashcompdir)\\):" \
+ -i src/bash_completion/CMakeLists.txt || die
+
+ sed -e "s:objdump -p:$(tc-getOBJDUMP) -p:" -i CMakeLists.txt || die
+
+ # force lua version to use selected version
+ local lua_version
+ lua_version=$(ver_cut 1-2 $(lua_get_version))
+ sed "s:find_package(Lua [0-9][.][0-9] REQUIRED):find_package(Lua ${lua_version} EXACT REQUIRED):" \
+ -i src/CMakeLists.txt
+
+ if use spdk; then
+ # https://bugs.gentoo.org/871942
+ sed -i 's/[#]ifndef HAVE_ARC4RANDOM/#if 0/' src/spdk/lib/iscsi/iscsi.c || die
+ fi
+
+ # remove tests that need root access
+ rm src/test/cli/ceph-authtool/cap*.t || die
+}
+
+ceph_src_configure() {
+ local mycmakeargs=(
+ -DWITH_BABELTRACE:BOOL=$(usex babeltrace)
+ -DWITH_BLUESTORE_PMEM:BOOL=$(usex pmdk)
+ -DWITH_CEPHFS:BOOL=$(usex cephfs)
+ -DWITH_CEPHFS_SHELL:BOOL=$(usex cephfs)
+ -DWITH_DPDK:BOOL=$(usex dpdk)
+ -DWITH_SPDK:BOOL=$(usex spdk)
+ -DWITH_FUSE:BOOL=$(usex fuse)
+ -DWITH_LTTNG:BOOL=$(usex lttng)
+ -DWITH_GSSAPI:BOOL=$(usex kerberos)
+ -DWITH_GRAFANA:BOOL=$(usex grafana)
+ -DWITH_MGR:BOOL=$(usex mgr)
+ -DWITH_MGR_DASHBOARD_FRONTEND:BOOL=OFF
+ -DWITH_OPENLDAP:BOOL=$(usex ldap)
+ -DWITH_PYTHON3:STRING=3
+ -DWITH_RADOSGW:BOOL=$(usex radosgw)
+ -DWITH_RADOSGW_AMQP_ENDPOINT:BOOL=$(usex rabbitmq)
+ -DWITH_RADOSGW_KAFKA_ENDPOINT:BOOL=$(usex kafka)
+ -DWITH_RADOSGW_LUA_PACKAGES:BOOL=$(usex rgw-lua "$(usex radosgw)" "NO")
+ -DWITH_RBD_RWL:BOOL=$(usex rbd-rwl)
+ -DWITH_RBD_SSD_CACHE:BOOL=$(usex rbd-ssd)
+ -DWITH_SYSTEMD:BOOL=$(usex systemd)
+ -DWITH_TESTS:BOOL=$(usex test)
+ -DWITH_LIBURING:BOOL=$(usex uring)
+ -DWITH_SYSTEM_LIBURING:BOOL=$(usex uring)
+ -DWITH_LIBCEPHSQLITE:BOOL=$(usex sqlite)
+ -DWITH_XFS:BOOL=$(usex xfs)
+ -DWITH_ZBD:BOOL=$(usex zbd)
+ -DWITH_ZFS:BOOL=$(usex zfs)
+ -DENABLE_SHARED:BOOL=ON
+ -DALLOCATOR:STRING=$(usex tcmalloc 'tcmalloc' "$(usex jemalloc 'jemalloc' 'libc')")
+ -DWITH_SYSTEM_PMDK:BOOL=$(usex pmdk 'YES' "$(usex rbd-rwl '')")
+ -DWITH_SYSTEM_BOOST:BOOL=$(usex system-boost)
+ -DWITH_SYSTEM_ROCKSDB:BOOL=ON
+ -DWITH_SYSTEM_ZSTD:BOOL=ON
+ -DWITH_RDMA:BOOL=$(usex rdma)
+ -DCMAKE_INSTALL_DOCDIR:PATH="${EPREFIX}/usr/share/doc/${PN}-${PVR}"
+ -DCMAKE_INSTALL_SYSCONFDIR:PATH="${EPREFIX}/etc"
+ # use the bundled libfmt for now since they seem to constantly break their API
+ -DCMAKE_DISABLE_FIND_PACKAGE_fmt=ON
+ -Wno-dev
+ )
+
+ # this breaks when re-configuring for python impl
+ if [[ ${EBUILD_PHASE} == configure ]]; then
+ mycmakeargs+=(
+ -DWITH_JAEGER:BOOL=$(usex jaeger)
+ -DWITH_RADOSGW_SELECT_PARQUET:BOOL=$(usex parquet)
+ )
+ else
+ mycmakeargs+=(
+ -DWITH_RADOSGW_SELECT_PARQUET:BOOL=OFF
+ -DWITH_JAEGER:BOOL=OFF
+ # don't want to warn about unused CLI when reconfiguring for python
+ -DCMAKE_WARN_UNUSED_CLI:BOOL=OFF
+ )
+ fi
+
+ # conditionally used cmake args
+ use test && mycmakearts+=( -DWITH_SYSTEM_GTEST:BOOL=$(usex test) )
+ use systemd && mycmakeargs+=( -DSYSTEMD_SYSTEM_UNIT_DIR:PATH=$(systemd_get_systemunitdir) )
+
+ if use amd64 || use x86; then
+ local flag
+ for flag in "${CPU_FLAGS_X86[@]}"; do
+ case "${flag}" in
+ avx*)
+ local var=${flag%f}
+ mycmakeargs+=(
+ "-DHAVE_NASM_X64_${var^^}:BOOL=$(usex cpu_flags_x86_${flag})"
+ )
+ ;;
+ *) mycmakeargs+=(
+ "-DHAVE_INTEL_${flag^^}:BOOL=$(usex cpu_flags_x86_${flag})"
+ );;
+ esac
+ done
+ fi
+
+ # needed for >=glibc-2.32
+ has_version '>=sys-libs/glibc-2.32' && mycmakeargs+=( -DWITH_REENTRANT_STRSIGNAL:BOOL=ON )
+
+ rm -f "${BUILD_DIR:-${S}}/CMakeCache.txt" \
+ || die "failed to remove cmake cache"
+
+ # hopefully this will not be necessary in the next release
+ use parquet && export ARROW_XSIMD_URL="file:///${DISTDIR}/ceph-xsimd-${PV}.tar.gz"
+
+ # https://bugs.gentoo.org/927066
+ filter-lto
+
+ cmake_src_configure
+
+ # bug #630232
+ sed -i "s:\"${T//:\\:}/${EPYTHON}/bin/python\":\"${PYTHON}\":" \
+ "${BUILD_DIR:-${S}}"/include/acconfig.h \
+ || die "sed failed"
+}
+
+src_configure() {
+ use custom-cflags || strip-flags
+ ceph_src_configure
+}
+
+src_compile() {
+ cmake_build all
+
+ # we have to do this here to prevent from building everything multiple times
+ python_copy_sources
+ python_foreach_impl python_compile
+}
+
+python_compile() {
+ local CMAKE_USE_DIR="${S}"
+ ceph_src_configure
+
+ cmake_build src/pybind/CMakeFiles/cython_modules
+ cmake_build cephadm
+}
+
+src_install() {
+ python_foreach_impl python_install
+
+ python_setup
+ cmake_src_install
+
+ python_optimize
+
+ find "${ED}" -name '*.la' -type f -delete || die
+
+ exeinto /usr/$(get_libdir)/ceph
+ newexe "${BUILD_DIR}/bin/init-ceph" init-ceph
+
+ insinto /etc/logrotate.d/
+ newins "${FILESDIR}"/ceph.logrotate-r2 ${PN}
+
+ keepdir /var/lib/${PN}{,/tmp} /var/log/ceph/stat /var/log/ceph/console
+
+ fowners -R ceph:ceph /var/log/ceph
+
+ newinitd "${FILESDIR}/rbdmap.initd-r1" rbdmap
+ newinitd "${FILESDIR}/${PN}.initd-r14" ${PN}
+ newconfd "${FILESDIR}/${PN}.confd-r5" ${PN}
+
+ insinto /etc/sudoers.d
+ doins sudoers.d/*
+
+ insinto /etc/sysctl.d
+ newins "${FILESDIR}"/sysctld 90-${PN}.conf
+
+ use tcmalloc && newenvd "${FILESDIR}"/envd-tcmalloc 99${PN}-tcmalloc
+
+ # units aren't installed by the build system unless systemd is enabled
+ # so no point installing these with the USE flag disabled
+ if use systemd; then
+ systemd_install_serviced "${FILESDIR}/ceph-mds_at.service.conf" "ceph-mds@.service"
+ systemd_install_serviced "${FILESDIR}/ceph-osd_at.service.conf" "ceph-osd@.service"
+ fi
+
+ udev_dorules udev/*.rules
+ newtmpfiles "${FILESDIR}"/ceph-tmpfilesd ${PN}.conf
+
+ readme.gentoo_create_doc
+
+ # bug #630232
+ sed -i -r "s:${T//:/\\:}/${EPYTHON}:/usr:" "${ED}"/usr/bin/ceph{,-crash} \
+ || die "sed failed"
+
+ python_fix_shebang "${ED}"/usr/{,s}bin/
+
+ # python_fix_shebang apparently is not idempotent
+ local shebang_regex='(/usr/lib/python-exec/python[0-9]\.[0-9]/python)[0-9]\.[0-9]'
+ grep -r -E -l --null "${shebang_regex}" "${ED}"/usr/{s,}bin/ \
+ | xargs --null --no-run-if-empty -- sed -i -r "s:${shebang_regex}:\1:" || die
+
+ local -a rados_classes=( "${ED}/usr/$(get_libdir)/rados-classes"/* )
+ dostrip -x "${rados_classes[@]#${ED}}"
+}
+
+python_install() {
+ local CMAKE_USE_DIR="${S}"
+ DESTDIR="${ED}" cmake_build src/pybind/install
+ DESTDIR="${ED}" cmake_build src/cephadm/install
+
+ python_optimize
+}
+
+pkg_postinst() {
+ readme.gentoo_print_elog
+ tmpfiles_process ${PN}.conf
+ udev_reload
+}
+
+pkg_postrm() {
+ udev_reload
+}
diff --git a/sys-cluster/ceph/files/ceph-18.2.1-gcc14-2.patch b/sys-cluster/ceph/files/ceph-18.2.1-gcc14-2.patch
new file mode 100644
index 000000000000..334de92fec08
--- /dev/null
+++ b/sys-cluster/ceph/files/ceph-18.2.1-gcc14-2.patch
@@ -0,0 +1,253 @@
+From f9aea9105b6c1a8d7bff0ec0675f84f2ffb1db6f Mon Sep 17 00:00:00 2001
+From: Florian Weimer <fweimer@redhat.com>
+Date: Wed, 20 Dec 2023 14:16:19 +0100
+Subject: [PATCH 1/2] tracing: Fix C type errors in librados tracing
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+This fixes type errors like this:
+
+In file included from /usr/include/lttng/tracepoint-event.h:69,
+ from …-build/include/tracing/librados.h:4143,
+ from …/src/tracing/librados.c:6
+:
+…-build/include/tracing/librados.h:
+ In function ‘lttng_ust__event_probe__librados___rados_mon_command_exit’:
+…-build/include/tracing/librados.h:477:9: error: initialization of ‘size_t’ {aka ‘long unsigned int’} from ‘size_t *’ {aka ‘long unsigned int *’} makes integer from pointer without a cast
+ 477 | ceph_ctf_integerp(size_t, outslen, outslen)
+ | ^~~~~~~~~~~~~~~~~
+
+GCC 14 will likely treat these type mismatches as an error
+and fail the build.
+
+Signed-off-by: Florian Weimer <fweimer@redhat.com>
+---
+ src/tracing/librados.tp | 4 ++--
+ src/tracing/tracing-common.h | 2 +-
+ 2 files changed, 3 insertions(+), 3 deletions(-)
+
+diff --git a/src/tracing/librados.tp b/src/tracing/librados.tp
+index 8b5e78ef15d65..8e116124b83d5 100644
+--- a/src/tracing/librados.tp
++++ b/src/tracing/librados.tp
+@@ -2628,7 +2628,7 @@ TRACEPOINT_EVENT(librados, rados_watch3_enter,
+ TP_FIELDS(
+ ctf_integer_hex(rados_ioctx_t, ioctx, ioctx)
+ ctf_string(oid, oid)
+- ctf_integer_hex(uint64_t, phandle, phandle)
++ ctf_integer_hex(uint64_t*, phandle, phandle)
+ ctf_integer_hex(rados_watchcb2_t, callback, callback)
+ ctf_integer(uint32_t, timeout, timeout)
+ ctf_integer_hex(void*, arg, arg)
+@@ -2658,7 +2658,7 @@ TRACEPOINT_EVENT(librados, rados_aio_watch2_enter,
+ ctf_integer_hex(rados_ioctx_t, ioctx, ioctx)
+ ctf_string(oid, oid)
+ ctf_integer_hex(rados_completion_t, completion, completion)
+- ctf_integer_hex(uint64_t, phandle, phandle)
++ ctf_integer_hex(uint64_t*, phandle, phandle)
+ ctf_integer_hex(rados_watchcb2_t, callback, callback)
+ ctf_integer(uint32_t, timeout, timeout)
+ ctf_integer_hex(void*, arg, arg)
+diff --git a/src/tracing/tracing-common.h b/src/tracing/tracing-common.h
+index 3e07f9de8e85c..03449ab588615 100644
+--- a/src/tracing/tracing-common.h
++++ b/src/tracing/tracing-common.h
+@@ -21,7 +21,7 @@
+ // type should be an integer type
+ // val should have type type*
+ #define ceph_ctf_integerp(type, field, val) \
+- ctf_integer(type, field, (val) == NULL ? 0 : (val)) \
++ ctf_integer(type, field, (val) == NULL ? 0 : *(val)) \
+ ctf_integer(uint8_t, field##_isnull, (val) == NULL)
+
+ // val should have type char*
+
+From a49d154f4a8e493baf2296a15c7b5c56cd25e993 Mon Sep 17 00:00:00 2001
+From: Florian Weimer <fweimer@redhat.com>
+Date: Wed, 20 Dec 2023 14:59:19 +0100
+Subject: [PATCH 2/2] pybind: Fix C type errors in Cython-generated Python
+ bindings
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+Several Ceph APIs use bool * types, which correspond to
+libcpp.bool * types in Cython. The bint type has an incorrect
+size 4 and cannot be used as a replacement.
+
+This prevents a compilation failure with future compilers:
+
+…-build/src/pybind/rbd/rbd.c: In function ‘__pyx_pf_3rbd_3RBD_104namespace_exists’:
+…-build/src/pybind/rbd/rbd.c:42165:76: error: passing argument 3 of ‘rbd_namespace_exists’ from incompatible pointer type
+42165 | __pyx_v_ret = rbd_namespace_exists(__pyx_v__ioctx, __pyx_v__name, (&__pyx_v__exists));
+ | ~^~~~~~~~~~~~~~~~~
+ | |
+ | int *
+In file included from …-build/src/pybind/rbd/rbd.c:1268:
+…/src/include/rbd/librbd.h:1496:45: note: expected ‘_Bool *’ but argument is of type ‘int *’
+ 1496 | bool *exists);
+ | ^
+
+Signed-off-by: Florian Weimer <fweimer@redhat.com>
+---
+ src/pybind/rbd/c_rbd.pxd | 5 +++--
+ src/pybind/rbd/mock_rbd.pxi | 9 +++++++--
+ src/pybind/rbd/rbd.pyx | 9 +++++----
+ src/pybind/rgw/mock_rgw.pxi | 9 +++++++--
+ src/pybind/rgw/rgw.pyx | 3 ++-
+ 5 files changed, 24 insertions(+), 11 deletions(-)
+
+diff --git a/src/pybind/rbd/c_rbd.pxd b/src/pybind/rbd/c_rbd.pxd
+index 885f7bd46abde..bda23bbc4735f 100644
+--- a/src/pybind/rbd/c_rbd.pxd
++++ b/src/pybind/rbd/c_rbd.pxd
+@@ -2,6 +2,7 @@
+
+ from libc.stdint cimport *
+ from ctime cimport time_t, timespec
++cimport libcpp
+
+ cdef extern from "rados/librados.h":
+ enum:
+@@ -525,7 +526,7 @@ cdef extern from "rbd/librbd.h" nogil:
+ int rbd_snap_unprotect(rbd_image_t image, const char *snap_name)
+ int rbd_snap_is_protected(rbd_image_t image, const char *snap_name,
+ int *is_protected)
+- int rbd_snap_exists(rbd_image_t image, const char *snapname, bint *exists)
++ int rbd_snap_exists(rbd_image_t image, const char *snapname, libcpp.bool *exists)
+ int rbd_snap_get_limit(rbd_image_t image, uint64_t *limit)
+ int rbd_snap_set_limit(rbd_image_t image, uint64_t limit)
+ int rbd_snap_get_timestamp(rbd_image_t image, uint64_t snap_id, timespec *timestamp)
+@@ -711,7 +712,7 @@ cdef extern from "rbd/librbd.h" nogil:
+ int rbd_namespace_list(rados_ioctx_t io, char *namespace_names,
+ size_t *size)
+ int rbd_namespace_exists(rados_ioctx_t io, const char *namespace_name,
+- bint *exists)
++ libcpp.bool *exists)
+
+ int rbd_pool_init(rados_ioctx_t, bint force)
+
+diff --git a/src/pybind/rbd/mock_rbd.pxi b/src/pybind/rbd/mock_rbd.pxi
+index 11872bd8146de..364f965fbad43 100644
+--- a/src/pybind/rbd/mock_rbd.pxi
++++ b/src/pybind/rbd/mock_rbd.pxi
+@@ -3,6 +3,11 @@
+ from libc.stdint cimport *
+ from ctime cimport time_t, timespec
+
++# Make the bool type available as libcpp.bool, for both C and C++.
++cimport libcpp
++cdef extern from "<stdbool.h>":
++ pass
++
+ cdef nogil:
+ enum:
+ _LIBRADOS_SNAP_HEAD "LIBRADOS_SNAP_HEAD"
+@@ -637,7 +642,7 @@ cdef nogil:
+ int rbd_snap_is_protected(rbd_image_t image, const char *snap_name,
+ int *is_protected):
+ pass
+- int rbd_snap_exists(rbd_image_t image, const char *snapname, bint *exists):
++ int rbd_snap_exists(rbd_image_t image, const char *snapname, libcpp.bool *exists):
+ pass
+ int rbd_snap_get_limit(rbd_image_t image, uint64_t *limit):
+ pass
+@@ -896,7 +901,7 @@ cdef nogil:
+ size_t *size):
+ pass
+ int rbd_namespace_exists(rados_ioctx_t io, const char *namespace_name,
+- bint *exists):
++ libcpp.bool *exists):
+ pass
+ int rbd_pool_init(rados_ioctx_t io, bint force):
+ pass
+diff --git a/src/pybind/rbd/rbd.pyx b/src/pybind/rbd/rbd.pyx
+index fcb2fb3470600..f59ba23f0fe21 100644
+--- a/src/pybind/rbd/rbd.pyx
++++ b/src/pybind/rbd/rbd.pyx
+@@ -23,6 +23,7 @@ from libc cimport errno
+ from libc.stdint cimport *
+ from libc.stdlib cimport malloc, realloc, free
+ from libc.string cimport strdup, memset
++cimport libcpp
+
+ try:
+ from collections.abc import Iterable
+@@ -1935,12 +1936,12 @@ class RBD(object):
+ cdef:
+ rados_ioctx_t _ioctx = convert_ioctx(ioctx)
+ const char *_name = name
+- bint _exists = False
++ libcpp.bool _exists = False
+ with nogil:
+ ret = rbd_namespace_exists(_ioctx, _name, &_exists)
+ if ret != 0:
+ raise make_ex(ret, 'error verifying namespace')
+- return bool(_exists != 0)
++ return _exists
+
+ def namespace_list(self, ioctx):
+ """
+@@ -3679,12 +3680,12 @@ cdef class Image(object):
+ name = cstr(name, 'name')
+ cdef:
+ char *_name = name
+- bint _exists = False
++ libcpp.bool _exists = False
+ with nogil:
+ ret = rbd_snap_exists(self.image, _name, &_exists)
+ if ret != 0:
+ raise make_ex(ret, 'error getting snapshot exists for %s' % self.name)
+- return bool(_exists != 0)
++ return _exists
+
+ @requires_not_closed
+ def get_snap_limit(self):
+diff --git a/src/pybind/rgw/mock_rgw.pxi b/src/pybind/rgw/mock_rgw.pxi
+index ca893a5bb8a16..806d4df75de05 100644
+--- a/src/pybind/rgw/mock_rgw.pxi
++++ b/src/pybind/rgw/mock_rgw.pxi
+@@ -1,5 +1,10 @@
+ # cython: embedsignature=True
+
++# Make the bool type available as libcpp.bool, for both C and C++.
++cimport libcpp
++cdef extern from "<stdbool.h>":
++ pass
++
+ cdef nogil:
+ ctypedef void* librgw_t
+
+@@ -111,8 +116,8 @@ cdef nogil:
+
+ int rgw_readdir(rgw_fs *fs,
+ rgw_file_handle *parent_fh, uint64_t *offset,
+- bint (*cb)(const char *name, void *arg, uint64_t offset, stat *st, uint32_t st_mask, uint32_t flags) nogil except? -9000,
+- void *cb_arg, bint *eof, uint32_t flags) except? -9000:
++ libcpp.bool (*cb)(const char *name, void *arg, uint64_t offset, stat *st, uint32_t st_mask, uint32_t flags) nogil except? -9000,
++ void *cb_arg, libcpp.bool *eof, uint32_t flags) except? -9000:
+ pass
+
+ int rgw_getattr(rgw_fs *fs,
+diff --git a/src/pybind/rgw/rgw.pyx b/src/pybind/rgw/rgw.pyx
+index 9bbcdfff586a8..d210a70bbb8e3 100644
+--- a/src/pybind/rgw/rgw.pyx
++++ b/src/pybind/rgw/rgw.pyx
+@@ -7,6 +7,7 @@ from cpython cimport PyObject, ref, exc, array
+ from libc.stdint cimport *
+ from libc.stdlib cimport malloc, realloc, free
+ from cstat cimport stat
++cimport libcpp
+
+ IF BUILD_DOC:
+ include "mock_rgw.pxi"
+@@ -373,7 +374,7 @@ cdef class LibRGWFS(object):
+ cdef:
+ rgw_file_handle *_dir_handler = <rgw_file_handle*>dir_handler.handler
+ uint64_t _offset = offset
+- bint _eof
++ libcpp.bool _eof
+ uint32_t _flags = flags
+ with nogil:
+ ret = rgw_readdir(self.fs, _dir_handler, &_offset, &readdir_cb,
diff --git a/sys-cluster/ceph/files/ceph-18.2.1-gcc14.patch b/sys-cluster/ceph/files/ceph-18.2.1-gcc14.patch
new file mode 100644
index 000000000000..129f50e2857b
--- /dev/null
+++ b/sys-cluster/ceph/files/ceph-18.2.1-gcc14.patch
@@ -0,0 +1,141 @@
+From 0eace4ea9ea42412d4d6a16d24a8660642e41173 Mon Sep 17 00:00:00 2001
+From: Radoslaw Zarzynski <rzarzyns@redhat.com>
+Date: Wed, 24 Jan 2024 17:22:44 +0000
+Subject: [PATCH] common/dout: fix FTBFS on GCC 14
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+The following problem has been reported by Kaleb Keithley:
+
+```
+/builddir/build/BUILD/ceph-18.2.1/src/osd/osd_types.h: In lambda function:
+/builddir/build/BUILD/ceph-18.2.1/src/common/dout.h:184:73: error: call to non-‘constexpr’ function ‘virtual unsigned int DoutPrefixProvider::get_subsys() const’
+ 184 | dout_impl(pdpp->get_cct(), ceph::dout::need_dynamic(pdpp->get_subsys()), v) \
+ | ~~~~~~~~~~~~~~~~^~
+/builddir/build/BUILD/ceph-18.2.1/src/common/dout.h:155:58: note: in definition of macro ‘dout_impl’
+ 155 | return (cctX->_conf->subsys.template should_gather<sub, v>()); \
+ | ^~~
+/builddir/build/BUILD/ceph-18.2.1/src/osd/osd_types.h:3617:3: note: in expansion of macro ‘ldpp_dout’
+ 3617 | ldpp_dout(dpp, 10) << "build_prior all_probe " << all_probe << dendl;
+ | ^~~~~~~~~
+```
+
+For details of the problem and the idea behind the fix,
+please refer to the comment this commit brings to `dout.h`.
+
+The minimized replicator that the facilitated Goldbot-based
+investigation:
+
+```cpp
+namespace ceph::dout {
+
+template<typename T>
+struct dynamic_marker_t {
+ T value;
+ // constexpr ctor isn't needed as it's an aggregate type
+ constexpr operator T() const { return value; }
+};
+
+template<typename T>
+constexpr dynamic_marker_t<T> need_dynamic(T&& t) {
+ return dynamic_marker_t<T>{ std::forward<T>(t) };
+}
+
+template<typename T>
+struct is_dynamic : public std::false_type {};
+
+template<typename T>
+struct is_dynamic<dynamic_marker_t<T>> : public std::true_type {};
+
+} // ceph::dout
+
+struct subsys_t {
+ template <unsigned SubV, int LvlV>
+ bool should_gather() const {
+ return true;
+ }
+ bool should_gather(const unsigned sub, int level) const {
+ return false;
+ }
+};
+
+static subsys_t subsys;
+
+ do { \
+ const bool should_gather = [&](const auto cctX) { \
+ if constexpr (ceph::dout::is_dynamic<decltype(sub)>::value || \
+ ceph::dout::is_dynamic<decltype(v)>::value) { \
+ std::cout << "the dynamic path" << std::endl; \
+ return subsys.should_gather(sub, v); \
+ } else { \
+ /* The parentheses are **essential** because commas in angle \
+ * brackets are NOT ignored on macro expansion! A language's \
+ * limitation, sorry. */ \
+ std::cout << "the static path" << std::endl; \
+ /*return subsys.should_gather(sub, v);*/ \
+ return (subsys.template should_gather<sub, v>()); \
+ } \
+ }(cct); \
+ } while (0)
+
+ if (decltype(auto) pdpp = (dpp); pdpp) /* workaround -Wnonnull-compare for 'this' */ \
+ dout_impl(42, sub, v)
+
+ if (decltype(auto) pdpp = (dpp); pdpp) /* workaround -Wnonnull-compare for 'this' */ \
+ dout_impl(42, ceph::dout::need_dynamic(42), v)
+
+int main() {
+ std::random_device dev;
+ std::mt19937 rng(dev());
+ std::uniform_int_distribution<std::mt19937::result_type> dist6(1,6); // distribution in range [1, 6]
+
+ int sub = dist6(rng);
+ ldpp_dout("mocked out", sub);
+ //ldpp_subdout("mocked out", 4, 3);
+}
+```
+
+Fixes: https://tracker.ceph.com/issues/64050
+Signed-off-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
+---
+ src/common/dout.h | 20 +++++++++++++++-----
+ 1 file changed, 15 insertions(+), 5 deletions(-)
+
+diff --git a/src/common/dout.h b/src/common/dout.h
+index 4cd60efff8fef..6516060c5438e 100644
+--- a/src/common/dout.h
++++ b/src/common/dout.h
+@@ -144,17 +144,27 @@ struct is_dynamic<dynamic_marker_t<T>> : public std::true_type {};
+ #else
+ #define dout_impl(cct, sub, v) \
+ do { \
+- const bool should_gather = [&](const auto cctX) { \
+- if constexpr (ceph::dout::is_dynamic<decltype(sub)>::value || \
+- ceph::dout::is_dynamic<decltype(v)>::value) { \
++ const bool should_gather = [&](const auto cctX, auto sub_, auto v_) { \
++ /* The check is performed on `sub_` and `v_` to leverage the C++'s \
++ * guarantee on _discarding_ one of blocks of `if constexpr`, which \
++ * includes also the checks for ill-formed code (`should_gather<>` \
++ * must not be feed with non-const expresions), BUT ONLY within \
++ * a template (thus the generic lambda) and under the restriction \
++ * it's dependant on a parameter of this template). \
++ * GCC prior to v14 was not enforcing these restrictions. */ \
++ if constexpr (ceph::dout::is_dynamic<decltype(sub_)>::value || \
++ ceph::dout::is_dynamic<decltype(v_)>::value) { \
+ return cctX->_conf->subsys.should_gather(sub, v); \
+ } else { \
++ constexpr auto sub_helper = static_cast<decltype(sub_)>(sub); \
++ constexpr auto v_helper = static_cast<decltype(v_)>(v); \
+ /* The parentheses are **essential** because commas in angle \
+ * brackets are NOT ignored on macro expansion! A language's \
+ * limitation, sorry. */ \
+- return (cctX->_conf->subsys.template should_gather<sub, v>()); \
++ return (cctX->_conf->subsys.template should_gather<sub_helper, \
++ v_helper>()); \
+ } \
+- }(cct); \
++ }(cct, sub, v); \
+ \
+ if (should_gather) { \
+ ceph::logging::MutableEntry _dout_e(v, sub); \
^ permalink raw reply related [flat|nested] 68+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-cluster/ceph/, sys-cluster/ceph/files/
@ 2023-11-08 2:51 Patrick McLean
0 siblings, 0 replies; 68+ messages in thread
From: Patrick McLean @ 2023-11-08 2:51 UTC (permalink / raw
To: gentoo-commits
commit: da73f6c325fae089fc913fc3f5ed8a8753f7f2f8
Author: Patrick McLean <chutzpah <AT> gentoo <DOT> org>
AuthorDate: Wed Nov 8 02:51:26 2023 +0000
Commit: Patrick McLean <chutzpah <AT> gentoo <DOT> org>
CommitDate: Wed Nov 8 02:51:48 2023 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=da73f6c3
sys-cluster/ceph: add 17.2.7
Signed-off-by: Patrick McLean <chutzpah <AT> gentoo.org>
sys-cluster/ceph/Manifest | 2 +
sys-cluster/ceph/ceph-17.2.7.ebuild | 491 +++++++++++++++++++++
sys-cluster/ceph/files/ceph-17.2.7-fmt-fixes.patch | 12 +
3 files changed, 505 insertions(+)
diff --git a/sys-cluster/ceph/Manifest b/sys-cluster/ceph/Manifest
index d89b43142d52..c2f0d740e99a 100644
--- a/sys-cluster/ceph/Manifest
+++ b/sys-cluster/ceph/Manifest
@@ -1,5 +1,7 @@
DIST ceph-16.2.14.tar.gz 157243362 BLAKE2B 799132ebc815380b2040250915c82c5752983a23e2489e7c12e624b70a93b29c151cb1ab9670e43f2c89d75523655e57860dcdc797d455abc6c6ddc3c880c70c SHA512 397845f44d94e01ae49c5f4dabd75b8bf20c9ece9aeba85f4a5c12154335420cce390bfd94146be3bef763d44e47d15522a84b4f6cdc6bdde77982ac8bd79a54
DIST ceph-17.2.6.tar.gz 168093221 BLAKE2B f79efce9bd7f485b43ae1b4da94a1d9fb3753003f34535e93c80e480ffeaaf054d371f75bca72402da5f9dd460aafa820bb2af550d213bdbcca74aa939180431 SHA512 dca9aea2ce210c15fcc34cb06a5dc5b4488ffa36d684166d47ebd87e48b54b6fee0882e1c67007a780e1c25754e9bc6e760cc10f60ea1183263f8504ef2dbd9b
+DIST ceph-17.2.7.tar.gz 168577111 BLAKE2B e3470819305e580b4afc658564b9ac261d1db53242acc5d5ec6bf6166024394de927b745b7a752e010fdc020a3829ca5e7d3ac27a99cf60f45876f12fef1c927 SHA512 9005de7661c6a9d1054f1388cff2f48eb1af93565ebf852669de546eed594ed6a2668944b25a64c406d00f88bd2f7a6eac2ae96b04789c03ea4d248d1a683e7b
DIST ceph-18.2.0.tar.gz 197353856 BLAKE2B 0f2217d9ec4105f72b7b48f7981c5cc098e8f6d46b029acaae1aa91d71486e7dc5726cad0763b5bb0f79d006e289a9f590c95f2494c17f2f09fb492c06db455a SHA512 fe6a3ca4227cc05b5effc33a02670c466583ec9e4c7c025241248223992254e6e6551d7db486d5ead36bf0ba922d54e0aabc2aaf456d4593679376ec88bd971a
DIST ceph-xsimd-17.2.6.tar.gz 173025 BLAKE2B 54679c24804c195ae55b9f49589e331dde92c6d89aaa20e827539e9a4e0010c7549cdd5cf02a7ebed83f953ab2a6f1d9cc9a98cf45c3dc7758ae4938c9c43713 SHA512 ecc58e7909648aaa22aefbf76ee2c5a2bece4b1b88da9c7eda1b69a46247e619ff99c4366afd6015f95debd68c1a6b89292c677b9049462d0fc0255fbc0c2a33
+DIST ceph-xsimd-17.2.7.tar.gz 173025 BLAKE2B 54679c24804c195ae55b9f49589e331dde92c6d89aaa20e827539e9a4e0010c7549cdd5cf02a7ebed83f953ab2a6f1d9cc9a98cf45c3dc7758ae4938c9c43713 SHA512 ecc58e7909648aaa22aefbf76ee2c5a2bece4b1b88da9c7eda1b69a46247e619ff99c4366afd6015f95debd68c1a6b89292c677b9049462d0fc0255fbc0c2a33
DIST ceph-xsimd-18.2.0.tar.gz 173025 BLAKE2B 54679c24804c195ae55b9f49589e331dde92c6d89aaa20e827539e9a4e0010c7549cdd5cf02a7ebed83f953ab2a6f1d9cc9a98cf45c3dc7758ae4938c9c43713 SHA512 ecc58e7909648aaa22aefbf76ee2c5a2bece4b1b88da9c7eda1b69a46247e619ff99c4366afd6015f95debd68c1a6b89292c677b9049462d0fc0255fbc0c2a33
diff --git a/sys-cluster/ceph/ceph-17.2.7.ebuild b/sys-cluster/ceph/ceph-17.2.7.ebuild
new file mode 100644
index 000000000000..a770396e6b24
--- /dev/null
+++ b/sys-cluster/ceph/ceph-17.2.7.ebuild
@@ -0,0 +1,491 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{10..11} )
+LUA_COMPAT=( lua5-{3..4} )
+
+inherit check-reqs bash-completion-r1 cmake flag-o-matic lua-single \
+ python-r1 udev readme.gentoo-r1 toolchain-funcs systemd tmpfiles
+
+XSIMD_HASH="aeec9c872c8b475dedd7781336710f2dd2666cb2"
+SRC_URI="
+ https://download.ceph.com/tarballs/${P}.tar.gz
+ parquet? ( https://github.com/xtensor-stack/xsimd/archive/${XSIMD_HASH}.tar.gz -> ceph-xsimd-${PV}.tar.gz )
+"
+KEYWORDS="~amd64 ~arm64"
+
+DESCRIPTION="Ceph distributed filesystem"
+HOMEPAGE="https://ceph.com/"
+
+LICENSE="Apache-2.0 LGPL-2.1 CC-BY-SA-3.0 GPL-2 GPL-2+ LGPL-2+ LGPL-2.1 LGPL-3 GPL-3 BSD Boost-1.0 MIT public-domain"
+SLOT="0"
+
+CPU_FLAGS_X86=(avx2 avx512f pclmul sse{,2,3,4_1,4_2} ssse3)
+
+IUSE="
+ babeltrace +cephfs custom-cflags diskprediction dpdk fuse grafana
+ jemalloc jaeger kafka kerberos ldap lttng +mgr +parquet pmdk rabbitmq
+ +radosgw rbd-rwl rbd-ssd rdma rgw-lua selinux +ssl spdk +sqlite +system-boost
+ systemd +tcmalloc test +uring xfs zbd zfs
+"
+
+IUSE+="$(printf "cpu_flags_x86_%s\n" ${CPU_FLAGS_X86[@]})"
+
+DEPEND="
+ ${LUA_DEPS}
+ ${PYTHON_DEPS}
+ acct-group/ceph
+ acct-user/ceph
+ virtual/libudev:=
+ app-arch/bzip2:=
+ app-arch/lz4:=
+ app-arch/snappy:=
+ >=app-arch/snappy-1.1.9-r1
+ app-arch/zstd:=
+ app-shells/bash:0
+ app-misc/jq:=
+ dev-cpp/gflags:=
+ dev-lang/jsonnet:=
+ dev-libs/libaio:=
+ dev-libs/libnl:3=
+ dev-libs/libxml2:=
+ dev-libs/libevent:=
+ dev-libs/libutf8proc:=
+ dev-libs/nss:=
+ dev-libs/openssl:=
+ <dev-libs/rocksdb-6.15:=
+ dev-libs/thrift:=
+ dev-libs/xmlsec:=[openssl]
+ dev-cpp/yaml-cpp:=
+ dev-python/natsort[${PYTHON_USEDEP}]
+ dev-python/pyyaml[${PYTHON_USEDEP}]
+ net-dns/c-ares:=
+ net-libs/gnutls:=
+ sys-auth/oath-toolkit:=
+ sys-apps/coreutils
+ sys-apps/hwloc:=
+ sys-apps/keyutils:=
+ sys-apps/util-linux:=
+ sys-libs/libcap-ng:=
+ sys-libs/ncurses:0=
+ sys-libs/zlib:=
+ sys-process/numactl:=
+ virtual/libcrypt:=
+ x11-libs/libpciaccess:=
+ babeltrace? ( dev-util/babeltrace )
+ fuse? ( sys-fs/fuse:3= )
+ jemalloc? ( dev-libs/jemalloc:= )
+ !jemalloc? ( >=dev-util/google-perftools-2.6.1:= )
+ jaeger? (
+ dev-cpp/nlohmann_json:=
+ dev-cpp/opentelemetry-cpp:=[jaeger]
+ )
+ kafka? ( dev-libs/librdkafka:= )
+ kerberos? ( virtual/krb5 )
+ ldap? ( net-nds/openldap:= )
+ lttng? ( dev-util/lttng-ust:= )
+ parquet? ( dev-libs/re2:= )
+ pmdk? ( >=dev-libs/pmdk-1.10.0:= )
+ rabbitmq? ( net-libs/rabbitmq-c:= )
+ radosgw? (
+ dev-libs/icu:=
+ dev-libs/expat:=
+ net-misc/curl:=[curl_ssl_openssl]
+ )
+ rbd-rwl? ( dev-libs/pmdk:= )
+ rdma? ( sys-cluster/rdma-core:= )
+ spdk? ( dev-util/cunit )
+ sqlite? ( dev-db/sqlite:= )
+ system-boost? ( dev-libs/boost:=[context,python,${PYTHON_USEDEP},zlib] )
+ uring? ( sys-libs/liburing:= )
+ xfs? ( sys-fs/xfsprogs:= )
+ zbd? ( sys-block/libzbd:= )
+ zfs? ( sys-fs/zfs:= )
+"
+# <cython-3: bug #907739
+BDEPEND="
+ amd64? ( dev-lang/nasm )
+ x86? ( dev-lang/yasm )
+ app-arch/cpio
+ >=dev-util/cmake-3.5.0
+ dev-python/cython[${PYTHON_USEDEP}]
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ dev-python/sphinx
+ dev-util/gperf
+ dev-util/ragel
+ dev-util/valgrind
+ sys-apps/coreutils
+ sys-apps/grep
+ sys-apps/util-linux
+ sys-apps/which
+ sys-devel/bc
+ sys-devel/patch
+ virtual/pkgconfig
+ jaeger? (
+ sys-devel/bison
+ sys-devel/flex
+ )
+ test? (
+ dev-util/cunit
+ dev-python/coverage[${PYTHON_USEDEP}]
+ dev-python/virtualenv[${PYTHON_USEDEP}]
+ dev-python/requests-mock[${PYTHON_USEDEP}]
+ sys-apps/grep[pcre]
+ sys-fs/btrfs-progs
+ )
+"
+RDEPEND="
+ ${DEPEND}
+ app-admin/sudo
+ net-misc/socat
+ sys-apps/gptfdisk
+ sys-apps/nvme-cli
+ >=sys-apps/smartmontools-7.0
+ sys-block/parted
+ sys-fs/cryptsetup
+ sys-fs/lsscsi
+ sys-fs/lvm2[lvm]
+ app-alternatives/awk
+ dev-python/bcrypt[${PYTHON_USEDEP}]
+ dev-python/cherrypy[${PYTHON_USEDEP}]
+ dev-python/python-dateutil[${PYTHON_USEDEP}]
+ dev-python/flask[${PYTHON_USEDEP}]
+ dev-python/jinja[${PYTHON_USEDEP}]
+ dev-python/pecan[${PYTHON_USEDEP}]
+ dev-python/prettytable[${PYTHON_USEDEP}]
+ dev-python/pyopenssl[${PYTHON_USEDEP}]
+ dev-python/requests[${PYTHON_USEDEP}]
+ dev-python/werkzeug[${PYTHON_USEDEP}]
+ mgr? (
+ dev-python/jsonpatch[${PYTHON_USEDEP}]
+ dev-python/more-itertools[${PYTHON_USEDEP}]
+ dev-python/numpy[${PYTHON_USEDEP}]
+ dev-python/pyjwt[${PYTHON_USEDEP}]
+ dev-python/routes[${PYTHON_USEDEP}]
+ diskprediction? (
+ >=dev-python/scipy-1.4.0[${PYTHON_USEDEP}]
+ )
+ sci-libs/scikit-learn[${PYTHON_USEDEP}]
+ dev-python/six[${PYTHON_USEDEP}]
+ )
+ selinux? ( sec-policy/selinux-ceph )
+"
+REQUIRED_USE="
+ ${PYTHON_REQUIRED_USE}
+ ${LUA_REQUIRED_USE}
+ ?? ( jemalloc tcmalloc )
+ diskprediction? ( mgr )
+ kafka? ( radosgw )
+ mgr? ( cephfs )
+ rabbitmq? ( radosgw )
+ rgw-lua? ( radosgw )
+"
+
+RESTRICT="
+ !test? ( test )
+"
+
+# tests need root access, and network access
+RESTRICT+="test"
+
+# false positives unless all USE flags are on
+CMAKE_WARN_UNUSED_CLI=no
+
+PATCHES=(
+ "${FILESDIR}/ceph-12.2.0-use-provided-cpu-flag-values.patch"
+ "${FILESDIR}/ceph-14.2.0-cflags.patch"
+ "${FILESDIR}/ceph-12.2.4-boost-build-none-options.patch"
+ "${FILESDIR}/ceph-16.2.2-cflags.patch"
+ "${FILESDIR}/ceph-17.2.1-no-virtualenvs.patch"
+ "${FILESDIR}/ceph-13.2.2-dont-install-sysvinit-script.patch"
+ "${FILESDIR}/ceph-14.2.0-dpdk-cflags.patch"
+ "${FILESDIR}/ceph-16.2.0-rocksdb-cmake.patch"
+ "${FILESDIR}/ceph-16.2.0-spdk-tinfo.patch"
+ "${FILESDIR}/ceph-16.2.0-jaeger-system-boost.patch"
+ "${FILESDIR}/ceph-16.2.0-liburing.patch"
+ "${FILESDIR}/ceph-17.2.0-cyclic-deps.patch"
+ "${FILESDIR}/ceph-17.2.0-pybind-boost-1.74.patch"
+ "${FILESDIR}/ceph-17.2.0-findre2.patch"
+ "${FILESDIR}/ceph-17.2.0-install-dbstore.patch"
+ "${FILESDIR}/ceph-17.2.0-deprecated-boost.patch"
+ "${FILESDIR}/ceph-17.2.0-system-opentelemetry.patch"
+ "${FILESDIR}/ceph-17.2.0-fuse3.patch"
+ "${FILESDIR}/ceph-17.2.0-osd_class_dir.patch"
+ "${FILESDIR}/ceph-17.2.0-gcc12-header.patch"
+ "${FILESDIR}/ceph-17.2.3-flags.patch"
+ "${FILESDIR}/ceph-17.2.4-cyclic-deps.patch"
+ # https://bugs.gentoo.org/866165
+ "${FILESDIR}/ceph-17.2.5-suppress-cmake-warning.patch"
+ "${FILESDIR}/ceph-17.2.5-gcc13-deux.patch"
+ "${FILESDIR}/ceph-17.2.5-boost-1.81.patch"
+ # https://bugs.gentoo.org/901403
+ "${FILESDIR}/ceph-17.2.6-link-boost-context.patch"
+ # https://bugs.gentoo.org/905626
+ "${FILESDIR}/ceph-17.2.6-arrow-flatbuffers-c++14.patch"
+ # https://bugs.gentoo.org/868891
+ "${FILESDIR}/ceph-17.2.6-cmake.patch"
+ # https://bugs.gentoo.org/907739
+ "${FILESDIR}/ceph-18.2.0-cython3.patch"
+ "${FILESDIR}/ceph-17.2.7-fmt-fixes.patch"
+)
+
+check-reqs_export_vars() {
+ CHECKREQS_DISK_BUILD="6G"
+
+ if use system-boost; then
+ CHECKREQS_DISK_USR="350M"
+ else
+ CHECKREQS_DISK_USR="510M"
+ fi
+
+ export CHECKREQS_DISK_BUILD CHECKREQS_DISK_USR
+}
+
+pkg_pretend() {
+ check-reqs_export_vars
+ check-reqs_pkg_pretend
+}
+
+pkg_setup() {
+ python_setup
+ lua_setup
+ check-reqs_export_vars
+ check-reqs_pkg_setup
+}
+
+src_prepare() {
+ cmake_src_prepare
+
+ if use system-boost; then
+ find "${S}" -name '*.cmake' -or -name 'CMakeLists.txt' -print0 \
+ | xargs --null sed -r \
+ -e 's|Boost::|boost_|g' \
+ -e 's|Boost_|boost_|g' \
+ -e 's|[Bb]oost_boost|boost_system|g' \
+ -i || die
+ fi
+
+ if ! use systemd; then
+ find "${S}"/src/ceph-volume/ceph_volume -name '*.py' -print0 \
+ | xargs --null sed \
+ -e '/^from ceph_volume.systemd import systemctl/ d' \
+ -i || die
+ fi
+
+ sed -r -e "s:DESTINATION .+\\):DESTINATION $(get_bashcompdir)\\):" \
+ -i src/bash_completion/CMakeLists.txt || die
+
+ sed -e "s:objdump -p:$(tc-getOBJDUMP) -p:" -i CMakeLists.txt || die
+
+ # force lua version to use selected version
+ local lua_version
+ lua_version=$(ver_cut 1-2 $(lua_get_version))
+ sed "s:find_package(Lua [0-9][.][0-9] REQUIRED):find_package(Lua ${lua_version} EXACT REQUIRED):" \
+ -i src/CMakeLists.txt
+
+ if use spdk; then
+ # https://bugs.gentoo.org/871942
+ sed -i 's/[#]ifndef HAVE_ARC4RANDOM/#if 0/' src/spdk/lib/iscsi/iscsi.c || die
+ fi
+
+ # remove tests that need root access
+ rm src/test/cli/ceph-authtool/cap*.t || die
+}
+
+ceph_src_configure() {
+ local mycmakeargs=(
+ -DWITH_BABELTRACE:BOOL=$(usex babeltrace)
+ -DWITH_BLUESTORE_PMEM:BOOL=$(usex pmdk)
+ -DWITH_CEPHFS:BOOL=$(usex cephfs)
+ -DWITH_CEPHFS_SHELL:BOOL=$(usex cephfs)
+ -DWITH_DPDK:BOOL=$(usex dpdk)
+ -DWITH_SPDK:BOOL=$(usex spdk)
+ -DWITH_FUSE:BOOL=$(usex fuse)
+ -DWITH_LTTNG:BOOL=$(usex lttng)
+ -DWITH_GSSAPI:BOOL=$(usex kerberos)
+ -DWITH_GRAFANA:BOOL=$(usex grafana)
+ -DWITH_MGR:BOOL=$(usex mgr)
+ -DWITH_MGR_DASHBOARD_FRONTEND:BOOL=OFF
+ -DWITH_OPENLDAP:BOOL=$(usex ldap)
+ -DWITH_PYTHON3:STRING=3
+ -DWITH_RADOSGW:BOOL=$(usex radosgw)
+ -DWITH_RADOSGW_AMQP_ENDPOINT:BOOL=$(usex rabbitmq)
+ -DWITH_RADOSGW_KAFKA_ENDPOINT:BOOL=$(usex kafka)
+ -DWITH_RADOSGW_LUA_PACKAGES:BOOL=$(usex rgw-lua "$(usex radosgw)" "NO")
+ -DWITH_RBD_RWL:BOOL=$(usex rbd-rwl)
+ -DWITH_RBD_SSD_CACHE:BOOL=$(usex rbd-ssd)
+ -DWITH_SYSTEMD:BOOL=$(usex systemd)
+ -DWITH_TESTS:BOOL=$(usex test)
+ -DWITH_LIBURING:BOOL=$(usex uring)
+ -DWITH_SYSTEM_LIBURING:BOOL=$(usex uring)
+ -DWITH_LIBCEPHSQLITE:BOOL=$(usex sqlite)
+ -DWITH_XFS:BOOL=$(usex xfs)
+ -DWITH_ZBD:BOOL=$(usex zbd)
+ -DWITH_ZFS:BOOL=$(usex zfs)
+ -DENABLE_SHARED:BOOL=ON
+ -DALLOCATOR:STRING=$(usex tcmalloc 'tcmalloc' "$(usex jemalloc 'jemalloc' 'libc')")
+ -DWITH_SYSTEM_PMDK:BOOL=$(usex pmdk 'YES' "$(usex rbd-rwl '')")
+ -DWITH_SYSTEM_BOOST:BOOL=$(usex system-boost)
+ -DWITH_SYSTEM_ROCKSDB:BOOL=ON
+ -DWITH_SYSTEM_ZSTD:BOOL=ON
+ -DWITH_RDMA:BOOL=$(usex rdma)
+ -DCMAKE_INSTALL_DOCDIR:PATH="${EPREFIX}/usr/share/doc/${PN}-${PVR}"
+ -DCMAKE_INSTALL_SYSCONFDIR:PATH="${EPREFIX}/etc"
+ # use the bundled libfmt for now since they seem to constantly break their API
+ -DCMAKE_DISABLE_FIND_PACKAGE_fmt=ON
+ -Wno-dev
+ )
+
+ # this breaks when re-configuring for python impl
+ if [[ ${EBUILD_PHASE} == configure ]]; then
+ mycmakeargs+=(
+ -DWITH_JAEGER:BOOL=$(usex jaeger)
+ -DWITH_RADOSGW_SELECT_PARQUET:BOOL=$(usex parquet)
+ )
+ else
+ mycmakeargs+=(
+ -DWITH_RADOSGW_SELECT_PARQUET:BOOL=OFF
+ -DWITH_JAEGER:BOOL=OFF
+ # don't want to warn about unused CLI when reconfiguring for python
+ -DCMAKE_WARN_UNUSED_CLI:BOOL=OFF
+ )
+ fi
+
+ # conditionally used cmake args
+ use test && mycmakearts+=( -DWITH_SYSTEM_GTEST:BOOL=$(usex test) )
+ use systemd && mycmakeargs+=( -DSYSTEMD_SYSTEM_UNIT_DIR:PATH=$(systemd_get_systemunitdir) )
+
+ if use amd64 || use x86; then
+ local flag
+ for flag in "${CPU_FLAGS_X86[@]}"; do
+ case "${flag}" in
+ avx*)
+ local var=${flag%f}
+ mycmakeargs+=(
+ "-DHAVE_NASM_X64_${var^^}:BOOL=$(usex cpu_flags_x86_${flag})"
+ )
+ ;;
+ *) mycmakeargs+=(
+ "-DHAVE_INTEL_${flag^^}:BOOL=$(usex cpu_flags_x86_${flag})"
+ );;
+ esac
+ done
+ fi
+
+ # needed for >=glibc-2.32
+ has_version '>=sys-libs/glibc-2.32' && mycmakeargs+=( -DWITH_REENTRANT_STRSIGNAL:BOOL=ON )
+
+ rm -f "${BUILD_DIR:-${S}}/CMakeCache.txt" \
+ || die "failed to remove cmake cache"
+
+ # hopefully this will not be necessary in the next release
+ use parquet && export ARROW_XSIMD_URL="file:///${DISTDIR}/ceph-xsimd-${PV}.tar.gz"
+
+ cmake_src_configure
+
+ # bug #630232
+ sed -i "s:\"${T//:\\:}/${EPYTHON}/bin/python\":\"${PYTHON}\":" \
+ "${BUILD_DIR:-${S}}"/include/acconfig.h \
+ || die "sed failed"
+}
+
+src_configure() {
+ use custom-cflags || strip-flags
+ ceph_src_configure
+}
+
+src_compile() {
+ cmake_build all
+
+ # we have to do this here to prevent from building everything multiple times
+ python_copy_sources
+ python_foreach_impl python_compile
+}
+
+python_compile() {
+ local CMAKE_USE_DIR="${S}"
+ ceph_src_configure
+
+ cmake_build src/pybind/CMakeFiles/cython_modules
+}
+
+src_install() {
+ python_foreach_impl python_install
+
+ python_setup
+ cmake_src_install
+ python_optimize
+
+ find "${ED}" -name '*.la' -type f -delete || die
+
+ exeinto /usr/$(get_libdir)/ceph
+ newexe "${BUILD_DIR}/bin/init-ceph" init-ceph
+
+ insinto /etc/logrotate.d/
+ newins "${FILESDIR}"/ceph.logrotate-r2 ${PN}
+
+ keepdir /var/lib/${PN}{,/tmp} /var/log/ceph/stat /var/log/ceph/console
+
+ fowners -R ceph:ceph /var/log/ceph
+
+ newinitd "${FILESDIR}/rbdmap.initd-r1" rbdmap
+ newinitd "${FILESDIR}/${PN}.initd-r14" ${PN}
+ newconfd "${FILESDIR}/${PN}.confd-r5" ${PN}
+
+ insinto /etc/sudoers.d
+ doins sudoers.d/*
+
+ insinto /etc/sysctl.d
+ newins "${FILESDIR}"/sysctld 90-${PN}.conf
+
+ use tcmalloc && newenvd "${FILESDIR}"/envd-tcmalloc 99${PN}-tcmalloc
+
+ # units aren't installed by the build system unless systemd is enabled
+ # so no point installing these with the USE flag disabled
+ if use systemd; then
+ systemd_install_serviced "${FILESDIR}/ceph-mds_at.service.conf" "ceph-mds@.service"
+ systemd_install_serviced "${FILESDIR}/ceph-osd_at.service.conf" "ceph-osd@.service"
+ fi
+
+ udev_dorules udev/*.rules
+ newtmpfiles "${FILESDIR}"/ceph-tmpfilesd ${PN}.conf
+
+ readme.gentoo_create_doc
+
+ # bug #630232
+ sed -i -r "s:${T//:/\\:}/${EPYTHON}:/usr:" "${ED}"/usr/bin/ceph{,-crash} \
+ || die "sed failed"
+
+ python_fix_shebang "${ED}"/usr/{,s}bin/
+
+ # python_fix_shebang apparently is not idempotent
+ local shebang_regex='(/usr/lib/python-exec/python[0-9]\.[0-9]/python)[0-9]\.[0-9]'
+ grep -r -E -l --null "${shebang_regex}" "${ED}"/usr/{s,}bin/ \
+ | xargs --null --no-run-if-empty -- sed -i -r "s:${shebang_regex}:\1:" || die
+
+ local -a rados_classes=( "${ED}/usr/$(get_libdir)/rados-classes"/* )
+ dostrip -x "${rados_classes[@]#${ED}}"
+}
+
+python_install() {
+ local CMAKE_USE_DIR="${S}"
+ DESTDIR="${ED}" cmake_build src/pybind/install
+ DESTDIR="${ED}" cmake_build src/cephadm/install
+
+ python_scriptinto /usr/sbin
+ python_doscript src/cephadm/cephadm
+
+ python_optimize
+}
+
+pkg_postinst() {
+ readme.gentoo_print_elog
+ tmpfiles_process ${PN}.conf
+ udev_reload
+}
+
+pkg_postrm() {
+ udev_reload
+}
diff --git a/sys-cluster/ceph/files/ceph-17.2.7-fmt-fixes.patch b/sys-cluster/ceph/files/ceph-17.2.7-fmt-fixes.patch
new file mode 100644
index 000000000000..5d8ee2af9ba3
--- /dev/null
+++ b/sys-cluster/ceph/files/ceph-17.2.7-fmt-fixes.patch
@@ -0,0 +1,12 @@
+diff --git a/src/osd/SnapMapper.cc b/src/osd/SnapMapper.cc
+index 4feabcda459..6b9a9bf86ce 100644
+--- a/src/osd/SnapMapper.cc
++++ b/src/osd/SnapMapper.cc
+@@ -17,6 +17,7 @@
+ #include <fmt/printf.h>
+ #include <fmt/ranges.h>
+
++#include "include/object_fmt.h"
+ #include "osd/osd_types_fmt.h"
+ #include "SnapMapReaderI.h"
+
^ permalink raw reply related [flat|nested] 68+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-cluster/ceph/, sys-cluster/ceph/files/
@ 2023-09-12 2:24 Patrick McLean
0 siblings, 0 replies; 68+ messages in thread
From: Patrick McLean @ 2023-09-12 2:24 UTC (permalink / raw
To: gentoo-commits
commit: 9f923c7270ad28e4d42ea2db627ddd40020d8292
Author: Patrick McLean <chutzpah <AT> gentoo <DOT> org>
AuthorDate: Tue Sep 12 01:56:36 2023 +0000
Commit: Patrick McLean <chutzpah <AT> gentoo <DOT> org>
CommitDate: Tue Sep 12 02:24:35 2023 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=9f923c72
sys-cluster/ceph: add 16.2.14, drop 16.2.13-r2
Signed-off-by: Patrick McLean <chutzpah <AT> gentoo.org>
sys-cluster/ceph/Manifest | 2 +-
...{ceph-16.2.13-r2.ebuild => ceph-16.2.14.ebuild} | 6 +-
sys-cluster/ceph/files/ceph-16.2.14-gcc13.patch | 84 ++++++++++++++++++++++
3 files changed, 90 insertions(+), 2 deletions(-)
diff --git a/sys-cluster/ceph/Manifest b/sys-cluster/ceph/Manifest
index f4f3aab3b39d..d89b43142d52 100644
--- a/sys-cluster/ceph/Manifest
+++ b/sys-cluster/ceph/Manifest
@@ -1,4 +1,4 @@
-DIST ceph-16.2.13.tar.gz 157213576 BLAKE2B cc319ff67f6320c101341d7bbca0d49630fd6d4a5ed48b34e73a9e780ddf934adc35e3ff09e32115fe4b9a853bff9a85ca2c1e5e62d5596251d2dae535726a28 SHA512 39ec2bed1de0276f08bf93241f9fb275893041fd5f20ade75e68728107011ae5d01aed532d5afd8805951d09061a5a3d96c4311701c8897a29668f77126c19ab
+DIST ceph-16.2.14.tar.gz 157243362 BLAKE2B 799132ebc815380b2040250915c82c5752983a23e2489e7c12e624b70a93b29c151cb1ab9670e43f2c89d75523655e57860dcdc797d455abc6c6ddc3c880c70c SHA512 397845f44d94e01ae49c5f4dabd75b8bf20c9ece9aeba85f4a5c12154335420cce390bfd94146be3bef763d44e47d15522a84b4f6cdc6bdde77982ac8bd79a54
DIST ceph-17.2.6.tar.gz 168093221 BLAKE2B f79efce9bd7f485b43ae1b4da94a1d9fb3753003f34535e93c80e480ffeaaf054d371f75bca72402da5f9dd460aafa820bb2af550d213bdbcca74aa939180431 SHA512 dca9aea2ce210c15fcc34cb06a5dc5b4488ffa36d684166d47ebd87e48b54b6fee0882e1c67007a780e1c25754e9bc6e760cc10f60ea1183263f8504ef2dbd9b
DIST ceph-18.2.0.tar.gz 197353856 BLAKE2B 0f2217d9ec4105f72b7b48f7981c5cc098e8f6d46b029acaae1aa91d71486e7dc5726cad0763b5bb0f79d006e289a9f590c95f2494c17f2f09fb492c06db455a SHA512 fe6a3ca4227cc05b5effc33a02670c466583ec9e4c7c025241248223992254e6e6551d7db486d5ead36bf0ba922d54e0aabc2aaf456d4593679376ec88bd971a
DIST ceph-xsimd-17.2.6.tar.gz 173025 BLAKE2B 54679c24804c195ae55b9f49589e331dde92c6d89aaa20e827539e9a4e0010c7549cdd5cf02a7ebed83f953ab2a6f1d9cc9a98cf45c3dc7758ae4938c9c43713 SHA512 ecc58e7909648aaa22aefbf76ee2c5a2bece4b1b88da9c7eda1b69a46247e619ff99c4366afd6015f95debd68c1a6b89292c677b9049462d0fc0255fbc0c2a33
diff --git a/sys-cluster/ceph/ceph-16.2.13-r2.ebuild b/sys-cluster/ceph/ceph-16.2.14.ebuild
similarity index 98%
rename from sys-cluster/ceph/ceph-16.2.13-r2.ebuild
rename to sys-cluster/ceph/ceph-16.2.14.ebuild
index dccc03e507a4..010b32a6ec27 100644
--- a/sys-cluster/ceph/ceph-16.2.13-r2.ebuild
+++ b/sys-cluster/ceph/ceph-16.2.14.ebuild
@@ -102,7 +102,7 @@ BDEPEND="
x86? ( dev-lang/yasm )
app-arch/cpio
>=dev-util/cmake-3.5.0
- dev-python/cython[${PYTHON_USEDEP}]
+ <dev-python/cython-3[${PYTHON_USEDEP}]
dev-python/setuptools[${PYTHON_USEDEP}]
dev-python/sphinx
dev-util/gperf
@@ -211,6 +211,7 @@ PATCHES=(
"${FILESDIR}/ceph-17.2.0-gcc12-header.patch"
"${FILESDIR}/ceph-16.2.10-flags.patch"
"${FILESDIR}/ceph-17.2.5-boost-1.81.patch"
+ "${FILESDIR}/ceph-16.2.14-gcc13.patch"
)
check-reqs_export_vars() {
@@ -458,6 +459,9 @@ python_install() {
DESTDIR="${ED}" cmake_build VERBOSE=1 install
popd >/dev/null || die
+ python_scriptinto /usr/sbin
+ python_doscript src/cephadm/cephadm
+
python_optimize
}
diff --git a/sys-cluster/ceph/files/ceph-16.2.14-gcc13.patch b/sys-cluster/ceph/files/ceph-16.2.14-gcc13.patch
new file mode 100644
index 000000000000..7f84a19706dc
--- /dev/null
+++ b/sys-cluster/ceph/files/ceph-16.2.14-gcc13.patch
@@ -0,0 +1,84 @@
+diff --git a/src/common/Cycles.h b/src/common/Cycles.h
+index 16e0aa67fc1..791be43469c 100644
+--- a/src/common/Cycles.h
++++ b/src/common/Cycles.h
+@@ -29,8 +29,9 @@
+ */
+
+
+-#ifndef CEPH_CYCLES_H
+-#define CEPH_CYCLES_H
++#pragma once
++
++#include <cstdint>
+
+ /**
+ * This class provides static methods that read the fine-grain CPU
+@@ -112,4 +113,3 @@ private:
+ }
+ };
+
+-#endif // CEPH_CYCLES_H
+diff --git a/src/common/subsys_types.h b/src/common/subsys_types.h
+index 52171809b23..1a2ab796b6d 100644
+--- a/src/common/subsys_types.h
++++ b/src/common/subsys_types.h
+@@ -53,7 +53,7 @@ ceph_subsys_get_as_array() {
+ #undef DEFAULT_SUBSYS
+ }
+
+-constexpr static std::uint8_t
++constexpr static uint8_t
+ ceph_subsys_get_max_default_level(const std::size_t subidx) {
+ const auto item = ceph_subsys_get_as_array()[subidx];
+ return std::max(item.log_level, item.gather_level);
+diff --git a/src/librbd/api/PoolMetadata.h b/src/librbd/api/PoolMetadata.h
+index c0a8173596e..8d982879aa9 100644
+--- a/src/librbd/api/PoolMetadata.h
++++ b/src/librbd/api/PoolMetadata.h
+@@ -9,6 +9,7 @@
+
+ #include <map>
+ #include <string>
++#include <cstdint>
+
+ namespace librbd {
+
+diff --git a/src/msg/async/crypto_onwire.h b/src/msg/async/crypto_onwire.h
+index 55f7550868f..2213c21d08d 100644
+--- a/src/msg/async/crypto_onwire.h
++++ b/src/msg/async/crypto_onwire.h
+@@ -95,7 +95,7 @@ public:
+ // Transmitter can append extra bytes of ciphertext at the -final step.
+ // This method return how much was added, and thus let client translate
+ // plaintext size into ciphertext size to grab from wire.
+- virtual std::uint32_t get_extra_size_at_final() = 0;
++ virtual uint32_t get_extra_size_at_final() = 0;
+
+ // Instance of RxHandler must be reset before doing any decrypt-update
+ // step. This applies also to situation when decrypt-final was already
+diff --git a/src/test/librados/op_speed.cc b/src/test/librados/op_speed.cc
+index 90c7bdac571..9452da6dcc9 100644
+--- a/src/test/librados/op_speed.cc
++++ b/src/test/librados/op_speed.cc
+@@ -9,7 +9,7 @@ int main() {
+ for (int i = 0; i < to_create; ++i) {
+ librados::ObjectReadOperation op;
+ bufferlist bl;
+- std::uint64_t sz;
++ uint64_t sz;
+ struct timespec tm;
+ std::map<std::string, ceph::buffer::list> xattrs;
+ std::map<std::string, ceph::buffer::list> omap;
+diff --git a/src/test/mon/test_log_rss_usage.cc b/src/test/mon/test_log_rss_usage.cc
+index f6e85f414c8..9769cabd884 100644
+--- a/src/test/mon/test_log_rss_usage.cc
++++ b/src/test/mon/test_log_rss_usage.cc
+@@ -5,6 +5,7 @@
+ #include <string>
+ #include <iostream>
+ #include <fstream>
++#include <cstdint>
+ #include <stdlib.h>
+ #include <stdio.h>
+ #include <unistd.h>
^ permalink raw reply related [flat|nested] 68+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-cluster/ceph/, sys-cluster/ceph/files/
@ 2023-06-04 5:06 Sam James
0 siblings, 0 replies; 68+ messages in thread
From: Sam James @ 2023-06-04 5:06 UTC (permalink / raw
To: gentoo-commits
commit: bbbbb0a44b36b8e45c4b94e9cd55e3b564882389
Author: Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Sun Jun 4 04:59:34 2023 +0000
Commit: Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Sun Jun 4 05:06:39 2023 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=bbbbb0a4
sys-cluster/ceph: fix parallel(?) build failure
... or at least a non-deterministic issue, as it only happens on some machines.
We've seen that kind of thing in the past with ninja, although only pretty
rarely (on m68k...).
Closes: https://bugs.gentoo.org/868891
Signed-off-by: Sam James <sam <AT> gentoo.org>
sys-cluster/ceph/ceph-17.2.6-r3.ebuild | 4 +-
sys-cluster/ceph/files/ceph-17.2.6-cmake.patch | 80 ++++++++++++++++++++++++++
2 files changed, 83 insertions(+), 1 deletion(-)
diff --git a/sys-cluster/ceph/ceph-17.2.6-r3.ebuild b/sys-cluster/ceph/ceph-17.2.6-r3.ebuild
index 259638cf91a1..0c028dec1610 100644
--- a/sys-cluster/ceph/ceph-17.2.6-r3.ebuild
+++ b/sys-cluster/ceph/ceph-17.2.6-r3.ebuild
@@ -3,7 +3,7 @@
EAPI=8
-PYTHON_COMPAT=( python3_{9..11} )
+PYTHON_COMPAT=( python3_{10..11} )
LUA_COMPAT=( lua5-{3..4} )
inherit check-reqs bash-completion-r1 cmake flag-o-matic lua-single \
@@ -227,6 +227,8 @@ PATCHES=(
"${FILESDIR}/ceph-17.2.6-link-boost-context.patch"
# https://bugs.gentoo.org/905626
"${FILESDIR}/ceph-17.2.6-arrow-flatbuffers-c++14.patch"
+ # https://bugs.gentoo.org/868891
+ "${FILESDIR}/ceph-17.2.6-cmake.patch"
)
check-reqs_export_vars() {
diff --git a/sys-cluster/ceph/files/ceph-17.2.6-cmake.patch b/sys-cluster/ceph/files/ceph-17.2.6-cmake.patch
new file mode 100644
index 000000000000..82bf399fb6f1
--- /dev/null
+++ b/sys-cluster/ceph/files/ceph-17.2.6-cmake.patch
@@ -0,0 +1,80 @@
+https://bugs.gentoo.org/868891
+https://github.com/ceph/ceph/pull/49517
+
+From aa4b3652399b317652407959ee880982d4f648de Mon Sep 17 00:00:00 2001
+From: jinqiang zhang <peeweep@0x0.ee>
+Date: Tue, 20 Dec 2022 04:28:52 +0000
+Subject: [PATCH 1/2] cmake: fix common-msg-objs can't find common-options-objs
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+compile ceph-17.2.5 failed with follow error message:
+
+```
+ceph-17.2.5/src/msg/Messenger.h:723:30: error: ‘class ConfigValues’ has no member named ‘ms_die_on_unhandled_msg’
+```
+
+Add common-options-objs to common-msg-objs's depend to fix it.
+
+Full build log: https://fars.ee/YMqu
+Releated downstream issue: https://bugs.gentoo.org/866449
+Signed-off-by: jinqiang zhang <peeweep@0x0.ee>
+--- a/src/msg/CMakeLists.txt
++++ b/src/msg/CMakeLists.txt
+@@ -48,6 +48,7 @@ add_library(common-msg-objs OBJECT ${msg_srcs})
+ target_compile_definitions(common-msg-objs PRIVATE
+ $<TARGET_PROPERTY:fmt::fmt,INTERFACE_COMPILE_DEFINITIONS>)
+ target_include_directories(common-msg-objs PRIVATE ${OPENSSL_INCLUDE_DIR})
++add_dependencies(common-msg-objs common-options-objs)
+
+ if(WITH_DPDK)
+ set(async_dpdk_srcs
+
+From 80e422234acb1f8ffcbe8ee3898cb00f889466a3 Mon Sep 17 00:00:00 2001
+From: jinqiang zhang <peeweep@0x0.ee>
+Date: Tue, 20 Dec 2022 04:36:56 +0000
+Subject: [PATCH 2/2] cmake: fix krbd and rados_snap_set_diff_obj can't find
+ global_legacy_options.h
+
+compile ceph-17.2.5 failed with follow error messages:
+
+1. src/librados/snap_set_diff.cc can't find global_legacy_options.h
+```
+ from /var/tmp/portage/sys-cluster/ceph-17.2.5-r1/work/ceph-17.2.5/src/librados/snap_set_diff.cc:7:
+/var/tmp/portage/sys-cluster/ceph-17.2.5-r1/work/ceph-17.2.5/src/common/options/legacy_config_opts.h:1:10: fatal error: global_legacy_options.h: No such file or directory
+
+```
+
+2. src/krbd.cc can't find global_legacy_options.h
+
+```
+ from /var/tmp/portage/sys-cluster/ceph-17.2.5-r1/work/ceph-17.2.5/src/krbd.cc:44:
+/var/tmp/portage/sys-cluster/ceph-17.2.5-r1/work/ceph-17.2.5/src/common/options/legacy_config_opts.h:1:10: fatal error: global_legacy_options.h: No such file or directory
+
+```
+
+Add common-options-objs to depend to let it build ealier, similar with 3b3da64d.
+
+Full build log: https://fars.ee/SZFs
+Releated downstream issue: https://bugs.gentoo.org/868891
+Signed-off-by: jinqiang zhang <peeweep@0x0.ee>
+--- a/src/CMakeLists.txt
++++ b/src/CMakeLists.txt
+@@ -614,6 +614,7 @@ add_subdirectory(osdc)
+ add_subdirectory(perfglue)
+
+ add_library(rados_snap_set_diff_obj OBJECT librados/snap_set_diff.cc)
++add_dependencies(rados_snap_set_diff_obj common-options-objs)
+
+ option(WITH_LIBRADOSSTRIPER "build with libradosstriper support" ON)
+
+@@ -867,6 +868,7 @@ add_subdirectory(journal)
+ if(WITH_RBD)
+ if(WITH_KRBD)
+ add_library(krbd STATIC krbd.cc
++ $<TARGET_OBJECTS:common-options-objs>
+ $<TARGET_OBJECTS:parse_secret_objs>)
+ target_link_libraries(krbd keyutils::keyutils)
+ endif()
+
^ permalink raw reply related [flat|nested] 68+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-cluster/ceph/, sys-cluster/ceph/files/
@ 2023-06-03 1:54 Sam James
0 siblings, 0 replies; 68+ messages in thread
From: Sam James @ 2023-06-03 1:54 UTC (permalink / raw
To: gentoo-commits
commit: 37730ad6c0384670c28db327239bcf6be3480b03
Author: Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Sat Jun 3 01:54:01 2023 +0000
Commit: Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Sat Jun 3 01:54:35 2023 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=37730ad6
sys-cluster/ceph: fix build w/ new abseil
Closes: https://bugs.gentoo.org/895254
Signed-off-by: Sam James <sam <AT> gentoo.org>
sys-cluster/ceph/ceph-17.2.6-r3.ebuild | 2 +
.../ceph-17.2.6-arrow-flatbuffers-c++14.patch | 92 ++++++++++++++++++++++
2 files changed, 94 insertions(+)
diff --git a/sys-cluster/ceph/ceph-17.2.6-r3.ebuild b/sys-cluster/ceph/ceph-17.2.6-r3.ebuild
index c1d16e9edab6..259638cf91a1 100644
--- a/sys-cluster/ceph/ceph-17.2.6-r3.ebuild
+++ b/sys-cluster/ceph/ceph-17.2.6-r3.ebuild
@@ -225,6 +225,8 @@ PATCHES=(
"${FILESDIR}/ceph-17.2.5-boost-1.81.patch"
# https://bugs.gentoo.org/901403
"${FILESDIR}/ceph-17.2.6-link-boost-context.patch"
+ # https://bugs.gentoo.org/905626
+ "${FILESDIR}/ceph-17.2.6-arrow-flatbuffers-c++14.patch"
)
check-reqs_export_vars() {
diff --git a/sys-cluster/ceph/files/ceph-17.2.6-arrow-flatbuffers-c++14.patch b/sys-cluster/ceph/files/ceph-17.2.6-arrow-flatbuffers-c++14.patch
new file mode 100644
index 000000000000..e5ab9943a4f6
--- /dev/null
+++ b/sys-cluster/ceph/files/ceph-17.2.6-arrow-flatbuffers-c++14.patch
@@ -0,0 +1,92 @@
+https://bugs.gentoo.org/905626
+https://github.com/google/flatbuffers/pull/7897
+https://github.com/apache/arrow/commit/22dc537e581b385b53ce579a03786a2db0bd4487
+
+From 22dc537e581b385b53ce579a03786a2db0bd4487 Mon Sep 17 00:00:00 2001
+From: Antoine Pitrou <antoine@python.org>
+Date: Thu, 20 Jan 2022 20:44:40 +0100
+Subject: [PATCH] ARROW-15388: [C++] Avoid including absl from flatbuffers
+
+There may be an incomplete/broken copy of the Abseil library lying around
+(for example because of a race condition while installing it as a bundled library).
+
+Since absl is only used by Flatbuffers to provide a string_view facility,
+use our own vendored string_view instead.
+
+Closes #12204 from pitrou/ARROW-15388-flatbuffers-string-view
+
+Authored-by: Antoine Pitrou <antoine@python.org>
+Signed-off-by: Antoine Pitrou <antoine@python.org>
+---
+ cpp/thirdparty/flatbuffers/README.md | 42 +++++++++++++++++++
+ .../flatbuffers/include/flatbuffers/base.h | 7 ----
+ 2 files changed, 42 insertions(+), 7 deletions(-)
+ create mode 100644 cpp/thirdparty/flatbuffers/README.md
+
+diff --git a/src/arrow/cpp/thirdparty/flatbuffers/README.md b/src/arrow/cpp/thirdparty/flatbuffers/README.md
+new file mode 100644
+index 0000000000000..e955adba4cebb
+--- /dev/null
++++ b/src/arrow/cpp/thirdparty/flatbuffers/README.md
+@@ -0,0 +1,42 @@
++<!---
++ Licensed to the Apache Software Foundation (ASF) under one
++ or more contributor license agreements. See the NOTICE file
++ distributed with this work for additional information
++ regarding copyright ownership. The ASF licenses this file
++ to you under the Apache License, Version 2.0 (the
++ "License"); you may not use this file except in compliance
++ with the License. You may obtain a copy of the License at
++
++ http://www.apache.org/licenses/LICENSE-2.0
++
++ Unless required by applicable law or agreed to in writing,
++ software distributed under the License is distributed on an
++ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
++ KIND, either express or implied. See the License for the
++ specific language governing permissions and limitations
++ under the License.
++-->
++
++This directory contains a vendored version of Flatbuffers
++(unknown changeset), with the following patch for ARROW-15388:
++
++```diff
++diff --git a/cpp/thirdparty/flatbuffers/include/flatbuffers/base.h b/cpp/thirdparty/flatbuffers/include/flatbuffers/base.h
++index 955738067..fccce42f6 100644
++--- a/cpp/thirdparty/flatbuffers/include/flatbuffers/base.h
+++++ b/cpp/thirdparty/flatbuffers/include/flatbuffers/base.h
++@@ -212,13 +212,6 @@ namespace flatbuffers {
++ typedef std::experimental::string_view string_view;
++ }
++ #define FLATBUFFERS_HAS_STRING_VIEW 1
++- // Check for absl::string_view
++- #elif __has_include("absl/strings/string_view.h")
++- #include "absl/strings/string_view.h"
++- namespace flatbuffers {
++- typedef absl::string_view string_view;
++- }
++- #define FLATBUFFERS_HAS_STRING_VIEW 1
++ #endif
++ #endif // __has_include
++ #endif // !FLATBUFFERS_HAS_STRING_VIEW
++```
+diff --git a/src/arrow/cpp/thirdparty/flatbuffers/include/flatbuffers/base.h b/src/arrow/cpp/thirdparty/flatbuffers/include/flatbuffers/base.h
+index 9557380672342..fccce42f68aa6 100644
+--- a/src/arrow/cpp/thirdparty/flatbuffers/include/flatbuffers/base.h
++++ b/src/arrow/cpp/thirdparty/flatbuffers/include/flatbuffers/base.h
+@@ -212,13 +212,6 @@ namespace flatbuffers {
+ typedef std::experimental::string_view string_view;
+ }
+ #define FLATBUFFERS_HAS_STRING_VIEW 1
+- // Check for absl::string_view
+- #elif __has_include("absl/strings/string_view.h")
+- #include "absl/strings/string_view.h"
+- namespace flatbuffers {
+- typedef absl::string_view string_view;
+- }
+- #define FLATBUFFERS_HAS_STRING_VIEW 1
+ #endif
+ #endif // __has_include
+ #endif // !FLATBUFFERS_HAS_STRING_VIEW
+
^ permalink raw reply related [flat|nested] 68+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-cluster/ceph/, sys-cluster/ceph/files/
@ 2023-04-11 23:28 Patrick McLean
0 siblings, 0 replies; 68+ messages in thread
From: Patrick McLean @ 2023-04-11 23:28 UTC (permalink / raw
To: gentoo-commits
commit: 8ae00bcaa9f1d663442445ac3f35eaa559478751
Author: Patrick McLean <chutzpah <AT> gentoo <DOT> org>
AuthorDate: Tue Apr 11 23:25:14 2023 +0000
Commit: Patrick McLean <chutzpah <AT> gentoo <DOT> org>
CommitDate: Tue Apr 11 23:28:52 2023 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=8ae00bca
sys-cluster/ceph: add 17.2.6
Signed-off-by: Patrick McLean <chutzpah <AT> gentoo.org>
sys-cluster/ceph/ceph-17.2.6.ebuild | 479 +++++++++++++++++++++
.../files/ceph-17.2.6-link-boost-context.patch | 13 +
2 files changed, 492 insertions(+)
diff --git a/sys-cluster/ceph/ceph-17.2.6.ebuild b/sys-cluster/ceph/ceph-17.2.6.ebuild
new file mode 100644
index 000000000000..aa370edc1017
--- /dev/null
+++ b/sys-cluster/ceph/ceph-17.2.6.ebuild
@@ -0,0 +1,479 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{9..11} )
+LUA_COMPAT=( lua5-{3..4} )
+
+inherit check-reqs bash-completion-r1 cmake flag-o-matic lua-single \
+ python-r1 udev readme.gentoo-r1 toolchain-funcs systemd tmpfiles
+
+XSIMD_HASH="aeec9c872c8b475dedd7781336710f2dd2666cb2"
+SRC_URI="
+ https://download.ceph.com/tarballs/${P}.tar.gz
+ parquet? ( https://github.com/xtensor-stack/xsimd/archive/${XSIMD_HASH}.tar.gz -> ceph-xsimd-${PV}.tar.gz )
+"
+KEYWORDS="~amd64 ~arm64"
+
+DESCRIPTION="Ceph distributed filesystem"
+HOMEPAGE="https://ceph.com/"
+
+LICENSE="Apache-2.0 LGPL-2.1 CC-BY-SA-3.0 GPL-2 GPL-2+ LGPL-2+ LGPL-2.1 LGPL-3 GPL-3 BSD Boost-1.0 MIT public-domain"
+SLOT="0"
+
+CPU_FLAGS_X86=(avx2 avx512f pclmul sse{,2,3,4_1,4_2} ssse3)
+
+IUSE="
+ babeltrace +cephfs custom-cflags diskprediction dpdk fuse grafana
+ jemalloc jaeger kafka kerberos ldap lttng +mgr +parquet pmdk rabbitmq
+ +radosgw rbd-rwl rbd-ssd rdma rgw-lua +ssl spdk +sqlite +system-boost
+ systemd +tcmalloc test +uring xfs zbd zfs
+"
+
+IUSE+="$(printf "cpu_flags_x86_%s\n" ${CPU_FLAGS_X86[@]})"
+
+DEPEND="
+ ${LUA_DEPS}
+ ${PYTHON_DEPS}
+ acct-group/ceph
+ acct-user/ceph
+ virtual/libudev:=
+ app-arch/bzip2:=
+ app-arch/lz4:=
+ app-arch/snappy:=
+ >=app-arch/snappy-1.1.9-r1
+ app-arch/zstd:=
+ app-shells/bash:0
+ app-misc/jq:=
+ dev-libs/crypto++:=
+ dev-cpp/gflags:=
+ dev-lang/jsonnet:=
+ <dev-libs/leveldb-1.23:=[snappy,tcmalloc(-)?]
+ dev-libs/libaio:=
+ >=dev-libs/libfmt-6.2.1:=
+ <dev-libs/libfmt-9:=
+ dev-libs/libnl:3=
+ dev-libs/libxml2:=
+ dev-libs/libevent:=
+ dev-libs/libutf8proc:=
+ dev-libs/nss:=
+ dev-libs/openssl:=
+ <dev-libs/rocksdb-6.15:=
+ dev-libs/thrift:=
+ dev-libs/xmlsec:=[openssl]
+ dev-cpp/yaml-cpp:=
+ dev-python/natsort[${PYTHON_USEDEP}]
+ dev-python/pyyaml[${PYTHON_USEDEP}]
+ net-dns/c-ares:=
+ net-libs/gnutls:=
+ sys-auth/oath-toolkit:=
+ sys-apps/coreutils
+ sys-apps/hwloc:=
+ sys-apps/keyutils:=
+ sys-apps/util-linux:=
+ sys-libs/libcap-ng:=
+ sys-libs/ncurses:0=
+ sys-libs/zlib:=
+ sys-process/numactl:=
+ virtual/libcrypt:=
+ x11-libs/libpciaccess:=
+ babeltrace? ( dev-util/babeltrace )
+ fuse? ( sys-fs/fuse:3= )
+ jemalloc? ( dev-libs/jemalloc:= )
+ !jemalloc? ( >=dev-util/google-perftools-2.6.1:= )
+ jaeger? (
+ dev-cpp/nlohmann_json:=
+ dev-cpp/opentelemetry-cpp:=[jaeger]
+ )
+ kafka? ( dev-libs/librdkafka:= )
+ kerberos? ( virtual/krb5 )
+ ldap? ( net-nds/openldap:= )
+ lttng? ( dev-util/lttng-ust:= )
+ parquet? ( dev-libs/re2:= )
+ pmdk? ( >=dev-libs/pmdk-1.10.0:= )
+ rabbitmq? ( net-libs/rabbitmq-c:= )
+ radosgw? (
+ dev-libs/icu:=
+ dev-libs/expat:=
+ net-misc/curl:=[curl_ssl_openssl]
+ )
+ rbd-rwl? ( dev-libs/pmdk:= )
+ rdma? ( sys-cluster/rdma-core:= )
+ spdk? ( dev-util/cunit )
+ sqlite? ( dev-db/sqlite:= )
+ system-boost? ( dev-libs/boost:=[context,python,${PYTHON_USEDEP},zlib] )
+ uring? ( sys-libs/liburing:= )
+ xfs? ( sys-fs/xfsprogs:= )
+ zbd? ( sys-block/libzbd:= )
+ zfs? ( sys-fs/zfs:= )
+"
+BDEPEND="
+ amd64? ( dev-lang/nasm )
+ x86? ( dev-lang/yasm )
+ app-arch/cpio
+ >=dev-util/cmake-3.5.0
+ dev-python/cython[${PYTHON_USEDEP}]
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ dev-python/sphinx
+ dev-util/gperf
+ dev-util/ragel
+ dev-util/valgrind
+ sys-apps/coreutils
+ sys-apps/grep
+ sys-apps/util-linux
+ sys-apps/which
+ sys-devel/bc
+ sys-devel/patch
+ virtual/pkgconfig
+ jaeger? (
+ sys-devel/bison
+ sys-devel/flex
+ )
+ test? (
+ dev-util/cunit
+ dev-python/coverage[${PYTHON_USEDEP}]
+ dev-python/virtualenv[${PYTHON_USEDEP}]
+ dev-python/requests-mock[${PYTHON_USEDEP}]
+ sys-apps/grep[pcre]
+ sys-fs/btrfs-progs
+ )
+"
+RDEPEND="
+ ${DEPEND}
+ app-admin/sudo
+ net-misc/socat
+ sys-apps/gptfdisk
+ sys-apps/nvme-cli
+ >=sys-apps/smartmontools-7.0
+ sys-block/parted
+ sys-fs/cryptsetup
+ sys-fs/lsscsi
+ sys-fs/lvm2[lvm]
+ app-alternatives/awk
+ dev-python/bcrypt[${PYTHON_USEDEP}]
+ dev-python/cherrypy[${PYTHON_USEDEP}]
+ dev-python/python-dateutil[${PYTHON_USEDEP}]
+ dev-python/flask[${PYTHON_USEDEP}]
+ dev-python/jinja[${PYTHON_USEDEP}]
+ dev-python/pecan[${PYTHON_USEDEP}]
+ dev-python/prettytable[${PYTHON_USEDEP}]
+ dev-python/pyopenssl[${PYTHON_USEDEP}]
+ dev-python/requests[${PYTHON_USEDEP}]
+ dev-python/werkzeug[${PYTHON_USEDEP}]
+ mgr? (
+ dev-python/jsonpatch[${PYTHON_USEDEP}]
+ dev-python/more-itertools[${PYTHON_USEDEP}]
+ dev-python/numpy[${PYTHON_USEDEP}]
+ dev-python/pyjwt[${PYTHON_USEDEP}]
+ dev-python/routes[${PYTHON_USEDEP}]
+ diskprediction? (
+ >=dev-python/scipy-1.4.0[${PYTHON_USEDEP}]
+ )
+ sci-libs/scikit-learn[${PYTHON_USEDEP}]
+ dev-python/six[${PYTHON_USEDEP}]
+ )
+"
+REQUIRED_USE="
+ ${PYTHON_REQUIRED_USE}
+ ${LUA_REQUIRED_USE}
+ ?? ( jemalloc tcmalloc )
+ diskprediction? ( mgr )
+ kafka? ( radosgw )
+ mgr? ( cephfs )
+ rabbitmq? ( radosgw )
+ rgw-lua? ( radosgw )
+"
+
+RESTRICT="
+ !test? ( test )
+"
+
+# tests need root access, and network access
+RESTRICT+="test"
+
+# false positives unless all USE flags are on
+CMAKE_WARN_UNUSED_CLI=no
+
+PATCHES=(
+ "${FILESDIR}/ceph-12.2.0-use-provided-cpu-flag-values.patch"
+ "${FILESDIR}/ceph-14.2.0-cflags.patch"
+ "${FILESDIR}/ceph-12.2.4-boost-build-none-options.patch"
+ "${FILESDIR}/ceph-16.2.2-cflags.patch"
+ "${FILESDIR}/ceph-17.2.1-no-virtualenvs.patch"
+ "${FILESDIR}/ceph-13.2.2-dont-install-sysvinit-script.patch"
+ "${FILESDIR}/ceph-14.2.0-dpdk-cflags.patch"
+ "${FILESDIR}/ceph-16.2.0-rocksdb-cmake.patch"
+ "${FILESDIR}/ceph-16.2.0-spdk-tinfo.patch"
+ "${FILESDIR}/ceph-16.2.0-jaeger-system-boost.patch"
+ "${FILESDIR}/ceph-16.2.0-liburing.patch"
+ "${FILESDIR}/ceph-17.2.0-cyclic-deps.patch"
+ "${FILESDIR}/ceph-17.2.0-pybind-boost-1.74.patch"
+ "${FILESDIR}/ceph-17.2.0-findre2.patch"
+ "${FILESDIR}/ceph-17.2.0-install-dbstore.patch"
+ "${FILESDIR}/ceph-17.2.0-deprecated-boost.patch"
+ "${FILESDIR}/ceph-17.2.0-system-opentelemetry.patch"
+ "${FILESDIR}/ceph-17.2.0-fuse3.patch"
+ "${FILESDIR}/ceph-17.2.0-osd_class_dir.patch"
+ "${FILESDIR}/ceph-17.2.0-gcc12-header.patch"
+ "${FILESDIR}/ceph-17.2.3-flags.patch"
+ "${FILESDIR}/ceph-17.2.4-cyclic-deps.patch"
+ # https://bugs.gentoo.org/866165
+ "${FILESDIR}/ceph-17.2.5-suppress-cmake-warning.patch"
+ "${FILESDIR}/ceph-17.2.5-boost-1.81.patch"
+ # https://bugs.gentoo.org/901403
+ "${FILESDIR}/ceph-17.2.6-link-boost-context.patch"
+)
+
+check-reqs_export_vars() {
+ CHECKREQS_DISK_BUILD="6G"
+
+ if use system-boost; then
+ CHECKREQS_DISK_USR="350M"
+ else
+ CHECKREQS_DISK_USR="510M"
+ fi
+
+ export CHECKREQS_DISK_BUILD CHECKREQS_DISK_USR
+}
+
+pkg_pretend() {
+ check-reqs_export_vars
+ check-reqs_pkg_pretend
+}
+
+pkg_setup() {
+ python_setup
+ lua_setup
+ check-reqs_export_vars
+ check-reqs_pkg_setup
+}
+
+src_prepare() {
+ cmake_src_prepare
+
+ if use system-boost; then
+ find "${S}" -name '*.cmake' -or -name 'CMakeLists.txt' -print0 \
+ | xargs --null sed -r \
+ -e 's|Boost::|boost_|g' \
+ -e 's|Boost_|boost_|g' \
+ -e 's|[Bb]oost_boost|boost_system|g' \
+ -i || die
+ fi
+
+ if ! use systemd; then
+ find "${S}"/src/ceph-volume/ceph_volume -name '*.py' -print0 \
+ | xargs --null sed \
+ -e '/^from ceph_volume.systemd import systemctl/ d' \
+ -i || die
+ fi
+
+ sed -r -e "s:DESTINATION .+\\):DESTINATION $(get_bashcompdir)\\):" \
+ -i src/bash_completion/CMakeLists.txt || die
+
+ sed -e "s:objdump -p:$(tc-getOBJDUMP) -p:" -i CMakeLists.txt || die
+
+ # force lua version to use selected version
+ local lua_version
+ lua_version=$(ver_cut 1-2 $(lua_get_version))
+ sed "s:find_package(Lua [0-9][.][0-9] REQUIRED):find_package(Lua ${lua_version} EXACT REQUIRED):" \
+ -i src/CMakeLists.txt
+
+ if use spdk; then
+ # https://bugs.gentoo.org/871942
+ sed -i 's/[#]ifndef HAVE_ARC4RANDOM/#if 0/' src/spdk/lib/iscsi/iscsi.c || die
+ fi
+
+ # remove tests that need root access
+ rm src/test/cli/ceph-authtool/cap*.t || die
+}
+
+ceph_src_configure() {
+ local mycmakeargs=(
+ -DWITH_BABELTRACE:BOOL=$(usex babeltrace)
+ -DWITH_BLUESTORE_PMEM:BOOL=$(usex pmdk)
+ -DWITH_CEPHFS:BOOL=$(usex cephfs)
+ -DWITH_CEPHFS_SHELL:BOOL=$(usex cephfs)
+ -DWITH_DPDK:BOOL=$(usex dpdk)
+ -DWITH_SPDK:BOOL=$(usex spdk)
+ -DWITH_FUSE:BOOL=$(usex fuse)
+ -DWITH_LTTNG:BOOL=$(usex lttng)
+ -DWITH_GSSAPI:BOOL=$(usex kerberos)
+ -DWITH_GRAFANA:BOOL=$(usex grafana)
+ -DWITH_MGR:BOOL=$(usex mgr)
+ -DWITH_MGR_DASHBOARD_FRONTEND:BOOL=OFF
+ -DWITH_OPENLDAP:BOOL=$(usex ldap)
+ -DWITH_PYTHON3:STRING=3
+ -DWITH_RADOSGW:BOOL=$(usex radosgw)
+ -DWITH_RADOSGW_AMQP_ENDPOINT:BOOL=$(usex rabbitmq)
+ -DWITH_RADOSGW_KAFKA_ENDPOINT:BOOL=$(usex kafka)
+ -DWITH_RADOSGW_LUA_PACKAGES:BOOL=$(usex rgw-lua "$(usex radosgw)" "NO")
+ -DWITH_RBD_RWL:BOOL=$(usex rbd-rwl)
+ -DWITH_RBD_SSD_CACHE:BOOL=$(usex rbd-ssd)
+ -DWITH_SYSTEMD:BOOL=$(usex systemd)
+ -DWITH_TESTS:BOOL=$(usex test)
+ -DWITH_LIBURING:BOOL=$(usex uring)
+ -DWITH_SYSTEM_LIBURING:BOOL=$(usex uring)
+ -DWITH_LIBCEPHSQLITE:BOOL=$(usex sqlite)
+ -DWITH_XFS:BOOL=$(usex xfs)
+ -DWITH_ZBD:BOOL=$(usex zbd)
+ -DWITH_ZFS:BOOL=$(usex zfs)
+ -DENABLE_SHARED:BOOL=ON
+ -DALLOCATOR:STRING=$(usex tcmalloc 'tcmalloc' "$(usex jemalloc 'jemalloc' 'libc')")
+ -DWITH_SYSTEM_PMDK:BOOL=$(usex pmdk 'YES' "$(usex rbd-rwl '')")
+ -DWITH_SYSTEM_BOOST:BOOL=$(usex system-boost)
+ -DWITH_SYSTEM_ROCKSDB:BOOL=ON
+ -DWITH_SYSTEM_ZSTD:BOOL=ON
+ -DWITH_RDMA:BOOL=$(usex rdma)
+ -DCMAKE_INSTALL_DOCDIR:PATH="${EPREFIX}/usr/share/doc/${PN}-${PVR}"
+ -DCMAKE_INSTALL_SYSCONFDIR:PATH="${EPREFIX}/etc"
+ -Wno-dev
+ )
+
+ # this breaks when re-configuring for python impl
+ if [[ ${EBUILD_PHASE} == configure ]]; then
+ mycmakeargs+=(
+ -DWITH_JAEGER:BOOL=$(usex jaeger)
+ -DWITH_RADOSGW_SELECT_PARQUET:BOOL=$(usex parquet)
+ )
+ else
+ mycmakeargs+=(
+ -DWITH_RADOSGW_SELECT_PARQUET:BOOL=OFF
+ -DWITH_JAEGER:BOOL=OFF
+ # don't want to warn about unused CLI when reconfiguring for python
+ -DCMAKE_WARN_UNUSED_CLI:BOOL=OFF
+ )
+ fi
+
+ # conditionally used cmake args
+ use test && mycmakearts+=( -DWITH_SYSTEM_GTEST:BOOL=$(usex test) )
+ use systemd && mycmakeargs+=( -DSYSTEMD_SYSTEM_UNIT_DIR:PATH=$(systemd_get_systemunitdir) )
+
+ if use amd64 || use x86; then
+ local flag
+ for flag in "${CPU_FLAGS_X86[@]}"; do
+ case "${flag}" in
+ avx*)
+ local var=${flag%f}
+ mycmakeargs+=(
+ "-DHAVE_NASM_X64_${var^^}:BOOL=$(usex cpu_flags_x86_${flag})"
+ )
+ ;;
+ *) mycmakeargs+=(
+ "-DHAVE_INTEL_${flag^^}:BOOL=$(usex cpu_flags_x86_${flag})"
+ );;
+ esac
+ done
+ fi
+
+ # needed for >=glibc-2.32
+ has_version '>=sys-libs/glibc-2.32' && mycmakeargs+=( -DWITH_REENTRANT_STRSIGNAL:BOOL=ON )
+
+ rm -f "${BUILD_DIR:-${S}}/CMakeCache.txt" \
+ || die "failed to remove cmake cache"
+
+ # hopefully this will not be necessary in the next release
+ use parquet && export ARROW_XSIMD_URL="file:///${DISTDIR}/ceph-xsimd-${PV}.tar.gz"
+
+ cmake_src_configure
+
+ # bug #630232
+ sed -i "s:\"${T//:\\:}/${EPYTHON}/bin/python\":\"${PYTHON}\":" \
+ "${BUILD_DIR:-${S}}"/include/acconfig.h \
+ || die "sed failed"
+}
+
+src_configure() {
+ use custom-cflags || strip-flags
+ ceph_src_configure
+}
+
+src_compile() {
+ cmake_build all
+
+ # we have to do this here to prevent from building everything multiple times
+ python_copy_sources
+ python_foreach_impl python_compile
+}
+
+python_compile() {
+ local CMAKE_USE_DIR="${S}"
+ ceph_src_configure
+
+ cmake_build src/pybind/CMakeFiles/cython_modules
+}
+
+src_install() {
+ python_foreach_impl python_install
+
+ python_setup
+ cmake_src_install
+ python_optimize
+
+ find "${ED}" -name '*.la' -type f -delete || die
+
+ exeinto /usr/$(get_libdir)/ceph
+ newexe "${BUILD_DIR}/bin/init-ceph" init-ceph
+
+ insinto /etc/logrotate.d/
+ newins "${FILESDIR}"/ceph.logrotate-r2 ${PN}
+
+ keepdir /var/lib/${PN}{,/tmp} /var/log/ceph/stat /var/log/ceph/console
+
+ fowners -R ceph:ceph /var/log/ceph
+
+ newinitd "${FILESDIR}/rbdmap.initd-r1" rbdmap
+ newinitd "${FILESDIR}/${PN}.initd-r13" ${PN}
+ newconfd "${FILESDIR}/${PN}.confd-r5" ${PN}
+
+ insinto /etc/sudoers.d
+ doins sudoers.d/*
+
+ insinto /etc/sysctl.d
+ newins "${FILESDIR}"/sysctld 90-${PN}.conf
+
+ use tcmalloc && newenvd "${FILESDIR}"/envd-tcmalloc 99${PN}-tcmalloc
+
+ # units aren't installed by the build system unless systemd is enabled
+ # so no point installing these with the USE flag disabled
+ if use systemd; then
+ systemd_install_serviced "${FILESDIR}/ceph-mds_at.service.conf" "ceph-mds@.service"
+ systemd_install_serviced "${FILESDIR}/ceph-osd_at.service.conf" "ceph-osd@.service"
+ fi
+
+ udev_dorules udev/*.rules
+ newtmpfiles "${FILESDIR}"/ceph-tmpfilesd ${PN}.conf
+
+ readme.gentoo_create_doc
+
+ # bug #630232
+ sed -i -r "s:${T//:/\\:}/${EPYTHON}:/usr:" "${ED}"/usr/bin/ceph{,-crash} \
+ || die "sed failed"
+
+ python_fix_shebang "${ED}"/usr/{,s}bin/
+
+ # python_fix_shebang apparently is not idempotent
+ local shebang_regex='(/usr/lib/python-exec/python[0-9]\.[0-9]/python)[0-9]\.[0-9]'
+ grep -r -E -l --null "${shebang_regex}" "${ED}"/usr/{s,}bin/ \
+ | xargs --null --no-run-if-empty -- sed -i -r "s:${shebang_regex}:\1:" || die
+
+ local -a rados_classes=( "${ED}/usr/$(get_libdir)/rados-classes"/* )
+ dostrip -x "${rados_classes[@]#${ED}}"
+}
+
+python_install() {
+ local CMAKE_USE_DIR="${S}"
+ DESTDIR="${ED}" cmake_build src/pybind/install
+
+ python_optimize
+}
+
+pkg_postinst() {
+ readme.gentoo_print_elog
+ tmpfiles_process ${PN}.conf
+ udev_reload
+}
+
+pkg_postrm() {
+ udev_reload
+}
diff --git a/sys-cluster/ceph/files/ceph-17.2.6-link-boost-context.patch b/sys-cluster/ceph/files/ceph-17.2.6-link-boost-context.patch
new file mode 100644
index 000000000000..24f3fe796aac
--- /dev/null
+++ b/sys-cluster/ceph/files/ceph-17.2.6-link-boost-context.patch
@@ -0,0 +1,13 @@
+diff --git a/src/neorados/CMakeLists.txt b/src/neorados/CMakeLists.txt
+index c66043ac9f9..4b1013d26b7 100644
+--- a/src/neorados/CMakeLists.txt
++++ b/src/neorados/CMakeLists.txt
+@@ -11,7 +11,7 @@ add_library(libneorados STATIC
+ $<TARGET_OBJECTS:neorados_api_obj>
+ $<TARGET_OBJECTS:neorados_objs>)
+ target_link_libraries(libneorados PRIVATE
+- osdc ceph-common cls_lock_client fmt::fmt
++ osdc ceph-common cls_lock_client fmt::fmt Boost::context
+ ${BLKID_LIBRARIES} ${CRYPTO_LIBS} ${EXTRALIBS})
+
+ # if(ENABLE_SHARED)
^ permalink raw reply related [flat|nested] 68+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-cluster/ceph/, sys-cluster/ceph/files/
@ 2023-03-17 18:07 Patrick McLean
0 siblings, 0 replies; 68+ messages in thread
From: Patrick McLean @ 2023-03-17 18:07 UTC (permalink / raw
To: gentoo-commits
commit: dfd010b1e7b61d35f957a37573f8c755695f9200
Author: Patrick McLean <chutzpah <AT> gentoo <DOT> org>
AuthorDate: Fri Mar 17 18:05:44 2023 +0000
Commit: Patrick McLean <chutzpah <AT> gentoo <DOT> org>
CommitDate: Fri Mar 17 18:07:14 2023 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=dfd010b1
sys-cluster/ceph: Attempt to fix bug #901403
I am unable to reproduce this locally, but this *should* fix it.
Closes: https://bugs.gentoo.org/901403
Signed-off-by: Patrick McLean <chutzpah <AT> gentoo.org>
sys-cluster/ceph/ceph-17.2.5-r3.ebuild | 5 ++++-
sys-cluster/ceph/files/ceph-17.2.5-link-boost-context.patch | 10 ++++++++++
2 files changed, 14 insertions(+), 1 deletion(-)
diff --git a/sys-cluster/ceph/ceph-17.2.5-r3.ebuild b/sys-cluster/ceph/ceph-17.2.5-r3.ebuild
index a99834673e30..2221ccb8e94e 100644
--- a/sys-cluster/ceph/ceph-17.2.5-r3.ebuild
+++ b/sys-cluster/ceph/ceph-17.2.5-r3.ebuild
@@ -9,9 +9,10 @@ LUA_COMPAT=( lua5-{3..4} )
inherit check-reqs bash-completion-r1 cmake flag-o-matic lua-single \
python-r1 udev readme.gentoo-r1 toolchain-funcs systemd tmpfiles
+XSIMD_HASH="aeec9c872c8b475dedd7781336710f2dd2666cb2"
SRC_URI="
https://download.ceph.com/tarballs/${P}.tar.gz
- parquet? ( https://github.com/xtensor-stack/xsimd/archive/aeec9c872c8b475dedd7781336710f2dd2666cb2.tar.gz -> ceph-xsimd-${PV}.tar.gz )
+ parquet? ( https://github.com/xtensor-stack/xsimd/archive/${XSIMD_HASH}.tar.gz -> ceph-xsimd-${PV}.tar.gz )
"
KEYWORDS="~amd64 ~arm64"
@@ -221,6 +222,8 @@ PATCHES=(
"${FILESDIR}/ceph-17.2.5-suppress-cmake-warning.patch"
"${FILESDIR}/ceph-17.2.5-gcc13.patch"
"${FILESDIR}/ceph-17.2.5-boost-1.81.patch"
+ # https://bugs.gentoo.org/901403
+ "${FILESDIR}/ceph-17.2.5-link-boost-context.patch"
)
check-reqs_export_vars() {
diff --git a/sys-cluster/ceph/files/ceph-17.2.5-link-boost-context.patch b/sys-cluster/ceph/files/ceph-17.2.5-link-boost-context.patch
new file mode 100644
index 000000000000..9ebc70ecce9e
--- /dev/null
+++ b/sys-cluster/ceph/files/ceph-17.2.5-link-boost-context.patch
@@ -0,0 +1,10 @@
+diff --git a/src/neorados/CMakeLists.txt b/src/neorados/CMakeLists.txt
+index 3c7aee7c6fe..bda666ea95b 100644
+--- a/src/neorados/CMakeLists.txt
++++ b/src/neorados/CMakeLists.txt
+@@ -41,4 +41,4 @@ target_link_libraries(libneorados PRIVATE
+ # install(TARGETS libneorados DESTINATION ${CMAKE_INSTALL_LIBDIR})
+ add_library(neorados_cls_fifo STATIC cls/fifo.cc)
+ target_link_libraries(neorados_cls_fifo PRIVATE
+- libneorados ceph-common fmt::fmt)
++ libneorados ceph-common fmt::fmt Boost::context)
^ permalink raw reply related [flat|nested] 68+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-cluster/ceph/, sys-cluster/ceph/files/
@ 2022-10-28 15:57 Sam James
0 siblings, 0 replies; 68+ messages in thread
From: Sam James @ 2022-10-28 15:57 UTC (permalink / raw
To: gentoo-commits
commit: 76be863aea1a150aa3611453bb3c6740abc4fed4
Author: Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Fri Oct 28 15:51:59 2022 +0000
Commit: Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Fri Oct 28 15:54:15 2022 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=76be863a
sys-cluster/ceph: fix build w/ gcc 13
Closes: https://bugs.gentoo.org/878531
Signed-off-by: Sam James <sam <AT> gentoo.org>
sys-cluster/ceph/ceph-17.2.5.ebuild | 1 +
sys-cluster/ceph/files/ceph-17.2.5-gcc13.patch | 37 ++++++++++++++++++++++++++
2 files changed, 38 insertions(+)
diff --git a/sys-cluster/ceph/ceph-17.2.5.ebuild b/sys-cluster/ceph/ceph-17.2.5.ebuild
index 59cec215e6f8..b743f6636743 100644
--- a/sys-cluster/ceph/ceph-17.2.5.ebuild
+++ b/sys-cluster/ceph/ceph-17.2.5.ebuild
@@ -222,6 +222,7 @@ PATCHES=(
"${FILESDIR}/ceph-17.2.4-cyclic-deps.patch"
# https://bugs.gentoo.org/866165
"${FILESDIR}/ceph-17.2.5-suppress-cmake-warning.patch"
+ "${FILESDIR}/ceph-17.2.5-gcc13.patch"
)
check-reqs_export_vars() {
diff --git a/sys-cluster/ceph/files/ceph-17.2.5-gcc13.patch b/sys-cluster/ceph/files/ceph-17.2.5-gcc13.patch
new file mode 100644
index 000000000000..c23badcc5e09
--- /dev/null
+++ b/sys-cluster/ceph/files/ceph-17.2.5-gcc13.patch
@@ -0,0 +1,37 @@
+https://bugs.gentoo.org/878531
+https://github.com/ceph/ceph/pull/48661
+
+From 74794f9d6f5c6671438085bdba730b504901a7c0 Mon Sep 17 00:00:00 2001
+From: Sam James <sam@gentoo.org>
+Date: Fri, 28 Oct 2022 16:47:38 +0100
+Subject: [PATCH] common: fix build with GCC 13 (missing <cstdint> include)
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+Needed for uint8_t. Only worked by chance before (see
+https://www.gnu.org/software/gcc/gcc-13/porting_to.html).
+
+```
+FAILED: src/CMakeFiles/common-objs.dir/mds/FSMapUser.cc.o
+/usr/bin/x86_64-pc-linux-gnu-g++ -DBOOST_ASIO_DISABLE_THREAD_KEYWORD_EXTENSION -DHAVE_CONFIG_H -D_FILE_OFFSET_BITS=64 -D_FORTIFY_SOURCE=2 -D_GNU_SOURCE -D_REENTRANT -D_THREAD_SAFE -D__CEPH__ -D__STDC_FORMAT_MACROS -D__linux__ -I/var/tmp/portage/sys-cluster/ceph-17.2.5/work/ceph-17.2.5_build/src/include -I/var/tmp/portage/sys-cluster/ceph-17.2.5/work/ceph-17.2.5/src -isystem /var/tmp/portage/sys-cluster/ceph-17.2.5/work/ceph-17.2.5_build/include -isystem /var/tmp/portage/sys-cluster/ceph-17.2.5/work/ceph-17.2.5/src/xxHash -isystem /var/tmp/portage/sys-cluster/ceph-17.2.5/work/ceph-17.2.5/src/rapidjson/include -O2 -march=native -pipe -fPIC -U_FORTIFY_SOURCE -Wall -fno-strict-aliasing -fsigned-char -Wtype-limits -Wignored-qualifiers -Wpointer-arith -Werror=format-security -Winit-self -Wno-unknown-pragmas -Wnon-virtual-dtor -Wno-ignored-qualifiers -ftemplate-depth-1024 -Wpessimizing-move -Wredundant-move -Wstrict-null-sentinel -Woverloaded-virtual -fno-new-ttp-matching -fstack-protec
tor-strong -fdiagnostics-color=auto -fno-builtin-malloc -fno-builtin-calloc -fno-builtin-realloc -fno-builtin-free -std=c++17 -MD -MT src/CMakeFiles/common-objs.dir/mds/FSMapUser.cc.o -MF src/CMakeFiles/common-objs.dir/mds/FSMapUser.cc.o.d -o src/CMakeFiles/common-objs.dir/mds/FSMapUser.cc.o -c /var/tmp/portage/sys-cluster/ceph-17.2.5/work/ceph-17.2.5/src/mds/FSMapUser.cc
+In file included from /var/tmp/portage/sys-cluster/ceph-17.2.5/work/ceph-17.2.5/src/log/SubsystemMap.h:12,
+ from /var/tmp/portage/sys-cluster/ceph-17.2.5/work/ceph-17.2.5/src/common/config.h:23,
+ from /var/tmp/portage/sys-cluster/ceph-17.2.5/work/ceph-17.2.5/src/mds/mdstypes.h:13,
+ from /var/tmp/portage/sys-cluster/ceph-17.2.5/work/ceph-17.2.5/src/mds/FSMapUser.h:21,
+ from /var/tmp/portage/sys-cluster/ceph-17.2.5/work/ceph-17.2.5/src/mds/FSMapUser.cc:1:
+/var/tmp/portage/sys-cluster/ceph-17.2.5/work/ceph-17.2.5/src/common/subsys_types.h:56:23: error: ‘uint8_t’ in namespace ‘std’ does not name a type; did you mean ‘wint_t’?
+```
+
+Bug: https://bugs.gentoo.org/878531
+Signed-off-by: Sam James <sam@gentoo.org>
+--- a/src/common/subsys_types.h
++++ b/src/common/subsys_types.h
+@@ -17,6 +17,7 @@
+
+ #include <algorithm>
+ #include <array>
++#include <cstdint>
+
+ enum ceph_subsys_id_t {
+ ceph_subsys_, // default
^ permalink raw reply related [flat|nested] 68+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-cluster/ceph/, sys-cluster/ceph/files/
@ 2022-10-04 23:42 Patrick McLean
0 siblings, 0 replies; 68+ messages in thread
From: Patrick McLean @ 2022-10-04 23:42 UTC (permalink / raw
To: gentoo-commits
commit: 70f70e210c1d4175688a07f331c7cf2a88169f88
Author: Patrick McLean <chutzpah <AT> gentoo <DOT> org>
AuthorDate: Tue Oct 4 23:42:27 2022 +0000
Commit: Patrick McLean <chutzpah <AT> gentoo <DOT> org>
CommitDate: Tue Oct 4 23:42:27 2022 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=70f70e21
sys-cluster/ceph: add 17.2.4
Signed-off-by: Patrick McLean <chutzpah <AT> gentoo.org>
sys-cluster/ceph/Manifest | 2 +
sys-cluster/ceph/ceph-17.2.4.ebuild | 471 +++++++++++++++++++++
.../ceph/files/ceph-17.2.4-cyclic-deps.patch | 13 +
3 files changed, 486 insertions(+)
diff --git a/sys-cluster/ceph/Manifest b/sys-cluster/ceph/Manifest
index 85706e051c7c..2b750ba706c0 100644
--- a/sys-cluster/ceph/Manifest
+++ b/sys-cluster/ceph/Manifest
@@ -2,4 +2,6 @@ DIST ceph-15.2.17.tar.gz 148640102 BLAKE2B a10dd702ffca005a8741bff645eaf2f671300
DIST ceph-16.2.10.tar.gz 157176743 BLAKE2B 065b6f1941f87fde150ab22ba45aa9f58069acf7f33a483456faf0a26e41936846944e800ccd7f99bd8863db8438ae70804621522f75065c0b2506522c4fdd7d SHA512 ae164c24462c3e08763d202acc3e2fe86ffc09f312b5059bae07863e804fc47bd158fc130aa2923246ffcfe26ae6d6d9317326aec96373226e6f9030d7123c8b
DIST ceph-16.2.9.tar.gz 157168096 BLAKE2B 0a667a9699925cfc920ca0cc535e5331cbcd95997fb0b9816a4d84c8add454b6b17813018bc1d1de07c802167ef50aa528704b10b01f42759189392ccdb5088f SHA512 bf369038ad6383f88abbed267f0239e9d8a1d33b46b34ed260aeeb1fda1b374cb6e658238e1ace013fbbb68e73b8cd2922b7def318d7a110e5f4560eeae8fca3
DIST ceph-17.2.3.tar.gz 168821857 BLAKE2B 21ec5ac33591ae8b22eae3d88680ae87340e639cc21cb9c79bc4fb2f7b6cc7e93aa6b5af0242a6c094a4af9808a2b6f86b6bd7e3c8f247a513c91defa6d4e4a9 SHA512 fd6e057ba8440f69423e870dddb2705d68015089ff8d97356bdc359c2ab41e19351fb1c914330de6ba05180f48e328e3ea4c877e9dd80be049e2ec5895068595
+DIST ceph-17.2.4.tar.gz 169013206 BLAKE2B 05c30a88b05b28845eb18cf89f323673d8a271fbe0011caef1badf26779e932bff610622cc93c4f4436726ade1a71dc6841c47a6a58c9ef2a31b471e52737cfe SHA512 430e916004a697bddda8cb7a83026b6e0e2b2e618e645df48c0580d16d7370d5a40d94b802db5b344faeab7c4e48d65c8ade47d0cbf0eaa0e7ddf399b09a279d
DIST ceph-xsimd-17.2.3.tar.gz 173025 BLAKE2B 54679c24804c195ae55b9f49589e331dde92c6d89aaa20e827539e9a4e0010c7549cdd5cf02a7ebed83f953ab2a6f1d9cc9a98cf45c3dc7758ae4938c9c43713 SHA512 ecc58e7909648aaa22aefbf76ee2c5a2bece4b1b88da9c7eda1b69a46247e619ff99c4366afd6015f95debd68c1a6b89292c677b9049462d0fc0255fbc0c2a33
+DIST ceph-xsimd-17.2.4.tar.gz 173025 BLAKE2B 54679c24804c195ae55b9f49589e331dde92c6d89aaa20e827539e9a4e0010c7549cdd5cf02a7ebed83f953ab2a6f1d9cc9a98cf45c3dc7758ae4938c9c43713 SHA512 ecc58e7909648aaa22aefbf76ee2c5a2bece4b1b88da9c7eda1b69a46247e619ff99c4366afd6015f95debd68c1a6b89292c677b9049462d0fc0255fbc0c2a33
diff --git a/sys-cluster/ceph/ceph-17.2.4.ebuild b/sys-cluster/ceph/ceph-17.2.4.ebuild
new file mode 100644
index 000000000000..a704f275f39d
--- /dev/null
+++ b/sys-cluster/ceph/ceph-17.2.4.ebuild
@@ -0,0 +1,471 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{8..10} )
+LUA_COMPAT=( lua5-{3..4} )
+
+inherit check-reqs bash-completion-r1 cmake flag-o-matic lua-single \
+ python-r1 udev readme.gentoo-r1 toolchain-funcs systemd tmpfiles
+
+SRC_URI="
+ https://download.ceph.com/tarballs/${P}.tar.gz
+ parquet? ( https://github.com/xtensor-stack/xsimd/archive/aeec9c872c8b475dedd7781336710f2dd2666cb2.tar.gz -> ceph-xsimd-${PV}.tar.gz )
+"
+KEYWORDS="~amd64 ~arm64"
+
+DESCRIPTION="Ceph distributed filesystem"
+HOMEPAGE="https://ceph.com/"
+
+LICENSE="Apache-2.0 LGPL-2.1 CC-BY-SA-3.0 GPL-2 GPL-2+ LGPL-2+ LGPL-2.1 LGPL-3 GPL-3 BSD Boost-1.0 MIT public-domain"
+SLOT="0"
+
+CPU_FLAGS_X86=(avx2 avx512f pclmul sse{,2,3,4_1,4_2} ssse3)
+
+IUSE="
+ babeltrace +cephfs custom-cflags diskprediction dpdk fuse grafana
+ jemalloc jaeger kafka kerberos ldap lttng +mgr +parquet pmdk rabbitmq
+ +radosgw rbd-rwl rbd-ssd rdma rgw-lua +ssl spdk +sqlite +system-boost
+ systemd +tcmalloc test +uring xfs zbd zfs
+"
+
+IUSE+="$(printf "cpu_flags_x86_%s\n" ${CPU_FLAGS_X86[@]})"
+
+DEPEND="
+ ${LUA_DEPS}
+ ${PYTHON_DEPS}
+ acct-group/ceph
+ acct-user/ceph
+ virtual/libudev:=
+ app-arch/bzip2:=
+ app-arch/lz4:=
+ app-arch/snappy:=
+ >=app-arch/snappy-1.1.9-r1
+ app-arch/zstd:=
+ app-shells/bash:0
+ app-misc/jq:=
+ dev-libs/crypto++:=
+ dev-cpp/gflags:=
+ dev-lang/jsonnet:=
+ <dev-libs/leveldb-1.23:=[snappy,tcmalloc(-)?]
+ dev-libs/libaio:=
+ >=dev-libs/libfmt-6.2.1:=
+ <dev-libs/libfmt-9:=
+ dev-libs/libnl:3=
+ dev-libs/libxml2:=
+ dev-libs/libevent:=
+ dev-libs/libutf8proc:=
+ dev-libs/nss:=
+ dev-libs/openssl:=
+ <dev-libs/rocksdb-6.15:=
+ dev-libs/thrift:=
+ dev-libs/xmlsec:=[openssl]
+ dev-cpp/yaml-cpp:=
+ dev-python/natsort[${PYTHON_USEDEP}]
+ dev-python/pyyaml[${PYTHON_USEDEP}]
+ net-dns/c-ares:=
+ net-libs/gnutls:=
+ sys-auth/oath-toolkit:=
+ sys-apps/coreutils
+ sys-apps/hwloc:=
+ sys-apps/keyutils:=
+ sys-apps/util-linux:=
+ sys-libs/libcap-ng:=
+ sys-libs/ncurses:0=
+ sys-libs/zlib:=
+ sys-process/numactl:=
+ virtual/libcrypt:=
+ x11-libs/libpciaccess:=
+ babeltrace? ( dev-util/babeltrace )
+ fuse? ( sys-fs/fuse:3= )
+ jemalloc? ( dev-libs/jemalloc:= )
+ !jemalloc? ( >=dev-util/google-perftools-2.6.1:= )
+ jaeger? (
+ dev-cpp/nlohmann_json:=
+ dev-cpp/opentelemetry-cpp:=[jaeger]
+ )
+ kafka? ( dev-libs/librdkafka:= )
+ kerberos? ( virtual/krb5 )
+ ldap? ( net-nds/openldap:= )
+ lttng? ( dev-util/lttng-ust:= )
+ parquet? ( dev-libs/re2:= )
+ pmdk? ( dev-libs/pmdk:= )
+ rabbitmq? ( net-libs/rabbitmq-c:= )
+ radosgw? (
+ dev-libs/icu:=
+ dev-libs/expat:=
+ net-misc/curl:=[curl_ssl_openssl]
+ )
+ rbd-rwl? ( dev-libs/pmdk:= )
+ rdma? ( sys-cluster/rdma-core:= )
+ spdk? ( dev-util/cunit )
+ sqlite? ( dev-db/sqlite:= )
+ system-boost? ( dev-libs/boost:=[context,python,${PYTHON_USEDEP},zlib] )
+ uring? ( sys-libs/liburing:= )
+ xfs? ( sys-fs/xfsprogs:= )
+ zbd? ( sys-block/libzbd:= )
+ zfs? ( sys-fs/zfs:= )
+"
+BDEPEND="
+ amd64? ( dev-lang/nasm )
+ x86? ( dev-lang/yasm )
+ app-arch/cpio
+ >=dev-util/cmake-3.5.0
+ dev-python/cython[${PYTHON_USEDEP}]
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ dev-python/sphinx
+ dev-util/gperf
+ dev-util/ragel
+ dev-util/valgrind
+ sys-apps/coreutils
+ sys-apps/grep
+ sys-apps/sed
+ sys-apps/util-linux
+ sys-apps/which
+ sys-devel/bc
+ sys-devel/patch
+ virtual/pkgconfig
+ jaeger? (
+ sys-devel/bison
+ sys-devel/flex
+ )
+ test? (
+ dev-util/cunit
+ dev-python/coverage[${PYTHON_USEDEP}]
+ dev-python/virtualenv[${PYTHON_USEDEP}]
+ dev-python/requests-mock[${PYTHON_USEDEP}]
+ sys-apps/grep[pcre]
+ sys-fs/btrfs-progs
+ )
+"
+RDEPEND="
+ ${DEPEND}
+ app-admin/sudo
+ net-misc/socat
+ sys-apps/gptfdisk
+ sys-apps/nvme-cli
+ >=sys-apps/smartmontools-7.0
+ sys-block/parted
+ sys-fs/cryptsetup
+ sys-fs/lsscsi
+ sys-fs/lvm2[-device-mapper-only(-)]
+ virtual/awk
+ dev-python/bcrypt[${PYTHON_USEDEP}]
+ dev-python/cherrypy[${PYTHON_USEDEP}]
+ dev-python/python-dateutil[${PYTHON_USEDEP}]
+ dev-python/flask[${PYTHON_USEDEP}]
+ dev-python/jinja[${PYTHON_USEDEP}]
+ dev-python/pecan[${PYTHON_USEDEP}]
+ dev-python/prettytable[${PYTHON_USEDEP}]
+ dev-python/pyopenssl[${PYTHON_USEDEP}]
+ dev-python/requests[${PYTHON_USEDEP}]
+ dev-python/werkzeug[${PYTHON_USEDEP}]
+ mgr? (
+ dev-python/jsonpatch[${PYTHON_USEDEP}]
+ dev-python/more-itertools[${PYTHON_USEDEP}]
+ dev-python/numpy[${PYTHON_USEDEP}]
+ dev-python/pyjwt[${PYTHON_USEDEP}]
+ dev-python/routes[${PYTHON_USEDEP}]
+ diskprediction? (
+ >=dev-python/scipy-1.4.0[${PYTHON_USEDEP}]
+ )
+ sci-libs/scikit-learn[${PYTHON_USEDEP}]
+ dev-python/six[${PYTHON_USEDEP}]
+ )
+"
+# diskprediction needs older scipy not compatible with py38
+# bug #724438
+REQUIRED_USE="
+ ${PYTHON_REQUIRED_USE}
+ ${LUA_REQUIRED_USE}
+ ?? ( jemalloc tcmalloc )
+ diskprediction? ( mgr )
+ kafka? ( radosgw )
+ mgr? ( cephfs )
+ rabbitmq? ( radosgw )
+ rgw-lua? ( radosgw )
+"
+
+RESTRICT="
+ !test? ( test )
+"
+
+# tests need root access, and network access
+RESTRICT+="test"
+
+# false positives unless all USE flags are on
+CMAKE_WARN_UNUSED_CLI=no
+
+PATCHES=(
+ "${FILESDIR}/ceph-12.2.0-use-provided-cpu-flag-values.patch"
+ "${FILESDIR}/ceph-14.2.0-cflags.patch"
+ "${FILESDIR}/ceph-12.2.4-boost-build-none-options.patch"
+ "${FILESDIR}/ceph-16.2.2-cflags.patch"
+ "${FILESDIR}/ceph-17.2.1-no-virtualenvs.patch"
+ "${FILESDIR}/ceph-13.2.2-dont-install-sysvinit-script.patch"
+ "${FILESDIR}/ceph-14.2.0-dpdk-cflags.patch"
+ "${FILESDIR}/ceph-16.2.0-rocksdb-cmake.patch"
+ "${FILESDIR}/ceph-16.2.0-spdk-tinfo.patch"
+ "${FILESDIR}/ceph-16.2.0-jaeger-system-boost.patch"
+ "${FILESDIR}/ceph-16.2.0-liburing.patch"
+ "${FILESDIR}/ceph-17.2.0-cyclic-deps.patch"
+ "${FILESDIR}/ceph-17.2.0-pybind-boost-1.74.patch"
+ "${FILESDIR}/ceph-17.2.0-findre2.patch"
+ "${FILESDIR}/ceph-17.2.0-install-dbstore.patch"
+ "${FILESDIR}/ceph-17.2.0-deprecated-boost.patch"
+ "${FILESDIR}/ceph-17.2.0-system-opentelemetry.patch"
+ "${FILESDIR}/ceph-17.2.0-fuse3.patch"
+ "${FILESDIR}/ceph-17.2.0-osd_class_dir.patch"
+ "${FILESDIR}/ceph-17.2.0-gcc12-header.patch"
+ "${FILESDIR}/ceph-17.2.3-flags.patch"
+ "${FILESDIR}/ceph-17.2.4-cyclic-deps.patch"
+)
+
+check-reqs_export_vars() {
+ CHECKREQS_DISK_BUILD="6G"
+
+ if use system-boost; then
+ CHECKREQS_DISK_USR="350M"
+ else
+ CHECKREQS_DISK_USR="510M"
+ fi
+
+ export CHECKREQS_DISK_BUILD CHECKREQS_DISK_USR
+}
+
+pkg_pretend() {
+ check-reqs_export_vars
+ check-reqs_pkg_pretend
+}
+
+pkg_setup() {
+ python_setup
+ lua_setup
+ check-reqs_export_vars
+ check-reqs_pkg_setup
+}
+
+src_prepare() {
+ cmake_src_prepare
+
+ if use system-boost; then
+ find "${S}" -name '*.cmake' -or -name 'CMakeLists.txt' -print0 \
+ | xargs --null sed -r \
+ -e 's|Boost::|boost_|g' \
+ -e 's|Boost_|boost_|g' \
+ -e 's|[Bb]oost_boost|boost_system|g' \
+ -i || die
+ fi
+
+ if ! use systemd; then
+ find "${S}"/src/ceph-volume/ceph_volume -name '*.py' -print0 \
+ | xargs --null sed \
+ -e '/^from ceph_volume.systemd import systemctl/ d' \
+ -i || die
+ fi
+
+ sed -r -e "s:DESTINATION .+\\):DESTINATION $(get_bashcompdir)\\):" \
+ -i src/bash_completion/CMakeLists.txt || die
+
+ sed -e "s:objdump -p:$(tc-getOBJDUMP) -p:" -i CMakeLists.txt || die
+
+ # force lua version to use selected version
+ local lua_version
+ lua_version=$(ver_cut 1-2 $(lua_get_version))
+ sed "s:find_package(Lua [0-9][.][0-9] REQUIRED):find_package(Lua ${lua_version} EXACT REQUIRED):" \
+ -i src/CMakeLists.txt
+
+ # remove tests that need root access
+ rm src/test/cli/ceph-authtool/cap*.t || die
+}
+
+ceph_src_configure() {
+ local mycmakeargs=(
+ -DWITH_BABELTRACE:BOOL=$(usex babeltrace)
+ -DWITH_BLUESTORE_PMEM:BOOL=$(usex pmdk)
+ -DWITH_CEPHFS:BOOL=$(usex cephfs)
+ -DWITH_CEPHFS_SHELL:BOOL=$(usex cephfs)
+ -DWITH_DPDK:BOOL=$(usex dpdk)
+ -DWITH_SPDK:BOOL=$(usex spdk)
+ -DWITH_FUSE:BOOL=$(usex fuse)
+ -DWITH_LTTNG:BOOL=$(usex lttng)
+ -DWITH_GSSAPI:BOOL=$(usex kerberos)
+ -DWITH_GRAFANA:BOOL=$(usex grafana)
+ -DWITH_MGR:BOOL=$(usex mgr)
+ -DWITH_MGR_DASHBOARD_FRONTEND:BOOL=OFF
+ -DWITH_OPENLDAP:BOOL=$(usex ldap)
+ -DWITH_PYTHON3:STRING=3
+ -DWITH_RADOSGW:BOOL=$(usex radosgw)
+ -DWITH_RADOSGW_AMQP_ENDPOINT:BOOL=$(usex rabbitmq)
+ -DWITH_RADOSGW_KAFKA_ENDPOINT:BOOL=$(usex kafka)
+ -DWITH_RADOSGW_LUA_PACKAGES:BOOL=$(usex rgw-lua "$(usex radosgw)" "NO")
+ -DWITH_RBD_RWL:BOOL=$(usex rbd-rwl)
+ -DWITH_RBD_SSD_CACHE:BOOL=$(usex rbd-ssd)
+ -DWITH_SYSTEMD:BOOL=$(usex systemd)
+ -DWITH_TESTS:BOOL=$(usex test)
+ -DWITH_LIBURING:BOOL=$(usex uring)
+ -DWITH_SYSTEM_LIBURING:BOOL=$(usex uring)
+ -DWITH_LIBCEPHSQLITE:BOOL=$(usex sqlite)
+ -DWITH_XFS:BOOL=$(usex xfs)
+ -DWITH_ZBD:BOOL=$(usex zbd)
+ -DWITH_ZFS:BOOL=$(usex zfs)
+ -DENABLE_SHARED:BOOL=ON
+ -DALLOCATOR:STRING=$(usex tcmalloc 'tcmalloc' "$(usex jemalloc 'jemalloc' 'libc')")
+ -DWITH_SYSTEM_PMDK:BOOL=$(usex pmdk 'YES' "$(usex rbd-rwl '')")
+ -DWITH_SYSTEM_BOOST:BOOL=$(usex system-boost)
+ -DWITH_SYSTEM_ROCKSDB:BOOL=ON
+ -DWITH_SYSTEM_ZSTD:BOOL=ON
+ -DWITH_RDMA:BOOL=$(usex rdma)
+ -DCMAKE_INSTALL_DOCDIR:PATH="${EPREFIX}/usr/share/doc/${PN}-${PVR}"
+ -DCMAKE_INSTALL_SYSCONFDIR:PATH="${EPREFIX}/etc"
+ -Wno-dev
+ )
+
+ # this breaks when re-configuring for python impl
+ if [[ ${EBUILD_PHASE} == configure ]]; then
+ mycmakeargs+=(
+ -DWITH_JAEGER:BOOL=$(usex jaeger)
+ -DWITH_RADOSGW_SELECT_PARQUET:BOOL=$(usex parquet)
+ )
+ else
+ mycmakeargs+=(
+ -DWITH_RADOSGW_SELECT_PARQUET:BOOL=OFF
+ -DWITH_JAEGER:BOOL=OFF
+ # don't want to warn about unused CLI when reconfiguring for python
+ -DCMAKE_WARN_UNUSED_CLI:BOOL=OFF
+ )
+ fi
+
+ # conditionally used cmake args
+ use test && mycmakearts+=( -DWITH_SYSTEM_GTEST:BOOL=$(usex test) )
+ use systemd && mycmakeargs+=( -DSYSTEMD_SYSTEM_UNIT_DIR:PATH=$(systemd_get_systemunitdir) )
+
+ if use amd64 || use x86; then
+ local flag
+ for flag in "${CPU_FLAGS_X86[@]}"; do
+ case "${flag}" in
+ avx*)
+ local var=${flag%f}
+ mycmakeargs+=(
+ "-DHAVE_NASM_X64_${var^^}:BOOL=$(usex cpu_flags_x86_${flag})"
+ )
+ ;;
+ *) mycmakeargs+=(
+ "-DHAVE_INTEL_${flag^^}:BOOL=$(usex cpu_flags_x86_${flag})"
+ );;
+ esac
+ done
+ fi
+
+ # needed for >=glibc-2.32
+ has_version '>=sys-libs/glibc-2.32' && mycmakeargs+=( -DWITH_REENTRANT_STRSIGNAL:BOOL=ON )
+
+ rm -f "${BUILD_DIR:-${S}}/CMakeCache.txt" \
+ || die "failed to remove cmake cache"
+
+ # hopefully this will not be necessary in the next release
+ use parquet && export ARROW_XSIMD_URL="file:///${DISTDIR}/ceph-xsimd-${PV}.tar.gz"
+
+ cmake_src_configure
+
+ # bug #630232
+ sed -i "s:\"${T//:\\:}/${EPYTHON}/bin/python\":\"${PYTHON}\":" \
+ "${BUILD_DIR:-${S}}"/include/acconfig.h \
+ || die "sed failed"
+}
+
+src_configure() {
+ use custom-cflags || strip-flags
+ ceph_src_configure
+}
+
+src_compile() {
+ cmake_build all
+
+ # we have to do this here to prevent from building everything multiple times
+ python_copy_sources
+ python_foreach_impl python_compile
+}
+
+python_compile() {
+ local CMAKE_USE_DIR="${S}"
+ ceph_src_configure
+
+ cmake_build src/pybind/CMakeFiles/cython_modules
+}
+
+src_install() {
+ python_foreach_impl python_install
+
+ python_setup
+ cmake_src_install
+ python_optimize
+
+ find "${ED}" -name '*.la' -type f -delete || die
+
+ exeinto /usr/$(get_libdir)/ceph
+ newexe "${BUILD_DIR}/bin/init-ceph" init-ceph
+
+ insinto /etc/logrotate.d/
+ newins "${FILESDIR}"/ceph.logrotate-r2 ${PN}
+
+ keepdir /var/lib/${PN}{,/tmp} /var/log/${PN}/stat
+
+ fowners -R ceph:ceph /var/log/ceph
+
+ newinitd "${FILESDIR}/rbdmap.initd-r1" rbdmap
+ newinitd "${FILESDIR}/${PN}.initd-r12" ${PN}
+ newconfd "${FILESDIR}/${PN}.confd-r5" ${PN}
+
+ insinto /etc/sudoers.d
+ doins sudoers.d/*
+
+ insinto /etc/sysctl.d
+ newins "${FILESDIR}"/sysctld 90-${PN}.conf
+
+ use tcmalloc && newenvd "${FILESDIR}"/envd-tcmalloc 99${PN}-tcmalloc
+
+ # units aren't installed by the build system unless systemd is enabled
+ # so no point installing these with the USE flag disabled
+ if use systemd; then
+ systemd_install_serviced "${FILESDIR}/ceph-mds_at.service.conf" "ceph-mds@.service"
+ systemd_install_serviced "${FILESDIR}/ceph-osd_at.service.conf" "ceph-osd@.service"
+ fi
+
+ udev_dorules udev/*.rules
+ newtmpfiles "${FILESDIR}"/ceph-tmpfilesd ${PN}.conf
+
+ readme.gentoo_create_doc
+
+ # bug #630232
+ sed -i -r "s:${T//:/\\:}/${EPYTHON}:/usr:" "${ED}"/usr/bin/ceph{,-crash} \
+ || die "sed failed"
+
+ python_fix_shebang "${ED}"/usr/{,s}bin/
+
+ # python_fix_shebang apparently is not idempotent
+ local shebang_regex='(/usr/lib/python-exec/python[0-9]\.[0-9]/python)[0-9]\.[0-9]'
+ grep -r -E -l --null "${shebang_regex}" "${ED}"/usr/{s,}bin/ \
+ | xargs --null --no-run-if-empty -- sed -i -r "s:${shebang_regex}:\1:" || die
+
+ local -a rados_classes=( "${ED}/usr/$(get_libdir)/rados-classes"/* )
+ dostrip -x "${rados_classes[@]#${ED}}"
+}
+
+python_install() {
+ local CMAKE_USE_DIR="${S}"
+ DESTDIR="${ED}" cmake_build src/pybind/install
+
+ python_optimize
+}
+
+pkg_postinst() {
+ readme.gentoo_print_elog
+ tmpfiles_process ${PN}.conf
+ udev_reload
+}
+
+pkg_postrm() {
+ udev_reload
+}
diff --git a/sys-cluster/ceph/files/ceph-17.2.4-cyclic-deps.patch b/sys-cluster/ceph/files/ceph-17.2.4-cyclic-deps.patch
new file mode 100644
index 000000000000..6040906a3f19
--- /dev/null
+++ b/sys-cluster/ceph/files/ceph-17.2.4-cyclic-deps.patch
@@ -0,0 +1,13 @@
+diff --git a/src/rgw/store/dbstore/CMakeLists.txt b/src/rgw/store/dbstore/CMakeLists.txt
+index 1feac6dcee0..586d0dbb961 100644
+--- a/src/rgw/store/dbstore/CMakeLists.txt
++++ b/src/rgw/store/dbstore/CMakeLists.txt
+@@ -16,7 +16,7 @@ set(dbstore_mgr_srcs
+ dbstore_mgr.cc
+ )
+
+-add_library(dbstore_lib ${dbstore_srcs})
++ add_library(dbstore_lib STATIC ${dbstore_srcs})
+ target_include_directories(dbstore_lib PUBLIC "${CMAKE_SOURCE_DIR}/src/fmt/include")
+ target_include_directories(dbstore_lib PUBLIC "${CMAKE_SOURCE_DIR}/src/rgw")
+ set(link_targets spawn)
^ permalink raw reply related [flat|nested] 68+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-cluster/ceph/, sys-cluster/ceph/files/
@ 2022-08-24 17:07 Patrick McLean
0 siblings, 0 replies; 68+ messages in thread
From: Patrick McLean @ 2022-08-24 17:07 UTC (permalink / raw
To: gentoo-commits
commit: c588d0c55a2facb7b98331abf3ccb2439cc34286
Author: Patrick McLean <chutzpah <AT> gentoo <DOT> org>
AuthorDate: Wed Aug 24 17:06:28 2022 +0000
Commit: Patrick McLean <chutzpah <AT> gentoo <DOT> org>
CommitDate: Wed Aug 24 17:06:28 2022 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=c588d0c5
sys-cluster/ceph: Fix CI bugs 866159, 866161, 866163, 866167
Closes: https://bugs.gentoo.org/866159
Closes: https://bugs.gentoo.org/866161
Closes: https://bugs.gentoo.org/866163
Closes: https://bugs.gentoo.org/866167
Signed-off-by: Patrick McLean <chutzpah <AT> gentoo.org>
.../{ceph-17.2.3-r2.ebuild => ceph-17.2.3-r3.ebuild} | 9 +++++++++
sys-cluster/ceph/files/ceph-17.2.3-flags.patch | 19 +++++++++++++++++++
2 files changed, 28 insertions(+)
diff --git a/sys-cluster/ceph/ceph-17.2.3-r2.ebuild b/sys-cluster/ceph/ceph-17.2.3-r3.ebuild
similarity index 98%
rename from sys-cluster/ceph/ceph-17.2.3-r2.ebuild
rename to sys-cluster/ceph/ceph-17.2.3-r3.ebuild
index c31770f38434..a604240f1560 100644
--- a/sys-cluster/ceph/ceph-17.2.3-r2.ebuild
+++ b/sys-cluster/ceph/ceph-17.2.3-r3.ebuild
@@ -219,6 +219,7 @@ PATCHES=(
"${FILESDIR}/ceph-17.2.3-gcc12.patch"
"${FILESDIR}/ceph-17.2.0-gcc12-dout.patch"
"${FILESDIR}/ceph-17.2.0-gcc12-header.patch"
+ "${FILESDIR}/ceph-17.2.3-flags.patch"
)
check-reqs_export_vars() {
@@ -330,6 +331,9 @@ ceph_src_configure() {
else
mycmakeargs+=(
-DWITH_RADOSGW_SELECT_PARQUET:BOOL=OFF
+ -DWITH_JAEGER:BOOL=OFF
+ # don't want to warn about unused CLI when reconfiguring for python
+ -DCMAKE_WARN_UNUSED_CLI:BOOL=OFF
)
fi
@@ -396,6 +400,7 @@ src_install() {
python_setup
cmake_src_install
+ python_optimize
find "${ED}" -name '*.la' -type f -delete || die
@@ -460,3 +465,7 @@ pkg_postinst() {
tmpfiles_process ${PN}.conf
udev_reload
}
+
+pkg_postrm() {
+ udev_reload
+}
diff --git a/sys-cluster/ceph/files/ceph-17.2.3-flags.patch b/sys-cluster/ceph/files/ceph-17.2.3-flags.patch
new file mode 100644
index 000000000000..236ff5441831
--- /dev/null
+++ b/sys-cluster/ceph/files/ceph-17.2.3-flags.patch
@@ -0,0 +1,19 @@
+diff --git a/cmake/modules/Distutils.cmake b/cmake/modules/Distutils.cmake
+index 1916363382f..ae460d84542 100644
+--- a/cmake/modules/Distutils.cmake
++++ b/cmake/modules/Distutils.cmake
+@@ -94,12 +94,12 @@ function(distutils_add_cython_module target name src)
+ COMMAND
+ env
+ CC="${PY_CC}"
+- CFLAGS="${PY_CFLAGS}"
++ CFLAGS="${PY_CFLAGS}"\ ${CMAKE_C_FLAGS}
+ CPPFLAGS="${PY_CPPFLAGS}"
+ CXX="${PY_CXX}"
+ LDSHARED="${PY_LDSHARED}"
+ OPT=\"-DNDEBUG -g -fwrapv -w\"
+- LDFLAGS=-L${CMAKE_LIBRARY_OUTPUT_DIRECTORY}
++ LDFLAGS=-L${CMAKE_LIBRARY_OUTPUT_DIRECTORY}\ ${CMAKE_LINKER_FLAGS}\ ${CMAKE_SHARED_LINKER_FLAGS}
+ CYTHON_BUILD_DIR=${CMAKE_CURRENT_BINARY_DIR}
+ CEPH_LIBDIR=${CMAKE_LIBRARY_OUTPUT_DIRECTORY}
+ ${Python3_EXECUTABLE} ${setup_py}
^ permalink raw reply related [flat|nested] 68+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-cluster/ceph/, sys-cluster/ceph/files/
@ 2022-07-07 18:32 Patrick McLean
0 siblings, 0 replies; 68+ messages in thread
From: Patrick McLean @ 2022-07-07 18:32 UTC (permalink / raw
To: gentoo-commits
commit: acfc1302516c2ca8fa56ad53830037f8f9ed32fe
Author: Patrick McLean <chutzpah <AT> gentoo <DOT> org>
AuthorDate: Thu Jul 7 18:32:47 2022 +0000
Commit: Patrick McLean <chutzpah <AT> gentoo <DOT> org>
CommitDate: Thu Jul 7 18:32:47 2022 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=acfc1302
sys-cluster/ceph: drop 16.2.7, 16.2.7-r1
Signed-off-by: Patrick McLean <chutzpah <AT> gentoo.org>
sys-cluster/ceph/Manifest | 1 -
sys-cluster/ceph/ceph-16.2.7-r1.ebuild | 465 ---------------------
sys-cluster/ceph/ceph-16.2.7.ebuild | 460 --------------------
.../ceph/files/ceph-16.2.7-no-virtualenvs.patch | 74 ----
4 files changed, 1000 deletions(-)
diff --git a/sys-cluster/ceph/Manifest b/sys-cluster/ceph/Manifest
index a49e97b7bd5a..747abc3e2996 100644
--- a/sys-cluster/ceph/Manifest
+++ b/sys-cluster/ceph/Manifest
@@ -1,5 +1,4 @@
DIST ceph-15.2.16.tar.gz 148628915 BLAKE2B 4f624078027c706428eae3eddd5b5479efe3b4442c19a4e6b6cdf8d3839cf56e2863b18249dc3c5079a7e25f60796bfec3202ffd695537587654f5e2f820caaa SHA512 532b8a5073e157fe9ed552b26976faeb64dc29b79a249910c0982134ad5f945d4f57d8bf451adf63487b6d285c6e4bd5c39f0e3fcd449230d6fb3087539f8c3b
-DIST ceph-16.2.7.tar.gz 156621262 BLAKE2B 3c79cb1586e71927df4578fe7f3a13f4ab257a5e145b6bf76d942292cbca7bf32583350373f3d816f6d8f8700ee0f98a14f350c823b0eb89ffd7735acee7de63 SHA512 eab047e646970d444acf1064d98237b8b1677fb16b5e771082d55880f7bc6d8bdb278c2fe514c82ae12c438878d9ecea29139fa6b8d890f9f737138f10fb740c
DIST ceph-16.2.9.tar.gz 157168096 BLAKE2B 0a667a9699925cfc920ca0cc535e5331cbcd95997fb0b9816a4d84c8add454b6b17813018bc1d1de07c802167ef50aa528704b10b01f42759189392ccdb5088f SHA512 bf369038ad6383f88abbed267f0239e9d8a1d33b46b34ed260aeeb1fda1b374cb6e658238e1ace013fbbb68e73b8cd2922b7def318d7a110e5f4560eeae8fca3
DIST ceph-17.2.0.tar.gz 168742006 BLAKE2B 15272da3471722936198f62b5ef7537d29bd944b35ef1552e87cf0f0f400a8be5fd1fa873494eb17ca71df9360d7ffa4fa20a6f1b1ba819520b180770a4e6299 SHA512 70b96e709f153f16069bec8346ea73812d699eaab91a012351d02addb3fd176b84fce32c3dae84fdf91d0ffe49f2bb258410b47caeee81d81a672b4dbd04cc7e
DIST ceph-17.2.1.tar.gz 168819036 BLAKE2B 2d6506f3a43ccbe4a149163c13ab2de72aeba568308ca7c0c59d0ff32316519d27b334451fd8d78af799cabe3b5a8c5b7b19d5da028e52c420ec7fc38efe5aad SHA512 cb88a3feff67ce41c575cb6c0067a32de51fcbf36d8f9f7273cccd54a3413ee890f473e83fcc1429a86b858b05c412fca8b2cfc24871c5adf612e3d224227cf0
diff --git a/sys-cluster/ceph/ceph-16.2.7-r1.ebuild b/sys-cluster/ceph/ceph-16.2.7-r1.ebuild
deleted file mode 100644
index 64fd34329764..000000000000
--- a/sys-cluster/ceph/ceph-16.2.7-r1.ebuild
+++ /dev/null
@@ -1,465 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{8..10} )
-LUA_COMPAT=( lua5-3 )
-
-CMAKE_MAKEFILE_GENERATOR=emake
-
-inherit check-reqs bash-completion-r1 cmake python-r1 flag-o-matic \
- lua-single python-r1 udev readme.gentoo-r1 toolchain-funcs \
- systemd tmpfiles
-
-SRC_URI="https://download.ceph.com/tarballs/${P}.tar.gz"
-KEYWORDS="~amd64 ~arm64 ~ppc64"
-
-DESCRIPTION="Ceph distributed filesystem"
-HOMEPAGE="https://ceph.com/"
-
-LICENSE="Apache-2.0 LGPL-2.1 CC-BY-SA-3.0 GPL-2 GPL-2+ LGPL-2+ LGPL-2.1 LGPL-3 GPL-3 BSD Boost-1.0 MIT public-domain"
-SLOT="0"
-
-CPU_FLAGS_X86=(avx2 avx512f pclmul sse{,2,3,4_1,4_2} ssse3)
-
-IUSE="
- babeltrace +cephfs custom-cflags diskprediction dpdk fuse grafana
- jemalloc jaeger kafka kerberos ldap lttng +mgr numa pmdk rabbitmq
- +radosgw rbd-rwl rbd-ssd rdma rgw-lua +ssl spdk +sqlite +system-boost
- systemd +tcmalloc test uring xfs zbd zfs
-"
-
-IUSE+="$(printf "cpu_flags_x86_%s\n" ${CPU_FLAGS_X86[@]})"
-
-DEPEND="
- ${LUA_DEPS}
- ${PYTHON_DEPS}
- acct-group/ceph
- acct-user/ceph
- virtual/libudev:=
- app-arch/bzip2:=
- app-arch/lz4:=
- app-arch/snappy:=
- || ( >=app-arch/snappy-1.1.9-r1 <app-arch/snappy-1.1.9 )
- app-arch/zstd:=
- app-shells/bash:0
- app-misc/jq:=
- dev-libs/crypto++:=
- dev-cpp/gflags:=
- <dev-libs/leveldb-1.23:=[snappy,tcmalloc(-)?]
- dev-libs/libaio:=
- dev-libs/libfmt:=
- dev-libs/libnl:3=
- dev-libs/libxml2:=
- dev-libs/libevent:=
- dev-libs/openssl:=
- <dev-libs/rocksdb-6.15:=
- dev-libs/xmlsec:=[openssl]
- dev-cpp/yaml-cpp:=
- dev-libs/nss:=
- dev-libs/protobuf:=
- net-dns/c-ares:=
- net-libs/gnutls:=
- sys-auth/oath-toolkit:=
- sys-apps/coreutils
- sys-apps/hwloc:=
- sys-apps/keyutils:=
- sys-apps/util-linux:=
- sys-apps/util-linux
- sys-libs/libcap-ng:=
- sys-libs/ncurses:0=
- sys-libs/zlib:=
- sys-process/numactl:=
- virtual/libcrypt:=
- x11-libs/libpciaccess:=
- babeltrace? ( dev-util/babeltrace )
- fuse? ( sys-fs/fuse:3= )
- jemalloc? ( dev-libs/jemalloc:= )
- !jemalloc? ( >=dev-util/google-perftools-2.6.1:= )
- jaeger? ( dev-cpp/nlohmann_json:= )
- kafka? ( dev-libs/librdkafka:= )
- kerberos? ( virtual/krb5 )
- ldap? ( net-nds/openldap:= )
- lttng? ( dev-util/lttng-ust:= )
- pmdk? ( dev-libs/pmdk:= )
- rabbitmq? ( net-libs/rabbitmq-c:= )
- radosgw? (
- dev-libs/icu:=
- dev-libs/expat:=
- net-misc/curl:=[curl_ssl_openssl]
- )
- rbd-rwl? ( dev-libs/pmdk:= )
- rdma? ( sys-cluster/rdma-core:= )
- spdk? ( dev-util/cunit )
- sqlite? ( dev-db/sqlite:= )
- system-boost? ( >=dev-libs/boost-1.72:=[threads(+),context,python,${PYTHON_USEDEP}] )
- uring? ( sys-libs/liburing:= )
- xfs? ( sys-fs/xfsprogs:= )
- zbd? ( sys-block/libzbd:= )
- zfs? ( sys-fs/zfs:= )
-"
-BDEPEND="
- amd64? ( dev-lang/nasm )
- x86? ( dev-lang/yasm )
- app-arch/cpio
- >=dev-util/cmake-3.5.0
- dev-python/cython[${PYTHON_USEDEP}]
- dev-python/setuptools[${PYTHON_USEDEP}]
- dev-python/sphinx
- dev-util/gperf
- dev-util/ragel
- dev-util/valgrind
- sys-apps/coreutils
- sys-apps/grep
- sys-apps/sed
- sys-apps/util-linux
- sys-apps/which
- sys-devel/bc
- sys-devel/patch
- virtual/pkgconfig
- jaeger? (
- sys-devel/bison
- sys-devel/flex
- )
- test? (
- dev-util/cunit
- dev-python/coverage[${PYTHON_USEDEP}]
- dev-python/virtualenv[${PYTHON_USEDEP}]
- dev-python/requests-mock[${PYTHON_USEDEP}]
- sys-apps/grep[pcre]
- sys-fs/btrfs-progs
- )
-"
-RDEPEND="
- ${DEPEND}
- app-admin/sudo
- net-misc/socat
- sys-apps/gptfdisk
- sys-apps/nvme-cli
- >=sys-apps/smartmontools-7.0
- sys-block/parted
- sys-fs/cryptsetup
- sys-fs/lsscsi
- sys-fs/lvm2[-device-mapper-only(-)]
- virtual/awk
- dev-python/bcrypt[${PYTHON_USEDEP}]
- dev-python/cherrypy[${PYTHON_USEDEP}]
- dev-python/python-dateutil[${PYTHON_USEDEP}]
- dev-python/flask[${PYTHON_USEDEP}]
- dev-python/jinja[${PYTHON_USEDEP}]
- dev-python/pecan[${PYTHON_USEDEP}]
- dev-python/prettytable[${PYTHON_USEDEP}]
- dev-python/pyopenssl[${PYTHON_USEDEP}]
- dev-python/pyyaml[${PYTHON_USEDEP}]
- dev-python/requests[${PYTHON_USEDEP}]
- dev-python/werkzeug[${PYTHON_USEDEP}]
- mgr? (
- dev-python/jsonpatch[${PYTHON_USEDEP}]
- dev-python/more-itertools[${PYTHON_USEDEP}]
- dev-python/numpy[${PYTHON_USEDEP}]
- dev-python/pyjwt[${PYTHON_USEDEP}]
- dev-python/routes[${PYTHON_USEDEP}]
- diskprediction? (
- >=dev-python/scipy-1.4.0[${PYTHON_USEDEP}]
- )
- sci-libs/scikit-learn[${PYTHON_USEDEP}]
- dev-python/six[${PYTHON_USEDEP}]
- )
-"
-# diskprediction needs older scipy not compatible with py38
-# bug #724438
-REQUIRED_USE="
- ${PYTHON_REQUIRED_USE}
- ${LUA_REQUIRED_USE}
- ?? ( jemalloc tcmalloc )
- jaeger? ( !system-boost )
- diskprediction? ( mgr )
- kafka? ( radosgw )
- mgr? ( cephfs )
- rabbitmq? ( radosgw )
-"
-
-RESTRICT="
- !test? ( test )
-"
-
-# tests need root access, and network access
-RESTRICT+="test"
-
-# create a non-debug release
-CMAKE_BUILD_TYPE=RelWithDebInfo
-
-# false positives unless all USE flags are on
-CMAKE_WARN_UNUSED_CLI=no
-
-PATCHES=(
- "${FILESDIR}/ceph-12.2.0-use-provided-cpu-flag-values.patch"
- "${FILESDIR}/ceph-14.2.0-cflags.patch"
- "${FILESDIR}/ceph-12.2.4-boost-build-none-options.patch"
- "${FILESDIR}/ceph-16.2.2-cflags.patch"
- "${FILESDIR}/ceph-16.2.7-no-virtualenvs.patch"
- "${FILESDIR}/ceph-13.2.2-dont-install-sysvinit-script.patch"
- "${FILESDIR}/ceph-14.2.0-dpdk-cflags.patch"
- "${FILESDIR}/ceph-14.2.0-cython-0.29.patch"
- "${FILESDIR}/ceph-16.2.0-rocksdb-cmake.patch"
- "${FILESDIR}/ceph-15.2.3-spdk-compile.patch"
- "${FILESDIR}/ceph-16.2.0-spdk-tinfo.patch"
- "${FILESDIR}/ceph-16.2.0-jaeger-system-boost.patch"
- "${FILESDIR}/ceph-16.2.0-liburing.patch"
- "${FILESDIR}/ceph-16.2.2-system-zstd.patch"
- "${FILESDIR}/ceph-16.2.7-string-includes.patch"
- "${FILESDIR}/ceph-17.2.0-fuse3.patch"
-)
-
-check-reqs_export_vars() {
- CHECKREQS_DISK_BUILD="6G"
-
- if use system-boost; then
- CHECKREQS_DISK_USR="350M"
- else
- CHECKREQS_DISK_USR="510M"
- fi
-
- export CHECKREQS_DISK_BUILD CHECKREQS_DISK_USR
-}
-
-pkg_pretend() {
- check-reqs_export_vars
- check-reqs_pkg_pretend
-}
-
-pkg_setup() {
- python_setup
- lua_setup
- check-reqs_export_vars
- check-reqs_pkg_setup
-}
-
-src_prepare() {
- cmake_src_prepare
-
- if use system-boost; then
- find "${S}" -name '*.cmake' -or -name 'CMakeLists.txt' -print0 \
- | xargs --null sed -r \
- -e 's|Boost::|boost_|g' \
- -e 's|Boost_|boost_|g' \
- -e 's|[Bb]oost_boost|boost_system|g' \
- -i || die
- fi
-
- if ! use systemd; then
- find "${S}"/src/ceph-volume/ceph_volume -name '*.py' -print0 \
- | xargs --null sed \
- -e '/^from ceph_volume.systemd import systemctl/ d' \
- -i || die
- fi
-
- sed -r -e "s:DESTINATION .+\\):DESTINATION $(get_bashcompdir)\\):" \
- -i src/bash_completion/CMakeLists.txt || die
-
- sed -e "s:objdump -p:$(tc-getOBJDUMP) -p:" -i CMakeLists.txt || die
-
- if ! use diskprediction; then
- rm -rf src/pybind/mgr/diskprediction_local || die
- fi
-
- # force lua version to use selected version
- local lua_version
- lua_version=$(ver_cut 1-2 $(lua_get_version))
- sed "s:find_package(Lua [0-9][.][0-9] REQUIRED):find_package(Lua ${lua_version} EXACT REQUIRED):" \
- -i src/CMakeLists.txt
-
- # remove tests that need root access
- rm src/test/cli/ceph-authtool/cap*.t || die
-}
-
-ceph_src_configure() {
- local mycmakeargs=(
- -DWITH_BABELTRACE:BOOL=$(usex babeltrace)
- -DWITH_BLUESTORE_PMEM:BOOL=$(usex pmdk)
- -DWITH_CEPHFS:BOOL=$(usex cephfs)
- -DWITH_CEPHFS_SHELL:BOOL=$(usex cephfs)
- -DWITH_DPDK:BOOL=$(usex dpdk)
- -DWITH_SPDK:BOOL=$(usex spdk)
- -DWITH_FUSE:BOOL=$(usex fuse)
- -DWITH_LTTNG:BOOL=$(usex lttng)
- -DWITH_GSSAPI:BOOL=$(usex kerberos)
- -DWITH_GRAFANA:BOOL=$(usex grafana)
- -DWITH_MGR:BOOL=$(usex mgr)
- -DWITH_MGR_DASHBOARD_FRONTEND:BOOL=OFF
- -DWITH_OPENLDAP:BOOL=$(usex ldap)
- -DWITH_PYTHON3:STRING=3
- -DWITH_RADOSGW:BOOL=$(usex radosgw)
- -DWITH_RADOSGW_AMQP_ENDPOINT:BOOL=$(usex rabbitmq)
- -DWITH_RADOSGW_KAFKA_ENDPOINT:BOOL=$(usex kafka)
- -DWITH_RADOSGW_LUA_PACKAGES:BOOL=$(usex rgw-lua "$(usex radosgw)" "NO")
- -DWITH_RBD_RWL:BOOL=$(usex rbd-rwl)
- -DWITH_RBD_SSD_CACHE:BOOL=$(usex rbd-ssd)
- -DWITH_SYSTEMD:BOOL=$(usex systemd)
- -DWITH_TESTS:BOOL=$(usex test)
- -DWITH_LIBURING:BOOL=$(usex uring)
- -DWITH_SYSTEM_LIBURING:BOOL=$(usex uring)
- -DWITH_LIBCEPHSQLITE:BOOL=$(usex sqlite)
- -DWITH_XFS:BOOL=$(usex xfs)
- -DWITH_ZBD:BOOL=$(usex zbd)
- -DWITH_ZFS:BOOL=$(usex zfs)
- -DENABLE_SHARED:BOOL=ON
- -DALLOCATOR:STRING=$(usex tcmalloc 'tcmalloc' "$(usex jemalloc 'jemalloc' 'libc')")
- -DWITH_SYSTEM_PMDK:BOOL=$(usex pmdk 'YES' "$(usex rbd-rwl)")
- -DWITH_SYSTEM_BOOST:BOOL=$(usex system-boost)
- -DWITH_SYSTEM_ROCKSDB:BOOL=ON
- -DWITH_RDMA:BOOL=$(usex rdma)
- -DCMAKE_INSTALL_DOCDIR:PATH="${EPREFIX}/usr/share/doc/${PN}-${PVR}"
- -DCMAKE_INSTALL_SYSCONFDIR:PATH="${EPREFIX}/etc"
- -Wno-dev
- )
-
- # this breaks when re-configuring for python impl
- if [[ ${EBUILD_PHASE} == configure ]]; then
- mycmakeargs+=(
- -DWITH_JAEGER:BOOL=$(usex jaeger)
- )
- else
- mycmakeargs+=(
- -DWITH_RADOSGW_SELECT_PARQUET:BOOL=OFF
- )
- fi
-
- # conditionally used cmake args
- use test && mycmakearts+=( -DWITH_SYSTEM_GTEST:BOOL=$(usex test) )
- use systemd && mycmakeargs+=( -DCMAKE_INSTALL_SYSTEMD_SERVICEDIR:PATH=$(systemd_get_systemunitdir) )
-
- if use amd64 || use x86; then
- local flag
- for flag in "${CPU_FLAGS_X86[@]}"; do
- case "${flag}" in
- avx*)
- local var=${flag%f}
- mycmakeargs+=(
- "-DHAVE_NASM_X64_${var^^}:BOOL=$(usex cpu_flags_x86_${flag})"
- )
- ;;
- *) mycmakeargs+=(
- "-DHAVE_INTEL_${flag^^}:BOOL=$(usex cpu_flags_x86_${flag})"
- );;
- esac
- done
- fi
-
- # needed for >=glibc-2.32
- has_version '>=sys-libs/glibc-2.32' && mycmakeargs+=( -DWITH_REENTRANT_STRSIGNAL:BOOL=ON )
-
- rm -f "${BUILD_DIR:-${S}}/CMakeCache.txt" \
- || die "failed to remove cmake cache"
-
- cmake_src_configure
-
- # bug #630232
- sed -i "s:\"${T//:\\:}/${EPYTHON}/bin/python\":\"${PYTHON}\":" \
- "${BUILD_DIR:-${S}}"/include/acconfig.h \
- || die "sed failed"
-}
-
-src_configure() {
- use custom-cflags || strip-flags
- ceph_src_configure
-}
-
-src_compile() {
- cmake_build VERBOSE=1 all
-
- # we have to do this here to prevent from building everything multiple times
- python_copy_sources
- python_foreach_impl python_compile
-}
-
-python_compile() {
- local CMAKE_USE_DIR="${S}"
- ceph_src_configure
-
- pushd "${BUILD_DIR}/src/pybind" >/dev/null || die
- emake VERBOSE=1 clean
- emake VERBOSE=1 all
-
- # python modules are only compiled with "make install" so we need to do this to
- # prevent doing a bunch of compilation in src_install
- DESTDIR="${T}" emake VERBOSE=1 install
- popd >/dev/null || die
-}
-
-src_test() {
- make check || die "make check failed"
-}
-
-src_install() {
- python_foreach_impl python_install
-
- python_setup
- cmake_src_install
-
- find "${ED}" -name '*.la' -type f -delete || die
-
- exeinto /usr/$(get_libdir)/ceph
- newexe "${BUILD_DIR}/bin/init-ceph" init-ceph
-
- insinto /etc/logrotate.d/
- newins "${FILESDIR}"/ceph.logrotate-r2 ${PN}
-
- keepdir /var/lib/${PN}{,/tmp} /var/log/${PN}/stat
-
- fowners -R ceph:ceph /var/log/ceph
-
- newinitd "${FILESDIR}/rbdmap.initd-r1" rbdmap
- newinitd "${FILESDIR}/${PN}.initd-r12" ${PN}
- newconfd "${FILESDIR}/${PN}.confd-r5" ${PN}
-
- insinto /etc/sudoers.d
- doins sudoers.d/*
-
- insinto /etc/sysctl.d
- newins "${FILESDIR}"/sysctld 90-${PN}.conf
-
- use tcmalloc && newenvd "${FILESDIR}"/envd-tcmalloc 99${PN}-tcmalloc
-
- # units aren't installed by the build system unless systemd is enabled
- # so no point installing these with the USE flag disabled
- if use systemd; then
- systemd_install_serviced "${FILESDIR}/ceph-mds_at.service.conf" "ceph-mds@.service"
- systemd_install_serviced "${FILESDIR}/ceph-osd_at.service.conf" "ceph-osd@.service"
- fi
-
- udev_dorules udev/*.rules
- newtmpfiles "${FILESDIR}"/ceph-tmpfilesd ${PN}.conf
-
- readme.gentoo_create_doc
-
- # bug #630232
- sed -i -r "s:${T//:/\\:}/${EPYTHON}:/usr:" "${ED}"/usr/bin/ceph{,-crash} \
- || die "sed failed"
-
- python_fix_shebang "${ED}"/usr/{,s}bin/
-
- # python_fix_shebang apparently is not idempotent
- local shebang_regex='(/usr/lib/python-exec/python[0-9]\.[0-9]/python)[0-9]\.[0-9]'
- grep -r -E -l --null "${shebang_regex}" "${ED}"/usr/{s,}bin/ \
- | xargs --null --no-run-if-empty -- sed -i -r "s:${shebang_regex}:\1:" || die
-
- local -a rados_classes=( "${ED}/usr/$(get_libdir)/rados-classes"/* )
- dostrip -x "${rados_classes[@]#${ED}}"
-}
-
-python_install() {
- local CMAKE_USE_DIR="${S}"
- pushd "${BUILD_DIR}/src/pybind" >/dev/null || die
- DESTDIR="${ED}" emake VERBOSE=1 install
- popd >/dev/null || die
-
- python_optimize
-}
-
-pkg_postinst() {
- readme.gentoo_print_elog
- tmpfiles_process ${PN}.conf
- udev_reload
-}
diff --git a/sys-cluster/ceph/ceph-16.2.7.ebuild b/sys-cluster/ceph/ceph-16.2.7.ebuild
deleted file mode 100644
index 7a95b9398834..000000000000
--- a/sys-cluster/ceph/ceph-16.2.7.ebuild
+++ /dev/null
@@ -1,460 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{7..10} )
-DISTUTILS_OPTIONAL=1
-LUA_COMPAT=( lua5-3 )
-
-CMAKE_MAKEFILE_GENERATOR=emake
-
-inherit check-reqs bash-completion-r1 cmake distutils-r1 flag-o-matic \
- lua-single python-r1 udev readme.gentoo-r1 toolchain-funcs \
- systemd tmpfiles multiprocessing
-
-if [[ ${PV} == *9999* ]]; then
- inherit git-r3
- EGIT_REPO_URI="https://github.com/ceph/ceph.git"
- SRC_URI=""
-else
- SRC_URI="https://download.ceph.com/tarballs/${P}.tar.gz"
- KEYWORDS="amd64 ~arm64 ~ppc64"
-fi
-
-DESCRIPTION="Ceph distributed filesystem"
-HOMEPAGE="https://ceph.com/"
-
-LICENSE="Apache-2.0 LGPL-2.1 CC-BY-SA-3.0 GPL-2 GPL-2+ LGPL-2+ LGPL-2.1 LGPL-3 GPL-3 BSD Boost-1.0 MIT public-domain"
-SLOT="0"
-
-CPU_FLAGS_X86=(avx2 avx512f pclmul sse{,2,3,4_1,4_2} ssse3)
-
-IUSE="babeltrace +cephfs custom-cflags diskprediction dpdk fuse grafana
- jemalloc jaeger kafka kerberos ldap lttng +mgr numa pmdk rabbitmq
- +radosgw rbd-rwl rbd-ssd rgw-lua +ssl spdk +sqlite +system-boost systemd
- +tcmalloc test uring xfs zbd zfs"
-IUSE+=" $(printf "cpu_flags_x86_%s\n" ${CPU_FLAGS_X86[@]})"
-
-DEPEND="
- ${LUA_DEPS}
- acct-group/ceph
- acct-user/ceph
- virtual/libudev:=
- app-arch/bzip2:=
- app-arch/lz4:=
- app-arch/snappy
- || ( >=app-arch/snappy-1.1.9-r1 <app-arch/snappy-1.1.9 )
- app-arch/zstd:=
- app-shells/bash:0
- app-misc/jq:=
- dev-libs/crypto++:=
- dev-cpp/gflags:=
- <dev-libs/leveldb-1.23:=[snappy,tcmalloc(-)?]
- dev-libs/libaio:=
- dev-libs/libfmt:=
- dev-libs/libnl:3=
- dev-libs/libxml2:=
- dev-libs/libevent:=
- <dev-libs/rocksdb-6.15:=
- dev-libs/xmlsec:=[openssl]
- dev-cpp/yaml-cpp:=
- dev-libs/nss:=
- dev-libs/protobuf:=
- net-dns/c-ares:=
- net-libs/gnutls:=
- sys-auth/oath-toolkit:=
- sys-apps/coreutils
- sys-apps/grep
- sys-apps/hwloc:=
- sys-apps/keyutils:=
- sys-apps/util-linux:=
- sys-apps/sed
- sys-apps/util-linux
- sys-libs/libcap-ng:=
- sys-libs/ncurses:0=
- sys-libs/zlib:=
- sys-process/numactl:=
- virtual/libcrypt:=
- x11-libs/libpciaccess:=
- babeltrace? ( dev-util/babeltrace )
- fuse? ( sys-fs/fuse:0= )
- jemalloc? ( dev-libs/jemalloc:= )
- !jemalloc? ( >=dev-util/google-perftools-2.6.1:= )
- jaeger? ( dev-cpp/nlohmann_json:= )
- kafka? ( dev-libs/librdkafka:= )
- kerberos? ( virtual/krb5 )
- ldap? ( net-nds/openldap:= )
- lttng? ( dev-util/lttng-ust:= )
- pmdk? ( dev-libs/pmdk:= )
- rabbitmq? ( net-libs/rabbitmq-c:= )
- radosgw? (
- dev-libs/icu:=
- dev-libs/expat:=
- dev-libs/openssl:=
- net-misc/curl:=[curl_ssl_openssl]
- )
- rbd-rwl? ( dev-libs/pmdk:= )
- ssl? ( dev-libs/openssl:= )
- sqlite? ( dev-db/sqlite:= )
- system-boost? ( >=dev-libs/boost-1.72:=[threads(+),context,python,${PYTHON_USEDEP}] )
- uring? ( sys-libs/liburing:= )
- xfs? ( sys-fs/xfsprogs:= )
- zbd? ( sys-block/libzbd:= )
- zfs? ( sys-fs/zfs:= )
- ${PYTHON_DEPS}
-"
-BDEPEND="
- amd64? ( dev-lang/nasm )
- x86? ( dev-lang/yasm )
- app-arch/cpio
- >=dev-util/cmake-3.5.0
- dev-python/cython[${PYTHON_USEDEP}]
- dev-python/setuptools[${PYTHON_USEDEP}]
- dev-python/sphinx
- dev-util/cunit
- dev-util/gperf
- dev-util/ragel
- dev-util/valgrind
- sys-apps/coreutils
- sys-apps/grep
- sys-apps/sed
- sys-apps/which
- sys-devel/bc
- sys-devel/patch
- virtual/pkgconfig
- jaeger? (
- sys-devel/bison
- sys-devel/flex
- )
- test? (
- dev-python/coverage[${PYTHON_USEDEP}]
- dev-python/virtualenv[${PYTHON_USEDEP}]
- dev-python/requests-mock[${PYTHON_USEDEP}]
- sys-apps/grep[pcre]
- sys-fs/btrfs-progs
- )
-"
-RDEPEND="
- ${DEPEND}
- app-admin/sudo
- net-misc/socat
- sys-apps/gptfdisk
- sys-apps/nvme-cli
- >=sys-apps/smartmontools-7.0
- sys-block/parted
- sys-fs/cryptsetup
- sys-fs/lsscsi
- sys-fs/lvm2[-device-mapper-only(-)]
- virtual/awk
- dev-python/bcrypt[${PYTHON_USEDEP}]
- dev-python/cherrypy[${PYTHON_USEDEP}]
- dev-python/python-dateutil[${PYTHON_USEDEP}]
- dev-python/flask[${PYTHON_USEDEP}]
- dev-python/jinja[${PYTHON_USEDEP}]
- dev-python/pecan[${PYTHON_USEDEP}]
- dev-python/prettytable[${PYTHON_USEDEP}]
- dev-python/pyopenssl[${PYTHON_USEDEP}]
- dev-python/pyyaml[${PYTHON_USEDEP}]
- dev-python/requests[${PYTHON_USEDEP}]
- dev-python/werkzeug[${PYTHON_USEDEP}]
- mgr? (
- dev-python/jsonpatch[${PYTHON_USEDEP}]
- dev-python/more-itertools[${PYTHON_USEDEP}]
- dev-python/numpy[${PYTHON_USEDEP}]
- dev-python/pyjwt[${PYTHON_USEDEP}]
- dev-python/routes[${PYTHON_USEDEP}]
- diskprediction? (
- >=dev-python/scipy-1.4.0[${PYTHON_USEDEP}]
- )
- sci-libs/scikit-learn[${PYTHON_USEDEP}]
- dev-python/six[${PYTHON_USEDEP}]
- )
-"
-# diskprediction needs older scipy not compatible with py38
-# bug #724438
-REQUIRED_USE="
- ${PYTHON_REQUIRED_USE}
- ${LUA_REQUIRED_USE}
- ?? ( jemalloc tcmalloc )
- jaeger? ( !system-boost )
- diskprediction? ( mgr )
- kafka? ( radosgw )
- mgr? ( cephfs )
- rabbitmq? ( radosgw )
-"
-RESTRICT="!test? ( test )"
-
-# the tests need root access
-RESTRICT="test? ( userpriv )"
-
-# distribution tarball does not include everything needed for tests
-RESTRICT+=" test"
-
-# create a non-debug release
-CMAKE_BUILD_TYPE=RelWithDebInfo
-
-# false positives unless all USE flags are on
-CMAKE_WARN_UNUSED_CLI=no
-
-PATCHES=(
- "${FILESDIR}/ceph-12.2.0-use-provided-cpu-flag-values.patch"
- "${FILESDIR}/ceph-14.2.0-cflags.patch"
- "${FILESDIR}/ceph-12.2.4-boost-build-none-options.patch"
- "${FILESDIR}/ceph-16.2.2-cflags.patch"
- "${FILESDIR}/ceph-16.2.7-no-virtualenvs.patch"
- "${FILESDIR}/ceph-13.2.2-dont-install-sysvinit-script.patch"
- "${FILESDIR}/ceph-14.2.0-dpdk-cflags.patch"
- "${FILESDIR}/ceph-14.2.0-cython-0.29.patch"
- "${FILESDIR}/ceph-16.2.0-rocksdb-cmake.patch"
- "${FILESDIR}/ceph-15.2.3-spdk-compile.patch"
- "${FILESDIR}/ceph-16.2.0-spdk-tinfo.patch"
- "${FILESDIR}/ceph-16.2.0-jaeger-system-boost.patch"
- "${FILESDIR}/ceph-16.2.0-liburing.patch"
- "${FILESDIR}/ceph-16.2.2-system-zstd.patch"
- "${FILESDIR}/ceph-16.2.7-string-includes.patch"
-)
-
-check-reqs_export_vars() {
- CHECKREQS_DISK_BUILD="6G"
-
- if use system-boost; then
- CHECKREQS_DISK_USR="350M"
- else
- CHECKREQS_DISK_USR="510M"
- fi
-
- export CHECKREQS_DISK_BUILD CHECKREQS_DISK_USR
-}
-
-pkg_pretend() {
- check-reqs_export_vars
- check-reqs_pkg_pretend
-}
-
-pkg_setup() {
- python_setup
- lua_setup
- check-reqs_export_vars
- check-reqs_pkg_setup
-}
-
-src_prepare() {
- cmake_src_prepare
-
- if use system-boost; then
- find "${S}" -name '*.cmake' -or -name 'CMakeLists.txt' -print0 \
- | xargs --null sed -r \
- -e 's|Boost::|boost_|g' \
- -e 's|Boost_|boost_|g' \
- -e 's|[Bb]oost_boost|boost_system|g' -i || die
- fi
-
- if ! use systemd; then
- find "${S}"/src/ceph-volume/ceph_volume -name '*.py' -print0 \
- | xargs --null sed \
- -e '/^from ceph_volume.systemd import systemctl/ d' \
- -i || die
- fi
-
- sed -r -e "s:DESTINATION .+\\):DESTINATION $(get_bashcompdir)\\):" \
- -i src/bash_completion/CMakeLists.txt || die
-
- sed -e "s:objdump -p:$(tc-getOBJDUMP) -p:" -i CMakeLists.txt || die
-
- if ! use diskprediction; then
- rm -rf src/pybind/mgr/diskprediction_local || die
- fi
-
- # force lua version to use selected version
- local lua_version
- lua_version=$(ver_cut 1-2 $(lua_get_version))
- sed -i "s:find_package(Lua [0-9][.][0-9] REQUIRED):find_package(Lua ${lua_version} EXACT REQUIRED):" src/CMakeLists.txt
-
- # remove tests that need root access
- rm src/test/cli/ceph-authtool/cap*.t || die
-}
-
-ceph_src_configure() {
- local flag
- local mycmakeargs=(
- -DWITH_BABELTRACE=$(usex babeltrace)
- -DWITH_BLUESTORE_PMEM=$(usex pmdk)
- -DWITH_CEPHFS=$(usex cephfs)
- -DWITH_CEPHFS_SHELL=$(usex cephfs)
- -DWITH_DPDK=$(usex dpdk)
- -DWITH_SPDK=$(usex spdk)
- -DWITH_FUSE=$(usex fuse)
- -DWITH_LTTNG=$(usex lttng)
- -DWITH_GSSAPI=$(usex kerberos)
- -DWITH_GRAFANA=$(usex grafana)
- -DWITH_MGR=$(usex mgr)
- -DWITH_MGR_DASHBOARD_FRONTEND=OFF
- -DWITH_NUMA=$(usex numa)
- -DWITH_OPENLDAP=$(usex ldap)
- -DWITH_PYTHON3=3
- -DWITH_RADOSGW=$(usex radosgw)
- -DWITH_RADOSGW_AMQP_ENDPOINT=$(usex rabbitmq)
- -DWITH_RADOSGW_KAFKA_ENDPOINT=$(usex kafka)
- -DWITH_RADOSGW_LUA_PACKAGES=$(usex rgw-lua "$(usex radosgw)" "NO")
- -DWITH_RBD_RWL=$(usex rbd-rwl)
- -DWITH_RBD_SSD_CACHE=$(usex rbd-ssd)
- -DWITH_SSL=$(usex ssl)
- -DWITH_SYSTEMD=$(usex systemd)
- -DWITH_TESTS=$(usex test)
- -DWITH_LIBURING=$(usex uring)
- -DWITH_SYSTEM_LIBURING=$(usex uring)
- -DWITH_LIBCEPHSQLITE=$(usex sqlite)
- -DWITH_XFS=$(usex xfs)
- -DWITH_ZBD=$(usex zbd)
- -DWITH_ZFS=$(usex zfs)
- -DENABLE_SHARED="ON"
- -DALLOCATOR=$(usex tcmalloc 'tcmalloc' "$(usex jemalloc 'jemalloc' 'libc')")
- -DWITH_SYSTEM_PMDK=$(usex pmdk 'YES' "$(usex rbd-rwl)")
- -DWITH_SYSTEM_BOOST=$(usex system-boost)
- -DBOOST_J=$(makeopts_jobs)
- -DWITH_SYSTEM_ROCKSDB=ON
- -DWITH_RDMA=OFF
- -DWITH_TBB=OFF
- -DSYSTEMD_UNITDIR=$(systemd_get_systemunitdir)
- -DCMAKE_INSTALL_SYSTEMD_SERVICEDIR=$(systemd_get_systemunitdir)
- -DEPYTHON_VERSION="${EPYTHON#python}"
- -DCMAKE_INSTALL_DOCDIR="${EPREFIX}/usr/share/doc/${PN}-${PVR}"
- -DCMAKE_INSTALL_SYSCONFDIR="${EPREFIX}/etc"
- -Wno-dev
- )
-
- # this breaks when re-configuring for python impl
- [[ ${EBUILD_PHASE} == configure ]] && mycmakeargs+=(-DWITH_JAEGER=$(usex jaeger))
-
- if use amd64 || use x86; then
- for flag in ${CPU_FLAGS_X86[@]}; do
- case "${flag}" in
- avx*)
- local var=${flag%f}
- mycmakeargs+=("$(usex cpu_flags_x86_${flag} "-DHAVE_NASM_X64_${var^^}=1")")
- ;;
- *) mycmakeargs+=("$(usex cpu_flags_x86_${flag} "-DHAVE_INTEL_${flag^^}=1")");;
- esac
- done
- fi
-
- # needed for >=glibc-2.32
- has_version '>=sys-libs/glibc-2.32' && mycmakeargs+=(-DWITH_REENTRANT_STRSIGNAL:BOOL=ON)
-
- rm -f "${BUILD_DIR:-${S}}/CMakeCache.txt" \
- || die "failed to remove cmake cache"
-
- cmake_src_configure
-
- # bug #630232
- sed -i "s:\"${T//:\\:}/${EPYTHON}/bin/python\":\"${PYTHON}\":" \
- "${BUILD_DIR:-${S}}"/include/acconfig.h \
- || die "sed failed"
-}
-
-src_configure() {
- use custom-cflags || strip-flags
- ceph_src_configure
-}
-
-python_compile() {
- local CMAKE_USE_DIR="${S}"
- ceph_src_configure
-
- pushd "${BUILD_DIR}/src/pybind" >/dev/null || die
- emake VERBOSE=1 clean
- emake VERBOSE=1 all
-
- # python modules are only compiled with "make install" so we need to do this to
- # prevent doing a bunch of compilation in src_install
- DESTDIR="${T}" emake VERBOSE=1 install
- popd >/dev/null || die
-}
-
-src_compile() {
- cmake_build VERBOSE=1 all
-
- # we have to do this here to prevent from building everything multiple times
- python_copy_sources
- python_foreach_impl python_compile
-}
-
-src_test() {
- make check || die "make check failed"
-}
-
-python_install() {
- local CMAKE_USE_DIR="${S}"
- pushd "${BUILD_DIR}/src/pybind" >/dev/null || die
- DESTDIR="${ED}" emake VERBOSE=1 install
- popd >/dev/null || die
-
- python_optimize
-}
-
-src_install() {
- cmake_src_install
- python_foreach_impl python_install
-
- find "${ED}" -name '*.la' -type f -delete || die
-
- exeinto /usr/$(get_libdir)/ceph
- newexe "${BUILD_DIR}/bin/init-ceph" init-ceph
-
- insinto /etc/logrotate.d/
- newins "${FILESDIR}"/ceph.logrotate-r2 ${PN}
-
- keepdir /var/lib/${PN}{,/tmp} /var/log/${PN}/stat
-
- fowners -R ceph:ceph /var/log/ceph
-
- newinitd "${FILESDIR}/rbdmap.initd-r1" rbdmap
- newinitd "${FILESDIR}/${PN}.initd-r12" ${PN}
- newconfd "${FILESDIR}/${PN}.confd-r5" ${PN}
-
- insinto /etc/sudoers.d
- doins sudoers.d/*
-
- insinto /etc/sysctl.d
- newins "${FILESDIR}"/sysctld 90-${PN}.conf
-
- use tcmalloc && newenvd "${FILESDIR}"/envd-tcmalloc 99${PN}-tcmalloc
-
- # units aren't installed by the build system unless systemd is enabled
- # so no point installing these with the USE flag disabled
- if use systemd; then
- systemd_install_serviced "${FILESDIR}/ceph-mds_at.service.conf" \
- "ceph-mds@.service"
-
- systemd_install_serviced "${FILESDIR}/ceph-osd_at.service.conf" \
- "ceph-osd@.service"
-
- fi
-
- udev_dorules udev/*.rules
- newtmpfiles "${FILESDIR}"/ceph-tmpfilesd ${PN}.conf
-
- readme.gentoo_create_doc
-
- python_setup
-
- # bug #630232
- sed -i -r "s:${T//:/\\:}/${EPYTHON}:/usr:" "${ED}"/usr/bin/ceph{,-crash} \
- || die "sed failed"
-
- python_fix_shebang "${ED}"/usr/{,s}bin/
-
- # python_fix_shebang apparently is not idempotent
- local shebang_regex='(/usr/lib/python-exec/python[0-9]\.[0-9]/python)[0-9]\.[0-9]'
- grep -r -E -l --null "${shebang_regex}" "${ED}"/usr/{s,}bin/ \
- | xargs --null --no-run-if-empty -- sed -i -r "s:${shebang_regex}:\1:" || die
-
- local -a rados_classes=( "${ED}/usr/$(get_libdir)/rados-classes"/* )
- dostrip -x "${rados_classes[@]#${ED}}"
-}
-
-pkg_postinst() {
- readme.gentoo_print_elog
- tmpfiles_process ${PN}.conf
-}
diff --git a/sys-cluster/ceph/files/ceph-16.2.7-no-virtualenvs.patch b/sys-cluster/ceph/files/ceph-16.2.7-no-virtualenvs.patch
deleted file mode 100644
index 977a3ab50cba..000000000000
--- a/sys-cluster/ceph/files/ceph-16.2.7-no-virtualenvs.patch
+++ /dev/null
@@ -1,74 +0,0 @@
-diff --git a/cmake/modules/AddCephTest.cmake b/cmake/modules/AddCephTest.cmake
-index d26d003c779..bc962e3aa73 100644
---- a/cmake/modules/AddCephTest.cmake
-+++ b/cmake/modules/AddCephTest.cmake
-@@ -70,14 +70,6 @@ function(add_tox_test name)
- endif()
- string(REPLACE ";" "," tox_envs "${tox_envs}")
- find_package(Python3 QUIET REQUIRED)
-- add_custom_command(
-- OUTPUT ${venv_path}/bin/activate
-- COMMAND ${CMAKE_SOURCE_DIR}/src/tools/setup-virtualenv.sh --python="${Python3_EXECUTABLE}" ${venv_path}
-- WORKING_DIRECTORY ${tox_path}
-- COMMENT "preparing venv for ${name}")
-- add_custom_target(${name}-venv
-- DEPENDS ${venv_path}/bin/activate)
-- add_dependencies(tests ${name}-venv)
- add_test(
- NAME ${test_name}
- COMMAND ${CMAKE_SOURCE_DIR}/src/script/run_tox.sh
-diff --git a/src/ceph-volume/CMakeLists.txt b/src/ceph-volume/CMakeLists.txt
-index 9166553dc73..9a6c87595b9 100644
---- a/src/ceph-volume/CMakeLists.txt
-+++ b/src/ceph-volume/CMakeLists.txt
-@@ -8,22 +8,6 @@ if(FREEBSD)
- add_subdirectory(plugin/zfs)
- endif()
-
--# Required for running ceph-volume inventory in a vstart environment
--set(CEPH_VOLUME_VIRTUALENV ${CEPH_BUILD_VIRTUALENV}/ceph-volume-virtualenv)
--
--add_custom_command(
-- OUTPUT ${CEPH_VOLUME_VIRTUALENV}/bin/python
-- COMMAND ${CMAKE_SOURCE_DIR}/src/tools/setup-virtualenv.sh --python=${Python3_EXECUTABLE} ${CEPH_VOLUME_VIRTUALENV}
-- WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}/src/ceph-volume
-- COMMENT "ceph-volume venv is being created")
--
--add_custom_command(
-- OUTPUT ${CEPH_VOLUME_VIRTUALENV}/bin/ceph-volume
-- DEPENDS ${CEPH_VOLUME_VIRTUALENV}/bin/python
-- COMMAND . ${CEPH_VOLUME_VIRTUALENV}/bin/activate && ${CEPH_VOLUME_VIRTUALENV}/bin/python setup.py develop && deactivate
-- WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}/src/ceph-volume
-- COMMENT "${CMAKE_SOURCE_DIR}/src/ceph-volume")
--
- add_custom_target(ceph-volume-venv-setup
- DEPENDS ${CEPH_VOLUME_VIRTUALENV}/bin/ceph-volume)
-
-diff --git a/src/pybind/mgr/dashboard/CMakeLists.txt b/src/pybind/mgr/dashboard/CMakeLists.txt
-index 9b3432213a0..973b185f5de 100644
---- a/src/pybind/mgr/dashboard/CMakeLists.txt
-+++ b/src/pybind/mgr/dashboard/CMakeLists.txt
-@@ -5,9 +5,6 @@ function(add_npm_command)
- set(multi_kw COMMAND DEPENDS)
- cmake_parse_arguments(NC "${options}" "${single_kw}" "${multi_kw}" ${ARGN})
- string(REPLACE ";" " " command "${NC_COMMAND}")
-- if(NC_NODEENV)
-- string(REGEX REPLACE "^(.*(npm|npx) .*)$" ". ${mgr-dashboard-nodeenv-dir}/bin/activate && \\1 && deactivate" command ${command})
-- endif()
- string(REPLACE " " ";" command "${command}")
- add_custom_command(
- OUTPUT "${NC_OUTPUT}"
-@@ -51,11 +48,8 @@ else(WITH_SYSTEM_NPM)
- set(node_mirror_opt "--mirror=$ENV{NODE_MIRROR}")
- endif()
- add_custom_command(
-- OUTPUT "${mgr-dashboard-nodeenv-dir}/bin/npm"
-- COMMAND ${CMAKE_SOURCE_DIR}/src/tools/setup-virtualenv.sh --python=${MGR_PYTHON_EXECUTABLE} ${mgr-dashboard-nodeenv-dir}
-- COMMAND ${mgr-dashboard-nodeenv-dir}/bin/pip install nodeenv
-- COMMAND ${mgr-dashboard-nodeenv-dir}/bin/nodeenv --verbose ${node_mirror_opt} -p --node=12.18.2
-- COMMAND mkdir ${mgr-dashboard-nodeenv-dir}/.npm
-+ OUTPUT "/bin/npm"
-+ COMMAND /bin/nodeenv ${node_mirror_opt} -p --node=12.18.2
- WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
- COMMENT "dashboard nodeenv is being installed"
- )
^ permalink raw reply related [flat|nested] 68+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-cluster/ceph/, sys-cluster/ceph/files/
@ 2022-06-28 0:27 Patrick McLean
0 siblings, 0 replies; 68+ messages in thread
From: Patrick McLean @ 2022-06-28 0:27 UTC (permalink / raw
To: gentoo-commits
commit: dc779185168bea4e14e59a15f4fc878f31df97fa
Author: Patrick McLean <chutzpah <AT> gentoo <DOT> org>
AuthorDate: Tue Jun 28 00:25:59 2022 +0000
Commit: Patrick McLean <chutzpah <AT> gentoo <DOT> org>
CommitDate: Tue Jun 28 00:27:37 2022 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=dc779185
sys-cluster/ceph: add 17.2.1
Signed-off-by: Patrick McLean <chutzpah <AT> gentoo.org>
sys-cluster/ceph/Manifest | 2 +
sys-cluster/ceph/ceph-17.2.1.ebuild | 457 +++++++++++++++++++++
.../ceph/files/ceph-17.2.1-no-virtualenvs.patch | 68 +++
3 files changed, 527 insertions(+)
diff --git a/sys-cluster/ceph/Manifest b/sys-cluster/ceph/Manifest
index d69ecc81be06..a49e97b7bd5a 100644
--- a/sys-cluster/ceph/Manifest
+++ b/sys-cluster/ceph/Manifest
@@ -2,4 +2,6 @@ DIST ceph-15.2.16.tar.gz 148628915 BLAKE2B 4f624078027c706428eae3eddd5b5479efe3b
DIST ceph-16.2.7.tar.gz 156621262 BLAKE2B 3c79cb1586e71927df4578fe7f3a13f4ab257a5e145b6bf76d942292cbca7bf32583350373f3d816f6d8f8700ee0f98a14f350c823b0eb89ffd7735acee7de63 SHA512 eab047e646970d444acf1064d98237b8b1677fb16b5e771082d55880f7bc6d8bdb278c2fe514c82ae12c438878d9ecea29139fa6b8d890f9f737138f10fb740c
DIST ceph-16.2.9.tar.gz 157168096 BLAKE2B 0a667a9699925cfc920ca0cc535e5331cbcd95997fb0b9816a4d84c8add454b6b17813018bc1d1de07c802167ef50aa528704b10b01f42759189392ccdb5088f SHA512 bf369038ad6383f88abbed267f0239e9d8a1d33b46b34ed260aeeb1fda1b374cb6e658238e1ace013fbbb68e73b8cd2922b7def318d7a110e5f4560eeae8fca3
DIST ceph-17.2.0.tar.gz 168742006 BLAKE2B 15272da3471722936198f62b5ef7537d29bd944b35ef1552e87cf0f0f400a8be5fd1fa873494eb17ca71df9360d7ffa4fa20a6f1b1ba819520b180770a4e6299 SHA512 70b96e709f153f16069bec8346ea73812d699eaab91a012351d02addb3fd176b84fce32c3dae84fdf91d0ffe49f2bb258410b47caeee81d81a672b4dbd04cc7e
+DIST ceph-17.2.1.tar.gz 168819036 BLAKE2B 2d6506f3a43ccbe4a149163c13ab2de72aeba568308ca7c0c59d0ff32316519d27b334451fd8d78af799cabe3b5a8c5b7b19d5da028e52c420ec7fc38efe5aad SHA512 cb88a3feff67ce41c575cb6c0067a32de51fcbf36d8f9f7273cccd54a3413ee890f473e83fcc1429a86b858b05c412fca8b2cfc24871c5adf612e3d224227cf0
DIST ceph-xsimd-17.2.0.tar.gz 173025 BLAKE2B 54679c24804c195ae55b9f49589e331dde92c6d89aaa20e827539e9a4e0010c7549cdd5cf02a7ebed83f953ab2a6f1d9cc9a98cf45c3dc7758ae4938c9c43713 SHA512 ecc58e7909648aaa22aefbf76ee2c5a2bece4b1b88da9c7eda1b69a46247e619ff99c4366afd6015f95debd68c1a6b89292c677b9049462d0fc0255fbc0c2a33
+DIST ceph-xsimd-17.2.1.tar.gz 173025 BLAKE2B 54679c24804c195ae55b9f49589e331dde92c6d89aaa20e827539e9a4e0010c7549cdd5cf02a7ebed83f953ab2a6f1d9cc9a98cf45c3dc7758ae4938c9c43713 SHA512 ecc58e7909648aaa22aefbf76ee2c5a2bece4b1b88da9c7eda1b69a46247e619ff99c4366afd6015f95debd68c1a6b89292c677b9049462d0fc0255fbc0c2a33
diff --git a/sys-cluster/ceph/ceph-17.2.1.ebuild b/sys-cluster/ceph/ceph-17.2.1.ebuild
new file mode 100644
index 000000000000..4b5281e5f669
--- /dev/null
+++ b/sys-cluster/ceph/ceph-17.2.1.ebuild
@@ -0,0 +1,457 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{8..10} )
+LUA_COMPAT=( lua5-{3..4} )
+
+inherit check-reqs bash-completion-r1 cmake flag-o-matic lua-single \
+ python-r1 udev readme.gentoo-r1 toolchain-funcs systemd tmpfiles
+
+SRC_URI="
+ https://download.ceph.com/tarballs/${P}.tar.gz
+ parquet? ( https://github.com/xtensor-stack/xsimd/archive/aeec9c872c8b475dedd7781336710f2dd2666cb2.tar.gz -> ceph-xsimd-${PV}.tar.gz )
+"
+KEYWORDS="~amd64 ~arm64"
+
+DESCRIPTION="Ceph distributed filesystem"
+HOMEPAGE="https://ceph.com/"
+
+LICENSE="Apache-2.0 LGPL-2.1 CC-BY-SA-3.0 GPL-2 GPL-2+ LGPL-2+ LGPL-2.1 LGPL-3 GPL-3 BSD Boost-1.0 MIT public-domain"
+SLOT="0"
+
+CPU_FLAGS_X86=(avx2 avx512f pclmul sse{,2,3,4_1,4_2} ssse3)
+
+IUSE="
+ babeltrace +cephfs custom-cflags diskprediction dpdk fuse grafana
+ jemalloc jaeger kafka kerberos ldap lttng +mgr +parquet pmdk rabbitmq
+ +radosgw rbd-rwl rbd-ssd rdma rgw-lua +ssl spdk +sqlite +system-boost
+ systemd +tcmalloc test +uring xfs zbd zfs
+"
+
+IUSE+="$(printf "cpu_flags_x86_%s\n" ${CPU_FLAGS_X86[@]})"
+
+DEPEND="
+ ${LUA_DEPS}
+ ${PYTHON_DEPS}
+ acct-group/ceph
+ acct-user/ceph
+ virtual/libudev:=
+ app-arch/bzip2:=
+ app-arch/lz4:=
+ app-arch/snappy:=
+ || ( >=app-arch/snappy-1.1.9-r1 <app-arch/snappy-1.1.9 )
+ app-arch/zstd:=
+ app-shells/bash:0
+ app-misc/jq:=
+ dev-libs/crypto++:=
+ dev-cpp/gflags:=
+ <dev-libs/leveldb-1.23:=[snappy,tcmalloc(-)?]
+ dev-libs/libaio:=
+ >=dev-libs/libfmt-6.2.1:=
+ dev-libs/libnl:3=
+ dev-libs/libxml2:=
+ dev-libs/libevent:=
+ dev-libs/libutf8proc:=
+ dev-libs/openssl:=
+ <dev-libs/rocksdb-6.15:=
+ dev-libs/thrift:=
+ dev-libs/xmlsec:=[openssl]
+ dev-cpp/yaml-cpp:=
+ dev-libs/nss:=
+ dev-python/pyyaml[${PYTHON_USEDEP}]
+ net-dns/c-ares:=
+ net-libs/gnutls:=
+ sys-auth/oath-toolkit:=
+ sys-apps/coreutils
+ sys-apps/hwloc:=
+ sys-apps/keyutils:=
+ sys-apps/util-linux:=
+ sys-libs/libcap-ng:=
+ sys-libs/ncurses:0=
+ sys-libs/zlib:=
+ sys-process/numactl:=
+ virtual/libcrypt:=
+ x11-libs/libpciaccess:=
+ babeltrace? ( dev-util/babeltrace )
+ fuse? ( sys-fs/fuse:3= )
+ jemalloc? ( dev-libs/jemalloc:= )
+ !jemalloc? ( >=dev-util/google-perftools-2.6.1:= )
+ jaeger? (
+ dev-cpp/nlohmann_json:=
+ dev-cpp/opentelemetry-cpp:=[jaeger]
+ )
+ kafka? ( dev-libs/librdkafka:= )
+ kerberos? ( virtual/krb5 )
+ ldap? ( net-nds/openldap:= )
+ lttng? ( dev-util/lttng-ust:= )
+ parquet? ( dev-libs/re2:= )
+ pmdk? ( dev-libs/pmdk:= )
+ rabbitmq? ( net-libs/rabbitmq-c:= )
+ radosgw? (
+ dev-libs/icu:=
+ dev-libs/expat:=
+ net-misc/curl:=[curl_ssl_openssl]
+ )
+ rbd-rwl? ( dev-libs/pmdk:= )
+ rdma? ( sys-cluster/rdma-core:= )
+ spdk? ( dev-util/cunit )
+ sqlite? ( dev-db/sqlite:= )
+ system-boost? ( >=dev-libs/boost-1.72:=[threads(+),context,python,${PYTHON_USEDEP}] )
+ uring? ( sys-libs/liburing:= )
+ xfs? ( sys-fs/xfsprogs:= )
+ zbd? ( sys-block/libzbd:= )
+ zfs? ( sys-fs/zfs:= )
+"
+BDEPEND="
+ amd64? ( dev-lang/nasm )
+ x86? ( dev-lang/yasm )
+ app-arch/cpio
+ >=dev-util/cmake-3.5.0
+ dev-python/cython[${PYTHON_USEDEP}]
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ dev-python/sphinx
+ dev-util/gperf
+ dev-util/ragel
+ dev-util/valgrind
+ sys-apps/coreutils
+ sys-apps/grep
+ sys-apps/sed
+ sys-apps/util-linux
+ sys-apps/which
+ sys-devel/bc
+ sys-devel/patch
+ virtual/pkgconfig
+ jaeger? (
+ sys-devel/bison
+ sys-devel/flex
+ )
+ test? (
+ dev-util/cunit
+ dev-python/coverage[${PYTHON_USEDEP}]
+ dev-python/virtualenv[${PYTHON_USEDEP}]
+ dev-python/requests-mock[${PYTHON_USEDEP}]
+ sys-apps/grep[pcre]
+ sys-fs/btrfs-progs
+ )
+"
+RDEPEND="
+ ${DEPEND}
+ app-admin/sudo
+ net-misc/socat
+ sys-apps/gptfdisk
+ sys-apps/nvme-cli
+ >=sys-apps/smartmontools-7.0
+ sys-block/parted
+ sys-fs/cryptsetup
+ sys-fs/lsscsi
+ sys-fs/lvm2[-device-mapper-only(-)]
+ virtual/awk
+ dev-python/bcrypt[${PYTHON_USEDEP}]
+ dev-python/cherrypy[${PYTHON_USEDEP}]
+ dev-python/python-dateutil[${PYTHON_USEDEP}]
+ dev-python/flask[${PYTHON_USEDEP}]
+ dev-python/jinja[${PYTHON_USEDEP}]
+ dev-python/pecan[${PYTHON_USEDEP}]
+ dev-python/prettytable[${PYTHON_USEDEP}]
+ dev-python/pyopenssl[${PYTHON_USEDEP}]
+ dev-python/requests[${PYTHON_USEDEP}]
+ dev-python/werkzeug[${PYTHON_USEDEP}]
+ mgr? (
+ dev-python/jsonpatch[${PYTHON_USEDEP}]
+ dev-python/more-itertools[${PYTHON_USEDEP}]
+ dev-python/numpy[${PYTHON_USEDEP}]
+ dev-python/pyjwt[${PYTHON_USEDEP}]
+ dev-python/routes[${PYTHON_USEDEP}]
+ diskprediction? (
+ >=dev-python/scipy-1.4.0[${PYTHON_USEDEP}]
+ )
+ sci-libs/scikit-learn[${PYTHON_USEDEP}]
+ dev-python/six[${PYTHON_USEDEP}]
+ )
+"
+# diskprediction needs older scipy not compatible with py38
+# bug #724438
+REQUIRED_USE="
+ ${PYTHON_REQUIRED_USE}
+ ${LUA_REQUIRED_USE}
+ ?? ( jemalloc tcmalloc )
+ diskprediction? ( mgr )
+ kafka? ( radosgw )
+ mgr? ( cephfs )
+ rabbitmq? ( radosgw )
+ rgw-lua? ( radosgw )
+"
+
+RESTRICT="
+ !test? ( test )
+"
+
+# tests need root access, and network access
+RESTRICT+="test"
+
+# false positives unless all USE flags are on
+CMAKE_WARN_UNUSED_CLI=no
+
+PATCHES=(
+ "${FILESDIR}/ceph-12.2.0-use-provided-cpu-flag-values.patch"
+ "${FILESDIR}/ceph-14.2.0-cflags.patch"
+ "${FILESDIR}/ceph-12.2.4-boost-build-none-options.patch"
+ "${FILESDIR}/ceph-16.2.2-cflags.patch"
+ "${FILESDIR}/ceph-17.2.1-no-virtualenvs.patch"
+ "${FILESDIR}/ceph-13.2.2-dont-install-sysvinit-script.patch"
+ "${FILESDIR}/ceph-14.2.0-dpdk-cflags.patch"
+ "${FILESDIR}/ceph-16.2.0-rocksdb-cmake.patch"
+ "${FILESDIR}/ceph-16.2.0-spdk-tinfo.patch"
+ "${FILESDIR}/ceph-16.2.0-jaeger-system-boost.patch"
+ "${FILESDIR}/ceph-16.2.0-liburing.patch"
+ "${FILESDIR}/ceph-17.2.0-cyclic-deps.patch"
+ "${FILESDIR}/ceph-17.2.0-pybind-boost-1.74.patch"
+ "${FILESDIR}/ceph-17.2.0-findre2.patch"
+ "${FILESDIR}/ceph-17.2.0-install-dbstore.patch"
+ "${FILESDIR}/ceph-17.2.0-deprecated-boost.patch"
+ "${FILESDIR}/ceph-17.2.0-system-opentelemetry.patch"
+ "${FILESDIR}/ceph-17.2.0-fuse3.patch"
+ "${FILESDIR}/ceph-17.2.0-osd_class_dir.patch"
+)
+
+check-reqs_export_vars() {
+ CHECKREQS_DISK_BUILD="6G"
+
+ if use system-boost; then
+ CHECKREQS_DISK_USR="350M"
+ else
+ CHECKREQS_DISK_USR="510M"
+ fi
+
+ export CHECKREQS_DISK_BUILD CHECKREQS_DISK_USR
+}
+
+pkg_pretend() {
+ check-reqs_export_vars
+ check-reqs_pkg_pretend
+}
+
+pkg_setup() {
+ python_setup
+ lua_setup
+ check-reqs_export_vars
+ check-reqs_pkg_setup
+}
+
+src_prepare() {
+ cmake_src_prepare
+
+ if use system-boost; then
+ find "${S}" -name '*.cmake' -or -name 'CMakeLists.txt' -print0 \
+ | xargs --null sed -r \
+ -e 's|Boost::|boost_|g' \
+ -e 's|Boost_|boost_|g' \
+ -e 's|[Bb]oost_boost|boost_system|g' \
+ -i || die
+ fi
+
+ if ! use systemd; then
+ find "${S}"/src/ceph-volume/ceph_volume -name '*.py' -print0 \
+ | xargs --null sed \
+ -e '/^from ceph_volume.systemd import systemctl/ d' \
+ -i || die
+ fi
+
+ sed -r -e "s:DESTINATION .+\\):DESTINATION $(get_bashcompdir)\\):" \
+ -i src/bash_completion/CMakeLists.txt || die
+
+ sed -e "s:objdump -p:$(tc-getOBJDUMP) -p:" -i CMakeLists.txt || die
+
+ # force lua version to use selected version
+ local lua_version
+ lua_version=$(ver_cut 1-2 $(lua_get_version))
+ sed "s:find_package(Lua [0-9][.][0-9] REQUIRED):find_package(Lua ${lua_version} EXACT REQUIRED):" \
+ -i src/CMakeLists.txt
+
+ # remove tests that need root access
+ rm src/test/cli/ceph-authtool/cap*.t || die
+}
+
+ceph_src_configure() {
+ local mycmakeargs=(
+ -DWITH_BABELTRACE:BOOL=$(usex babeltrace)
+ -DWITH_BLUESTORE_PMEM:BOOL=$(usex pmdk)
+ -DWITH_CEPHFS:BOOL=$(usex cephfs)
+ -DWITH_CEPHFS_SHELL:BOOL=$(usex cephfs)
+ -DWITH_DPDK:BOOL=$(usex dpdk)
+ -DWITH_SPDK:BOOL=$(usex spdk)
+ -DWITH_FUSE:BOOL=$(usex fuse)
+ -DWITH_LTTNG:BOOL=$(usex lttng)
+ -DWITH_GSSAPI:BOOL=$(usex kerberos)
+ -DWITH_GRAFANA:BOOL=$(usex grafana)
+ -DWITH_MGR:BOOL=$(usex mgr)
+ -DWITH_MGR_DASHBOARD_FRONTEND:BOOL=OFF
+ -DWITH_OPENLDAP:BOOL=$(usex ldap)
+ -DWITH_PYTHON3:STRING=3
+ -DWITH_RADOSGW:BOOL=$(usex radosgw)
+ -DWITH_RADOSGW_AMQP_ENDPOINT:BOOL=$(usex rabbitmq)
+ -DWITH_RADOSGW_KAFKA_ENDPOINT:BOOL=$(usex kafka)
+ -DWITH_RADOSGW_LUA_PACKAGES:BOOL=$(usex rgw-lua "$(usex radosgw)" "NO")
+ -DWITH_RBD_RWL:BOOL=$(usex rbd-rwl)
+ -DWITH_RBD_SSD_CACHE:BOOL=$(usex rbd-ssd)
+ -DWITH_SYSTEMD:BOOL=$(usex systemd)
+ -DWITH_TESTS:BOOL=$(usex test)
+ -DWITH_LIBURING:BOOL=$(usex uring)
+ -DWITH_SYSTEM_LIBURING:BOOL=$(usex uring)
+ -DWITH_LIBCEPHSQLITE:BOOL=$(usex sqlite)
+ -DWITH_XFS:BOOL=$(usex xfs)
+ -DWITH_ZBD:BOOL=$(usex zbd)
+ -DWITH_ZFS:BOOL=$(usex zfs)
+ -DENABLE_SHARED:BOOL=ON
+ -DALLOCATOR:STRING=$(usex tcmalloc 'tcmalloc' "$(usex jemalloc 'jemalloc' 'libc')")
+ -DWITH_SYSTEM_PMDK:BOOL=$(usex pmdk 'YES' "$(usex rbd-rwl '')")
+ -DWITH_SYSTEM_BOOST:BOOL=$(usex system-boost)
+ -DWITH_SYSTEM_ROCKSDB:BOOL=ON
+ -DWITH_SYSTEM_ZSTD:BOOL=ON
+ -DWITH_RDMA:BOOL=$(usex rdma)
+ -DCMAKE_INSTALL_DOCDIR:PATH="${EPREFIX}/usr/share/doc/${PN}-${PVR}"
+ -DCMAKE_INSTALL_SYSCONFDIR:PATH="${EPREFIX}/etc"
+ -Wno-dev
+ )
+
+ # this breaks when re-configuring for python impl
+ if [[ ${EBUILD_PHASE} == configure ]]; then
+ mycmakeargs+=(
+ -DWITH_JAEGER:BOOL=$(usex jaeger)
+ -DWITH_RADOSGW_SELECT_PARQUET:BOOL=$(usex parquet)
+ )
+ else
+ mycmakeargs+=(
+ -DWITH_RADOSGW_SELECT_PARQUET:BOOL=OFF
+ )
+ fi
+
+ # conditionally used cmake args
+ use test && mycmakearts+=( -DWITH_SYSTEM_GTEST:BOOL=$(usex test) )
+ use systemd && mycmakeargs+=( -DSYSTEMD_SYSTEM_UNIT_DIR:PATH=$(systemd_get_systemunitdir) )
+
+ if use amd64 || use x86; then
+ local flag
+ for flag in "${CPU_FLAGS_X86[@]}"; do
+ case "${flag}" in
+ avx*)
+ local var=${flag%f}
+ mycmakeargs+=(
+ "-DHAVE_NASM_X64_${var^^}:BOOL=$(usex cpu_flags_x86_${flag})"
+ )
+ ;;
+ *) mycmakeargs+=(
+ "-DHAVE_INTEL_${flag^^}:BOOL=$(usex cpu_flags_x86_${flag})"
+ );;
+ esac
+ done
+ fi
+
+ # needed for >=glibc-2.32
+ has_version '>=sys-libs/glibc-2.32' && mycmakeargs+=( -DWITH_REENTRANT_STRSIGNAL:BOOL=ON )
+
+ rm -f "${BUILD_DIR:-${S}}/CMakeCache.txt" \
+ || die "failed to remove cmake cache"
+
+ # hopefully this will not be necessary in the next release
+ use parquet && export ARROW_XSIMD_URL="file:///${DISTDIR}/ceph-xsimd-${PV}.tar.gz"
+
+ cmake_src_configure
+
+ # bug #630232
+ sed -i "s:\"${T//:\\:}/${EPYTHON}/bin/python\":\"${PYTHON}\":" \
+ "${BUILD_DIR:-${S}}"/include/acconfig.h \
+ || die "sed failed"
+}
+
+src_configure() {
+ use custom-cflags || strip-flags
+ ceph_src_configure
+}
+
+src_compile() {
+ cmake_build all
+
+ # we have to do this here to prevent from building everything multiple times
+ python_copy_sources
+ python_foreach_impl python_compile
+}
+
+python_compile() {
+ local CMAKE_USE_DIR="${S}"
+ ceph_src_configure
+
+ cmake_build src/pybind/CMakeFiles/cython_modules
+}
+
+src_install() {
+ python_foreach_impl python_install
+
+ python_setup
+ cmake_src_install
+
+ find "${ED}" -name '*.la' -type f -delete || die
+
+ exeinto /usr/$(get_libdir)/ceph
+ newexe "${BUILD_DIR}/bin/init-ceph" init-ceph
+
+ insinto /etc/logrotate.d/
+ newins "${FILESDIR}"/ceph.logrotate-r2 ${PN}
+
+ keepdir /var/lib/${PN}{,/tmp} /var/log/${PN}/stat
+
+ fowners -R ceph:ceph /var/log/ceph
+
+ newinitd "${FILESDIR}/rbdmap.initd-r1" rbdmap
+ newinitd "${FILESDIR}/${PN}.initd-r12" ${PN}
+ newconfd "${FILESDIR}/${PN}.confd-r5" ${PN}
+
+ insinto /etc/sudoers.d
+ doins sudoers.d/*
+
+ insinto /etc/sysctl.d
+ newins "${FILESDIR}"/sysctld 90-${PN}.conf
+
+ use tcmalloc && newenvd "${FILESDIR}"/envd-tcmalloc 99${PN}-tcmalloc
+
+ # units aren't installed by the build system unless systemd is enabled
+ # so no point installing these with the USE flag disabled
+ if use systemd; then
+ systemd_install_serviced "${FILESDIR}/ceph-mds_at.service.conf" "ceph-mds@.service"
+ systemd_install_serviced "${FILESDIR}/ceph-osd_at.service.conf" "ceph-osd@.service"
+ fi
+
+ udev_dorules udev/*.rules
+ newtmpfiles "${FILESDIR}"/ceph-tmpfilesd ${PN}.conf
+
+ readme.gentoo_create_doc
+
+ # bug #630232
+ sed -i -r "s:${T//:/\\:}/${EPYTHON}:/usr:" "${ED}"/usr/bin/ceph{,-crash} \
+ || die "sed failed"
+
+ python_fix_shebang "${ED}"/usr/{,s}bin/
+
+ # python_fix_shebang apparently is not idempotent
+ local shebang_regex='(/usr/lib/python-exec/python[0-9]\.[0-9]/python)[0-9]\.[0-9]'
+ grep -r -E -l --null "${shebang_regex}" "${ED}"/usr/{s,}bin/ \
+ | xargs --null --no-run-if-empty -- sed -i -r "s:${shebang_regex}:\1:" || die
+
+ local -a rados_classes=( "${ED}/usr/$(get_libdir)/rados-classes"/* )
+ dostrip -x "${rados_classes[@]#${ED}}"
+}
+
+python_install() {
+ local CMAKE_USE_DIR="${S}"
+ DESTDIR="${ED}" cmake_build src/pybind/install
+
+ python_optimize
+}
+
+pkg_postinst() {
+ readme.gentoo_print_elog
+ tmpfiles_process ${PN}.conf
+ udev_reload
+}
diff --git a/sys-cluster/ceph/files/ceph-17.2.1-no-virtualenvs.patch b/sys-cluster/ceph/files/ceph-17.2.1-no-virtualenvs.patch
new file mode 100644
index 000000000000..b0112dff9242
--- /dev/null
+++ b/sys-cluster/ceph/files/ceph-17.2.1-no-virtualenvs.patch
@@ -0,0 +1,68 @@
+diff --git a/cmake/modules/AddCephTest.cmake b/cmake/modules/AddCephTest.cmake
+index 46d3a1b4cb8..b05490e1224 100644
+--- a/cmake/modules/AddCephTest.cmake
++++ b/cmake/modules/AddCephTest.cmake
+@@ -56,7 +56,6 @@ endfunction()
+
+ function(add_tox_test name)
+ set(test_name run-tox-${name})
+- set(venv_path ${CEPH_BUILD_VIRTUALENV}/${name}-virtualenv)
+ cmake_parse_arguments(TOXTEST "" "TOX_PATH" "TOX_ENVS" ${ARGN})
+ if(DEFINED TOXTEST_TOX_PATH)
+ set(tox_path ${TOXTEST_TOX_PATH})
+@@ -69,27 +68,13 @@ function(add_tox_test name)
+ list(APPEND tox_envs py3)
+ endif()
+ string(REPLACE ";" "," tox_envs "${tox_envs}")
+- add_test(
+- NAME setup-venv-for-${name}
+- COMMAND ${CMAKE_SOURCE_DIR}/src/tools/setup-virtualenv.sh --python=${Python3_EXECUTABLE} ${venv_path}
+- WORKING_DIRECTORY ${tox_path})
+- set_tests_properties(setup-venv-for-${name} PROPERTIES
+- FIXTURES_SETUP venv-for-${name})
+- add_test(
+- NAME teardown-venv-for-${name}
+- COMMAND ${CMAKE_COMMAND} -E remove_directory ${venv_path})
+- set_tests_properties(teardown-venv-for-${name} PROPERTIES
+- FIXTURES_CLEANUP venv-for-${name})
+ add_test(
+ NAME ${test_name}
+ COMMAND ${CMAKE_SOURCE_DIR}/src/script/run_tox.sh
+ --source-dir ${CMAKE_SOURCE_DIR}
+ --build-dir ${CMAKE_BINARY_DIR}
+ --tox-path ${tox_path}
+- --tox-envs ${tox_envs}
+- --venv-path ${venv_path})
+- set_tests_properties(${test_name} PROPERTIES
+- FIXTURES_REQUIRED venv-for-${name})
++ --tox-envs ${tox_envs})
+ set_property(
+ TEST ${test_name}
+ PROPERTY ENVIRONMENT
+diff --git a/src/ceph-volume/CMakeLists.txt b/src/ceph-volume/CMakeLists.txt
+index 9166553dc73..9a6c87595b9 100644
+--- a/src/ceph-volume/CMakeLists.txt
++++ b/src/ceph-volume/CMakeLists.txt
+@@ -8,22 +8,6 @@ if(FREEBSD)
+ add_subdirectory(plugin/zfs)
+ endif()
+
+-# Required for running ceph-volume inventory in a vstart environment
+-set(CEPH_VOLUME_VIRTUALENV ${CEPH_BUILD_VIRTUALENV}/ceph-volume-virtualenv)
+-
+-add_custom_command(
+- OUTPUT ${CEPH_VOLUME_VIRTUALENV}/bin/python
+- COMMAND ${CMAKE_SOURCE_DIR}/src/tools/setup-virtualenv.sh --python=${Python3_EXECUTABLE} ${CEPH_VOLUME_VIRTUALENV}
+- WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}/src/ceph-volume
+- COMMENT "ceph-volume venv is being created")
+-
+-add_custom_command(
+- OUTPUT ${CEPH_VOLUME_VIRTUALENV}/bin/ceph-volume
+- DEPENDS ${CEPH_VOLUME_VIRTUALENV}/bin/python
+- COMMAND . ${CEPH_VOLUME_VIRTUALENV}/bin/activate && ${CEPH_VOLUME_VIRTUALENV}/bin/python setup.py develop && deactivate
+- WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}/src/ceph-volume
+- COMMENT "${CMAKE_SOURCE_DIR}/src/ceph-volume")
+-
+ add_custom_target(ceph-volume-venv-setup
+ DEPENDS ${CEPH_VOLUME_VIRTUALENV}/bin/ceph-volume)
+
^ permalink raw reply related [flat|nested] 68+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-cluster/ceph/, sys-cluster/ceph/files/
@ 2022-05-17 18:03 Patrick McLean
0 siblings, 0 replies; 68+ messages in thread
From: Patrick McLean @ 2022-05-17 18:03 UTC (permalink / raw
To: gentoo-commits
commit: 5ef4bb8aca305f23370c2ec4eddaa1d59d7fd6ff
Author: Patrick McLean <chutzpah <AT> gentoo <DOT> org>
AuthorDate: Tue May 17 18:03:16 2022 +0000
Commit: Patrick McLean <chutzpah <AT> gentoo <DOT> org>
CommitDate: Tue May 17 18:03:32 2022 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=5ef4bb8a
sys-cluster/ceph: add 16.2.8
Signed-off-by: Patrick McLean <chutzpah <AT> gentoo.org>
sys-cluster/ceph/Manifest | 1 +
sys-cluster/ceph/ceph-16.2.8.ebuild | 471 +++++++++++++++++++++
.../ceph/files/ceph-16.2.8-no-virtualenvs.patch | 82 ++++
3 files changed, 554 insertions(+)
diff --git a/sys-cluster/ceph/Manifest b/sys-cluster/ceph/Manifest
index 325977641159..67b64e166350 100644
--- a/sys-cluster/ceph/Manifest
+++ b/sys-cluster/ceph/Manifest
@@ -1,4 +1,5 @@
DIST ceph-15.2.16.tar.gz 148628915 BLAKE2B 4f624078027c706428eae3eddd5b5479efe3b4442c19a4e6b6cdf8d3839cf56e2863b18249dc3c5079a7e25f60796bfec3202ffd695537587654f5e2f820caaa SHA512 532b8a5073e157fe9ed552b26976faeb64dc29b79a249910c0982134ad5f945d4f57d8bf451adf63487b6d285c6e4bd5c39f0e3fcd449230d6fb3087539f8c3b
DIST ceph-16.2.7.tar.gz 156621262 BLAKE2B 3c79cb1586e71927df4578fe7f3a13f4ab257a5e145b6bf76d942292cbca7bf32583350373f3d816f6d8f8700ee0f98a14f350c823b0eb89ffd7735acee7de63 SHA512 eab047e646970d444acf1064d98237b8b1677fb16b5e771082d55880f7bc6d8bdb278c2fe514c82ae12c438878d9ecea29139fa6b8d890f9f737138f10fb740c
+DIST ceph-16.2.8.tar.gz 157167317 BLAKE2B 06958b165c0bf8aa467c11c55e4c42c8284525db532da0aac180b05491b9577501af14040bb7c2dc9544c657b8cc3ceaa49a1e00912d1fb43938fdca79aefcf8 SHA512 5ea3857d6ba401d3ac969d95eaed4ea9f43bba1dc25b1c84a9ca14420d790413b8eda953edd576341c79d937433adce0c268f2e8bde9137bbd69f4535b0cc740
DIST ceph-17.2.0.tar.gz 168742006 BLAKE2B 15272da3471722936198f62b5ef7537d29bd944b35ef1552e87cf0f0f400a8be5fd1fa873494eb17ca71df9360d7ffa4fa20a6f1b1ba819520b180770a4e6299 SHA512 70b96e709f153f16069bec8346ea73812d699eaab91a012351d02addb3fd176b84fce32c3dae84fdf91d0ffe49f2bb258410b47caeee81d81a672b4dbd04cc7e
DIST ceph-xsimd-17.2.0.tar.gz 173025 BLAKE2B 54679c24804c195ae55b9f49589e331dde92c6d89aaa20e827539e9a4e0010c7549cdd5cf02a7ebed83f953ab2a6f1d9cc9a98cf45c3dc7758ae4938c9c43713 SHA512 ecc58e7909648aaa22aefbf76ee2c5a2bece4b1b88da9c7eda1b69a46247e619ff99c4366afd6015f95debd68c1a6b89292c677b9049462d0fc0255fbc0c2a33
diff --git a/sys-cluster/ceph/ceph-16.2.8.ebuild b/sys-cluster/ceph/ceph-16.2.8.ebuild
new file mode 100644
index 000000000000..56debbe477af
--- /dev/null
+++ b/sys-cluster/ceph/ceph-16.2.8.ebuild
@@ -0,0 +1,471 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{8..10} )
+LUA_COMPAT=( lua5-3 )
+
+CMAKE_MAKEFILE_GENERATOR=emake
+
+inherit check-reqs bash-completion-r1 cmake python-r1 flag-o-matic \
+ lua-single udev readme.gentoo-r1 toolchain-funcs systemd tmpfiles
+
+SRC_URI="https://download.ceph.com/tarballs/${P}.tar.gz"
+KEYWORDS="~amd64 ~arm64 ~ppc64"
+
+DESCRIPTION="Ceph distributed filesystem"
+HOMEPAGE="https://ceph.com/"
+
+LICENSE="Apache-2.0 LGPL-2.1 CC-BY-SA-3.0 GPL-2 GPL-2+ LGPL-2+ LGPL-2.1 LGPL-3 GPL-3 BSD Boost-1.0 MIT public-domain"
+SLOT="0"
+
+CPU_FLAGS_X86=(avx2 avx512f pclmul sse{,2,3,4_1,4_2} ssse3)
+
+IUSE="
+ babeltrace +cephfs custom-cflags diskprediction dpdk fuse grafana
+ jemalloc jaeger kafka kerberos ldap lttng +mgr numa pmdk rabbitmq
+ +radosgw rbd-rwl rbd-ssd rdma rgw-lua +ssl spdk +sqlite +system-boost
+ systemd +tcmalloc test uring xfs zbd zfs
+"
+
+IUSE+="$(printf "cpu_flags_x86_%s\n" ${CPU_FLAGS_X86[@]})"
+
+DEPEND="
+ ${LUA_DEPS}
+ ${PYTHON_DEPS}
+ acct-group/ceph
+ acct-user/ceph
+ virtual/libudev:=
+ app-arch/bzip2:=
+ app-arch/lz4:=
+ app-arch/snappy:=
+ || ( >=app-arch/snappy-1.1.9-r1 <app-arch/snappy-1.1.9 )
+ app-arch/zstd:=
+ app-shells/bash:0
+ app-misc/jq:=
+ dev-libs/crypto++:=
+ dev-cpp/gflags:=
+ <dev-libs/leveldb-1.23:=[snappy,tcmalloc(-)?]
+ dev-libs/libaio:=
+ dev-libs/libfmt:=
+ dev-libs/libnl:3=
+ dev-libs/libxml2:=
+ dev-libs/libevent:=
+ dev-libs/openssl:=
+ <dev-libs/rocksdb-6.15:=
+ dev-libs/xmlsec:=[openssl]
+ dev-cpp/yaml-cpp:=
+ dev-libs/nss:=
+ dev-libs/protobuf:=
+ net-dns/c-ares:=
+ net-libs/gnutls:=
+ sys-auth/oath-toolkit:=
+ sys-apps/coreutils
+ sys-apps/hwloc:=
+ sys-apps/keyutils:=
+ sys-apps/util-linux:=
+ sys-apps/util-linux
+ sys-libs/libcap-ng:=
+ sys-libs/ncurses:0=
+ sys-libs/zlib:=
+ sys-process/numactl:=
+ virtual/libcrypt:=
+ x11-libs/libpciaccess:=
+ babeltrace? ( dev-util/babeltrace )
+ fuse? ( sys-fs/fuse:3= )
+ jemalloc? ( dev-libs/jemalloc:= )
+ !jemalloc? ( >=dev-util/google-perftools-2.6.1:= )
+ jaeger? ( dev-cpp/nlohmann_json:= )
+ kafka? ( dev-libs/librdkafka:= )
+ kerberos? ( virtual/krb5 )
+ ldap? ( net-nds/openldap:= )
+ lttng? ( dev-util/lttng-ust:= )
+ pmdk? ( dev-libs/pmdk:= )
+ rabbitmq? ( net-libs/rabbitmq-c:= )
+ radosgw? (
+ dev-libs/icu:=
+ dev-libs/expat:=
+ net-misc/curl:=[curl_ssl_openssl]
+ )
+ rbd-rwl? ( dev-libs/pmdk:= )
+ rdma? ( sys-cluster/rdma-core:= )
+ spdk? ( dev-util/cunit )
+ sqlite? ( dev-db/sqlite:= )
+ system-boost? ( >=dev-libs/boost-1.72:=[threads(+),context,python,${PYTHON_USEDEP}] )
+ !system-boost? ( $(python_gen_impl_dep '' 3.8 3.9) )
+ uring? ( sys-libs/liburing:= )
+ xfs? ( sys-fs/xfsprogs:= )
+ zbd? ( sys-block/libzbd:= )
+ zfs? ( sys-fs/zfs:= )
+"
+BDEPEND="
+ amd64? ( dev-lang/nasm )
+ x86? ( dev-lang/yasm )
+ app-arch/cpio
+ >=dev-util/cmake-3.5.0
+ dev-python/cython[${PYTHON_USEDEP}]
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ dev-python/sphinx
+ dev-util/gperf
+ dev-util/ragel
+ dev-util/valgrind
+ sys-apps/coreutils
+ sys-apps/grep
+ sys-apps/sed
+ sys-apps/util-linux
+ sys-apps/which
+ sys-devel/bc
+ sys-devel/patch
+ virtual/pkgconfig
+ jaeger? (
+ sys-devel/bison
+ sys-devel/flex
+ )
+ test? (
+ dev-util/cunit
+ dev-python/coverage[${PYTHON_USEDEP}]
+ dev-python/virtualenv[${PYTHON_USEDEP}]
+ dev-python/requests-mock[${PYTHON_USEDEP}]
+ sys-apps/grep[pcre]
+ sys-fs/btrfs-progs
+ )
+"
+RDEPEND="
+ ${DEPEND}
+ app-admin/sudo
+ net-misc/socat
+ sys-apps/gptfdisk
+ sys-apps/nvme-cli
+ >=sys-apps/smartmontools-7.0
+ sys-block/parted
+ sys-fs/cryptsetup
+ sys-fs/lsscsi
+ sys-fs/lvm2[-device-mapper-only(-)]
+ virtual/awk
+ dev-python/bcrypt[${PYTHON_USEDEP}]
+ dev-python/cherrypy[${PYTHON_USEDEP}]
+ dev-python/python-dateutil[${PYTHON_USEDEP}]
+ dev-python/flask[${PYTHON_USEDEP}]
+ dev-python/jinja[${PYTHON_USEDEP}]
+ dev-python/pecan[${PYTHON_USEDEP}]
+ dev-python/prettytable[${PYTHON_USEDEP}]
+ dev-python/pyopenssl[${PYTHON_USEDEP}]
+ dev-python/pyyaml[${PYTHON_USEDEP}]
+ dev-python/requests[${PYTHON_USEDEP}]
+ dev-python/werkzeug[${PYTHON_USEDEP}]
+ mgr? (
+ dev-python/jsonpatch[${PYTHON_USEDEP}]
+ dev-python/more-itertools[${PYTHON_USEDEP}]
+ dev-python/numpy[${PYTHON_USEDEP}]
+ dev-python/pyjwt[${PYTHON_USEDEP}]
+ dev-python/routes[${PYTHON_USEDEP}]
+ diskprediction? (
+ >=dev-python/scipy-1.4.0[${PYTHON_USEDEP}]
+ )
+ sci-libs/scikit-learn[${PYTHON_USEDEP}]
+ dev-python/six[${PYTHON_USEDEP}]
+ )
+"
+# diskprediction needs older scipy not compatible with py38
+# bug #724438
+REQUIRED_USE="
+ ${PYTHON_REQUIRED_USE}
+ ${LUA_REQUIRED_USE}
+ ?? ( jemalloc tcmalloc )
+ jaeger? ( !system-boost )
+ diskprediction? ( mgr )
+ kafka? ( radosgw )
+ mgr? ( cephfs )
+ rabbitmq? ( radosgw )
+ !system-boost? (
+ || (
+ python_targets_python3_8
+ python_targets_python3_9
+ )
+ )
+"
+
+RESTRICT="
+ !test? ( test )
+"
+
+# tests need root access, and network access
+RESTRICT+="test"
+
+# create a non-debug release
+CMAKE_BUILD_TYPE=RelWithDebInfo
+
+# false positives unless all USE flags are on
+CMAKE_WARN_UNUSED_CLI=no
+
+PATCHES=(
+ "${FILESDIR}/ceph-12.2.0-use-provided-cpu-flag-values.patch"
+ "${FILESDIR}/ceph-14.2.0-cflags.patch"
+ "${FILESDIR}/ceph-12.2.4-boost-build-none-options.patch"
+ "${FILESDIR}/ceph-16.2.2-cflags.patch"
+ "${FILESDIR}/ceph-16.2.8-no-virtualenvs.patch"
+ "${FILESDIR}/ceph-13.2.2-dont-install-sysvinit-script.patch"
+ "${FILESDIR}/ceph-14.2.0-dpdk-cflags.patch"
+ "${FILESDIR}/ceph-14.2.0-cython-0.29.patch"
+ "${FILESDIR}/ceph-16.2.0-rocksdb-cmake.patch"
+ "${FILESDIR}/ceph-15.2.3-spdk-compile.patch"
+ "${FILESDIR}/ceph-16.2.0-spdk-tinfo.patch"
+ "${FILESDIR}/ceph-16.2.0-jaeger-system-boost.patch"
+ "${FILESDIR}/ceph-16.2.0-liburing.patch"
+ "${FILESDIR}/ceph-16.2.2-system-zstd.patch"
+ "${FILESDIR}/ceph-16.2.7-string-includes.patch"
+ "${FILESDIR}/ceph-17.2.0-fuse3.patch"
+)
+
+check-reqs_export_vars() {
+ CHECKREQS_DISK_BUILD="6G"
+
+ if use system-boost; then
+ CHECKREQS_DISK_USR="350M"
+ else
+ CHECKREQS_DISK_USR="510M"
+ fi
+
+ export CHECKREQS_DISK_BUILD CHECKREQS_DISK_USR
+}
+
+pkg_pretend() {
+ check-reqs_export_vars
+ check-reqs_pkg_pretend
+}
+
+pkg_setup() {
+ if ! use system-boost; then
+ python_setup 3.8 3.9
+ else
+ python_setup
+ fi
+ lua_setup
+ check-reqs_export_vars
+ check-reqs_pkg_setup
+}
+
+src_prepare() {
+ cmake_src_prepare
+
+ if use system-boost; then
+ find "${S}" -name '*.cmake' -or -name 'CMakeLists.txt' -print0 \
+ | xargs --null sed -r \
+ -e 's|Boost::|boost_|g' \
+ -e 's|Boost_|boost_|g' \
+ -e 's|[Bb]oost_boost|boost_system|g' \
+ -i || die
+ fi
+
+ if ! use systemd; then
+ find "${S}"/src/ceph-volume/ceph_volume -name '*.py' -print0 \
+ | xargs --null sed \
+ -e '/^from ceph_volume.systemd import systemctl/ d' \
+ -i || die
+ fi
+
+ sed -r -e "s:DESTINATION .+\\):DESTINATION $(get_bashcompdir)\\):" \
+ -i src/bash_completion/CMakeLists.txt || die
+
+ sed -e "s:objdump -p:$(tc-getOBJDUMP) -p:" -i CMakeLists.txt || die
+
+ if ! use diskprediction; then
+ rm -rf src/pybind/mgr/diskprediction_local || die
+ fi
+
+ # force lua version to use selected version
+ local lua_version
+ lua_version=$(ver_cut 1-2 $(lua_get_version))
+ sed "s:find_package(Lua [0-9][.][0-9] REQUIRED):find_package(Lua ${lua_version} EXACT REQUIRED):" \
+ -i src/CMakeLists.txt
+
+ # remove tests that need root access
+ rm src/test/cli/ceph-authtool/cap*.t || die
+}
+
+ceph_src_configure() {
+ local mycmakeargs=(
+ -DWITH_BABELTRACE:BOOL=$(usex babeltrace)
+ -DWITH_BLUESTORE_PMEM:BOOL=$(usex pmdk)
+ -DWITH_CEPHFS:BOOL=$(usex cephfs)
+ -DWITH_CEPHFS_SHELL:BOOL=$(usex cephfs)
+ -DWITH_DPDK:BOOL=$(usex dpdk)
+ -DWITH_SPDK:BOOL=$(usex spdk)
+ -DWITH_FUSE:BOOL=$(usex fuse)
+ -DWITH_LTTNG:BOOL=$(usex lttng)
+ -DWITH_GSSAPI:BOOL=$(usex kerberos)
+ -DWITH_GRAFANA:BOOL=$(usex grafana)
+ -DWITH_MGR:BOOL=$(usex mgr)
+ -DWITH_MGR_DASHBOARD_FRONTEND:BOOL=OFF
+ -DWITH_OPENLDAP:BOOL=$(usex ldap)
+ -DWITH_PYTHON3:STRING=3
+ -DWITH_RADOSGW:BOOL=$(usex radosgw)
+ -DWITH_RADOSGW_AMQP_ENDPOINT:BOOL=$(usex rabbitmq)
+ -DWITH_RADOSGW_KAFKA_ENDPOINT:BOOL=$(usex kafka)
+ -DWITH_RADOSGW_LUA_PACKAGES:BOOL=$(usex rgw-lua "$(usex radosgw)" "NO")
+ -DWITH_RBD_RWL:BOOL=$(usex rbd-rwl)
+ -DWITH_RBD_SSD_CACHE:BOOL=$(usex rbd-ssd)
+ -DWITH_SYSTEMD:BOOL=$(usex systemd)
+ -DWITH_TESTS:BOOL=$(usex test)
+ -DWITH_LIBURING:BOOL=$(usex uring)
+ -DWITH_SYSTEM_LIBURING:BOOL=$(usex uring)
+ -DWITH_LIBCEPHSQLITE:BOOL=$(usex sqlite)
+ -DWITH_XFS:BOOL=$(usex xfs)
+ -DWITH_ZBD:BOOL=$(usex zbd)
+ -DWITH_ZFS:BOOL=$(usex zfs)
+ -DENABLE_SHARED:BOOL=ON
+ -DALLOCATOR:STRING=$(usex tcmalloc 'tcmalloc' "$(usex jemalloc 'jemalloc' 'libc')")
+ -DWITH_SYSTEM_PMDK:BOOL=$(usex pmdk 'YES' "$(usex rbd-rwl)")
+ -DWITH_SYSTEM_BOOST:BOOL=$(usex system-boost)
+ -DWITH_SYSTEM_ROCKSDB:BOOL=ON
+ -DWITH_RDMA:BOOL=$(usex rdma)
+ -DCMAKE_INSTALL_DOCDIR:PATH="${EPREFIX}/usr/share/doc/${PN}-${PVR}"
+ -DCMAKE_INSTALL_SYSCONFDIR:PATH="${EPREFIX}/etc"
+ -Wno-dev
+ )
+
+ # this breaks when re-configuring for python impl
+ if [[ ${EBUILD_PHASE} == configure ]]; then
+ mycmakeargs+=(
+ -DWITH_JAEGER:BOOL=$(usex jaeger)
+ )
+ else
+ mycmakeargs+=(
+ -DWITH_RADOSGW_SELECT_PARQUET:BOOL=OFF
+ )
+ fi
+
+ # conditionally used cmake args
+ use test && mycmakearts+=( -DWITH_SYSTEM_GTEST:BOOL=$(usex test) )
+ use systemd && mycmakeargs+=( -DCMAKE_INSTALL_SYSTEMD_SERVICEDIR:PATH=$(systemd_get_systemunitdir) )
+
+ if use amd64 || use x86; then
+ local flag
+ for flag in "${CPU_FLAGS_X86[@]}"; do
+ case "${flag}" in
+ avx*)
+ local var=${flag%f}
+ mycmakeargs+=(
+ "-DHAVE_NASM_X64_${var^^}:BOOL=$(usex cpu_flags_x86_${flag})"
+ )
+ ;;
+ *) mycmakeargs+=(
+ "-DHAVE_INTEL_${flag^^}:BOOL=$(usex cpu_flags_x86_${flag})"
+ );;
+ esac
+ done
+ fi
+
+ # needed for >=glibc-2.32
+ has_version '>=sys-libs/glibc-2.32' && mycmakeargs+=( -DWITH_REENTRANT_STRSIGNAL:BOOL=ON )
+
+ rm -f "${BUILD_DIR:-${S}}/CMakeCache.txt" \
+ || die "failed to remove cmake cache"
+
+ cmake_src_configure
+
+ # bug #630232
+ sed -i "s:\"${T//:\\:}/${EPYTHON}/bin/python\":\"${PYTHON}\":" \
+ "${BUILD_DIR:-${S}}"/include/acconfig.h \
+ || die "sed failed"
+}
+
+src_configure() {
+ use custom-cflags || strip-flags
+ ceph_src_configure
+}
+
+src_compile() {
+ cmake_build VERBOSE=1 all
+
+ # we have to do this here to prevent from building everything multiple times
+ python_copy_sources
+ python_foreach_impl python_compile
+}
+
+python_compile() {
+ local CMAKE_USE_DIR="${S}"
+ ceph_src_configure
+
+ pushd "${BUILD_DIR}/src/pybind" >/dev/null || die
+ cmake_build VERBOSE=1 clean
+ cmake_build VERBOSE=1 all
+
+ # python modules are only compiled with "make install" so we need to do this to
+ # prevent doing a bunch of compilation in src_install
+ DESTDIR="${T}" cmake_build VERBOSE=1 install
+ popd >/dev/null || die
+}
+
+src_install() {
+ python_foreach_impl python_install
+
+ python_setup
+ cmake_src_install
+
+ find "${ED}" -name '*.la' -type f -delete || die
+
+ exeinto /usr/$(get_libdir)/ceph
+ newexe "${BUILD_DIR}/bin/init-ceph" init-ceph
+
+ insinto /etc/logrotate.d/
+ newins "${FILESDIR}"/ceph.logrotate-r2 ${PN}
+
+ keepdir /var/lib/${PN}{,/tmp} /var/log/${PN}/stat
+
+ fowners -R ceph:ceph /var/log/ceph
+
+ newinitd "${FILESDIR}/rbdmap.initd-r1" rbdmap
+ newinitd "${FILESDIR}/${PN}.initd-r12" ${PN}
+ newconfd "${FILESDIR}/${PN}.confd-r5" ${PN}
+
+ insinto /etc/sudoers.d
+ doins sudoers.d/*
+
+ insinto /etc/sysctl.d
+ newins "${FILESDIR}"/sysctld 90-${PN}.conf
+
+ use tcmalloc && newenvd "${FILESDIR}"/envd-tcmalloc 99${PN}-tcmalloc
+
+ # units aren't installed by the build system unless systemd is enabled
+ # so no point installing these with the USE flag disabled
+ if use systemd; then
+ systemd_install_serviced "${FILESDIR}/ceph-mds_at.service.conf" "ceph-mds@.service"
+ systemd_install_serviced "${FILESDIR}/ceph-osd_at.service.conf" "ceph-osd@.service"
+ fi
+
+ udev_dorules udev/*.rules
+ newtmpfiles "${FILESDIR}"/ceph-tmpfilesd ${PN}.conf
+
+ readme.gentoo_create_doc
+
+ # bug #630232
+ sed -i -r "s:${T//:/\\:}/${EPYTHON}:/usr:" "${ED}"/usr/bin/ceph{,-crash} \
+ || die "sed failed"
+
+ python_fix_shebang "${ED}"/usr/{,s}bin/
+
+ # python_fix_shebang apparently is not idempotent
+ local shebang_regex='(/usr/lib/python-exec/python[0-9]\.[0-9]/python)[0-9]\.[0-9]'
+ grep -r -E -l --null "${shebang_regex}" "${ED}"/usr/{s,}bin/ \
+ | xargs --null --no-run-if-empty -- sed -i -r "s:${shebang_regex}:\1:" || die
+
+ local -a rados_classes=( "${ED}/usr/$(get_libdir)/rados-classes"/* )
+ dostrip -x "${rados_classes[@]#${ED}}"
+}
+
+python_install() {
+ local CMAKE_USE_DIR="${S}"
+ pushd "${BUILD_DIR}/src/pybind" >/dev/null || die
+ DESTDIR="${ED}" cmake_build VERBOSE=1 install
+ popd >/dev/null || die
+
+ python_optimize
+}
+
+pkg_postinst() {
+ readme.gentoo_print_elog
+ tmpfiles_process ${PN}.conf
+ udev_reload
+}
diff --git a/sys-cluster/ceph/files/ceph-16.2.8-no-virtualenvs.patch b/sys-cluster/ceph/files/ceph-16.2.8-no-virtualenvs.patch
new file mode 100644
index 000000000000..79aee882c2a4
--- /dev/null
+++ b/sys-cluster/ceph/files/ceph-16.2.8-no-virtualenvs.patch
@@ -0,0 +1,82 @@
+diff --git a/cmake/modules/AddCephTest.cmake b/cmake/modules/AddCephTest.cmake
+index cd661be16c9..7183c2f2138 100644
+--- a/cmake/modules/AddCephTest.cmake
++++ b/cmake/modules/AddCephTest.cmake
+@@ -55,7 +55,6 @@ endfunction()
+
+ function(add_tox_test name)
+ set(test_name run-tox-${name})
+- set(venv_path ${CEPH_BUILD_VIRTUALENV}/${name}-virtualenv)
+ cmake_parse_arguments(TOXTEST "" "TOX_PATH" "TOX_ENVS" ${ARGN})
+ if(DEFINED TOXTEST_TOX_PATH)
+ set(tox_path ${TOXTEST_TOX_PATH})
+@@ -68,14 +67,6 @@ function(add_tox_test name)
+ list(APPEND tox_envs py3)
+ endif()
+ string(REPLACE ";" "," tox_envs "${tox_envs}")
+- add_custom_command(
+- OUTPUT ${venv_path}/bin/activate
+- COMMAND ${CMAKE_SOURCE_DIR}/src/tools/setup-virtualenv.sh --python="${Python3_EXECUTABLE}" ${venv_path}
+- WORKING_DIRECTORY ${tox_path}
+- COMMENT "preparing venv for ${name}")
+- add_custom_target(${name}-venv
+- DEPENDS ${venv_path}/bin/activate)
+- add_dependencies(tests ${name}-venv)
+ add_test(
+ NAME ${test_name}
+ COMMAND ${CMAKE_SOURCE_DIR}/src/script/run_tox.sh
+diff --git a/src/ceph-volume/CMakeLists.txt b/src/ceph-volume/CMakeLists.txt
+index 9166553dc73..9a6c87595b9 100644
+--- a/src/ceph-volume/CMakeLists.txt
++++ b/src/ceph-volume/CMakeLists.txt
+@@ -8,22 +8,6 @@ if(FREEBSD)
+ add_subdirectory(plugin/zfs)
+ endif()
+
+-# Required for running ceph-volume inventory in a vstart environment
+-set(CEPH_VOLUME_VIRTUALENV ${CEPH_BUILD_VIRTUALENV}/ceph-volume-virtualenv)
+-
+-add_custom_command(
+- OUTPUT ${CEPH_VOLUME_VIRTUALENV}/bin/python
+- COMMAND ${CMAKE_SOURCE_DIR}/src/tools/setup-virtualenv.sh --python=${Python3_EXECUTABLE} ${CEPH_VOLUME_VIRTUALENV}
+- WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}/src/ceph-volume
+- COMMENT "ceph-volume venv is being created")
+-
+-add_custom_command(
+- OUTPUT ${CEPH_VOLUME_VIRTUALENV}/bin/ceph-volume
+- DEPENDS ${CEPH_VOLUME_VIRTUALENV}/bin/python
+- COMMAND . ${CEPH_VOLUME_VIRTUALENV}/bin/activate && ${CEPH_VOLUME_VIRTUALENV}/bin/python setup.py develop && deactivate
+- WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}/src/ceph-volume
+- COMMENT "${CMAKE_SOURCE_DIR}/src/ceph-volume")
+-
+ add_custom_target(ceph-volume-venv-setup
+ DEPENDS ${CEPH_VOLUME_VIRTUALENV}/bin/ceph-volume)
+
+diff --git a/src/pybind/mgr/dashboard/CMakeLists.txt b/src/pybind/mgr/dashboard/CMakeLists.txt
+index 0c8d46d65ee..67a618f95aa 100644
+--- a/src/pybind/mgr/dashboard/CMakeLists.txt
++++ b/src/pybind/mgr/dashboard/CMakeLists.txt
+@@ -5,9 +5,6 @@ function(add_npm_command)
+ set(multi_kw COMMAND DEPENDS)
+ cmake_parse_arguments(NC "${options}" "${single_kw}" "${multi_kw}" ${ARGN})
+ string(REPLACE ";" " " command "${NC_COMMAND}")
+- if(NC_NODEENV)
+- string(REGEX REPLACE "^(.*(npm|npx) .*)$" ". ${mgr-dashboard-nodeenv-dir}/bin/activate && \\1 && deactivate" command ${command})
+- endif()
+ string(REPLACE " " ";" command "${command}")
+ add_custom_command(
+ OUTPUT "${NC_OUTPUT}"
+@@ -51,11 +48,8 @@ else(WITH_SYSTEM_NPM)
+ set(node_mirror_opt "--mirror=$ENV{NODE_MIRROR}")
+ endif()
+ add_custom_command(
+- OUTPUT "${mgr-dashboard-nodeenv-dir}/bin/npm"
+- COMMAND ${CMAKE_SOURCE_DIR}/src/tools/setup-virtualenv.sh --python=${MGR_PYTHON_EXECUTABLE} ${mgr-dashboard-nodeenv-dir}
+- COMMAND ${mgr-dashboard-nodeenv-dir}/bin/pip install nodeenv
+- COMMAND ${mgr-dashboard-nodeenv-dir}/bin/nodeenv --verbose ${node_mirror_opt} -p --node=12.18.2
+- COMMAND mkdir ${mgr-dashboard-nodeenv-dir}/.npm
++ OUTPUT "/bin/npm"
++ COMMAND /bin/nodeenv ${node_mirror_opt} -p --node=12.18.2
+ WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
+ COMMENT "dashboard nodeenv is being installed"
+ )
^ permalink raw reply related [flat|nested] 68+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-cluster/ceph/, sys-cluster/ceph/files/
@ 2022-05-13 10:59 Michał Górny
0 siblings, 0 replies; 68+ messages in thread
From: Michał Górny @ 2022-05-13 10:59 UTC (permalink / raw
To: gentoo-commits
commit: f85541d10c3ae4ea7feacc2008a278e4dee25044
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Fri May 13 10:58:30 2022 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Fri May 13 10:58:30 2022 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=f85541d1
sys-cluster/ceph: Remove old
Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>
sys-cluster/ceph/Manifest | 1 -
sys-cluster/ceph/ceph-14.2.22-r1.ebuild | 394 ---------------------
.../files/ceph-14.2.0-mgr-python-version.patch | 17 -
.../ceph/files/ceph-14.2.11-systemd-unit-fix.patch | 27 --
.../files/ceph-14.2.22-build-without-mgr.patch | 32 --
sys-cluster/ceph/files/ceph-14.2.22-cflags.patch | 25 --
.../ceph/files/ceph-14.2.22-no-virtualenvs.patch | 39 --
.../ceph/files/ceph-14.2.22-snappy-uint32.patch | 13 -
.../files/ceph-14.2.3-dpdk-compile-fix-1.patch | 111 ------
.../ceph/files/ceph-14.2.4-python-executable.patch | 29 --
.../files/ceph-14.2.4-undefined-behaviour.patch | 76 ----
11 files changed, 764 deletions(-)
diff --git a/sys-cluster/ceph/Manifest b/sys-cluster/ceph/Manifest
index 884ad263bca6..325977641159 100644
--- a/sys-cluster/ceph/Manifest
+++ b/sys-cluster/ceph/Manifest
@@ -1,4 +1,3 @@
-DIST ceph-14.2.22.tar.gz 130597047 BLAKE2B 58bbb3243de076ed1d25dfd7bd75717c50ad15d16690dcbd1511d1b506477845efc3ff7fbe713cf18fb8cfcc8c16707ad2a0f30159e3198ff82e57fbd2eb3cf2 SHA512 1c66661e1a39fa9151e95e33c390b810ffe269465d8785e2197cc15b8d83bd2edde77de48a8abd71a4da68cd5830ff14bcdf6b98fd17edabe85caeb1eca018d3
DIST ceph-15.2.16.tar.gz 148628915 BLAKE2B 4f624078027c706428eae3eddd5b5479efe3b4442c19a4e6b6cdf8d3839cf56e2863b18249dc3c5079a7e25f60796bfec3202ffd695537587654f5e2f820caaa SHA512 532b8a5073e157fe9ed552b26976faeb64dc29b79a249910c0982134ad5f945d4f57d8bf451adf63487b6d285c6e4bd5c39f0e3fcd449230d6fb3087539f8c3b
DIST ceph-16.2.7.tar.gz 156621262 BLAKE2B 3c79cb1586e71927df4578fe7f3a13f4ab257a5e145b6bf76d942292cbca7bf32583350373f3d816f6d8f8700ee0f98a14f350c823b0eb89ffd7735acee7de63 SHA512 eab047e646970d444acf1064d98237b8b1677fb16b5e771082d55880f7bc6d8bdb278c2fe514c82ae12c438878d9ecea29139fa6b8d890f9f737138f10fb740c
DIST ceph-17.2.0.tar.gz 168742006 BLAKE2B 15272da3471722936198f62b5ef7537d29bd944b35ef1552e87cf0f0f400a8be5fd1fa873494eb17ca71df9360d7ffa4fa20a6f1b1ba819520b180770a4e6299 SHA512 70b96e709f153f16069bec8346ea73812d699eaab91a012351d02addb3fd176b84fce32c3dae84fdf91d0ffe49f2bb258410b47caeee81d81a672b4dbd04cc7e
diff --git a/sys-cluster/ceph/ceph-14.2.22-r1.ebuild b/sys-cluster/ceph/ceph-14.2.22-r1.ebuild
deleted file mode 100644
index 860ccfb14768..000000000000
--- a/sys-cluster/ceph/ceph-14.2.22-r1.ebuild
+++ /dev/null
@@ -1,394 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-PYTHON_COMPAT=( python3_{7,8} )
-CMAKE_MAKEFILE_GENERATOR=emake
-
-DISTUTILS_OPTIONAL=1
-
-inherit check-reqs bash-completion-r1 cmake distutils-r1 flag-o-matic \
- python-r1 udev readme.gentoo-r1 toolchain-funcs systemd tmpfiles
-
-if [[ ${PV} == *9999* ]]; then
- inherit git-r3
- EGIT_REPO_URI="https://github.com/ceph/ceph.git"
- SRC_URI=""
-else
- SRC_URI="https://download.ceph.com/tarballs/${P}.tar.gz"
- KEYWORDS="~amd64 ~ppc64"
-fi
-
-DESCRIPTION="Ceph distributed filesystem"
-HOMEPAGE="https://ceph.com/"
-
-LICENSE="Apache-2.0 LGPL-2.1 CC-BY-SA-3.0 GPL-2 GPL-2+ LGPL-2+ LGPL-2.1 LGPL-3 GPL-3 BSD Boost-1.0 MIT public-domain"
-SLOT="0"
-
-CPU_FLAGS_X86=(sse{,2,3,4_1,4_2} ssse3)
-
-IUSE="babeltrace +cephfs custom-cflags diskprediction dpdk fuse grafana jemalloc
- kafka kerberos ldap lttng +mgr numa rabbitmq +radosgw +ssl spdk system-boost
- systemd +tcmalloc test xfs zfs"
-IUSE+=" $(printf "cpu_flags_x86_%s\n" ${CPU_FLAGS_X86[@]})"
-
-DEPEND="
- acct-group/ceph
- acct-user/ceph
- virtual/libudev:=
- app-arch/bzip2:=
- app-arch/lz4:=
- app-arch/snappy:=
- app-arch/zstd:=
- app-shells/bash:0
- app-misc/jq:=
- dev-libs/crypto++:=
- <dev-libs/leveldb-1.21:=[snappy,tcmalloc(-)?]
- dev-libs/libaio:=
- dev-libs/libnl:3=
- dev-libs/libxml2:=
- <dev-libs/rocksdb-6.15:=
- dev-libs/xmlsec:=[openssl]
- dev-cpp/yaml-cpp:=
- dev-libs/nss:=
- dev-libs/protobuf:=
- net-dns/c-ares:=
- net-libs/gnutls:=
- sys-auth/oath-toolkit:=
- sys-apps/coreutils
- sys-apps/grep
- sys-apps/hwloc:=
- sys-apps/keyutils:=
- sys-apps/util-linux:=
- sys-apps/sed
- sys-apps/util-linux
- sys-libs/libcap-ng:=
- sys-libs/ncurses:0=
- sys-libs/zlib:=
- sys-process/numactl:=
- x11-libs/libpciaccess:=
- virtual/libcrypt:=
- babeltrace? ( dev-util/babeltrace )
- fuse? ( sys-fs/fuse:0= )
- jemalloc? ( dev-libs/jemalloc:= )
- !jemalloc? ( >=dev-util/google-perftools-2.6.1:= )
- kafka? ( dev-libs/librdkafka:= )
- kerberos? ( virtual/krb5 )
- ldap? ( net-nds/openldap:= )
- lttng? ( dev-util/lttng-ust:= )
- rabbitmq? ( net-libs/rabbitmq-c:= )
- radosgw? (
- dev-libs/expat:=
- dev-libs/openssl:=
- net-misc/curl:=[curl_ssl_openssl]
- )
- ssl? ( dev-libs/openssl:= )
- system-boost? ( dev-libs/boost:=[threads(+),context,python,${PYTHON_USEDEP}] )
- xfs? ( sys-fs/xfsprogs:= )
- zfs? ( sys-fs/zfs:= )
-"
-BDEPEND="
- ${PYTHON_DEPS}
- amd64? ( dev-lang/yasm )
- x86? ( dev-lang/yasm )
- app-arch/cpio
- >=dev-util/cmake-3.5.0
- dev-python/cython[${PYTHON_USEDEP}]
- dev-python/setuptools[${PYTHON_USEDEP}]
- dev-python/sphinx
- dev-util/cunit
- dev-util/gperf
- dev-util/ragel
- dev-util/valgrind
- sys-apps/coreutils
- sys-apps/grep
- sys-apps/sed
- sys-apps/which
- sys-devel/bc
- sys-devel/patch
- virtual/pkgconfig
- test? (
- dev-python/coverage[${PYTHON_USEDEP}]
- dev-python/virtualenv[${PYTHON_USEDEP}]
- dev-python/requests-mock[${PYTHON_USEDEP}]
- sys-apps/grep[pcre]
- sys-fs/btrfs-progs
- )
-"
-RDEPEND="${DEPEND}
- ${PYTHON_DEPS}
- app-admin/sudo
- net-misc/socat
- sys-apps/gptfdisk
- >=sys-apps/smartmontools-7.0
- sys-block/parted
- sys-fs/cryptsetup
- sys-fs/lsscsi
- sys-fs/lvm2[-device-mapper-only(-)]
- virtual/awk
- dev-python/bcrypt[${PYTHON_USEDEP}]
- dev-python/cherrypy[${PYTHON_USEDEP}]
- dev-python/flask[${PYTHON_USEDEP}]
- dev-python/jinja[${PYTHON_USEDEP}]
- dev-python/pecan[${PYTHON_USEDEP}]
- dev-python/prettytable[${PYTHON_USEDEP}]
- dev-python/pyopenssl[${PYTHON_USEDEP}]
- dev-python/requests[${PYTHON_USEDEP}]
- dev-python/setuptools[${PYTHON_USEDEP}]
- dev-python/werkzeug[${PYTHON_USEDEP}]
- mgr? (
- dev-python/more-itertools[${PYTHON_USEDEP}]
- dev-python/numpy[${PYTHON_USEDEP}]
- <dev-python/pyjwt-2.0[${PYTHON_USEDEP}]
- dev-python/pyyaml[${PYTHON_USEDEP}]
- dev-python/routes[${PYTHON_USEDEP}]
- sci-libs/scikit-learn[${PYTHON_USEDEP}]
- dev-python/six[${PYTHON_USEDEP}]
- )
-"
-# diskprediction needs older scipy not compatible with py38
-# bug #724438
-REQUIRED_USE="
- ${PYTHON_REQUIRED_USE}
- ?? ( jemalloc tcmalloc )
- diskprediction? ( mgr !python_targets_python3_8 )
- kafka? ( radosgw )
- mgr? ( cephfs )
- rabbitmq? ( radosgw )
-"
-RESTRICT="!test? ( test )"
-
-# the tests need root access
-RESTRICT="test? ( userpriv )"
-
-# distribution tarball does not include everything needed for tests
-RESTRICT+=" test"
-
-# create a non-debug release
-CMAKE_BUILD_TYPE=RelWithDebInfo
-
-# false positives unless all USE flags are on
-CMAKE_WARN_UNUSED_CLI=no
-
-PATCHES=(
- "${FILESDIR}/ceph-12.2.0-use-provided-cpu-flag-values.patch"
- "${FILESDIR}/ceph-14.2.0-cflags.patch"
- "${FILESDIR}/ceph-12.2.4-boost-build-none-options.patch"
- "${FILESDIR}/ceph-14.2.22-cflags.patch"
- "${FILESDIR}/ceph-14.2.0-mgr-python-version.patch"
- "${FILESDIR}/ceph-14.2.22-no-virtualenvs.patch"
- "${FILESDIR}/ceph-13.2.2-dont-install-sysvinit-script.patch"
- "${FILESDIR}/ceph-14.2.0-dpdk-cflags.patch"
- "${FILESDIR}/ceph-14.2.0-cython-0.29.patch"
- "${FILESDIR}/ceph-14.2.3-dpdk-compile-fix-1.patch"
- "${FILESDIR}/ceph-14.2.4-python-executable.patch"
- "${FILESDIR}/ceph-14.2.4-undefined-behaviour.patch"
- "${FILESDIR}/ceph-14.2.22-build-without-mgr.patch"
- "${FILESDIR}/ceph-14.2.11-systemd-unit-fix.patch"
- "${FILESDIR}/ceph-15.2.9-dont-compile-isal_compress-if-don-t-have-SSE4_1.patch"
- "${FILESDIR}/ceph-14.2.22-snappy-uint32.patch"
-)
-
-check-reqs_export_vars() {
- CHECKREQS_DISK_BUILD="5200M"
- CHECKREQS_DISK_USR="510M"
-
- export CHECKREQS_DISK_BUILD CHECKREQS_DISK_USR
-}
-
-pkg_pretend() {
- check-reqs_export_vars
- check-reqs_pkg_pretend
-}
-
-pkg_setup() {
- python_setup
- check-reqs_export_vars
- check-reqs_pkg_setup
-}
-
-src_prepare() {
- cmake_src_prepare
-
- if use system-boost; then
- find "${S}" -name '*.cmake' -or -name 'CMakeLists.txt' -print0 \
- | xargs --null sed -r \
- -e 's|Boost::|boost_|g' \
- -e 's|Boost_|boost_|g' \
- -e 's|[Bb]oost_boost|boost_system|g' -i || die
- fi
-
- sed -r -e "s:DESTINATION .+\\):DESTINATION $(get_bashcompdir)\\):" \
- -i src/bash_completion/CMakeLists.txt || die
-
- sed -e "s:objdump -p:$(tc-getOBJDUMP) -p:" -i CMakeLists.txt || die
-
- if ! use diskprediction; then
- rm -rf src/pybind/mgr/diskprediction_local || die
- fi
-
- # remove tests that need root access
- rm src/test/cli/ceph-authtool/cap*.t || die
-}
-
-ceph_src_configure() {
- local flag
- local mycmakeargs=(
- -DWITH_BABELTRACE=$(usex babeltrace)
- -DWITH_CEPHFS=$(usex cephfs)
- -DWITH_CEPHFS_SHELL=$(usex cephfs)
- -DWITH_DPDK=$(usex dpdk)
- -DWITH_SPDK=$(usex spdk)
- -DWITH_FUSE=$(usex fuse)
- -DWITH_LTTNG=$(usex lttng)
- -DWITH_GSSAPI=$(usex kerberos)
- -DWITH_GRAFANA=$(usex grafana)
- -DWITH_MGR=$(usex mgr)
- -DWITH_MGR_DASHBOARD_FRONTEND=OFF
- -DWITH_NUMA=$(usex numa)
- -DWITH_OPENLDAP=$(usex ldap)
- -DWITH_PYTHON3=3
- -DWITH_RADOSGW=$(usex radosgw)
- -DWITH_RADOSGW_AMQP_ENDPOINT=$(usex rabbitmq)
- -DWITH_RADOSGW_KAFKA_ENDPOINT=$(usex kafka)
- -DWITH_SSL=$(usex ssl)
- -DWITH_SYSTEMD=$(usex systemd)
- -DWITH_TESTS=$(usex test)
- -DWITH_XFS=$(usex xfs)
- -DWITH_ZFS=$(usex zfs)
- -DENABLE_SHARED="ON"
- -DALLOCATOR=$(usex tcmalloc 'tcmalloc' "$(usex jemalloc 'jemalloc' 'libc')")
- -DWITH_SYSTEM_BOOST=$(usex system-boost)
- -DBOOST_J=$(makeopts_jobs)
- -DWITH_SYSTEM_ROCKSDB=ON
- -DWITH_RDMA=OFF
- -DWITH_TBB=OFF
- -DSYSTEMD_UNITDIR=$(systemd_get_systemunitdir)
- -DCMAKE_INSTALL_SYSTEMD_SERVICEDIR=$(systemd_get_systemunitdir)
- -DEPYTHON_VERSION="${EPYTHON#python}"
- -DCMAKE_INSTALL_DOCDIR="${EPREFIX}/usr/share/doc/${PN}-${PVR}"
- -DCMAKE_INSTALL_SYSCONFDIR="${EPREFIX}/etc"
- -Wno-dev
- )
- if use amd64 || use x86; then
- for flag in ${CPU_FLAGS_X86[@]}; do
- mycmakeargs+=("$(usex cpu_flags_x86_${flag} "-DHAVE_INTEL_${flag^^}=1")")
- done
- fi
-
- # needed for >=glibc-2.32
- has_version '>=sys-libs/glibc-2.32' && mycmakeargs+=(-DWITH_REENTRANT_STRSIGNAL:BOOL=ON)
-
- rm -f "${BUILD_DIR:-${S}}/CMakeCache.txt" \
- || die "failed to remove cmake cache"
-
- cmake_src_configure
-
- # bug #630232
- sed -i "s:\"${T//:\\:}/${EPYTHON}/bin/python\":\"${PYTHON}\":" \
- "${BUILD_DIR:-${S}}"/include/acconfig.h \
- || die "sed failed"
-}
-
-src_configure() {
- use custom-cflags || strip-flags
- ceph_src_configure
-}
-
-python_compile() {
- local CMAKE_USE_DIR="${S}"
- ceph_src_configure
-
- pushd "${BUILD_DIR}/src/pybind" >/dev/null || die
- emake VERBOSE=1 clean
- emake VERBOSE=1 all
-
- # python modules are only compiled with "make install" so we need to do this to
- # prevent doing a bunch of compilation in src_install
- DESTDIR="${T}" emake VERBOSE=1 install
- popd >/dev/null || die
-}
-
-src_compile() {
- cmake_build VERBOSE=1 all
-
- # we have to do this here to prevent from building everything multiple times
- python_copy_sources
- python_foreach_impl python_compile
-}
-
-src_test() {
- make check || die "make check failed"
-}
-
-python_install() {
- local CMAKE_USE_DIR="${S}"
- pushd "${BUILD_DIR}/src/pybind" >/dev/null || die
- DESTDIR="${ED}" emake VERBOSE=1 install
- popd >/dev/null || die
-
- python_optimize
-}
-
-src_install() {
- cmake_src_install
- python_foreach_impl python_install
-
- find "${ED}" -name '*.la' -type f -delete || die
-
- exeinto /usr/$(get_libdir)/ceph
- newexe "${BUILD_DIR}/bin/init-ceph" init-ceph
-
- insinto /etc/logrotate.d/
- newins "${FILESDIR}"/ceph.logrotate-r2 ${PN}
-
- keepdir /var/lib/${PN}{,/tmp} /var/log/${PN}/stat
-
- fowners -R ceph:ceph /var/log/ceph
-
- newinitd "${FILESDIR}/rbdmap.initd" rbdmap
- newinitd "${FILESDIR}/${PN}.initd-r12" ${PN}
- newconfd "${FILESDIR}/${PN}.confd-r5" ${PN}
-
- insinto /etc/sysctl.d
- newins "${FILESDIR}"/sysctld 90-${PN}.conf
-
- use tcmalloc && newenvd "${FILESDIR}"/envd-tcmalloc 99${PN}-tcmalloc
-
- # units aren't installed by the build system unless systemd is enabled
- # so no point installing these with the USE flag disabled
- if use systemd; then
- systemd_install_serviced "${FILESDIR}/ceph-mds_at.service.conf" \
- "ceph-mds@.service"
-
- systemd_install_serviced "${FILESDIR}/ceph-osd_at.service.conf" \
- "ceph-osd@.service"
-
- fi
-
- udev_dorules udev/*.rules
- newtmpfiles "${FILESDIR}"/ceph-tmpfilesd ${PN}.conf
-
- readme.gentoo_create_doc
-
- python_setup
-
- # bug #630232
- sed -i -r "s:${T//:/\\:}/${EPYTHON}:/usr:" "${ED}"/usr/bin/ceph{,-crash} \
- || die "sed failed"
-
- python_fix_shebang "${ED}"/usr/{,s}bin/
-
- # python_fix_shebang apparently is not idempotent
- local shebang_regex='(/usr/lib/python-exec/python[0-9]\.[0-9]/python)[0-9]\.[0-9]'
- grep -r -E -l --null "${shebang_regex}" "${ED}"/usr/{s,}bin/ \
- | xargs --null --no-run-if-empty -- sed -i -r "s:${shebang_regex}:\1:" || die
-
- local -a rados_classes=( "${ED}/usr/$(get_libdir)/rados-classes"/* )
- dostrip -x "${rados_classes[@]#${ED}}"
-}
-
-pkg_postinst() {
- readme.gentoo_print_elog
- tmpfiles_process ${PN}.conf
-}
diff --git a/sys-cluster/ceph/files/ceph-14.2.0-mgr-python-version.patch b/sys-cluster/ceph/files/ceph-14.2.0-mgr-python-version.patch
deleted file mode 100644
index e4502a608ec2..000000000000
--- a/sys-cluster/ceph/files/ceph-14.2.0-mgr-python-version.patch
+++ /dev/null
@@ -1,17 +0,0 @@
-diff --git a/src/pybind/CMakeLists.txt b/src/pybind/CMakeLists.txt
-index 664543172a..e74d73c084 100644
---- a/src/pybind/CMakeLists.txt
-+++ b/src/pybind/CMakeLists.txt
-@@ -62,12 +62,6 @@ foreach(python_version ${py_vers})
- endforeach()
-
- if(WITH_MGR)
-- if(NOT WITH_PYTHON2 AND MGR_PYTHON_VERSION_MAJOR EQUAL 2)
-- message(FATAL_ERROR "mgr plugins require python2 binding")
-- elseif(NOT WITH_PYTHON3 AND MGR_PYTHON_VERSION_MAJOR EQUAL 3)
-- message(FATAL_ERROR "mgr plugins require python3 binding")
-- endif()
--
- if(USE_OPENSSL)
- execute_process(
- COMMAND ${PYTHON${PYTHON_VERSION}_EXECUTABLE} -c "import ssl; print('.'.join(map(str,ssl.OPENSSL_VERSION_INFO[0:3])))"
diff --git a/sys-cluster/ceph/files/ceph-14.2.11-systemd-unit-fix.patch b/sys-cluster/ceph/files/ceph-14.2.11-systemd-unit-fix.patch
deleted file mode 100644
index 7309fea029e1..000000000000
--- a/sys-cluster/ceph/files/ceph-14.2.11-systemd-unit-fix.patch
+++ /dev/null
@@ -1,27 +0,0 @@
-From bd8b8540f6b67a25585ca9cf140d6de760bc2a43 Mon Sep 17 00:00:00 2001
-From: Jan Fajerski <jfajerski@suse.com>
-Date: Fri, 12 Jun 2020 09:27:36 +0200
-Subject: [PATCH] systemd/ceph-osd: ceph-osd-prestart.sh now lives in
- /usr/libexec
-
-Fixes: https://tracker.ceph.com/issues/45984
-Fixes: ed6552d5067c9f1d34c426f9ae18b0c37f2a9d29
-
-Signed-off-by: Jan Fajerski <jfajerski@suse.com>
----
- systemd/ceph-osd@.service.in | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/systemd/ceph-osd@.service.in b/systemd/ceph-osd@.service.in
-index a0067d347220..4a2254e99478 100644
---- a/systemd/ceph-osd@.service.in
-+++ b/systemd/ceph-osd@.service.in
-@@ -9,7 +9,7 @@ Environment=CLUSTER=ceph
- EnvironmentFile=-@SYSTEMD_ENV_FILE@
- Environment=CLUSTER=ceph
- ExecStart=/usr/bin/ceph-osd -f --cluster ${CLUSTER} --id %i --setuser ceph --setgroup ceph
--ExecStartPre=/usr/lib/ceph/ceph-osd-prestart.sh --cluster ${CLUSTER} --id %i
-+ExecStartPre=@CMAKE_INSTALL_FULL_LIBEXECDIR@/ceph/ceph-osd-prestart.sh --cluster ${CLUSTER} --id %i
- ExecReload=/bin/kill -HUP $MAINPID
- LockPersonality=true
- MemoryDenyWriteExecute=true
diff --git a/sys-cluster/ceph/files/ceph-14.2.22-build-without-mgr.patch b/sys-cluster/ceph/files/ceph-14.2.22-build-without-mgr.patch
deleted file mode 100644
index f3ba34cc165c..000000000000
--- a/sys-cluster/ceph/files/ceph-14.2.22-build-without-mgr.patch
+++ /dev/null
@@ -1,32 +0,0 @@
-diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
-index ed4bbc75d44..5f5e72918d2 100644
---- a/src/CMakeLists.txt
-+++ b/src/CMakeLists.txt
-@@ -451,9 +451,7 @@ if(WITH_LIBRADOSSTRIPER)
- add_subdirectory(libradosstriper)
- endif()
-
--if(WITH_MGR)
-- add_subdirectory(mgr)
--endif()
-+add_subdirectory(mgr)
-
- set(librados_config_srcs
- librados-config.cc)
-diff --git a/src/mgr/CMakeLists.txt b/src/mgr/CMakeLists.txt
-index e7caaeff099..b4f13c05184 100644
---- a/src/mgr/CMakeLists.txt
-+++ b/src/mgr/CMakeLists.txt
-@@ -1,6 +1,7 @@
- add_library(mgr_cap_obj OBJECT
- MgrCap.cc)
-
-+if(WITH_MGR)
- set(mgr_srcs
- ${CMAKE_SOURCE_DIR}/src/ceph_mgr.cc
- ${CMAKE_SOURCE_DIR}/src/mon/PGMap.cc
-@@ -36,3 +37,4 @@ target_link_libraries(ceph-mgr
- set_target_properties(ceph-mgr PROPERTIES
- POSITION_INDEPENDENT_CODE ${EXE_LINKER_USE_PIE})
- install(TARGETS ceph-mgr DESTINATION bin)
-+endif()
diff --git a/sys-cluster/ceph/files/ceph-14.2.22-cflags.patch b/sys-cluster/ceph/files/ceph-14.2.22-cflags.patch
deleted file mode 100644
index 5c9f17098616..000000000000
--- a/sys-cluster/ceph/files/ceph-14.2.22-cflags.patch
+++ /dev/null
@@ -1,25 +0,0 @@
-diff --git a/cmake/modules/BuildBoost.cmake b/cmake/modules/BuildBoost.cmake
-index eaab331413b..4ee3f1b0768 100644
---- a/cmake/modules/BuildBoost.cmake
-+++ b/cmake/modules/BuildBoost.cmake
-@@ -62,7 +62,7 @@ function(do_build_boost version)
- else()
- list(APPEND boost_features "address-model=32")
- endif()
-- set(BOOST_CXXFLAGS "-fPIC -w") # check on arm, etc <---XXX
-+ set(BOOST_CXXFLAGS "${CMAKE_CXX_FLAGS} -fPIC -w") # check on arm, etc <---XXX
- list(APPEND boost_features "cxxflags=${BOOST_CXXFLAGS}")
-
- set(boost_with_libs)
-diff --git a/cmake/modules/BuildZstd.cmake b/cmake/modules/BuildZstd.cmake
-index 799b14b281d..9b4b5ee8dcf 100644
---- a/cmake/modules/BuildZstd.cmake
-+++ b/cmake/modules/BuildZstd.cmake
-@@ -1,6 +1,6 @@
- # libzstd - build it statically
- function(build_Zstd)
-- set(ZSTD_C_FLAGS "-fPIC -Wno-unused-variable -O3")
-+ set(ZSTD_C_FLAGS "-fPIC -Wno-unused-variable $ENV{CFLAGS} -O3")
-
- include(ExternalProject)
- ExternalProject_Add(zstd_ext
diff --git a/sys-cluster/ceph/files/ceph-14.2.22-no-virtualenvs.patch b/sys-cluster/ceph/files/ceph-14.2.22-no-virtualenvs.patch
deleted file mode 100644
index 534133122f99..000000000000
--- a/sys-cluster/ceph/files/ceph-14.2.22-no-virtualenvs.patch
+++ /dev/null
@@ -1,39 +0,0 @@
-diff --git a/src/pybind/mgr/dashboard/CMakeLists.txt b/src/pybind/mgr/dashboard/CMakeLists.txt
-index 7c9cc4abd56..9f84b0c2b26 100644
---- a/src/pybind/mgr/dashboard/CMakeLists.txt
-+++ b/src/pybind/mgr/dashboard/CMakeLists.txt
-@@ -2,7 +2,7 @@ set(MGR_DASHBOARD_VIRTUALENV ${CEPH_BUILD_VIRTUALENV}/mgr-dashboard-virtualenv)
-
- add_custom_target(mgr-dashboard-test-venv
- COMMAND
-- ${CMAKE_SOURCE_DIR}/src/tools/setup-virtualenv.sh --python=${MGR_PYTHON_EXECUTABLE} ${MGR_DASHBOARD_VIRTUALENV}
-+ #${CMAKE_SOURCE_DIR}/src/tools/setup-virtualenv.sh --python=${MGR_PYTHON_EXECUTABLE} ${MGR_DASHBOARD_VIRTUALENV}
- WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}/src/pybind/mgr/dashboard
- COMMENT "dashboard tests virtualenv is being created")
- add_dependencies(tests mgr-dashboard-test-venv)
-@@ -14,9 +14,9 @@ function(add_npm_command)
- set(multi_kw COMMAND DEPENDS)
- cmake_parse_arguments(NC "${options}" "${single_kw}" "${multi_kw}" ${ARGN})
- string(REPLACE ";" " " command "${NC_COMMAND}")
-- if(NC_NODEENV)
-- string(REGEX REPLACE "^(.*(npm|npx) .*)$" ". ${mgr-dashboard-nodeenv-dir}/bin/activate && \\1 && deactivate" command ${command})
-- endif()
-+ #if(NC_NODEENV)
-+ # string(REGEX REPLACE "^(.*(npm|npx) .*)$" ". ${mgr-dashboard-nodeenv-dir}/bin/activate && \\1 && deactivate" command ${command})
-+ #endif()
- string(REPLACE " " ";" command "${command}")
- add_custom_command(
- OUTPUT "${NC_OUTPUT}"
-@@ -41,9 +41,9 @@ else()
-
- add_custom_command(
- OUTPUT "${mgr-dashboard-nodeenv-dir}/bin/npm"
-- COMMAND ${CMAKE_SOURCE_DIR}/src/tools/setup-virtualenv.sh --python=${MGR_PYTHON_EXECUTABLE} ${mgr-dashboard-nodeenv-dir}
-- COMMAND ${mgr-dashboard-nodeenv-dir}/bin/pip install nodeenv
-- COMMAND ${mgr-dashboard-nodeenv-dir}/bin/nodeenv --verbose -p --node=10.13.0
-+ #COMMAND ${CMAKE_SOURCE_DIR}/src/tools/setup-virtualenv.sh --python=${MGR_PYTHON_EXECUTABLE} ${mgr-dashboard-nodeenv-dir}
-+ #COMMAND ${mgr-dashboard-nodeenv-dir}/bin/pip install nodeenv
-+ #COMMAND ${mgr-dashboard-nodeenv-dir}/bin/nodeenv --verbose -p --node=10.13.0
- WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
- COMMENT "dashboard nodeenv is being installed"
- )
diff --git a/sys-cluster/ceph/files/ceph-14.2.22-snappy-uint32.patch b/sys-cluster/ceph/files/ceph-14.2.22-snappy-uint32.patch
deleted file mode 100644
index c783558a1758..000000000000
--- a/sys-cluster/ceph/files/ceph-14.2.22-snappy-uint32.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-diff --git a/src/compressor/snappy/SnappyCompressor.h b/src/compressor/snappy/SnappyCompressor.h
-index 0291a923112..352ab9a9bcf 100644
---- a/src/compressor/snappy/SnappyCompressor.h
-+++ b/src/compressor/snappy/SnappyCompressor.h
-@@ -96,7 +96,7 @@ class SnappyCompressor : public Compressor {
- if (qat_enabled)
- return qat_accel.decompress(p, compressed_len, dst);
- #endif
-- snappy::uint32 res_len = 0;
-+ uint32_t res_len = 0;
- BufferlistSource source_1(p, compressed_len);
- if (!snappy::GetUncompressedLength(&source_1, &res_len)) {
- return -1;
diff --git a/sys-cluster/ceph/files/ceph-14.2.3-dpdk-compile-fix-1.patch b/sys-cluster/ceph/files/ceph-14.2.3-dpdk-compile-fix-1.patch
deleted file mode 100644
index ef06758326e9..000000000000
--- a/sys-cluster/ceph/files/ceph-14.2.3-dpdk-compile-fix-1.patch
+++ /dev/null
@@ -1,111 +0,0 @@
-diff --git a/src/msg/async/dpdk/DPDKStack.cc b/src/msg/async/dpdk/DPDKStack.cc
-index 3101ae57ac..1db97c289a 100644
---- a/src/msg/async/dpdk/DPDKStack.cc
-+++ b/src/msg/async/dpdk/DPDKStack.cc
-@@ -203,7 +203,9 @@ DPDKWorker::Impl::~Impl()
- _dev->unset_local_queue(id);
- }
-
--int DPDKWorker::listen(entity_addr_t &sa, const SocketOptions &opt,
-+int DPDKWorker::listen(entity_addr_t &sa,
-+ unsigned addr_slot,
-+ const SocketOptions &opt,
- ServerSocket *sock)
- {
- ceph_assert(sa.get_family() == AF_INET);
-diff --git a/src/msg/async/dpdk/DPDKStack.h b/src/msg/async/dpdk/DPDKStack.h
-index a44ae38367..622ff8a3c6 100644
---- a/src/msg/async/dpdk/DPDKStack.h
-+++ b/src/msg/async/dpdk/DPDKStack.h
-@@ -37,7 +37,7 @@ class DPDKServerSocketImpl : public ServerSocketImpl {
- typename Protocol::listener _listener;
- public:
- DPDKServerSocketImpl(Protocol& proto, uint16_t port, const SocketOptions &opt,
-- int type);
-+ int type, unsigned addr_slot);
- int listen() {
- return _listener.listen();
- }
-@@ -184,8 +184,9 @@ class NativeConnectedSocketImpl : public ConnectedSocketImpl {
-
- template <typename Protocol>
- DPDKServerSocketImpl<Protocol>::DPDKServerSocketImpl(
-- Protocol& proto, uint16_t port, const SocketOptions &opt, int type)
-- : ServerSocketImpl(type), _listener(proto.listen(port)) {}
-+ Protocol& proto, uint16_t port, const SocketOptions &opt,
-+ int type, unsigned addr_slot)
-+ : ServerSocketImpl(type, addr_slot), _listener(proto.listen(port)) {}
-
- template <typename Protocol>
- int DPDKServerSocketImpl<Protocol>::accept(ConnectedSocket *s, const SocketOptions &options, entity_addr_t *out, Worker *w) {
-@@ -229,7 +230,8 @@ class DPDKWorker : public Worker {
-
- public:
- explicit DPDKWorker(CephContext *c, unsigned i): Worker(c, i) {}
-- virtual int listen(entity_addr_t &addr, const SocketOptions &opts, ServerSocket *) override;
-+ virtual int listen(entity_addr_t &addr, unsigned addr_slot,
-+ const SocketOptions &opts, ServerSocket *) override;
- virtual int connect(const entity_addr_t &addr, const SocketOptions &opts, ConnectedSocket *socket) override;
- void arp_learn(ethernet_address l2, ipv4_address l3) {
- _impl->_inet.learn(l2, l3);
-diff --git a/src/msg/async/dpdk/TCP.cc b/src/msg/async/dpdk/TCP.cc
-index c6397709b1..26f29e10f7 100644
---- a/src/msg/async/dpdk/TCP.cc
-+++ b/src/msg/async/dpdk/TCP.cc
-@@ -153,9 +153,10 @@ bool ipv4_tcp::forward(forward_hash& out_hash_data, Packet& p, size_t off)
- }
-
- int tcpv4_listen(tcp<ipv4_traits>& tcpv4, uint16_t port, const SocketOptions &opts,
-- int type, ServerSocket *sock)
-+ int type, unsigned addr_slot, ServerSocket *sock)
- {
-- auto p = new DPDKServerSocketImpl<tcp<ipv4_traits>>(tcpv4, port, opts, type);
-+ auto p = new DPDKServerSocketImpl<tcp<ipv4_traits>>(tcpv4, port, opts,
-+ type, addr_slot);
- int r = p->listen();
- if (r < 0) {
- delete p;
-diff --git a/src/msg/async/dpdk/DPDK.h b/src/msg/async/dpdk/DPDK.h
-index fa12af6b27..6bb52973e0 100644
---- a/src/msg/async/dpdk/DPDK.h
-+++ b/src/msg/async/dpdk/DPDK.h
-@@ -833,7 +833,7 @@ class DPDKDevice {
- subscription<Packet> receive(unsigned cpuid, std::function<int (Packet)> next_packet) {
- auto sub = _queues[cpuid]->_rx_stream.listen(std::move(next_packet));
- _queues[cpuid]->rx_start();
-- return std::move(sub);
-+ return sub;
- }
- ethernet_address hw_address() {
- struct ether_addr mac;
-@@ -849,7 +849,7 @@ class DPDKDevice {
- std::unique_ptr<DPDKQueuePair> init_local_queue(CephContext *c, EventCenter *center, string hugepages, uint16_t qid) {
- std::unique_ptr<DPDKQueuePair> qp;
- qp = std::unique_ptr<DPDKQueuePair>(new DPDKQueuePair(c, center, this, qid));
-- return std::move(qp);
-+ return qp;
- }
- unsigned hash2qid(uint32_t hash) {
- // return hash % hw_queues_count();
-diff --git a/src/msg/async/dpdk/Packet.h b/src/msg/async/dpdk/Packet.h
-index db9cd2a764..f929da3178 100644
---- a/src/msg/async/dpdk/Packet.h
-+++ b/src/msg/async/dpdk/Packet.h
-@@ -125,7 +125,7 @@ class Packet {
- n->rss_hash.construct(old->rss_hash);
- std::copy(old->frags, old->frags + old->_nr_frags, n->frags);
- old->copy_internal_fragment_to(n.get());
-- return std::move(n);
-+ return n;
- }
-
- static std::unique_ptr<impl> copy(impl* old) {
-@@ -134,7 +134,7 @@ class Packet {
-
- static std::unique_ptr<impl> allocate_if_needed(std::unique_ptr<impl> old, size_t extra_frags) {
- if (old->_allocated_frags >= old->_nr_frags + extra_frags) {
-- return std::move(old);
-+ return old;
- }
- return copy(old.get(), std::max<size_t>(old->_nr_frags + extra_frags, 2 * old->_nr_frags));
- }
diff --git a/sys-cluster/ceph/files/ceph-14.2.4-python-executable.patch b/sys-cluster/ceph/files/ceph-14.2.4-python-executable.patch
deleted file mode 100644
index 40feaf11ad39..000000000000
--- a/sys-cluster/ceph/files/ceph-14.2.4-python-executable.patch
+++ /dev/null
@@ -1,29 +0,0 @@
-diff --git a/src/ceph-crash.in b/src/ceph-crash.in
-index 5bfb50c474..d53c4eeb6a 100755
---- a/src/ceph-crash.in
-+++ b/src/ceph-crash.in
-@@ -1,4 +1,4 @@
--#!@PYTHON_EXECUTABLE@
-+#!@PYTHON3_EXECUTABLE@
- # -*- mode:python -*-
- # vim: ts=4 sw=4 smarttab expandtab
-
-diff --git a/src/ceph.in b/src/ceph.in
-index f060023f57..3a84263ccc 100755
---- a/src/ceph.in
-+++ b/src/ceph.in
-@@ -1,4 +1,4 @@
--#!@PYTHON_EXECUTABLE@
-+#!@PYTHON3_EXECUTABLE@
- # -*- mode:python -*-
- # vim: ts=4 sw=4 smarttab expandtab
- #
-@@ -66,7 +66,7 @@ DEVMODEMSG = '*** DEVELOPER MODE: setting PATH, PYTHONPATH and LD_LIBRARY_PATH *
- def respawn_in_path(lib_path, pybind_path, pythonlib_path, asan_lib_path):
- execv_cmd = []
- if 'CEPH_DBG' in os.environ:
-- execv_cmd += ['@PYTHON_EXECUTABLE@', '-mpdb']
-+ execv_cmd += ['@PYTHON3_EXECUTABLE@', '-mpdb']
-
- if platform.system() == "Darwin":
- lib_path_var = "DYLD_LIBRARY_PATH"
diff --git a/sys-cluster/ceph/files/ceph-14.2.4-undefined-behaviour.patch b/sys-cluster/ceph/files/ceph-14.2.4-undefined-behaviour.patch
deleted file mode 100644
index 99249fb01a0c..000000000000
--- a/sys-cluster/ceph/files/ceph-14.2.4-undefined-behaviour.patch
+++ /dev/null
@@ -1,76 +0,0 @@
-diff --git a/src/include/blobhash.h b/src/include/blobhash.h
-index 597884e4c9..97f2065ce3 100644
---- a/src/include/blobhash.h
-+++ b/src/include/blobhash.h
-@@ -14,33 +14,40 @@
- #ifndef CEPH_BLOBHASH_H
- #define CEPH_BLOBHASH_H
-
-+#include <cstdint>
- #include "hash.h"
-
--/*
--- this is to make some of the STL types work with 64 bit values, string hash keys, etc.
--- added when i was using an old STL.. maybe try taking these out and see if things
-- compile now?
--*/
--
- class blobhash {
- public:
-- uint32_t operator()(const char *p, unsigned len) {
-- static rjhash<uint32_t> H;
-- uint32_t acc = 0;
-+ uint32_t operator()(const void* p, size_t len) {
-+ static rjhash<std::uint32_t> H;
-+ std::uint32_t acc = 0;
-+ auto buf = static_cast<const unsigned char*>(p);
- while (len >= sizeof(acc)) {
-- acc ^= *(uint32_t*)p;
-- p += sizeof(uint32_t);
-- len -= sizeof(uint32_t);
-+ acc ^= unaligned_load(buf);
-+ buf += sizeof(std::uint32_t);
-+ len -= sizeof(std::uint32_t);
- }
-- int sh = 0;
-- while (len) {
-- acc ^= (uint32_t)*p << sh;
-- sh += 8;
-- len--;
-- p++;
-+ // handle the last few bytes of p[-(len % 4):]
-+ switch (len) {
-+ case 3:
-+ acc ^= buf[2] << 16;
-+ [[fallthrough]];
-+ case 2:
-+ acc ^= buf[1] << 8;
-+ [[fallthrough]];
-+ case 1:
-+ acc ^= buf[0];
-+ [[fallthrough]];
- }
- return H(acc);
- }
-+private:
-+ static inline std::uint32_t unaligned_load(const unsigned char* p) {
-+ std::uint32_t result;
-+ __builtin_memcpy(&result, p, sizeof(result));
-+ return result;
-+ }
- };
-
-
-diff --git a/src/msg/msg_types.h b/src/msg/msg_types.h
-index b6952ca498..576b7d6b8a 100644
---- a/src/msg/msg_types.h
-+++ b/src/msg/msg_types.h
-@@ -566,7 +566,7 @@ namespace std {
- size_t operator()( const entity_addr_t& x ) const
- {
- static blobhash H;
-- return H((const char*)&x, sizeof(x));
-+ return H(&x, sizeof(x));
- }
- };
- } // namespace std
^ permalink raw reply related [flat|nested] 68+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-cluster/ceph/, sys-cluster/ceph/files/
@ 2022-05-05 22:51 Patrick McLean
0 siblings, 0 replies; 68+ messages in thread
From: Patrick McLean @ 2022-05-05 22:51 UTC (permalink / raw
To: gentoo-commits
commit: 5ae443701f3ac7d74af946097041380e9a8e2014
Author: Patrick McLean <chutzpah <AT> gentoo <DOT> org>
AuthorDate: Thu May 5 22:48:31 2022 +0000
Commit: Patrick McLean <chutzpah <AT> gentoo <DOT> org>
CommitDate: Thu May 5 22:51:36 2022 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=5ae44370
sys-cluster/ceph: Fix rados-classes path (bug #842822)
With newer versions of cmake, CMAKE_INSTALL_LIBDIR is no longer an
absolute path. This made the search path for the rados-classes be a
relative path, which did not work. Switch to using
CMAKE_INSTALL_FULL_LIBDIR instead.
Closes: https://bugs.gentoo.org/842822
Signed-off-by: Patrick McLean <chutzpah <AT> gentoo.org>
.../ceph/{ceph-17.2.0-r1.ebuild => ceph-17.2.0-r2.ebuild} | 1 +
sys-cluster/ceph/files/ceph-17.2.0-osd_class_dir.patch | 13 +++++++++++++
2 files changed, 14 insertions(+)
diff --git a/sys-cluster/ceph/ceph-17.2.0-r1.ebuild b/sys-cluster/ceph/ceph-17.2.0-r2.ebuild
similarity index 99%
rename from sys-cluster/ceph/ceph-17.2.0-r1.ebuild
rename to sys-cluster/ceph/ceph-17.2.0-r2.ebuild
index 17629a190fe3..6254678f5431 100644
--- a/sys-cluster/ceph/ceph-17.2.0-r1.ebuild
+++ b/sys-cluster/ceph/ceph-17.2.0-r2.ebuild
@@ -213,6 +213,7 @@ PATCHES=(
"${FILESDIR}/ceph-17.2.0-deprecated-boost.patch"
"${FILESDIR}/ceph-17.2.0-system-opentelemetry.patch"
"${FILESDIR}/ceph-17.2.0-fuse3.patch"
+ "${FILESDIR}/ceph-17.2.0-osd_class_dir.patch"
)
check-reqs_export_vars() {
diff --git a/sys-cluster/ceph/files/ceph-17.2.0-osd_class_dir.patch b/sys-cluster/ceph/files/ceph-17.2.0-osd_class_dir.patch
new file mode 100644
index 000000000000..2f6afc32cbc1
--- /dev/null
+++ b/sys-cluster/ceph/files/ceph-17.2.0-osd_class_dir.patch
@@ -0,0 +1,13 @@
+diff --git a/src/common/options/osd.yaml.in b/src/common/options/osd.yaml.in
+index 8360e4a9223..e176fd37e06 100644
+--- a/src/common/options/osd.yaml.in
++++ b/src/common/options/osd.yaml.in
+@@ -451,7 +451,7 @@ options:
+ - name: osd_class_dir
+ type: str
+ level: advanced
+- default: @CMAKE_INSTALL_LIBDIR@/rados-classes
++ default: @CMAKE_INSTALL_FULL_LIBDIR@/rados-classes
+ fmt_desc: The class path for RADOS class plug-ins.
+ with_legacy: true
+ - name: osd_open_classes_on_start
^ permalink raw reply related [flat|nested] 68+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-cluster/ceph/, sys-cluster/ceph/files/
@ 2022-05-04 23:17 Patrick McLean
0 siblings, 0 replies; 68+ messages in thread
From: Patrick McLean @ 2022-05-04 23:17 UTC (permalink / raw
To: gentoo-commits
commit: c3bdeaa31c311c2f5f840a2ef5b247c2d54bda9f
Author: Patrick McLean <chutzpah <AT> gentoo <DOT> org>
AuthorDate: Wed May 4 22:54:50 2022 +0000
Commit: Patrick McLean <chutzpah <AT> gentoo <DOT> org>
CommitDate: Wed May 4 23:16:55 2022 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=c3bdeaa3
sys-cluster/ceph: Migrate to fuse:3 (bug #838022)
Bug: https://bugs.gentoo.org/838022
Signed-off-by: Patrick McLean <chutzpah <AT> gentoo.org>
.../ceph/{ceph-17.2.0.ebuild => ceph-17.2.0-r1.ebuild} | 3 ++-
sys-cluster/ceph/files/ceph-17.2.0-fuse3.patch | 13 +++++++++++++
2 files changed, 15 insertions(+), 1 deletion(-)
diff --git a/sys-cluster/ceph/ceph-17.2.0.ebuild b/sys-cluster/ceph/ceph-17.2.0-r1.ebuild
similarity index 99%
rename from sys-cluster/ceph/ceph-17.2.0.ebuild
rename to sys-cluster/ceph/ceph-17.2.0-r1.ebuild
index 74a067688a6d..59975f6b8e43 100644
--- a/sys-cluster/ceph/ceph-17.2.0.ebuild
+++ b/sys-cluster/ceph/ceph-17.2.0-r1.ebuild
@@ -75,7 +75,7 @@ DEPEND="
virtual/libcrypt:=
x11-libs/libpciaccess:=
babeltrace? ( dev-util/babeltrace )
- fuse? ( sys-fs/fuse:0= )
+ fuse? ( sys-fs/fuse:3= )
jemalloc? ( dev-libs/jemalloc:= )
!jemalloc? ( >=dev-util/google-perftools-2.6.1:= )
jaeger? (
@@ -212,6 +212,7 @@ PATCHES=(
"${FILESDIR}/ceph-17.2.0-install-dbstore.patch"
"${FILESDIR}/ceph-17.2.0-deprecated-boost.patch"
"${FILESDIR}/ceph-17.2.0-system-opentelemetry.patch"
+ "${FILESDIR}/ceph-17.2.0-fuse3.patch"
)
check-reqs_export_vars() {
diff --git a/sys-cluster/ceph/files/ceph-17.2.0-fuse3.patch b/sys-cluster/ceph/files/ceph-17.2.0-fuse3.patch
new file mode 100644
index 000000000000..59b2be6ffd80
--- /dev/null
+++ b/sys-cluster/ceph/files/ceph-17.2.0-fuse3.patch
@@ -0,0 +1,13 @@
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index e95019cedb2..814c7f4d0b7 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -178,7 +178,7 @@ endif()
+
+ option(WITH_FUSE "Fuse is here" ON)
+ if(WITH_FUSE)
+- find_package(FUSE)
++ find_package(FUSE 3.0)
+ set(HAVE_LIBFUSE ${FUSE_FOUND})
+ endif()
+
^ permalink raw reply related [flat|nested] 68+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-cluster/ceph/, sys-cluster/ceph/files/
@ 2022-04-29 0:31 Patrick McLean
0 siblings, 0 replies; 68+ messages in thread
From: Patrick McLean @ 2022-04-29 0:31 UTC (permalink / raw
To: gentoo-commits
commit: 613aee5544939a092adeb01c3b9619d2616d5ade
Author: Patrick McLean <chutzpah <AT> gentoo <DOT> org>
AuthorDate: Fri Apr 29 00:31:07 2022 +0000
Commit: Patrick McLean <chutzpah <AT> gentoo <DOT> org>
CommitDate: Fri Apr 29 00:31:07 2022 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=613aee55
sys-cluster/ceph: drop 16.2.6-r2, 16.2.6-r4
Signed-off-by: Patrick McLean <chutzpah <AT> gentoo.org>
sys-cluster/ceph/Manifest | 1 -
sys-cluster/ceph/ceph-16.2.6-r2.ebuild | 458 --------------------
sys-cluster/ceph/ceph-16.2.6-r4.ebuild | 459 ---------------------
.../ceph/files/ceph-16.2.2-no-virtualenvs.patch | 74 ----
4 files changed, 992 deletions(-)
diff --git a/sys-cluster/ceph/Manifest b/sys-cluster/ceph/Manifest
index 0ae493210ad6..45f6d44762e5 100644
--- a/sys-cluster/ceph/Manifest
+++ b/sys-cluster/ceph/Manifest
@@ -1,4 +1,3 @@
DIST ceph-14.2.22.tar.gz 130597047 BLAKE2B 58bbb3243de076ed1d25dfd7bd75717c50ad15d16690dcbd1511d1b506477845efc3ff7fbe713cf18fb8cfcc8c16707ad2a0f30159e3198ff82e57fbd2eb3cf2 SHA512 1c66661e1a39fa9151e95e33c390b810ffe269465d8785e2197cc15b8d83bd2edde77de48a8abd71a4da68cd5830ff14bcdf6b98fd17edabe85caeb1eca018d3
DIST ceph-15.2.16.tar.gz 148628915 BLAKE2B 4f624078027c706428eae3eddd5b5479efe3b4442c19a4e6b6cdf8d3839cf56e2863b18249dc3c5079a7e25f60796bfec3202ffd695537587654f5e2f820caaa SHA512 532b8a5073e157fe9ed552b26976faeb64dc29b79a249910c0982134ad5f945d4f57d8bf451adf63487b6d285c6e4bd5c39f0e3fcd449230d6fb3087539f8c3b
-DIST ceph-16.2.6.tar.gz 156087762 BLAKE2B e2595d1a958200e4f1877e4597c53319a9eee2e95606ea1b3ba2966a0d17f1cfcf52e05cca59752cc6ac383e32d944c380920d111aec840631235aef273a4de1 SHA512 f01e29088ae566d4111c21b5d0c173ddb02badaa0d8272f7f1548eb8e66a95dc7052b3945d9fb342e6c97a65c57648fda394317340d1f4236a57af7580073658
DIST ceph-16.2.7.tar.gz 156621262 BLAKE2B 3c79cb1586e71927df4578fe7f3a13f4ab257a5e145b6bf76d942292cbca7bf32583350373f3d816f6d8f8700ee0f98a14f350c823b0eb89ffd7735acee7de63 SHA512 eab047e646970d444acf1064d98237b8b1677fb16b5e771082d55880f7bc6d8bdb278c2fe514c82ae12c438878d9ecea29139fa6b8d890f9f737138f10fb740c
diff --git a/sys-cluster/ceph/ceph-16.2.6-r2.ebuild b/sys-cluster/ceph/ceph-16.2.6-r2.ebuild
deleted file mode 100644
index 9e09341cd8f2..000000000000
--- a/sys-cluster/ceph/ceph-16.2.6-r2.ebuild
+++ /dev/null
@@ -1,458 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{7..9} )
-DISTUTILS_OPTIONAL=1
-LUA_COMPAT=( lua5-3 )
-
-CMAKE_MAKEFILE_GENERATOR=emake
-
-inherit check-reqs bash-completion-r1 cmake distutils-r1 flag-o-matic \
- lua-single python-r1 udev readme.gentoo-r1 toolchain-funcs \
- systemd tmpfiles
-
-if [[ ${PV} == *9999* ]]; then
- inherit git-r3
- EGIT_REPO_URI="https://github.com/ceph/ceph.git"
- SRC_URI=""
-else
- SRC_URI="https://download.ceph.com/tarballs/${P}.tar.gz"
- KEYWORDS="amd64 ~arm64 ~ppc64"
-fi
-
-DESCRIPTION="Ceph distributed filesystem"
-HOMEPAGE="https://ceph.com/"
-
-LICENSE="Apache-2.0 LGPL-2.1 CC-BY-SA-3.0 GPL-2 GPL-2+ LGPL-2+ LGPL-2.1 LGPL-3 GPL-3 BSD Boost-1.0 MIT public-domain"
-SLOT="0"
-
-CPU_FLAGS_X86=(avx2 avx512f pclmul sse{,2,3,4_1,4_2} ssse3)
-
-IUSE="babeltrace +cephfs custom-cflags diskprediction dpdk fuse grafana
- jemalloc jaeger kafka kerberos ldap lttng +mgr numa pmdk rabbitmq
- +radosgw rbd-rwl rbd-ssd rgw-lua +ssl spdk +sqlite system-boost systemd
- +tcmalloc test uring xfs zbd zfs"
-IUSE+=" $(printf "cpu_flags_x86_%s\n" ${CPU_FLAGS_X86[@]})"
-
-DEPEND="
- ${LUA_DEPS}
- acct-group/ceph
- acct-user/ceph
- virtual/libudev:=
- app-arch/bzip2:=
- app-arch/lz4:=
- <app-arch/snappy-1.1.9:=
- app-arch/zstd:=
- app-shells/bash:0
- app-misc/jq:=
- dev-libs/crypto++:=
- dev-cpp/gflags:=
- <dev-libs/leveldb-1.23:=[snappy,tcmalloc(-)?]
- dev-libs/libaio:=
- dev-libs/libfmt:=
- dev-libs/libnl:3=
- dev-libs/libxml2:=
- dev-libs/libevent:=
- <dev-libs/rocksdb-6.15:=
- dev-libs/xmlsec:=[openssl]
- dev-cpp/yaml-cpp:=
- dev-libs/nss:=
- dev-libs/protobuf:=
- net-dns/c-ares:=
- net-libs/gnutls:=
- sys-auth/oath-toolkit:=
- sys-apps/coreutils
- sys-apps/grep
- sys-apps/hwloc:=
- sys-apps/keyutils:=
- sys-apps/util-linux:=
- sys-apps/sed
- sys-apps/util-linux
- sys-libs/libcap-ng:=
- sys-libs/ncurses:0=
- sys-libs/zlib:=
- sys-process/numactl:=
- virtual/libcrypt:=
- x11-libs/libpciaccess:=
- babeltrace? ( dev-util/babeltrace )
- fuse? ( sys-fs/fuse:0= )
- jemalloc? ( dev-libs/jemalloc:= )
- !jemalloc? ( >=dev-util/google-perftools-2.6.1:= )
- jaeger? ( dev-cpp/nlohmann_json:= )
- kafka? ( dev-libs/librdkafka:= )
- kerberos? ( virtual/krb5 )
- ldap? ( net-nds/openldap:= )
- lttng? ( dev-util/lttng-ust:= )
- pmdk? ( dev-libs/pmdk:= )
- rabbitmq? ( net-libs/rabbitmq-c:= )
- radosgw? (
- dev-libs/icu:=
- dev-libs/expat:=
- dev-libs/openssl:=
- net-misc/curl:=[curl_ssl_openssl]
- )
- rbd-rwl? ( dev-libs/pmdk:= )
- ssl? ( dev-libs/openssl:= )
- sqlite? ( dev-db/sqlite:= )
- system-boost? ( >=dev-libs/boost-1.72:=[threads(+),context,python,${PYTHON_USEDEP}] )
- uring? ( sys-libs/liburing:= )
- xfs? ( sys-fs/xfsprogs:= )
- zbd? ( sys-block/libzbd:= )
- zfs? ( sys-fs/zfs:= )
- ${PYTHON_DEPS}
-"
-BDEPEND="
- amd64? ( dev-lang/nasm )
- x86? ( dev-lang/yasm )
- app-arch/cpio
- >=dev-util/cmake-3.5.0
- dev-python/cython[${PYTHON_USEDEP}]
- dev-python/setuptools[${PYTHON_USEDEP}]
- dev-python/sphinx
- dev-util/cunit
- dev-util/gperf
- dev-util/ragel
- dev-util/valgrind
- sys-apps/coreutils
- sys-apps/grep
- sys-apps/sed
- sys-apps/which
- sys-devel/bc
- sys-devel/patch
- virtual/pkgconfig
- jaeger? (
- sys-devel/bison
- sys-devel/flex
- )
- test? (
- dev-python/coverage[${PYTHON_USEDEP}]
- dev-python/virtualenv[${PYTHON_USEDEP}]
- dev-python/requests-mock[${PYTHON_USEDEP}]
- sys-apps/grep[pcre]
- sys-fs/btrfs-progs
- )
-"
-RDEPEND="
- ${DEPEND}
- app-admin/sudo
- net-misc/socat
- sys-apps/gptfdisk
- sys-apps/nvme-cli
- >=sys-apps/smartmontools-7.0
- sys-block/parted
- sys-fs/cryptsetup
- sys-fs/lsscsi
- sys-fs/lvm2[-device-mapper-only(-)]
- virtual/awk
- dev-python/bcrypt[${PYTHON_USEDEP}]
- dev-python/cherrypy[${PYTHON_USEDEP}]
- dev-python/python-dateutil[${PYTHON_USEDEP}]
- dev-python/flask[${PYTHON_USEDEP}]
- dev-python/jinja[${PYTHON_USEDEP}]
- dev-python/pecan[${PYTHON_USEDEP}]
- dev-python/prettytable[${PYTHON_USEDEP}]
- dev-python/pyopenssl[${PYTHON_USEDEP}]
- dev-python/pyyaml[${PYTHON_USEDEP}]
- dev-python/requests[${PYTHON_USEDEP}]
- dev-python/werkzeug[${PYTHON_USEDEP}]
- mgr? (
- dev-python/jsonpatch[${PYTHON_USEDEP}]
- dev-python/more-itertools[${PYTHON_USEDEP}]
- dev-python/numpy[${PYTHON_USEDEP}]
- dev-python/pyjwt[${PYTHON_USEDEP}]
- dev-python/routes[${PYTHON_USEDEP}]
- diskprediction? (
- >=dev-python/scipy-1.4.0[${PYTHON_USEDEP}]
- )
- sci-libs/scikit-learn[${PYTHON_USEDEP}]
- dev-python/six[${PYTHON_USEDEP}]
- )
-"
-# diskprediction needs older scipy not compatible with py38
-# bug #724438
-REQUIRED_USE="
- ${PYTHON_REQUIRED_USE}
- ${LUA_REQUIRED_USE}
- ?? ( jemalloc tcmalloc )
- jaeger? ( !system-boost )
- diskprediction? ( mgr )
- kafka? ( radosgw )
- mgr? ( cephfs )
- rabbitmq? ( radosgw )
-"
-RESTRICT="!test? ( test )"
-
-# the tests need root access
-RESTRICT="test? ( userpriv )"
-
-# distribution tarball does not include everything needed for tests
-RESTRICT+=" test"
-
-# create a non-debug release
-CMAKE_BUILD_TYPE=RelWithDebInfo
-
-# false positives unless all USE flags are on
-CMAKE_WARN_UNUSED_CLI=no
-
-PATCHES=(
- "${FILESDIR}/ceph-12.2.0-use-provided-cpu-flag-values.patch"
- "${FILESDIR}/ceph-14.2.0-cflags.patch"
- "${FILESDIR}/ceph-12.2.4-boost-build-none-options.patch"
- "${FILESDIR}/ceph-16.2.2-cflags.patch"
- "${FILESDIR}/ceph-16.2.2-no-virtualenvs.patch"
- "${FILESDIR}/ceph-13.2.2-dont-install-sysvinit-script.patch"
- "${FILESDIR}/ceph-14.2.0-dpdk-cflags.patch"
- "${FILESDIR}/ceph-14.2.0-cython-0.29.patch"
- "${FILESDIR}/ceph-16.2.0-rocksdb-cmake.patch"
- "${FILESDIR}/ceph-15.2.3-spdk-compile.patch"
- "${FILESDIR}/ceph-16.2.0-spdk-tinfo.patch"
- "${FILESDIR}/ceph-16.2.0-jaeger-system-boost.patch"
- "${FILESDIR}/ceph-16.2.0-liburing.patch"
- "${FILESDIR}/ceph-16.2.2-system-zstd.patch"
-)
-
-check-reqs_export_vars() {
- CHECKREQS_DISK_BUILD="6G"
-
- if use system-boost; then
- CHECKREQS_DISK_USR="350M"
- else
- CHECKREQS_DISK_USR="510M"
- fi
-
- export CHECKREQS_DISK_BUILD CHECKREQS_DISK_USR
-}
-
-pkg_pretend() {
- check-reqs_export_vars
- check-reqs_pkg_pretend
-}
-
-pkg_setup() {
- python_setup
- lua_setup
- check-reqs_export_vars
- check-reqs_pkg_setup
-}
-
-src_prepare() {
- cmake_src_prepare
-
- if use system-boost; then
- find "${S}" -name '*.cmake' -or -name 'CMakeLists.txt' -print0 \
- | xargs --null sed -r \
- -e 's|Boost::|boost_|g' \
- -e 's|Boost_|boost_|g' \
- -e 's|[Bb]oost_boost|boost_system|g' -i || die
- fi
-
- if ! use systemd; then
- find "${S}"/src/ceph-volume/ceph_volume -name '*.py' -print0 \
- | xargs --null sed \
- -e '/^from ceph_volume.systemd import systemctl/ d' \
- -i || die
- fi
-
- sed -r -e "s:DESTINATION .+\\):DESTINATION $(get_bashcompdir)\\):" \
- -i src/bash_completion/CMakeLists.txt || die
-
- sed -e "s:objdump -p:$(tc-getOBJDUMP) -p:" -i CMakeLists.txt || die
-
- if ! use diskprediction; then
- rm -rf src/pybind/mgr/diskprediction_local || die
- fi
-
- # force lua version to use selected version
- local lua_version
- lua_version=$(ver_cut 1-2 $(lua_get_version))
- sed -i "s:find_package(Lua [0-9][.][0-9] REQUIRED):find_package(Lua ${lua_version} EXACT REQUIRED):" src/CMakeLists.txt
-
- # remove tests that need root access
- rm src/test/cli/ceph-authtool/cap*.t || die
-}
-
-ceph_src_configure() {
- local flag
- local mycmakeargs=(
- -DWITH_BABELTRACE=$(usex babeltrace)
- -DWITH_BLUESTORE_PMEM=$(usex pmdk)
- -DWITH_CEPHFS=$(usex cephfs)
- -DWITH_CEPHFS_SHELL=$(usex cephfs)
- -DWITH_DPDK=$(usex dpdk)
- -DWITH_SPDK=$(usex spdk)
- -DWITH_FUSE=$(usex fuse)
- -DWITH_LTTNG=$(usex lttng)
- -DWITH_GSSAPI=$(usex kerberos)
- -DWITH_GRAFANA=$(usex grafana)
- -DWITH_MGR=$(usex mgr)
- -DWITH_MGR_DASHBOARD_FRONTEND=OFF
- -DWITH_NUMA=$(usex numa)
- -DWITH_OPENLDAP=$(usex ldap)
- -DWITH_PYTHON3=3
- -DWITH_RADOSGW=$(usex radosgw)
- -DWITH_RADOSGW_AMQP_ENDPOINT=$(usex rabbitmq)
- -DWITH_RADOSGW_KAFKA_ENDPOINT=$(usex kafka)
- -DWITH_RADOSGW_LUA_PACKAGES=$(usex rgw-lua "$(usex radosgw)" "NO")
- -DWITH_RBD_RWL=$(usex rbd-rwl)
- -DWITH_RBD_SSD_CACHE=$(usex rbd-ssd)
- -DWITH_SSL=$(usex ssl)
- -DWITH_SYSTEMD=$(usex systemd)
- -DWITH_TESTS=$(usex test)
- -DWITH_LIBURING=$(usex uring)
- -DWITH_SYSTEM_LIBURING=$(usex uring)
- -DWITH_LIBCEPHSQLITE=$(usex sqlite)
- -DWITH_XFS=$(usex xfs)
- -DWITH_ZBD=$(usex zbd)
- -DWITH_ZFS=$(usex zfs)
- -DENABLE_SHARED="ON"
- -DALLOCATOR=$(usex tcmalloc 'tcmalloc' "$(usex jemalloc 'jemalloc' 'libc')")
- -DWITH_SYSTEM_PMDK=$(usex pmdk 'YES' "$(usex rbd-rwl)")
- -DWITH_SYSTEM_BOOST=$(usex system-boost)
- -DBOOST_J=$(makeopts_jobs)
- -DWITH_SYSTEM_ROCKSDB=ON
- -DWITH_RDMA=OFF
- -DWITH_TBB=OFF
- -DSYSTEMD_UNITDIR=$(systemd_get_systemunitdir)
- -DCMAKE_INSTALL_SYSTEMD_SERVICEDIR=$(systemd_get_systemunitdir)
- -DEPYTHON_VERSION="${EPYTHON#python}"
- -DCMAKE_INSTALL_DOCDIR="${EPREFIX}/usr/share/doc/${PN}-${PVR}"
- -DCMAKE_INSTALL_SYSCONFDIR="${EPREFIX}/etc"
- -Wno-dev
- )
-
- # this breaks when re-configuring for python impl
- [[ ${EBUILD_PHASE} == configure ]] && mycmakeargs+=(-DWITH_JAEGER=$(usex jaeger))
-
- if use amd64 || use x86; then
- for flag in ${CPU_FLAGS_X86[@]}; do
- case "${flag}" in
- avx*)
- local var=${flag%f}
- mycmakeargs+=("$(usex cpu_flags_x86_${flag} "-DHAVE_NASM_X64_${var^^}=1")")
- ;;
- *) mycmakeargs+=("$(usex cpu_flags_x86_${flag} "-DHAVE_INTEL_${flag^^}=1")");;
- esac
- done
- fi
-
- # needed for >=glibc-2.32
- has_version '>=sys-libs/glibc-2.32' && mycmakeargs+=(-DWITH_REENTRANT_STRSIGNAL:BOOL=ON)
-
- rm -f "${BUILD_DIR:-${S}}/CMakeCache.txt" \
- || die "failed to remove cmake cache"
-
- cmake_src_configure
-
- # bug #630232
- sed -i "s:\"${T//:\\:}/${EPYTHON}/bin/python\":\"${PYTHON}\":" \
- "${BUILD_DIR:-${S}}"/include/acconfig.h \
- || die "sed failed"
-}
-
-src_configure() {
- use custom-cflags || strip-flags
- ceph_src_configure
-}
-
-python_compile() {
- local CMAKE_USE_DIR="${S}"
- ceph_src_configure
-
- pushd "${BUILD_DIR}/src/pybind" >/dev/null || die
- emake VERBOSE=1 clean
- emake VERBOSE=1 all
-
- # python modules are only compiled with "make install" so we need to do this to
- # prevent doing a bunch of compilation in src_install
- DESTDIR="${T}" emake VERBOSE=1 install
- popd >/dev/null || die
-}
-
-src_compile() {
- cmake_build VERBOSE=1 all
-
- # we have to do this here to prevent from building everything multiple times
- python_copy_sources
- python_foreach_impl python_compile
-}
-
-src_test() {
- make check || die "make check failed"
-}
-
-python_install() {
- local CMAKE_USE_DIR="${S}"
- pushd "${BUILD_DIR}/src/pybind" >/dev/null || die
- DESTDIR="${ED}" emake VERBOSE=1 install
- popd >/dev/null || die
-
- python_optimize
-}
-
-src_install() {
- cmake_src_install
- python_foreach_impl python_install
-
- find "${ED}" -name '*.la' -type f -delete || die
-
- exeinto /usr/$(get_libdir)/ceph
- newexe "${BUILD_DIR}/bin/init-ceph" init-ceph
-
- insinto /etc/logrotate.d/
- newins "${FILESDIR}"/ceph.logrotate-r2 ${PN}
-
- keepdir /var/lib/${PN}{,/tmp} /var/log/${PN}/stat
-
- fowners -R ceph:ceph /var/log/ceph
-
- newinitd "${FILESDIR}/rbdmap.initd-r1" rbdmap
- newinitd "${FILESDIR}/${PN}.initd-r12" ${PN}
- newconfd "${FILESDIR}/${PN}.confd-r5" ${PN}
-
- insinto /etc/sudoers.d
- doins sudoers.d/*
-
- insinto /etc/sysctl.d
- newins "${FILESDIR}"/sysctld 90-${PN}.conf
-
- use tcmalloc && newenvd "${FILESDIR}"/envd-tcmalloc 99${PN}-tcmalloc
-
- # units aren't installed by the build system unless systemd is enabled
- # so no point installing these with the USE flag disabled
- if use systemd; then
- systemd_install_serviced "${FILESDIR}/ceph-mds_at.service.conf" \
- "ceph-mds@.service"
-
- systemd_install_serviced "${FILESDIR}/ceph-osd_at.service.conf" \
- "ceph-osd@.service"
-
- fi
-
- udev_dorules udev/*.rules
- newtmpfiles "${FILESDIR}"/ceph-tmpfilesd ${PN}.conf
-
- readme.gentoo_create_doc
-
- python_setup
-
- # bug #630232
- sed -i -r "s:${T//:/\\:}/${EPYTHON}:/usr:" "${ED}"/usr/bin/ceph{,-crash} \
- || die "sed failed"
-
- python_fix_shebang "${ED}"/usr/{,s}bin/
-
- # python_fix_shebang apparently is not idempotent
- local shebang_regex='(/usr/lib/python-exec/python[0-9]\.[0-9]/python)[0-9]\.[0-9]'
- grep -r -E -l --null "${shebang_regex}" "${ED}"/usr/{s,}bin/ \
- | xargs --null --no-run-if-empty -- sed -i -r "s:${shebang_regex}:\1:" || die
-
- local -a rados_classes=( "${ED}/usr/$(get_libdir)/rados-classes"/* )
- dostrip -x "${rados_classes[@]#${ED}}"
-}
-
-pkg_postinst() {
- readme.gentoo_print_elog
- tmpfiles_process ${PN}.conf
-}
diff --git a/sys-cluster/ceph/ceph-16.2.6-r4.ebuild b/sys-cluster/ceph/ceph-16.2.6-r4.ebuild
deleted file mode 100644
index f33908a5f253..000000000000
--- a/sys-cluster/ceph/ceph-16.2.6-r4.ebuild
+++ /dev/null
@@ -1,459 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{7..9} )
-DISTUTILS_OPTIONAL=1
-LUA_COMPAT=( lua5-3 )
-
-CMAKE_MAKEFILE_GENERATOR=emake
-
-inherit check-reqs bash-completion-r1 cmake distutils-r1 flag-o-matic \
- lua-single python-r1 udev readme.gentoo-r1 toolchain-funcs \
- systemd tmpfiles multiprocessing
-
-if [[ ${PV} == *9999* ]]; then
- inherit git-r3
- EGIT_REPO_URI="https://github.com/ceph/ceph.git"
- SRC_URI=""
-else
- SRC_URI="https://download.ceph.com/tarballs/${P}.tar.gz"
- KEYWORDS="~amd64 ~arm64 ~ppc64"
-fi
-
-DESCRIPTION="Ceph distributed filesystem"
-HOMEPAGE="https://ceph.com/"
-
-LICENSE="Apache-2.0 LGPL-2.1 CC-BY-SA-3.0 GPL-2 GPL-2+ LGPL-2+ LGPL-2.1 LGPL-3 GPL-3 BSD Boost-1.0 MIT public-domain"
-SLOT="0"
-
-CPU_FLAGS_X86=(avx2 avx512f pclmul sse{,2,3,4_1,4_2} ssse3)
-
-IUSE="babeltrace +cephfs custom-cflags diskprediction dpdk fuse grafana
- jemalloc jaeger kafka kerberos ldap lttng +mgr numa pmdk rabbitmq
- +radosgw rbd-rwl rbd-ssd rgw-lua +ssl spdk +sqlite +system-boost systemd
- +tcmalloc test uring xfs zbd zfs"
-IUSE+=" $(printf "cpu_flags_x86_%s\n" ${CPU_FLAGS_X86[@]})"
-
-DEPEND="
- ${LUA_DEPS}
- acct-group/ceph
- acct-user/ceph
- virtual/libudev:=
- app-arch/bzip2:=
- app-arch/lz4:=
- app-arch/snappy
- || ( >=app-arch/snappy-1.1.9-r1 <app-arch/snappy-1.1.9 )
- app-arch/zstd:=
- app-shells/bash:0
- app-misc/jq:=
- dev-libs/crypto++:=
- dev-cpp/gflags:=
- <dev-libs/leveldb-1.23:=[snappy,tcmalloc(-)?]
- dev-libs/libaio:=
- dev-libs/libfmt:=
- dev-libs/libnl:3=
- dev-libs/libxml2:=
- dev-libs/libevent:=
- <dev-libs/rocksdb-6.15:=
- dev-libs/xmlsec:=[openssl]
- dev-cpp/yaml-cpp:=
- dev-libs/nss:=
- dev-libs/protobuf:=
- net-dns/c-ares:=
- net-libs/gnutls:=
- sys-auth/oath-toolkit:=
- sys-apps/coreutils
- sys-apps/grep
- sys-apps/hwloc:=
- sys-apps/keyutils:=
- sys-apps/util-linux:=
- sys-apps/sed
- sys-apps/util-linux
- sys-libs/libcap-ng:=
- sys-libs/ncurses:0=
- sys-libs/zlib:=
- sys-process/numactl:=
- virtual/libcrypt:=
- x11-libs/libpciaccess:=
- babeltrace? ( dev-util/babeltrace )
- fuse? ( sys-fs/fuse:0= )
- jemalloc? ( dev-libs/jemalloc:= )
- !jemalloc? ( >=dev-util/google-perftools-2.6.1:= )
- jaeger? ( dev-cpp/nlohmann_json:= )
- kafka? ( dev-libs/librdkafka:= )
- kerberos? ( virtual/krb5 )
- ldap? ( net-nds/openldap:= )
- lttng? ( dev-util/lttng-ust:= )
- pmdk? ( dev-libs/pmdk:= )
- rabbitmq? ( net-libs/rabbitmq-c:= )
- radosgw? (
- dev-libs/icu:=
- dev-libs/expat:=
- dev-libs/openssl:=
- net-misc/curl:=[curl_ssl_openssl]
- )
- rbd-rwl? ( dev-libs/pmdk:= )
- ssl? ( dev-libs/openssl:= )
- sqlite? ( dev-db/sqlite:= )
- system-boost? ( >=dev-libs/boost-1.72:=[threads(+),context,python,${PYTHON_USEDEP}] )
- uring? ( sys-libs/liburing:= )
- xfs? ( sys-fs/xfsprogs:= )
- zbd? ( sys-block/libzbd:= )
- zfs? ( sys-fs/zfs:= )
- ${PYTHON_DEPS}
-"
-BDEPEND="
- amd64? ( dev-lang/nasm )
- x86? ( dev-lang/yasm )
- app-arch/cpio
- >=dev-util/cmake-3.5.0
- dev-python/cython[${PYTHON_USEDEP}]
- dev-python/setuptools[${PYTHON_USEDEP}]
- dev-python/sphinx
- dev-util/cunit
- dev-util/gperf
- dev-util/ragel
- dev-util/valgrind
- sys-apps/coreutils
- sys-apps/grep
- sys-apps/sed
- sys-apps/which
- sys-devel/bc
- sys-devel/patch
- virtual/pkgconfig
- jaeger? (
- sys-devel/bison
- sys-devel/flex
- )
- test? (
- dev-python/coverage[${PYTHON_USEDEP}]
- dev-python/virtualenv[${PYTHON_USEDEP}]
- dev-python/requests-mock[${PYTHON_USEDEP}]
- sys-apps/grep[pcre]
- sys-fs/btrfs-progs
- )
-"
-RDEPEND="
- ${DEPEND}
- app-admin/sudo
- net-misc/socat
- sys-apps/gptfdisk
- sys-apps/nvme-cli
- >=sys-apps/smartmontools-7.0
- sys-block/parted
- sys-fs/cryptsetup
- sys-fs/lsscsi
- sys-fs/lvm2[-device-mapper-only(-)]
- virtual/awk
- dev-python/bcrypt[${PYTHON_USEDEP}]
- dev-python/cherrypy[${PYTHON_USEDEP}]
- dev-python/python-dateutil[${PYTHON_USEDEP}]
- dev-python/flask[${PYTHON_USEDEP}]
- dev-python/jinja[${PYTHON_USEDEP}]
- dev-python/pecan[${PYTHON_USEDEP}]
- dev-python/prettytable[${PYTHON_USEDEP}]
- dev-python/pyopenssl[${PYTHON_USEDEP}]
- dev-python/pyyaml[${PYTHON_USEDEP}]
- dev-python/requests[${PYTHON_USEDEP}]
- dev-python/werkzeug[${PYTHON_USEDEP}]
- mgr? (
- dev-python/jsonpatch[${PYTHON_USEDEP}]
- dev-python/more-itertools[${PYTHON_USEDEP}]
- dev-python/numpy[${PYTHON_USEDEP}]
- dev-python/pyjwt[${PYTHON_USEDEP}]
- dev-python/routes[${PYTHON_USEDEP}]
- diskprediction? (
- >=dev-python/scipy-1.4.0[${PYTHON_USEDEP}]
- )
- sci-libs/scikit-learn[${PYTHON_USEDEP}]
- dev-python/six[${PYTHON_USEDEP}]
- )
-"
-# diskprediction needs older scipy not compatible with py38
-# bug #724438
-REQUIRED_USE="
- ${PYTHON_REQUIRED_USE}
- ${LUA_REQUIRED_USE}
- ?? ( jemalloc tcmalloc )
- jaeger? ( !system-boost )
- diskprediction? ( mgr )
- kafka? ( radosgw )
- mgr? ( cephfs )
- rabbitmq? ( radosgw )
-"
-RESTRICT="!test? ( test )"
-
-# the tests need root access
-RESTRICT="test? ( userpriv )"
-
-# distribution tarball does not include everything needed for tests
-RESTRICT+=" test"
-
-# create a non-debug release
-CMAKE_BUILD_TYPE=RelWithDebInfo
-
-# false positives unless all USE flags are on
-CMAKE_WARN_UNUSED_CLI=no
-
-PATCHES=(
- "${FILESDIR}/ceph-12.2.0-use-provided-cpu-flag-values.patch"
- "${FILESDIR}/ceph-14.2.0-cflags.patch"
- "${FILESDIR}/ceph-12.2.4-boost-build-none-options.patch"
- "${FILESDIR}/ceph-16.2.2-cflags.patch"
- "${FILESDIR}/ceph-16.2.2-no-virtualenvs.patch"
- "${FILESDIR}/ceph-13.2.2-dont-install-sysvinit-script.patch"
- "${FILESDIR}/ceph-14.2.0-dpdk-cflags.patch"
- "${FILESDIR}/ceph-14.2.0-cython-0.29.patch"
- "${FILESDIR}/ceph-16.2.0-rocksdb-cmake.patch"
- "${FILESDIR}/ceph-15.2.3-spdk-compile.patch"
- "${FILESDIR}/ceph-16.2.0-spdk-tinfo.patch"
- "${FILESDIR}/ceph-16.2.0-jaeger-system-boost.patch"
- "${FILESDIR}/ceph-16.2.0-liburing.patch"
- "${FILESDIR}/ceph-16.2.2-system-zstd.patch"
-)
-
-check-reqs_export_vars() {
- CHECKREQS_DISK_BUILD="6G"
-
- if use system-boost; then
- CHECKREQS_DISK_USR="350M"
- else
- CHECKREQS_DISK_USR="510M"
- fi
-
- export CHECKREQS_DISK_BUILD CHECKREQS_DISK_USR
-}
-
-pkg_pretend() {
- check-reqs_export_vars
- check-reqs_pkg_pretend
-}
-
-pkg_setup() {
- python_setup
- lua_setup
- check-reqs_export_vars
- check-reqs_pkg_setup
-}
-
-src_prepare() {
- cmake_src_prepare
-
- if use system-boost; then
- find "${S}" -name '*.cmake' -or -name 'CMakeLists.txt' -print0 \
- | xargs --null sed -r \
- -e 's|Boost::|boost_|g' \
- -e 's|Boost_|boost_|g' \
- -e 's|[Bb]oost_boost|boost_system|g' -i || die
- fi
-
- if ! use systemd; then
- find "${S}"/src/ceph-volume/ceph_volume -name '*.py' -print0 \
- | xargs --null sed \
- -e '/^from ceph_volume.systemd import systemctl/ d' \
- -i || die
- fi
-
- sed -r -e "s:DESTINATION .+\\):DESTINATION $(get_bashcompdir)\\):" \
- -i src/bash_completion/CMakeLists.txt || die
-
- sed -e "s:objdump -p:$(tc-getOBJDUMP) -p:" -i CMakeLists.txt || die
-
- if ! use diskprediction; then
- rm -rf src/pybind/mgr/diskprediction_local || die
- fi
-
- # force lua version to use selected version
- local lua_version
- lua_version=$(ver_cut 1-2 $(lua_get_version))
- sed -i "s:find_package(Lua [0-9][.][0-9] REQUIRED):find_package(Lua ${lua_version} EXACT REQUIRED):" src/CMakeLists.txt
-
- # remove tests that need root access
- rm src/test/cli/ceph-authtool/cap*.t || die
-}
-
-ceph_src_configure() {
- local flag
- local mycmakeargs=(
- -DWITH_BABELTRACE=$(usex babeltrace)
- -DWITH_BLUESTORE_PMEM=$(usex pmdk)
- -DWITH_CEPHFS=$(usex cephfs)
- -DWITH_CEPHFS_SHELL=$(usex cephfs)
- -DWITH_DPDK=$(usex dpdk)
- -DWITH_SPDK=$(usex spdk)
- -DWITH_FUSE=$(usex fuse)
- -DWITH_LTTNG=$(usex lttng)
- -DWITH_GSSAPI=$(usex kerberos)
- -DWITH_GRAFANA=$(usex grafana)
- -DWITH_MGR=$(usex mgr)
- -DWITH_MGR_DASHBOARD_FRONTEND=OFF
- -DWITH_NUMA=$(usex numa)
- -DWITH_OPENLDAP=$(usex ldap)
- -DWITH_PYTHON3=3
- -DWITH_RADOSGW=$(usex radosgw)
- -DWITH_RADOSGW_AMQP_ENDPOINT=$(usex rabbitmq)
- -DWITH_RADOSGW_KAFKA_ENDPOINT=$(usex kafka)
- -DWITH_RADOSGW_LUA_PACKAGES=$(usex rgw-lua "$(usex radosgw)" "NO")
- -DWITH_RBD_RWL=$(usex rbd-rwl)
- -DWITH_RBD_SSD_CACHE=$(usex rbd-ssd)
- -DWITH_SSL=$(usex ssl)
- -DWITH_SYSTEMD=$(usex systemd)
- -DWITH_TESTS=$(usex test)
- -DWITH_LIBURING=$(usex uring)
- -DWITH_SYSTEM_LIBURING=$(usex uring)
- -DWITH_LIBCEPHSQLITE=$(usex sqlite)
- -DWITH_XFS=$(usex xfs)
- -DWITH_ZBD=$(usex zbd)
- -DWITH_ZFS=$(usex zfs)
- -DENABLE_SHARED="ON"
- -DALLOCATOR=$(usex tcmalloc 'tcmalloc' "$(usex jemalloc 'jemalloc' 'libc')")
- -DWITH_SYSTEM_PMDK=$(usex pmdk 'YES' "$(usex rbd-rwl)")
- -DWITH_SYSTEM_BOOST=$(usex system-boost)
- -DBOOST_J=$(makeopts_jobs)
- -DWITH_SYSTEM_ROCKSDB=ON
- -DWITH_RDMA=OFF
- -DWITH_TBB=OFF
- -DSYSTEMD_UNITDIR=$(systemd_get_systemunitdir)
- -DCMAKE_INSTALL_SYSTEMD_SERVICEDIR=$(systemd_get_systemunitdir)
- -DEPYTHON_VERSION="${EPYTHON#python}"
- -DCMAKE_INSTALL_DOCDIR="${EPREFIX}/usr/share/doc/${PN}-${PVR}"
- -DCMAKE_INSTALL_SYSCONFDIR="${EPREFIX}/etc"
- -Wno-dev
- )
-
- # this breaks when re-configuring for python impl
- [[ ${EBUILD_PHASE} == configure ]] && mycmakeargs+=(-DWITH_JAEGER=$(usex jaeger))
-
- if use amd64 || use x86; then
- for flag in ${CPU_FLAGS_X86[@]}; do
- case "${flag}" in
- avx*)
- local var=${flag%f}
- mycmakeargs+=("$(usex cpu_flags_x86_${flag} "-DHAVE_NASM_X64_${var^^}=1")")
- ;;
- *) mycmakeargs+=("$(usex cpu_flags_x86_${flag} "-DHAVE_INTEL_${flag^^}=1")");;
- esac
- done
- fi
-
- # needed for >=glibc-2.32
- has_version '>=sys-libs/glibc-2.32' && mycmakeargs+=(-DWITH_REENTRANT_STRSIGNAL:BOOL=ON)
-
- rm -f "${BUILD_DIR:-${S}}/CMakeCache.txt" \
- || die "failed to remove cmake cache"
-
- cmake_src_configure
-
- # bug #630232
- sed -i "s:\"${T//:\\:}/${EPYTHON}/bin/python\":\"${PYTHON}\":" \
- "${BUILD_DIR:-${S}}"/include/acconfig.h \
- || die "sed failed"
-}
-
-src_configure() {
- use custom-cflags || strip-flags
- ceph_src_configure
-}
-
-python_compile() {
- local CMAKE_USE_DIR="${S}"
- ceph_src_configure
-
- pushd "${BUILD_DIR}/src/pybind" >/dev/null || die
- emake VERBOSE=1 clean
- emake VERBOSE=1 all
-
- # python modules are only compiled with "make install" so we need to do this to
- # prevent doing a bunch of compilation in src_install
- DESTDIR="${T}" emake VERBOSE=1 install
- popd >/dev/null || die
-}
-
-src_compile() {
- cmake_build VERBOSE=1 all
-
- # we have to do this here to prevent from building everything multiple times
- python_copy_sources
- python_foreach_impl python_compile
-}
-
-src_test() {
- make check || die "make check failed"
-}
-
-python_install() {
- local CMAKE_USE_DIR="${S}"
- pushd "${BUILD_DIR}/src/pybind" >/dev/null || die
- DESTDIR="${ED}" emake VERBOSE=1 install
- popd >/dev/null || die
-
- python_optimize
-}
-
-src_install() {
- cmake_src_install
- python_foreach_impl python_install
-
- find "${ED}" -name '*.la' -type f -delete || die
-
- exeinto /usr/$(get_libdir)/ceph
- newexe "${BUILD_DIR}/bin/init-ceph" init-ceph
-
- insinto /etc/logrotate.d/
- newins "${FILESDIR}"/ceph.logrotate-r2 ${PN}
-
- keepdir /var/lib/${PN}{,/tmp} /var/log/${PN}/stat
-
- fowners -R ceph:ceph /var/log/ceph
-
- newinitd "${FILESDIR}/rbdmap.initd-r1" rbdmap
- newinitd "${FILESDIR}/${PN}.initd-r12" ${PN}
- newconfd "${FILESDIR}/${PN}.confd-r5" ${PN}
-
- insinto /etc/sudoers.d
- doins sudoers.d/*
-
- insinto /etc/sysctl.d
- newins "${FILESDIR}"/sysctld 90-${PN}.conf
-
- use tcmalloc && newenvd "${FILESDIR}"/envd-tcmalloc 99${PN}-tcmalloc
-
- # units aren't installed by the build system unless systemd is enabled
- # so no point installing these with the USE flag disabled
- if use systemd; then
- systemd_install_serviced "${FILESDIR}/ceph-mds_at.service.conf" \
- "ceph-mds@.service"
-
- systemd_install_serviced "${FILESDIR}/ceph-osd_at.service.conf" \
- "ceph-osd@.service"
-
- fi
-
- udev_dorules udev/*.rules
- newtmpfiles "${FILESDIR}"/ceph-tmpfilesd ${PN}.conf
-
- readme.gentoo_create_doc
-
- python_setup
-
- # bug #630232
- sed -i -r "s:${T//:/\\:}/${EPYTHON}:/usr:" "${ED}"/usr/bin/ceph{,-crash} \
- || die "sed failed"
-
- python_fix_shebang "${ED}"/usr/{,s}bin/
-
- # python_fix_shebang apparently is not idempotent
- local shebang_regex='(/usr/lib/python-exec/python[0-9]\.[0-9]/python)[0-9]\.[0-9]'
- grep -r -E -l --null "${shebang_regex}" "${ED}"/usr/{s,}bin/ \
- | xargs --null --no-run-if-empty -- sed -i -r "s:${shebang_regex}:\1:" || die
-
- local -a rados_classes=( "${ED}/usr/$(get_libdir)/rados-classes"/* )
- dostrip -x "${rados_classes[@]#${ED}}"
-}
-
-pkg_postinst() {
- readme.gentoo_print_elog
- tmpfiles_process ${PN}.conf
-}
diff --git a/sys-cluster/ceph/files/ceph-16.2.2-no-virtualenvs.patch b/sys-cluster/ceph/files/ceph-16.2.2-no-virtualenvs.patch
deleted file mode 100644
index fa865529d424..000000000000
--- a/sys-cluster/ceph/files/ceph-16.2.2-no-virtualenvs.patch
+++ /dev/null
@@ -1,74 +0,0 @@
-diff --git a/cmake/modules/AddCephTest.cmake b/cmake/modules/AddCephTest.cmake
-index d26d003c77..bc962e3aa7 100644
---- a/cmake/modules/AddCephTest.cmake
-+++ b/cmake/modules/AddCephTest.cmake
-@@ -70,14 +70,6 @@ function(add_tox_test name)
- endif()
- string(REPLACE ";" "," tox_envs "${tox_envs}")
- find_package(Python3 QUIET REQUIRED)
-- add_custom_command(
-- OUTPUT ${venv_path}/bin/activate
-- COMMAND ${CMAKE_SOURCE_DIR}/src/tools/setup-virtualenv.sh --python="${Python3_EXECUTABLE}" ${venv_path}
-- WORKING_DIRECTORY ${tox_path}
-- COMMENT "preparing venv for ${name}")
-- add_custom_target(${name}-venv
-- DEPENDS ${venv_path}/bin/activate)
-- add_dependencies(tests ${name}-venv)
- add_test(
- NAME ${test_name}
- COMMAND ${CMAKE_SOURCE_DIR}/src/script/run_tox.sh
-diff --git a/src/ceph-volume/CMakeLists.txt b/src/ceph-volume/CMakeLists.txt
-index 4224499c47..9a6c87595b 100644
---- a/src/ceph-volume/CMakeLists.txt
-+++ b/src/ceph-volume/CMakeLists.txt
-@@ -8,22 +8,6 @@ if(FREEBSD)
- add_subdirectory(plugin/zfs)
- endif()
-
--# Required for running ceph-volume inventory in a vstart environment
--set(CEPH_VOLUME_VIRTUALENV ${CEPH_BUILD_VIRTUALENV}/ceph-volume-virtualenv)
--
--add_custom_command(
-- OUTPUT ${CEPH_VOLUME_VIRTUALENV}/bin/python
-- COMMAND ${CMAKE_SOURCE_DIR}/src/tools/setup-virtualenv.sh --python=${Python_EXECUTABLE} ${CEPH_VOLUME_VIRTUALENV}
-- WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}/src/ceph-volume
-- COMMENT "ceph-volume venv is being created")
--
--add_custom_command(
-- OUTPUT ${CEPH_VOLUME_VIRTUALENV}/bin/ceph-volume
-- DEPENDS ${CEPH_VOLUME_VIRTUALENV}/bin/python
-- COMMAND . ${CEPH_VOLUME_VIRTUALENV}/bin/activate && ${CEPH_VOLUME_VIRTUALENV}/bin/python setup.py develop && deactivate
-- WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}/src/ceph-volume
-- COMMENT "${CMAKE_SOURCE_DIR}/src/ceph-volume")
--
- add_custom_target(ceph-volume-venv-setup
- DEPENDS ${CEPH_VOLUME_VIRTUALENV}/bin/ceph-volume)
-
-diff --git a/src/pybind/mgr/dashboard/CMakeLists.txt b/src/pybind/mgr/dashboard/CMakeLists.txt
-index 94c0a56827..7f63e2adf4 100644
---- a/src/pybind/mgr/dashboard/CMakeLists.txt
-+++ b/src/pybind/mgr/dashboard/CMakeLists.txt
-@@ -5,9 +5,6 @@ function(add_npm_command)
- set(multi_kw COMMAND DEPENDS)
- cmake_parse_arguments(NC "${options}" "${single_kw}" "${multi_kw}" ${ARGN})
- string(REPLACE ";" " " command "${NC_COMMAND}")
-- if(NC_NODEENV)
-- string(REGEX REPLACE "^(.*(npm|npx) .*)$" ". ${mgr-dashboard-nodeenv-dir}/bin/activate && \\1 && deactivate" command ${command})
-- endif()
- string(REPLACE " " ";" command "${command}")
- add_custom_command(
- OUTPUT "${NC_OUTPUT}"
-@@ -51,11 +48,8 @@ else(WITH_SYSTEM_NPM)
- set(node_mirror_opt "--mirror=$ENV{NODE_MIRROR}")
- endif()
- add_custom_command(
-- OUTPUT "${mgr-dashboard-nodeenv-dir}/bin/npm"
-- COMMAND ${CMAKE_SOURCE_DIR}/src/tools/setup-virtualenv.sh --python=${MGR_PYTHON_EXECUTABLE} ${mgr-dashboard-nodeenv-dir}
-- COMMAND ${mgr-dashboard-nodeenv-dir}/bin/pip install nodeenv
-- COMMAND ${mgr-dashboard-nodeenv-dir}/bin/nodeenv --verbose ${node_mirror_opt} -p --node=12.18.2
-- COMMAND mkdir ${mgr-dashboard-nodeenv-dir}/.npm
-+ OUTPUT "/bin/npm"
-+ COMMAND /bin/nodeenv ${node_mirror_opt} -p --node=12.18.2
- WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
- COMMENT "dashboard nodeenv is being installed"
- )
^ permalink raw reply related [flat|nested] 68+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-cluster/ceph/, sys-cluster/ceph/files/
@ 2021-10-29 20:49 Patrick McLean
0 siblings, 0 replies; 68+ messages in thread
From: Patrick McLean @ 2021-10-29 20:49 UTC (permalink / raw
To: gentoo-commits
commit: addb9b18a8f99b1be688372f1bb0e2d95cd4ace6
Author: Patrick McLean <patrick.mclean <AT> sony <DOT> com>
AuthorDate: Fri Oct 29 20:49:25 2021 +0000
Commit: Patrick McLean <chutzpah <AT> gentoo <DOT> org>
CommitDate: Fri Oct 29 20:49:25 2021 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=addb9b18
sys-cluster/ceph: 14.2.22 add fix for newer snappy
Copyright: Sony Interactive Entertainment Inc.
Package-Manager: Portage-3.0.28, Repoman-3.0.3
Signed-off-by: Patrick McLean <chutzpah <AT> gentoo.org>
sys-cluster/ceph/ceph-14.2.22.ebuild | 1 +
sys-cluster/ceph/files/ceph-14.2.22-snappy-uint32.patch | 13 +++++++++++++
2 files changed, 14 insertions(+)
diff --git a/sys-cluster/ceph/ceph-14.2.22.ebuild b/sys-cluster/ceph/ceph-14.2.22.ebuild
index 1288ebd6a78..7e642968cc1 100644
--- a/sys-cluster/ceph/ceph-14.2.22.ebuild
+++ b/sys-cluster/ceph/ceph-14.2.22.ebuild
@@ -185,6 +185,7 @@ PATCHES=(
"${FILESDIR}/ceph-14.2.22-build-without-mgr.patch"
"${FILESDIR}/ceph-14.2.11-systemd-unit-fix.patch"
"${FILESDIR}/ceph-15.2.9-dont-compile-isal_compress-if-don-t-have-SSE4_1.patch"
+ "${FILESDIR}/ceph-14.2.22-snappy-uint32.patch"
)
check-reqs_export_vars() {
diff --git a/sys-cluster/ceph/files/ceph-14.2.22-snappy-uint32.patch b/sys-cluster/ceph/files/ceph-14.2.22-snappy-uint32.patch
new file mode 100644
index 00000000000..c783558a175
--- /dev/null
+++ b/sys-cluster/ceph/files/ceph-14.2.22-snappy-uint32.patch
@@ -0,0 +1,13 @@
+diff --git a/src/compressor/snappy/SnappyCompressor.h b/src/compressor/snappy/SnappyCompressor.h
+index 0291a923112..352ab9a9bcf 100644
+--- a/src/compressor/snappy/SnappyCompressor.h
++++ b/src/compressor/snappy/SnappyCompressor.h
+@@ -96,7 +96,7 @@ class SnappyCompressor : public Compressor {
+ if (qat_enabled)
+ return qat_accel.decompress(p, compressed_len, dst);
+ #endif
+- snappy::uint32 res_len = 0;
++ uint32_t res_len = 0;
+ BufferlistSource source_1(p, compressed_len);
+ if (!snappy::GetUncompressedLength(&source_1, &res_len)) {
+ return -1;
^ permalink raw reply related [flat|nested] 68+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-cluster/ceph/, sys-cluster/ceph/files/
@ 2021-10-25 17:02 Patrick McLean
0 siblings, 0 replies; 68+ messages in thread
From: Patrick McLean @ 2021-10-25 17:02 UTC (permalink / raw
To: gentoo-commits
commit: 1a85196fb04bb10b91b46442bd54f8e206bf9fc1
Author: Patrick McLean <chutzpah <AT> gentoo <DOT> org>
AuthorDate: Sat Oct 23 00:54:54 2021 +0000
Commit: Patrick McLean <chutzpah <AT> gentoo <DOT> org>
CommitDate: Mon Oct 25 17:02:46 2021 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=1a85196f
sys-cluster/ceph: Drop old versions
Package-Manager: Portage-3.0.28, Repoman-3.0.3
Signed-off-by: Patrick McLean <chutzpah <AT> gentoo.org>
sys-cluster/ceph/Manifest | 5 -
sys-cluster/ceph/ceph-14.2.21-r2.ebuild | 393 ------------------
sys-cluster/ceph/ceph-15.2.12-r2.ebuild | 404 ------------------
sys-cluster/ceph/ceph-15.2.13-r2.ebuild | 402 ------------------
sys-cluster/ceph/ceph-15.2.14.ebuild | 402 ------------------
sys-cluster/ceph/ceph-16.2.4-r2.ebuild | 451 ---------------------
.../ceph/files/ceph-15.2.13-no-virtualenvs.patch | 73 ----
7 files changed, 2130 deletions(-)
diff --git a/sys-cluster/ceph/Manifest b/sys-cluster/ceph/Manifest
index 7f5036a1bc4..0998b3de4ea 100644
--- a/sys-cluster/ceph/Manifest
+++ b/sys-cluster/ceph/Manifest
@@ -1,9 +1,4 @@
-DIST ceph-14.2.21.tar.gz 129272778 BLAKE2B f82f452e0f0c40a95ea1bdb3654c2d322caa3edeeb05e41247e02a8ffe731c570d9e49aefa61c447a8b73620d4a9b9872335171f1e08fbd9a08eea930ccbfe76 SHA512 39b4a0624dcab2bafa50f51a42155fcf96dad74531a001d75009ad246a8ca80ce81ae538b34c0a1b773691c363626f1d0342f2439b711bd0dd16214592171884
DIST ceph-14.2.22.tar.gz 130597047 BLAKE2B 58bbb3243de076ed1d25dfd7bd75717c50ad15d16690dcbd1511d1b506477845efc3ff7fbe713cf18fb8cfcc8c16707ad2a0f30159e3198ff82e57fbd2eb3cf2 SHA512 1c66661e1a39fa9151e95e33c390b810ffe269465d8785e2197cc15b8d83bd2edde77de48a8abd71a4da68cd5830ff14bcdf6b98fd17edabe85caeb1eca018d3
-DIST ceph-15.2.12.tar.gz 148509713 BLAKE2B 4962e7d574b38592a874a1b3fa8610bb2d0afc8713d995d67a790c025bb086cb619cbbaec76482ec096b4c55b9f1df383f5bd4806a231bc88e70ac3efbac24b5 SHA512 08266a2e9a7ca5a37e03f340873571fd012c630dd898a87241cd97c29760b2bf41fe64c8883e7b08e0f83c26245072cd26e69ecb1db02378d1ec38335ba1cd0f
-DIST ceph-15.2.13.tar.gz 148542333 BLAKE2B 2e9668bcb0fd283ec4ab51b0c6142fc9a3b6310eb5d34e07da5e6b73b55dd7976db5ab9c78a93684ddc2f51873b1a17c4d31c5f5647b2d43a2826ee5362f7e5d SHA512 bde28c331c489db0845959f65c425146c317466a7793f56a83e2827dec35b8cd6f600bf9056151c1e6926cc0155deebbc8681c240ac9f37ad876b9a6afae96da
-DIST ceph-15.2.14.tar.gz 148573546 BLAKE2B dc49a86e17702d73afdcde3932ee3bcb79e50bc5a97e207095a7907e34dac9f44de391b5dcace7f26d3466ca715d9cfd172f65ebbad4ddbc0280daa4643a5976 SHA512 eacc4dea0d8dfe2753aff78d89324d81c5634a784313c3da8ded778e2734958c216f8c705b25f070d7ba66b559424ad3c47cb68852f66f8c9c83a83ca78ad5a5
DIST ceph-15.2.15.tar.gz 148584988 BLAKE2B 6ff629846a74c9b30c7e5d54731e2c85c67942f1871194cc8e704c56826b86cdd6163d6693805d9d6210bc0e3fc4d84fada12b9d81a5640e34d76be83cfe6e47 SHA512 e4d929ffda5c3e31767d93340fb97b5d49ca1d5641f6c30134ce5542486fc4f72684aef2ef47cb940a332e8b9144d8cec63ce8a9f86c773dbc0ccebdd8e7fb19
-DIST ceph-16.2.4.tar.gz 155840423 BLAKE2B a803ffa61ac9fd6d42790d6d8e12aa8df843968627df0051475355f3ba0dc1272afa3d9e2716115ad769b2f322d7bd239d99b89e51610e89ce9efe39af4f01ae SHA512 8904e7fcabd50276e4e86735fd85dba96f417c194c219025146f994707def7abe372528b0f2e862e274b2f405d7b791bac86b6cbb8d57cecd6f44023a2ffb6f6
DIST ceph-16.2.5.tar.gz 155933825 BLAKE2B 3c8f3f1663b91d4de1e3736317add0b88d9083db5ab2fc3e2e913278977deec076bd4410e309f4e47ccc169d74356c2ab1221c94532cc45ee75ec73673fc42a0 SHA512 5c32f9aa817ecfa788725bcfe5743756853ca9b3f9ee453242110f1b5e1bdd1feaef79ad9ccf2b185445c9644bcecb1355e151a2255bfd27edc9818e0d6d4c4a
DIST ceph-16.2.6.tar.gz 156087762 BLAKE2B e2595d1a958200e4f1877e4597c53319a9eee2e95606ea1b3ba2966a0d17f1cfcf52e05cca59752cc6ac383e32d944c380920d111aec840631235aef273a4de1 SHA512 f01e29088ae566d4111c21b5d0c173ddb02badaa0d8272f7f1548eb8e66a95dc7052b3945d9fb342e6c97a65c57648fda394317340d1f4236a57af7580073658
diff --git a/sys-cluster/ceph/ceph-14.2.21-r2.ebuild b/sys-cluster/ceph/ceph-14.2.21-r2.ebuild
deleted file mode 100644
index 5d1b43cae8f..00000000000
--- a/sys-cluster/ceph/ceph-14.2.21-r2.ebuild
+++ /dev/null
@@ -1,393 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-PYTHON_COMPAT=( python3_{7,8} )
-DISTUTILS_USE_SETUPTOOLS=rdepend
-CMAKE_MAKEFILE_GENERATOR=emake
-
-DISTUTILS_OPTIONAL=1
-
-inherit check-reqs bash-completion-r1 cmake distutils-r1 flag-o-matic \
- python-r1 udev readme.gentoo-r1 toolchain-funcs systemd tmpfiles
-
-if [[ ${PV} == *9999* ]]; then
- inherit git-r3
- EGIT_REPO_URI="https://github.com/ceph/ceph.git"
- SRC_URI=""
-else
- SRC_URI="https://download.ceph.com/tarballs/${P}.tar.gz"
- KEYWORDS="amd64 ~ppc64"
-fi
-
-DESCRIPTION="Ceph distributed filesystem"
-HOMEPAGE="https://ceph.com/"
-
-LICENSE="Apache-2.0 LGPL-2.1 CC-BY-SA-3.0 GPL-2 GPL-2+ LGPL-2+ LGPL-2.1 LGPL-3 GPL-3 BSD Boost-1.0 MIT public-domain"
-SLOT="0"
-
-CPU_FLAGS_X86=(sse{,2,3,4_1,4_2} ssse3)
-
-IUSE="babeltrace +cephfs custom-cflags diskprediction dpdk fuse grafana jemalloc
- kafka kerberos ldap lttng +mgr numa rabbitmq +radosgw +ssl spdk system-boost
- systemd +tcmalloc test xfs zfs"
-IUSE+=" $(printf "cpu_flags_x86_%s\n" ${CPU_FLAGS_X86[@]})"
-
-DEPEND="
- acct-group/ceph
- acct-user/ceph
- virtual/libcrypt:=
- virtual/libudev:=
- app-arch/bzip2:=
- app-arch/lz4:=
- app-arch/snappy:=
- app-arch/zstd:=
- app-shells/bash:0
- app-misc/jq:=
- dev-libs/crypto++:=
- dev-libs/leveldb:=[snappy,tcmalloc(-)?]
- dev-libs/libaio:=
- dev-libs/libnl:3=
- dev-libs/libxml2:=
- <dev-libs/rocksdb-6.15:=
- dev-libs/xmlsec:=[openssl]
- dev-cpp/yaml-cpp:=
- dev-libs/nss:=
- dev-libs/protobuf:=
- net-dns/c-ares:=
- net-libs/gnutls:=
- sys-auth/oath-toolkit:=
- sys-apps/coreutils
- sys-apps/grep
- sys-apps/hwloc:=
- sys-apps/keyutils:=
- sys-apps/util-linux:=
- sys-apps/sed
- sys-apps/util-linux
- sys-libs/libcap-ng:=
- sys-libs/ncurses:0=
- sys-libs/zlib:=
- sys-process/numactl:=
- x11-libs/libpciaccess:=
- babeltrace? ( dev-util/babeltrace )
- fuse? ( sys-fs/fuse:0= )
- jemalloc? ( dev-libs/jemalloc:= )
- !jemalloc? ( >=dev-util/google-perftools-2.6.1:= )
- kafka? ( dev-libs/librdkafka:= )
- kerberos? ( virtual/krb5 )
- ldap? ( net-nds/openldap:= )
- lttng? ( dev-util/lttng-ust:= )
- rabbitmq? ( net-libs/rabbitmq-c:= )
- radosgw? (
- dev-libs/expat:=
- dev-libs/openssl:=
- net-misc/curl:=[curl_ssl_openssl]
- )
- ssl? ( dev-libs/openssl:= )
- system-boost? ( dev-libs/boost:=[threads(+),context,python,${PYTHON_USEDEP}] )
- xfs? ( sys-fs/xfsprogs:= )
- zfs? ( sys-fs/zfs:= )
- ${PYTHON_DEPS}
-"
-BDEPEND="
- amd64? ( dev-lang/yasm )
- x86? ( dev-lang/yasm )
- app-arch/cpio
- >=dev-util/cmake-3.5.0
- dev-python/cython[${PYTHON_USEDEP}]
- dev-python/sphinx
- dev-util/cunit
- dev-util/gperf
- dev-util/ragel
- dev-util/valgrind
- sys-apps/coreutils
- sys-apps/findutils
- sys-apps/grep
- sys-apps/sed
- sys-apps/which
- sys-devel/bc
- sys-devel/patch
- virtual/pkgconfig
- test? (
- dev-python/coverage[${PYTHON_USEDEP}]
- dev-python/virtualenv[${PYTHON_USEDEP}]
- dev-python/requests-mock[${PYTHON_USEDEP}]
- sys-apps/grep[pcre]
- sys-fs/btrfs-progs
- )
-"
-RDEPEND="${DEPEND}
- app-admin/sudo
- net-misc/socat
- sys-apps/gptfdisk
- >=sys-apps/smartmontools-7.0
- sys-block/parted
- sys-fs/cryptsetup
- sys-fs/lsscsi
- sys-fs/lvm2[-device-mapper-only(-)]
- virtual/awk
- dev-python/bcrypt[${PYTHON_USEDEP}]
- dev-python/cherrypy[${PYTHON_USEDEP}]
- dev-python/flask[${PYTHON_USEDEP}]
- dev-python/jinja[${PYTHON_USEDEP}]
- dev-python/pecan[${PYTHON_USEDEP}]
- dev-python/prettytable[${PYTHON_USEDEP}]
- dev-python/pyopenssl[${PYTHON_USEDEP}]
- dev-python/requests[${PYTHON_USEDEP}]
- dev-python/werkzeug[${PYTHON_USEDEP}]
- mgr? (
- dev-python/more-itertools[${PYTHON_USEDEP}]
- dev-python/numpy[${PYTHON_USEDEP}]
- <dev-python/pyjwt-2.0[${PYTHON_USEDEP}]
- dev-python/pyyaml[${PYTHON_USEDEP}]
- dev-python/routes[${PYTHON_USEDEP}]
- sci-libs/scikit-learn[${PYTHON_USEDEP}]
- dev-python/six[${PYTHON_USEDEP}]
- )
-"
-# diskprediction needs older scipy not compatible with py38
-# bug #724438
-REQUIRED_USE="
- ${PYTHON_REQUIRED_USE}
- ?? ( jemalloc tcmalloc )
- diskprediction? ( mgr !python_targets_python3_8 )
- kafka? ( radosgw )
- mgr? ( cephfs )
- rabbitmq? ( radosgw )
-"
-RESTRICT="!test? ( test )"
-
-# the tests need root access
-RESTRICT="test? ( userpriv )"
-
-# distribution tarball does not include everything needed for tests
-RESTRICT+=" test"
-
-# create a non-debug release
-CMAKE_BUILD_TYPE=RelWithDebInfo
-
-# false positives unless all USE flags are on
-CMAKE_WARN_UNUSED_CLI=no
-
-PATCHES=(
- "${FILESDIR}/ceph-12.2.0-use-provided-cpu-flag-values.patch"
- "${FILESDIR}/ceph-14.2.0-cflags.patch"
- "${FILESDIR}/ceph-12.2.4-boost-build-none-options.patch"
- "${FILESDIR}/ceph-13.2.0-cflags.patch"
- "${FILESDIR}/ceph-14.2.0-mgr-python-version.patch"
- "${FILESDIR}/ceph-14.2.5-no-virtualenvs.patch"
- "${FILESDIR}/ceph-13.2.2-dont-install-sysvinit-script.patch"
- "${FILESDIR}/ceph-14.2.0-dpdk-cflags.patch"
- "${FILESDIR}/ceph-14.2.0-link-crc32-statically.patch"
- "${FILESDIR}/ceph-14.2.0-cython-0.29.patch"
- "${FILESDIR}/ceph-14.2.3-dpdk-compile-fix-1.patch"
- "${FILESDIR}/ceph-14.2.4-python-executable.patch"
- "${FILESDIR}/ceph-14.2.4-undefined-behaviour.patch"
- "${FILESDIR}/ceph-14.2.10-build-without-mgr.patch"
- "${FILESDIR}/ceph-14.2.11-systemd-unit-fix.patch"
- "${FILESDIR}/ceph-15.2.9-dont-compile-isal_compress-if-don-t-have-SSE4_1.patch"
-)
-
-check-reqs_export_vars() {
- CHECKREQS_DISK_BUILD="5200M"
- CHECKREQS_DISK_USR="510M"
-
- export CHECKREQS_DISK_BUILD CHECKREQS_DISK_USR
-}
-
-pkg_pretend() {
- check-reqs_export_vars
- check-reqs_pkg_pretend
-}
-
-pkg_setup() {
- python_setup
- check-reqs_export_vars
- check-reqs_pkg_setup
-}
-
-src_prepare() {
- cmake_src_prepare
-
- if use system-boost; then
- find "${S}" -name '*.cmake' -or -name 'CMakeLists.txt' -print0 \
- | xargs --null sed -r \
- -e 's|Boost::|boost_|g' \
- -e 's|Boost_|boost_|g' \
- -e 's|[Bb]oost_boost|boost_system|g' -i || die
- fi
-
- sed -r -e "s:DESTINATION .+\\):DESTINATION $(get_bashcompdir)\\):" \
- -i src/bash_completion/CMakeLists.txt || die
-
- sed -e "s:objdump -p:$(tc-getOBJDUMP) -p:" -i CMakeLists.txt || die
-
- if ! use diskprediction; then
- rm -rf src/pybind/mgr/diskprediction_local || die
- fi
-
- # remove tests that need root access
- rm src/test/cli/ceph-authtool/cap*.t || die
-}
-
-ceph_src_configure() {
- local flag
- local mycmakeargs=(
- -DWITH_BABELTRACE=$(usex babeltrace)
- -DWITH_CEPHFS=$(usex cephfs)
- -DWITH_CEPHFS_SHELL=$(usex cephfs)
- -DWITH_DPDK=$(usex dpdk)
- -DWITH_SPDK=$(usex spdk)
- -DWITH_FUSE=$(usex fuse)
- -DWITH_LTTNG=$(usex lttng)
- -DWITH_GSSAPI=$(usex kerberos)
- -DWITH_GRAFANA=$(usex grafana)
- -DWITH_MGR=$(usex mgr)
- -DWITH_MGR_DASHBOARD_FRONTEND=OFF
- -DWITH_NUMA=$(usex numa)
- -DWITH_OPENLDAP=$(usex ldap)
- -DWITH_PYTHON3=3
- -DWITH_RADOSGW=$(usex radosgw)
- -DWITH_RADOSGW_AMQP_ENDPOINT=$(usex rabbitmq)
- -DWITH_RADOSGW_KAFKA_ENDPOINT=$(usex kafka)
- -DWITH_SSL=$(usex ssl)
- -DWITH_SYSTEMD=$(usex systemd)
- -DWITH_TESTS=$(usex test)
- -DWITH_XFS=$(usex xfs)
- -DWITH_ZFS=$(usex zfs)
- -DENABLE_SHARED="ON"
- -DALLOCATOR=$(usex tcmalloc 'tcmalloc' "$(usex jemalloc 'jemalloc' 'libc')")
- -DWITH_SYSTEM_BOOST=$(usex system-boost)
- -DBOOST_J=$(makeopts_jobs)
- -DWITH_SYSTEM_ROCKSDB=ON
- -DWITH_RDMA=OFF
- -DWITH_TBB=OFF
- -DSYSTEMD_UNITDIR=$(systemd_get_systemunitdir)
- -DCMAKE_INSTALL_SYSTEMD_SERVICEDIR=$(systemd_get_systemunitdir)
- -DEPYTHON_VERSION="${EPYTHON#python}"
- -DCMAKE_INSTALL_DOCDIR="${EPREFIX}/usr/share/doc/${PN}-${PVR}"
- -DCMAKE_INSTALL_SYSCONFDIR="${EPREFIX}/etc"
- -Wno-dev
- )
- if use amd64 || use x86; then
- for flag in ${CPU_FLAGS_X86[@]}; do
- mycmakeargs+=("$(usex cpu_flags_x86_${flag} "-DHAVE_INTEL_${flag^^}=1")")
- done
- fi
-
- # needed for >=glibc-2.32
- has_version '>=sys-libs/glibc-2.32' && mycmakeargs+=(-DWITH_REENTRANT_STRSIGNAL:BOOL=ON)
-
- rm -f "${BUILD_DIR:-${S}}/CMakeCache.txt" \
- || die "failed to remove cmake cache"
-
- cmake_src_configure
-
- # bug #630232
- sed -i "s:\"${T//:\\:}/${EPYTHON}/bin/python\":\"${PYTHON}\":" \
- "${BUILD_DIR:-${S}}"/include/acconfig.h \
- || die "sed failed"
-}
-
-src_configure() {
- use custom-cflags || strip-flags
- ceph_src_configure
-}
-
-python_compile() {
- local CMAKE_USE_DIR="${S}"
- ceph_src_configure
-
- pushd "${BUILD_DIR}/src/pybind" >/dev/null || die
- emake VERBOSE=1 clean
- emake VERBOSE=1 all
-
- # python modules are only compiled with "make install" so we need to do this to
- # prevent doing a bunch of compilation in src_install
- DESTDIR="${T}" emake VERBOSE=1 install
- popd >/dev/null || die
-}
-
-src_compile() {
- cmake_build VERBOSE=1 all
-
- # we have to do this here to prevent from building everything multiple times
- python_copy_sources
- python_foreach_impl python_compile
-}
-
-src_test() {
- make check || die "make check failed"
-}
-
-python_install() {
- local CMAKE_USE_DIR="${S}"
- pushd "${BUILD_DIR}/src/pybind" >/dev/null || die
- DESTDIR="${ED}" emake VERBOSE=1 install
- popd >/dev/null || die
-
- python_optimize
-}
-
-src_install() {
- cmake_src_install
- python_foreach_impl python_install
-
- find "${ED}" -name '*.la' -type f -delete || die
-
- exeinto /usr/$(get_libdir)/ceph
- newexe "${BUILD_DIR}/bin/init-ceph" init-ceph
-
- insinto /etc/logrotate.d/
- newins "${FILESDIR}"/ceph.logrotate-r2 ${PN}
-
- keepdir /var/lib/${PN}{,/tmp} /var/log/${PN}/stat
-
- fowners -R ceph:ceph /var/log/ceph
-
- newinitd "${FILESDIR}/rbdmap.initd" rbdmap
- newinitd "${FILESDIR}/${PN}.initd-r12" ${PN}
- newconfd "${FILESDIR}/${PN}.confd-r5" ${PN}
-
- insinto /etc/sysctl.d
- newins "${FILESDIR}"/sysctld 90-${PN}.conf
-
- use tcmalloc && newenvd "${FILESDIR}"/envd-tcmalloc 99${PN}-tcmalloc
-
- # units aren't installed by the build system unless systemd is enabled
- # so no point installing these with the USE flag disabled
- if use systemd; then
- systemd_install_serviced "${FILESDIR}/ceph-mds_at.service.conf" \
- "ceph-mds@.service"
-
- systemd_install_serviced "${FILESDIR}/ceph-osd_at.service.conf" \
- "ceph-osd@.service"
-
- fi
-
- udev_dorules udev/*.rules
- newtmpfiles "${FILESDIR}"/ceph-tmpfilesd ${PN}.conf
-
- readme.gentoo_create_doc
-
- python_setup
-
- # bug #630232
- sed -i -r "s:${T//:/\\:}/${EPYTHON}:/usr:" "${ED}"/usr/bin/ceph{,-crash} \
- || die "sed failed"
-
- python_fix_shebang "${ED}"/usr/{,s}bin/
-
- # python_fix_shebang apparently is not idempotent
- local shebang_regex='(/usr/lib/python-exec/python[0-9]\.[0-9]/python)[0-9]\.[0-9]'
- grep -r -E -l --null "${shebang_regex}" "${ED}"/usr/{s,}bin/ \
- | xargs --null --no-run-if-empty -- sed -i -r "s:${shebang_regex}:\1:" || die
-
- local -a rados_classes=( "${ED}/usr/$(get_libdir)/rados-classes"/* )
- dostrip -x "${rados_classes[@]#${ED}}"
-}
-
-pkg_postinst() {
- readme.gentoo_print_elog
- tmpfiles_process ${PN}.conf
-}
diff --git a/sys-cluster/ceph/ceph-15.2.12-r2.ebuild b/sys-cluster/ceph/ceph-15.2.12-r2.ebuild
deleted file mode 100644
index 7e0b490c135..00000000000
--- a/sys-cluster/ceph/ceph-15.2.12-r2.ebuild
+++ /dev/null
@@ -1,404 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-PYTHON_COMPAT=( python3_{7..9} )
-DISTUTILS_USE_SETUPTOOLS=rdepend
-CMAKE_MAKEFILE_GENERATOR=emake
-
-DISTUTILS_OPTIONAL=1
-
-inherit check-reqs bash-completion-r1 cmake distutils-r1 flag-o-matic \
- python-r1 udev readme.gentoo-r1 toolchain-funcs systemd tmpfiles
-
-if [[ ${PV} == *9999* ]]; then
- inherit git-r3
- EGIT_REPO_URI="https://github.com/ceph/ceph.git"
- SRC_URI=""
-else
- SRC_URI="https://download.ceph.com/tarballs/${P}.tar.gz"
- KEYWORDS="~amd64 ~arm64 ~ppc64"
-fi
-
-DESCRIPTION="Ceph distributed filesystem"
-HOMEPAGE="https://ceph.com/"
-
-LICENSE="Apache-2.0 LGPL-2.1 CC-BY-SA-3.0 GPL-2 GPL-2+ LGPL-2+ LGPL-2.1 LGPL-3 GPL-3 BSD Boost-1.0 MIT public-domain"
-SLOT="0"
-
-CPU_FLAGS_X86=(sse{,2,3,4_1,4_2} ssse3)
-
-IUSE="babeltrace +cephfs custom-cflags diskprediction dpdk fuse grafana jemalloc
- kafka kerberos ldap lttng +mgr numa pmdk rabbitmq +radosgw rbd-rwl +ssl spdk
- system-boost systemd +tcmalloc test uring xfs zfs"
-IUSE+=" $(printf "cpu_flags_x86_%s\n" ${CPU_FLAGS_X86[@]})"
-
-DEPEND="
- acct-group/ceph
- acct-user/ceph
- virtual/libcrypt:=
- virtual/libudev:=
- app-arch/bzip2:=
- app-arch/lz4:=
- app-arch/snappy:=
- app-arch/zstd:=
- app-shells/bash:0
- app-misc/jq:=
- dev-libs/crypto++:=
- dev-cpp/gflags:=
- dev-libs/leveldb:=[snappy,tcmalloc(-)?]
- dev-libs/libaio:=
- dev-libs/libfmt:=
- dev-libs/libnl:3=
- dev-libs/libxml2:=
- <dev-libs/rocksdb-6.15:=
- dev-libs/xmlsec:=[openssl]
- dev-cpp/yaml-cpp:=
- dev-libs/nss:=
- dev-libs/protobuf:=
- net-dns/c-ares:=
- net-libs/gnutls:=
- sys-auth/oath-toolkit:=
- sys-apps/coreutils
- sys-apps/grep
- sys-apps/hwloc:=
- sys-apps/keyutils:=
- sys-apps/util-linux:=
- sys-apps/sed
- sys-apps/util-linux
- sys-libs/libcap-ng:=
- sys-libs/ncurses:0=
- sys-libs/zlib:=
- sys-process/numactl:=
- x11-libs/libpciaccess:=
- babeltrace? ( dev-util/babeltrace )
- fuse? ( sys-fs/fuse:0= )
- jemalloc? ( dev-libs/jemalloc:= )
- !jemalloc? ( >=dev-util/google-perftools-2.6.1:= )
- kafka? ( dev-libs/librdkafka:= )
- kerberos? ( virtual/krb5 )
- ldap? ( net-nds/openldap:= )
- lttng? ( dev-util/lttng-ust:= )
- pmdk? ( dev-libs/pmdk:= )
- rabbitmq? ( net-libs/rabbitmq-c:= )
- radosgw? (
- dev-libs/expat:=
- dev-libs/openssl:=
- net-misc/curl:=[curl_ssl_openssl]
- )
- rbd-rwl? ( dev-libs/pmdk:= )
- ssl? ( dev-libs/openssl:= )
- system-boost? ( >=dev-libs/boost-1.72:=[threads(+),context,python,${PYTHON_USEDEP}] )
- uring? ( sys-libs/liburing:= )
- xfs? ( sys-fs/xfsprogs:= )
- zfs? ( sys-fs/zfs:= )
- ${PYTHON_DEPS}
-"
-BDEPEND="
- amd64? ( dev-lang/yasm )
- x86? ( dev-lang/yasm )
- app-arch/cpio
- >=dev-util/cmake-3.5.0
- dev-python/cython[${PYTHON_USEDEP}]
- dev-python/sphinx
- dev-util/cunit
- dev-util/gperf
- dev-util/ragel
- dev-util/valgrind
- sys-apps/coreutils
- sys-apps/findutils
- sys-apps/grep
- sys-apps/sed
- sys-apps/which
- sys-devel/bc
- sys-devel/patch
- virtual/pkgconfig
- test? (
- dev-python/coverage[${PYTHON_USEDEP}]
- dev-python/virtualenv[${PYTHON_USEDEP}]
- dev-python/requests-mock[${PYTHON_USEDEP}]
- sys-apps/grep[pcre]
- sys-fs/btrfs-progs
- )
-"
-RDEPEND="${DEPEND}
- app-admin/sudo
- net-misc/socat
- sys-apps/gptfdisk
- sys-apps/nvme-cli
- >=sys-apps/smartmontools-7.0
- sys-block/parted
- sys-fs/cryptsetup
- sys-fs/lsscsi
- sys-fs/lvm2[-device-mapper-only(-)]
- virtual/awk
- dev-python/bcrypt[${PYTHON_USEDEP}]
- dev-python/cherrypy[${PYTHON_USEDEP}]
- dev-python/python-dateutil[${PYTHON_USEDEP}]
- dev-python/flask[${PYTHON_USEDEP}]
- dev-python/jinja[${PYTHON_USEDEP}]
- dev-python/pecan[${PYTHON_USEDEP}]
- dev-python/prettytable[${PYTHON_USEDEP}]
- dev-python/pyopenssl[${PYTHON_USEDEP}]
- dev-python/requests[${PYTHON_USEDEP}]
- dev-python/werkzeug[${PYTHON_USEDEP}]
- mgr? (
- dev-python/jsonpatch[${PYTHON_USEDEP}]
- dev-python/more-itertools[${PYTHON_USEDEP}]
- dev-python/numpy[${PYTHON_USEDEP}]
- dev-python/pyjwt[${PYTHON_USEDEP}]
- dev-python/pyyaml[${PYTHON_USEDEP}]
- dev-python/routes[${PYTHON_USEDEP}]
- sci-libs/scikit-learn[${PYTHON_USEDEP}]
- dev-python/six[${PYTHON_USEDEP}]
- )
-"
-# diskprediction needs older scipy not compatible with py38
-# bug #724438
-REQUIRED_USE="
- ${PYTHON_REQUIRED_USE}
- ?? ( jemalloc tcmalloc )
- diskprediction? ( mgr !python_targets_python3_8 )
- kafka? ( radosgw )
- mgr? ( cephfs )
- rabbitmq? ( radosgw )
-"
-RESTRICT="!test? ( test )"
-
-# the tests need root access
-RESTRICT="test? ( userpriv )"
-
-# distribution tarball does not include everything needed for tests
-RESTRICT+=" test"
-
-# create a non-debug release
-CMAKE_BUILD_TYPE=RelWithDebInfo
-
-# false positives unless all USE flags are on
-CMAKE_WARN_UNUSED_CLI=no
-
-PATCHES=(
- "${FILESDIR}/ceph-12.2.0-use-provided-cpu-flag-values.patch"
- "${FILESDIR}/ceph-14.2.0-cflags.patch"
- "${FILESDIR}/ceph-12.2.4-boost-build-none-options.patch"
- "${FILESDIR}/ceph-13.2.0-cflags.patch"
- "${FILESDIR}/ceph-15.2.0-no-virtualenvs.patch"
- "${FILESDIR}/ceph-13.2.2-dont-install-sysvinit-script.patch"
- "${FILESDIR}/ceph-14.2.0-dpdk-cflags.patch"
- "${FILESDIR}/ceph-14.2.0-link-crc32-statically.patch"
- "${FILESDIR}/ceph-14.2.0-cython-0.29.patch"
- "${FILESDIR}/ceph-15.2.0-rocksdb-cmake.patch"
- "${FILESDIR}/ceph-15.2.2-systemd-unit.patch"
- "${FILESDIR}/ceph-15.2.3-spdk-compile.patch"
- "${FILESDIR}/ceph-15.2.4-system-uring.patch"
- "${FILESDIR}/ceph-15.2.5-missing-includes.patch"
- "${FILESDIR}/ceph-15.2.9-dont-compile-isal_compress-if-don-t-have-SSE4_1.patch"
-)
-
-check-reqs_export_vars() {
- CHECKREQS_DISK_BUILD="5400M"
- CHECKREQS_DISK_USR="510M"
-
- export CHECKREQS_DISK_BUILD CHECKREQS_DISK_USR
-}
-
-pkg_pretend() {
- check-reqs_export_vars
- check-reqs_pkg_pretend
-}
-
-pkg_setup() {
- python_setup
- check-reqs_export_vars
- check-reqs_pkg_setup
-}
-
-src_prepare() {
- cmake_src_prepare
-
- if use system-boost; then
- find "${S}" -name '*.cmake' -or -name 'CMakeLists.txt' -print0 \
- | xargs --null sed -r \
- -e 's|Boost::|boost_|g' \
- -e 's|Boost_|boost_|g' \
- -e 's|[Bb]oost_boost|boost_system|g' -i || die
- fi
-
- sed -r -e "s:DESTINATION .+\\):DESTINATION $(get_bashcompdir)\\):" \
- -i src/bash_completion/CMakeLists.txt || die
-
- sed -e "s:objdump -p:$(tc-getOBJDUMP) -p:" -i CMakeLists.txt || die
-
- if ! use diskprediction; then
- rm -rf src/pybind/mgr/diskprediction_local || die
- fi
-
- # remove tests that need root access
- rm src/test/cli/ceph-authtool/cap*.t || die
-}
-
-ceph_src_configure() {
- local flag
- local mycmakeargs=(
- -DWITH_BABELTRACE=$(usex babeltrace)
- -DWITH_BLUESTORE_PMEM=$(usex pmdk)
- -DWITH_CEPHFS=$(usex cephfs)
- -DWITH_CEPHFS_SHELL=$(usex cephfs)
- -DWITH_DPDK=$(usex dpdk)
- -DWITH_SPDK=$(usex spdk)
- -DWITH_FUSE=$(usex fuse)
- -DWITH_LTTNG=$(usex lttng)
- -DWITH_GSSAPI=$(usex kerberos)
- -DWITH_GRAFANA=$(usex grafana)
- -DWITH_MGR=$(usex mgr)
- -DWITH_MGR_DASHBOARD_FRONTEND=OFF
- -DWITH_NUMA=$(usex numa)
- -DWITH_OPENLDAP=$(usex ldap)
- -DWITH_PYTHON3=3
- -DWITH_RADOSGW=$(usex radosgw)
- -DWITH_RADOSGW_AMQP_ENDPOINT=$(usex rabbitmq)
- -DWITH_RADOSGW_KAFKA_ENDPOINT=$(usex kafka)
- -DWITH_RBD_RWL=$(usex rbd-rwl)
- -DWITH_SSL=$(usex ssl)
- -DWITH_SYSTEMD=$(usex systemd)
- -DWITH_TESTS=$(usex test)
- -DWITH_LIBURING=$(usex uring)
- -DWITH_XFS=$(usex xfs)
- -DWITH_ZFS=$(usex zfs)
- -DENABLE_SHARED="ON"
- -DALLOCATOR=$(usex tcmalloc 'tcmalloc' "$(usex jemalloc 'jemalloc' 'libc')")
- -DWITH_SYSTEM_PMDK=$(usex pmdk 'YES' "$(usex rbd-rwl)")
- -DWITH_SYSTEM_BOOST=$(usex system-boost)
- -DBOOST_J=$(makeopts_jobs)
- -DWITH_SYSTEM_ROCKSDB=ON
- -DWITH_RDMA=OFF
- -DWITH_TBB=OFF
- -DSYSTEMD_UNITDIR=$(systemd_get_systemunitdir)
- -DCMAKE_INSTALL_SYSTEMD_SERVICEDIR=$(systemd_get_systemunitdir)
- -DEPYTHON_VERSION="${EPYTHON#python}"
- -DCMAKE_INSTALL_DOCDIR="${EPREFIX}/usr/share/doc/${PN}-${PVR}"
- -DCMAKE_INSTALL_SYSCONFDIR="${EPREFIX}/etc"
- -Wno-dev
- )
- if use amd64 || use x86; then
- for flag in ${CPU_FLAGS_X86[@]}; do
- mycmakeargs+=("$(usex cpu_flags_x86_${flag} "-DHAVE_INTEL_${flag^^}=1")")
- done
- fi
-
- # needed for >=glibc-2.32
- has_version '>=sys-libs/glibc-2.32' && mycmakeargs+=(-DWITH_REENTRANT_STRSIGNAL:BOOL=ON)
-
- rm -f "${BUILD_DIR:-${S}}/CMakeCache.txt" \
- || die "failed to remove cmake cache"
-
- cmake_src_configure
-
- # bug #630232
- sed -i "s:\"${T//:\\:}/${EPYTHON}/bin/python\":\"${PYTHON}\":" \
- "${BUILD_DIR:-${S}}"/include/acconfig.h \
- || die "sed failed"
-}
-
-src_configure() {
- use custom-cflags || strip-flags
- ceph_src_configure
-}
-
-python_compile() {
- local CMAKE_USE_DIR="${S}"
- ceph_src_configure
-
- pushd "${BUILD_DIR}/src/pybind" >/dev/null || die
- emake VERBOSE=1 clean
- emake VERBOSE=1 all
-
- # python modules are only compiled with "make install" so we need to do this to
- # prevent doing a bunch of compilation in src_install
- DESTDIR="${T}" emake VERBOSE=1 install
- popd >/dev/null || die
-}
-
-src_compile() {
- cmake_build VERBOSE=1 all
-
- # we have to do this here to prevent from building everything multiple times
- python_copy_sources
- python_foreach_impl python_compile
-}
-
-src_test() {
- make check || die "make check failed"
-}
-
-python_install() {
- local CMAKE_USE_DIR="${S}"
- pushd "${BUILD_DIR}/src/pybind" >/dev/null || die
- DESTDIR="${ED}" emake VERBOSE=1 install
- popd >/dev/null || die
-
- python_optimize
-}
-
-src_install() {
- cmake_src_install
- python_foreach_impl python_install
-
- find "${ED}" -name '*.la' -type f -delete || die
-
- exeinto /usr/$(get_libdir)/ceph
- newexe "${BUILD_DIR}/bin/init-ceph" init-ceph
-
- insinto /etc/logrotate.d/
- newins "${FILESDIR}"/ceph.logrotate-r2 ${PN}
-
- keepdir /var/lib/${PN}{,/tmp} /var/log/${PN}/stat
-
- fowners -R ceph:ceph /var/log/ceph
-
- newinitd "${FILESDIR}/rbdmap.initd-r1" rbdmap
- newinitd "${FILESDIR}/${PN}.initd-r12" ${PN}
- newconfd "${FILESDIR}/${PN}.confd-r5" ${PN}
-
- insinto /etc/sysctl.d
- newins "${FILESDIR}"/sysctld 90-${PN}.conf
-
- use tcmalloc && newenvd "${FILESDIR}"/envd-tcmalloc 99${PN}-tcmalloc
-
- # units aren't installed by the build system unless systemd is enabled
- # so no point installing these with the USE flag disabled
- if use systemd; then
- systemd_install_serviced "${FILESDIR}/ceph-mds_at.service.conf" \
- "ceph-mds@.service"
-
- systemd_install_serviced "${FILESDIR}/ceph-osd_at.service.conf" \
- "ceph-osd@.service"
-
- fi
-
- udev_dorules udev/*.rules
- newtmpfiles "${FILESDIR}"/ceph-tmpfilesd ${PN}.conf
-
- readme.gentoo_create_doc
-
- python_setup
-
- # bug #630232
- sed -i -r "s:${T//:/\\:}/${EPYTHON}:/usr:" "${ED}"/usr/bin/ceph{,-crash} \
- || die "sed failed"
-
- python_fix_shebang "${ED}"/usr/{,s}bin/
-
- # python_fix_shebang apparently is not idempotent
- local shebang_regex='(/usr/lib/python-exec/python[0-9]\.[0-9]/python)[0-9]\.[0-9]'
- grep -r -E -l --null "${shebang_regex}" "${ED}"/usr/{s,}bin/ \
- | xargs --null --no-run-if-empty -- sed -i -r "s:${shebang_regex}:\1:" || die
-
- local -a rados_classes=( "${ED}/usr/$(get_libdir)/rados-classes"/* )
- dostrip -x "${rados_classes[@]#${ED}}"
-}
-
-pkg_postinst() {
- readme.gentoo_print_elog
- tmpfiles_process ${PN}.conf
-}
diff --git a/sys-cluster/ceph/ceph-15.2.13-r2.ebuild b/sys-cluster/ceph/ceph-15.2.13-r2.ebuild
deleted file mode 100644
index bc1a96acf14..00000000000
--- a/sys-cluster/ceph/ceph-15.2.13-r2.ebuild
+++ /dev/null
@@ -1,402 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-PYTHON_COMPAT=( python3_{7..9} )
-DISTUTILS_USE_SETUPTOOLS=rdepend
-CMAKE_MAKEFILE_GENERATOR=emake
-
-DISTUTILS_OPTIONAL=1
-
-inherit check-reqs bash-completion-r1 cmake distutils-r1 flag-o-matic \
- python-r1 udev readme.gentoo-r1 toolchain-funcs systemd tmpfiles
-
-if [[ ${PV} == *9999* ]]; then
- inherit git-r3
- EGIT_REPO_URI="https://github.com/ceph/ceph.git"
- SRC_URI=""
-else
- SRC_URI="https://download.ceph.com/tarballs/${P}.tar.gz"
- KEYWORDS="~amd64 ~arm64 ~ppc64"
-fi
-
-DESCRIPTION="Ceph distributed filesystem"
-HOMEPAGE="https://ceph.com/"
-
-LICENSE="Apache-2.0 LGPL-2.1 CC-BY-SA-3.0 GPL-2 GPL-2+ LGPL-2+ LGPL-2.1 LGPL-3 GPL-3 BSD Boost-1.0 MIT public-domain"
-SLOT="0"
-
-CPU_FLAGS_X86=(sse{,2,3,4_1,4_2} ssse3)
-
-IUSE="babeltrace +cephfs custom-cflags diskprediction dpdk fuse grafana jemalloc
- kafka kerberos ldap lttng +mgr numa pmdk rabbitmq +radosgw rbd-rwl +ssl spdk
- system-boost systemd +tcmalloc test uring xfs zfs"
-IUSE+=" $(printf "cpu_flags_x86_%s\n" ${CPU_FLAGS_X86[@]})"
-
-DEPEND="
- acct-group/ceph
- acct-user/ceph
- virtual/libudev:=
- app-arch/bzip2:=
- app-arch/lz4:=
- app-arch/snappy:=
- app-arch/zstd:=
- app-shells/bash:0
- app-misc/jq:=
- dev-libs/crypto++:=
- dev-cpp/gflags:=
- dev-libs/leveldb:=[snappy,tcmalloc(-)?]
- dev-libs/libaio:=
- dev-libs/libfmt:=
- dev-libs/libnl:3=
- dev-libs/libxml2:=
- <dev-libs/rocksdb-6.15:=
- dev-libs/xmlsec:=[openssl]
- dev-cpp/yaml-cpp:=
- dev-libs/nss:=
- dev-libs/protobuf:=
- net-dns/c-ares:=
- net-libs/gnutls:=
- sys-auth/oath-toolkit:=
- sys-apps/coreutils
- sys-apps/grep
- sys-apps/hwloc:=
- sys-apps/keyutils:=
- sys-apps/util-linux:=
- sys-apps/sed
- sys-apps/util-linux
- sys-libs/libcap-ng:=
- sys-libs/ncurses:0=
- sys-libs/zlib:=
- sys-process/numactl:=
- virtual/libcrypt:=
- x11-libs/libpciaccess:=
- babeltrace? ( dev-util/babeltrace )
- fuse? ( sys-fs/fuse:0= )
- jemalloc? ( dev-libs/jemalloc:= )
- !jemalloc? ( >=dev-util/google-perftools-2.6.1:= )
- kafka? ( dev-libs/librdkafka:= )
- kerberos? ( virtual/krb5 )
- ldap? ( net-nds/openldap:= )
- lttng? ( dev-util/lttng-ust:= )
- pmdk? ( dev-libs/pmdk:= )
- rabbitmq? ( net-libs/rabbitmq-c:= )
- radosgw? (
- dev-libs/expat:=
- dev-libs/openssl:=
- net-misc/curl:=[curl_ssl_openssl]
- )
- rbd-rwl? ( dev-libs/pmdk:= )
- ssl? ( dev-libs/openssl:= )
- system-boost? ( >=dev-libs/boost-1.72:=[threads(+),context,python,${PYTHON_USEDEP}] )
- uring? ( sys-libs/liburing:= )
- xfs? ( sys-fs/xfsprogs:= )
- zfs? ( sys-fs/zfs:= )
- ${PYTHON_DEPS}
-"
-BDEPEND="
- amd64? ( dev-lang/yasm )
- x86? ( dev-lang/yasm )
- app-arch/cpio
- >=dev-util/cmake-3.5.0
- dev-python/cython[${PYTHON_USEDEP}]
- dev-python/sphinx
- dev-util/cunit
- dev-util/gperf
- dev-util/ragel
- dev-util/valgrind
- sys-apps/coreutils
- sys-apps/findutils
- sys-apps/grep
- sys-apps/sed
- sys-apps/which
- sys-devel/bc
- sys-devel/patch
- virtual/pkgconfig
- test? (
- dev-python/coverage[${PYTHON_USEDEP}]
- dev-python/virtualenv[${PYTHON_USEDEP}]
- dev-python/requests-mock[${PYTHON_USEDEP}]
- sys-apps/grep[pcre]
- sys-fs/btrfs-progs
- )
-"
-RDEPEND="${DEPEND}
- app-admin/sudo
- net-misc/socat
- sys-apps/gptfdisk
- sys-apps/nvme-cli
- >=sys-apps/smartmontools-7.0
- sys-block/parted
- sys-fs/cryptsetup
- sys-fs/lsscsi
- sys-fs/lvm2[-device-mapper-only(-)]
- virtual/awk
- dev-python/bcrypt[${PYTHON_USEDEP}]
- dev-python/cherrypy[${PYTHON_USEDEP}]
- dev-python/python-dateutil[${PYTHON_USEDEP}]
- dev-python/flask[${PYTHON_USEDEP}]
- dev-python/jinja[${PYTHON_USEDEP}]
- dev-python/pecan[${PYTHON_USEDEP}]
- dev-python/prettytable[${PYTHON_USEDEP}]
- dev-python/pyopenssl[${PYTHON_USEDEP}]
- dev-python/requests[${PYTHON_USEDEP}]
- dev-python/werkzeug[${PYTHON_USEDEP}]
- mgr? (
- dev-python/jsonpatch[${PYTHON_USEDEP}]
- dev-python/more-itertools[${PYTHON_USEDEP}]
- dev-python/numpy[${PYTHON_USEDEP}]
- dev-python/pyjwt[${PYTHON_USEDEP}]
- dev-python/pyyaml[${PYTHON_USEDEP}]
- dev-python/routes[${PYTHON_USEDEP}]
- sci-libs/scikit-learn[${PYTHON_USEDEP}]
- dev-python/six[${PYTHON_USEDEP}]
- )
-"
-# diskprediction needs older scipy not compatible with py38
-# bug #724438
-REQUIRED_USE="
- ${PYTHON_REQUIRED_USE}
- ?? ( jemalloc tcmalloc )
- diskprediction? ( mgr !python_targets_python3_8 )
- kafka? ( radosgw )
- mgr? ( cephfs )
- rabbitmq? ( radosgw )
-"
-RESTRICT="!test? ( test )"
-
-# the tests need root access
-RESTRICT="test? ( userpriv )"
-
-# distribution tarball does not include everything needed for tests
-RESTRICT+=" test"
-
-# create a non-debug release
-CMAKE_BUILD_TYPE=RelWithDebInfo
-
-# false positives unless all USE flags are on
-CMAKE_WARN_UNUSED_CLI=no
-
-PATCHES=(
- "${FILESDIR}/ceph-12.2.0-use-provided-cpu-flag-values.patch"
- "${FILESDIR}/ceph-14.2.0-cflags.patch"
- "${FILESDIR}/ceph-12.2.4-boost-build-none-options.patch"
- "${FILESDIR}/ceph-13.2.0-cflags.patch"
- "${FILESDIR}/ceph-15.2.13-no-virtualenvs.patch"
- "${FILESDIR}/ceph-13.2.2-dont-install-sysvinit-script.patch"
- "${FILESDIR}/ceph-14.2.0-dpdk-cflags.patch"
- "${FILESDIR}/ceph-14.2.0-cython-0.29.patch"
- "${FILESDIR}/ceph-15.2.0-rocksdb-cmake.patch"
- "${FILESDIR}/ceph-15.2.2-systemd-unit.patch"
- "${FILESDIR}/ceph-15.2.3-spdk-compile.patch"
- "${FILESDIR}/ceph-15.2.4-system-uring.patch"
- "${FILESDIR}/ceph-15.2.9-dont-compile-isal_compress-if-don-t-have-SSE4_1.patch"
-)
-
-check-reqs_export_vars() {
- CHECKREQS_DISK_BUILD="5400M"
- CHECKREQS_DISK_USR="510M"
-
- export CHECKREQS_DISK_BUILD CHECKREQS_DISK_USR
-}
-
-pkg_pretend() {
- check-reqs_export_vars
- check-reqs_pkg_pretend
-}
-
-pkg_setup() {
- python_setup
- check-reqs_export_vars
- check-reqs_pkg_setup
-}
-
-src_prepare() {
- cmake_src_prepare
-
- if use system-boost; then
- find "${S}" -name '*.cmake' -or -name 'CMakeLists.txt' -print0 \
- | xargs --null sed -r \
- -e 's|Boost::|boost_|g' \
- -e 's|Boost_|boost_|g' \
- -e 's|[Bb]oost_boost|boost_system|g' -i || die
- fi
-
- sed -r -e "s:DESTINATION .+\\):DESTINATION $(get_bashcompdir)\\):" \
- -i src/bash_completion/CMakeLists.txt || die
-
- sed -e "s:objdump -p:$(tc-getOBJDUMP) -p:" -i CMakeLists.txt || die
-
- if ! use diskprediction; then
- rm -rf src/pybind/mgr/diskprediction_local || die
- fi
-
- # remove tests that need root access
- rm src/test/cli/ceph-authtool/cap*.t || die
-}
-
-ceph_src_configure() {
- local flag
- local mycmakeargs=(
- -DWITH_BABELTRACE=$(usex babeltrace)
- -DWITH_BLUESTORE_PMEM=$(usex pmdk)
- -DWITH_CEPHFS=$(usex cephfs)
- -DWITH_CEPHFS_SHELL=$(usex cephfs)
- -DWITH_DPDK=$(usex dpdk)
- -DWITH_SPDK=$(usex spdk)
- -DWITH_FUSE=$(usex fuse)
- -DWITH_LTTNG=$(usex lttng)
- -DWITH_GSSAPI=$(usex kerberos)
- -DWITH_GRAFANA=$(usex grafana)
- -DWITH_MGR=$(usex mgr)
- -DWITH_MGR_DASHBOARD_FRONTEND=OFF
- -DWITH_NUMA=$(usex numa)
- -DWITH_OPENLDAP=$(usex ldap)
- -DWITH_PYTHON3=3
- -DWITH_RADOSGW=$(usex radosgw)
- -DWITH_RADOSGW_AMQP_ENDPOINT=$(usex rabbitmq)
- -DWITH_RADOSGW_KAFKA_ENDPOINT=$(usex kafka)
- -DWITH_RBD_RWL=$(usex rbd-rwl)
- -DWITH_SSL=$(usex ssl)
- -DWITH_SYSTEMD=$(usex systemd)
- -DWITH_TESTS=$(usex test)
- -DWITH_LIBURING=$(usex uring)
- -DWITH_XFS=$(usex xfs)
- -DWITH_ZFS=$(usex zfs)
- -DENABLE_SHARED="ON"
- -DALLOCATOR=$(usex tcmalloc 'tcmalloc' "$(usex jemalloc 'jemalloc' 'libc')")
- -DWITH_SYSTEM_PMDK=$(usex pmdk 'YES' "$(usex rbd-rwl)")
- -DWITH_SYSTEM_BOOST=$(usex system-boost)
- -DBOOST_J=$(makeopts_jobs)
- -DWITH_SYSTEM_ROCKSDB=ON
- -DWITH_RDMA=OFF
- -DWITH_TBB=OFF
- -DSYSTEMD_UNITDIR=$(systemd_get_systemunitdir)
- -DCMAKE_INSTALL_SYSTEMD_SERVICEDIR=$(systemd_get_systemunitdir)
- -DEPYTHON_VERSION="${EPYTHON#python}"
- -DCMAKE_INSTALL_DOCDIR="${EPREFIX}/usr/share/doc/${PN}-${PVR}"
- -DCMAKE_INSTALL_SYSCONFDIR="${EPREFIX}/etc"
- -Wno-dev
- )
- if use amd64 || use x86; then
- for flag in ${CPU_FLAGS_X86[@]}; do
- mycmakeargs+=("$(usex cpu_flags_x86_${flag} "-DHAVE_INTEL_${flag^^}=1")")
- done
- fi
-
- # needed for >=glibc-2.32
- has_version '>=sys-libs/glibc-2.32' && mycmakeargs+=(-DWITH_REENTRANT_STRSIGNAL:BOOL=ON)
-
- rm -f "${BUILD_DIR:-${S}}/CMakeCache.txt" \
- || die "failed to remove cmake cache"
-
- cmake_src_configure
-
- # bug #630232
- sed -i "s:\"${T//:\\:}/${EPYTHON}/bin/python\":\"${PYTHON}\":" \
- "${BUILD_DIR:-${S}}"/include/acconfig.h \
- || die "sed failed"
-}
-
-src_configure() {
- use custom-cflags || strip-flags
- ceph_src_configure
-}
-
-python_compile() {
- local CMAKE_USE_DIR="${S}"
- ceph_src_configure
-
- pushd "${BUILD_DIR}/src/pybind" >/dev/null || die
- emake VERBOSE=1 clean
- emake VERBOSE=1 all
-
- # python modules are only compiled with "make install" so we need to do this to
- # prevent doing a bunch of compilation in src_install
- DESTDIR="${T}" emake VERBOSE=1 install
- popd >/dev/null || die
-}
-
-src_compile() {
- cmake_build VERBOSE=1 all
-
- # we have to do this here to prevent from building everything multiple times
- python_copy_sources
- python_foreach_impl python_compile
-}
-
-src_test() {
- make check || die "make check failed"
-}
-
-python_install() {
- local CMAKE_USE_DIR="${S}"
- pushd "${BUILD_DIR}/src/pybind" >/dev/null || die
- DESTDIR="${ED}" emake VERBOSE=1 install
- popd >/dev/null || die
-
- python_optimize
-}
-
-src_install() {
- cmake_src_install
- python_foreach_impl python_install
-
- find "${ED}" -name '*.la' -type f -delete || die
-
- exeinto /usr/$(get_libdir)/ceph
- newexe "${BUILD_DIR}/bin/init-ceph" init-ceph
-
- insinto /etc/logrotate.d/
- newins "${FILESDIR}"/ceph.logrotate-r2 ${PN}
-
- keepdir /var/lib/${PN}{,/tmp} /var/log/${PN}/stat
-
- fowners -R ceph:ceph /var/log/ceph
-
- newinitd "${FILESDIR}/rbdmap.initd-r1" rbdmap
- newinitd "${FILESDIR}/${PN}.initd-r12" ${PN}
- newconfd "${FILESDIR}/${PN}.confd-r5" ${PN}
-
- insinto /etc/sysctl.d
- newins "${FILESDIR}"/sysctld 90-${PN}.conf
-
- use tcmalloc && newenvd "${FILESDIR}"/envd-tcmalloc 99${PN}-tcmalloc
-
- # units aren't installed by the build system unless systemd is enabled
- # so no point installing these with the USE flag disabled
- if use systemd; then
- systemd_install_serviced "${FILESDIR}/ceph-mds_at.service.conf" \
- "ceph-mds@.service"
-
- systemd_install_serviced "${FILESDIR}/ceph-osd_at.service.conf" \
- "ceph-osd@.service"
-
- fi
-
- udev_dorules udev/*.rules
- newtmpfiles "${FILESDIR}"/ceph-tmpfilesd ${PN}.conf
-
- readme.gentoo_create_doc
-
- python_setup
-
- # bug #630232
- sed -i -r "s:${T//:/\\:}/${EPYTHON}:/usr:" "${ED}"/usr/bin/ceph{,-crash} \
- || die "sed failed"
-
- python_fix_shebang "${ED}"/usr/{,s}bin/
-
- # python_fix_shebang apparently is not idempotent
- local shebang_regex='(/usr/lib/python-exec/python[0-9]\.[0-9]/python)[0-9]\.[0-9]'
- grep -r -E -l --null "${shebang_regex}" "${ED}"/usr/{s,}bin/ \
- | xargs --null --no-run-if-empty -- sed -i -r "s:${shebang_regex}:\1:" || die
-
- local -a rados_classes=( "${ED}/usr/$(get_libdir)/rados-classes"/* )
- dostrip -x "${rados_classes[@]#${ED}}"
-}
-
-pkg_postinst() {
- readme.gentoo_print_elog
- tmpfiles_process ${PN}.conf
-}
diff --git a/sys-cluster/ceph/ceph-15.2.14.ebuild b/sys-cluster/ceph/ceph-15.2.14.ebuild
deleted file mode 100644
index bc1a96acf14..00000000000
--- a/sys-cluster/ceph/ceph-15.2.14.ebuild
+++ /dev/null
@@ -1,402 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-PYTHON_COMPAT=( python3_{7..9} )
-DISTUTILS_USE_SETUPTOOLS=rdepend
-CMAKE_MAKEFILE_GENERATOR=emake
-
-DISTUTILS_OPTIONAL=1
-
-inherit check-reqs bash-completion-r1 cmake distutils-r1 flag-o-matic \
- python-r1 udev readme.gentoo-r1 toolchain-funcs systemd tmpfiles
-
-if [[ ${PV} == *9999* ]]; then
- inherit git-r3
- EGIT_REPO_URI="https://github.com/ceph/ceph.git"
- SRC_URI=""
-else
- SRC_URI="https://download.ceph.com/tarballs/${P}.tar.gz"
- KEYWORDS="~amd64 ~arm64 ~ppc64"
-fi
-
-DESCRIPTION="Ceph distributed filesystem"
-HOMEPAGE="https://ceph.com/"
-
-LICENSE="Apache-2.0 LGPL-2.1 CC-BY-SA-3.0 GPL-2 GPL-2+ LGPL-2+ LGPL-2.1 LGPL-3 GPL-3 BSD Boost-1.0 MIT public-domain"
-SLOT="0"
-
-CPU_FLAGS_X86=(sse{,2,3,4_1,4_2} ssse3)
-
-IUSE="babeltrace +cephfs custom-cflags diskprediction dpdk fuse grafana jemalloc
- kafka kerberos ldap lttng +mgr numa pmdk rabbitmq +radosgw rbd-rwl +ssl spdk
- system-boost systemd +tcmalloc test uring xfs zfs"
-IUSE+=" $(printf "cpu_flags_x86_%s\n" ${CPU_FLAGS_X86[@]})"
-
-DEPEND="
- acct-group/ceph
- acct-user/ceph
- virtual/libudev:=
- app-arch/bzip2:=
- app-arch/lz4:=
- app-arch/snappy:=
- app-arch/zstd:=
- app-shells/bash:0
- app-misc/jq:=
- dev-libs/crypto++:=
- dev-cpp/gflags:=
- dev-libs/leveldb:=[snappy,tcmalloc(-)?]
- dev-libs/libaio:=
- dev-libs/libfmt:=
- dev-libs/libnl:3=
- dev-libs/libxml2:=
- <dev-libs/rocksdb-6.15:=
- dev-libs/xmlsec:=[openssl]
- dev-cpp/yaml-cpp:=
- dev-libs/nss:=
- dev-libs/protobuf:=
- net-dns/c-ares:=
- net-libs/gnutls:=
- sys-auth/oath-toolkit:=
- sys-apps/coreutils
- sys-apps/grep
- sys-apps/hwloc:=
- sys-apps/keyutils:=
- sys-apps/util-linux:=
- sys-apps/sed
- sys-apps/util-linux
- sys-libs/libcap-ng:=
- sys-libs/ncurses:0=
- sys-libs/zlib:=
- sys-process/numactl:=
- virtual/libcrypt:=
- x11-libs/libpciaccess:=
- babeltrace? ( dev-util/babeltrace )
- fuse? ( sys-fs/fuse:0= )
- jemalloc? ( dev-libs/jemalloc:= )
- !jemalloc? ( >=dev-util/google-perftools-2.6.1:= )
- kafka? ( dev-libs/librdkafka:= )
- kerberos? ( virtual/krb5 )
- ldap? ( net-nds/openldap:= )
- lttng? ( dev-util/lttng-ust:= )
- pmdk? ( dev-libs/pmdk:= )
- rabbitmq? ( net-libs/rabbitmq-c:= )
- radosgw? (
- dev-libs/expat:=
- dev-libs/openssl:=
- net-misc/curl:=[curl_ssl_openssl]
- )
- rbd-rwl? ( dev-libs/pmdk:= )
- ssl? ( dev-libs/openssl:= )
- system-boost? ( >=dev-libs/boost-1.72:=[threads(+),context,python,${PYTHON_USEDEP}] )
- uring? ( sys-libs/liburing:= )
- xfs? ( sys-fs/xfsprogs:= )
- zfs? ( sys-fs/zfs:= )
- ${PYTHON_DEPS}
-"
-BDEPEND="
- amd64? ( dev-lang/yasm )
- x86? ( dev-lang/yasm )
- app-arch/cpio
- >=dev-util/cmake-3.5.0
- dev-python/cython[${PYTHON_USEDEP}]
- dev-python/sphinx
- dev-util/cunit
- dev-util/gperf
- dev-util/ragel
- dev-util/valgrind
- sys-apps/coreutils
- sys-apps/findutils
- sys-apps/grep
- sys-apps/sed
- sys-apps/which
- sys-devel/bc
- sys-devel/patch
- virtual/pkgconfig
- test? (
- dev-python/coverage[${PYTHON_USEDEP}]
- dev-python/virtualenv[${PYTHON_USEDEP}]
- dev-python/requests-mock[${PYTHON_USEDEP}]
- sys-apps/grep[pcre]
- sys-fs/btrfs-progs
- )
-"
-RDEPEND="${DEPEND}
- app-admin/sudo
- net-misc/socat
- sys-apps/gptfdisk
- sys-apps/nvme-cli
- >=sys-apps/smartmontools-7.0
- sys-block/parted
- sys-fs/cryptsetup
- sys-fs/lsscsi
- sys-fs/lvm2[-device-mapper-only(-)]
- virtual/awk
- dev-python/bcrypt[${PYTHON_USEDEP}]
- dev-python/cherrypy[${PYTHON_USEDEP}]
- dev-python/python-dateutil[${PYTHON_USEDEP}]
- dev-python/flask[${PYTHON_USEDEP}]
- dev-python/jinja[${PYTHON_USEDEP}]
- dev-python/pecan[${PYTHON_USEDEP}]
- dev-python/prettytable[${PYTHON_USEDEP}]
- dev-python/pyopenssl[${PYTHON_USEDEP}]
- dev-python/requests[${PYTHON_USEDEP}]
- dev-python/werkzeug[${PYTHON_USEDEP}]
- mgr? (
- dev-python/jsonpatch[${PYTHON_USEDEP}]
- dev-python/more-itertools[${PYTHON_USEDEP}]
- dev-python/numpy[${PYTHON_USEDEP}]
- dev-python/pyjwt[${PYTHON_USEDEP}]
- dev-python/pyyaml[${PYTHON_USEDEP}]
- dev-python/routes[${PYTHON_USEDEP}]
- sci-libs/scikit-learn[${PYTHON_USEDEP}]
- dev-python/six[${PYTHON_USEDEP}]
- )
-"
-# diskprediction needs older scipy not compatible with py38
-# bug #724438
-REQUIRED_USE="
- ${PYTHON_REQUIRED_USE}
- ?? ( jemalloc tcmalloc )
- diskprediction? ( mgr !python_targets_python3_8 )
- kafka? ( radosgw )
- mgr? ( cephfs )
- rabbitmq? ( radosgw )
-"
-RESTRICT="!test? ( test )"
-
-# the tests need root access
-RESTRICT="test? ( userpriv )"
-
-# distribution tarball does not include everything needed for tests
-RESTRICT+=" test"
-
-# create a non-debug release
-CMAKE_BUILD_TYPE=RelWithDebInfo
-
-# false positives unless all USE flags are on
-CMAKE_WARN_UNUSED_CLI=no
-
-PATCHES=(
- "${FILESDIR}/ceph-12.2.0-use-provided-cpu-flag-values.patch"
- "${FILESDIR}/ceph-14.2.0-cflags.patch"
- "${FILESDIR}/ceph-12.2.4-boost-build-none-options.patch"
- "${FILESDIR}/ceph-13.2.0-cflags.patch"
- "${FILESDIR}/ceph-15.2.13-no-virtualenvs.patch"
- "${FILESDIR}/ceph-13.2.2-dont-install-sysvinit-script.patch"
- "${FILESDIR}/ceph-14.2.0-dpdk-cflags.patch"
- "${FILESDIR}/ceph-14.2.0-cython-0.29.patch"
- "${FILESDIR}/ceph-15.2.0-rocksdb-cmake.patch"
- "${FILESDIR}/ceph-15.2.2-systemd-unit.patch"
- "${FILESDIR}/ceph-15.2.3-spdk-compile.patch"
- "${FILESDIR}/ceph-15.2.4-system-uring.patch"
- "${FILESDIR}/ceph-15.2.9-dont-compile-isal_compress-if-don-t-have-SSE4_1.patch"
-)
-
-check-reqs_export_vars() {
- CHECKREQS_DISK_BUILD="5400M"
- CHECKREQS_DISK_USR="510M"
-
- export CHECKREQS_DISK_BUILD CHECKREQS_DISK_USR
-}
-
-pkg_pretend() {
- check-reqs_export_vars
- check-reqs_pkg_pretend
-}
-
-pkg_setup() {
- python_setup
- check-reqs_export_vars
- check-reqs_pkg_setup
-}
-
-src_prepare() {
- cmake_src_prepare
-
- if use system-boost; then
- find "${S}" -name '*.cmake' -or -name 'CMakeLists.txt' -print0 \
- | xargs --null sed -r \
- -e 's|Boost::|boost_|g' \
- -e 's|Boost_|boost_|g' \
- -e 's|[Bb]oost_boost|boost_system|g' -i || die
- fi
-
- sed -r -e "s:DESTINATION .+\\):DESTINATION $(get_bashcompdir)\\):" \
- -i src/bash_completion/CMakeLists.txt || die
-
- sed -e "s:objdump -p:$(tc-getOBJDUMP) -p:" -i CMakeLists.txt || die
-
- if ! use diskprediction; then
- rm -rf src/pybind/mgr/diskprediction_local || die
- fi
-
- # remove tests that need root access
- rm src/test/cli/ceph-authtool/cap*.t || die
-}
-
-ceph_src_configure() {
- local flag
- local mycmakeargs=(
- -DWITH_BABELTRACE=$(usex babeltrace)
- -DWITH_BLUESTORE_PMEM=$(usex pmdk)
- -DWITH_CEPHFS=$(usex cephfs)
- -DWITH_CEPHFS_SHELL=$(usex cephfs)
- -DWITH_DPDK=$(usex dpdk)
- -DWITH_SPDK=$(usex spdk)
- -DWITH_FUSE=$(usex fuse)
- -DWITH_LTTNG=$(usex lttng)
- -DWITH_GSSAPI=$(usex kerberos)
- -DWITH_GRAFANA=$(usex grafana)
- -DWITH_MGR=$(usex mgr)
- -DWITH_MGR_DASHBOARD_FRONTEND=OFF
- -DWITH_NUMA=$(usex numa)
- -DWITH_OPENLDAP=$(usex ldap)
- -DWITH_PYTHON3=3
- -DWITH_RADOSGW=$(usex radosgw)
- -DWITH_RADOSGW_AMQP_ENDPOINT=$(usex rabbitmq)
- -DWITH_RADOSGW_KAFKA_ENDPOINT=$(usex kafka)
- -DWITH_RBD_RWL=$(usex rbd-rwl)
- -DWITH_SSL=$(usex ssl)
- -DWITH_SYSTEMD=$(usex systemd)
- -DWITH_TESTS=$(usex test)
- -DWITH_LIBURING=$(usex uring)
- -DWITH_XFS=$(usex xfs)
- -DWITH_ZFS=$(usex zfs)
- -DENABLE_SHARED="ON"
- -DALLOCATOR=$(usex tcmalloc 'tcmalloc' "$(usex jemalloc 'jemalloc' 'libc')")
- -DWITH_SYSTEM_PMDK=$(usex pmdk 'YES' "$(usex rbd-rwl)")
- -DWITH_SYSTEM_BOOST=$(usex system-boost)
- -DBOOST_J=$(makeopts_jobs)
- -DWITH_SYSTEM_ROCKSDB=ON
- -DWITH_RDMA=OFF
- -DWITH_TBB=OFF
- -DSYSTEMD_UNITDIR=$(systemd_get_systemunitdir)
- -DCMAKE_INSTALL_SYSTEMD_SERVICEDIR=$(systemd_get_systemunitdir)
- -DEPYTHON_VERSION="${EPYTHON#python}"
- -DCMAKE_INSTALL_DOCDIR="${EPREFIX}/usr/share/doc/${PN}-${PVR}"
- -DCMAKE_INSTALL_SYSCONFDIR="${EPREFIX}/etc"
- -Wno-dev
- )
- if use amd64 || use x86; then
- for flag in ${CPU_FLAGS_X86[@]}; do
- mycmakeargs+=("$(usex cpu_flags_x86_${flag} "-DHAVE_INTEL_${flag^^}=1")")
- done
- fi
-
- # needed for >=glibc-2.32
- has_version '>=sys-libs/glibc-2.32' && mycmakeargs+=(-DWITH_REENTRANT_STRSIGNAL:BOOL=ON)
-
- rm -f "${BUILD_DIR:-${S}}/CMakeCache.txt" \
- || die "failed to remove cmake cache"
-
- cmake_src_configure
-
- # bug #630232
- sed -i "s:\"${T//:\\:}/${EPYTHON}/bin/python\":\"${PYTHON}\":" \
- "${BUILD_DIR:-${S}}"/include/acconfig.h \
- || die "sed failed"
-}
-
-src_configure() {
- use custom-cflags || strip-flags
- ceph_src_configure
-}
-
-python_compile() {
- local CMAKE_USE_DIR="${S}"
- ceph_src_configure
-
- pushd "${BUILD_DIR}/src/pybind" >/dev/null || die
- emake VERBOSE=1 clean
- emake VERBOSE=1 all
-
- # python modules are only compiled with "make install" so we need to do this to
- # prevent doing a bunch of compilation in src_install
- DESTDIR="${T}" emake VERBOSE=1 install
- popd >/dev/null || die
-}
-
-src_compile() {
- cmake_build VERBOSE=1 all
-
- # we have to do this here to prevent from building everything multiple times
- python_copy_sources
- python_foreach_impl python_compile
-}
-
-src_test() {
- make check || die "make check failed"
-}
-
-python_install() {
- local CMAKE_USE_DIR="${S}"
- pushd "${BUILD_DIR}/src/pybind" >/dev/null || die
- DESTDIR="${ED}" emake VERBOSE=1 install
- popd >/dev/null || die
-
- python_optimize
-}
-
-src_install() {
- cmake_src_install
- python_foreach_impl python_install
-
- find "${ED}" -name '*.la' -type f -delete || die
-
- exeinto /usr/$(get_libdir)/ceph
- newexe "${BUILD_DIR}/bin/init-ceph" init-ceph
-
- insinto /etc/logrotate.d/
- newins "${FILESDIR}"/ceph.logrotate-r2 ${PN}
-
- keepdir /var/lib/${PN}{,/tmp} /var/log/${PN}/stat
-
- fowners -R ceph:ceph /var/log/ceph
-
- newinitd "${FILESDIR}/rbdmap.initd-r1" rbdmap
- newinitd "${FILESDIR}/${PN}.initd-r12" ${PN}
- newconfd "${FILESDIR}/${PN}.confd-r5" ${PN}
-
- insinto /etc/sysctl.d
- newins "${FILESDIR}"/sysctld 90-${PN}.conf
-
- use tcmalloc && newenvd "${FILESDIR}"/envd-tcmalloc 99${PN}-tcmalloc
-
- # units aren't installed by the build system unless systemd is enabled
- # so no point installing these with the USE flag disabled
- if use systemd; then
- systemd_install_serviced "${FILESDIR}/ceph-mds_at.service.conf" \
- "ceph-mds@.service"
-
- systemd_install_serviced "${FILESDIR}/ceph-osd_at.service.conf" \
- "ceph-osd@.service"
-
- fi
-
- udev_dorules udev/*.rules
- newtmpfiles "${FILESDIR}"/ceph-tmpfilesd ${PN}.conf
-
- readme.gentoo_create_doc
-
- python_setup
-
- # bug #630232
- sed -i -r "s:${T//:/\\:}/${EPYTHON}:/usr:" "${ED}"/usr/bin/ceph{,-crash} \
- || die "sed failed"
-
- python_fix_shebang "${ED}"/usr/{,s}bin/
-
- # python_fix_shebang apparently is not idempotent
- local shebang_regex='(/usr/lib/python-exec/python[0-9]\.[0-9]/python)[0-9]\.[0-9]'
- grep -r -E -l --null "${shebang_regex}" "${ED}"/usr/{s,}bin/ \
- | xargs --null --no-run-if-empty -- sed -i -r "s:${shebang_regex}:\1:" || die
-
- local -a rados_classes=( "${ED}/usr/$(get_libdir)/rados-classes"/* )
- dostrip -x "${rados_classes[@]#${ED}}"
-}
-
-pkg_postinst() {
- readme.gentoo_print_elog
- tmpfiles_process ${PN}.conf
-}
diff --git a/sys-cluster/ceph/ceph-16.2.4-r2.ebuild b/sys-cluster/ceph/ceph-16.2.4-r2.ebuild
deleted file mode 100644
index e3804ec653b..00000000000
--- a/sys-cluster/ceph/ceph-16.2.4-r2.ebuild
+++ /dev/null
@@ -1,451 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{7..9} )
-DISTUTILS_USE_SETUPTOOLS=rdepend
-DISTUTILS_OPTIONAL=1
-LUA_COMPAT=( lua5-3 )
-
-CMAKE_MAKEFILE_GENERATOR=emake
-
-inherit check-reqs bash-completion-r1 cmake distutils-r1 flag-o-matic \
- lua-single python-r1 udev readme.gentoo-r1 toolchain-funcs \
- systemd tmpfiles
-
-if [[ ${PV} == *9999* ]]; then
- inherit git-r3
- EGIT_REPO_URI="https://github.com/ceph/ceph.git"
- SRC_URI=""
-else
- SRC_URI="https://download.ceph.com/tarballs/${P}.tar.gz"
- KEYWORDS="amd64 ~arm64 ~ppc64"
-fi
-
-DESCRIPTION="Ceph distributed filesystem"
-HOMEPAGE="https://ceph.com/"
-
-LICENSE="Apache-2.0 LGPL-2.1 CC-BY-SA-3.0 GPL-2 GPL-2+ LGPL-2+ LGPL-2.1 LGPL-3 GPL-3 BSD Boost-1.0 MIT public-domain"
-SLOT="0"
-
-CPU_FLAGS_X86=(avx2 avx512f pclmul sse{,2,3,4_1,4_2} ssse3)
-
-IUSE="babeltrace +cephfs custom-cflags diskprediction dpdk fuse grafana
- jemalloc jaeger kafka kerberos ldap lttng +mgr numa pmdk rabbitmq
- +radosgw rbd-rwl rbd-ssd rgw-lua +ssl spdk +sqlite system-boost systemd
- +tcmalloc test uring xfs zbd zfs"
-IUSE+=" $(printf "cpu_flags_x86_%s\n" ${CPU_FLAGS_X86[@]})"
-
-DEPEND="
- ${LUA_DEPS}
- acct-group/ceph
- acct-user/ceph
- virtual/libudev:=
- app-arch/bzip2:=
- app-arch/lz4:=
- <app-arch/snappy-1.1.9:=
- app-arch/zstd:=
- app-shells/bash:0
- app-misc/jq:=
- dev-libs/crypto++:=
- dev-cpp/gflags:=
- dev-libs/leveldb:=[snappy,tcmalloc(-)?]
- dev-libs/libaio:=
- dev-libs/libfmt:=
- dev-libs/libnl:3=
- dev-libs/libxml2:=
- dev-libs/libevent:=
- <dev-libs/rocksdb-6.15:=
- dev-libs/xmlsec:=[openssl]
- dev-cpp/yaml-cpp:=
- dev-libs/nss:=
- dev-libs/protobuf:=
- net-dns/c-ares:=
- net-libs/gnutls:=
- sys-auth/oath-toolkit:=
- sys-apps/coreutils
- sys-apps/grep
- sys-apps/hwloc:=
- sys-apps/keyutils:=
- sys-apps/util-linux:=
- sys-apps/sed
- sys-apps/util-linux
- sys-libs/libcap-ng:=
- sys-libs/ncurses:0=
- sys-libs/zlib:=
- sys-process/numactl:=
- virtual/libcrypt:=
- x11-libs/libpciaccess:=
- babeltrace? ( dev-util/babeltrace )
- fuse? ( sys-fs/fuse:0= )
- jemalloc? ( dev-libs/jemalloc:= )
- !jemalloc? ( >=dev-util/google-perftools-2.6.1:= )
- jaeger? ( dev-cpp/nlohmann_json:= )
- kafka? ( dev-libs/librdkafka:= )
- kerberos? ( virtual/krb5 )
- ldap? ( net-nds/openldap:= )
- lttng? ( dev-util/lttng-ust:= )
- pmdk? ( dev-libs/pmdk:= )
- rabbitmq? ( net-libs/rabbitmq-c:= )
- radosgw? (
- dev-libs/icu:=
- dev-libs/expat:=
- dev-libs/openssl:=
- net-misc/curl:=[curl_ssl_openssl]
- )
- rbd-rwl? ( dev-libs/pmdk:= )
- ssl? ( dev-libs/openssl:= )
- sqlite? ( dev-db/sqlite:= )
- system-boost? ( >=dev-libs/boost-1.72:=[threads(+),context,python,${PYTHON_USEDEP}] )
- uring? ( sys-libs/liburing:= )
- xfs? ( sys-fs/xfsprogs:= )
- zbd? ( sys-block/libzbd:= )
- zfs? ( sys-fs/zfs:= )
- ${PYTHON_DEPS}
-"
-BDEPEND="
- amd64? ( dev-lang/nasm )
- x86? ( dev-lang/yasm )
- app-arch/cpio
- >=dev-util/cmake-3.5.0
- dev-python/cython[${PYTHON_USEDEP}]
- dev-python/sphinx
- dev-util/cunit
- dev-util/gperf
- dev-util/ragel
- dev-util/valgrind
- sys-apps/coreutils
- sys-apps/findutils
- sys-apps/grep
- sys-apps/sed
- sys-apps/which
- sys-devel/bc
- sys-devel/patch
- virtual/pkgconfig
- jaeger? (
- sys-devel/bison
- sys-devel/flex
- )
- test? (
- dev-python/coverage[${PYTHON_USEDEP}]
- dev-python/virtualenv[${PYTHON_USEDEP}]
- dev-python/requests-mock[${PYTHON_USEDEP}]
- sys-apps/grep[pcre]
- sys-fs/btrfs-progs
- )
-"
-RDEPEND="
- ${DEPEND}
- app-admin/sudo
- net-misc/socat
- sys-apps/gptfdisk
- sys-apps/nvme-cli
- >=sys-apps/smartmontools-7.0
- sys-block/parted
- sys-fs/cryptsetup
- sys-fs/lsscsi
- sys-fs/lvm2[-device-mapper-only(-)]
- virtual/awk
- dev-python/bcrypt[${PYTHON_USEDEP}]
- dev-python/cherrypy[${PYTHON_USEDEP}]
- dev-python/python-dateutil[${PYTHON_USEDEP}]
- dev-python/flask[${PYTHON_USEDEP}]
- dev-python/jinja[${PYTHON_USEDEP}]
- dev-python/pecan[${PYTHON_USEDEP}]
- dev-python/prettytable[${PYTHON_USEDEP}]
- dev-python/pyopenssl[${PYTHON_USEDEP}]
- dev-python/requests[${PYTHON_USEDEP}]
- dev-python/werkzeug[${PYTHON_USEDEP}]
- mgr? (
- dev-python/jsonpatch[${PYTHON_USEDEP}]
- dev-python/more-itertools[${PYTHON_USEDEP}]
- dev-python/numpy[${PYTHON_USEDEP}]
- dev-python/pyjwt[${PYTHON_USEDEP}]
- dev-python/pyyaml[${PYTHON_USEDEP}]
- dev-python/routes[${PYTHON_USEDEP}]
- diskprediction? (
- >=dev-python/scipy-1.4.0[${PYTHON_USEDEP}]
- )
- sci-libs/scikit-learn[${PYTHON_USEDEP}]
- dev-python/six[${PYTHON_USEDEP}]
- )
-"
-# diskprediction needs older scipy not compatible with py38
-# bug #724438
-REQUIRED_USE="
- ${PYTHON_REQUIRED_USE}
- ${LUA_REQUIRED_USE}
- ?? ( jemalloc tcmalloc )
- jaeger? ( !system-boost )
- diskprediction? ( mgr )
- kafka? ( radosgw )
- mgr? ( cephfs )
- rabbitmq? ( radosgw )
-"
-RESTRICT="!test? ( test )"
-
-# the tests need root access
-RESTRICT="test? ( userpriv )"
-
-# distribution tarball does not include everything needed for tests
-RESTRICT+=" test"
-
-# create a non-debug release
-CMAKE_BUILD_TYPE=RelWithDebInfo
-
-# false positives unless all USE flags are on
-CMAKE_WARN_UNUSED_CLI=no
-
-PATCHES=(
- "${FILESDIR}/ceph-12.2.0-use-provided-cpu-flag-values.patch"
- "${FILESDIR}/ceph-14.2.0-cflags.patch"
- "${FILESDIR}/ceph-12.2.4-boost-build-none-options.patch"
- "${FILESDIR}/ceph-16.2.2-cflags.patch"
- "${FILESDIR}/ceph-16.2.2-no-virtualenvs.patch"
- "${FILESDIR}/ceph-13.2.2-dont-install-sysvinit-script.patch"
- "${FILESDIR}/ceph-14.2.0-dpdk-cflags.patch"
- "${FILESDIR}/ceph-14.2.0-link-crc32-statically.patch"
- "${FILESDIR}/ceph-14.2.0-cython-0.29.patch"
- "${FILESDIR}/ceph-16.2.0-rocksdb-cmake.patch"
- "${FILESDIR}/ceph-15.2.3-spdk-compile.patch"
- "${FILESDIR}/ceph-16.2.0-install-libblk.patch"
- "${FILESDIR}/ceph-16.2.0-spdk-tinfo.patch"
- "${FILESDIR}/ceph-16.2.0-jaeger-system-boost.patch"
- "${FILESDIR}/ceph-16.2.0-liburing.patch"
- "${FILESDIR}/ceph-16.2.2-system-zstd.patch"
-)
-
-check-reqs_export_vars() {
- CHECKREQS_DISK_BUILD="6G"
-
- if use system-boost; then
- CHECKREQS_DISK_USR="350M"
- else
- CHECKREQS_DISK_USR="510M"
- fi
-
- export CHECKREQS_DISK_BUILD CHECKREQS_DISK_USR
-}
-
-pkg_pretend() {
- check-reqs_export_vars
- check-reqs_pkg_pretend
-}
-
-pkg_setup() {
- python_setup
- lua_setup
- check-reqs_export_vars
- check-reqs_pkg_setup
-}
-
-src_prepare() {
- cmake_src_prepare
-
- if use system-boost; then
- find "${S}" -name '*.cmake' -or -name 'CMakeLists.txt' -print0 \
- | xargs --null sed -r \
- -e 's|Boost::|boost_|g' \
- -e 's|Boost_|boost_|g' \
- -e 's|[Bb]oost_boost|boost_system|g' -i || die
- fi
-
- sed -r -e "s:DESTINATION .+\\):DESTINATION $(get_bashcompdir)\\):" \
- -i src/bash_completion/CMakeLists.txt || die
-
- sed -e "s:objdump -p:$(tc-getOBJDUMP) -p:" -i CMakeLists.txt || die
-
- if ! use diskprediction; then
- rm -rf src/pybind/mgr/diskprediction_local || die
- fi
-
- # force lua version to use selected version
- local lua_version
- lua_version=$(ver_cut 1-2 $(lua_get_version))
- sed -i "s:find_package(Lua [0-9][.][0-9] REQUIRED):find_package(Lua ${lua_version} EXACT REQUIRED):" src/CMakeLists.txt
-
- # remove tests that need root access
- rm src/test/cli/ceph-authtool/cap*.t || die
-}
-
-ceph_src_configure() {
- local flag
- local mycmakeargs=(
- -DWITH_BABELTRACE=$(usex babeltrace)
- -DWITH_BLUESTORE_PMEM=$(usex pmdk)
- -DWITH_CEPHFS=$(usex cephfs)
- -DWITH_CEPHFS_SHELL=$(usex cephfs)
- -DWITH_DPDK=$(usex dpdk)
- -DWITH_SPDK=$(usex spdk)
- -DWITH_FUSE=$(usex fuse)
- -DWITH_LTTNG=$(usex lttng)
- -DWITH_GSSAPI=$(usex kerberos)
- -DWITH_GRAFANA=$(usex grafana)
- -DWITH_MGR=$(usex mgr)
- -DWITH_MGR_DASHBOARD_FRONTEND=OFF
- -DWITH_NUMA=$(usex numa)
- -DWITH_OPENLDAP=$(usex ldap)
- -DWITH_PYTHON3=3
- -DWITH_RADOSGW=$(usex radosgw)
- -DWITH_RADOSGW_AMQP_ENDPOINT=$(usex rabbitmq)
- -DWITH_RADOSGW_KAFKA_ENDPOINT=$(usex kafka)
- -DWITH_RADOSGW_LUA_PACKAGES=$(usex rgw-lua "$(usex radosgw)" "NO")
- -DWITH_RBD_RWL=$(usex rbd-rwl)
- -DWITH_RBD_SSD_CACHE=$(usex rbd-ssd)
- -DWITH_SSL=$(usex ssl)
- -DWITH_SYSTEMD=$(usex systemd)
- -DWITH_TESTS=$(usex test)
- -DWITH_LIBURING=$(usex uring)
- -DWITH_SYSTEM_LIBURING=$(usex uring)
- -DWITH_LIBCEPHSQLITE=$(usex sqlite)
- -DWITH_XFS=$(usex xfs)
- -DWITH_ZBD=$(usex zbd)
- -DWITH_ZFS=$(usex zfs)
- -DENABLE_SHARED="ON"
- -DALLOCATOR=$(usex tcmalloc 'tcmalloc' "$(usex jemalloc 'jemalloc' 'libc')")
- -DWITH_SYSTEM_PMDK=$(usex pmdk 'YES' "$(usex rbd-rwl)")
- -DWITH_SYSTEM_BOOST=$(usex system-boost)
- -DBOOST_J=$(makeopts_jobs)
- -DWITH_SYSTEM_ROCKSDB=ON
- -DWITH_RDMA=OFF
- -DWITH_TBB=OFF
- -DSYSTEMD_UNITDIR=$(systemd_get_systemunitdir)
- -DCMAKE_INSTALL_SYSTEMD_SERVICEDIR=$(systemd_get_systemunitdir)
- -DEPYTHON_VERSION="${EPYTHON#python}"
- -DCMAKE_INSTALL_DOCDIR="${EPREFIX}/usr/share/doc/${PN}-${PVR}"
- -DCMAKE_INSTALL_SYSCONFDIR="${EPREFIX}/etc"
- -Wno-dev
- )
-
- # this breaks when re-configuring for python impl
- [[ ${EBUILD_PHASE} == configure ]] && mycmakeargs+=(-DWITH_JAEGER=$(usex jaeger))
-
- if use amd64 || use x86; then
- for flag in ${CPU_FLAGS_X86[@]}; do
- case "${flag}" in
- avx*)
- local var=${flag%f}
- mycmakeargs+=("$(usex cpu_flags_x86_${flag} "-DHAVE_NASM_X64_${var^^}=1")")
- ;;
- *) mycmakeargs+=("$(usex cpu_flags_x86_${flag} "-DHAVE_INTEL_${flag^^}=1")");;
- esac
- done
- fi
-
- # needed for >=glibc-2.32
- has_version '>=sys-libs/glibc-2.32' && mycmakeargs+=(-DWITH_REENTRANT_STRSIGNAL:BOOL=ON)
-
- rm -f "${BUILD_DIR:-${S}}/CMakeCache.txt" \
- || die "failed to remove cmake cache"
-
- cmake_src_configure
-
- # bug #630232
- sed -i "s:\"${T//:\\:}/${EPYTHON}/bin/python\":\"${PYTHON}\":" \
- "${BUILD_DIR:-${S}}"/include/acconfig.h \
- || die "sed failed"
-}
-
-src_configure() {
- use custom-cflags || strip-flags
- ceph_src_configure
-}
-
-python_compile() {
- local CMAKE_USE_DIR="${S}"
- ceph_src_configure
-
- pushd "${BUILD_DIR}/src/pybind" >/dev/null || die
- emake VERBOSE=1 clean
- emake VERBOSE=1 all
-
- # python modules are only compiled with "make install" so we need to do this to
- # prevent doing a bunch of compilation in src_install
- DESTDIR="${T}" emake VERBOSE=1 install
- popd >/dev/null || die
-}
-
-src_compile() {
- cmake_build VERBOSE=1 all
-
- # we have to do this here to prevent from building everything multiple times
- python_copy_sources
- python_foreach_impl python_compile
-}
-
-src_test() {
- make check || die "make check failed"
-}
-
-python_install() {
- local CMAKE_USE_DIR="${S}"
- pushd "${BUILD_DIR}/src/pybind" >/dev/null || die
- DESTDIR="${ED}" emake VERBOSE=1 install
- popd >/dev/null || die
-
- python_optimize
-}
-
-src_install() {
- cmake_src_install
- python_foreach_impl python_install
-
- find "${ED}" -name '*.la' -type f -delete || die
-
- exeinto /usr/$(get_libdir)/ceph
- newexe "${BUILD_DIR}/bin/init-ceph" init-ceph
-
- insinto /etc/logrotate.d/
- newins "${FILESDIR}"/ceph.logrotate-r2 ${PN}
-
- keepdir /var/lib/${PN}{,/tmp} /var/log/${PN}/stat
-
- fowners -R ceph:ceph /var/log/ceph
-
- newinitd "${FILESDIR}/rbdmap.initd-r1" rbdmap
- newinitd "${FILESDIR}/${PN}.initd-r12" ${PN}
- newconfd "${FILESDIR}/${PN}.confd-r5" ${PN}
-
- insinto /etc/sysctl.d
- newins "${FILESDIR}"/sysctld 90-${PN}.conf
-
- use tcmalloc && newenvd "${FILESDIR}"/envd-tcmalloc 99${PN}-tcmalloc
-
- # units aren't installed by the build system unless systemd is enabled
- # so no point installing these with the USE flag disabled
- if use systemd; then
- systemd_install_serviced "${FILESDIR}/ceph-mds_at.service.conf" \
- "ceph-mds@.service"
-
- systemd_install_serviced "${FILESDIR}/ceph-osd_at.service.conf" \
- "ceph-osd@.service"
-
- fi
-
- udev_dorules udev/*.rules
- newtmpfiles "${FILESDIR}"/ceph-tmpfilesd ${PN}.conf
-
- readme.gentoo_create_doc
-
- python_setup
-
- # bug #630232
- sed -i -r "s:${T//:/\\:}/${EPYTHON}:/usr:" "${ED}"/usr/bin/ceph{,-crash} \
- || die "sed failed"
-
- python_fix_shebang "${ED}"/usr/{,s}bin/
-
- # python_fix_shebang apparently is not idempotent
- local shebang_regex='(/usr/lib/python-exec/python[0-9]\.[0-9]/python)[0-9]\.[0-9]'
- grep -r -E -l --null "${shebang_regex}" "${ED}"/usr/{s,}bin/ \
- | xargs --null --no-run-if-empty -- sed -i -r "s:${shebang_regex}:\1:" || die
-
- local -a rados_classes=( "${ED}/usr/$(get_libdir)/rados-classes"/* )
- dostrip -x "${rados_classes[@]#${ED}}"
-}
-
-pkg_postinst() {
- readme.gentoo_print_elog
- tmpfiles_process ${PN}.conf
-}
diff --git a/sys-cluster/ceph/files/ceph-15.2.13-no-virtualenvs.patch b/sys-cluster/ceph/files/ceph-15.2.13-no-virtualenvs.patch
deleted file mode 100644
index 665bb891426..00000000000
--- a/sys-cluster/ceph/files/ceph-15.2.13-no-virtualenvs.patch
+++ /dev/null
@@ -1,73 +0,0 @@
-diff --git a/cmake/modules/AddCephTest.cmake b/cmake/modules/AddCephTest.cmake
-index c9ee8c1b8f..09f75543da 100644
---- a/cmake/modules/AddCephTest.cmake
-+++ b/cmake/modules/AddCephTest.cmake
-@@ -68,14 +68,6 @@ function(add_tox_test name)
- endif()
- string(REPLACE ";" "," tox_envs "${tox_envs}")
- find_package(Python3 QUIET REQUIRED)
-- add_custom_command(
-- OUTPUT ${venv_path}/bin/activate
-- COMMAND ${CMAKE_SOURCE_DIR}/src/tools/setup-virtualenv.sh --python="${Python3_EXECUTABLE}" ${venv_path}
-- WORKING_DIRECTORY ${tox_path}
-- COMMENT "preparing venv for ${name}")
-- add_custom_target(${name}-venv
-- DEPENDS ${venv_path}/bin/activate)
-- add_dependencies(tests ${name}-venv)
- add_test(
- NAME ${test_name}
- COMMAND ${CMAKE_SOURCE_DIR}/src/script/run_tox.sh
-diff --git a/src/ceph-volume/CMakeLists.txt b/src/ceph-volume/CMakeLists.txt
-index 4224499c47..9a6c87595b 100644
---- a/src/ceph-volume/CMakeLists.txt
-+++ b/src/ceph-volume/CMakeLists.txt
-@@ -8,22 +8,6 @@ if(FREEBSD)
- add_subdirectory(plugin/zfs)
- endif()
-
--# Required for running ceph-volume inventory in a vstart environment
--set(CEPH_VOLUME_VIRTUALENV ${CEPH_BUILD_VIRTUALENV}/ceph-volume-virtualenv)
--
--add_custom_command(
-- OUTPUT ${CEPH_VOLUME_VIRTUALENV}/bin/python
-- COMMAND ${CMAKE_SOURCE_DIR}/src/tools/setup-virtualenv.sh --python=${Python_EXECUTABLE} ${CEPH_VOLUME_VIRTUALENV}
-- WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}/src/ceph-volume
-- COMMENT "ceph-volume venv is being created")
--
--add_custom_command(
-- OUTPUT ${CEPH_VOLUME_VIRTUALENV}/bin/ceph-volume
-- DEPENDS ${CEPH_VOLUME_VIRTUALENV}/bin/python
-- COMMAND . ${CEPH_VOLUME_VIRTUALENV}/bin/activate && ${CEPH_VOLUME_VIRTUALENV}/bin/python setup.py develop && deactivate
-- WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}/src/ceph-volume
-- COMMENT "${CMAKE_SOURCE_DIR}/src/ceph-volume")
--
- add_custom_target(ceph-volume-venv-setup
- DEPENDS ${CEPH_VOLUME_VIRTUALENV}/bin/ceph-volume)
-
-diff --git a/src/pybind/mgr/dashboard/CMakeLists.txt b/src/pybind/mgr/dashboard/CMakeLists.txt
-index 92e4cdc538..3153c93c45 100644
---- a/src/pybind/mgr/dashboard/CMakeLists.txt
-+++ b/src/pybind/mgr/dashboard/CMakeLists.txt
-@@ -5,9 +5,6 @@ function(add_npm_command)
- set(multi_kw COMMAND DEPENDS)
- cmake_parse_arguments(NC "${options}" "${single_kw}" "${multi_kw}" ${ARGN})
- string(REPLACE ";" " " command "${NC_COMMAND}")
-- if(NC_NODEENV)
-- string(REGEX REPLACE "^(.*(npm|npx) .*)$" ". ${mgr-dashboard-nodeenv-dir}/bin/activate && \\1 && deactivate" command ${command})
-- endif()
- string(REPLACE " " ";" command "${command}")
- add_custom_command(
- OUTPUT "${NC_OUTPUT}"
-@@ -29,10 +26,8 @@ else()
- set(nodeenv NODEENV)
-
- add_custom_command(
-- OUTPUT "${mgr-dashboard-nodeenv-dir}/bin/npm"
-- COMMAND ${CMAKE_SOURCE_DIR}/src/tools/setup-virtualenv.sh --python=${MGR_PYTHON_EXECUTABLE} ${mgr-dashboard-nodeenv-dir}
-- COMMAND ${mgr-dashboard-nodeenv-dir}/bin/pip install nodeenv
-- COMMAND ${mgr-dashboard-nodeenv-dir}/bin/nodeenv --verbose -p --node=10.18.1
-+ OUTPUT "npm"
-+ COMMAND nodeenv --verbose -p --node=10.18.1
- WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
- COMMENT "dashboard nodeenv is being installed"
- )
^ permalink raw reply related [flat|nested] 68+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-cluster/ceph/, sys-cluster/ceph/files/
@ 2021-10-25 17:02 Patrick McLean
0 siblings, 0 replies; 68+ messages in thread
From: Patrick McLean @ 2021-10-25 17:02 UTC (permalink / raw
To: gentoo-commits
commit: 0ceef4f022db0deba03b1380d872d26a9be363c3
Author: Patrick McLean <chutzpah <AT> gentoo <DOT> org>
AuthorDate: Sat Oct 23 00:52:43 2021 +0000
Commit: Patrick McLean <chutzpah <AT> gentoo <DOT> org>
CommitDate: Mon Oct 25 17:02:38 2021 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=0ceef4f0
sys-cluster/ceph-5.2.15: Version bump
Package-Manager: Portage-3.0.28, Repoman-3.0.3
Signed-off-by: Patrick McLean <chutzpah <AT> gentoo.org>
sys-cluster/ceph/Manifest | 1 +
sys-cluster/ceph/ceph-15.2.15.ebuild | 403 +++++++++++++++++++++
.../ceph/files/ceph-15.2.15-no-virtualenvs.patch | 73 ++++
.../ceph/files/ceph-15.2.15-snappy-1.1.9.patch | 36 ++
4 files changed, 513 insertions(+)
diff --git a/sys-cluster/ceph/Manifest b/sys-cluster/ceph/Manifest
index 7d261913206..7f5036a1bc4 100644
--- a/sys-cluster/ceph/Manifest
+++ b/sys-cluster/ceph/Manifest
@@ -3,6 +3,7 @@ DIST ceph-14.2.22.tar.gz 130597047 BLAKE2B 58bbb3243de076ed1d25dfd7bd75717c50ad1
DIST ceph-15.2.12.tar.gz 148509713 BLAKE2B 4962e7d574b38592a874a1b3fa8610bb2d0afc8713d995d67a790c025bb086cb619cbbaec76482ec096b4c55b9f1df383f5bd4806a231bc88e70ac3efbac24b5 SHA512 08266a2e9a7ca5a37e03f340873571fd012c630dd898a87241cd97c29760b2bf41fe64c8883e7b08e0f83c26245072cd26e69ecb1db02378d1ec38335ba1cd0f
DIST ceph-15.2.13.tar.gz 148542333 BLAKE2B 2e9668bcb0fd283ec4ab51b0c6142fc9a3b6310eb5d34e07da5e6b73b55dd7976db5ab9c78a93684ddc2f51873b1a17c4d31c5f5647b2d43a2826ee5362f7e5d SHA512 bde28c331c489db0845959f65c425146c317466a7793f56a83e2827dec35b8cd6f600bf9056151c1e6926cc0155deebbc8681c240ac9f37ad876b9a6afae96da
DIST ceph-15.2.14.tar.gz 148573546 BLAKE2B dc49a86e17702d73afdcde3932ee3bcb79e50bc5a97e207095a7907e34dac9f44de391b5dcace7f26d3466ca715d9cfd172f65ebbad4ddbc0280daa4643a5976 SHA512 eacc4dea0d8dfe2753aff78d89324d81c5634a784313c3da8ded778e2734958c216f8c705b25f070d7ba66b559424ad3c47cb68852f66f8c9c83a83ca78ad5a5
+DIST ceph-15.2.15.tar.gz 148584988 BLAKE2B 6ff629846a74c9b30c7e5d54731e2c85c67942f1871194cc8e704c56826b86cdd6163d6693805d9d6210bc0e3fc4d84fada12b9d81a5640e34d76be83cfe6e47 SHA512 e4d929ffda5c3e31767d93340fb97b5d49ca1d5641f6c30134ce5542486fc4f72684aef2ef47cb940a332e8b9144d8cec63ce8a9f86c773dbc0ccebdd8e7fb19
DIST ceph-16.2.4.tar.gz 155840423 BLAKE2B a803ffa61ac9fd6d42790d6d8e12aa8df843968627df0051475355f3ba0dc1272afa3d9e2716115ad769b2f322d7bd239d99b89e51610e89ce9efe39af4f01ae SHA512 8904e7fcabd50276e4e86735fd85dba96f417c194c219025146f994707def7abe372528b0f2e862e274b2f405d7b791bac86b6cbb8d57cecd6f44023a2ffb6f6
DIST ceph-16.2.5.tar.gz 155933825 BLAKE2B 3c8f3f1663b91d4de1e3736317add0b88d9083db5ab2fc3e2e913278977deec076bd4410e309f4e47ccc169d74356c2ab1221c94532cc45ee75ec73673fc42a0 SHA512 5c32f9aa817ecfa788725bcfe5743756853ca9b3f9ee453242110f1b5e1bdd1feaef79ad9ccf2b185445c9644bcecb1355e151a2255bfd27edc9818e0d6d4c4a
DIST ceph-16.2.6.tar.gz 156087762 BLAKE2B e2595d1a958200e4f1877e4597c53319a9eee2e95606ea1b3ba2966a0d17f1cfcf52e05cca59752cc6ac383e32d944c380920d111aec840631235aef273a4de1 SHA512 f01e29088ae566d4111c21b5d0c173ddb02badaa0d8272f7f1548eb8e66a95dc7052b3945d9fb342e6c97a65c57648fda394317340d1f4236a57af7580073658
diff --git a/sys-cluster/ceph/ceph-15.2.15.ebuild b/sys-cluster/ceph/ceph-15.2.15.ebuild
new file mode 100644
index 00000000000..164f014af63
--- /dev/null
+++ b/sys-cluster/ceph/ceph-15.2.15.ebuild
@@ -0,0 +1,403 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+PYTHON_COMPAT=( python3_{7..9} )
+DISTUTILS_USE_SETUPTOOLS=rdepend
+CMAKE_MAKEFILE_GENERATOR=emake
+
+DISTUTILS_OPTIONAL=1
+
+inherit check-reqs bash-completion-r1 cmake distutils-r1 flag-o-matic \
+ python-r1 udev readme.gentoo-r1 toolchain-funcs systemd tmpfiles
+
+if [[ ${PV} == *9999* ]]; then
+ inherit git-r3
+ EGIT_REPO_URI="https://github.com/ceph/ceph.git"
+ SRC_URI=""
+else
+ SRC_URI="https://download.ceph.com/tarballs/${P}.tar.gz"
+ KEYWORDS="~amd64 ~arm64 ~ppc64"
+fi
+
+DESCRIPTION="Ceph distributed filesystem"
+HOMEPAGE="https://ceph.com/"
+
+LICENSE="Apache-2.0 LGPL-2.1 CC-BY-SA-3.0 GPL-2 GPL-2+ LGPL-2+ LGPL-2.1 LGPL-3 GPL-3 BSD Boost-1.0 MIT public-domain"
+SLOT="0"
+
+CPU_FLAGS_X86=(sse{,2,3,4_1,4_2} ssse3)
+
+IUSE="babeltrace +cephfs custom-cflags diskprediction dpdk fuse grafana jemalloc
+ kafka kerberos ldap lttng +mgr numa pmdk rabbitmq +radosgw rbd-rwl +ssl spdk
+ system-boost systemd +tcmalloc test uring xfs zfs"
+IUSE+=" $(printf "cpu_flags_x86_%s\n" ${CPU_FLAGS_X86[@]})"
+
+DEPEND="
+ acct-group/ceph
+ acct-user/ceph
+ virtual/libudev:=
+ app-arch/bzip2:=
+ app-arch/lz4:=
+ >=app-arch/snappy-1.1.9:=
+ app-arch/zstd:=
+ app-shells/bash:0
+ app-misc/jq:=
+ dev-libs/crypto++:=
+ dev-cpp/gflags:=
+ dev-libs/leveldb:=[snappy,tcmalloc(-)?]
+ dev-libs/libaio:=
+ dev-libs/libfmt:=
+ dev-libs/libnl:3=
+ dev-libs/libxml2:=
+ <dev-libs/rocksdb-6.15:=
+ dev-libs/xmlsec:=[openssl]
+ dev-cpp/yaml-cpp:=
+ dev-libs/nss:=
+ dev-libs/protobuf:=
+ net-dns/c-ares:=
+ net-libs/gnutls:=
+ sys-auth/oath-toolkit:=
+ sys-apps/coreutils
+ sys-apps/grep
+ sys-apps/hwloc:=
+ sys-apps/keyutils:=
+ sys-apps/util-linux:=
+ sys-apps/sed
+ sys-apps/util-linux
+ sys-libs/libcap-ng:=
+ sys-libs/ncurses:0=
+ sys-libs/zlib:=
+ sys-process/numactl:=
+ virtual/libcrypt:=
+ x11-libs/libpciaccess:=
+ babeltrace? ( dev-util/babeltrace )
+ fuse? ( sys-fs/fuse:0= )
+ jemalloc? ( dev-libs/jemalloc:= )
+ !jemalloc? ( >=dev-util/google-perftools-2.6.1:= )
+ kafka? ( dev-libs/librdkafka:= )
+ kerberos? ( virtual/krb5 )
+ ldap? ( net-nds/openldap:= )
+ lttng? ( dev-util/lttng-ust:= )
+ pmdk? ( dev-libs/pmdk:= )
+ rabbitmq? ( net-libs/rabbitmq-c:= )
+ radosgw? (
+ dev-libs/expat:=
+ dev-libs/openssl:=
+ net-misc/curl:=[curl_ssl_openssl]
+ )
+ rbd-rwl? ( dev-libs/pmdk:= )
+ ssl? ( dev-libs/openssl:= )
+ system-boost? ( >=dev-libs/boost-1.72:=[threads(+),context,python,${PYTHON_USEDEP}] )
+ uring? ( sys-libs/liburing:= )
+ xfs? ( sys-fs/xfsprogs:= )
+ zfs? ( sys-fs/zfs:= )
+ ${PYTHON_DEPS}
+"
+BDEPEND="
+ amd64? ( dev-lang/yasm )
+ x86? ( dev-lang/yasm )
+ app-arch/cpio
+ >=dev-util/cmake-3.5.0
+ <=dev-python/cython-0.29.24[${PYTHON_USEDEP}]
+ dev-python/sphinx
+ dev-util/cunit
+ dev-util/gperf
+ dev-util/ragel
+ dev-util/valgrind
+ sys-apps/coreutils
+ sys-apps/findutils
+ sys-apps/grep
+ sys-apps/sed
+ sys-apps/which
+ sys-devel/bc
+ sys-devel/patch
+ virtual/pkgconfig
+ test? (
+ dev-python/coverage[${PYTHON_USEDEP}]
+ dev-python/virtualenv[${PYTHON_USEDEP}]
+ dev-python/requests-mock[${PYTHON_USEDEP}]
+ sys-apps/grep[pcre]
+ sys-fs/btrfs-progs
+ )
+"
+RDEPEND="${DEPEND}
+ app-admin/sudo
+ net-misc/socat
+ sys-apps/gptfdisk
+ sys-apps/nvme-cli
+ >=sys-apps/smartmontools-7.0
+ sys-block/parted
+ sys-fs/cryptsetup
+ sys-fs/lsscsi
+ sys-fs/lvm2[-device-mapper-only(-)]
+ virtual/awk
+ dev-python/bcrypt[${PYTHON_USEDEP}]
+ dev-python/cherrypy[${PYTHON_USEDEP}]
+ dev-python/python-dateutil[${PYTHON_USEDEP}]
+ dev-python/flask[${PYTHON_USEDEP}]
+ dev-python/jinja[${PYTHON_USEDEP}]
+ dev-python/pecan[${PYTHON_USEDEP}]
+ dev-python/prettytable[${PYTHON_USEDEP}]
+ dev-python/pyopenssl[${PYTHON_USEDEP}]
+ dev-python/requests[${PYTHON_USEDEP}]
+ dev-python/werkzeug[${PYTHON_USEDEP}]
+ mgr? (
+ dev-python/jsonpatch[${PYTHON_USEDEP}]
+ dev-python/more-itertools[${PYTHON_USEDEP}]
+ dev-python/numpy[${PYTHON_USEDEP}]
+ dev-python/pyjwt[${PYTHON_USEDEP}]
+ dev-python/pyyaml[${PYTHON_USEDEP}]
+ dev-python/routes[${PYTHON_USEDEP}]
+ sci-libs/scikit-learn[${PYTHON_USEDEP}]
+ dev-python/six[${PYTHON_USEDEP}]
+ )
+"
+# diskprediction needs older scipy not compatible with py38
+# bug #724438
+REQUIRED_USE="
+ ${PYTHON_REQUIRED_USE}
+ ?? ( jemalloc tcmalloc )
+ diskprediction? ( mgr !python_targets_python3_8 )
+ kafka? ( radosgw )
+ mgr? ( cephfs )
+ rabbitmq? ( radosgw )
+"
+RESTRICT="!test? ( test )"
+
+# the tests need root access
+RESTRICT="test? ( userpriv )"
+
+# distribution tarball does not include everything needed for tests
+RESTRICT+=" test"
+
+# create a non-debug release
+CMAKE_BUILD_TYPE=RelWithDebInfo
+
+# false positives unless all USE flags are on
+CMAKE_WARN_UNUSED_CLI=no
+
+PATCHES=(
+ "${FILESDIR}/ceph-12.2.0-use-provided-cpu-flag-values.patch"
+ "${FILESDIR}/ceph-14.2.0-cflags.patch"
+ "${FILESDIR}/ceph-12.2.4-boost-build-none-options.patch"
+ "${FILESDIR}/ceph-13.2.0-cflags.patch"
+ "${FILESDIR}/ceph-15.2.15-no-virtualenvs.patch"
+ "${FILESDIR}/ceph-13.2.2-dont-install-sysvinit-script.patch"
+ "${FILESDIR}/ceph-14.2.0-dpdk-cflags.patch"
+ "${FILESDIR}/ceph-14.2.0-cython-0.29.patch"
+ "${FILESDIR}/ceph-15.2.0-rocksdb-cmake.patch"
+ "${FILESDIR}/ceph-15.2.2-systemd-unit.patch"
+ "${FILESDIR}/ceph-15.2.3-spdk-compile.patch"
+ "${FILESDIR}/ceph-15.2.4-system-uring.patch"
+ "${FILESDIR}/ceph-15.2.9-dont-compile-isal_compress-if-don-t-have-SSE4_1.patch"
+ "${FILESDIR}/ceph-15.2.15-snappy-1.1.9.patch"
+)
+
+check-reqs_export_vars() {
+ CHECKREQS_DISK_BUILD="5400M"
+ CHECKREQS_DISK_USR="510M"
+
+ export CHECKREQS_DISK_BUILD CHECKREQS_DISK_USR
+}
+
+pkg_pretend() {
+ check-reqs_export_vars
+ check-reqs_pkg_pretend
+}
+
+pkg_setup() {
+ python_setup
+ check-reqs_export_vars
+ check-reqs_pkg_setup
+}
+
+src_prepare() {
+ cmake_src_prepare
+
+ if use system-boost; then
+ find "${S}" -name '*.cmake' -or -name 'CMakeLists.txt' -print0 \
+ | xargs --null sed -r \
+ -e 's|Boost::|boost_|g' \
+ -e 's|Boost_|boost_|g' \
+ -e 's|[Bb]oost_boost|boost_system|g' -i || die
+ fi
+
+ sed -r -e "s:DESTINATION .+\\):DESTINATION $(get_bashcompdir)\\):" \
+ -i src/bash_completion/CMakeLists.txt || die
+
+ sed -e "s:objdump -p:$(tc-getOBJDUMP) -p:" -i CMakeLists.txt || die
+
+ if ! use diskprediction; then
+ rm -rf src/pybind/mgr/diskprediction_local || die
+ fi
+
+ # remove tests that need root access
+ rm src/test/cli/ceph-authtool/cap*.t || die
+}
+
+ceph_src_configure() {
+ local flag
+ local mycmakeargs=(
+ -DWITH_BABELTRACE=$(usex babeltrace)
+ -DWITH_BLUESTORE_PMEM=$(usex pmdk)
+ -DWITH_CEPHFS=$(usex cephfs)
+ -DWITH_CEPHFS_SHELL=$(usex cephfs)
+ -DWITH_DPDK=$(usex dpdk)
+ -DWITH_SPDK=$(usex spdk)
+ -DWITH_FUSE=$(usex fuse)
+ -DWITH_LTTNG=$(usex lttng)
+ -DWITH_GSSAPI=$(usex kerberos)
+ -DWITH_GRAFANA=$(usex grafana)
+ -DWITH_MGR=$(usex mgr)
+ -DWITH_MGR_DASHBOARD_FRONTEND=OFF
+ -DWITH_NUMA=$(usex numa)
+ -DWITH_OPENLDAP=$(usex ldap)
+ -DWITH_PYTHON3=3
+ -DWITH_RADOSGW=$(usex radosgw)
+ -DWITH_RADOSGW_AMQP_ENDPOINT=$(usex rabbitmq)
+ -DWITH_RADOSGW_KAFKA_ENDPOINT=$(usex kafka)
+ -DWITH_RBD_RWL=$(usex rbd-rwl)
+ -DWITH_SSL=$(usex ssl)
+ -DWITH_SYSTEMD=$(usex systemd)
+ -DWITH_TESTS=$(usex test)
+ -DWITH_LIBURING=$(usex uring)
+ -DWITH_XFS=$(usex xfs)
+ -DWITH_ZFS=$(usex zfs)
+ -DENABLE_SHARED="ON"
+ -DALLOCATOR=$(usex tcmalloc 'tcmalloc' "$(usex jemalloc 'jemalloc' 'libc')")
+ -DWITH_SYSTEM_PMDK=$(usex pmdk 'YES' "$(usex rbd-rwl)")
+ -DWITH_SYSTEM_BOOST=$(usex system-boost)
+ -DBOOST_J=$(makeopts_jobs)
+ -DWITH_SYSTEM_ROCKSDB=ON
+ -DWITH_RDMA=OFF
+ -DWITH_TBB=OFF
+ -DSYSTEMD_UNITDIR=$(systemd_get_systemunitdir)
+ -DCMAKE_INSTALL_SYSTEMD_SERVICEDIR=$(systemd_get_systemunitdir)
+ -DEPYTHON_VERSION="${EPYTHON#python}"
+ -DCMAKE_INSTALL_DOCDIR="${EPREFIX}/usr/share/doc/${PN}-${PVR}"
+ -DCMAKE_INSTALL_SYSCONFDIR="${EPREFIX}/etc"
+ -Wno-dev
+ )
+ if use amd64 || use x86; then
+ for flag in ${CPU_FLAGS_X86[@]}; do
+ mycmakeargs+=("$(usex cpu_flags_x86_${flag} "-DHAVE_INTEL_${flag^^}=1")")
+ done
+ fi
+
+ # needed for >=glibc-2.32
+ has_version '>=sys-libs/glibc-2.32' && mycmakeargs+=(-DWITH_REENTRANT_STRSIGNAL:BOOL=ON)
+
+ rm -f "${BUILD_DIR:-${S}}/CMakeCache.txt" \
+ || die "failed to remove cmake cache"
+
+ cmake_src_configure
+
+ # bug #630232
+ sed -i "s:\"${T//:\\:}/${EPYTHON}/bin/python\":\"${PYTHON}\":" \
+ "${BUILD_DIR:-${S}}"/include/acconfig.h \
+ || die "sed failed"
+}
+
+src_configure() {
+ use custom-cflags || strip-flags
+ ceph_src_configure
+}
+
+python_compile() {
+ local CMAKE_USE_DIR="${S}"
+ ceph_src_configure
+
+ pushd "${BUILD_DIR}/src/pybind" >/dev/null || die
+ emake VERBOSE=1 clean
+ emake VERBOSE=1 all
+
+ # python modules are only compiled with "make install" so we need to do this to
+ # prevent doing a bunch of compilation in src_install
+ DESTDIR="${T}" emake VERBOSE=1 install
+ popd >/dev/null || die
+}
+
+src_compile() {
+ cmake_build VERBOSE=1 all
+
+ # we have to do this here to prevent from building everything multiple times
+ python_copy_sources
+ python_foreach_impl python_compile
+}
+
+src_test() {
+ make check || die "make check failed"
+}
+
+python_install() {
+ local CMAKE_USE_DIR="${S}"
+ pushd "${BUILD_DIR}/src/pybind" >/dev/null || die
+ DESTDIR="${ED}" emake VERBOSE=1 install
+ popd >/dev/null || die
+
+ python_optimize
+}
+
+src_install() {
+ cmake_src_install
+ python_foreach_impl python_install
+
+ find "${ED}" -name '*.la' -type f -delete || die
+
+ exeinto /usr/$(get_libdir)/ceph
+ newexe "${BUILD_DIR}/bin/init-ceph" init-ceph
+
+ insinto /etc/logrotate.d/
+ newins "${FILESDIR}"/ceph.logrotate-r2 ${PN}
+
+ keepdir /var/lib/${PN}{,/tmp} /var/log/${PN}/stat
+
+ fowners -R ceph:ceph /var/log/ceph
+
+ newinitd "${FILESDIR}/rbdmap.initd-r1" rbdmap
+ newinitd "${FILESDIR}/${PN}.initd-r12" ${PN}
+ newconfd "${FILESDIR}/${PN}.confd-r5" ${PN}
+
+ insinto /etc/sysctl.d
+ newins "${FILESDIR}"/sysctld 90-${PN}.conf
+
+ use tcmalloc && newenvd "${FILESDIR}"/envd-tcmalloc 99${PN}-tcmalloc
+
+ # units aren't installed by the build system unless systemd is enabled
+ # so no point installing these with the USE flag disabled
+ if use systemd; then
+ systemd_install_serviced "${FILESDIR}/ceph-mds_at.service.conf" \
+ "ceph-mds@.service"
+
+ systemd_install_serviced "${FILESDIR}/ceph-osd_at.service.conf" \
+ "ceph-osd@.service"
+
+ fi
+
+ udev_dorules udev/*.rules
+ newtmpfiles "${FILESDIR}"/ceph-tmpfilesd ${PN}.conf
+
+ readme.gentoo_create_doc
+
+ python_setup
+
+ # bug #630232
+ sed -i -r "s:${T//:/\\:}/${EPYTHON}:/usr:" "${ED}"/usr/bin/ceph{,-crash} \
+ || die "sed failed"
+
+ python_fix_shebang "${ED}"/usr/{,s}bin/
+
+ # python_fix_shebang apparently is not idempotent
+ local shebang_regex='(/usr/lib/python-exec/python[0-9]\.[0-9]/python)[0-9]\.[0-9]'
+ grep -r -E -l --null "${shebang_regex}" "${ED}"/usr/{s,}bin/ \
+ | xargs --null --no-run-if-empty -- sed -i -r "s:${shebang_regex}:\1:" || die
+
+ local -a rados_classes=( "${ED}/usr/$(get_libdir)/rados-classes"/* )
+ dostrip -x "${rados_classes[@]#${ED}}"
+}
+
+pkg_postinst() {
+ readme.gentoo_print_elog
+ tmpfiles_process ${PN}.conf
+}
diff --git a/sys-cluster/ceph/files/ceph-15.2.15-no-virtualenvs.patch b/sys-cluster/ceph/files/ceph-15.2.15-no-virtualenvs.patch
new file mode 100644
index 00000000000..5ef7fb3a73e
--- /dev/null
+++ b/sys-cluster/ceph/files/ceph-15.2.15-no-virtualenvs.patch
@@ -0,0 +1,73 @@
+diff --git a/cmake/modules/AddCephTest.cmake b/cmake/modules/AddCephTest.cmake
+index c9ee8c1b8f6..09f75543da2 100644
+--- a/cmake/modules/AddCephTest.cmake
++++ b/cmake/modules/AddCephTest.cmake
+@@ -68,14 +68,6 @@ function(add_tox_test name)
+ endif()
+ string(REPLACE ";" "," tox_envs "${tox_envs}")
+ find_package(Python3 QUIET REQUIRED)
+- add_custom_command(
+- OUTPUT ${venv_path}/bin/activate
+- COMMAND ${CMAKE_SOURCE_DIR}/src/tools/setup-virtualenv.sh --python="${Python3_EXECUTABLE}" ${venv_path}
+- WORKING_DIRECTORY ${tox_path}
+- COMMENT "preparing venv for ${name}")
+- add_custom_target(${name}-venv
+- DEPENDS ${venv_path}/bin/activate)
+- add_dependencies(tests ${name}-venv)
+ add_test(
+ NAME ${test_name}
+ COMMAND ${CMAKE_SOURCE_DIR}/src/script/run_tox.sh
+diff --git a/src/ceph-volume/CMakeLists.txt b/src/ceph-volume/CMakeLists.txt
+index 9166553dc73..9a6c87595b9 100644
+--- a/src/ceph-volume/CMakeLists.txt
++++ b/src/ceph-volume/CMakeLists.txt
+@@ -8,22 +8,6 @@ if(FREEBSD)
+ add_subdirectory(plugin/zfs)
+ endif()
+
+-# Required for running ceph-volume inventory in a vstart environment
+-set(CEPH_VOLUME_VIRTUALENV ${CEPH_BUILD_VIRTUALENV}/ceph-volume-virtualenv)
+-
+-add_custom_command(
+- OUTPUT ${CEPH_VOLUME_VIRTUALENV}/bin/python
+- COMMAND ${CMAKE_SOURCE_DIR}/src/tools/setup-virtualenv.sh --python=${Python3_EXECUTABLE} ${CEPH_VOLUME_VIRTUALENV}
+- WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}/src/ceph-volume
+- COMMENT "ceph-volume venv is being created")
+-
+-add_custom_command(
+- OUTPUT ${CEPH_VOLUME_VIRTUALENV}/bin/ceph-volume
+- DEPENDS ${CEPH_VOLUME_VIRTUALENV}/bin/python
+- COMMAND . ${CEPH_VOLUME_VIRTUALENV}/bin/activate && ${CEPH_VOLUME_VIRTUALENV}/bin/python setup.py develop && deactivate
+- WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}/src/ceph-volume
+- COMMENT "${CMAKE_SOURCE_DIR}/src/ceph-volume")
+-
+ add_custom_target(ceph-volume-venv-setup
+ DEPENDS ${CEPH_VOLUME_VIRTUALENV}/bin/ceph-volume)
+
+diff --git a/src/pybind/mgr/dashboard/CMakeLists.txt b/src/pybind/mgr/dashboard/CMakeLists.txt
+index 92e4cdc538b..3153c93c459 100644
+--- a/src/pybind/mgr/dashboard/CMakeLists.txt
++++ b/src/pybind/mgr/dashboard/CMakeLists.txt
+@@ -5,9 +5,6 @@ function(add_npm_command)
+ set(multi_kw COMMAND DEPENDS)
+ cmake_parse_arguments(NC "${options}" "${single_kw}" "${multi_kw}" ${ARGN})
+ string(REPLACE ";" " " command "${NC_COMMAND}")
+- if(NC_NODEENV)
+- string(REGEX REPLACE "^(.*(npm|npx) .*)$" ". ${mgr-dashboard-nodeenv-dir}/bin/activate && \\1 && deactivate" command ${command})
+- endif()
+ string(REPLACE " " ";" command "${command}")
+ add_custom_command(
+ OUTPUT "${NC_OUTPUT}"
+@@ -29,10 +26,8 @@ else()
+ set(nodeenv NODEENV)
+
+ add_custom_command(
+- OUTPUT "${mgr-dashboard-nodeenv-dir}/bin/npm"
+- COMMAND ${CMAKE_SOURCE_DIR}/src/tools/setup-virtualenv.sh --python=${MGR_PYTHON_EXECUTABLE} ${mgr-dashboard-nodeenv-dir}
+- COMMAND ${mgr-dashboard-nodeenv-dir}/bin/pip install nodeenv
+- COMMAND ${mgr-dashboard-nodeenv-dir}/bin/nodeenv --verbose -p --node=10.18.1
++ OUTPUT "npm"
++ COMMAND nodeenv --verbose -p --node=10.18.1
+ WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
+ COMMENT "dashboard nodeenv is being installed"
+ )
diff --git a/sys-cluster/ceph/files/ceph-15.2.15-snappy-1.1.9.patch b/sys-cluster/ceph/files/ceph-15.2.15-snappy-1.1.9.patch
new file mode 100644
index 00000000000..3b38c170873
--- /dev/null
+++ b/sys-cluster/ceph/files/ceph-15.2.15-snappy-1.1.9.patch
@@ -0,0 +1,36 @@
+From 4c13a798dcf2e783afd7558bf3541dc025de854a Mon Sep 17 00:00:00 2001
+From: Nathan Cutler <ncutler@suse.com>
+Date: Tue, 27 Jul 2021 15:27:58 +0200
+Subject: [PATCH] compression/snappy: use uint32_t to be compatible with 1.1.9
+
+The snappy project made the following change in snappy.h between version 1.1.8
+and 1.1.9:
+
+< bool GetUncompressedLength(Source* source, uint32_t* result);
+---
+> bool GetUncompressedLength(Source* source, uint32* result);
+
+This causes Ceph to FTBFS with snappy 1.1.9.
+
+Thanks to Chris Denice for bringing this to our attention via Redmine.
+
+Fixes: https://tracker.ceph.com/issues/50934
+Signed-off-by: Nathan Cutler <ncutler@suse.com>
+---
+ src/compressor/snappy/SnappyCompressor.h | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/src/compressor/snappy/SnappyCompressor.h b/src/compressor/snappy/SnappyCompressor.h
+index 25393f8dc1ff4..93206c4007bed 100644
+--- a/src/compressor/snappy/SnappyCompressor.h
++++ b/src/compressor/snappy/SnappyCompressor.h
+@@ -97,8 +97,8 @@ class SnappyCompressor : public Compressor {
+ if (qat_enabled)
+ return qat_accel.decompress(p, compressed_len, dst, compressor_message);
+ #endif
+- snappy::uint32 res_len = 0;
+ BufferlistSource source_1(p, compressed_len);
++ uint32_t res_len = 0;
+ if (!snappy::GetUncompressedLength(&source_1, &res_len)) {
+ return -1;
+ }
^ permalink raw reply related [flat|nested] 68+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-cluster/ceph/, sys-cluster/ceph/files/
@ 2021-07-01 0:47 Patrick McLean
0 siblings, 0 replies; 68+ messages in thread
From: Patrick McLean @ 2021-07-01 0:47 UTC (permalink / raw
To: gentoo-commits
commit: 737c5a866a8274382b26f01ae7b8fb748c1033f1
Author: Patrick McLean <chutzpah <AT> gentoo <DOT> org>
AuthorDate: Thu Jul 1 00:47:24 2021 +0000
Commit: Patrick McLean <chutzpah <AT> gentoo <DOT> org>
CommitDate: Thu Jul 1 00:47:39 2021 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=737c5a86
sys-cluster/ceph-14.2.22: Version bump
Package-Manager: Portage-3.0.20, Repoman-3.0.3
Signed-off-by: Patrick McLean <chutzpah <AT> gentoo.org>
sys-cluster/ceph/Manifest | 1 +
sys-cluster/ceph/ceph-14.2.22.ebuild | 391 +++++++++++++++++++++
.../files/ceph-14.2.22-build-without-mgr.patch | 32 ++
sys-cluster/ceph/files/ceph-14.2.22-cflags.patch | 25 ++
.../ceph/files/ceph-14.2.22-no-virtualenvs.patch | 39 ++
5 files changed, 488 insertions(+)
diff --git a/sys-cluster/ceph/Manifest b/sys-cluster/ceph/Manifest
index 6c86ea70178..6e1553aae32 100644
--- a/sys-cluster/ceph/Manifest
+++ b/sys-cluster/ceph/Manifest
@@ -1,4 +1,5 @@
DIST ceph-14.2.21.tar.gz 129272778 BLAKE2B f82f452e0f0c40a95ea1bdb3654c2d322caa3edeeb05e41247e02a8ffe731c570d9e49aefa61c447a8b73620d4a9b9872335171f1e08fbd9a08eea930ccbfe76 SHA512 39b4a0624dcab2bafa50f51a42155fcf96dad74531a001d75009ad246a8ca80ce81ae538b34c0a1b773691c363626f1d0342f2439b711bd0dd16214592171884
+DIST ceph-14.2.22.tar.gz 130597047 BLAKE2B 58bbb3243de076ed1d25dfd7bd75717c50ad15d16690dcbd1511d1b506477845efc3ff7fbe713cf18fb8cfcc8c16707ad2a0f30159e3198ff82e57fbd2eb3cf2 SHA512 1c66661e1a39fa9151e95e33c390b810ffe269465d8785e2197cc15b8d83bd2edde77de48a8abd71a4da68cd5830ff14bcdf6b98fd17edabe85caeb1eca018d3
DIST ceph-15.2.12.tar.gz 148509713 BLAKE2B 4962e7d574b38592a874a1b3fa8610bb2d0afc8713d995d67a790c025bb086cb619cbbaec76482ec096b4c55b9f1df383f5bd4806a231bc88e70ac3efbac24b5 SHA512 08266a2e9a7ca5a37e03f340873571fd012c630dd898a87241cd97c29760b2bf41fe64c8883e7b08e0f83c26245072cd26e69ecb1db02378d1ec38335ba1cd0f
DIST ceph-15.2.13.tar.gz 148542333 BLAKE2B 2e9668bcb0fd283ec4ab51b0c6142fc9a3b6310eb5d34e07da5e6b73b55dd7976db5ab9c78a93684ddc2f51873b1a17c4d31c5f5647b2d43a2826ee5362f7e5d SHA512 bde28c331c489db0845959f65c425146c317466a7793f56a83e2827dec35b8cd6f600bf9056151c1e6926cc0155deebbc8681c240ac9f37ad876b9a6afae96da
DIST ceph-16.2.4.tar.gz 155840423 BLAKE2B a803ffa61ac9fd6d42790d6d8e12aa8df843968627df0051475355f3ba0dc1272afa3d9e2716115ad769b2f322d7bd239d99b89e51610e89ce9efe39af4f01ae SHA512 8904e7fcabd50276e4e86735fd85dba96f417c194c219025146f994707def7abe372528b0f2e862e274b2f405d7b791bac86b6cbb8d57cecd6f44023a2ffb6f6
diff --git a/sys-cluster/ceph/ceph-14.2.22.ebuild b/sys-cluster/ceph/ceph-14.2.22.ebuild
new file mode 100644
index 00000000000..bbdff4749a9
--- /dev/null
+++ b/sys-cluster/ceph/ceph-14.2.22.ebuild
@@ -0,0 +1,391 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+PYTHON_COMPAT=( python3_{7,8} )
+DISTUTILS_USE_SETUPTOOLS=rdepend
+CMAKE_MAKEFILE_GENERATOR=emake
+
+DISTUTILS_OPTIONAL=1
+
+inherit check-reqs bash-completion-r1 cmake distutils-r1 flag-o-matic \
+ python-r1 udev readme.gentoo-r1 toolchain-funcs systemd tmpfiles
+
+if [[ ${PV} == *9999* ]]; then
+ inherit git-r3
+ EGIT_REPO_URI="https://github.com/ceph/ceph.git"
+ SRC_URI=""
+else
+ SRC_URI="https://download.ceph.com/tarballs/${P}.tar.gz"
+ KEYWORDS="~amd64 ~ppc64"
+fi
+
+DESCRIPTION="Ceph distributed filesystem"
+HOMEPAGE="https://ceph.com/"
+
+LICENSE="Apache-2.0 LGPL-2.1 CC-BY-SA-3.0 GPL-2 GPL-2+ LGPL-2+ LGPL-2.1 LGPL-3 GPL-3 BSD Boost-1.0 MIT public-domain"
+SLOT="0"
+
+CPU_FLAGS_X86=(sse{,2,3,4_1,4_2} ssse3)
+
+IUSE="babeltrace +cephfs custom-cflags diskprediction dpdk fuse grafana jemalloc
+ kafka kerberos ldap lttng +mgr numa rabbitmq +radosgw +ssl spdk system-boost
+ systemd +tcmalloc test xfs zfs"
+IUSE+=" $(printf "cpu_flags_x86_%s\n" ${CPU_FLAGS_X86[@]})"
+
+DEPEND="
+ acct-group/ceph
+ acct-user/ceph
+ virtual/libudev:=
+ app-arch/bzip2:=
+ app-arch/lz4:=
+ app-arch/snappy:=
+ app-arch/zstd:=
+ app-shells/bash:0
+ app-misc/jq:=
+ dev-libs/crypto++:=
+ dev-libs/leveldb:=[snappy,tcmalloc(-)?]
+ dev-libs/libaio:=
+ dev-libs/libnl:3=
+ dev-libs/libxml2:=
+ <dev-libs/rocksdb-6.15:=
+ dev-libs/xmlsec:=[openssl]
+ dev-cpp/yaml-cpp:=
+ dev-libs/nss:=
+ dev-libs/protobuf:=
+ net-dns/c-ares:=
+ net-libs/gnutls:=
+ sys-auth/oath-toolkit:=
+ sys-apps/coreutils
+ sys-apps/grep
+ sys-apps/hwloc:=
+ sys-apps/keyutils:=
+ sys-apps/util-linux:=
+ sys-apps/sed
+ sys-apps/util-linux
+ sys-libs/libcap-ng:=
+ sys-libs/ncurses:0=
+ sys-libs/zlib:=
+ sys-process/numactl:=
+ x11-libs/libpciaccess:=
+ virtual/libcrypt
+ babeltrace? ( dev-util/babeltrace )
+ fuse? ( sys-fs/fuse:0= )
+ jemalloc? ( dev-libs/jemalloc:= )
+ !jemalloc? ( >=dev-util/google-perftools-2.6.1:= )
+ kafka? ( dev-libs/librdkafka:= )
+ kerberos? ( virtual/krb5 )
+ ldap? ( net-nds/openldap:= )
+ lttng? ( dev-util/lttng-ust:= )
+ rabbitmq? ( net-libs/rabbitmq-c:= )
+ radosgw? (
+ dev-libs/expat:=
+ dev-libs/openssl:=
+ net-misc/curl:=[curl_ssl_openssl]
+ )
+ ssl? ( dev-libs/openssl:= )
+ system-boost? ( dev-libs/boost:=[threads(+),context,python,${PYTHON_USEDEP}] )
+ xfs? ( sys-fs/xfsprogs:= )
+ zfs? ( sys-fs/zfs:= )
+ ${PYTHON_DEPS}
+"
+BDEPEND="
+ amd64? ( dev-lang/yasm )
+ x86? ( dev-lang/yasm )
+ app-arch/cpio
+ >=dev-util/cmake-3.5.0
+ dev-python/cython[${PYTHON_USEDEP}]
+ dev-python/sphinx
+ dev-util/cunit
+ dev-util/gperf
+ dev-util/ragel
+ dev-util/valgrind
+ sys-apps/coreutils
+ sys-apps/findutils
+ sys-apps/grep
+ sys-apps/sed
+ sys-apps/which
+ sys-devel/bc
+ sys-devel/patch
+ virtual/pkgconfig
+ test? (
+ dev-python/coverage[${PYTHON_USEDEP}]
+ dev-python/virtualenv[${PYTHON_USEDEP}]
+ dev-python/requests-mock[${PYTHON_USEDEP}]
+ sys-apps/grep[pcre]
+ sys-fs/btrfs-progs
+ )
+"
+RDEPEND="${DEPEND}
+ app-admin/sudo
+ net-misc/socat
+ sys-apps/gptfdisk
+ >=sys-apps/smartmontools-7.0
+ sys-block/parted
+ sys-fs/cryptsetup
+ sys-fs/lsscsi
+ sys-fs/lvm2[-device-mapper-only(-)]
+ virtual/awk
+ dev-python/bcrypt[${PYTHON_USEDEP}]
+ dev-python/cherrypy[${PYTHON_USEDEP}]
+ dev-python/flask[${PYTHON_USEDEP}]
+ dev-python/jinja[${PYTHON_USEDEP}]
+ dev-python/pecan[${PYTHON_USEDEP}]
+ dev-python/prettytable[${PYTHON_USEDEP}]
+ dev-python/pyopenssl[${PYTHON_USEDEP}]
+ dev-python/requests[${PYTHON_USEDEP}]
+ dev-python/werkzeug[${PYTHON_USEDEP}]
+ mgr? (
+ dev-python/more-itertools[${PYTHON_USEDEP}]
+ dev-python/numpy[${PYTHON_USEDEP}]
+ <dev-python/pyjwt-2.0[${PYTHON_USEDEP}]
+ dev-python/pyyaml[${PYTHON_USEDEP}]
+ dev-python/routes[${PYTHON_USEDEP}]
+ sci-libs/scikit-learn[${PYTHON_USEDEP}]
+ dev-python/six[${PYTHON_USEDEP}]
+ )
+"
+# diskprediction needs older scipy not compatible with py38
+# bug #724438
+REQUIRED_USE="
+ ${PYTHON_REQUIRED_USE}
+ ?? ( jemalloc tcmalloc )
+ diskprediction? ( mgr !python_targets_python3_8 )
+ kafka? ( radosgw )
+ mgr? ( cephfs )
+ rabbitmq? ( radosgw )
+"
+RESTRICT="!test? ( test )"
+
+# the tests need root access
+RESTRICT="test? ( userpriv )"
+
+# distribution tarball does not include everything needed for tests
+RESTRICT+=" test"
+
+# create a non-debug release
+CMAKE_BUILD_TYPE=RelWithDebInfo
+
+# false positives unless all USE flags are on
+CMAKE_WARN_UNUSED_CLI=no
+
+PATCHES=(
+ "${FILESDIR}/ceph-12.2.0-use-provided-cpu-flag-values.patch"
+ "${FILESDIR}/ceph-14.2.0-cflags.patch"
+ "${FILESDIR}/ceph-12.2.4-boost-build-none-options.patch"
+ "${FILESDIR}/ceph-14.2.22-cflags.patch"
+ "${FILESDIR}/ceph-14.2.0-mgr-python-version.patch"
+ "${FILESDIR}/ceph-14.2.22-no-virtualenvs.patch"
+ "${FILESDIR}/ceph-13.2.2-dont-install-sysvinit-script.patch"
+ "${FILESDIR}/ceph-14.2.0-dpdk-cflags.patch"
+ "${FILESDIR}/ceph-14.2.0-cython-0.29.patch"
+ "${FILESDIR}/ceph-14.2.3-dpdk-compile-fix-1.patch"
+ "${FILESDIR}/ceph-14.2.4-python-executable.patch"
+ "${FILESDIR}/ceph-14.2.4-undefined-behaviour.patch"
+ "${FILESDIR}/ceph-14.2.22-build-without-mgr.patch"
+ "${FILESDIR}/ceph-14.2.11-systemd-unit-fix.patch"
+ "${FILESDIR}/ceph-15.2.9-dont-compile-isal_compress-if-don-t-have-SSE4_1.patch"
+)
+
+check-reqs_export_vars() {
+ CHECKREQS_DISK_BUILD="5200M"
+ CHECKREQS_DISK_USR="510M"
+
+ export CHECKREQS_DISK_BUILD CHECKREQS_DISK_USR
+}
+
+pkg_pretend() {
+ check-reqs_export_vars
+ check-reqs_pkg_pretend
+}
+
+pkg_setup() {
+ python_setup
+ check-reqs_export_vars
+ check-reqs_pkg_setup
+}
+
+src_prepare() {
+ cmake_src_prepare
+
+ if use system-boost; then
+ find "${S}" -name '*.cmake' -or -name 'CMakeLists.txt' -print0 \
+ | xargs --null sed -r \
+ -e 's|Boost::|boost_|g' \
+ -e 's|Boost_|boost_|g' \
+ -e 's|[Bb]oost_boost|boost_system|g' -i || die
+ fi
+
+ sed -r -e "s:DESTINATION .+\\):DESTINATION $(get_bashcompdir)\\):" \
+ -i src/bash_completion/CMakeLists.txt || die
+
+ sed -e "s:objdump -p:$(tc-getOBJDUMP) -p:" -i CMakeLists.txt || die
+
+ if ! use diskprediction; then
+ rm -rf src/pybind/mgr/diskprediction_local || die
+ fi
+
+ # remove tests that need root access
+ rm src/test/cli/ceph-authtool/cap*.t || die
+}
+
+ceph_src_configure() {
+ local flag
+ local mycmakeargs=(
+ -DWITH_BABELTRACE=$(usex babeltrace)
+ -DWITH_CEPHFS=$(usex cephfs)
+ -DWITH_CEPHFS_SHELL=$(usex cephfs)
+ -DWITH_DPDK=$(usex dpdk)
+ -DWITH_SPDK=$(usex spdk)
+ -DWITH_FUSE=$(usex fuse)
+ -DWITH_LTTNG=$(usex lttng)
+ -DWITH_GSSAPI=$(usex kerberos)
+ -DWITH_GRAFANA=$(usex grafana)
+ -DWITH_MGR=$(usex mgr)
+ -DWITH_MGR_DASHBOARD_FRONTEND=OFF
+ -DWITH_NUMA=$(usex numa)
+ -DWITH_OPENLDAP=$(usex ldap)
+ -DWITH_PYTHON3=3
+ -DWITH_RADOSGW=$(usex radosgw)
+ -DWITH_RADOSGW_AMQP_ENDPOINT=$(usex rabbitmq)
+ -DWITH_RADOSGW_KAFKA_ENDPOINT=$(usex kafka)
+ -DWITH_SSL=$(usex ssl)
+ -DWITH_SYSTEMD=$(usex systemd)
+ -DWITH_TESTS=$(usex test)
+ -DWITH_XFS=$(usex xfs)
+ -DWITH_ZFS=$(usex zfs)
+ -DENABLE_SHARED="ON"
+ -DALLOCATOR=$(usex tcmalloc 'tcmalloc' "$(usex jemalloc 'jemalloc' 'libc')")
+ -DWITH_SYSTEM_BOOST=$(usex system-boost)
+ -DBOOST_J=$(makeopts_jobs)
+ -DWITH_SYSTEM_ROCKSDB=ON
+ -DWITH_RDMA=OFF
+ -DWITH_TBB=OFF
+ -DSYSTEMD_UNITDIR=$(systemd_get_systemunitdir)
+ -DCMAKE_INSTALL_SYSTEMD_SERVICEDIR=$(systemd_get_systemunitdir)
+ -DEPYTHON_VERSION="${EPYTHON#python}"
+ -DCMAKE_INSTALL_DOCDIR="${EPREFIX}/usr/share/doc/${PN}-${PVR}"
+ -DCMAKE_INSTALL_SYSCONFDIR="${EPREFIX}/etc"
+ -Wno-dev
+ )
+ if use amd64 || use x86; then
+ for flag in ${CPU_FLAGS_X86[@]}; do
+ mycmakeargs+=("$(usex cpu_flags_x86_${flag} "-DHAVE_INTEL_${flag^^}=1")")
+ done
+ fi
+
+ # needed for >=glibc-2.32
+ has_version '>=sys-libs/glibc-2.32' && mycmakeargs+=(-DWITH_REENTRANT_STRSIGNAL:BOOL=ON)
+
+ rm -f "${BUILD_DIR:-${S}}/CMakeCache.txt" \
+ || die "failed to remove cmake cache"
+
+ cmake_src_configure
+
+ # bug #630232
+ sed -i "s:\"${T//:\\:}/${EPYTHON}/bin/python\":\"${PYTHON}\":" \
+ "${BUILD_DIR:-${S}}"/include/acconfig.h \
+ || die "sed failed"
+}
+
+src_configure() {
+ use custom-cflags || strip-flags
+ ceph_src_configure
+}
+
+python_compile() {
+ local CMAKE_USE_DIR="${S}"
+ ceph_src_configure
+
+ pushd "${BUILD_DIR}/src/pybind" >/dev/null || die
+ emake VERBOSE=1 clean
+ emake VERBOSE=1 all
+
+ # python modules are only compiled with "make install" so we need to do this to
+ # prevent doing a bunch of compilation in src_install
+ DESTDIR="${T}" emake VERBOSE=1 install
+ popd >/dev/null || die
+}
+
+src_compile() {
+ cmake_build VERBOSE=1 all
+
+ # we have to do this here to prevent from building everything multiple times
+ python_copy_sources
+ python_foreach_impl python_compile
+}
+
+src_test() {
+ make check || die "make check failed"
+}
+
+python_install() {
+ local CMAKE_USE_DIR="${S}"
+ pushd "${BUILD_DIR}/src/pybind" >/dev/null || die
+ DESTDIR="${ED}" emake VERBOSE=1 install
+ popd >/dev/null || die
+
+ python_optimize
+}
+
+src_install() {
+ cmake_src_install
+ python_foreach_impl python_install
+
+ find "${ED}" -name '*.la' -type f -delete || die
+
+ exeinto /usr/$(get_libdir)/ceph
+ newexe "${BUILD_DIR}/bin/init-ceph" init-ceph
+
+ insinto /etc/logrotate.d/
+ newins "${FILESDIR}"/ceph.logrotate-r2 ${PN}
+
+ keepdir /var/lib/${PN}{,/tmp} /var/log/${PN}/stat
+
+ fowners -R ceph:ceph /var/log/ceph
+
+ newinitd "${FILESDIR}/rbdmap.initd" rbdmap
+ newinitd "${FILESDIR}/${PN}.initd-r12" ${PN}
+ newconfd "${FILESDIR}/${PN}.confd-r5" ${PN}
+
+ insinto /etc/sysctl.d
+ newins "${FILESDIR}"/sysctld 90-${PN}.conf
+
+ use tcmalloc && newenvd "${FILESDIR}"/envd-tcmalloc 99${PN}-tcmalloc
+
+ # units aren't installed by the build system unless systemd is enabled
+ # so no point installing these with the USE flag disabled
+ if use systemd; then
+ systemd_install_serviced "${FILESDIR}/ceph-mds_at.service.conf" \
+ "ceph-mds@.service"
+
+ systemd_install_serviced "${FILESDIR}/ceph-osd_at.service.conf" \
+ "ceph-osd@.service"
+
+ fi
+
+ udev_dorules udev/*.rules
+ newtmpfiles "${FILESDIR}"/ceph-tmpfilesd ${PN}.conf
+
+ readme.gentoo_create_doc
+
+ python_setup
+
+ # bug #630232
+ sed -i -r "s:${T//:/\\:}/${EPYTHON}:/usr:" "${ED}"/usr/bin/ceph{,-crash} \
+ || die "sed failed"
+
+ python_fix_shebang "${ED}"/usr/{,s}bin/
+
+ # python_fix_shebang apparently is not idempotent
+ local shebang_regex='(/usr/lib/python-exec/python[0-9]\.[0-9]/python)[0-9]\.[0-9]'
+ grep -r -E -l --null "${shebang_regex}" "${ED}"/usr/{s,}bin/ \
+ | xargs --null --no-run-if-empty -- sed -i -r "s:${shebang_regex}:\1:" || die
+
+ local -a rados_classes=( "${ED}/usr/$(get_libdir)/rados-classes"/* )
+ dostrip -x "${rados_classes[@]#${ED}}"
+}
+
+pkg_postinst() {
+ readme.gentoo_print_elog
+}
diff --git a/sys-cluster/ceph/files/ceph-14.2.22-build-without-mgr.patch b/sys-cluster/ceph/files/ceph-14.2.22-build-without-mgr.patch
new file mode 100644
index 00000000000..f3ba34cc165
--- /dev/null
+++ b/sys-cluster/ceph/files/ceph-14.2.22-build-without-mgr.patch
@@ -0,0 +1,32 @@
+diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
+index ed4bbc75d44..5f5e72918d2 100644
+--- a/src/CMakeLists.txt
++++ b/src/CMakeLists.txt
+@@ -451,9 +451,7 @@ if(WITH_LIBRADOSSTRIPER)
+ add_subdirectory(libradosstriper)
+ endif()
+
+-if(WITH_MGR)
+- add_subdirectory(mgr)
+-endif()
++add_subdirectory(mgr)
+
+ set(librados_config_srcs
+ librados-config.cc)
+diff --git a/src/mgr/CMakeLists.txt b/src/mgr/CMakeLists.txt
+index e7caaeff099..b4f13c05184 100644
+--- a/src/mgr/CMakeLists.txt
++++ b/src/mgr/CMakeLists.txt
+@@ -1,6 +1,7 @@
+ add_library(mgr_cap_obj OBJECT
+ MgrCap.cc)
+
++if(WITH_MGR)
+ set(mgr_srcs
+ ${CMAKE_SOURCE_DIR}/src/ceph_mgr.cc
+ ${CMAKE_SOURCE_DIR}/src/mon/PGMap.cc
+@@ -36,3 +37,4 @@ target_link_libraries(ceph-mgr
+ set_target_properties(ceph-mgr PROPERTIES
+ POSITION_INDEPENDENT_CODE ${EXE_LINKER_USE_PIE})
+ install(TARGETS ceph-mgr DESTINATION bin)
++endif()
diff --git a/sys-cluster/ceph/files/ceph-14.2.22-cflags.patch b/sys-cluster/ceph/files/ceph-14.2.22-cflags.patch
new file mode 100644
index 00000000000..5c9f1709861
--- /dev/null
+++ b/sys-cluster/ceph/files/ceph-14.2.22-cflags.patch
@@ -0,0 +1,25 @@
+diff --git a/cmake/modules/BuildBoost.cmake b/cmake/modules/BuildBoost.cmake
+index eaab331413b..4ee3f1b0768 100644
+--- a/cmake/modules/BuildBoost.cmake
++++ b/cmake/modules/BuildBoost.cmake
+@@ -62,7 +62,7 @@ function(do_build_boost version)
+ else()
+ list(APPEND boost_features "address-model=32")
+ endif()
+- set(BOOST_CXXFLAGS "-fPIC -w") # check on arm, etc <---XXX
++ set(BOOST_CXXFLAGS "${CMAKE_CXX_FLAGS} -fPIC -w") # check on arm, etc <---XXX
+ list(APPEND boost_features "cxxflags=${BOOST_CXXFLAGS}")
+
+ set(boost_with_libs)
+diff --git a/cmake/modules/BuildZstd.cmake b/cmake/modules/BuildZstd.cmake
+index 799b14b281d..9b4b5ee8dcf 100644
+--- a/cmake/modules/BuildZstd.cmake
++++ b/cmake/modules/BuildZstd.cmake
+@@ -1,6 +1,6 @@
+ # libzstd - build it statically
+ function(build_Zstd)
+- set(ZSTD_C_FLAGS "-fPIC -Wno-unused-variable -O3")
++ set(ZSTD_C_FLAGS "-fPIC -Wno-unused-variable $ENV{CFLAGS} -O3")
+
+ include(ExternalProject)
+ ExternalProject_Add(zstd_ext
diff --git a/sys-cluster/ceph/files/ceph-14.2.22-no-virtualenvs.patch b/sys-cluster/ceph/files/ceph-14.2.22-no-virtualenvs.patch
new file mode 100644
index 00000000000..534133122f9
--- /dev/null
+++ b/sys-cluster/ceph/files/ceph-14.2.22-no-virtualenvs.patch
@@ -0,0 +1,39 @@
+diff --git a/src/pybind/mgr/dashboard/CMakeLists.txt b/src/pybind/mgr/dashboard/CMakeLists.txt
+index 7c9cc4abd56..9f84b0c2b26 100644
+--- a/src/pybind/mgr/dashboard/CMakeLists.txt
++++ b/src/pybind/mgr/dashboard/CMakeLists.txt
+@@ -2,7 +2,7 @@ set(MGR_DASHBOARD_VIRTUALENV ${CEPH_BUILD_VIRTUALENV}/mgr-dashboard-virtualenv)
+
+ add_custom_target(mgr-dashboard-test-venv
+ COMMAND
+- ${CMAKE_SOURCE_DIR}/src/tools/setup-virtualenv.sh --python=${MGR_PYTHON_EXECUTABLE} ${MGR_DASHBOARD_VIRTUALENV}
++ #${CMAKE_SOURCE_DIR}/src/tools/setup-virtualenv.sh --python=${MGR_PYTHON_EXECUTABLE} ${MGR_DASHBOARD_VIRTUALENV}
+ WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}/src/pybind/mgr/dashboard
+ COMMENT "dashboard tests virtualenv is being created")
+ add_dependencies(tests mgr-dashboard-test-venv)
+@@ -14,9 +14,9 @@ function(add_npm_command)
+ set(multi_kw COMMAND DEPENDS)
+ cmake_parse_arguments(NC "${options}" "${single_kw}" "${multi_kw}" ${ARGN})
+ string(REPLACE ";" " " command "${NC_COMMAND}")
+- if(NC_NODEENV)
+- string(REGEX REPLACE "^(.*(npm|npx) .*)$" ". ${mgr-dashboard-nodeenv-dir}/bin/activate && \\1 && deactivate" command ${command})
+- endif()
++ #if(NC_NODEENV)
++ # string(REGEX REPLACE "^(.*(npm|npx) .*)$" ". ${mgr-dashboard-nodeenv-dir}/bin/activate && \\1 && deactivate" command ${command})
++ #endif()
+ string(REPLACE " " ";" command "${command}")
+ add_custom_command(
+ OUTPUT "${NC_OUTPUT}"
+@@ -41,9 +41,9 @@ else()
+
+ add_custom_command(
+ OUTPUT "${mgr-dashboard-nodeenv-dir}/bin/npm"
+- COMMAND ${CMAKE_SOURCE_DIR}/src/tools/setup-virtualenv.sh --python=${MGR_PYTHON_EXECUTABLE} ${mgr-dashboard-nodeenv-dir}
+- COMMAND ${mgr-dashboard-nodeenv-dir}/bin/pip install nodeenv
+- COMMAND ${mgr-dashboard-nodeenv-dir}/bin/nodeenv --verbose -p --node=10.13.0
++ #COMMAND ${CMAKE_SOURCE_DIR}/src/tools/setup-virtualenv.sh --python=${MGR_PYTHON_EXECUTABLE} ${mgr-dashboard-nodeenv-dir}
++ #COMMAND ${mgr-dashboard-nodeenv-dir}/bin/pip install nodeenv
++ #COMMAND ${mgr-dashboard-nodeenv-dir}/bin/nodeenv --verbose -p --node=10.13.0
+ WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
+ COMMENT "dashboard nodeenv is being installed"
+ )
^ permalink raw reply related [flat|nested] 68+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-cluster/ceph/, sys-cluster/ceph/files/
@ 2020-12-01 2:35 Patrick McLean
0 siblings, 0 replies; 68+ messages in thread
From: Patrick McLean @ 2020-12-01 2:35 UTC (permalink / raw
To: gentoo-commits
commit: 9365926d82ac11358f816bac6ada444f80030528
Author: Patrick McLean <chutzpah <AT> gentoo <DOT> org>
AuthorDate: Tue Dec 1 02:34:10 2020 +0000
Commit: Patrick McLean <chutzpah <AT> gentoo <DOT> org>
CommitDate: Tue Dec 1 02:35:11 2020 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=9365926d
Revert "sys-cluster/ceph: Remove old"
This reverts commit 81596064dffbaf2d838af575d833cd9b21693a51.
Signed-off-by: Patrick McLean <chutzpah <AT> gentoo.org>
sys-cluster/ceph/Manifest | 1 +
sys-cluster/ceph/ceph-14.2.11-r1.ebuild | 401 +++++++++++++++++++++
.../ceph/files/ceph-14.2.10-missing-includes.patch | 26 ++
3 files changed, 428 insertions(+)
diff --git a/sys-cluster/ceph/Manifest b/sys-cluster/ceph/Manifest
index 032b580567d..ae0df28d34b 100644
--- a/sys-cluster/ceph/Manifest
+++ b/sys-cluster/ceph/Manifest
@@ -1,3 +1,4 @@
+DIST ceph-14.2.11.tar.gz 129327263 BLAKE2B fb04f3fde6642905dd21836c7472cf3b6cb484f69367ecf01b7d427c757e0fd1db4bd483bf9b0e485e1f8924a8e9201e8d47713a1de9281d5d96e45939bd1078 SHA512 765e8982d457cfd900acddc8f82c23824b32dc6d925d45e7693cba48c06fab798b6d57991dc9ad18a9ace9aff6fb2b917bd97f2d6435a7caceb03c9733e9602a
DIST ceph-14.2.13.tar.gz 129255298 BLAKE2B 32d12ede10ff657e9341e2fc31412018041a327a4c62219105a4e9576fa46643c12b936c3eaa003a78677c4ef401ef6bd73fe150604e8031482f1d237d483ff1 SHA512 3d51b729ccf26aa9a40c1320f4051755ec405abc714ae5257ec5433a13549e34fed0945f3091525fd8118d00c36fe4ae793125728d9e17f4221cdd1ee7de5b12
DIST ceph-14.2.15.tar.gz 129254705 BLAKE2B bb30f04ace31c2175c6678a9f252fc31951fd32f47362fb460ed9b8edec3a6535752d28214530e9b996c384a6e6a23eebce5caa89cb2746a2e258f5a1e1f8a3c SHA512 20ac9244974cc1312b7c642acf00142f5b7f59b09ae338f73b6c8e1ee2054b4ebd62701b18653cc792ca575a77b98644903ebb11bee6a9f1ab3aec6b37a2ef1b
DIST ceph-15.2.5.tar.gz 149219528 BLAKE2B 8f2cea9a258b7c530bff72a46d45fabf5364cf919f098c7d77857afa0dfdbcd7c290aa5a0d88cce1d99923588cc303d27c0b85179378ff1c394d9ce0f135a1b1 SHA512 55de068886c48293e92ef95cf8343ae44825fd2bf9c3fa7d47cda92907a47bae79e0af730cd34d0155b0777901d0fd6f9d1f30537c66c54c95098df7368fca2e
diff --git a/sys-cluster/ceph/ceph-14.2.11-r1.ebuild b/sys-cluster/ceph/ceph-14.2.11-r1.ebuild
new file mode 100644
index 00000000000..43094784627
--- /dev/null
+++ b/sys-cluster/ceph/ceph-14.2.11-r1.ebuild
@@ -0,0 +1,401 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+PYTHON_COMPAT=( python3_{6,7,8} )
+DISTUTILS_USE_SETUPTOOLS=rdepend
+CMAKE_MAKEFILE_GENERATOR=emake
+
+DISTUTILS_OPTIONAL=1
+
+inherit check-reqs bash-completion-r1 cmake distutils-r1 flag-o-matic \
+ python-r1 udev readme.gentoo-r1 toolchain-funcs systemd tmpfiles
+
+if [[ ${PV} == *9999* ]]; then
+ inherit git-r3
+ EGIT_REPO_URI="https://github.com/ceph/ceph.git"
+ SRC_URI=""
+else
+ SRC_URI="https://download.ceph.com/tarballs/${P}.tar.gz"
+ KEYWORDS="~amd64 ~ppc64"
+fi
+
+DESCRIPTION="Ceph distributed filesystem"
+HOMEPAGE="https://ceph.com/"
+
+LICENSE="Apache-2.0 LGPL-2.1 CC-BY-SA-3.0 GPL-2 GPL-2+ LGPL-2+ LGPL-2.1 LGPL-3 GPL-3 BSD Boost-1.0 MIT public-domain"
+SLOT="0"
+
+CPU_FLAGS_X86=(sse{,2,3,4_1,4_2} ssse3)
+
+IUSE="babeltrace +cephfs custom-cflags diskprediction dpdk fuse grafana jemalloc
+ kafka kerberos ldap libressl lttng +mgr numa +openssl rabbitmq +radosgw +ssl
+ spdk system-boost systemd +tcmalloc test xfs zfs"
+IUSE+=" $(printf "cpu_flags_x86_%s\n" ${CPU_FLAGS_X86[@]})"
+
+DEPEND="
+ acct-group/ceph
+ acct-user/ceph
+ virtual/libudev:=
+ app-arch/bzip2:=
+ app-arch/lz4:=
+ app-arch/snappy:=
+ app-arch/zstd:=
+ app-shells/bash:0
+ app-misc/jq:=
+ dev-libs/crypto++:=
+ dev-libs/leveldb:=[snappy,tcmalloc(-)?]
+ dev-libs/libaio:=
+ dev-libs/libnl:3=
+ dev-libs/libxml2:=
+ dev-libs/xmlsec:=[!openssl?,!libressl?]
+ dev-cpp/yaml-cpp:=
+ dev-libs/nss:=
+ dev-libs/protobuf:=
+ net-dns/c-ares:=
+ net-libs/gnutls:=
+ sys-auth/oath-toolkit:=
+ sys-apps/coreutils
+ sys-apps/grep
+ sys-apps/hwloc:=
+ sys-apps/keyutils:=
+ sys-apps/util-linux:=
+ sys-apps/sed
+ sys-apps/util-linux
+ sys-libs/libcap-ng:=
+ sys-libs/ncurses:0=
+ sys-libs/zlib:=
+ sys-process/numactl:=
+ x11-libs/libpciaccess:=
+ babeltrace? ( dev-util/babeltrace )
+ fuse? ( sys-fs/fuse:0= )
+ jemalloc? ( dev-libs/jemalloc:= )
+ !jemalloc? ( >=dev-util/google-perftools-2.6.1:= )
+ kafka? ( dev-libs/librdkafka:= )
+ kerberos? ( virtual/krb5 )
+ ldap? ( net-nds/openldap:= )
+ lttng? ( dev-util/lttng-ust:= )
+ rabbitmq? ( net-libs/rabbitmq-c:= )
+ radosgw? (
+ dev-libs/expat:=
+ openssl? (
+ dev-libs/openssl:=
+ net-misc/curl:=[curl_ssl_openssl]
+ )
+ libressl? (
+ dev-libs/libressl:=
+ net-misc/curl:=[curl_ssl_libressl]
+ )
+ )
+ ssl? (
+ openssl? ( dev-libs/openssl:= )
+ libressl? ( dev-libs/libressl:= )
+ )
+ system-boost? ( =dev-libs/boost-1.72*[threads,context,python,${PYTHON_USEDEP}] )
+ xfs? ( sys-fs/xfsprogs:= )
+ zfs? ( sys-fs/zfs:= )
+ ${PYTHON_DEPS}
+"
+BDEPEND="
+ amd64? ( dev-lang/yasm )
+ x86? ( dev-lang/yasm )
+ app-arch/cpio
+ >=dev-util/cmake-3.5.0
+ dev-python/cython[${PYTHON_USEDEP}]
+ dev-python/sphinx
+ dev-util/cunit
+ dev-util/gperf
+ dev-util/ragel
+ dev-util/valgrind
+ sys-apps/coreutils
+ sys-apps/findutils
+ sys-apps/grep
+ sys-apps/sed
+ sys-apps/which
+ sys-devel/bc
+ sys-devel/patch
+ virtual/pkgconfig
+ test? (
+ dev-python/coverage[${PYTHON_USEDEP}]
+ dev-python/virtualenv[${PYTHON_USEDEP}]
+ dev-python/requests-mock[${PYTHON_USEDEP}]
+ sys-apps/grep[pcre]
+ sys-fs/btrfs-progs
+ )
+"
+RDEPEND="${DEPEND}
+ app-admin/sudo
+ net-misc/socat
+ sys-apps/gptfdisk
+ >=sys-apps/smartmontools-7.0
+ sys-block/parted
+ sys-fs/cryptsetup
+ sys-fs/lsscsi
+ sys-fs/lvm2[-device-mapper-only(-)]
+ virtual/awk
+ dev-python/bcrypt[${PYTHON_USEDEP}]
+ dev-python/cherrypy[${PYTHON_USEDEP}]
+ dev-python/flask[${PYTHON_USEDEP}]
+ dev-python/jinja[${PYTHON_USEDEP}]
+ dev-python/pecan[${PYTHON_USEDEP}]
+ dev-python/prettytable[${PYTHON_USEDEP}]
+ dev-python/pyopenssl[${PYTHON_USEDEP}]
+ dev-python/requests[${PYTHON_USEDEP}]
+ dev-python/werkzeug[${PYTHON_USEDEP}]
+ mgr? (
+ dev-python/more-itertools[${PYTHON_USEDEP}]
+ dev-python/numpy[${PYTHON_USEDEP}]
+ dev-python/pyjwt[${PYTHON_USEDEP}]
+ dev-python/pyyaml[${PYTHON_USEDEP}]
+ dev-python/routes[${PYTHON_USEDEP}]
+ diskprediction? (
+ $(python_gen_cond_dep '<dev-python/scipy-1.4.0[${PYTHON_USEDEP}]' python3_{6,7})
+ )
+ sci-libs/scikit-learn[${PYTHON_USEDEP}]
+ dev-python/six[${PYTHON_USEDEP}]
+ )
+"
+# diskprediction needs older scipy not compatible with py38
+# bug #724438
+REQUIRED_USE="
+ ${PYTHON_REQUIRED_USE}
+ ?? ( jemalloc tcmalloc )
+ ^^ ( openssl libressl )
+ diskprediction? ( mgr !python_targets_python3_8 )
+ kafka? ( radosgw )
+ mgr? ( cephfs )
+ rabbitmq? ( radosgw )
+"
+RESTRICT="!test? ( test )"
+
+# the tests need root access
+RESTRICT="test? ( userpriv )"
+
+# distribution tarball does not include everything needed for tests
+RESTRICT+=" test"
+
+# create a non-debug release
+CMAKE_BUILD_TYPE=RelWithDebInfo
+
+# false positives unless all USE flags are on
+CMAKE_WARN_UNUSED_CLI=no
+
+PATCHES=(
+ "${FILESDIR}/ceph-12.2.0-use-provided-cpu-flag-values.patch"
+ "${FILESDIR}/ceph-14.2.0-cflags.patch"
+ "${FILESDIR}/ceph-12.2.4-boost-build-none-options.patch"
+ "${FILESDIR}/ceph-13.2.0-cflags.patch"
+ "${FILESDIR}/ceph-14.2.0-mgr-python-version.patch"
+ "${FILESDIR}/ceph-14.2.5-no-virtualenvs.patch"
+ "${FILESDIR}/ceph-13.2.2-dont-install-sysvinit-script.patch"
+ "${FILESDIR}/ceph-14.2.0-dpdk-cflags.patch"
+ "${FILESDIR}/ceph-14.2.0-link-crc32-statically.patch"
+ "${FILESDIR}/ceph-14.2.0-cython-0.29.patch"
+ "${FILESDIR}/ceph-14.2.3-dpdk-compile-fix-1.patch"
+ "${FILESDIR}/ceph-14.2.4-python-executable.patch"
+ "${FILESDIR}/ceph-14.2.4-undefined-behaviour.patch"
+ "${FILESDIR}/ceph-14.2.10-missing-includes.patch"
+ "${FILESDIR}/ceph-14.2.10-python-warnings.patch"
+ "${FILESDIR}/ceph-14.2.10-build-without-mgr.patch"
+ "${FILESDIR}/ceph-14.2.11-systemd-unit-fix.patch"
+)
+
+check-reqs_export_vars() {
+ CHECKREQS_DISK_BUILD="5200M"
+ CHECKREQS_DISK_USR="510M"
+
+ export CHECKREQS_DISK_BUILD CHECKREQS_DISK_USR
+}
+
+pkg_pretend() {
+ check-reqs_export_vars
+ check-reqs_pkg_pretend
+}
+
+pkg_setup() {
+ python_setup
+ check-reqs_export_vars
+ check-reqs_pkg_setup
+}
+
+src_prepare() {
+ cmake_src_prepare
+
+ if use system-boost; then
+ find "${S}" -name '*.cmake' -or -name 'CMakeLists.txt' -print0 \
+ | xargs --null sed -r \
+ -e 's|Boost::|boost_|g' \
+ -e 's|Boost_|boost_|g' \
+ -e 's|[Bb]oost_boost|boost_system|g' -i || die
+ fi
+
+ sed -i -r "s:DESTINATION .+\\):DESTINATION $(get_bashcompdir)\\):" \
+ src/bash_completion/CMakeLists.txt || die
+
+ if ! use diskprediction; then
+ rm -rf src/pybind/mgr/diskprediction_local || die
+ fi
+
+ # remove tests that need root access
+ rm src/test/cli/ceph-authtool/cap*.t || die
+}
+
+ceph_src_configure() {
+ local flag
+ local mycmakeargs=(
+ -DWITH_BABELTRACE=$(usex babeltrace)
+ -DWITH_CEPHFS=$(usex cephfs)
+ -DWITH_CEPHFS_SHELL=$(usex cephfs)
+ -DWITH_DPDK=$(usex dpdk)
+ -DWITH_SPDK=$(usex spdk)
+ -DWITH_FUSE=$(usex fuse)
+ -DWITH_LTTNG=$(usex lttng)
+ -DWITH_GSSAPI=$(usex kerberos)
+ -DWITH_GRAFANA=$(usex grafana)
+ -DWITH_MGR=$(usex mgr)
+ -DWITH_MGR_DASHBOARD_FRONTEND=OFF
+ -DWITH_NUMA=$(usex numa)
+ -DWITH_OPENLDAP=$(usex ldap)
+ -DWITH_PYTHON3=3
+ -DWITH_RADOSGW=$(usex radosgw)
+ -DWITH_RADOSGW_AMQP_ENDPOINT=$(usex rabbitmq)
+ -DWITH_RADOSGW_KAFKA_ENDPOINT=$(usex kafka)
+ -DWITH_SSL=$(usex ssl)
+ -DWITH_SYSTEMD=$(usex systemd)
+ -DWITH_TESTS=$(usex test)
+ -DWITH_XFS=$(usex xfs)
+ -DWITH_ZFS=$(usex zfs)
+ -DENABLE_SHARED="ON"
+ -DALLOCATOR=$(usex tcmalloc 'tcmalloc' "$(usex jemalloc 'jemalloc' 'libc')")
+ -DWITH_SYSTEM_BOOST=$(usex system-boost)
+ -DBOOST_J=$(makeopts_jobs)
+ -DWITH_RDMA=OFF
+ -DWITH_TBB=OFF
+ -DSYSTEMD_UNITDIR=$(systemd_get_systemunitdir)
+ -DCMAKE_INSTALL_SYSTEMD_SERVICEDIR=$(systemd_get_systemunitdir)
+ -DEPYTHON_VERSION="${EPYTHON#python}"
+ -DCMAKE_INSTALL_DOCDIR="${EPREFIX}/usr/share/doc/${PN}-${PVR}"
+ -DCMAKE_INSTALL_SYSCONFDIR="${EPREFIX}/etc"
+ -Wno-dev
+ )
+ if use amd64 || use x86; then
+ for flag in ${CPU_FLAGS_X86[@]}; do
+ mycmakeargs+=("$(usex cpu_flags_x86_${flag} "-DHAVE_INTEL_${flag^^}=1")")
+ done
+ fi
+
+ # needed for >=glibc-2.32
+ has_version '>=sys-libs/glibc-2.32' && mycmakeargs+=(-DWITH_REENTRANT_STRSIGNAL:BOOL=ON)
+
+ rm -f "${BUILD_DIR:-${S}}/CMakeCache.txt" \
+ || die "failed to remove cmake cache"
+
+ cmake_src_configure
+
+ # bug #630232
+ sed -i "s:\"${T//:\\:}/${EPYTHON}/bin/python\":\"${PYTHON}\":" \
+ "${BUILD_DIR:-${S}}"/include/acconfig.h \
+ || die "sed failed"
+}
+
+src_configure() {
+ use custom-cflags || strip-flags
+ ceph_src_configure
+}
+
+python_compile() {
+ local CMAKE_USE_DIR="${S}"
+ ceph_src_configure
+
+ pushd "${BUILD_DIR}/src/pybind" >/dev/null || die
+ emake VERBOSE=1 clean
+ emake VERBOSE=1 all
+
+ # python modules are only compiled with "make install" so we need to do this to
+ # prevent doing a bunch of compilation in src_install
+ DESTDIR="${T}" emake VERBOSE=1 install
+ popd >/dev/null || die
+}
+
+src_compile() {
+ cmake_build VERBOSE=1 all
+
+ # we have to do this here to prevent from building everything multiple times
+ python_copy_sources
+ python_foreach_impl python_compile
+}
+
+src_test() {
+ make check || die "make check failed"
+}
+
+python_install() {
+ local CMAKE_USE_DIR="${S}"
+ pushd "${BUILD_DIR}/src/pybind" >/dev/null || die
+ DESTDIR="${ED}" emake VERBOSE=1 install
+ popd >/dev/null || die
+
+ python_optimize
+}
+
+src_install() {
+ cmake_src_install
+ python_foreach_impl python_install
+
+ find "${ED}" -name '*.la' -type f -delete || die
+
+ exeinto /usr/$(get_libdir)/ceph
+ newexe "${BUILD_DIR}/bin/init-ceph" init-ceph
+
+ insinto /etc/logrotate.d/
+ newins "${FILESDIR}"/ceph.logrotate-r2 ${PN}
+
+ keepdir /var/lib/${PN}{,/tmp} /var/log/${PN}/stat
+
+ fowners -R ceph:ceph /var/log/ceph
+
+ newinitd "${FILESDIR}/rbdmap.initd" rbdmap
+ newinitd "${FILESDIR}/${PN}.initd-r12" ${PN}
+ newconfd "${FILESDIR}/${PN}.confd-r5" ${PN}
+
+ insinto /etc/sysctl.d
+ newins "${FILESDIR}"/sysctld 90-${PN}.conf
+
+ use tcmalloc && newenvd "${FILESDIR}"/envd-tcmalloc 99${PN}-tcmalloc
+
+ # units aren't installed by the build system unless systemd is enabled
+ # so no point installing these with the USE flag disabled
+ if use systemd; then
+ systemd_install_serviced "${FILESDIR}/ceph-mds_at.service.conf" \
+ "ceph-mds@.service"
+
+ systemd_install_serviced "${FILESDIR}/ceph-osd_at.service.conf" \
+ "ceph-osd@.service"
+
+ fi
+
+ udev_dorules udev/*.rules
+ newtmpfiles "${FILESDIR}"/ceph-tmpfilesd ${PN}.conf
+
+ readme.gentoo_create_doc
+
+ python_setup
+
+ # bug #630232
+ sed -i -r "s:${T//:/\\:}/${EPYTHON}:/usr:" "${ED}"/usr/bin/ceph{,-crash} \
+ || die "sed failed"
+
+ python_fix_shebang "${ED}"/usr/{,s}bin/
+
+ # python_fix_shebang apparently is not idempotent
+ local shebang_regex='(/usr/lib/python-exec/python[0-9]\.[0-9]/python)[0-9]\.[0-9]'
+ grep -r -E -l --null "${shebang_regex}" "${ED}"/usr/{s,}bin/ \
+ | xargs --null --no-run-if-empty -- sed -i -r "s:${shebang_regex}:\1:" || die
+
+ local -a rados_classes=( "${ED}/usr/$(get_libdir)/rados-classes"/* )
+ dostrip -x "${rados_classes[@]#${ED}}"
+}
+
+pkg_postinst() {
+ readme.gentoo_print_elog
+}
diff --git a/sys-cluster/ceph/files/ceph-14.2.10-missing-includes.patch b/sys-cluster/ceph/files/ceph-14.2.10-missing-includes.patch
new file mode 100644
index 00000000000..aaa6ee080a3
--- /dev/null
+++ b/sys-cluster/ceph/files/ceph-14.2.10-missing-includes.patch
@@ -0,0 +1,26 @@
+diff --git a/src/common/bit_str.h b/src/common/bit_str.h
+index c4c24f6a75..b5631e8b84 100644
+--- a/src/common/bit_str.h
++++ b/src/common/bit_str.h
+@@ -14,6 +14,8 @@
+ #ifndef CEPH_COMMON_BIT_STR_H
+ #define CEPH_COMMON_BIT_STR_H
+
++#include <cstdint>
++#include <iosfwd>
+ #include <functional>
+
+ namespace ceph {
+diff --git a/src/librbd/api/PoolMetadata.h b/src/librbd/api/PoolMetadata.h
+index 977ce3638d..8d982879aa 100644
+--- a/src/librbd/api/PoolMetadata.h
++++ b/src/librbd/api/PoolMetadata.h
+@@ -8,6 +8,8 @@
+ #include "include/rados/librados_fwd.hpp"
+
+ #include <map>
++#include <string>
++#include <cstdint>
+
+ namespace librbd {
+
^ permalink raw reply related [flat|nested] 68+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-cluster/ceph/, sys-cluster/ceph/files/
@ 2020-11-25 5:38 Patrick McLean
0 siblings, 0 replies; 68+ messages in thread
From: Patrick McLean @ 2020-11-25 5:38 UTC (permalink / raw
To: gentoo-commits
commit: 81596064dffbaf2d838af575d833cd9b21693a51
Author: Patrick McLean <patrick.mclean <AT> sony <DOT> com>
AuthorDate: Wed Nov 25 05:38:41 2020 +0000
Commit: Patrick McLean <chutzpah <AT> gentoo <DOT> org>
CommitDate: Wed Nov 25 05:38:41 2020 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=81596064
sys-cluster/ceph: Remove old
Copyright: Sony Interactive Entertainment Inc.
Package-Manager: Portage-3.0.10, Repoman-3.0.2
Signed-off-by: Patrick McLean <chutzpah <AT> gentoo.org>
sys-cluster/ceph/Manifest | 1 -
sys-cluster/ceph/ceph-14.2.11-r1.ebuild | 401 ---------------------
.../ceph/files/ceph-14.2.10-missing-includes.patch | 26 --
3 files changed, 428 deletions(-)
diff --git a/sys-cluster/ceph/Manifest b/sys-cluster/ceph/Manifest
index ae0df28d34b..032b580567d 100644
--- a/sys-cluster/ceph/Manifest
+++ b/sys-cluster/ceph/Manifest
@@ -1,4 +1,3 @@
-DIST ceph-14.2.11.tar.gz 129327263 BLAKE2B fb04f3fde6642905dd21836c7472cf3b6cb484f69367ecf01b7d427c757e0fd1db4bd483bf9b0e485e1f8924a8e9201e8d47713a1de9281d5d96e45939bd1078 SHA512 765e8982d457cfd900acddc8f82c23824b32dc6d925d45e7693cba48c06fab798b6d57991dc9ad18a9ace9aff6fb2b917bd97f2d6435a7caceb03c9733e9602a
DIST ceph-14.2.13.tar.gz 129255298 BLAKE2B 32d12ede10ff657e9341e2fc31412018041a327a4c62219105a4e9576fa46643c12b936c3eaa003a78677c4ef401ef6bd73fe150604e8031482f1d237d483ff1 SHA512 3d51b729ccf26aa9a40c1320f4051755ec405abc714ae5257ec5433a13549e34fed0945f3091525fd8118d00c36fe4ae793125728d9e17f4221cdd1ee7de5b12
DIST ceph-14.2.15.tar.gz 129254705 BLAKE2B bb30f04ace31c2175c6678a9f252fc31951fd32f47362fb460ed9b8edec3a6535752d28214530e9b996c384a6e6a23eebce5caa89cb2746a2e258f5a1e1f8a3c SHA512 20ac9244974cc1312b7c642acf00142f5b7f59b09ae338f73b6c8e1ee2054b4ebd62701b18653cc792ca575a77b98644903ebb11bee6a9f1ab3aec6b37a2ef1b
DIST ceph-15.2.5.tar.gz 149219528 BLAKE2B 8f2cea9a258b7c530bff72a46d45fabf5364cf919f098c7d77857afa0dfdbcd7c290aa5a0d88cce1d99923588cc303d27c0b85179378ff1c394d9ce0f135a1b1 SHA512 55de068886c48293e92ef95cf8343ae44825fd2bf9c3fa7d47cda92907a47bae79e0af730cd34d0155b0777901d0fd6f9d1f30537c66c54c95098df7368fca2e
diff --git a/sys-cluster/ceph/ceph-14.2.11-r1.ebuild b/sys-cluster/ceph/ceph-14.2.11-r1.ebuild
deleted file mode 100644
index 43094784627..00000000000
--- a/sys-cluster/ceph/ceph-14.2.11-r1.ebuild
+++ /dev/null
@@ -1,401 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-PYTHON_COMPAT=( python3_{6,7,8} )
-DISTUTILS_USE_SETUPTOOLS=rdepend
-CMAKE_MAKEFILE_GENERATOR=emake
-
-DISTUTILS_OPTIONAL=1
-
-inherit check-reqs bash-completion-r1 cmake distutils-r1 flag-o-matic \
- python-r1 udev readme.gentoo-r1 toolchain-funcs systemd tmpfiles
-
-if [[ ${PV} == *9999* ]]; then
- inherit git-r3
- EGIT_REPO_URI="https://github.com/ceph/ceph.git"
- SRC_URI=""
-else
- SRC_URI="https://download.ceph.com/tarballs/${P}.tar.gz"
- KEYWORDS="~amd64 ~ppc64"
-fi
-
-DESCRIPTION="Ceph distributed filesystem"
-HOMEPAGE="https://ceph.com/"
-
-LICENSE="Apache-2.0 LGPL-2.1 CC-BY-SA-3.0 GPL-2 GPL-2+ LGPL-2+ LGPL-2.1 LGPL-3 GPL-3 BSD Boost-1.0 MIT public-domain"
-SLOT="0"
-
-CPU_FLAGS_X86=(sse{,2,3,4_1,4_2} ssse3)
-
-IUSE="babeltrace +cephfs custom-cflags diskprediction dpdk fuse grafana jemalloc
- kafka kerberos ldap libressl lttng +mgr numa +openssl rabbitmq +radosgw +ssl
- spdk system-boost systemd +tcmalloc test xfs zfs"
-IUSE+=" $(printf "cpu_flags_x86_%s\n" ${CPU_FLAGS_X86[@]})"
-
-DEPEND="
- acct-group/ceph
- acct-user/ceph
- virtual/libudev:=
- app-arch/bzip2:=
- app-arch/lz4:=
- app-arch/snappy:=
- app-arch/zstd:=
- app-shells/bash:0
- app-misc/jq:=
- dev-libs/crypto++:=
- dev-libs/leveldb:=[snappy,tcmalloc(-)?]
- dev-libs/libaio:=
- dev-libs/libnl:3=
- dev-libs/libxml2:=
- dev-libs/xmlsec:=[!openssl?,!libressl?]
- dev-cpp/yaml-cpp:=
- dev-libs/nss:=
- dev-libs/protobuf:=
- net-dns/c-ares:=
- net-libs/gnutls:=
- sys-auth/oath-toolkit:=
- sys-apps/coreutils
- sys-apps/grep
- sys-apps/hwloc:=
- sys-apps/keyutils:=
- sys-apps/util-linux:=
- sys-apps/sed
- sys-apps/util-linux
- sys-libs/libcap-ng:=
- sys-libs/ncurses:0=
- sys-libs/zlib:=
- sys-process/numactl:=
- x11-libs/libpciaccess:=
- babeltrace? ( dev-util/babeltrace )
- fuse? ( sys-fs/fuse:0= )
- jemalloc? ( dev-libs/jemalloc:= )
- !jemalloc? ( >=dev-util/google-perftools-2.6.1:= )
- kafka? ( dev-libs/librdkafka:= )
- kerberos? ( virtual/krb5 )
- ldap? ( net-nds/openldap:= )
- lttng? ( dev-util/lttng-ust:= )
- rabbitmq? ( net-libs/rabbitmq-c:= )
- radosgw? (
- dev-libs/expat:=
- openssl? (
- dev-libs/openssl:=
- net-misc/curl:=[curl_ssl_openssl]
- )
- libressl? (
- dev-libs/libressl:=
- net-misc/curl:=[curl_ssl_libressl]
- )
- )
- ssl? (
- openssl? ( dev-libs/openssl:= )
- libressl? ( dev-libs/libressl:= )
- )
- system-boost? ( =dev-libs/boost-1.72*[threads,context,python,${PYTHON_USEDEP}] )
- xfs? ( sys-fs/xfsprogs:= )
- zfs? ( sys-fs/zfs:= )
- ${PYTHON_DEPS}
-"
-BDEPEND="
- amd64? ( dev-lang/yasm )
- x86? ( dev-lang/yasm )
- app-arch/cpio
- >=dev-util/cmake-3.5.0
- dev-python/cython[${PYTHON_USEDEP}]
- dev-python/sphinx
- dev-util/cunit
- dev-util/gperf
- dev-util/ragel
- dev-util/valgrind
- sys-apps/coreutils
- sys-apps/findutils
- sys-apps/grep
- sys-apps/sed
- sys-apps/which
- sys-devel/bc
- sys-devel/patch
- virtual/pkgconfig
- test? (
- dev-python/coverage[${PYTHON_USEDEP}]
- dev-python/virtualenv[${PYTHON_USEDEP}]
- dev-python/requests-mock[${PYTHON_USEDEP}]
- sys-apps/grep[pcre]
- sys-fs/btrfs-progs
- )
-"
-RDEPEND="${DEPEND}
- app-admin/sudo
- net-misc/socat
- sys-apps/gptfdisk
- >=sys-apps/smartmontools-7.0
- sys-block/parted
- sys-fs/cryptsetup
- sys-fs/lsscsi
- sys-fs/lvm2[-device-mapper-only(-)]
- virtual/awk
- dev-python/bcrypt[${PYTHON_USEDEP}]
- dev-python/cherrypy[${PYTHON_USEDEP}]
- dev-python/flask[${PYTHON_USEDEP}]
- dev-python/jinja[${PYTHON_USEDEP}]
- dev-python/pecan[${PYTHON_USEDEP}]
- dev-python/prettytable[${PYTHON_USEDEP}]
- dev-python/pyopenssl[${PYTHON_USEDEP}]
- dev-python/requests[${PYTHON_USEDEP}]
- dev-python/werkzeug[${PYTHON_USEDEP}]
- mgr? (
- dev-python/more-itertools[${PYTHON_USEDEP}]
- dev-python/numpy[${PYTHON_USEDEP}]
- dev-python/pyjwt[${PYTHON_USEDEP}]
- dev-python/pyyaml[${PYTHON_USEDEP}]
- dev-python/routes[${PYTHON_USEDEP}]
- diskprediction? (
- $(python_gen_cond_dep '<dev-python/scipy-1.4.0[${PYTHON_USEDEP}]' python3_{6,7})
- )
- sci-libs/scikit-learn[${PYTHON_USEDEP}]
- dev-python/six[${PYTHON_USEDEP}]
- )
-"
-# diskprediction needs older scipy not compatible with py38
-# bug #724438
-REQUIRED_USE="
- ${PYTHON_REQUIRED_USE}
- ?? ( jemalloc tcmalloc )
- ^^ ( openssl libressl )
- diskprediction? ( mgr !python_targets_python3_8 )
- kafka? ( radosgw )
- mgr? ( cephfs )
- rabbitmq? ( radosgw )
-"
-RESTRICT="!test? ( test )"
-
-# the tests need root access
-RESTRICT="test? ( userpriv )"
-
-# distribution tarball does not include everything needed for tests
-RESTRICT+=" test"
-
-# create a non-debug release
-CMAKE_BUILD_TYPE=RelWithDebInfo
-
-# false positives unless all USE flags are on
-CMAKE_WARN_UNUSED_CLI=no
-
-PATCHES=(
- "${FILESDIR}/ceph-12.2.0-use-provided-cpu-flag-values.patch"
- "${FILESDIR}/ceph-14.2.0-cflags.patch"
- "${FILESDIR}/ceph-12.2.4-boost-build-none-options.patch"
- "${FILESDIR}/ceph-13.2.0-cflags.patch"
- "${FILESDIR}/ceph-14.2.0-mgr-python-version.patch"
- "${FILESDIR}/ceph-14.2.5-no-virtualenvs.patch"
- "${FILESDIR}/ceph-13.2.2-dont-install-sysvinit-script.patch"
- "${FILESDIR}/ceph-14.2.0-dpdk-cflags.patch"
- "${FILESDIR}/ceph-14.2.0-link-crc32-statically.patch"
- "${FILESDIR}/ceph-14.2.0-cython-0.29.patch"
- "${FILESDIR}/ceph-14.2.3-dpdk-compile-fix-1.patch"
- "${FILESDIR}/ceph-14.2.4-python-executable.patch"
- "${FILESDIR}/ceph-14.2.4-undefined-behaviour.patch"
- "${FILESDIR}/ceph-14.2.10-missing-includes.patch"
- "${FILESDIR}/ceph-14.2.10-python-warnings.patch"
- "${FILESDIR}/ceph-14.2.10-build-without-mgr.patch"
- "${FILESDIR}/ceph-14.2.11-systemd-unit-fix.patch"
-)
-
-check-reqs_export_vars() {
- CHECKREQS_DISK_BUILD="5200M"
- CHECKREQS_DISK_USR="510M"
-
- export CHECKREQS_DISK_BUILD CHECKREQS_DISK_USR
-}
-
-pkg_pretend() {
- check-reqs_export_vars
- check-reqs_pkg_pretend
-}
-
-pkg_setup() {
- python_setup
- check-reqs_export_vars
- check-reqs_pkg_setup
-}
-
-src_prepare() {
- cmake_src_prepare
-
- if use system-boost; then
- find "${S}" -name '*.cmake' -or -name 'CMakeLists.txt' -print0 \
- | xargs --null sed -r \
- -e 's|Boost::|boost_|g' \
- -e 's|Boost_|boost_|g' \
- -e 's|[Bb]oost_boost|boost_system|g' -i || die
- fi
-
- sed -i -r "s:DESTINATION .+\\):DESTINATION $(get_bashcompdir)\\):" \
- src/bash_completion/CMakeLists.txt || die
-
- if ! use diskprediction; then
- rm -rf src/pybind/mgr/diskprediction_local || die
- fi
-
- # remove tests that need root access
- rm src/test/cli/ceph-authtool/cap*.t || die
-}
-
-ceph_src_configure() {
- local flag
- local mycmakeargs=(
- -DWITH_BABELTRACE=$(usex babeltrace)
- -DWITH_CEPHFS=$(usex cephfs)
- -DWITH_CEPHFS_SHELL=$(usex cephfs)
- -DWITH_DPDK=$(usex dpdk)
- -DWITH_SPDK=$(usex spdk)
- -DWITH_FUSE=$(usex fuse)
- -DWITH_LTTNG=$(usex lttng)
- -DWITH_GSSAPI=$(usex kerberos)
- -DWITH_GRAFANA=$(usex grafana)
- -DWITH_MGR=$(usex mgr)
- -DWITH_MGR_DASHBOARD_FRONTEND=OFF
- -DWITH_NUMA=$(usex numa)
- -DWITH_OPENLDAP=$(usex ldap)
- -DWITH_PYTHON3=3
- -DWITH_RADOSGW=$(usex radosgw)
- -DWITH_RADOSGW_AMQP_ENDPOINT=$(usex rabbitmq)
- -DWITH_RADOSGW_KAFKA_ENDPOINT=$(usex kafka)
- -DWITH_SSL=$(usex ssl)
- -DWITH_SYSTEMD=$(usex systemd)
- -DWITH_TESTS=$(usex test)
- -DWITH_XFS=$(usex xfs)
- -DWITH_ZFS=$(usex zfs)
- -DENABLE_SHARED="ON"
- -DALLOCATOR=$(usex tcmalloc 'tcmalloc' "$(usex jemalloc 'jemalloc' 'libc')")
- -DWITH_SYSTEM_BOOST=$(usex system-boost)
- -DBOOST_J=$(makeopts_jobs)
- -DWITH_RDMA=OFF
- -DWITH_TBB=OFF
- -DSYSTEMD_UNITDIR=$(systemd_get_systemunitdir)
- -DCMAKE_INSTALL_SYSTEMD_SERVICEDIR=$(systemd_get_systemunitdir)
- -DEPYTHON_VERSION="${EPYTHON#python}"
- -DCMAKE_INSTALL_DOCDIR="${EPREFIX}/usr/share/doc/${PN}-${PVR}"
- -DCMAKE_INSTALL_SYSCONFDIR="${EPREFIX}/etc"
- -Wno-dev
- )
- if use amd64 || use x86; then
- for flag in ${CPU_FLAGS_X86[@]}; do
- mycmakeargs+=("$(usex cpu_flags_x86_${flag} "-DHAVE_INTEL_${flag^^}=1")")
- done
- fi
-
- # needed for >=glibc-2.32
- has_version '>=sys-libs/glibc-2.32' && mycmakeargs+=(-DWITH_REENTRANT_STRSIGNAL:BOOL=ON)
-
- rm -f "${BUILD_DIR:-${S}}/CMakeCache.txt" \
- || die "failed to remove cmake cache"
-
- cmake_src_configure
-
- # bug #630232
- sed -i "s:\"${T//:\\:}/${EPYTHON}/bin/python\":\"${PYTHON}\":" \
- "${BUILD_DIR:-${S}}"/include/acconfig.h \
- || die "sed failed"
-}
-
-src_configure() {
- use custom-cflags || strip-flags
- ceph_src_configure
-}
-
-python_compile() {
- local CMAKE_USE_DIR="${S}"
- ceph_src_configure
-
- pushd "${BUILD_DIR}/src/pybind" >/dev/null || die
- emake VERBOSE=1 clean
- emake VERBOSE=1 all
-
- # python modules are only compiled with "make install" so we need to do this to
- # prevent doing a bunch of compilation in src_install
- DESTDIR="${T}" emake VERBOSE=1 install
- popd >/dev/null || die
-}
-
-src_compile() {
- cmake_build VERBOSE=1 all
-
- # we have to do this here to prevent from building everything multiple times
- python_copy_sources
- python_foreach_impl python_compile
-}
-
-src_test() {
- make check || die "make check failed"
-}
-
-python_install() {
- local CMAKE_USE_DIR="${S}"
- pushd "${BUILD_DIR}/src/pybind" >/dev/null || die
- DESTDIR="${ED}" emake VERBOSE=1 install
- popd >/dev/null || die
-
- python_optimize
-}
-
-src_install() {
- cmake_src_install
- python_foreach_impl python_install
-
- find "${ED}" -name '*.la' -type f -delete || die
-
- exeinto /usr/$(get_libdir)/ceph
- newexe "${BUILD_DIR}/bin/init-ceph" init-ceph
-
- insinto /etc/logrotate.d/
- newins "${FILESDIR}"/ceph.logrotate-r2 ${PN}
-
- keepdir /var/lib/${PN}{,/tmp} /var/log/${PN}/stat
-
- fowners -R ceph:ceph /var/log/ceph
-
- newinitd "${FILESDIR}/rbdmap.initd" rbdmap
- newinitd "${FILESDIR}/${PN}.initd-r12" ${PN}
- newconfd "${FILESDIR}/${PN}.confd-r5" ${PN}
-
- insinto /etc/sysctl.d
- newins "${FILESDIR}"/sysctld 90-${PN}.conf
-
- use tcmalloc && newenvd "${FILESDIR}"/envd-tcmalloc 99${PN}-tcmalloc
-
- # units aren't installed by the build system unless systemd is enabled
- # so no point installing these with the USE flag disabled
- if use systemd; then
- systemd_install_serviced "${FILESDIR}/ceph-mds_at.service.conf" \
- "ceph-mds@.service"
-
- systemd_install_serviced "${FILESDIR}/ceph-osd_at.service.conf" \
- "ceph-osd@.service"
-
- fi
-
- udev_dorules udev/*.rules
- newtmpfiles "${FILESDIR}"/ceph-tmpfilesd ${PN}.conf
-
- readme.gentoo_create_doc
-
- python_setup
-
- # bug #630232
- sed -i -r "s:${T//:/\\:}/${EPYTHON}:/usr:" "${ED}"/usr/bin/ceph{,-crash} \
- || die "sed failed"
-
- python_fix_shebang "${ED}"/usr/{,s}bin/
-
- # python_fix_shebang apparently is not idempotent
- local shebang_regex='(/usr/lib/python-exec/python[0-9]\.[0-9]/python)[0-9]\.[0-9]'
- grep -r -E -l --null "${shebang_regex}" "${ED}"/usr/{s,}bin/ \
- | xargs --null --no-run-if-empty -- sed -i -r "s:${shebang_regex}:\1:" || die
-
- local -a rados_classes=( "${ED}/usr/$(get_libdir)/rados-classes"/* )
- dostrip -x "${rados_classes[@]#${ED}}"
-}
-
-pkg_postinst() {
- readme.gentoo_print_elog
-}
diff --git a/sys-cluster/ceph/files/ceph-14.2.10-missing-includes.patch b/sys-cluster/ceph/files/ceph-14.2.10-missing-includes.patch
deleted file mode 100644
index aaa6ee080a3..00000000000
--- a/sys-cluster/ceph/files/ceph-14.2.10-missing-includes.patch
+++ /dev/null
@@ -1,26 +0,0 @@
-diff --git a/src/common/bit_str.h b/src/common/bit_str.h
-index c4c24f6a75..b5631e8b84 100644
---- a/src/common/bit_str.h
-+++ b/src/common/bit_str.h
-@@ -14,6 +14,8 @@
- #ifndef CEPH_COMMON_BIT_STR_H
- #define CEPH_COMMON_BIT_STR_H
-
-+#include <cstdint>
-+#include <iosfwd>
- #include <functional>
-
- namespace ceph {
-diff --git a/src/librbd/api/PoolMetadata.h b/src/librbd/api/PoolMetadata.h
-index 977ce3638d..8d982879aa 100644
---- a/src/librbd/api/PoolMetadata.h
-+++ b/src/librbd/api/PoolMetadata.h
-@@ -8,6 +8,8 @@
- #include "include/rados/librados_fwd.hpp"
-
- #include <map>
-+#include <string>
-+#include <cstdint>
-
- namespace librbd {
-
^ permalink raw reply related [flat|nested] 68+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-cluster/ceph/, sys-cluster/ceph/files/
@ 2020-11-19 7:29 Patrick McLean
0 siblings, 0 replies; 68+ messages in thread
From: Patrick McLean @ 2020-11-19 7:29 UTC (permalink / raw
To: gentoo-commits
commit: 5fa3176d02695d7dd7074f4d89df9f89990de333
Author: Patrick McLean <patrick.mclean <AT> sony <DOT> com>
AuthorDate: Thu Nov 19 07:29:05 2020 +0000
Commit: Patrick McLean <chutzpah <AT> gentoo <DOT> org>
CommitDate: Thu Nov 19 07:29:37 2020 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=5fa3176d
sys-cluster/ceph: remove old
Copyright: Sony Interactive Entertainment Inc.
Package-Manager: Portage-3.0.9, Repoman-3.0.2
Signed-off-by: Patrick McLean <chutzpah <AT> gentoo.org>
sys-cluster/ceph/Manifest | 2 -
sys-cluster/ceph/ceph-12.2.12-r3.ebuild | 320 ----------------
sys-cluster/ceph/ceph-15.2.4-r3.ebuild | 403 ---------------------
sys-cluster/ceph/files/ceph-12.2.0-cflags.patch | 13 -
.../ceph/files/ceph-12.2.1-systemd-unitdir.patch | 10 -
.../ceph/files/ceph-12.2.11-boost-sonames.patch | 214 -----------
.../ceph/files/ceph-12.2.11-fix-min-call.patch | 13 -
.../ceph-12.2.12-civetweb-openssl-1.1.1.patch | 10 -
.../ceph-12.2.12-dont-use-bad-namespace.patch | 13 -
.../ceph/files/ceph-12.2.12-ncurses-tinfo.patch | 20 -
.../ceph/files/ceph-12.2.12-qa-warning.patch | 13 -
sys-cluster/ceph/files/ceph-12.2.4-cflags.patch | 38 --
.../ceph/files/ceph-12.2.4-rocksdb-cflags.patch | 11 -
sys-cluster/ceph/files/ceph-12.2.5-no-werror.patch | 55 ---
sys-cluster/ceph/metadata.xml | 1 -
15 files changed, 1136 deletions(-)
diff --git a/sys-cluster/ceph/Manifest b/sys-cluster/ceph/Manifest
index 3429c8d7285..3dfdc5719b1 100644
--- a/sys-cluster/ceph/Manifest
+++ b/sys-cluster/ceph/Manifest
@@ -1,7 +1,5 @@
-DIST ceph-12.2.12.tar.gz 77467762 BLAKE2B a5224432121db9ef49c1e22771d847399df2f7881cd9c2e185eca12096efb79d21578659d248eb5bae678924983d57452d370e23ab7e78663764d7bea834a461 SHA512 e694c9a8c1f9836c08fb74b54423bdc16d4900252e34643c56cf1a615d4dacddfb13df06a6a9f68bb9d438f5f07069ed358f9fa4b5a362640a3046f9c7722dcc
DIST ceph-14.2.11.tar.gz 129327263 BLAKE2B fb04f3fde6642905dd21836c7472cf3b6cb484f69367ecf01b7d427c757e0fd1db4bd483bf9b0e485e1f8924a8e9201e8d47713a1de9281d5d96e45939bd1078 SHA512 765e8982d457cfd900acddc8f82c23824b32dc6d925d45e7693cba48c06fab798b6d57991dc9ad18a9ace9aff6fb2b917bd97f2d6435a7caceb03c9733e9602a
DIST ceph-14.2.13.tar.gz 129255298 BLAKE2B 32d12ede10ff657e9341e2fc31412018041a327a4c62219105a4e9576fa46643c12b936c3eaa003a78677c4ef401ef6bd73fe150604e8031482f1d237d483ff1 SHA512 3d51b729ccf26aa9a40c1320f4051755ec405abc714ae5257ec5433a13549e34fed0945f3091525fd8118d00c36fe4ae793125728d9e17f4221cdd1ee7de5b12
DIST ceph-14.2.14.tar.gz 129258764 BLAKE2B a25ad78f607de33f3d87c96bf41d614266a0737ca855dbdc7dd88354cddc90037de8bf98e09392fba858f9224f98eaddae0943814a3b23a8a7e00181e5b91607 SHA512 4d5c11108cf42dc3bcf810d119329ba6e4cda02506215202d3b173bad8a9638d1fb2dff7c440d935efe8cd008e7d6e7bb02f681d2da06fccfb6d1d47078287dc
-DIST ceph-15.2.4.tar.gz 148011928 BLAKE2B c0222725227cf922ed10bb19840b8cbfe0c0b8ae77a4f83f03a95c3fc198165740f7a1dee5e1983e9403634ce389c858e71ed3f2731202630e19961a5de0247a SHA512 94e9b4c87d9f27dbfc9961b853f2cf159d65b614bf50ac3dabad9d801a181c547550ab4bca1f48c7a6e11aa6188e5858b110a9023dc214a043ed5ba375b3dee2
DIST ceph-15.2.5.tar.gz 149219528 BLAKE2B 8f2cea9a258b7c530bff72a46d45fabf5364cf919f098c7d77857afa0dfdbcd7c290aa5a0d88cce1d99923588cc303d27c0b85179378ff1c394d9ce0f135a1b1 SHA512 55de068886c48293e92ef95cf8343ae44825fd2bf9c3fa7d47cda92907a47bae79e0af730cd34d0155b0777901d0fd6f9d1f30537c66c54c95098df7368fca2e
DIST ceph-15.2.6.tar.gz 148124143 BLAKE2B 4132a2c50037839f712a796cf428190b0e450f0f8b6f157b3d983ca596d9e9e521f1f991c66e14455122c927ddaafada387ef780fd438b2506cfe56194177648 SHA512 0bbbbc532fb9f29437c094a86a1e58040f03b679e4d52ea9cc752ecf411c594c8ec37dc5e9f0ee47712d32b93b4e60b0f3fded280867d41c41b8db806b375e4e
diff --git a/sys-cluster/ceph/ceph-12.2.12-r3.ebuild b/sys-cluster/ceph/ceph-12.2.12-r3.ebuild
deleted file mode 100644
index 029b309f009..00000000000
--- a/sys-cluster/ceph/ceph-12.2.12-r3.ebuild
+++ /dev/null
@@ -1,320 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-PYTHON_COMPAT=( python3_6 )
-DISTUTILS_OPTIONAL=1
-
-inherit check-reqs cmake-utils distutils-r1 flag-o-matic multiprocessing \
- python-r1 udev readme.gentoo-r1 systemd
-
-if [[ ${PV} == *9999* ]]; then
- inherit git-r3
- EGIT_REPO_URI="https://github.com/ceph/ceph.git"
- SRC_URI=""
-else
- SRC_URI="https://download.ceph.com/tarballs/${P}.tar.gz"
- # currently broken (bug #708294)
- #KEYWORDS="~amd64 ~arm64 ~x86"
-fi
-
-DESCRIPTION="Ceph distributed filesystem"
-HOMEPAGE="https://ceph.com/"
-
-LICENSE="LGPL-2.1 CC-BY-SA-3.0 GPL-2 BSD Boost-1.0 MIT"
-SLOT="0"
-
-CPU_FLAGS_X86=(sse{,2,3,4_1,4_2} ssse3)
-
-IUSE="babeltrace cephfs fuse jemalloc ldap lttng +mgr nss +radosgw +ssl"
-IUSE+=" +system-boost systemd +tcmalloc test xfs zfs"
-IUSE+=" $(printf "cpu_flags_x86_%s\n" ${CPU_FLAGS_X86[@]})"
-
-# unbundling code commented out pending bugs 584056 and 584058
-#>=dev-libs/jerasure-2.0.0-r1
-#>=dev-libs/gf-complete-2.0.0
-COMMON_DEPEND="
- acct-group/ceph
- acct-user/ceph
- virtual/libudev:=
- app-arch/bzip2:=
- app-arch/lz4:=
- app-arch/snappy:=
- app-arch/zstd:=
- app-misc/jq:=
- <dev-libs/crypto++-7.0:=
- dev-libs/leveldb:=[snappy,tcmalloc?]
- dev-libs/libaio:=
- dev-libs/libxml2:=
- sys-apps/keyutils:=
- sys-apps/util-linux:=
- sys-libs/zlib:=
- babeltrace? ( dev-util/babeltrace )
- ldap? ( net-nds/openldap:= )
- lttng? ( dev-util/lttng-ust:= )
- nss? ( dev-libs/nss:= )
- fuse? ( sys-fs/fuse:0= )
- xfs? ( sys-fs/xfsprogs:= )
- zfs? ( sys-fs/zfs:= )
- ssl? ( dev-libs/openssl:0= )
- radosgw? (
- dev-libs/expat:=
- <dev-libs/openssl-1.1:=
- net-misc/curl:=[curl_ssl_openssl]
- )
- system-boost? (
- =dev-libs/boost-1.66*:=[threads,context,python,${PYTHON_USEDEP}]
- )
- jemalloc? ( dev-libs/jemalloc:= )
- !jemalloc? ( >=dev-util/google-perftools-2.4:= )
- ${PYTHON_DEPS}
- "
-DEPEND="${COMMON_DEPEND}
- app-arch/cpio
- amd64? ( dev-lang/yasm )
- x86? ( dev-lang/yasm )
- dev-python/cython[${PYTHON_USEDEP}]
- dev-python/sphinx
- dev-util/gperf
- dev-util/valgrind
- sys-apps/which
- sys-devel/bc
- virtual/pkgconfig
- test? (
- dev-python/virtualenv[${PYTHON_USEDEP}]
- sys-apps/grep[pcre]
- sys-fs/btrfs-progs
- )"
-RDEPEND="${COMMON_DEPEND}
- net-misc/socat
- sys-apps/gptfdisk
- sys-block/parted
- sys-fs/e2fsprogs
- sys-fs/cryptsetup
- sys-fs/lvm2
- !<sys-apps/openrc-0.26.3
- dev-python/cherrypy[${PYTHON_USEDEP}]
- dev-python/flask[${PYTHON_USEDEP}]
- dev-python/jinja[${PYTHON_USEDEP}]
- dev-python/pecan[${PYTHON_USEDEP}]
- dev-python/prettytable[${PYTHON_USEDEP}]
- dev-python/pyopenssl[${PYTHON_USEDEP}]
- dev-python/requests[${PYTHON_USEDEP}]
- dev-python/werkzeug[${PYTHON_USEDEP}]
- "
-REQUIRED_USE="
- $(python_gen_useflags 'python2*')
- ${PYTHON_REQUIRED_USE}
- ?? ( ssl nss )
- ?? ( jemalloc tcmalloc )
- "
-
-RESTRICT="test? ( userpriv )"
-
-# distribution tarball does not include everything needed for tests
-RESTRICT+=" test"
-
-# false positives unless all USE flags are on
-CMAKE_WARN_UNUSED_CLI="no"
-
-# ninja does not work at all
-CMAKE_MAKEFILE_GENERATOR="emake"
-
-UNBUNDLE_LIBS=(
- src/erasure-code/jerasure/jerasure
- src/erasure-code/jerasure/gf-complete
-)
-
-PATCHES=(
- "${FILESDIR}/ceph-12.2.0-use-provided-cpu-flag-values.patch"
- "${FILESDIR}/ceph-12.2.0-cflags.patch"
- "${FILESDIR}/ceph-12.2.1-systemd-unitdir.patch"
- "${FILESDIR}/ceph-12.2.4-boost-build-none-options.patch"
- "${FILESDIR}/ceph-12.2.4-cflags.patch"
- "${FILESDIR}/ceph-12.2.4-rocksdb-cflags.patch"
- "${FILESDIR}/ceph-12.2.5-no-werror.patch"
- "${FILESDIR}/ceph-13.2.2-dont-install-sysvinit-script.patch"
- "${FILESDIR}/ceph-12.2.11-fix-min-call.patch"
- "${FILESDIR}/ceph-12.2.12-dont-use-bad-namespace.patch"
- "${FILESDIR}/ceph-12.2.12-civetweb-openssl-1.1.1.patch"
- "${FILESDIR}/ceph-12.2.12-qa-warning.patch"
- "${FILESDIR}/ceph-12.2.12-ncurses-tinfo.patch"
-)
-
-check-reqs_export_vars() {
- if use amd64; then
- CHECKREQS_DISK_BUILD="12G"
- CHECKREQS_DISK_USR="460M"
- else
- CHECKREQS_DISK_BUILD="1400M"
- CHECKREQS_DISK_USR="450M"
- fi
-
- export CHECKREQS_DISK_BUILD CHECKREQS_DISK_USR
-}
-
-user_setup() {
- enewgroup ceph ${CEPH_GID}
- enewuser ceph "${CEPH_UID:--1}" -1 /var/lib/ceph ceph
-}
-
-pkg_pretend() {
- check-reqs_export_vars
- check-reqs_pkg_pretend
-}
-
-pkg_setup() {
- python_setup 'python2*'
- check-reqs_export_vars
- check-reqs_pkg_setup
- user_setup
-}
-
-src_prepare() {
- cmake-utils_src_prepare
-
- if use system-boost; then
- eapply "${FILESDIR}/ceph-12.2.11-boost-sonames.patch"
- fi
-
- # remove tests that need root access
- rm src/test/cli/ceph-authtool/cap*.t
-
- #rm -rf "${UNBUNDLE_LIBS[@]}"
-}
-
-ceph_src_configure() {
- local flag
- local mycmakeargs=(
- -DCMAKE_INSTALL_SYSCONFDIR="${EPREFIX}/etc"
- -DCMAKE_INSTALL_DOCDIR="${EPREFIX}/usr/share/doc/${PN}-${PVR}"
- -DWITH_BABELTRACE=$(usex babeltrace)
- -DWITH_CEPHFS=$(usex cephfs)
- -DWITH_FUSE=$(usex fuse)
- -DWITH_LTTNG=$(usex lttng)
- -DWITH_MGR=$(usex mgr)
- -DWITH_NSS=$(usex nss)
- -DWITH_OPENLDAP=$(usex ldap)
- -DWITH_RADOSGW=$(usex radosgw)
- -DWITH_SSL=$(usex ssl)
- -DWITH_SYSTEMD=$(usex systemd)
- -DWITH_TESTS=$(usex test)
- -DWITH_XFS=$(usex xfs)
- -DWITH_ZFS=$(usex zfs)
- -DENABLE_SHARED="yes"
- -DALLOCATOR=$(usex tcmalloc 'tcmalloc' "$(usex jemalloc 'jemalloc' 'libc')")
- -DWITH_SYSTEM_BOOST=$(usex system-boost)
- -DBOOST_J=$(makeopts_jobs)
- -DWITH_RDMA=no
- -DSYSTEMD_UNITDIR=$(systemd_get_systemunitdir)
- -DEPYTHON_VERSION="${EPYTHON#python}"
- )
- if use amd64 || use x86; then
- for flag in ${CPU_FLAGS_X86[@]}; do
- mycmakeargs+=("$(usex cpu_flags_x86_${flag} "-DHAVE_INTEL_${flag^^}=1")")
- done
- fi
-
- rm -f "${BUILD_DIR:-${S}}/CMakeCache.txt"
- cmake-utils_src_configure
-
- # bug #630232
- sed -i "s:\"${T//:\\:}/${EPYTHON}/bin/python\":\"${PYTHON}\":" \
- "${BUILD_DIR:--${S}}"/include/acconfig.h \
- || die "sed failed"
-}
-
-src_configure() {
- ceph_src_configure
-}
-
-python_compile() {
- local CMAKE_USE_DIR="${S}"
-
- ceph_src_configure
- pushd "${BUILD_DIR}/src/pybind" >/dev/null || die
- emake VERBOSE=1 all
-
- # python modules are only compiled with "make install" so we need to do this to
- # prevent doing a bunch of compilation in src_install
- DESTDIR="${T}" emake VERBOSE=1 install
- popd >/dev/null || die
-}
-
-src_compile() {
- cmake-utils_src_make all
-
- # we have to do this here to prevent from building everything multiple times
- python_copy_sources
- python_foreach_impl python_compile
-}
-
-src_test() {
- make check || die "make check failed"
-}
-
-python_install() {
- local CMAKE_USE_DIR="${S}"
- pushd "${BUILD_DIR}/src/pybind" >/dev/null || die
- DESTDIR="${ED}" emake install
- popd >/dev/null || die
-}
-
-src_install() {
- cmake-utils_src_install
- python_foreach_impl python_install
-
- find "${D}" -name '*.la' -delete || die
-
- exeinto /usr/$(get_libdir)/ceph
- newexe "${BUILD_DIR}/bin/init-ceph" ceph_init.sh
-
- insinto /etc/logrotate.d/
- newins "${FILESDIR}"/ceph.logrotate-r2 ${PN}
-
- keepdir /var/lib/${PN}{,/tmp} /var/log/${PN}/stat
-
- fowners -R ceph:ceph /var/lib/ceph /var/log/ceph
-
- newinitd "${FILESDIR}/rbdmap.initd" rbdmap
- newinitd "${FILESDIR}/${PN}.initd-r12" ${PN}
- newconfd "${FILESDIR}/${PN}.confd-r5" ${PN}
-
- insinto /etc/sysctl.d
- newins "${FILESDIR}"/sysctld 90-${PN}.conf
-
- use tcmalloc && newenvd "${FILESDIR}"/envd-tcmalloc 99${PN}-tcmalloc
-
- # units aren't installed by the build system unless systemd is enabled
- # so no point installing these with the USE flag disabled
- if use systemd; then
- systemd_install_serviced "${FILESDIR}/ceph-mds_at.service.conf" \
- "ceph-mds@.service"
-
- systemd_install_serviced "${FILESDIR}/ceph-osd_at.service.conf" \
- "ceph-osd@.service"
- fi
-
- udev_dorules udev/*.rules
-
- readme.gentoo_create_doc
-
- python_setup 'python2*'
-
- # bug #630232
- sed -i -r "s:${T//:/\\:}/${EPYTHON}:/usr:" "${ED}"/usr/bin/ceph \
- || die "sed failed"
-
- python_fix_shebang "${ED}"/usr/{,s}bin/
-
- # python_fix_shebang apparently is not idempotent
- sed -i -r 's:(/usr/lib/python-exec/python[0-9]\.[0-9]/python)[0-9]\.[0-9]:\1:' \
- "${ED}"/usr/{sbin/ceph-disk,bin/ceph-detect-init} || die "sed failed"
-
- local -a rados_classes=( "${D}/usr/$(get_libdir)/rados-classes"/* )
- dostrip -x "${rados_classes[@]#${D}}"
-}
-
-pkg_postinst() {
- readme.gentoo_print_elog
-}
diff --git a/sys-cluster/ceph/ceph-15.2.4-r3.ebuild b/sys-cluster/ceph/ceph-15.2.4-r3.ebuild
deleted file mode 100644
index 3c6f8a003fc..00000000000
--- a/sys-cluster/ceph/ceph-15.2.4-r3.ebuild
+++ /dev/null
@@ -1,403 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-PYTHON_COMPAT=( python3_{6,7,8} )
-CMAKE_MAKEFILE_GENERATOR=emake
-
-DISTUTILS_OPTIONAL=1
-
-inherit check-reqs bash-completion-r1 cmake distutils-r1 flag-o-matic \
- python-r1 udev readme.gentoo-r1 toolchain-funcs systemd tmpfiles
-
-if [[ ${PV} == *9999* ]]; then
- inherit git-r3
- EGIT_REPO_URI="https://github.com/ceph/ceph.git"
- SRC_URI=""
-else
- SRC_URI="https://download.ceph.com/tarballs/${P}.tar.gz"
- KEYWORDS="~amd64 ~arm64 ~ppc64"
-fi
-
-DESCRIPTION="Ceph distributed filesystem"
-HOMEPAGE="https://ceph.com/"
-
-LICENSE="Apache-2.0 LGPL-2.1 CC-BY-SA-3.0 GPL-2 GPL-2+ LGPL-2+ LGPL-2.1 LGPL-3 GPL-3 BSD Boost-1.0 MIT public-domain"
-SLOT="0"
-
-CPU_FLAGS_X86=(sse{,2,3,4_1,4_2} ssse3)
-
-IUSE="babeltrace +cephfs custom-cflags diskprediction dpdk fuse grafana jemalloc
- kafka kerberos ldap libressl lttng +mgr numa +openssl pmdk rabbitmq +radosgw
- rbd-rwl +ssl spdk system-boost systemd +tcmalloc test uring xfs zfs"
-IUSE+=" $(printf "cpu_flags_x86_%s\n" ${CPU_FLAGS_X86[@]})"
-
-DEPEND="
- acct-group/ceph
- acct-user/ceph
- virtual/libudev:=
- app-arch/bzip2:=
- app-arch/lz4:=
- app-arch/snappy:=
- app-arch/zstd:=
- app-shells/bash:0
- app-misc/jq:=
- dev-libs/crypto++:=
- dev-libs/leveldb:=[snappy,tcmalloc(-)?]
- dev-libs/libaio:=
- dev-libs/libfmt:=
- dev-libs/libnl:3=
- dev-libs/libxml2:=
- dev-libs/xmlsec:=[!openssl?,!libressl?]
- dev-cpp/yaml-cpp:=
- dev-libs/nss:=
- dev-libs/protobuf:=
- net-dns/c-ares:=
- net-libs/gnutls:=
- sys-auth/oath-toolkit:=
- sys-apps/coreutils
- sys-apps/grep
- sys-apps/hwloc:=
- sys-apps/keyutils:=
- sys-apps/util-linux:=
- sys-apps/sed
- sys-apps/util-linux
- sys-libs/libcap-ng:=
- sys-libs/ncurses:0=
- sys-libs/zlib:=
- sys-process/numactl:=
- x11-libs/libpciaccess:=
- babeltrace? ( dev-util/babeltrace )
- fuse? ( sys-fs/fuse:0= )
- jemalloc? ( dev-libs/jemalloc:= )
- !jemalloc? ( >=dev-util/google-perftools-2.6.1:= )
- kafka? ( dev-libs/librdkafka:= )
- kerberos? ( virtual/krb5 )
- ldap? ( net-nds/openldap:= )
- lttng? ( dev-util/lttng-ust:= )
- rabbitmq? ( net-libs/rabbitmq-c:= )
- radosgw? (
- dev-libs/expat:=
- openssl? (
- dev-libs/openssl:=
- net-misc/curl:=[curl_ssl_openssl]
- )
- libressl? (
- dev-libs/libressl:=
- net-misc/curl:=[curl_ssl_libressl]
- )
- )
- ssl? (
- openssl? ( dev-libs/openssl:= )
- libressl? ( dev-libs/libressl:= )
- )
- system-boost? ( =dev-libs/boost-1.72*[threads,context,python,${PYTHON_USEDEP}] )
- uring? ( sys-libs/liburing:= )
- xfs? ( sys-fs/xfsprogs:= )
- zfs? ( sys-fs/zfs:= )
- ${PYTHON_DEPS}
-"
-BDEPEND="
- amd64? ( dev-lang/yasm )
- x86? ( dev-lang/yasm )
- app-arch/cpio
- >=dev-util/cmake-3.5.0
- dev-python/cython[${PYTHON_USEDEP}]
- dev-python/sphinx
- dev-util/cunit
- dev-util/gperf
- dev-util/ragel
- dev-util/valgrind
- sys-apps/coreutils
- sys-apps/findutils
- sys-apps/grep
- sys-apps/sed
- sys-apps/which
- sys-devel/bc
- sys-devel/patch
- virtual/pkgconfig
- test? (
- dev-python/coverage[${PYTHON_USEDEP}]
- dev-python/virtualenv[${PYTHON_USEDEP}]
- dev-python/requests-mock[${PYTHON_USEDEP}]
- sys-apps/grep[pcre]
- sys-fs/btrfs-progs
- )
-"
-RDEPEND="${DEPEND}
- app-admin/sudo
- net-misc/socat
- sys-apps/gptfdisk
- sys-apps/nvme-cli
- >=sys-apps/smartmontools-7.0
- sys-block/parted
- sys-fs/cryptsetup
- sys-fs/lsscsi
- sys-fs/lvm2[-device-mapper-only(-)]
- virtual/awk
- dev-python/bcrypt[${PYTHON_USEDEP}]
- dev-python/cherrypy[${PYTHON_USEDEP}]
- dev-python/python-dateutil[${PYTHON_USEDEP}]
- dev-python/flask[${PYTHON_USEDEP}]
- dev-python/jinja[${PYTHON_USEDEP}]
- dev-python/pecan[${PYTHON_USEDEP}]
- dev-python/prettytable[${PYTHON_USEDEP}]
- dev-python/pyopenssl[${PYTHON_USEDEP}]
- dev-python/requests[${PYTHON_USEDEP}]
- dev-python/werkzeug[${PYTHON_USEDEP}]
- mgr? (
- dev-python/jsonpatch[${PYTHON_USEDEP}]
- dev-python/more-itertools[${PYTHON_USEDEP}]
- dev-python/numpy[${PYTHON_USEDEP}]
- dev-python/pyjwt[${PYTHON_USEDEP}]
- dev-python/pyyaml[${PYTHON_USEDEP}]
- dev-python/routes[${PYTHON_USEDEP}]
- diskprediction? (
- $(python_gen_cond_dep '<dev-python/scipy-1.4.0[${PYTHON_USEDEP}]' python3_{6,7})
- )
- sci-libs/scikit-learn[${PYTHON_USEDEP}]
- dev-python/six[${PYTHON_USEDEP}]
- )
-"
-# diskprediction needs older scipy not compatible with py38
-# bug #724438
-REQUIRED_USE="
- ${PYTHON_REQUIRED_USE}
- ?? ( jemalloc tcmalloc )
- ^^ ( openssl libressl )
- diskprediction? ( mgr !python_targets_python3_8 )
- kafka? ( radosgw )
- mgr? ( cephfs )
- rabbitmq? ( radosgw )
-"
-RESTRICT="!test? ( test )"
-
-# the tests need root access
-RESTRICT="test? ( userpriv )"
-
-# distribution tarball does not include everything needed for tests
-RESTRICT+=" test"
-
-# create a non-debug release
-CMAKE_BUILD_TYPE=RelWithDebInfo
-
-# false positives unless all USE flags are on
-CMAKE_WARN_UNUSED_CLI=no
-
-PATCHES=(
- "${FILESDIR}/ceph-12.2.0-use-provided-cpu-flag-values.patch"
- "${FILESDIR}/ceph-14.2.0-cflags.patch"
- "${FILESDIR}/ceph-12.2.4-boost-build-none-options.patch"
- "${FILESDIR}/ceph-13.2.0-cflags.patch"
- "${FILESDIR}/ceph-15.2.0-no-virtualenvs.patch"
- "${FILESDIR}/ceph-13.2.2-dont-install-sysvinit-script.patch"
- "${FILESDIR}/ceph-14.2.0-dpdk-cflags.patch"
- "${FILESDIR}/ceph-14.2.0-link-crc32-statically.patch"
- "${FILESDIR}/ceph-14.2.0-cython-0.29.patch"
- "${FILESDIR}/ceph-15.2.0-rocksdb-cmake.patch"
- "${FILESDIR}/ceph-15.2.2-systemd-unit.patch"
- "${FILESDIR}/ceph-15.2.3-spdk-compile.patch"
- "${FILESDIR}/ceph-14.2.10-python-warnings.patch"
- "${FILESDIR}/ceph-15.2.4-system-uring.patch"
- "${FILESDIR}/ceph-15.2.5-glibc-2.32.patch"
-)
-
-check-reqs_export_vars() {
- CHECKREQS_DISK_BUILD="5200M"
- CHECKREQS_DISK_USR="510M"
-
- export CHECKREQS_DISK_BUILD CHECKREQS_DISK_USR
-}
-
-pkg_pretend() {
- check-reqs_export_vars
- check-reqs_pkg_pretend
-}
-
-pkg_setup() {
- python_setup
- check-reqs_export_vars
- check-reqs_pkg_setup
-}
-
-src_prepare() {
- cmake_src_prepare
-
- if use system-boost; then
- find "${S}" -name '*.cmake' -or -name 'CMakeLists.txt' -print0 \
- | xargs --null sed -r \
- -e 's|Boost::|boost_|g' \
- -e 's|Boost_|boost_|g' \
- -e 's|[Bb]oost_boost|boost_system|g' -i || die
- fi
-
- sed -i -r "s:DESTINATION .+\\):DESTINATION $(get_bashcompdir)\\):" \
- src/bash_completion/CMakeLists.txt || die
-
- if ! use diskprediction; then
- rm -rf src/pybind/mgr/diskprediction_local || die
- fi
-
- # remove tests that need root access
- rm src/test/cli/ceph-authtool/cap*.t || die
-}
-
-ceph_src_configure() {
- local flag
- local mycmakeargs=(
- -DWITH_BABELTRACE=$(usex babeltrace)
- -DWITH_BLUESTORE_PMEM=$(usex pmdk)
- -DWITH_CEPHFS=$(usex cephfs)
- -DWITH_CEPHFS_SHELL=$(usex cephfs)
- -DWITH_DPDK=$(usex dpdk)
- -DWITH_SPDK=$(usex spdk)
- -DWITH_FUSE=$(usex fuse)
- -DWITH_LTTNG=$(usex lttng)
- -DWITH_GSSAPI=$(usex kerberos)
- -DWITH_GRAFANA=$(usex grafana)
- -DWITH_MGR=$(usex mgr)
- -DWITH_MGR_DASHBOARD_FRONTEND=OFF
- -DWITH_NUMA=$(usex numa)
- -DWITH_OPENLDAP=$(usex ldap)
- -DWITH_PYTHON3=3
- -DWITH_RADOSGW=$(usex radosgw)
- -DWITH_RADOSGW_AMQP_ENDPOINT=$(usex rabbitmq)
- -DWITH_RADOSGW_KAFKA_ENDPOINT=$(usex kafka)
- -DWITH_RBD_RWL=$(usex rbd-rwl)
- -DWITH_SSL=$(usex ssl)
- -DWITH_SYSTEMD=$(usex systemd)
- -DWITH_TESTS=$(usex test)
- -DWITH_LIBURING=$(usex uring)
- -DWITH_XFS=$(usex xfs)
- -DWITH_ZFS=$(usex zfs)
- -DENABLE_SHARED="ON"
- -DALLOCATOR=$(usex tcmalloc 'tcmalloc' "$(usex jemalloc 'jemalloc' 'libc')")
- -DWITH_SYSTEM_BOOST=$(usex system-boost)
- -DBOOST_J=$(makeopts_jobs)
- -DWITH_RDMA=OFF
- -DWITH_TBB=OFF
- -DSYSTEMD_UNITDIR=$(systemd_get_systemunitdir)
- -DCMAKE_INSTALL_SYSTEMD_SERVICEDIR=$(systemd_get_systemunitdir)
- -DEPYTHON_VERSION="${EPYTHON#python}"
- -DCMAKE_INSTALL_DOCDIR="${EPREFIX}/usr/share/doc/${PN}-${PVR}"
- -DCMAKE_INSTALL_SYSCONFDIR="${EPREFIX}/etc"
- -Wno-dev
- )
- if use amd64 || use x86; then
- for flag in ${CPU_FLAGS_X86[@]}; do
- mycmakeargs+=("$(usex cpu_flags_x86_${flag} "-DHAVE_INTEL_${flag^^}=1")")
- done
- fi
-
- rm -f "${BUILD_DIR:-${S}}/CMakeCache.txt" \
- || die "failed to remove cmake cache"
-
- cmake_src_configure
-
- # bug #630232
- sed -i "s:\"${T//:\\:}/${EPYTHON}/bin/python\":\"${PYTHON}\":" \
- "${BUILD_DIR:-${S}}"/include/acconfig.h \
- || die "sed failed"
-}
-
-src_configure() {
- use custom-cflags || strip-flags
- ceph_src_configure
-}
-
-python_compile() {
- local CMAKE_USE_DIR="${S}"
- ceph_src_configure
-
- pushd "${BUILD_DIR}/src/pybind" >/dev/null || die
- emake VERBOSE=1 clean
- emake VERBOSE=1 all
-
- # python modules are only compiled with "make install" so we need to do this to
- # prevent doing a bunch of compilation in src_install
- DESTDIR="${T}" emake VERBOSE=1 install
- popd >/dev/null || die
-}
-
-src_compile() {
- cmake_build VERBOSE=1 all
-
- # we have to do this here to prevent from building everything multiple times
- python_copy_sources
- python_foreach_impl python_compile
-}
-
-src_test() {
- make check || die "make check failed"
-}
-
-python_install() {
- local CMAKE_USE_DIR="${S}"
- pushd "${BUILD_DIR}/src/pybind" >/dev/null || die
- DESTDIR="${ED}" emake VERBOSE=1 install
- popd >/dev/null || die
-
- python_optimize
-}
-
-src_install() {
- cmake_src_install
- python_foreach_impl python_install
-
- find "${ED}" -name '*.la' -type f -delete || die
-
- exeinto /usr/$(get_libdir)/ceph
- newexe "${BUILD_DIR}/bin/init-ceph" init-ceph
-
- insinto /etc/logrotate.d/
- newins "${FILESDIR}"/ceph.logrotate-r2 ${PN}
-
- keepdir /var/lib/${PN}{,/tmp} /var/log/${PN}/stat
-
- fowners -R ceph:ceph /var/log/ceph
-
- newinitd "${FILESDIR}/rbdmap.initd" rbdmap
- newinitd "${FILESDIR}/${PN}.initd-r12" ${PN}
- newconfd "${FILESDIR}/${PN}.confd-r5" ${PN}
-
- insinto /etc/sysctl.d
- newins "${FILESDIR}"/sysctld 90-${PN}.conf
-
- use tcmalloc && newenvd "${FILESDIR}"/envd-tcmalloc 99${PN}-tcmalloc
-
- # units aren't installed by the build system unless systemd is enabled
- # so no point installing these with the USE flag disabled
- if use systemd; then
- systemd_install_serviced "${FILESDIR}/ceph-mds_at.service.conf" \
- "ceph-mds@.service"
-
- systemd_install_serviced "${FILESDIR}/ceph-osd_at.service.conf" \
- "ceph-osd@.service"
-
- fi
-
- udev_dorules udev/*.rules
- newtmpfiles "${FILESDIR}"/ceph-tmpfilesd ${PN}.conf
-
- readme.gentoo_create_doc
-
- python_setup
-
- # bug #630232
- sed -i -r "s:${T//:/\\:}/${EPYTHON}:/usr:" "${ED}"/usr/bin/ceph{,-crash} \
- || die "sed failed"
-
- python_fix_shebang "${ED}"/usr/{,s}bin/
-
- # python_fix_shebang apparently is not idempotent
- local shebang_regex='(/usr/lib/python-exec/python[0-9]\.[0-9]/python)[0-9]\.[0-9]'
- grep -r -E -l --null "${shebang_regex}" "${ED}"/usr/{s,}bin/ \
- | xargs --null --no-run-if-empty -- sed -i -r "s:${shebang_regex}:\1:" || die
-
- local -a rados_classes=( "${ED}/usr/$(get_libdir)/rados-classes"/* )
- dostrip -x "${rados_classes[@]#${ED}}"
-}
-
-pkg_postinst() {
- readme.gentoo_print_elog
-}
diff --git a/sys-cluster/ceph/files/ceph-12.2.0-cflags.patch b/sys-cluster/ceph/files/ceph-12.2.0-cflags.patch
deleted file mode 100644
index 0f02e6e6d43..00000000000
--- a/sys-cluster/ceph/files/ceph-12.2.0-cflags.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-diff --git a/cmake/modules/Distutils.cmake b/cmake/modules/Distutils.cmake
-index 24d1a50654..a9fac61196 100644
---- a/cmake/modules/Distutils.cmake
-+++ b/cmake/modules/Distutils.cmake
-@@ -43,7 +43,7 @@ function(distutils_add_cython_module name src)
- CC=${PY_CC}
- CXX=${PY_CXX}
- LDSHARED=${PY_LDSHARED}
-- OPT=\"-DNDEBUG -g -fwrapv -O2 -w\"
-+ OPT=\"-DNDEBUG -fwrapv -w\"
- LDFLAGS=-L${CMAKE_LIBRARY_OUTPUT_DIRECTORY}
- CYTHON_BUILD_DIR=${CMAKE_CURRENT_BINARY_DIR}
- CEPH_LIBDIR=${CMAKE_LIBRARY_OUTPUT_DIRECTORY}
diff --git a/sys-cluster/ceph/files/ceph-12.2.1-systemd-unitdir.patch b/sys-cluster/ceph/files/ceph-12.2.1-systemd-unitdir.patch
deleted file mode 100644
index 28d1a02d711..00000000000
--- a/sys-cluster/ceph/files/ceph-12.2.1-systemd-unitdir.patch
+++ /dev/null
@@ -1,10 +0,0 @@
-diff --git a/systemd/CMakeLists.txt b/systemd/CMakeLists.txt
-index 3b03b6e613..c359ad2df9 100644
---- a/systemd/CMakeLists.txt
-+++ b/systemd/CMakeLists.txt
-@@ -17,4 +17,4 @@ install(FILES
- ceph-disk@.service
- ceph-volume@.service
- rbdmap.service
-- DESTINATION ${CMAKE_INSTALL_LIBEXECDIR}/systemd/system)
-+ DESTINATION ${SYSTEMD_UNITDIR})
diff --git a/sys-cluster/ceph/files/ceph-12.2.11-boost-sonames.patch b/sys-cluster/ceph/files/ceph-12.2.11-boost-sonames.patch
deleted file mode 100644
index bd17686bd9a..00000000000
--- a/sys-cluster/ceph/files/ceph-12.2.11-boost-sonames.patch
+++ /dev/null
@@ -1,214 +0,0 @@
-diff --git a/CMakeLists.txt b/CMakeLists.txt
-index 5403de8f4c..ee3336ee27 100644
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -563,7 +563,7 @@ set(BOOST_COMPONENTS
- set(BOOST_HEADER_COMPONENTS container)
-
- if(WITH_MGR)
-- list(APPEND BOOST_COMPONENTS python)
-+ list(APPEND BOOST_COMPONENTS python-${EPYTHON_VERSION})
- endif()
- if(WITH_BOOST_CONTEXT)
- list(APPEND BOOST_COMPONENTS context coroutine)
-diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
-index b0837ab1d9..e12cecf354 100644
---- a/src/CMakeLists.txt
-+++ b/src/CMakeLists.txt
-@@ -623,13 +623,13 @@ set(ceph_common_objs
- $<TARGET_OBJECTS:crush_objs>)
- set(ceph_common_deps
- json_spirit erasure_code rt ${LIB_RESOLV}
-- Boost::thread
-- Boost::system
-- Boost::regex
-- Boost::random
-- Boost::program_options
-- Boost::date_time
-- Boost::iostreams
-+ boost_thread
-+ boost_system
-+ boost_regex
-+ boost_random
-+ boost_program_options
-+ boost_date_time
-+ boost_iostreams
- ${BLKID_LIBRARIES}
- ${Backtrace_LIBRARIES}
- ${BLKIN_LIBRARIES}
-@@ -727,7 +727,7 @@ if (WITH_MGR)
- $<TARGET_OBJECTS:heap_profiler_objs>)
- target_include_directories(ceph-mgr PRIVATE "${PYTHON_INCLUDE_DIRS}")
- target_link_libraries(ceph-mgr osdc client global-static common
-- Boost::python ${PYTHON_LIBRARIES} ${BLKID_LIBRARIES} ${CMAKE_DL_LIBS} ${ALLOC_LIBS})
-+ boost_python-${EPYTHON_VERSION} ${PYTHON_LIBRARIES} ${BLKID_LIBRARIES} ${CMAKE_DL_LIBS} ${ALLOC_LIBS})
- install(TARGETS ceph-mgr DESTINATION bin)
- endif (WITH_MGR)
-
-@@ -901,7 +901,7 @@ set(ceph_mds_srcs
- ceph_mds.cc)
- add_executable(ceph-mds ${ceph_mds_srcs})
- target_link_libraries(ceph-mds mds ${CMAKE_DL_LIBS} global-static common
-- Boost::thread)
-+ boost_thread)
- install(TARGETS ceph-mds DESTINATION bin)
-
- add_subdirectory(erasure-code)
-diff --git a/src/rgw/CMakeLists.txt b/src/rgw/CMakeLists.txt
-index 57cb2a5b94..971af8ebec 100644
---- a/src/rgw/CMakeLists.txt
-+++ b/src/rgw/CMakeLists.txt
-@@ -156,7 +156,7 @@ if (WITH_CURL_OPENSSL OR (WITH_RADOSGW_BEAST_FRONTEND AND WITH_RADOSGW_BEAST_OPE
- endif()
- if (WITH_RADOSGW_BEAST_FRONTEND)
- target_compile_definitions(rgw_a PUBLIC BOOST_COROUTINES_NO_DEPRECATION_WARNING)
-- target_link_libraries(rgw_a Boost::coroutine Boost::context)
-+ target_link_libraries(rgw_a boost_coroutine boost_context)
- endif()
-
- set(radosgw_srcs
-diff --git a/src/test/CMakeLists.txt b/src/test/CMakeLists.txt
-index 66e24b8bc9..0f659c98e2 100644
---- a/src/test/CMakeLists.txt
-+++ b/src/test/CMakeLists.txt
-@@ -145,7 +145,7 @@ add_executable(ceph_omapbench
- )
- target_link_libraries(ceph_omapbench
- librados
-- Boost::program_options
-+ boost_program_options
- global
- ${BLKID_LIBRARIES}
- ${CMAKE_DL_LIBS}
-@@ -199,7 +199,7 @@ if(${WITH_RADOSGW})
- cls_rgw_client
- cls_user_client
- cls_lock_client
-- Boost::regex
-+ boost_regex
- ${BLKID_LIBRARIES}
- ${CURL_LIBRARIES}
- ${EXPAT_LIBRARIES}
-@@ -229,7 +229,7 @@ if(${WITH_RADOSGW})
- cls_rgw_client
- cls_user_client
- cls_lock_client
-- Boost::regex
-+ boost_regex
- ${BLKID_LIBRARIES}
- ${CURL_LIBRARIES}
- ${EXPAT_LIBRARIES}
-diff --git a/src/test/bench/CMakeLists.txt b/src/test/bench/CMakeLists.txt
-index 9fba701e05..da3cbcfe96 100644
---- a/src/test/bench/CMakeLists.txt
-+++ b/src/test/bench/CMakeLists.txt
-@@ -8,7 +8,7 @@ set(smalliobench_srcs
- add_executable(ceph_smalliobench
- ${smalliobench_srcs}
- )
--target_link_libraries(ceph_smalliobench librados Boost::program_options global
-+target_link_libraries(ceph_smalliobench librados boost_program_options global
- ${BLKID_LIBRARIES} ${CMAKE_DL_LIBS})
-
- # ceph_smalliobenchrbd
-@@ -27,7 +27,7 @@ if(WITH_RBD)
- librados
- os
- global
-- Boost::program_options
-+ boost_program_options
- ${BLKID_LIBRARIES}
- ${CMAKE_DL_LIBS}
- )
-@@ -50,7 +50,7 @@ set(ceph_smalliobenchfs_srcs
- add_executable(ceph_smalliobenchfs
- ${ceph_smalliobenchfs_srcs}
- )
--target_link_libraries(ceph_smalliobenchfs librados Boost::program_options os global
-+target_link_libraries(ceph_smalliobenchfs librados boost_program_options os global
- ${BLKID_LIBRARIES} ${CMAKE_DL_LIBS})
-
- # ceph_smalliobenchdumb
-@@ -63,7 +63,7 @@ set(smalliobenchdumb_srcs
- add_executable(ceph_smalliobenchdumb
- ${smalliobenchdumb_srcs}
- )
--target_link_libraries(ceph_smalliobenchdumb librados Boost::program_options os global
-+target_link_libraries(ceph_smalliobenchdumb librados boost_program_options os global
- ${BLKID_LIBRARIES} ${CMAKE_DL_LIBS})
-
- # ceph_tpbench
-@@ -73,7 +73,7 @@ set(tpbench_srcs
- add_executable(ceph_tpbench
- ${tpbench_srcs}
- )
--target_link_libraries(ceph_tpbench librados Boost::program_options global
-+target_link_libraries(ceph_tpbench librados boost_program_options global
- ${BLKID_LIBRARIES} ${CMAKE_DL_LIBS})
-
- install(TARGETS
-diff --git a/src/test/erasure-code/CMakeLists.txt b/src/test/erasure-code/CMakeLists.txt
-index dc4e0865d0..69502342bb 100644
---- a/src/test/erasure-code/CMakeLists.txt
-+++ b/src/test/erasure-code/CMakeLists.txt
-@@ -2,15 +2,15 @@
- add_executable(ceph_erasure_code_benchmark
- ${CMAKE_SOURCE_DIR}/src/erasure-code/ErasureCode.cc
- ceph_erasure_code_benchmark.cc)
--target_link_libraries(ceph_erasure_code_benchmark ceph-common Boost::program_options global ${CMAKE_DL_LIBS})
-+target_link_libraries(ceph_erasure_code_benchmark ceph-common boost_program_options global ${CMAKE_DL_LIBS})
- install(TARGETS ceph_erasure_code_benchmark
- DESTINATION bin)
-
- add_executable(ceph_erasure_code_non_regression ceph_erasure_code_non_regression.cc)
--target_link_libraries(ceph_erasure_code_non_regression ceph-common Boost::program_options global ${CMAKE_DL_LIBS})
-+target_link_libraries(ceph_erasure_code_non_regression ceph-common boost_program_options global ${CMAKE_DL_LIBS})
-
- add_executable(ceph_erasure_code ceph_erasure_code.cc)
--target_link_libraries(ceph_erasure_code ceph-common Boost::program_options global ${CMAKE_DL_LIBS})
-+target_link_libraries(ceph_erasure_code ceph-common boost_program_options global ${CMAKE_DL_LIBS})
- install(TARGETS ceph_erasure_code
- DESTINATION bin)
-
-diff --git a/src/test/librados/CMakeLists.txt b/src/test/librados/CMakeLists.txt
-index c35ddb3d8f..3916544259 100644
---- a/src/test/librados/CMakeLists.txt
-+++ b/src/test/librados/CMakeLists.txt
-@@ -137,7 +137,7 @@ add_executable(ceph_test_rados_api_tier
- set_target_properties(ceph_test_rados_api_tier PROPERTIES COMPILE_FLAGS
- ${UNITTEST_CXX_FLAGS})
- target_link_libraries(ceph_test_rados_api_tier
-- global rados_a ${UNITTEST_LIBS} Boost::system radostest)
-+ global rados_a ${UNITTEST_LIBS} boost_system radostest)
-
- # ceph_test_rados_api_snapshots
- add_executable(ceph_test_rados_api_snapshots
-diff --git a/src/tools/CMakeLists.txt b/src/tools/CMakeLists.txt
-index 9f72fa3b48..665c977606 100644
---- a/src/tools/CMakeLists.txt
-+++ b/src/tools/CMakeLists.txt
-@@ -24,13 +24,13 @@ target_link_libraries(ceph_radosacl librados global)
- install(TARGETS ceph_radosacl DESTINATION bin)
-
- add_executable(ceph-osdomap-tool ceph_osdomap_tool.cc)
--target_link_libraries(ceph-osdomap-tool os global Boost::program_options)
-+target_link_libraries(ceph-osdomap-tool os global boost_program_options)
- install(TARGETS ceph-osdomap-tool DESTINATION bin)
-
- add_executable(ceph-monstore-tool
- ceph_monstore_tool.cc
- ../mgr/mgr_commands.cc)
--target_link_libraries(ceph-monstore-tool os global Boost::program_options)
-+target_link_libraries(ceph-monstore-tool os global boost_program_options)
- install(TARGETS ceph-monstore-tool DESTINATION bin)
- install(PROGRAMS
- ceph-monstore-update-crush.sh
-@@ -41,7 +41,7 @@ add_executable(ceph-objectstore-tool
- ceph_objectstore_tool.cc
- rebuild_mondb.cc
- RadosDump.cc)
--target_link_libraries(ceph-objectstore-tool osd os global Boost::program_options ${CMAKE_DL_LIBS})
-+target_link_libraries(ceph-objectstore-tool osd os global boost_program_options ${CMAKE_DL_LIBS})
- if(WITH_FUSE)
- target_link_libraries(ceph-objectstore-tool fuse)
- endif(WITH_FUSE)
diff --git a/sys-cluster/ceph/files/ceph-12.2.11-fix-min-call.patch b/sys-cluster/ceph/files/ceph-12.2.11-fix-min-call.patch
deleted file mode 100644
index cd9eb4891cb..00000000000
--- a/sys-cluster/ceph/files/ceph-12.2.11-fix-min-call.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-diff --git a/src/osd/PrimaryLogPG.cc b/src/osd/PrimaryLogPG.cc
-index 0074c7964b..98991be7d2 100644
---- a/src/osd/PrimaryLogPG.cc
-+++ b/src/osd/PrimaryLogPG.cc
-@@ -1582,7 +1582,7 @@ void PrimaryLogPG::calc_trim_to()
- if (limit != eversion_t() &&
- limit != pg_trim_to &&
- pg_log.get_log().approx_size() > target) {
-- size_t num_to_trim = std::min(pg_log.get_log().approx_size() - target,
-+ size_t num_to_trim = std::min((uint64_t)(pg_log.get_log().approx_size() - target),
- cct->_conf->osd_pg_log_trim_max);
- if (num_to_trim < cct->_conf->osd_pg_log_trim_min &&
- cct->_conf->osd_pg_log_trim_max >= cct->_conf->osd_pg_log_trim_min) {
diff --git a/sys-cluster/ceph/files/ceph-12.2.12-civetweb-openssl-1.1.1.patch b/sys-cluster/ceph/files/ceph-12.2.12-civetweb-openssl-1.1.1.patch
deleted file mode 100644
index a21bcc9325d..00000000000
--- a/sys-cluster/ceph/files/ceph-12.2.12-civetweb-openssl-1.1.1.patch
+++ /dev/null
@@ -1,10 +0,0 @@
---- a/src/civetweb/src/civetweb.c 2017-11-02 10:58:06.000000000 -0700
-+++ b/src/civetweb/src/civetweb.c 2019-04-11 17:23:30.736346783 -0700
-@@ -851,6 +851,7 @@
- #include <openssl/crypto.h>
- #include <openssl/x509.h>
- #include <openssl/pem.h>
-+#include <openssl/engine.h>
- #else
- /* SSL loaded dynamically from DLL.
- * I put the prototypes here to be independent from OpenSSL source
diff --git a/sys-cluster/ceph/files/ceph-12.2.12-dont-use-bad-namespace.patch b/sys-cluster/ceph/files/ceph-12.2.12-dont-use-bad-namespace.patch
deleted file mode 100644
index 9a23e1ee60a..00000000000
--- a/sys-cluster/ceph/files/ceph-12.2.12-dont-use-bad-namespace.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-diff --git a/src/rgw/rgw_crypt.cc b/src/rgw/rgw_crypt.cc
-index cf4e38995e..7a4089fca9 100644
---- a/src/rgw/rgw_crypt.cc
-+++ b/src/rgw/rgw_crypt.cc
-@@ -31,7 +31,7 @@ using namespace CryptoPP;
- #define dout_subsys ceph_subsys_rgw
-
- using namespace rgw;
--using ceph::crypto::PK11_ImportSymKey_FIPS;
-+//using ceph::crypto::PK11_ImportSymKey_FIPS;
-
- /**
- * Encryption in CTR mode. offset is used as IV for each block.
diff --git a/sys-cluster/ceph/files/ceph-12.2.12-ncurses-tinfo.patch b/sys-cluster/ceph/files/ceph-12.2.12-ncurses-tinfo.patch
deleted file mode 100644
index 1b72e5447db..00000000000
--- a/sys-cluster/ceph/files/ceph-12.2.12-ncurses-tinfo.patch
+++ /dev/null
@@ -1,20 +0,0 @@
-diff --git a/src/tools/rbd/CMakeLists.txt b/src/tools/rbd/CMakeLists.txt
-index 7aa42e9efd..66186b159f 100644
---- a/src/tools/rbd/CMakeLists.txt
-+++ b/src/tools/rbd/CMakeLists.txt
-@@ -1,3 +1,6 @@
-+set(CURSES_NEED_NCURSES TRUE)
-+find_package(Curses REQUIRED)
-+
- set(rbd_srcs
- rbd.cc
- ArgumentTypes.cc
-@@ -46,7 +49,7 @@ target_link_libraries(rbd librbd librados
- cls_journal_client cls_rbd_client
- rbd_types
- journal
-- ceph-common global
-+ ceph-common global ${CURSES_LIBRARIES}
- ${BLKID_LIBRARIES} ${CMAKE_DL_LIBS})
- if(WITH_KRBD)
- target_link_libraries(rbd
diff --git a/sys-cluster/ceph/files/ceph-12.2.12-qa-warning.patch b/sys-cluster/ceph/files/ceph-12.2.12-qa-warning.patch
deleted file mode 100644
index 1b63d6e21ba..00000000000
--- a/sys-cluster/ceph/files/ceph-12.2.12-qa-warning.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-diff --git a/src/common/blkdev.cc b/src/common/blkdev.cc
-index d95a397a84..d2cbf4b7b9 100644
---- a/src/common/blkdev.cc
-+++ b/src/common/blkdev.cc
-@@ -225,7 +225,7 @@ int get_device_by_uuid(uuid_d dev_uuid, const char* label, char* partition,
- rc = get_block_device_base(partition, basename,
- sizeof(basename));
- if (rc >= 0) {
-- strncpy(device, basename, sizeof(basename));
-+ strncpy(device, basename, sizeof(device));
- rc = 0;
- } else {
- rc = -ENODEV;
diff --git a/sys-cluster/ceph/files/ceph-12.2.4-cflags.patch b/sys-cluster/ceph/files/ceph-12.2.4-cflags.patch
deleted file mode 100644
index 3535d8cf436..00000000000
--- a/sys-cluster/ceph/files/ceph-12.2.4-cflags.patch
+++ /dev/null
@@ -1,38 +0,0 @@
-diff --git a/cmake/modules/BuildBoost.cmake b/cmake/modules/BuildBoost.cmake
-index c7cd39a110..e7b8115485 100644
---- a/cmake/modules/BuildBoost.cmake
-+++ b/cmake/modules/BuildBoost.cmake
-@@ -29,7 +29,7 @@ function(do_build_boost version)
- else()
- list(APPEND boost_features "address-model=32")
- endif()
-- set(BOOST_CXXFLAGS "-fPIC -w") # check on arm, etc <---XXX
-+ set(BOOST_CXXFLAGS "${CMAKE_CXX_FLAGS} -fPIC -w") # check on arm, etc <---XXX
- list(APPEND boost_features "cxxflags=${BOOST_CXXFLAGS}")
-
- string(REPLACE ";" "," boost_with_libs "${Boost_BUILD_COMPONENTS}")
-diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
-index 7aa8a4392e..c7543a62bd 100644
---- a/src/CMakeLists.txt
-+++ b/src/CMakeLists.txt
-@@ -808,6 +808,7 @@ install(TARGETS ceph-mon DESTINATION bin)
-
- if (NOT WITH_SYSTEM_ROCKSDB)
- set(ROCKSDB_CMAKE_ARGS -DCMAKE_POSITION_INDEPENDENT_CODE=ON)
-+ list(APPEND ROCKSDB_CMAKE_ARGS -DDISABLE_WARNING_AS_ERROR=ON)
-
- if(ALLOCATOR STREQUAL "jemalloc")
- list(APPEND ROCKSDB_CMAKE_ARGS -DWITH_JEMALLOC=ON)
-diff --git a/src/compressor/zstd/CMakeLists.txt b/src/compressor/zstd/CMakeLists.txt
-index d9d2b6e560..1b2099fcbd 100644
---- a/src/compressor/zstd/CMakeLists.txt
-+++ b/src/compressor/zstd/CMakeLists.txt
-@@ -1,7 +1,7 @@
- # zstd
-
- # libzstd - build it statically
--set(ZSTD_C_FLAGS -fPIC -Wno-unused-variable -O3)
-+set(ZSTD_C_FLAGS -fPIC -Wno-unused-variable $ENV{CFLAGS})
-
- include(ExternalProject)
- ExternalProject_Add(zstd_ext
diff --git a/sys-cluster/ceph/files/ceph-12.2.4-rocksdb-cflags.patch b/sys-cluster/ceph/files/ceph-12.2.4-rocksdb-cflags.patch
deleted file mode 100644
index d744318cd11..00000000000
--- a/sys-cluster/ceph/files/ceph-12.2.4-rocksdb-cflags.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- ceph-12.2.4.orig/src/rocksdb/CMakeLists.txt 2018-03-05 19:06:21.016923872 -0800
-+++ ceph-12.2.4/src/rocksdb/CMakeLists.txt 2018-03-05 19:09:01.798721666 -0800
-@@ -147,7 +147,7 @@
- endif()
- set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11")
- if(NOT CMAKE_BUILD_TYPE STREQUAL "Debug")
-- set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -O2 -fno-omit-frame-pointer")
-+ set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fno-omit-frame-pointer")
- include(CheckCXXCompilerFlag)
- CHECK_CXX_COMPILER_FLAG("-momit-leaf-frame-pointer" HAVE_OMIT_LEAF_FRAME_POINTER)
- if(HAVE_OMIT_LEAF_FRAME_POINTER)
diff --git a/sys-cluster/ceph/files/ceph-12.2.5-no-werror.patch b/sys-cluster/ceph/files/ceph-12.2.5-no-werror.patch
deleted file mode 100644
index dd24e7819fe..00000000000
--- a/sys-cluster/ceph/files/ceph-12.2.5-no-werror.patch
+++ /dev/null
@@ -1,55 +0,0 @@
-diff -ur ceph-12.2.5.orig/src/rapidjson/CMakeLists.txt ceph-12.2.5/src/rapidjson/CMakeLists.txt
---- ceph-12.2.5.orig/src/rapidjson/CMakeLists.txt 2018-07-09 11:18:09.188115751 -0700
-+++ ceph-12.2.5/src/rapidjson/CMakeLists.txt 2018-07-09 11:36:56.848639110 -0700
-@@ -50,7 +50,7 @@
- endif(CCACHE_FOUND)
-
- if ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "GNU")
-- set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -march=native -Wall -Wextra -Werror")
-+ set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -march=native -Wall -Wextra")
- if (RAPIDJSON_BUILD_CXX11)
- if (CMAKE_CXX_COMPILER_VERSION VERSION_LESS "4.7.0")
- set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++0x")
-@@ -73,7 +73,7 @@
- endif()
- endif()
- elseif (CMAKE_CXX_COMPILER_ID MATCHES "Clang")
-- set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -march=native -Wall -Wextra -Werror -Wno-missing-field-initializers")
-+ set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -march=native -Wall -Wextra -Wno-missing-field-initializers")
- if (RAPIDJSON_BUILD_CXX11)
- set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11")
- endif()
-diff -ur ceph-12.2.5.orig/src/rocksdb/CMakeLists.txt ceph-12.2.5/src/rocksdb/CMakeLists.txt
---- ceph-12.2.5.orig/src/rocksdb/CMakeLists.txt 2018-07-09 11:18:09.219115543 -0700
-+++ ceph-12.2.5/src/rocksdb/CMakeLists.txt 2018-07-09 11:34:58.843411195 -0700
-@@ -174,15 +174,6 @@
- PROPERTIES COMPILE_FLAGS "-msse4.2")
- endif()
-
--option(FAIL_ON_WARNINGS "Treat compile warnings as errors" ON)
--if(FAIL_ON_WARNINGS)
-- if(MSVC)
-- set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /WX")
-- else() # assume GCC
-- set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Werror")
-- endif()
--endif()
--
- option(WITH_ASAN "build with ASAN" OFF)
- if(WITH_ASAN)
- add_definitions(-DROCKSDB_TSAN_RUN)
-diff -ur ceph-12.2.5.orig/src/rocksdb/Makefile ceph-12.2.5/src/rocksdb/Makefile
---- ceph-12.2.5.orig/src/rocksdb/Makefile 2018-03-11 18:58:51.000000000 -0700
-+++ ceph-12.2.5/src/rocksdb/Makefile 2018-07-09 11:35:53.847049123 -0700
-@@ -243,11 +243,6 @@
- WARNING_FLAGS = -W -Wextra -Wall -Wsign-compare -Wshadow \
- -Wno-unused-parameter
-
--ifndef DISABLE_WARNING_AS_ERROR
-- WARNING_FLAGS += -Werror
--endif
--
--
- ifdef LUA_PATH
-
- ifndef LUA_INCLUDE
diff --git a/sys-cluster/ceph/metadata.xml b/sys-cluster/ceph/metadata.xml
index b29a383d9b5..141b26fdddb 100644
--- a/sys-cluster/ceph/metadata.xml
+++ b/sys-cluster/ceph/metadata.xml
@@ -27,7 +27,6 @@
<flag name="kafka">Rados Gateway's pubsub support for Kafka push endpoint</flag>
<flag name="lttng">Add support for LTTng</flag>
<flag name="mgr">Build the ceph-mgr daemon</flag>
- <flag name="nss">Use <pkg>dev-libs/nss</pkg> for cryptography</flag>
<flag name="numa">Use <pkg>sys-process/numactl</pkg> for numa support in rocksdb</flag>
<flag name="openssl">Use <pkg>dev-libs/openssl</pkg></flag>
<flag name="pmdk">Enable PMDK libraries</flag>
^ permalink raw reply related [flat|nested] 68+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-cluster/ceph/, sys-cluster/ceph/files/
@ 2020-09-25 0:53 Patrick McLean
0 siblings, 0 replies; 68+ messages in thread
From: Patrick McLean @ 2020-09-25 0:53 UTC (permalink / raw
To: gentoo-commits
commit: fe81ebff670ff16591084df5d04184b6912f40bf
Author: Patrick McLean <patrick.mclean <AT> sony <DOT> com>
AuthorDate: Fri Sep 25 00:53:15 2020 +0000
Commit: Patrick McLean <chutzpah <AT> gentoo <DOT> org>
CommitDate: Fri Sep 25 00:53:30 2020 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=fe81ebff
sys-cluster/ceph: Revbumps, fix for systemd units (bug #604328)
Closes: https://bugs.gentoo.org/604328
Copyright: Sony Interactive Entertainment Inc.
Package-Manager: Portage-3.0.8, Repoman-3.0.1
Signed-off-by: Patrick McLean <chutzpah <AT> gentoo.org>
.../{ceph-15.2.5.ebuild => ceph-14.2.11-r1.ebuild} | 30 ++++++++++------------
.../{ceph-15.2.5.ebuild => ceph-15.2.5-r1.ebuild} | 2 ++
.../ceph/files/ceph-14.2.11-systemd-unit-fix.patch | 27 +++++++++++++++++++
.../ceph/files/ceph-15.2.5-systemd-unit-fix.patch | 27 +++++++++++++++++++
4 files changed, 69 insertions(+), 17 deletions(-)
diff --git a/sys-cluster/ceph/ceph-15.2.5.ebuild b/sys-cluster/ceph/ceph-14.2.11-r1.ebuild
similarity index 93%
copy from sys-cluster/ceph/ceph-15.2.5.ebuild
copy to sys-cluster/ceph/ceph-14.2.11-r1.ebuild
index 942ffd88e77..35c24e6a41d 100644
--- a/sys-cluster/ceph/ceph-15.2.5.ebuild
+++ b/sys-cluster/ceph/ceph-14.2.11-r1.ebuild
@@ -3,6 +3,7 @@
EAPI=7
PYTHON_COMPAT=( python3_{6,7,8} )
+DISTUTILS_USE_SETUPTOOLS=rdepend
CMAKE_MAKEFILE_GENERATOR=emake
DISTUTILS_OPTIONAL=1
@@ -16,7 +17,7 @@ if [[ ${PV} == *9999* ]]; then
SRC_URI=""
else
SRC_URI="https://download.ceph.com/tarballs/${P}.tar.gz"
- KEYWORDS="~amd64 ~arm64 ~ppc64"
+ KEYWORDS="~amd64 ~ppc64"
fi
DESCRIPTION="Ceph distributed filesystem"
@@ -28,8 +29,8 @@ SLOT="0"
CPU_FLAGS_X86=(sse{,2,3,4_1,4_2} ssse3)
IUSE="babeltrace +cephfs custom-cflags diskprediction dpdk fuse grafana jemalloc
- kafka kerberos ldap libressl lttng +mgr numa +openssl pmdk rabbitmq +radosgw
- rbd-rwl +ssl spdk system-boost systemd +tcmalloc test uring xfs zfs"
+ kafka kerberos ldap libressl lttng +mgr numa +openssl rabbitmq +radosgw +ssl
+ spdk system-boost systemd +tcmalloc test xfs zfs"
IUSE+=" $(printf "cpu_flags_x86_%s\n" ${CPU_FLAGS_X86[@]})"
DEPEND="
@@ -45,7 +46,6 @@ DEPEND="
dev-libs/crypto++:=
dev-libs/leveldb:=[snappy,tcmalloc(-)?]
dev-libs/libaio:=
- dev-libs/libfmt:=
dev-libs/libnl:3=
dev-libs/libxml2:=
dev-libs/xmlsec:=[!openssl?,!libressl?]
@@ -92,7 +92,6 @@ DEPEND="
libressl? ( dev-libs/libressl:= )
)
system-boost? ( =dev-libs/boost-1.72*[threads,context,python,${PYTHON_USEDEP}] )
- uring? ( sys-libs/liburing:= )
xfs? ( sys-fs/xfsprogs:= )
zfs? ( sys-fs/zfs:= )
${PYTHON_DEPS}
@@ -128,7 +127,6 @@ RDEPEND="${DEPEND}
app-admin/sudo
net-misc/socat
sys-apps/gptfdisk
- sys-apps/nvme-cli
>=sys-apps/smartmontools-7.0
sys-block/parted
sys-fs/cryptsetup
@@ -137,7 +135,6 @@ RDEPEND="${DEPEND}
virtual/awk
dev-python/bcrypt[${PYTHON_USEDEP}]
dev-python/cherrypy[${PYTHON_USEDEP}]
- dev-python/python-dateutil[${PYTHON_USEDEP}]
dev-python/flask[${PYTHON_USEDEP}]
dev-python/jinja[${PYTHON_USEDEP}]
dev-python/pecan[${PYTHON_USEDEP}]
@@ -146,7 +143,6 @@ RDEPEND="${DEPEND}
dev-python/requests[${PYTHON_USEDEP}]
dev-python/werkzeug[${PYTHON_USEDEP}]
mgr? (
- dev-python/jsonpatch[${PYTHON_USEDEP}]
dev-python/more-itertools[${PYTHON_USEDEP}]
dev-python/numpy[${PYTHON_USEDEP}]
dev-python/pyjwt[${PYTHON_USEDEP}]
@@ -189,16 +185,19 @@ PATCHES=(
"${FILESDIR}/ceph-14.2.0-cflags.patch"
"${FILESDIR}/ceph-12.2.4-boost-build-none-options.patch"
"${FILESDIR}/ceph-13.2.0-cflags.patch"
- "${FILESDIR}/ceph-15.2.0-no-virtualenvs.patch"
+ "${FILESDIR}/ceph-14.2.0-mgr-python-version.patch"
+ "${FILESDIR}/ceph-14.2.5-no-virtualenvs.patch"
"${FILESDIR}/ceph-13.2.2-dont-install-sysvinit-script.patch"
"${FILESDIR}/ceph-14.2.0-dpdk-cflags.patch"
"${FILESDIR}/ceph-14.2.0-link-crc32-statically.patch"
"${FILESDIR}/ceph-14.2.0-cython-0.29.patch"
- "${FILESDIR}/ceph-15.2.0-rocksdb-cmake.patch"
- "${FILESDIR}/ceph-15.2.2-systemd-unit.patch"
- "${FILESDIR}/ceph-15.2.3-spdk-compile.patch"
- "${FILESDIR}/ceph-15.2.4-system-uring.patch"
- "${FILESDIR}/ceph-15.2.5-missing-includes.patch"
+ "${FILESDIR}/ceph-14.2.3-dpdk-compile-fix-1.patch"
+ "${FILESDIR}/ceph-14.2.4-python-executable.patch"
+ "${FILESDIR}/ceph-14.2.4-undefined-behaviour.patch"
+ "${FILESDIR}/ceph-14.2.10-missing-includes.patch"
+ "${FILESDIR}/ceph-14.2.10-python-warnings.patch"
+ "${FILESDIR}/ceph-14.2.10-build-without-mgr.patch"
+ "${FILESDIR}/ceph-14.2.11-systemd-unit-fix.patch"
)
check-reqs_export_vars() {
@@ -245,7 +244,6 @@ ceph_src_configure() {
local flag
local mycmakeargs=(
-DWITH_BABELTRACE=$(usex babeltrace)
- -DWITH_BLUESTORE_PMEM=$(usex pmdk)
-DWITH_CEPHFS=$(usex cephfs)
-DWITH_CEPHFS_SHELL=$(usex cephfs)
-DWITH_DPDK=$(usex dpdk)
@@ -262,11 +260,9 @@ ceph_src_configure() {
-DWITH_RADOSGW=$(usex radosgw)
-DWITH_RADOSGW_AMQP_ENDPOINT=$(usex rabbitmq)
-DWITH_RADOSGW_KAFKA_ENDPOINT=$(usex kafka)
- -DWITH_RBD_RWL=$(usex rbd-rwl)
-DWITH_SSL=$(usex ssl)
-DWITH_SYSTEMD=$(usex systemd)
-DWITH_TESTS=$(usex test)
- -DWITH_LIBURING=$(usex uring)
-DWITH_XFS=$(usex xfs)
-DWITH_ZFS=$(usex zfs)
-DENABLE_SHARED="ON"
diff --git a/sys-cluster/ceph/ceph-15.2.5.ebuild b/sys-cluster/ceph/ceph-15.2.5-r1.ebuild
similarity index 99%
rename from sys-cluster/ceph/ceph-15.2.5.ebuild
rename to sys-cluster/ceph/ceph-15.2.5-r1.ebuild
index 942ffd88e77..e86923bb252 100644
--- a/sys-cluster/ceph/ceph-15.2.5.ebuild
+++ b/sys-cluster/ceph/ceph-15.2.5-r1.ebuild
@@ -3,6 +3,7 @@
EAPI=7
PYTHON_COMPAT=( python3_{6,7,8} )
+DISTUTILS_USE_SETUPTOOLS=rdepend
CMAKE_MAKEFILE_GENERATOR=emake
DISTUTILS_OPTIONAL=1
@@ -199,6 +200,7 @@ PATCHES=(
"${FILESDIR}/ceph-15.2.3-spdk-compile.patch"
"${FILESDIR}/ceph-15.2.4-system-uring.patch"
"${FILESDIR}/ceph-15.2.5-missing-includes.patch"
+ "${FILESDIR}/ceph-15.2.5-systemd-unit-fix.patch"
)
check-reqs_export_vars() {
diff --git a/sys-cluster/ceph/files/ceph-14.2.11-systemd-unit-fix.patch b/sys-cluster/ceph/files/ceph-14.2.11-systemd-unit-fix.patch
new file mode 100644
index 00000000000..7309fea029e
--- /dev/null
+++ b/sys-cluster/ceph/files/ceph-14.2.11-systemd-unit-fix.patch
@@ -0,0 +1,27 @@
+From bd8b8540f6b67a25585ca9cf140d6de760bc2a43 Mon Sep 17 00:00:00 2001
+From: Jan Fajerski <jfajerski@suse.com>
+Date: Fri, 12 Jun 2020 09:27:36 +0200
+Subject: [PATCH] systemd/ceph-osd: ceph-osd-prestart.sh now lives in
+ /usr/libexec
+
+Fixes: https://tracker.ceph.com/issues/45984
+Fixes: ed6552d5067c9f1d34c426f9ae18b0c37f2a9d29
+
+Signed-off-by: Jan Fajerski <jfajerski@suse.com>
+---
+ systemd/ceph-osd@.service.in | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/systemd/ceph-osd@.service.in b/systemd/ceph-osd@.service.in
+index a0067d347220..4a2254e99478 100644
+--- a/systemd/ceph-osd@.service.in
++++ b/systemd/ceph-osd@.service.in
+@@ -9,7 +9,7 @@ Environment=CLUSTER=ceph
+ EnvironmentFile=-@SYSTEMD_ENV_FILE@
+ Environment=CLUSTER=ceph
+ ExecStart=/usr/bin/ceph-osd -f --cluster ${CLUSTER} --id %i --setuser ceph --setgroup ceph
+-ExecStartPre=/usr/lib/ceph/ceph-osd-prestart.sh --cluster ${CLUSTER} --id %i
++ExecStartPre=@CMAKE_INSTALL_FULL_LIBEXECDIR@/ceph/ceph-osd-prestart.sh --cluster ${CLUSTER} --id %i
+ ExecReload=/bin/kill -HUP $MAINPID
+ LockPersonality=true
+ MemoryDenyWriteExecute=true
diff --git a/sys-cluster/ceph/files/ceph-15.2.5-systemd-unit-fix.patch b/sys-cluster/ceph/files/ceph-15.2.5-systemd-unit-fix.patch
new file mode 100644
index 00000000000..a127ada181f
--- /dev/null
+++ b/sys-cluster/ceph/files/ceph-15.2.5-systemd-unit-fix.patch
@@ -0,0 +1,27 @@
+From bd8b8540f6b67a25585ca9cf140d6de760bc2a43 Mon Sep 17 00:00:00 2001
+From: Jan Fajerski <jfajerski@suse.com>
+Date: Fri, 12 Jun 2020 09:27:36 +0200
+Subject: [PATCH] systemd/ceph-osd: ceph-osd-prestart.sh now lives in
+ /usr/libexec
+
+Fixes: https://tracker.ceph.com/issues/45984
+Fixes: ed6552d5067c9f1d34c426f9ae18b0c37f2a9d29
+
+Signed-off-by: Jan Fajerski <jfajerski@suse.com>
+---
+ systemd/ceph-osd@.service.in | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/systemd/ceph-osd@.service.in b/systemd/ceph-osd@.service.in
+index a0067d347220..4a2254e99478 100644
+--- a/systemd/ceph-osd@.service.in
++++ b/systemd/ceph-osd@.service.in
+@@ -9,7 +9,7 @@ Environment=CLUSTER=ceph
+ EnvironmentFile=-@SYSTEMD_ENV_FILE@
+ Environment=CLUSTER=ceph
+ ExecStart=/usr/bin/ceph-osd -f --cluster ${CLUSTER} --id %i --setuser ceph --setgroup ceph
+-ExecStartPre=/usr/libexec/ceph/ceph-osd-prestart.sh --cluster ${CLUSTER} --id %i
++ExecStartPre=@CMAKE_INSTALL_FULL_LIBEXECDIR@/ceph/ceph-osd-prestart.sh --cluster ${CLUSTER} --id %i
+ ExecReload=/bin/kill -HUP $MAINPID
+ LockPersonality=true
+ MemoryDenyWriteExecute=true
^ permalink raw reply related [flat|nested] 68+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-cluster/ceph/, sys-cluster/ceph/files/
@ 2020-09-16 23:52 Patrick McLean
0 siblings, 0 replies; 68+ messages in thread
From: Patrick McLean @ 2020-09-16 23:52 UTC (permalink / raw
To: gentoo-commits
commit: 41a7f968034751ec631c565f33358422ade80f2e
Author: Patrick McLean <patrick.mclean <AT> sony <DOT> com>
AuthorDate: Wed Sep 16 23:47:17 2020 +0000
Commit: Patrick McLean <chutzpah <AT> gentoo <DOT> org>
CommitDate: Wed Sep 16 23:52:41 2020 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=41a7f968
sys-cluster/ceph-15.2.5: Version bump
Copyright: Sony Interactive Entertainment Inc.
Package-Manager: Portage-3.0.7, Repoman-3.0.1
Signed-off-by: Patrick McLean <chutzpah <AT> gentoo.org>
sys-cluster/ceph/Manifest | 1 +
sys-cluster/ceph/ceph-15.2.5.ebuild | 405 +++++++++++++++++++++
.../ceph/files/ceph-15.2.5-missing-includes.patch | 12 +
3 files changed, 418 insertions(+)
diff --git a/sys-cluster/ceph/Manifest b/sys-cluster/ceph/Manifest
index f4b36595d39..450e1c1f19b 100644
--- a/sys-cluster/ceph/Manifest
+++ b/sys-cluster/ceph/Manifest
@@ -3,3 +3,4 @@ DIST ceph-14.2.10.tar.gz 129274835 BLAKE2B b3f14897db478418b982281bf367a0c497cdf
DIST ceph-14.2.11.tar.gz 129327263 BLAKE2B fb04f3fde6642905dd21836c7472cf3b6cb484f69367ecf01b7d427c757e0fd1db4bd483bf9b0e485e1f8924a8e9201e8d47713a1de9281d5d96e45939bd1078 SHA512 765e8982d457cfd900acddc8f82c23824b32dc6d925d45e7693cba48c06fab798b6d57991dc9ad18a9ace9aff6fb2b917bd97f2d6435a7caceb03c9733e9602a
DIST ceph-14.2.9.tar.gz 128419205 BLAKE2B bace7469d9066a3da7320a0eb894013fae5b7139c15679dddae7df28c593a1029956234a1ba0d3bbdf1639e3a975aa776c695efefb915113a16099c80d563675 SHA512 0a26372d0037c32fe1d24be880e272fcce5089b02adfb0e791e0406155f6e66c913fa43762028f49c1fa3f30c6c8d819c521dd11702a37cc7040dfd3097c068e
DIST ceph-15.2.4.tar.gz 148011928 BLAKE2B c0222725227cf922ed10bb19840b8cbfe0c0b8ae77a4f83f03a95c3fc198165740f7a1dee5e1983e9403634ce389c858e71ed3f2731202630e19961a5de0247a SHA512 94e9b4c87d9f27dbfc9961b853f2cf159d65b614bf50ac3dabad9d801a181c547550ab4bca1f48c7a6e11aa6188e5858b110a9023dc214a043ed5ba375b3dee2
+DIST ceph-15.2.5.tar.gz 149219528 BLAKE2B 8f2cea9a258b7c530bff72a46d45fabf5364cf919f098c7d77857afa0dfdbcd7c290aa5a0d88cce1d99923588cc303d27c0b85179378ff1c394d9ce0f135a1b1 SHA512 55de068886c48293e92ef95cf8343ae44825fd2bf9c3fa7d47cda92907a47bae79e0af730cd34d0155b0777901d0fd6f9d1f30537c66c54c95098df7368fca2e
diff --git a/sys-cluster/ceph/ceph-15.2.5.ebuild b/sys-cluster/ceph/ceph-15.2.5.ebuild
new file mode 100644
index 00000000000..5368ad7d8d0
--- /dev/null
+++ b/sys-cluster/ceph/ceph-15.2.5.ebuild
@@ -0,0 +1,405 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+PYTHON_COMPAT=( python3_{6,7,8} )
+CMAKE_MAKEFILE_GENERATOR=emake
+
+DISTUTILS_OPTIONAL=1
+
+inherit check-reqs bash-completion-r1 cmake distutils-r1 flag-o-matic \
+ python-r1 udev readme.gentoo-r1 toolchain-funcs systemd tmpfiles
+
+if [[ ${PV} == *9999* ]]; then
+ inherit git-r3
+ EGIT_REPO_URI="https://github.com/ceph/ceph.git"
+ SRC_URI=""
+else
+ SRC_URI="https://download.ceph.com/tarballs/${P}.tar.gz"
+ KEYWORDS="~amd64 ~arm64 ~ppc64"
+fi
+
+DESCRIPTION="Ceph distributed filesystem"
+HOMEPAGE="https://ceph.com/"
+
+LICENSE="Apache-2.0 LGPL-2.1 CC-BY-SA-3.0 GPL-2 GPL-2+ LGPL-2+ LGPL-2.1 LGPL-3 GPL-3 BSD Boost-1.0 MIT public-domain"
+SLOT="0"
+
+CPU_FLAGS_X86=(sse{,2,3,4_1,4_2} ssse3)
+
+IUSE="babeltrace +cephfs custom-cflags diskprediction dpdk fuse grafana jemalloc
+ kafka kerberos ldap libressl lttng +mgr numa +openssl pmdk rabbitmq +radosgw
+ rbd-rwl +ssl spdk system-boost systemd +tcmalloc test uring xfs zfs"
+IUSE+=" $(printf "cpu_flags_x86_%s\n" ${CPU_FLAGS_X86[@]})"
+
+DEPEND="
+ acct-group/ceph
+ acct-user/ceph
+ virtual/libudev:=
+ app-arch/bzip2:=
+ app-arch/lz4:=
+ app-arch/snappy:=
+ app-arch/zstd:=
+ app-shells/bash:0
+ app-misc/jq:=
+ dev-libs/crypto++:=
+ dev-libs/leveldb:=[snappy,tcmalloc(-)?]
+ dev-libs/libaio:=
+ dev-libs/libfmt:=
+ dev-libs/libnl:3=
+ dev-libs/libxml2:=
+ dev-libs/xmlsec:=[!openssl?,!libressl?]
+ dev-cpp/yaml-cpp:=
+ dev-libs/nss:=
+ dev-libs/protobuf:=
+ net-dns/c-ares:=
+ net-libs/gnutls:=
+ sys-auth/oath-toolkit:=
+ sys-apps/coreutils
+ sys-apps/grep
+ sys-apps/hwloc:=
+ sys-apps/keyutils:=
+ sys-apps/util-linux:=
+ sys-apps/sed
+ sys-apps/util-linux
+ sys-libs/libcap-ng:=
+ sys-libs/ncurses:0=
+ sys-libs/zlib:=
+ sys-process/numactl:=
+ x11-libs/libpciaccess:=
+ babeltrace? ( dev-util/babeltrace )
+ fuse? ( sys-fs/fuse:0= )
+ jemalloc? ( dev-libs/jemalloc:= )
+ !jemalloc? ( >=dev-util/google-perftools-2.6.1:= )
+ kafka? ( dev-libs/librdkafka:= )
+ kerberos? ( virtual/krb5 )
+ ldap? ( net-nds/openldap:= )
+ lttng? ( dev-util/lttng-ust:= )
+ rabbitmq? ( net-libs/rabbitmq-c:= )
+ radosgw? (
+ dev-libs/expat:=
+ openssl? (
+ dev-libs/openssl:=
+ net-misc/curl:=[curl_ssl_openssl]
+ )
+ libressl? (
+ dev-libs/libressl:=
+ net-misc/curl:=[curl_ssl_libressl]
+ )
+ )
+ ssl? (
+ openssl? ( dev-libs/openssl:= )
+ libressl? ( dev-libs/libressl:= )
+ )
+ system-boost? ( =dev-libs/boost-1.72*[threads,context,python,${PYTHON_USEDEP}] )
+ uring? ( sys-libs/liburing:= )
+ xfs? ( sys-fs/xfsprogs:= )
+ zfs? ( sys-fs/zfs:= )
+ ${PYTHON_DEPS}
+"
+BDEPEND="
+ amd64? ( dev-lang/yasm )
+ x86? ( dev-lang/yasm )
+ app-arch/cpio
+ >=dev-util/cmake-3.5.0
+ dev-python/cython[${PYTHON_USEDEP}]
+ dev-python/sphinx
+ dev-util/cunit
+ dev-util/gperf
+ dev-util/ragel
+ dev-util/valgrind
+ sys-apps/coreutils
+ sys-apps/findutils
+ sys-apps/grep
+ sys-apps/sed
+ sys-apps/which
+ sys-devel/bc
+ sys-devel/patch
+ virtual/pkgconfig
+ test? (
+ dev-python/coverage[${PYTHON_USEDEP}]
+ dev-python/virtualenv[${PYTHON_USEDEP}]
+ dev-python/requests-mock[${PYTHON_USEDEP}]
+ sys-apps/grep[pcre]
+ sys-fs/btrfs-progs
+ )
+"
+RDEPEND="${DEPEND}
+ app-admin/sudo
+ net-misc/socat
+ sys-apps/gptfdisk
+ sys-apps/nvme-cli
+ >=sys-apps/smartmontools-7.0
+ sys-block/parted
+ sys-fs/cryptsetup
+ sys-fs/lsscsi
+ sys-fs/lvm2[-device-mapper-only(-)]
+ virtual/awk
+ dev-python/bcrypt[${PYTHON_USEDEP}]
+ dev-python/cherrypy[${PYTHON_USEDEP}]
+ dev-python/python-dateutil[${PYTHON_USEDEP}]
+ dev-python/flask[${PYTHON_USEDEP}]
+ dev-python/jinja[${PYTHON_USEDEP}]
+ dev-python/pecan[${PYTHON_USEDEP}]
+ dev-python/prettytable[${PYTHON_USEDEP}]
+ dev-python/pyopenssl[${PYTHON_USEDEP}]
+ dev-python/requests[${PYTHON_USEDEP}]
+ dev-python/werkzeug[${PYTHON_USEDEP}]
+ mgr? (
+ dev-python/jsonpatch[${PYTHON_USEDEP}]
+ dev-python/more-itertools[${PYTHON_USEDEP}]
+ dev-python/numpy[${PYTHON_USEDEP}]
+ dev-python/pyjwt[${PYTHON_USEDEP}]
+ dev-python/pyyaml[${PYTHON_USEDEP}]
+ dev-python/routes[${PYTHON_USEDEP}]
+ diskprediction? (
+ $(python_gen_cond_dep '<sci-libs/scipy-1.4.0[${PYTHON_USEDEP}]' python3_{6,7})
+ )
+ sci-libs/scikits_learn[${PYTHON_USEDEP}]
+ dev-python/six[${PYTHON_USEDEP}]
+ )
+"
+# diskprediction needs older scipy not compatible with py38
+# bug #724438
+REQUIRED_USE="
+ ${PYTHON_REQUIRED_USE}
+ ?? ( jemalloc tcmalloc )
+ ^^ ( openssl libressl )
+ diskprediction? ( mgr !python_targets_python3_8 )
+ kafka? ( radosgw )
+ mgr? ( cephfs )
+ rabbitmq? ( radosgw )
+"
+RESTRICT="!test? ( test )"
+
+# the tests need root access
+RESTRICT="test? ( userpriv )"
+
+# distribution tarball does not include everything needed for tests
+RESTRICT+=" test"
+
+# create a non-debug release
+CMAKE_BUILD_TYPE=RelWithDebInfo
+
+# false positives unless all USE flags are on
+CMAKE_WARN_UNUSED_CLI=no
+
+PATCHES=(
+ "${FILESDIR}/ceph-12.2.0-use-provided-cpu-flag-values.patch"
+ "${FILESDIR}/ceph-14.2.0-cflags.patch"
+ "${FILESDIR}/ceph-12.2.4-boost-build-none-options.patch"
+ "${FILESDIR}/ceph-13.2.0-cflags.patch"
+ "${FILESDIR}/ceph-15.2.0-no-virtualenvs.patch"
+ "${FILESDIR}/ceph-13.2.2-dont-install-sysvinit-script.patch"
+ "${FILESDIR}/ceph-14.2.0-dpdk-cflags.patch"
+ "${FILESDIR}/ceph-14.2.0-link-crc32-statically.patch"
+ "${FILESDIR}/ceph-14.2.0-cython-0.29.patch"
+ "${FILESDIR}/ceph-15.2.0-rocksdb-cmake.patch"
+ "${FILESDIR}/ceph-15.2.2-systemd-unit.patch"
+ "${FILESDIR}/ceph-15.2.3-spdk-compile.patch"
+ "${FILESDIR}/ceph-15.2.4-system-uring.patch"
+ "${FILESDIR}/ceph-15.2.5-missing-includes.patch"
+)
+
+check-reqs_export_vars() {
+ CHECKREQS_DISK_BUILD="5200M"
+ CHECKREQS_DISK_USR="510M"
+
+ export CHECKREQS_DISK_BUILD CHECKREQS_DISK_USR
+}
+
+pkg_pretend() {
+ check-reqs_export_vars
+ check-reqs_pkg_pretend
+}
+
+pkg_setup() {
+ python_setup
+ check-reqs_export_vars
+ check-reqs_pkg_setup
+}
+
+src_prepare() {
+ cmake_src_prepare
+
+ if use system-boost; then
+ find "${S}" -name '*.cmake' -or -name 'CMakeLists.txt' -print0 \
+ | xargs --null sed -r \
+ -e 's|Boost::|boost_|g' \
+ -e 's|Boost_|boost_|g' \
+ -e 's|[Bb]oost_boost|boost_system|g' -i || die
+ fi
+
+ sed -i -r "s:DESTINATION .+\\):DESTINATION $(get_bashcompdir)\\):" \
+ src/bash_completion/CMakeLists.txt || die
+
+ if ! use diskprediction; then
+ rm -rf src/pybind/mgr/diskprediction_local || die
+ fi
+
+ # remove tests that need root access
+ rm src/test/cli/ceph-authtool/cap*.t || die
+}
+
+ceph_src_configure() {
+ local flag
+ local mycmakeargs=(
+ -DWITH_BABELTRACE=$(usex babeltrace)
+ -DWITH_BLUESTORE_PMEM=$(usex pmdk)
+ -DWITH_CEPHFS=$(usex cephfs)
+ -DWITH_CEPHFS_SHELL=$(usex cephfs)
+ -DWITH_DPDK=$(usex dpdk)
+ -DWITH_SPDK=$(usex spdk)
+ -DWITH_FUSE=$(usex fuse)
+ -DWITH_LTTNG=$(usex lttng)
+ -DWITH_GSSAPI=$(usex kerberos)
+ -DWITH_GRAFANA=$(usex grafana)
+ -DWITH_MGR=$(usex mgr)
+ -DWITH_MGR_DASHBOARD_FRONTEND=OFF
+ -DWITH_NUMA=$(usex numa)
+ -DWITH_OPENLDAP=$(usex ldap)
+ -DWITH_PYTHON3=3
+ -DWITH_RADOSGW=$(usex radosgw)
+ -DWITH_RADOSGW_AMQP_ENDPOINT=$(usex rabbitmq)
+ -DWITH_RADOSGW_KAFKA_ENDPOINT=$(usex kafka)
+ -DWITH_RBD_RWL=$(usex rbd-rwl)
+ -DWITH_SSL=$(usex ssl)
+ -DWITH_SYSTEMD=$(usex systemd)
+ -DWITH_TESTS=$(usex test)
+ -DWITH_LIBURING=$(usex uring)
+ -DWITH_XFS=$(usex xfs)
+ -DWITH_ZFS=$(usex zfs)
+ -DENABLE_SHARED="ON"
+ -DALLOCATOR=$(usex tcmalloc 'tcmalloc' "$(usex jemalloc 'jemalloc' 'libc')")
+ -DWITH_SYSTEM_BOOST=$(usex system-boost)
+ -DBOOST_J=$(makeopts_jobs)
+ -DWITH_RDMA=OFF
+ -DWITH_TBB=OFF
+ -DSYSTEMD_UNITDIR=$(systemd_get_systemunitdir)
+ -DCMAKE_INSTALL_SYSTEMD_SERVICEDIR=$(systemd_get_systemunitdir)
+ -DEPYTHON_VERSION="${EPYTHON#python}"
+ -DCMAKE_INSTALL_DOCDIR="${EPREFIX}/usr/share/doc/${PN}-${PVR}"
+ -DCMAKE_INSTALL_SYSCONFDIR="${EPREFIX}/etc"
+ -Wno-dev
+ )
+ if use amd64 || use x86; then
+ for flag in ${CPU_FLAGS_X86[@]}; do
+ mycmakeargs+=("$(usex cpu_flags_x86_${flag} "-DHAVE_INTEL_${flag^^}=1")")
+ done
+ fi
+
+ # needed for >=glibc-2.32
+ has_version '>=sys-libs/glibc-2.32' && mycmakeargs+=(-DWITH_REENTRANT_STRSIGNAL:BOOL=ON)
+
+ rm -f "${BUILD_DIR:-${S}}/CMakeCache.txt" \
+ || die "failed to remove cmake cache"
+
+ cmake_src_configure
+
+ # bug #630232
+ sed -i "s:\"${T//:\\:}/${EPYTHON}/bin/python\":\"${PYTHON}\":" \
+ "${BUILD_DIR:-${S}}"/include/acconfig.h \
+ || die "sed failed"
+}
+
+src_configure() {
+ use custom-cflags || strip-flags
+ ceph_src_configure
+}
+
+python_compile() {
+ local CMAKE_USE_DIR="${S}"
+ ceph_src_configure
+
+ pushd "${BUILD_DIR}/src/pybind" >/dev/null || die
+ emake VERBOSE=1 clean
+ emake VERBOSE=1 all
+
+ # python modules are only compiled with "make install" so we need to do this to
+ # prevent doing a bunch of compilation in src_install
+ DESTDIR="${T}" emake VERBOSE=1 install
+ popd >/dev/null || die
+}
+
+src_compile() {
+ cmake_build VERBOSE=1 all
+
+ # we have to do this here to prevent from building everything multiple times
+ python_copy_sources
+ python_foreach_impl python_compile
+}
+
+src_test() {
+ make check || die "make check failed"
+}
+
+python_install() {
+ local CMAKE_USE_DIR="${S}"
+ pushd "${BUILD_DIR}/src/pybind" >/dev/null || die
+ DESTDIR="${ED}" emake VERBOSE=1 install
+ popd >/dev/null || die
+
+ python_optimize
+}
+
+src_install() {
+ cmake_src_install
+ python_foreach_impl python_install
+
+ find "${ED}" -name '*.la' -type f -delete || die
+
+ exeinto /usr/$(get_libdir)/ceph
+ newexe "${BUILD_DIR}/bin/init-ceph" init-ceph
+
+ insinto /etc/logrotate.d/
+ newins "${FILESDIR}"/ceph.logrotate-r2 ${PN}
+
+ keepdir /var/lib/${PN}{,/tmp} /var/log/${PN}/stat
+
+ fowners -R ceph:ceph /var/log/ceph
+
+ newinitd "${FILESDIR}/rbdmap.initd" rbdmap
+ newinitd "${FILESDIR}/${PN}.initd-r12" ${PN}
+ newconfd "${FILESDIR}/${PN}.confd-r5" ${PN}
+
+ insinto /etc/sysctl.d
+ newins "${FILESDIR}"/sysctld 90-${PN}.conf
+
+ use tcmalloc && newenvd "${FILESDIR}"/envd-tcmalloc 99${PN}-tcmalloc
+
+ # units aren't installed by the build system unless systemd is enabled
+ # so no point installing these with the USE flag disabled
+ if use systemd; then
+ systemd_install_serviced "${FILESDIR}/ceph-mds_at.service.conf" \
+ "ceph-mds@.service"
+
+ systemd_install_serviced "${FILESDIR}/ceph-osd_at.service.conf" \
+ "ceph-osd@.service"
+
+ fi
+
+ udev_dorules udev/*.rules
+ newtmpfiles "${FILESDIR}"/ceph-tmpfilesd ${PN}.conf
+
+ readme.gentoo_create_doc
+
+ python_setup
+
+ # bug #630232
+ sed -i -r "s:${T//:/\\:}/${EPYTHON}:/usr:" "${ED}"/usr/bin/ceph{,-crash} \
+ || die "sed failed"
+
+ python_fix_shebang "${ED}"/usr/{,s}bin/
+
+ # python_fix_shebang apparently is not idempotent
+ local shebang_regex='(/usr/lib/python-exec/python[0-9]\.[0-9]/python)[0-9]\.[0-9]'
+ grep -r -E -l --null "${shebang_regex}" "${ED}"/usr/{s,}bin/ \
+ | xargs --null --no-run-if-empty -- sed -i -r "s:${shebang_regex}:\1:" || die
+
+ local -a rados_classes=( "${ED}/usr/$(get_libdir)/rados-classes"/* )
+ dostrip -x "${rados_classes[@]#${ED}}"
+}
+
+pkg_postinst() {
+ readme.gentoo_print_elog
+}
diff --git a/sys-cluster/ceph/files/ceph-15.2.5-missing-includes.patch b/sys-cluster/ceph/files/ceph-15.2.5-missing-includes.patch
new file mode 100644
index 00000000000..5f4ed843ddc
--- /dev/null
+++ b/sys-cluster/ceph/files/ceph-15.2.5-missing-includes.patch
@@ -0,0 +1,12 @@
+diff --git a/src/tools/rbd/action/Bench.cc b/src/tools/rbd/action/Bench.cc
+index aa6edbc18b..90c551c179 100644
+--- a/src/tools/rbd/action/Bench.cc
++++ b/src/tools/rbd/action/Bench.cc
+@@ -9,6 +9,7 @@
+ #include "common/ceph_mutex.h"
+ #include "include/types.h"
+ #include "global/signal_handler.h"
++#include <atomic>
+ #include <iostream>
+ #include <boost/accumulators/accumulators.hpp>
+ #include <boost/accumulators/statistics/stats.hpp>
^ permalink raw reply related [flat|nested] 68+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-cluster/ceph/, sys-cluster/ceph/files/
@ 2020-08-05 0:16 Patrick McLean
0 siblings, 0 replies; 68+ messages in thread
From: Patrick McLean @ 2020-08-05 0:16 UTC (permalink / raw
To: gentoo-commits
commit: 8bd965215b0aec8cb6065c8f39f039529e4e2401
Author: Patrick McLean <patrick.mclean <AT> sony <DOT> com>
AuthorDate: Wed Aug 5 00:16:17 2020 +0000
Commit: Patrick McLean <chutzpah <AT> gentoo <DOT> org>
CommitDate: Wed Aug 5 00:16:37 2020 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=8bd96521
sys-cluster/ceph-14.2.10-r3: revbump, fix build with USE=-mgr, fix deps
Copyright: Sony Interactive Entertainment Inc.
Package-Manager: Portage-3.0.1, Repoman-2.3.23
Signed-off-by: Patrick McLean <chutzpah <AT> gentoo.org>
...ph-14.2.10-r2.ebuild => ceph-14.2.10-r3.ebuild} | 5 +-
.../files/ceph-14.2.10-build-without-mgr.patch | 111 +++++++++++++++++++++
2 files changed, 114 insertions(+), 2 deletions(-)
diff --git a/sys-cluster/ceph/ceph-14.2.10-r2.ebuild b/sys-cluster/ceph/ceph-14.2.10-r3.ebuild
similarity index 99%
rename from sys-cluster/ceph/ceph-14.2.10-r2.ebuild
rename to sys-cluster/ceph/ceph-14.2.10-r3.ebuild
index ea91f8e8425..9da1e1fe06c 100644
--- a/sys-cluster/ceph/ceph-14.2.10-r2.ebuild
+++ b/sys-cluster/ceph/ceph-14.2.10-r3.ebuild
@@ -32,7 +32,7 @@ IUSE="babeltrace +cephfs custom-cflags diskprediction dpdk fuse grafana jemalloc
spdk system-boost systemd +tcmalloc test xfs zfs"
IUSE+=" $(printf "cpu_flags_x86_%s\n" ${CPU_FLAGS_X86[@]})"
-COMMON_DEPEND="
+DEPEND="
acct-group/ceph
acct-user/ceph
virtual/libudev:=
@@ -122,7 +122,7 @@ BDEPEND="
sys-fs/btrfs-progs
)
"
-RDEPEND="${COMMON_DEPEND}
+RDEPEND="${DEPEND}
app-admin/sudo
net-misc/socat
sys-apps/gptfdisk
@@ -195,6 +195,7 @@ PATCHES=(
"${FILESDIR}/ceph-14.2.4-undefined-behaviour.patch"
"${FILESDIR}/ceph-14.2.10-missing-includes.patch"
"${FILESDIR}/ceph-14.2.10-python-warnings.patch"
+ "${FILESDIR}/ceph-14.2.10-build-without-mgr.patch"
)
check-reqs_export_vars() {
diff --git a/sys-cluster/ceph/files/ceph-14.2.10-build-without-mgr.patch b/sys-cluster/ceph/files/ceph-14.2.10-build-without-mgr.patch
new file mode 100644
index 00000000000..0742945c018
--- /dev/null
+++ b/sys-cluster/ceph/files/ceph-14.2.10-build-without-mgr.patch
@@ -0,0 +1,111 @@
+commit 41c1cee88b38bc43002b232ede42dc157364f61a
+Author: Casey Bodley <cbodley@redhat.com>
+Date: Fri Nov 1 16:04:37 2019 -0400
+
+ cmake: define mgr_cap_obj library when WITH_MGR=OFF
+
+ resolves the cmake error when WITH_MGR=OFF:
+
+ Error evaluating generator expression:
+
+ $<TARGET_OBJECTS:mgr_cap_obj>
+
+ Objects of target "mgr_cap_obj" referenced but no such target exists.
+ Call Stack (most recent call first):
+ src/mon/CMakeLists.txt:34 (add_library)
+
+ Signed-off-by: Casey Bodley <cbodley@redhat.com>
+
+diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
+index 275a8ebd17..c2a9d7a669 100644
+--- a/src/CMakeLists.txt
++++ b/src/CMakeLists.txt
+@@ -473,9 +473,7 @@ if(WITH_LIBRADOSSTRIPER)
+ add_subdirectory(libradosstriper)
+ endif()
+
+-if(WITH_MGR)
+- add_subdirectory(mgr)
+-endif()
++add_subdirectory(mgr)
+
+ set(librados_config_srcs
+ librados-config.cc)
+diff --git a/src/mgr/CMakeLists.txt b/src/mgr/CMakeLists.txt
+index 79227bcc1d..e69335eb69 100644
+--- a/src/mgr/CMakeLists.txt
++++ b/src/mgr/CMakeLists.txt
+@@ -1,37 +1,39 @@
+ add_library(mgr_cap_obj OBJECT
+ MgrCap.cc)
+
+-set(mgr_srcs
+- ${CMAKE_SOURCE_DIR}/src/ceph_mgr.cc
+- ${CMAKE_SOURCE_DIR}/src/mon/PGMap.cc
+- ActivePyModule.cc
+- ActivePyModules.cc
+- BaseMgrModule.cc
+- BaseMgrStandbyModule.cc
+- ClusterState.cc
+- DaemonHealthMetricCollector.cc
+- DaemonServer.cc
+- DaemonState.cc
+- Gil.cc
+- Mgr.cc
+- MgrStandby.cc
+- OSDPerfMetricTypes.cc
+- OSDPerfMetricCollector.cc
+- PyFormatter.cc
+- PyModule.cc
+- PyModuleRegistry.cc
+- PyModuleRunner.cc
+- PyOSDMap.cc
+- StandbyPyModules.cc
+- mgr_commands.cc
+- $<TARGET_OBJECTS:mgr_cap_obj>)
+-add_executable(ceph-mgr ${mgr_srcs})
+-target_include_directories(ceph-mgr SYSTEM PRIVATE "${PYTHON_INCLUDE_DIRS}")
+-target_link_libraries(ceph-mgr
+- osdc client heap_profiler
+- global-static ceph-common
+- Boost::python${MGR_PYTHON_VERSION_MAJOR}${MGR_PYTHON_VERSION_MINOR}
+- ${MGR_PYTHON_LIBRARIES} ${CMAKE_DL_LIBS} ${GSSAPI_LIBRARIES})
+-set_target_properties(ceph-mgr PROPERTIES
+- POSITION_INDEPENDENT_CODE ${EXE_LINKER_USE_PIE})
+-install(TARGETS ceph-mgr DESTINATION bin)
++if(WITH_MGR)
++ set(mgr_srcs
++ ${CMAKE_SOURCE_DIR}/src/ceph_mgr.cc
++ ${CMAKE_SOURCE_DIR}/src/mon/PGMap.cc
++ ActivePyModule.cc
++ ActivePyModules.cc
++ BaseMgrModule.cc
++ BaseMgrStandbyModule.cc
++ ClusterState.cc
++ DaemonHealthMetricCollector.cc
++ DaemonServer.cc
++ DaemonState.cc
++ Gil.cc
++ Mgr.cc
++ MgrStandby.cc
++ OSDPerfMetricTypes.cc
++ OSDPerfMetricCollector.cc
++ PyFormatter.cc
++ PyModule.cc
++ PyModuleRegistry.cc
++ PyModuleRunner.cc
++ PyOSDMap.cc
++ StandbyPyModules.cc
++ mgr_commands.cc
++ $<TARGET_OBJECTS:mgr_cap_obj>)
++ add_executable(ceph-mgr ${mgr_srcs})
++ target_include_directories(ceph-mgr SYSTEM PRIVATE "${PYTHON_INCLUDE_DIRS}")
++ target_link_libraries(ceph-mgr
++ osdc client heap_profiler
++ global-static ceph-common
++ Boost::python${MGR_PYTHON_VERSION_MAJOR}${MGR_PYTHON_VERSION_MINOR}
++ ${MGR_PYTHON_LIBRARIES} ${CMAKE_DL_LIBS} ${GSSAPI_LIBRARIES})
++ set_target_properties(ceph-mgr PROPERTIES
++ POSITION_INDEPENDENT_CODE ${EXE_LINKER_USE_PIE})
++ install(TARGETS ceph-mgr DESTINATION bin)
++endif()
^ permalink raw reply related [flat|nested] 68+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-cluster/ceph/, sys-cluster/ceph/files/
@ 2020-06-24 0:51 Patrick McLean
0 siblings, 0 replies; 68+ messages in thread
From: Patrick McLean @ 2020-06-24 0:51 UTC (permalink / raw
To: gentoo-commits
commit: cb5e6182ba49de021e979e4dcb303d212f697ad0
Author: Patrick McLean <patrick.mclean <AT> sony <DOT> com>
AuthorDate: Wed Jun 24 00:50:05 2020 +0000
Commit: Patrick McLean <chutzpah <AT> gentoo <DOT> org>
CommitDate: Wed Jun 24 00:50:12 2020 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=cb5e6182
sys-cluster/ceph: Remove old
Copyright: Sony Interactive Entertainment Inc.
Package-Manager: Portage-2.3.102, Repoman-2.3.23
Signed-off-by: Patrick McLean <chutzpah <AT> gentoo.org>
sys-cluster/ceph/Manifest | 1 -
sys-cluster/ceph/ceph-14.2.7-r1.ebuild | 370 ---------------------
.../ceph/files/ceph-14.2.5-boost-1.70.patch | 78 -----
3 files changed, 449 deletions(-)
diff --git a/sys-cluster/ceph/Manifest b/sys-cluster/ceph/Manifest
index 51b637eae73..f3022f2a86f 100644
--- a/sys-cluster/ceph/Manifest
+++ b/sys-cluster/ceph/Manifest
@@ -1,4 +1,3 @@
DIST ceph-12.2.12.tar.gz 77467762 BLAKE2B a5224432121db9ef49c1e22771d847399df2f7881cd9c2e185eca12096efb79d21578659d248eb5bae678924983d57452d370e23ab7e78663764d7bea834a461 SHA512 e694c9a8c1f9836c08fb74b54423bdc16d4900252e34643c56cf1a615d4dacddfb13df06a6a9f68bb9d438f5f07069ed358f9fa4b5a362640a3046f9c7722dcc
-DIST ceph-14.2.7.tar.gz 116647114 BLAKE2B f6971324b0467cfdb863db553b6feacaf3607b14fb9adae2808bd6e5514fc5ce218482c412b80902c22a74b883ed697f2c126bc687c8733a83de5b970593efa2 SHA512 59f475e56053ba5e7e3a482a3a91b4d44272e6ec8051b92783de76c09c0d967a7ef76676db998968a709e48f08e90828dd8f86bd96a7c3fd111d48bfb7fd93b1
DIST ceph-14.2.9.tar.gz 128419205 BLAKE2B bace7469d9066a3da7320a0eb894013fae5b7139c15679dddae7df28c593a1029956234a1ba0d3bbdf1639e3a975aa776c695efefb915113a16099c80d563675 SHA512 0a26372d0037c32fe1d24be880e272fcce5089b02adfb0e791e0406155f6e66c913fa43762028f49c1fa3f30c6c8d819c521dd11702a37cc7040dfd3097c068e
DIST ceph-15.2.3.tar.gz 147807898 BLAKE2B ff5e9707cf05e22af718ee177cce87ea9913b1b78d7ba17589f2c7fdaea0a7a27dd1f7b8e9947a095ed74106b6b19258fd8be259100624032f3a6e8ce5243390 SHA512 0378365863bcb86e62d64a2eff91e39a91218eabfb126dae74185e1fe52b21a3d5113f885ddb8076551f2f069435e18b24417bf70f29f23e21fac7065e412912
diff --git a/sys-cluster/ceph/ceph-14.2.7-r1.ebuild b/sys-cluster/ceph/ceph-14.2.7-r1.ebuild
deleted file mode 100644
index f05b0b4f65b..00000000000
--- a/sys-cluster/ceph/ceph-14.2.7-r1.ebuild
+++ /dev/null
@@ -1,370 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-PYTHON_COMPAT=( python3_{6,7} )
-CMAKE_MAKEFILE_GENERATOR=emake
-
-DISTUTILS_OPTIONAL=1
-
-inherit check-reqs bash-completion-r1 cmake-utils distutils-r1 flag-o-matic \
- multiprocessing python-r1 udev readme.gentoo-r1 toolchain-funcs \
- systemd
-
-if [[ ${PV} == *9999* ]]; then
- inherit git-r3
- EGIT_REPO_URI="https://github.com/ceph/ceph.git"
- SRC_URI=""
-else
- SRC_URI="https://download.ceph.com/tarballs/${P}.tar.gz"
- KEYWORDS="~amd64 ~arm64 ~ppc64"
-fi
-
-DESCRIPTION="Ceph distributed filesystem"
-HOMEPAGE="https://ceph.com/"
-
-LICENSE="LGPL-2.1 CC-BY-SA-3.0 GPL-2 GPL-2+ LGPL-2+ BSD Boost-1.0 MIT public-domain"
-SLOT="0"
-
-CPU_FLAGS_X86=(sse{,2,3,4_1,4_2} ssse3)
-
-IUSE="babeltrace cephfs dpdk fuse grafana jemalloc kerberos ldap libressl"
-IUSE+=" lttng +mgr numa rabbitmq +radosgw +ssl spdk system-boost"
-IUSE+=" systemd +tcmalloc test xfs zfs"
-IUSE+=" $(printf "cpu_flags_x86_%s\n" ${CPU_FLAGS_X86[@]})"
-
-COMMON_DEPEND="
- acct-group/ceph
- acct-user/ceph
- virtual/libudev:=
- app-arch/bzip2:=
- app-arch/lz4:=
- app-arch/snappy:=
- app-arch/zstd:=
- app-shells/bash:0
- app-misc/jq:=
- dev-libs/crypto++:=
- dev-libs/leveldb:=[snappy,tcmalloc(-)?]
- dev-libs/libaio:=
- dev-libs/libnl:3=
- dev-libs/libxml2:=
- dev-libs/nss:=
- sys-auth/oath-toolkit:=
- sys-apps/coreutils
- sys-apps/grep
- sys-apps/keyutils:=
- sys-apps/util-linux:=
- sys-apps/sed
- sys-apps/util-linux
- sys-libs/libcap-ng:=
- sys-libs/ncurses:0=
- sys-libs/zlib:=
- babeltrace? ( dev-util/babeltrace )
- ldap? ( net-nds/openldap:= )
- lttng? ( dev-util/lttng-ust:= )
- fuse? ( sys-fs/fuse:0= )
- kerberos? ( virtual/krb5 )
- rabbitmq? ( net-libs/rabbitmq-c:= )
- ssl? (
- !libressl? ( dev-libs/openssl:= )
- libressl? ( dev-libs/libressl:= )
- )
- xfs? ( sys-fs/xfsprogs:= )
- zfs? ( sys-fs/zfs:= )
- radosgw? (
- dev-libs/expat:=
- !libressl? (
- dev-libs/openssl:=
- net-misc/curl:=[curl_ssl_openssl]
- )
- libressl? (
- dev-libs/libressl:=
- net-misc/curl:=[curl_ssl_libressl]
- )
- )
- system-boost? (
- || (
- =dev-libs/boost-1.71*[threads,context,python,${PYTHON_USEDEP}]
- =dev-libs/boost-1.70*[threads,context,python,${PYTHON_USEDEP}]
- =dev-libs/boost-1.67*[threads,context,python,${PYTHON_USEDEP}]
- )
- dev-libs/boost:=[threads,context,python,${PYTHON_USEDEP}]
- )
- jemalloc? ( dev-libs/jemalloc:= )
- !jemalloc? ( >=dev-util/google-perftools-2.4:= )
- ${PYTHON_DEPS}
-"
-DEPEND="${COMMON_DEPEND}
- amd64? ( dev-lang/yasm )
- x86? ( dev-lang/yasm )
- dev-python/cython[${PYTHON_USEDEP}]
- dev-python/sphinx
- dev-util/cunit
- test? (
- dev-python/coverage[${PYTHON_USEDEP}]
- dev-python/virtualenv[${PYTHON_USEDEP}]
- sys-apps/grep[pcre]
- sys-fs/btrfs-progs
- )
-"
-BDEPEND="
- app-arch/cpio
- >=dev-util/cmake-3.5.0
- dev-util/gperf
- dev-util/valgrind
- sys-apps/coreutils
- sys-apps/findutils
- sys-apps/grep
- sys-apps/sed
- sys-apps/which
- sys-devel/bc
- sys-devel/patch
- virtual/pkgconfig
-"
-RDEPEND="${COMMON_DEPEND}
- net-misc/socat
- sys-apps/gptfdisk
- sys-block/parted
- sys-fs/cryptsetup
- sys-fs/lvm2[-device-mapper-only(-)]
- sys-fs/lsscsi
- virtual/awk
- dev-python/bcrypt[${PYTHON_USEDEP}]
- dev-python/cherrypy[${PYTHON_USEDEP}]
- dev-python/flask[${PYTHON_USEDEP}]
- dev-python/jinja[${PYTHON_USEDEP}]
- dev-python/pecan[${PYTHON_USEDEP}]
- dev-python/prettytable[${PYTHON_USEDEP}]
- dev-python/pyopenssl[${PYTHON_USEDEP}]
- dev-python/requests[${PYTHON_USEDEP}]
- dev-python/werkzeug[${PYTHON_USEDEP}]
-"
-REQUIRED_USE="
- ${PYTHON_REQUIRED_USE}
- || ( $(python_gen_useflags 'python3*') )
- ?? ( jemalloc tcmalloc )
- rabbitmq? ( radosgw )
-"
-
-# the tests need root access
-RESTRICT="test? ( userpriv )"
-
-# distribution tarball does not include everything needed for tests
-RESTRICT+=" test"
-
-# false positives unless all USE flags are on
-CMAKE_WARN_UNUSED_CLI="no"
-
-PATCHES=(
- "${FILESDIR}/ceph-12.2.0-use-provided-cpu-flag-values.patch"
- "${FILESDIR}/ceph-14.2.0-cflags.patch"
- "${FILESDIR}/ceph-12.2.4-boost-build-none-options.patch"
- "${FILESDIR}/ceph-13.2.0-cflags.patch"
- "${FILESDIR}/ceph-14.2.0-mgr-python-version.patch"
- "${FILESDIR}/ceph-14.2.5-no-virtualenvs.patch"
- "${FILESDIR}/ceph-13.2.2-dont-install-sysvinit-script.patch"
- "${FILESDIR}/ceph-14.2.0-dpdk-cflags.patch"
- "${FILESDIR}/ceph-14.2.0-link-crc32-statically.patch"
- "${FILESDIR}/ceph-14.2.0-cython-0.29.patch"
- "${FILESDIR}/ceph-14.2.5-boost-1.70.patch"
- "${FILESDIR}/ceph-14.2.3-dpdk-compile-fix-1.patch"
- "${FILESDIR}/ceph-14.2.4-python-executable.patch"
- "${FILESDIR}/ceph-14.2.4-undefined-behaviour.patch"
-)
-
-check-reqs_export_vars() {
- if use amd64; then
- CHECKREQS_DISK_BUILD="12G"
- CHECKREQS_DISK_USR="460M"
- else
- CHECKREQS_DISK_BUILD="1400M"
- CHECKREQS_DISK_USR="450M"
- fi
-
- export CHECKREQS_DISK_BUILD CHECKREQS_DISK_USR
-}
-
-pkg_pretend() {
- check-reqs_export_vars
- check-reqs_pkg_pretend
-}
-
-pkg_setup() {
- python_setup 'python3*'
- check-reqs_export_vars
- check-reqs_pkg_setup
-}
-
-src_prepare() {
- cmake-utils_src_prepare
-
- if use system-boost; then
- eapply "${FILESDIR}/ceph-14.2.5-boost-sonames.patch"
-
- find "${S}" -name '*.cmake' -or -name 'CMakeLists.txt' -print0 \
- | xargs --null sed -e 's|Boost::|Boost_|g' -i || die
-
- has_version '>=dev-libs/boost-1.70.0' || \
- eapply "${FILESDIR}/ceph-14.2.5-boost-1.6-python-sonames.patch"
- fi
-
- sed -i -r "s:DESTINATION .+\\):DESTINATION $(get_bashcompdir)\\):" \
- src/bash_completion/CMakeLists.txt || die
-
- # remove tests that need root access
- rm src/test/cli/ceph-authtool/cap*.t || die
-}
-
-ceph_src_configure() {
- local flag
- local mycmakeargs=(
- -DWITH_BABELTRACE=$(usex babeltrace)
- -DWITH_CEPHFS=$(usex cephfs)
- -DWITH_CEPHFS_SHELL=$(if python_is_python3; then usex cephfs; else echo OFF; fi)
- -DWITH_DPDK=$(usex dpdk)
- -DWITH_DPDK=$(usex spdk)
- -DWITH_FUSE=$(usex fuse)
- -DWITH_LTTNG=$(usex lttng)
- -DWITH_GSSAPI=$(usex kerberos)
- -DWITH_GRAFANA=$(usex grafana)
- -DWITH_MGR=$(usex mgr)
- -DWITH_MGR_DASHBOARD_FRONTEND=NO
- -DWITH_NUMA=$(usex numa)
- -DWITH_OPENLDAP=$(usex ldap)
- -DMGR_PYTHON_VERSION=$(if python_is_python3; then echo 3; else echo 2; fi)
- -DWITH_PYTHON3=$(if python_is_python3; then echo "ON"; else echo "OFF"; fi)
- -DWITH_PYTHON2=$(if python_is_python3; then echo "OFF"; else echo "ON"; fi)
- -DWITH_RADOSGW=$(usex radosgw)
- -DWITH_RADOSGW_AMQP_ENDPOINT=$(usex rabbitmq)
- -DWITH_SSL=$(usex ssl)
- -DWITH_SYSTEMD=$(usex systemd)
- -DWITH_TESTS=$(usex test)
- -DWITH_XFS=$(usex xfs)
- -DWITH_ZFS=$(usex zfs)
- -DENABLE_SHARED="ON"
- -DALLOCATOR=$(usex tcmalloc 'tcmalloc' "$(usex jemalloc 'jemalloc' 'libc')")
- -DWITH_SYSTEM_BOOST=$(usex system-boost)
- -DBOOST_J=$(makeopts_jobs)
- -DWITH_RDMA=no
- -DWITH_TBB=no
- -DSYSTEMD_UNITDIR=$(systemd_get_systemunitdir)
- -DEPYTHON_VERSION="${EPYTHON#python}"
- -DCMAKE_INSTALL_DOCDIR="${EPREFIX}/usr/share/doc/${PN}-${PVR}"
- -DCMAKE_INSTALL_SYSCONFDIR="${EPREFIX}/etc"
- #-Wno-dev
- )
- if use amd64 || use x86; then
- for flag in ${CPU_FLAGS_X86[@]}; do
- mycmakeargs+=("$(usex cpu_flags_x86_${flag} "-DHAVE_INTEL_${flag^^}=1")")
- done
- fi
-
- rm -f "${BUILD_DIR:-${S}}/CMakeCache.txt" \
- || die "failed to remove cmake cache"
-
- cmake-utils_src_configure
-
- # bug #630232
- sed -i "s:\"${T//:\\:}/${EPYTHON}/bin/python\":\"${PYTHON}\":" \
- "${BUILD_DIR:-${S}}"/include/acconfig.h \
- || die "sed failed"
-}
-
-src_configure() {
- ceph_src_configure
-}
-
-python_compile() {
- local CMAKE_USE_DIR="${S}"
- ceph_src_configure
-
- pushd "${BUILD_DIR}/src/pybind" >/dev/null || die
- emake VERBOSE=1 clean
- emake VERBOSE=1 all
-
- # python modules are only compiled with "make install" so we need to do this to
- # prevent doing a bunch of compilation in src_install
- DESTDIR="${T}" emake VERBOSE=1 install
- popd >/dev/null || die
-}
-
-src_compile() {
- cmake-utils_src_make VERBOSE=1 all
-
- # we have to do this here to prevent from building everything multiple times
- python_copy_sources
- python_foreach_impl python_compile
-}
-
-src_test() {
- make check || die "make check failed"
-}
-
-python_install() {
- local CMAKE_USE_DIR="${S}"
- pushd "${BUILD_DIR}/src/pybind" >/dev/null || die
- DESTDIR="${ED}" emake VERBOSE=1 install
- popd >/dev/null || die
-
- python_optimize
-}
-
-src_install() {
- cmake-utils_src_install
- python_foreach_impl python_install
-
- find "${ED}" -name '*.la' -type f -delete || die
-
- exeinto /usr/$(get_libdir)/ceph
- newexe "${BUILD_DIR}/bin/init-ceph" init-ceph
-
- insinto /etc/logrotate.d/
- newins "${FILESDIR}"/ceph.logrotate-r2 ${PN}
-
- keepdir /var/lib/${PN}{,/tmp} /var/log/${PN}/stat
-
- fowners -R ceph:ceph /var/log/ceph
-
- newinitd "${FILESDIR}/rbdmap.initd" rbdmap
- newinitd "${FILESDIR}/${PN}.initd-r12" ${PN}
- newconfd "${FILESDIR}/${PN}.confd-r5" ${PN}
-
- insinto /etc/sysctl.d
- newins "${FILESDIR}"/sysctld 90-${PN}.conf
-
- use tcmalloc && newenvd "${FILESDIR}"/envd-tcmalloc 99${PN}-tcmalloc
-
- # units aren't installed by the build system unless systemd is enabled
- # so no point installing these with the USE flag disabled
- if use systemd; then
- systemd_install_serviced "${FILESDIR}/ceph-mds_at.service.conf" \
- "ceph-mds@.service"
-
- systemd_install_serviced "${FILESDIR}/ceph-osd_at.service.conf" \
- "ceph-osd@.service"
- fi
-
- udev_dorules udev/*.rules
-
- readme.gentoo_create_doc
-
- python_setup 'python3*'
-
- # bug #630232
- sed -i -r "s:${T//:/\\:}/${EPYTHON}:/usr:" "${ED}"/usr/bin/ceph{,-crash} \
- || die "sed failed"
-
- python_fix_shebang "${ED}"/usr/{,s}bin/
-
- # python_fix_shebang apparently is not idempotent
- local shebang_regex='(/usr/lib/python-exec/python[0-9]\.[0-9]/python)[0-9]\.[0-9]'
- grep -r -E -l --null "${shebang_regex}" "${ED}"/usr/{s,}bin/ \
- | xargs --null --no-run-if-empty -- sed -i -r "s:${shebang_regex}:\1:" || die
-
- local -a rados_classes=( "${ED}/usr/$(get_libdir)/rados-classes"/* )
- dostrip -x "${rados_classes[@]#${ED}}"
-}
-
-pkg_postinst() {
- readme.gentoo_print_elog
-}
diff --git a/sys-cluster/ceph/files/ceph-14.2.5-boost-1.70.patch b/sys-cluster/ceph/files/ceph-14.2.5-boost-1.70.patch
deleted file mode 100644
index 693925e8825..00000000000
--- a/sys-cluster/ceph/files/ceph-14.2.5-boost-1.70.patch
+++ /dev/null
@@ -1,78 +0,0 @@
-diff --git a/src/rgw/rgw_asio_frontend.cc b/src/rgw/rgw_asio_frontend.cc
-index 82e2a45da6..8750c5648f 100644
---- a/src/rgw/rgw_asio_frontend.cc
-+++ b/src/rgw/rgw_asio_frontend.cc
-@@ -83,7 +83,8 @@ class StreamIO : public rgw::asio::ClientIO {
- using SharedMutex = ceph::async::SharedMutex<boost::asio::io_context::executor_type>;
-
- template <typename Stream>
--void handle_connection(RGWProcessEnv& env, Stream& stream,
-+void handle_connection(boost::asio::io_context& context,
-+ RGWProcessEnv& env, Stream& stream,
- parse_buffer& buffer, bool is_ssl,
- SharedMutex& pause_mutex,
- rgw::dmclock::Scheduler *scheduler,
-@@ -160,7 +161,7 @@ void handle_connection(RGWProcessEnv& env, Stream& stream,
- rgw::io::add_conlen_controlling(
- &real_client))));
- RGWRestfulIO client(cct, &real_client_io);
-- auto y = optional_yield{socket.get_io_context(), yield};
-+ auto y = optional_yield{context, yield};
- process_request(env.store, env.rest, &req, env.uri_prefix,
- *env.auth_registry, &client, env.olog, y, scheduler);
- }
-@@ -604,7 +605,7 @@ void AsioFrontend::accept(Listener& l, boost::system::error_code ec)
- return;
- }
- buffer->consume(bytes);
-- handle_connection(env, stream, *buffer, true, pause_mutex,
-+ handle_connection(context, env, stream, *buffer, true, pause_mutex,
- scheduler.get(), ec, yield);
- if (!ec) {
- // ssl shutdown (ignoring errors)
-@@ -622,7 +623,7 @@ void AsioFrontend::accept(Listener& l, boost::system::error_code ec)
- auto c = connections.add(conn);
- auto buffer = std::make_unique<parse_buffer>();
- boost::system::error_code ec;
-- handle_connection(env, s, *buffer, false, pause_mutex,
-+ handle_connection(context, env, s, *buffer, false, pause_mutex,
- scheduler.get(), ec, yield);
- s.shutdown(tcp::socket::shutdown_both, ec);
- });
-diff --git a/src/rgw/rgw_dmclock_async_scheduler.h b/src/rgw/rgw_dmclock_async_scheduler.h
-index 70487a5253..1d454acd2e 100644
---- a/src/rgw/rgw_dmclock_async_scheduler.h
-+++ b/src/rgw/rgw_dmclock_async_scheduler.h
-@@ -82,7 +82,12 @@ class AsyncScheduler : public md_config_obs_t, public Scheduler {
- using Completion = async::Completion<Signature, async::AsBase<Request>>;
-
- using Clock = ceph::coarse_real_clock;
-+#if BOOST_VERSION < 107000
- using Timer = boost::asio::basic_waitable_timer<Clock>;
-+#else
-+ using Timer = boost::asio::basic_waitable_timer<Clock,
-+ boost::asio::wait_traits<Clock>, executor_type>;
-+#endif
- Timer timer; //< timer for the next scheduled request
-
- CephContext *const cct;
-diff --git a/src/rgw/rgw_reshard.h b/src/rgw/rgw_reshard.h
-index d99a6ff68d..213fc238d2 100644
---- a/src/rgw/rgw_reshard.h
-+++ b/src/rgw/rgw_reshard.h
-@@ -183,7 +183,14 @@ class RGWReshardWait {
- ceph::condition_variable cond;
-
- struct Waiter : boost::intrusive::list_base_hook<> {
-- boost::asio::basic_waitable_timer<Clock> timer;
-+#if BOOST_VERSION < 107000
-+ using Timer = boost::asio::basic_waitable_timer<Clock>;
-+#else
-+ using Executor = boost::asio::io_context::executor_type;
-+ using Timer = boost::asio::basic_waitable_timer<Clock,
-+ boost::asio::wait_traits<Clock>, Executor>;
-+#endif
-+ Timer timer;
- explicit Waiter(boost::asio::io_context& ioc) : timer(ioc) {}
- };
- boost::intrusive::list<Waiter> waiters;
^ permalink raw reply related [flat|nested] 68+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-cluster/ceph/, sys-cluster/ceph/files/
@ 2020-04-03 1:41 Patrick McLean
0 siblings, 0 replies; 68+ messages in thread
From: Patrick McLean @ 2020-04-03 1:41 UTC (permalink / raw
To: gentoo-commits
commit: 62184dacaf82fec96502225fbd61935d845b2241
Author: Patrick McLean <patrick.mclean <AT> sony <DOT> com>
AuthorDate: Fri Apr 3 01:39:50 2020 +0000
Commit: Patrick McLean <chutzpah <AT> gentoo <DOT> org>
CommitDate: Fri Apr 3 01:39:50 2020 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=62184dac
sys-cluster/ceph-15.2.0: Version bump
Copyright: Sony Interactive Entertainment Inc.
Package-Manager: Portage-2.3.96, Repoman-2.3.22
Signed-off-by: Patrick McLean <chutzpah <AT> gentoo.org>
sys-cluster/ceph/Manifest | 1 +
sys-cluster/ceph/ceph-14.2.8.ebuild | 7 +-
.../{ceph-14.2.8.ebuild => ceph-15.2.0.ebuild} | 86 +++++++++++++---------
.../ceph/files/ceph-15.2.0-no-virtualenvs.patch | 73 ++++++++++++++++++
.../ceph/files/ceph-15.2.0-rocksdb-cmake.patch | 15 ++++
sys-cluster/ceph/metadata.xml | 5 ++
6 files changed, 150 insertions(+), 37 deletions(-)
diff --git a/sys-cluster/ceph/Manifest b/sys-cluster/ceph/Manifest
index f6b72a26254..68f01e59221 100644
--- a/sys-cluster/ceph/Manifest
+++ b/sys-cluster/ceph/Manifest
@@ -1,3 +1,4 @@
DIST ceph-12.2.12.tar.gz 77467762 BLAKE2B a5224432121db9ef49c1e22771d847399df2f7881cd9c2e185eca12096efb79d21578659d248eb5bae678924983d57452d370e23ab7e78663764d7bea834a461 SHA512 e694c9a8c1f9836c08fb74b54423bdc16d4900252e34643c56cf1a615d4dacddfb13df06a6a9f68bb9d438f5f07069ed358f9fa4b5a362640a3046f9c7722dcc
DIST ceph-14.2.7.tar.gz 116647114 BLAKE2B f6971324b0467cfdb863db553b6feacaf3607b14fb9adae2808bd6e5514fc5ce218482c412b80902c22a74b883ed697f2c126bc687c8733a83de5b970593efa2 SHA512 59f475e56053ba5e7e3a482a3a91b4d44272e6ec8051b92783de76c09c0d967a7ef76676db998968a709e48f08e90828dd8f86bd96a7c3fd111d48bfb7fd93b1
DIST ceph-14.2.8.tar.gz 128415417 BLAKE2B bb3644938106aaefe17d29fd6adc8568a35e6aef799da048add5ecebb6fb0128a8575eba1f5ecc2f33f33caf2130619e5b6979a6291566e0971976d8da0e8387 SHA512 38b0c6df58579377528c8f8e06d0cbc40f471f6eb2fb4a05b395f6fddbd3f2117674545b2147d8730973b01967ddcd4322a769ba03f9c625417ed35cc39f195a
+DIST ceph-15.2.0.tar.gz 147445869 BLAKE2B 266bcffd702b46482316f59a9a071bdb9e1f9fc01a87f2f603995fe85d124722a8652aa3086bf3642d395a7f19652a0ce48496ee044a9b8f7e1f59643b48198e SHA512 07a3ff2ccf1a3abac652ff8c5f1611e7c628fcedcb280adc6cd49792b46fa50c7c29437dc57c2c4a6af708a6833abf8c1a386ef2142d30bd5e1f214ba7aec4f2
diff --git a/sys-cluster/ceph/ceph-14.2.8.ebuild b/sys-cluster/ceph/ceph-14.2.8.ebuild
index 287059ae8ea..95abd364b0f 100644
--- a/sys-cluster/ceph/ceph-14.2.8.ebuild
+++ b/sys-cluster/ceph/ceph-14.2.8.ebuild
@@ -28,9 +28,9 @@ SLOT="0"
CPU_FLAGS_X86=(sse{,2,3,4_1,4_2} ssse3)
-IUSE="babeltrace +cephfs dpdk fuse grafana jemalloc kerberos ldap libressl"
-IUSE+=" lttng +mgr numa rabbitmq +radosgw +ssl spdk static-libs system-boost"
-IUSE+=" systemd +tcmalloc test xfs zfs"
+IUSE="babeltrace +cephfs custom-cflags dpdk fuse grafana jemalloc kerberos ldap"
+IUSE+=" libressl lttng +mgr numa rabbitmq +radosgw +ssl spdk static-libs"
+IUSE+=" system-boost systemd +tcmalloc test xfs zfs"
IUSE+=" $(printf "cpu_flags_x86_%s\n" ${CPU_FLAGS_X86[@]})"
COMMON_DEPEND="
@@ -268,6 +268,7 @@ ceph_src_configure() {
}
src_configure() {
+ use custom-cflags || strip-flags
ceph_src_configure
}
diff --git a/sys-cluster/ceph/ceph-14.2.8.ebuild b/sys-cluster/ceph/ceph-15.2.0.ebuild
similarity index 84%
copy from sys-cluster/ceph/ceph-14.2.8.ebuild
copy to sys-cluster/ceph/ceph-15.2.0.ebuild
index 287059ae8ea..67e9df32dd5 100644
--- a/sys-cluster/ceph/ceph-14.2.8.ebuild
+++ b/sys-cluster/ceph/ceph-15.2.0.ebuild
@@ -2,7 +2,7 @@
# Distributed under the terms of the GNU General Public License v2
EAPI=7
-PYTHON_COMPAT=( python3_{6,7} )
+PYTHON_COMPAT=( python3_{6,7,8} )
CMAKE_MAKEFILE_GENERATOR=emake
DISTUTILS_OPTIONAL=1
@@ -17,20 +17,20 @@ if [[ ${PV} == *9999* ]]; then
SRC_URI=""
else
SRC_URI="https://download.ceph.com/tarballs/${P}.tar.gz"
- KEYWORDS="~amd64 ~ppc64"
+ KEYWORDS="~amd64"
fi
DESCRIPTION="Ceph distributed filesystem"
HOMEPAGE="https://ceph.com/"
-LICENSE="LGPL-2.1 CC-BY-SA-3.0 GPL-2 GPL-2+ LGPL-2+ BSD Boost-1.0 MIT public-domain"
+LICENSE="Apache-2.0 LGPL-2.1 CC-BY-SA-3.0 GPL-2 GPL-2+ LGPL-2+ LGPL-2.1 LGPL-3 GPL-3 BSD Boost-1.0 MIT public-domain"
SLOT="0"
CPU_FLAGS_X86=(sse{,2,3,4_1,4_2} ssse3)
-IUSE="babeltrace +cephfs dpdk fuse grafana jemalloc kerberos ldap libressl"
-IUSE+=" lttng +mgr numa rabbitmq +radosgw +ssl spdk static-libs system-boost"
-IUSE+=" systemd +tcmalloc test xfs zfs"
+IUSE="babeltrace +cephfs custom-cflags dpdk fuse grafana jemalloc kafka kerberos ldap
+ libressl lttng +mgr numa +openssl pmdk rabbitmq +radosgw rbd-rwl +ssl spdk static-libs
+ system-boost systemd +tcmalloc test uring xfs zfs"
IUSE+=" $(printf "cpu_flags_x86_%s\n" ${CPU_FLAGS_X86[@]})"
COMMON_DEPEND="
@@ -48,10 +48,16 @@ COMMON_DEPEND="
dev-libs/libaio:=[static-libs?]
dev-libs/libnl:3=[static-libs?]
dev-libs/libxml2:=[static-libs?]
+ dev-libs/xmlsec:=[!openssl?,!libressl?,static-libs?]
+ dev-libs/yaml-cpp:=[static-libs?]
dev-libs/nss:=
+ dev-libs/protobuf:=[static-libs?]
+ net-dns/c-ares:=[static-libs?]
+ net-libs/gnutls:=[static-libs?]
sys-auth/oath-toolkit:=
sys-apps/coreutils
sys-apps/grep
+ sys-apps/hwloc:=[static-libs?]
sys-apps/keyutils:=[static-libs?]
sys-apps/util-linux:=[static-libs?]
sys-apps/sed
@@ -59,21 +65,20 @@ COMMON_DEPEND="
sys-libs/libcap-ng:=[static-libs?]
sys-libs/ncurses:0=[static-libs?]
sys-libs/zlib:=[static-libs?]
+ sys-process/numactl:=[static-libs?]
+ x11-libs/libpciaccess:=[static-libs?]
babeltrace? ( dev-util/babeltrace )
- ldap? ( net-nds/openldap:=[static-libs?] )
- lttng? ( dev-util/lttng-ust:= )
fuse? ( sys-fs/fuse:0=[static-libs?] )
+ jemalloc? ( dev-libs/jemalloc:=[static-libs?] )
+ !jemalloc? ( >=dev-util/google-perftools-2.6.1:=[static-libs?] )
+ kafka? ( dev-libs/librdkafka:=[static-libs?] )
kerberos? ( virtual/krb5 )
+ ldap? ( net-nds/openldap:=[static-libs?] )
+ lttng? ( dev-util/lttng-ust:= )
rabbitmq? ( net-libs/rabbitmq-c:=[static-libs?] )
- ssl? (
- !libressl? ( dev-libs/openssl:=[static-libs?] )
- libressl? ( dev-libs/libressl:=[static-libs?] )
- )
- xfs? ( sys-fs/xfsprogs:=[static-libs(+)?] )
- zfs? ( sys-fs/zfs:=[static-libs?] )
radosgw? (
dev-libs/expat:=[static-libs?]
- !libressl? (
+ openssl? (
dev-libs/openssl:=[static-libs?]
net-misc/curl:=[curl_ssl_openssl,static-libs?]
)
@@ -82,9 +87,14 @@ COMMON_DEPEND="
net-misc/curl:=[curl_ssl_libressl,static-libs?]
)
)
+ ssl? (
+ openssl? ( dev-libs/openssl:=[static-libs?] )
+ libressl? ( dev-libs/libressl:=[static-libs?] )
+ )
system-boost? ( =dev-libs/boost-1.72*[threads,context,python,static-libs?,${PYTHON_USEDEP}] )
- jemalloc? ( dev-libs/jemalloc:=[static-libs?] )
- !jemalloc? ( >=dev-util/google-perftools-2.6.1:=[static-libs?] )
+ uring? ( sys-libs/liburing:=[static-libs?] )
+ xfs? ( sys-fs/xfsprogs:=[static-libs(+)?] )
+ zfs? ( sys-fs/zfs:=[static-libs?] )
${PYTHON_DEPS}
"
BDEPEND="
@@ -96,6 +106,7 @@ BDEPEND="
dev-python/sphinx
dev-util/cunit
dev-util/gperf
+ dev-util/ragel
dev-util/valgrind
sys-apps/coreutils
sys-apps/findutils
@@ -123,6 +134,7 @@ RDEPEND="${COMMON_DEPEND}
virtual/awk
dev-python/bcrypt[${PYTHON_USEDEP}]
dev-python/cherrypy[${PYTHON_USEDEP}]
+ dev-python/python-dateutil[${PYTHON_USEDEP}]
dev-python/flask[${PYTHON_USEDEP}]
dev-python/jinja[${PYTHON_USEDEP}]
dev-python/pecan[${PYTHON_USEDEP}]
@@ -131,19 +143,27 @@ RDEPEND="${COMMON_DEPEND}
dev-python/requests[${PYTHON_USEDEP}]
dev-python/werkzeug[${PYTHON_USEDEP}]
mgr? (
+ dev-python/jsonpatch[${PYTHON_USEDEP}]
dev-python/more-itertools[${PYTHON_USEDEP}]
+ dev-python/numpy[${PYTHON_USEDEP}]
dev-python/pyjwt[${PYTHON_USEDEP}]
dev-python/pyyaml[${PYTHON_USEDEP}]
dev-python/routes[${PYTHON_USEDEP}]
+ sci-libs/scipy[${PYTHON_USEDEP}]
+ dev-python/scikit-learn[${PYTHON_USEDEP}]
dev-python/six[${PYTHON_USEDEP}]
)
"
REQUIRED_USE="
${PYTHON_REQUIRED_USE}
+ ^^ ( openssl libressl )
+ kafka? ( radosgw )
+ rabbitmq? ( radosgw )
mgr? ( cephfs )
?? ( jemalloc tcmalloc )
rabbitmq? ( radosgw )
"
+RESTRICT="!test? ( test )"
# the tests need root access
RESTRICT="test? ( userpriv )"
@@ -159,15 +179,12 @@ PATCHES=(
"${FILESDIR}/ceph-14.2.0-cflags.patch"
"${FILESDIR}/ceph-12.2.4-boost-build-none-options.patch"
"${FILESDIR}/ceph-13.2.0-cflags.patch"
- "${FILESDIR}/ceph-14.2.0-mgr-python-version.patch"
- "${FILESDIR}/ceph-14.2.5-no-virtualenvs.patch"
+ "${FILESDIR}/ceph-15.2.0-no-virtualenvs.patch"
"${FILESDIR}/ceph-13.2.2-dont-install-sysvinit-script.patch"
"${FILESDIR}/ceph-14.2.0-dpdk-cflags.patch"
"${FILESDIR}/ceph-14.2.0-link-crc32-statically.patch"
"${FILESDIR}/ceph-14.2.0-cython-0.29.patch"
- "${FILESDIR}/ceph-14.2.3-dpdk-compile-fix-1.patch"
- "${FILESDIR}/ceph-14.2.4-python-executable.patch"
- "${FILESDIR}/ceph-14.2.4-undefined-behaviour.patch"
+ "${FILESDIR}/ceph-15.2.0-rocksdb-cmake.patch"
)
check-reqs_export_vars() {
@@ -197,12 +214,11 @@ src_prepare() {
cmake-utils_src_prepare
if use system-boost; then
- eapply "${FILESDIR}/ceph-14.2.8-boost-sonames.patch"
-
find "${S}" -name '*.cmake' -or -name 'CMakeLists.txt' -print0 \
- | xargs --null sed \
+ | xargs --null sed -r \
-e 's|Boost::|Boost_|g' \
- -e 's|Boost_boost|boost_system|g' -i || die
+ -e 's|Boost_|boost_|g' \
+ -e 's|[Bb]oost_boost|boost_system|g' -i || die
fi
sed -i -r "s:DESTINATION .+\\):DESTINATION $(get_bashcompdir)\\):" \
@@ -216,8 +232,9 @@ ceph_src_configure() {
local flag
local mycmakeargs=(
-DWITH_BABELTRACE=$(usex babeltrace)
+ -DWITH_BLUESTORE_PMEM=$(usex pmdk)
-DWITH_CEPHFS=$(usex cephfs)
- -DWITH_CEPHFS_SHELL=$(if python_is_python3; then usex cephfs; else echo OFF; fi)
+ -DWITH_CEPHFS_SHELL=$(usex cephfs)
-DWITH_DPDK=$(usex dpdk)
-DWITH_DPDK=$(usex spdk)
-DWITH_FUSE=$(usex fuse)
@@ -225,30 +242,30 @@ ceph_src_configure() {
-DWITH_GSSAPI=$(usex kerberos)
-DWITH_GRAFANA=$(usex grafana)
-DWITH_MGR=$(usex mgr)
- -DWITH_MGR_DASHBOARD_FRONTEND=NO
+ -DWITH_MGR_DASHBOARD_FRONTEND=OFF
-DWITH_NUMA=$(usex numa)
-DWITH_OPENLDAP=$(usex ldap)
- -DMGR_PYTHON_VERSION=$(if python_is_python3; then echo 3; else echo 2; fi)
- -DWITH_PYTHON3=$(if python_is_python3; then echo "ON"; else echo "OFF"; fi)
- -DWITH_PYTHON2=$(if python_is_python3; then echo "OFF"; else echo "ON"; fi)
+ -DWITH_PYTHON3=3
-DWITH_RADOSGW=$(usex radosgw)
-DWITH_RADOSGW_AMQP_ENDPOINT=$(usex rabbitmq)
+ -DWITH_RADOSGW_KAFKA_ENDPOINT=$(usex kafka)
+ -DWITH_RBD_RWL=$(usex rbd-rwl)
-DWITH_SSL=$(usex ssl)
-DWITH_SYSTEMD=$(usex systemd)
-DWITH_TESTS=$(usex test)
+ -DWITH_LIBURING=$(usex uring)
-DWITH_XFS=$(usex xfs)
-DWITH_ZFS=$(usex zfs)
-DENABLE_SHARED=$(usex static-libs '' 'ON' 'OFF')
-DALLOCATOR=$(usex tcmalloc 'tcmalloc' "$(usex jemalloc 'jemalloc' 'libc')")
-DWITH_SYSTEM_BOOST=$(usex system-boost)
-DBOOST_J=$(makeopts_jobs)
- -DWITH_RDMA=no
- -DWITH_TBB=no
+ -DWITH_RDMA=OFF
+ -DWITH_TBB=OFF
-DSYSTEMD_UNITDIR=$(systemd_get_systemunitdir)
-DEPYTHON_VERSION="${EPYTHON#python}"
-DCMAKE_INSTALL_DOCDIR="${EPREFIX}/usr/share/doc/${PN}-${PVR}"
-DCMAKE_INSTALL_SYSCONFDIR="${EPREFIX}/etc"
- #-Wno-dev
)
if use amd64 || use x86; then
for flag in ${CPU_FLAGS_X86[@]}; do
@@ -268,6 +285,7 @@ ceph_src_configure() {
}
src_configure() {
+ use custom-cflags || strip-flags
ceph_src_configure
}
diff --git a/sys-cluster/ceph/files/ceph-15.2.0-no-virtualenvs.patch b/sys-cluster/ceph/files/ceph-15.2.0-no-virtualenvs.patch
new file mode 100644
index 00000000000..097639c1bb7
--- /dev/null
+++ b/sys-cluster/ceph/files/ceph-15.2.0-no-virtualenvs.patch
@@ -0,0 +1,73 @@
+diff --git a/cmake/modules/AddCephTest.cmake b/cmake/modules/AddCephTest.cmake
+index c9ee8c1b8f..09f75543da 100644
+--- a/cmake/modules/AddCephTest.cmake
++++ b/cmake/modules/AddCephTest.cmake
+@@ -68,14 +68,6 @@ function(add_tox_test name)
+ endif()
+ string(REPLACE ";" "," tox_envs "${tox_envs}")
+ find_package(Python3 QUIET REQUIRED)
+- add_custom_command(
+- OUTPUT ${venv_path}/bin/activate
+- COMMAND ${CMAKE_SOURCE_DIR}/src/tools/setup-virtualenv.sh --python="${Python3_EXECUTABLE}" ${venv_path}
+- WORKING_DIRECTORY ${tox_path}
+- COMMENT "preparing venv for ${name}")
+- add_custom_target(${name}-venv
+- DEPENDS ${venv_path}/bin/activate)
+- add_dependencies(tests ${name}-venv)
+ add_test(
+ NAME ${test_name}
+ COMMAND ${CMAKE_SOURCE_DIR}/src/script/run_tox.sh
+diff --git a/src/ceph-volume/CMakeLists.txt b/src/ceph-volume/CMakeLists.txt
+index 4224499c47..9a6c87595b 100644
+--- a/src/ceph-volume/CMakeLists.txt
++++ b/src/ceph-volume/CMakeLists.txt
+@@ -8,22 +8,6 @@ if(FREEBSD)
+ add_subdirectory(plugin/zfs)
+ endif()
+
+-# Required for running ceph-volume inventory in a vstart environment
+-set(CEPH_VOLUME_VIRTUALENV ${CEPH_BUILD_VIRTUALENV}/ceph-volume-virtualenv)
+-
+-add_custom_command(
+- OUTPUT ${CEPH_VOLUME_VIRTUALENV}/bin/python
+- COMMAND ${CMAKE_SOURCE_DIR}/src/tools/setup-virtualenv.sh --python=${Python_EXECUTABLE} ${CEPH_VOLUME_VIRTUALENV}
+- WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}/src/ceph-volume
+- COMMENT "ceph-volume venv is being created")
+-
+-add_custom_command(
+- OUTPUT ${CEPH_VOLUME_VIRTUALENV}/bin/ceph-volume
+- DEPENDS ${CEPH_VOLUME_VIRTUALENV}/bin/python
+- COMMAND . ${CEPH_VOLUME_VIRTUALENV}/bin/activate && ${CEPH_VOLUME_VIRTUALENV}/bin/python setup.py develop && deactivate
+- WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}/src/ceph-volume
+- COMMENT "${CMAKE_SOURCE_DIR}/src/ceph-volume")
+-
+ add_custom_target(ceph-volume-venv-setup
+ DEPENDS ${CEPH_VOLUME_VIRTUALENV}/bin/ceph-volume)
+
+diff --git a/src/pybind/mgr/dashboard/CMakeLists.txt b/src/pybind/mgr/dashboard/CMakeLists.txt
+index 9a8a03f0a8..8fbf65988e 100644
+--- a/src/pybind/mgr/dashboard/CMakeLists.txt
++++ b/src/pybind/mgr/dashboard/CMakeLists.txt
+@@ -5,9 +5,6 @@ function(add_npm_command)
+ set(multi_kw COMMAND DEPENDS)
+ cmake_parse_arguments(NC "${options}" "${single_kw}" "${multi_kw}" ${ARGN})
+ string(REPLACE ";" " " command "${NC_COMMAND}")
+- if(NC_NODEENV)
+- string(REGEX REPLACE "^(.*(npm|npx) .*)$" ". ${mgr-dashboard-nodeenv-dir}/bin/activate && \\1 && deactivate" command ${command})
+- endif()
+ string(REPLACE " " ";" command "${command}")
+ add_custom_command(
+ OUTPUT "${NC_OUTPUT}"
+@@ -29,10 +26,8 @@ else()
+ set(nodeenv NODEENV)
+
+ add_custom_command(
+- OUTPUT "${mgr-dashboard-nodeenv-dir}/bin/npm"
+- COMMAND ${CMAKE_SOURCE_DIR}/src/tools/setup-virtualenv.sh --python=${MGR_PYTHON_EXECUTABLE} ${mgr-dashboard-nodeenv-dir}
+- COMMAND ${mgr-dashboard-nodeenv-dir}/bin/pip install nodeenv
+- COMMAND ${mgr-dashboard-nodeenv-dir}/bin/nodeenv -p --node=10.18.1
++ OUTPUT "/bin/npm"
++ COMMAND /bin/nodeenv -p --node=10.18.1
+ WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
+ COMMENT "dashboard nodeenv is being installed"
+ )
diff --git a/sys-cluster/ceph/files/ceph-15.2.0-rocksdb-cmake.patch b/sys-cluster/ceph/files/ceph-15.2.0-rocksdb-cmake.patch
new file mode 100644
index 00000000000..9b3d34858e7
--- /dev/null
+++ b/sys-cluster/ceph/files/ceph-15.2.0-rocksdb-cmake.patch
@@ -0,0 +1,15 @@
+diff --git a/cmake/modules/BuildRocksDB.cmake b/cmake/modules/BuildRocksDB.cmake
+index de9748878b..4b86b36d35 100644
+--- a/cmake/modules/BuildRocksDB.cmake
++++ b/cmake/modules/BuildRocksDB.cmake
+@@ -6,10 +6,6 @@ function(build_rocksdb)
+ # CMAKE_PREFIX_PATH, for which reason we'll have to use some other separator.
+ string(REPLACE ";" "!" CMAKE_PREFIX_PATH_ALT_SEP "${CMAKE_PREFIX_PATH}")
+ list(APPEND rocksdb_CMAKE_ARGS -DCMAKE_PREFIX_PATH=${CMAKE_PREFIX_PATH_ALT_SEP})
+- if(CMAKE_TOOLCHAIN_FILE)
+- list(APPEND rocksdb_CMAKE_ARGS
+- -DCMAKE_TOOLCHAIN_FILE=$CMAKE_TOOLCHAIN_FILE)
+- endif()
+
+ if(ALLOCATOR STREQUAL "jemalloc")
+ list(APPEND rocksdb_CMAKE_ARGS -DWITH_JEMALLOC=ON)
diff --git a/sys-cluster/ceph/metadata.xml b/sys-cluster/ceph/metadata.xml
index d69494c3b6d..dcf0de05f77 100644
--- a/sys-cluster/ceph/metadata.xml
+++ b/sys-cluster/ceph/metadata.xml
@@ -23,13 +23,18 @@
<flag name="spdk">Enable SPDK user-mode storage driver toolkit</flag>
<flag name="fuse">Build fuse client</flag>
<flag name="grafana">Install grafana dashboards</flag>
+ <flag name="kafka">Rados Gateway's pubsub support for Kafka push endpoint</flag>
<flag name="lttng">Add support for LTTng</flag>
<flag name="mgr">Build the ceph-mgr daemon</flag>
<flag name="nss">Use <pkg>dev-libs/nss</pkg> for cryptography</flag>
<flag name="numa">Use <pkg>sys-process/numactl</pkg> for numa support in rocksdb</flag>
+ <flag name="openssl">Use <pkg>dev-libs/openssl</pkg></flag>
+ <flag name="pmdk">Enable PMDK libraries</flag>
<flag name="rabbitmq">Use rabbitmq-c to build rgw amqp push endpoint</flag>
<flag name="radosgw">Add radosgw support</flag>
+ <flag name="rbd-rwl">Enable librbd persistent write back cache</flag>
<flag name="system-boost">Use system <pkg>dev-libs/boost</pkg> instead of the bundled one</flag>
+ <flag name="uring">Build with support for <pkg>sys-libs/liburing</pkg></flag>
<flag name="xfs">Add xfs support</flag>
<flag name="zfs">Add zfs support</flag>
</use>
^ permalink raw reply related [flat|nested] 68+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-cluster/ceph/, sys-cluster/ceph/files/
@ 2019-12-11 22:40 Patrick McLean
0 siblings, 0 replies; 68+ messages in thread
From: Patrick McLean @ 2019-12-11 22:40 UTC (permalink / raw
To: gentoo-commits
commit: 0987c229b79bbbde9a1d36f619be9cd48be92987
Author: Patrick McLean <patrick.mclean <AT> sony <DOT> com>
AuthorDate: Wed Dec 11 22:40:19 2019 +0000
Commit: Patrick McLean <chutzpah <AT> gentoo <DOT> org>
CommitDate: Wed Dec 11 22:40:34 2019 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=0987c229
sys-cluster/ceph: Version bump to 14.2.5
Copyright: Sony Interactive Entertainment Inc.
Package-Manager: Portage-2.3.81, Repoman-2.3.20
Signed-off-by: Patrick McLean <chutzpah <AT> gentoo.org>
sys-cluster/ceph/Manifest | 1 +
sys-cluster/ceph/ceph-14.2.5.ebuild | 370 ++++++++++++++++
.../ceph-14.2.5-boost-1.6-python-sonames.patch | 26 ++
.../ceph/files/ceph-14.2.5-boost-1.70.patch | 78 ++++
.../ceph/files/ceph-14.2.5-boost-sonames.patch | 471 +++++++++++++++++++++
.../ceph/files/ceph-14.2.5-no-virtualenvs.patch | 39 ++
sys-cluster/ceph/metadata.xml | 1 +
7 files changed, 986 insertions(+)
diff --git a/sys-cluster/ceph/Manifest b/sys-cluster/ceph/Manifest
index b84a125b65a..e4653529633 100644
--- a/sys-cluster/ceph/Manifest
+++ b/sys-cluster/ceph/Manifest
@@ -4,3 +4,4 @@ DIST ceph-12.2.8.tar.gz 77243685 BLAKE2B 37c34396a0c276b8d79735e14934ac70da02482
DIST ceph-13.2.5.tar.gz 91006057 BLAKE2B 68551e2f54d78aff7b0e9ec3c62e6a3394dd7c23e80924a5b400cd9666a05a42e5f22445deee4040f1b78201c6a6660b283109878d4c92d845821bff831c8a5e SHA512 6daea524523f829e725609328ea71f416b2c3a9530fa8956720a7bc69dc08e55a169654f500704579dc9ba693f04eedd7e04614c0850e9ab1169cd45f19039f8
DIST ceph-13.2.6.tar.gz 90808224 BLAKE2B cd7b4f4838eafc9dd580102cbb5247b86a153f90127f81355b556f32dbbacd2d7fb0144d15f99869a318a7148d2f50a9f995eb05aee056d7a5843830ede5702c SHA512 1e9c08d16b14447bf6b8bb72144e053aa9d5cf390bb4a6e878869e38895d3698073502fe9c4f8b775a3da872b920444bd01260105d3a839e53cf90cd27c6ab9c
DIST ceph-14.2.4.tar.gz 116371380 BLAKE2B 2d2c78ec32a0749df16e9c527d2fd087a75daeb2ef26ac5f6aa641989eab62fa276eb320b873740e9eee3fd4f369da152c53c2389b1def1b6a45906ccc1bd1f1 SHA512 dc60321ed4dcaccacca711ab70c35011b5dfc6b8369016fb413a9976199ed4ba22c7dc87ba1ebaf1118513dee1a0c263c99ab137f27fc03c55e8a0625a3bdcc0
+DIST ceph-14.2.5.tar.gz 118629512 BLAKE2B d1e1e1a2981ab733a8233b6de504c626f9ee776f6a980de61c95b16c85d48f674c40b2013327ce4efb35a844b22a169f55500d45ae827d6fb42e9a5cbae87aea SHA512 38da62a38960d3618e2689f0e882785d4d95358b4a3b3b5b83e54e227cff9e69f4cca0b63d2d55d69e3916055818e6cf9067f2c2eddeb221ef4bc64a13cfa22b
diff --git a/sys-cluster/ceph/ceph-14.2.5.ebuild b/sys-cluster/ceph/ceph-14.2.5.ebuild
new file mode 100644
index 00000000000..95bdb0d89fb
--- /dev/null
+++ b/sys-cluster/ceph/ceph-14.2.5.ebuild
@@ -0,0 +1,370 @@
+# Copyright 1999-2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+PYTHON_COMPAT=( python{2_7,3_{5,6,7}} )
+CMAKE_MAKEFILE_GENERATOR=emake
+
+DISTUTILS_OPTIONAL=1
+
+inherit check-reqs bash-completion-r1 cmake-utils distutils-r1 flag-o-matic \
+ multiprocessing python-r1 udev readme.gentoo-r1 toolchain-funcs \
+ systemd
+
+if [[ ${PV} == *9999* ]]; then
+ inherit git-r3
+ EGIT_REPO_URI="https://github.com/ceph/ceph.git"
+ SRC_URI=""
+else
+ SRC_URI="https://download.ceph.com/tarballs/${P}.tar.gz"
+ KEYWORDS="~amd64 ~arm64"
+fi
+
+DESCRIPTION="Ceph distributed filesystem"
+HOMEPAGE="https://ceph.com/"
+
+LICENSE="LGPL-2.1 CC-BY-SA-3.0 GPL-2 GPL-2+ LGPL-2+ BSD Boost-1.0 MIT public-domain"
+SLOT="0"
+
+CPU_FLAGS_X86=(sse{,2,3,4_1,4_2} ssse3)
+
+IUSE="babeltrace cephfs dpdk fuse grafana jemalloc kerberos ldap libressl"
+IUSE+=" lttng +mgr numa rabbitmq +radosgw +ssl spdk static-libs system-boost"
+IUSE+=" systemd +tcmalloc test xfs zfs"
+IUSE+=" $(printf "cpu_flags_x86_%s\n" ${CPU_FLAGS_X86[@]})"
+
+COMMON_DEPEND="
+ acct-group/ceph
+ acct-user/ceph
+ virtual/libudev:=
+ app-arch/bzip2:=[static-libs?]
+ app-arch/lz4:=[static-libs?]
+ app-arch/snappy:=[static-libs?]
+ app-arch/zstd:=[static-libs?]
+ app-shells/bash:0
+ app-misc/jq:=[static-libs?]
+ dev-libs/crypto++:=[static-libs?]
+ dev-libs/leveldb:=[snappy,static-libs?,tcmalloc(-)?]
+ dev-libs/libaio:=[static-libs?]
+ dev-libs/libnl:3=[static-libs?]
+ dev-libs/libxml2:=[static-libs?]
+ dev-libs/nss:=
+ sys-auth/oath-toolkit:=
+ sys-apps/coreutils
+ sys-apps/grep
+ sys-apps/keyutils:=[static-libs?]
+ sys-apps/util-linux:=[static-libs?]
+ sys-apps/sed
+ sys-apps/util-linux
+ sys-libs/libcap-ng:=[static-libs?]
+ sys-libs/ncurses:0=[static-libs?]
+ sys-libs/zlib:=[static-libs?]
+ babeltrace? ( dev-util/babeltrace )
+ ldap? ( net-nds/openldap:=[static-libs?] )
+ lttng? ( dev-util/lttng-ust:= )
+ fuse? ( sys-fs/fuse:0=[static-libs?] )
+ kerberos? ( virtual/krb5 )
+ rabbitmq? ( net-libs/rabbitmq-c:=[static-libs?] )
+ ssl? (
+ !libressl? ( dev-libs/openssl:=[static-libs?] )
+ libressl? ( dev-libs/libressl:=[static-libs?] )
+ )
+ xfs? ( sys-fs/xfsprogs:=[static-libs(+)?] )
+ zfs? ( sys-fs/zfs:=[static-libs?] )
+ radosgw? (
+ dev-libs/expat:=[static-libs?]
+ !libressl? (
+ dev-libs/openssl:=[static-libs?]
+ net-misc/curl:=[curl_ssl_openssl,static-libs?]
+ )
+ libressl? (
+ dev-libs/libressl:=[static-libs?]
+ net-misc/curl:=[curl_ssl_libressl,static-libs?]
+ )
+ )
+ system-boost? (
+ || (
+ =dev-libs/boost-1.71*[threads,context,python,static-libs?,${PYTHON_USEDEP}]
+ =dev-libs/boost-1.70*[threads,context,python,static-libs?,${PYTHON_USEDEP}]
+ =dev-libs/boost-1.67*[threads,context,python,static-libs?,${PYTHON_USEDEP}]
+ )
+ dev-libs/boost:=[threads,context,python,static-libs?,${PYTHON_USEDEP}]
+ )
+ jemalloc? ( dev-libs/jemalloc:=[static-libs?] )
+ !jemalloc? ( >=dev-util/google-perftools-2.4:=[static-libs?] )
+ ${PYTHON_DEPS}
+"
+DEPEND="${COMMON_DEPEND}
+ amd64? ( dev-lang/yasm )
+ x86? ( dev-lang/yasm )
+ dev-python/cython[${PYTHON_USEDEP}]
+ dev-python/sphinx
+ dev-util/cunit
+ test? (
+ dev-python/coverage[${PYTHON_USEDEP}]
+ dev-python/virtualenv[${PYTHON_USEDEP}]
+ sys-apps/grep[pcre]
+ sys-fs/btrfs-progs
+ )
+"
+BDEPEND="
+ app-arch/cpio
+ >=dev-util/cmake-3.5.0
+ dev-util/gperf
+ dev-util/valgrind
+ sys-apps/coreutils
+ sys-apps/findutils
+ sys-apps/grep
+ sys-apps/sed
+ sys-apps/which
+ sys-devel/bc
+ sys-devel/patch
+ virtual/pkgconfig
+"
+RDEPEND="${COMMON_DEPEND}
+ net-misc/socat
+ sys-apps/gptfdisk
+ sys-block/parted
+ sys-fs/cryptsetup
+ sys-fs/lvm2[-device-mapper-only(-)]
+ sys-fs/lsscsi
+ virtual/awk
+ dev-python/bcrypt[${PYTHON_USEDEP}]
+ dev-python/cherrypy[${PYTHON_USEDEP}]
+ dev-python/flask[${PYTHON_USEDEP}]
+ dev-python/jinja[${PYTHON_USEDEP}]
+ dev-python/pecan[${PYTHON_USEDEP}]
+ dev-python/prettytable[${PYTHON_USEDEP}]
+ dev-python/pyopenssl[${PYTHON_USEDEP}]
+ dev-python/requests[${PYTHON_USEDEP}]
+ dev-python/werkzeug[${PYTHON_USEDEP}]
+"
+REQUIRED_USE="
+ ${PYTHON_REQUIRED_USE}
+ || ( $(python_gen_useflags 'python3*') )
+ ?? ( jemalloc tcmalloc )
+ rabbitmq? ( radosgw )
+"
+
+# the tests need root access
+RESTRICT="test? ( userpriv )"
+
+# distribution tarball does not include everything needed for tests
+RESTRICT+=" test"
+
+# false positives unless all USE flags are on
+CMAKE_WARN_UNUSED_CLI="no"
+
+PATCHES=(
+ "${FILESDIR}/ceph-12.2.0-use-provided-cpu-flag-values.patch"
+ "${FILESDIR}/ceph-14.2.0-cflags.patch"
+ "${FILESDIR}/ceph-12.2.4-boost-build-none-options.patch"
+ "${FILESDIR}/ceph-13.2.0-cflags.patch"
+ "${FILESDIR}/ceph-14.2.0-mgr-python-version.patch"
+ "${FILESDIR}/ceph-14.2.5-no-virtualenvs.patch"
+ "${FILESDIR}/ceph-13.2.2-dont-install-sysvinit-script.patch"
+ "${FILESDIR}/ceph-14.2.0-dpdk-cflags.patch"
+ "${FILESDIR}/ceph-14.2.0-link-crc32-statically.patch"
+ "${FILESDIR}/ceph-14.2.0-cython-0.29.patch"
+ "${FILESDIR}/ceph-14.2.5-boost-1.70.patch"
+ "${FILESDIR}/ceph-14.2.3-dpdk-compile-fix-1.patch"
+ "${FILESDIR}/ceph-14.2.4-python-executable.patch"
+ "${FILESDIR}/ceph-14.2.4-undefined-behaviour.patch"
+)
+
+check-reqs_export_vars() {
+ if use amd64; then
+ CHECKREQS_DISK_BUILD="12G"
+ CHECKREQS_DISK_USR="460M"
+ else
+ CHECKREQS_DISK_BUILD="1400M"
+ CHECKREQS_DISK_USR="450M"
+ fi
+
+ export CHECKREQS_DISK_BUILD CHECKREQS_DISK_USR
+}
+
+pkg_pretend() {
+ check-reqs_export_vars
+ check-reqs_pkg_pretend
+}
+
+pkg_setup() {
+ python_setup 'python3*'
+ check-reqs_export_vars
+ check-reqs_pkg_setup
+}
+
+src_prepare() {
+ cmake-utils_src_prepare
+
+ if use system-boost; then
+ eapply "${FILESDIR}/ceph-14.2.5-boost-sonames.patch"
+
+ find "${S}" -name '*.cmake' -or -name 'CMakeLists.txt' -print0 \
+ | xargs --null sed -e 's|Boost::|Boost_|g' -i || die
+
+ has_version '>=dev-libs/boost-1.70.0' || \
+ eapply "${FILESDIR}/ceph-14.2.5-boost-1.6-python-sonames.patch"
+ fi
+
+ sed -i -r "s:DESTINATION .+\\):DESTINATION $(get_bashcompdir)\\):" \
+ src/bash_completion/CMakeLists.txt || die
+
+ # remove tests that need root access
+ rm src/test/cli/ceph-authtool/cap*.t || die
+}
+
+ceph_src_configure() {
+ local flag
+ local mycmakeargs=(
+ -DWITH_BABELTRACE=$(usex babeltrace)
+ -DWITH_CEPHFS=$(usex cephfs)
+ -DWITH_CEPHFS_SHELL=$(if python_is_python3; then usex cephfs; else echo OFF; fi)
+ -DWITH_DPDK=$(usex dpdk)
+ -DWITH_DPDK=$(usex spdk)
+ -DWITH_FUSE=$(usex fuse)
+ -DWITH_LTTNG=$(usex lttng)
+ -DWITH_GSSAPI=$(usex kerberos)
+ -DWITH_GRAFANA=$(usex grafana)
+ -DWITH_MGR=$(usex mgr)
+ -DWITH_MGR_DASHBOARD_FRONTEND=NO
+ -DWITH_NUMA=$(usex numa)
+ -DWITH_OPENLDAP=$(usex ldap)
+ -DMGR_PYTHON_VERSION=$(if python_is_python3; then echo 3; else echo 2; fi)
+ -DWITH_PYTHON3=$(if python_is_python3; then echo "ON"; else echo "OFF"; fi)
+ -DWITH_PYTHON2=$(if python_is_python3; then echo "OFF"; else echo "ON"; fi)
+ -DWITH_RADOSGW=$(usex radosgw)
+ -DWITH_RADOSGW_AMQP_ENDPOINT=$(usex rabbitmq)
+ -DWITH_SSL=$(usex ssl)
+ -DWITH_SYSTEMD=$(usex systemd)
+ -DWITH_TESTS=$(usex test)
+ -DWITH_XFS=$(usex xfs)
+ -DWITH_ZFS=$(usex zfs)
+ -DENABLE_SHARED=$(usex static-libs '' 'ON' 'OFF')
+ -DALLOCATOR=$(usex tcmalloc 'tcmalloc' "$(usex jemalloc 'jemalloc' 'libc')")
+ -DWITH_SYSTEM_BOOST=$(usex system-boost)
+ -DBOOST_J=$(makeopts_jobs)
+ -DWITH_RDMA=no
+ -DWITH_TBB=no
+ -DSYSTEMD_UNITDIR=$(systemd_get_systemunitdir)
+ -DEPYTHON_VERSION="${EPYTHON#python}"
+ -DCMAKE_INSTALL_DOCDIR="${EPREFIX}/usr/share/doc/${PN}-${PVR}"
+ -DCMAKE_INSTALL_SYSCONFDIR="${EPREFIX}/etc"
+ #-Wno-dev
+ )
+ if use amd64 || use x86; then
+ for flag in ${CPU_FLAGS_X86[@]}; do
+ mycmakeargs+=("$(usex cpu_flags_x86_${flag} "-DHAVE_INTEL_${flag^^}=1")")
+ done
+ fi
+
+ rm -f "${BUILD_DIR:-${S}}/CMakeCache.txt" \
+ || die "failed to remove cmake cache"
+
+ cmake-utils_src_configure
+
+ # bug #630232
+ sed -i "s:\"${T//:\\:}/${EPYTHON}/bin/python\":\"${PYTHON}\":" \
+ "${BUILD_DIR:-${S}}"/include/acconfig.h \
+ || die "sed failed"
+}
+
+src_configure() {
+ ceph_src_configure
+}
+
+python_compile() {
+ local CMAKE_USE_DIR="${S}"
+ ceph_src_configure
+
+ pushd "${BUILD_DIR}/src/pybind" >/dev/null || die
+ emake VERBOSE=1 clean
+ emake VERBOSE=1 all
+
+ # python modules are only compiled with "make install" so we need to do this to
+ # prevent doing a bunch of compilation in src_install
+ DESTDIR="${T}" emake VERBOSE=1 install
+ popd >/dev/null || die
+}
+
+src_compile() {
+ cmake-utils_src_make VERBOSE=1 all
+
+ # we have to do this here to prevent from building everything multiple times
+ python_copy_sources
+ python_foreach_impl python_compile
+}
+
+src_test() {
+ make check || die "make check failed"
+}
+
+python_install() {
+ local CMAKE_USE_DIR="${S}"
+ pushd "${BUILD_DIR}/src/pybind" >/dev/null || die
+ DESTDIR="${ED}" emake VERBOSE=1 install
+ popd >/dev/null || die
+
+ python_optimize
+}
+
+src_install() {
+ cmake-utils_src_install
+ python_foreach_impl python_install
+
+ find "${ED}" -name '*.la' -type f -delete || die
+
+ exeinto /usr/$(get_libdir)/ceph
+ newexe "${BUILD_DIR}/bin/init-ceph" init-ceph
+
+ insinto /etc/logrotate.d/
+ newins "${FILESDIR}"/ceph.logrotate-r2 ${PN}
+
+ keepdir /var/lib/${PN}{,/tmp} /var/log/${PN}/stat
+
+ fowners -R ceph:ceph /var/log/ceph
+
+ newinitd "${FILESDIR}/rbdmap.initd" rbdmap
+ newinitd "${FILESDIR}/${PN}.initd-r12" ${PN}
+ newconfd "${FILESDIR}/${PN}.confd-r5" ${PN}
+
+ insinto /etc/sysctl.d
+ newins "${FILESDIR}"/sysctld 90-${PN}.conf
+
+ use tcmalloc && newenvd "${FILESDIR}"/envd-tcmalloc 99${PN}-tcmalloc
+
+ # units aren't installed by the build system unless systemd is enabled
+ # so no point installing these with the USE flag disabled
+ if use systemd; then
+ systemd_install_serviced "${FILESDIR}/ceph-mds_at.service.conf" \
+ "ceph-mds@.service"
+
+ systemd_install_serviced "${FILESDIR}/ceph-osd_at.service.conf" \
+ "ceph-osd@.service"
+ fi
+
+ udev_dorules udev/*.rules
+
+ readme.gentoo_create_doc
+
+ python_setup 'python3*'
+
+ # bug #630232
+ sed -i -r "s:${T//:/\\:}/${EPYTHON}:/usr:" "${ED}"/usr/bin/ceph{,-crash} \
+ || die "sed failed"
+
+ python_fix_shebang "${ED}"/usr/{,s}bin/
+
+ # python_fix_shebang apparently is not idempotent
+ local shebang_regex='(/usr/lib/python-exec/python[0-9]\.[0-9]/python)[0-9]\.[0-9]'
+ grep -r -E -l --null "${shebang_regex}" "${ED}"/usr/{s,}bin/ \
+ | xargs --null --no-run-if-empty -- sed -i -r "s:${shebang_regex}:\1:" || die
+
+ local -a rados_classes=( "${ED}/usr/$(get_libdir)/rados-classes"/* )
+ dostrip -x "${rados_classes[@]#${ED}}"
+}
+
+pkg_postinst() {
+ readme.gentoo_print_elog
+}
diff --git a/sys-cluster/ceph/files/ceph-14.2.5-boost-1.6-python-sonames.patch b/sys-cluster/ceph/files/ceph-14.2.5-boost-1.6-python-sonames.patch
new file mode 100644
index 00000000000..318844f6c02
--- /dev/null
+++ b/sys-cluster/ceph/files/ceph-14.2.5-boost-1.6-python-sonames.patch
@@ -0,0 +1,26 @@
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 1e9ebfbb41..1a858a6e3f 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -649,7 +649,7 @@ set(BOOST_HEADER_COMPONENTS container)
+
+ if(WITH_MGR)
+ list(APPEND BOOST_COMPONENTS
+- python${MGR_PYTHON_VERSION_MAJOR}${MGR_PYTHON_VERSION_MINOR})
++ python-${MGR_PYTHON_VERSION_MAJOR}.${MGR_PYTHON_VERSION_MINOR})
+ endif()
+ if(WITH_BOOST_CONTEXT)
+ list(APPEND BOOST_COMPONENTS context coroutine)
+diff --git a/cmake/modules/BuildBoost.cmake b/cmake/modules/BuildBoost.cmake
+index f46cc0d485..3cc6340b2c 100644
+--- a/cmake/modules/BuildBoost.cmake
++++ b/cmake/modules/BuildBoost.cmake
+@@ -205,7 +205,7 @@ macro(build_boost version)
+ endif()
+ add_dependencies(Boost::${c} Boost)
+ if(c MATCHES "^python")
+- set(c "python${PYTHON_VERSION_MAJOR}${PYTHON_VERSION_MINOR}")
++ set(c "python-${PYTHON_VERSION_MAJOR}.${PYTHON_VERSION_MINOR}")
+ endif()
+ if(Boost_USE_STATIC_LIBS)
+ set(Boost_${upper_c}_LIBRARY
diff --git a/sys-cluster/ceph/files/ceph-14.2.5-boost-1.70.patch b/sys-cluster/ceph/files/ceph-14.2.5-boost-1.70.patch
new file mode 100644
index 00000000000..693925e8825
--- /dev/null
+++ b/sys-cluster/ceph/files/ceph-14.2.5-boost-1.70.patch
@@ -0,0 +1,78 @@
+diff --git a/src/rgw/rgw_asio_frontend.cc b/src/rgw/rgw_asio_frontend.cc
+index 82e2a45da6..8750c5648f 100644
+--- a/src/rgw/rgw_asio_frontend.cc
++++ b/src/rgw/rgw_asio_frontend.cc
+@@ -83,7 +83,8 @@ class StreamIO : public rgw::asio::ClientIO {
+ using SharedMutex = ceph::async::SharedMutex<boost::asio::io_context::executor_type>;
+
+ template <typename Stream>
+-void handle_connection(RGWProcessEnv& env, Stream& stream,
++void handle_connection(boost::asio::io_context& context,
++ RGWProcessEnv& env, Stream& stream,
+ parse_buffer& buffer, bool is_ssl,
+ SharedMutex& pause_mutex,
+ rgw::dmclock::Scheduler *scheduler,
+@@ -160,7 +161,7 @@ void handle_connection(RGWProcessEnv& env, Stream& stream,
+ rgw::io::add_conlen_controlling(
+ &real_client))));
+ RGWRestfulIO client(cct, &real_client_io);
+- auto y = optional_yield{socket.get_io_context(), yield};
++ auto y = optional_yield{context, yield};
+ process_request(env.store, env.rest, &req, env.uri_prefix,
+ *env.auth_registry, &client, env.olog, y, scheduler);
+ }
+@@ -604,7 +605,7 @@ void AsioFrontend::accept(Listener& l, boost::system::error_code ec)
+ return;
+ }
+ buffer->consume(bytes);
+- handle_connection(env, stream, *buffer, true, pause_mutex,
++ handle_connection(context, env, stream, *buffer, true, pause_mutex,
+ scheduler.get(), ec, yield);
+ if (!ec) {
+ // ssl shutdown (ignoring errors)
+@@ -622,7 +623,7 @@ void AsioFrontend::accept(Listener& l, boost::system::error_code ec)
+ auto c = connections.add(conn);
+ auto buffer = std::make_unique<parse_buffer>();
+ boost::system::error_code ec;
+- handle_connection(env, s, *buffer, false, pause_mutex,
++ handle_connection(context, env, s, *buffer, false, pause_mutex,
+ scheduler.get(), ec, yield);
+ s.shutdown(tcp::socket::shutdown_both, ec);
+ });
+diff --git a/src/rgw/rgw_dmclock_async_scheduler.h b/src/rgw/rgw_dmclock_async_scheduler.h
+index 70487a5253..1d454acd2e 100644
+--- a/src/rgw/rgw_dmclock_async_scheduler.h
++++ b/src/rgw/rgw_dmclock_async_scheduler.h
+@@ -82,7 +82,12 @@ class AsyncScheduler : public md_config_obs_t, public Scheduler {
+ using Completion = async::Completion<Signature, async::AsBase<Request>>;
+
+ using Clock = ceph::coarse_real_clock;
++#if BOOST_VERSION < 107000
+ using Timer = boost::asio::basic_waitable_timer<Clock>;
++#else
++ using Timer = boost::asio::basic_waitable_timer<Clock,
++ boost::asio::wait_traits<Clock>, executor_type>;
++#endif
+ Timer timer; //< timer for the next scheduled request
+
+ CephContext *const cct;
+diff --git a/src/rgw/rgw_reshard.h b/src/rgw/rgw_reshard.h
+index d99a6ff68d..213fc238d2 100644
+--- a/src/rgw/rgw_reshard.h
++++ b/src/rgw/rgw_reshard.h
+@@ -183,7 +183,14 @@ class RGWReshardWait {
+ ceph::condition_variable cond;
+
+ struct Waiter : boost::intrusive::list_base_hook<> {
+- boost::asio::basic_waitable_timer<Clock> timer;
++#if BOOST_VERSION < 107000
++ using Timer = boost::asio::basic_waitable_timer<Clock>;
++#else
++ using Executor = boost::asio::io_context::executor_type;
++ using Timer = boost::asio::basic_waitable_timer<Clock,
++ boost::asio::wait_traits<Clock>, Executor>;
++#endif
++ Timer timer;
+ explicit Waiter(boost::asio::io_context& ioc) : timer(ioc) {}
+ };
+ boost::intrusive::list<Waiter> waiters;
diff --git a/sys-cluster/ceph/files/ceph-14.2.5-boost-sonames.patch b/sys-cluster/ceph/files/ceph-14.2.5-boost-sonames.patch
new file mode 100644
index 00000000000..d8c26bcdfe2
--- /dev/null
+++ b/sys-cluster/ceph/files/ceph-14.2.5-boost-sonames.patch
@@ -0,0 +1,471 @@
+diff --git a/cmake/modules/BuildBoost.cmake b/cmake/modules/BuildBoost.cmake
+index f46cc0d485..39bb081b1b 100644
+--- a/cmake/modules/BuildBoost.cmake
++++ b/cmake/modules/BuildBoost.cmake
+@@ -199,13 +199,13 @@ macro(build_boost version)
+ foreach(c ${Boost_BUILD_COMPONENTS})
+ string(TOUPPER ${c} upper_c)
+ if(Boost_USE_STATIC_LIBS)
+- add_library(Boost::${c} STATIC IMPORTED)
++ add_library(Boost_${c} STATIC IMPORTED)
+ else()
+- add_library(Boost::${c} SHARED IMPORTED)
++ add_library(Boost_${c} SHARED IMPORTED)
+ endif()
+- add_dependencies(Boost::${c} Boost)
++ add_dependencies(Boost_${c} Boost)
+ if(c MATCHES "^python")
+- set(c "python${PYTHON_VERSION_MAJOR}${PYTHON_VERSION_MINOR}")
++ set(c "python-${PYTHON_VERSION_MAJOR}.${PYTHON_VERSION_MINOR}")
+ endif()
+ if(Boost_USE_STATIC_LIBS)
+ set(Boost_${upper_c}_LIBRARY
+@@ -215,7 +215,7 @@ macro(build_boost version)
+ ${install_dir}/lib/${CMAKE_SHARED_LIBRARY_PREFIX}boost_${c}${CMAKE_SHARED_LIBRARY_SUFFIX})
+ endif()
+ unset(buildid)
+- set_target_properties(Boost::${c} PROPERTIES
++ set_target_properties(Boost_${c} PROPERTIES
+ INTERFACE_INCLUDE_DIRECTORIES "${Boost_INCLUDE_DIRS}"
+ IMPORTED_LINK_INTERFACE_LANGUAGES "CXX"
+ IMPORTED_LOCATION "${Boost_${upper_c}_LIBRARY}")
+@@ -224,19 +224,19 @@ macro(build_boost version)
+ foreach(c ${Boost_BUILD_COMPONENTS})
+ if(Boost_${c}_DEPENDENCIES)
+ foreach(dep ${Boost_${c}_DEPENDENCIES})
+- list(APPEND dependencies Boost::${dep})
++ list(APPEND dependencies Boost_${dep})
+ endforeach()
+- set_target_properties(Boost::${c} PROPERTIES
++ set_target_properties(Boost_${c} PROPERTIES
+ INTERFACE_LINK_LIBRARIES "${dependencies}")
+ unset(dependencies)
+ endif()
+ endforeach()
+
+ # for header-only libraries
+- add_library(Boost::boost INTERFACE IMPORTED)
+- set_target_properties(Boost::boost PROPERTIES
++ add_library(Boost_boost INTERFACE IMPORTED)
++ set_target_properties(Boost_boost PROPERTIES
+ INTERFACE_INCLUDE_DIRECTORIES "${Boost_INCLUDE_DIRS}")
+- add_dependencies(Boost::boost Boost)
++ add_dependencies(Boost_boost Boost)
+ find_package_handle_standard_args(Boost DEFAULT_MSG
+ Boost_INCLUDE_DIRS Boost_LIBRARIES)
+ mark_as_advanced(Boost_LIBRARIES BOOST_INCLUDE_DIRS)
+@@ -253,7 +253,7 @@ function(maybe_add_boost_dep target)
+ get_filename_component(ext ${src} EXT)
+ # assuming all cxx source files include boost header(s)
+ if(ext MATCHES ".cc|.cpp|.cxx")
+- add_dependencies(${target} Boost::boost)
++ add_dependencies(${target} Boost_boost)
+ return()
+ endif()
+ endforeach()
+diff --git a/cmake/modules/FindBoost.cmake b/cmake/modules/FindBoost.cmake
+index e2525b8934..e728e5a9d2 100644
+--- a/cmake/modules/FindBoost.cmake
++++ b/cmake/modules/FindBoost.cmake
+@@ -340,10 +340,6 @@ macro(_Boost_ADJUST_LIB_VARS basename)
+
+ if(Boost_${basename}_LIBRARY AND Boost_${basename}_HEADER)
+ set(Boost_${basename}_FOUND ON)
+- if("x${basename}" STREQUAL "xTHREAD" AND NOT TARGET Threads::Threads)
+- string(APPEND Boost_ERROR_REASON_THREAD " (missing dependency: Threads)")
+- set(Boost_THREAD_FOUND OFF)
+- endif()
+ endif()
+
+ endif()
+@@ -919,7 +915,7 @@ function(_Boost_COMPONENT_DEPENDENCIES component _ret)
+ if (NOT _boost_DEPS_STRING)
+ set(_boost_DEPS_STRING "(none)")
+ endif()
+- # message(STATUS "Dependencies for Boost::${component}: ${_boost_DEPS_STRING}")
++ # message(STATUS "Dependencies for Boost_${component}: ${_boost_DEPS_STRING}")
+ endfunction()
+
+ #
+@@ -1003,7 +999,7 @@ function(_Boost_COMPONENT_HEADERS component _hdrs)
+ if (NOT _boost_HDRS_STRING)
+ set(_boost_HDRS_STRING "(none)")
+ endif()
+- # message(STATUS "Headers for Boost::${component}: ${_boost_HDRS_STRING}")
++ # message(STATUS "Headers for Boost_${component}: ${_boost_HDRS_STRING}")
+ endfunction()
+
+ #
+@@ -1051,7 +1047,7 @@ endfunction()
+
+ #
+ # Some boost libraries may require particular set of compler features.
+-# The very first one was `boost::fiber` introduced in Boost 1.62.
++# The very first one was `boost_fiber` introduced in Boost 1.62.
+ # One can check required compiler features of it in
+ # - `${Boost_ROOT}/libs/fiber/build/Jamfile.v2`;
+ # - `${Boost_ROOT}/libs/context/build/Jamfile.v2`.
+@@ -1178,7 +1174,7 @@ else()
+ # _Boost_COMPONENT_HEADERS. See the instructions at the top of
+ # _Boost_COMPONENT_DEPENDENCIES.
+ set(_Boost_KNOWN_VERSIONS ${Boost_ADDITIONAL_VERSIONS}
+- "1.70.0" "1.70" "1.69.0" "1.69"
++ "1.71.0" "1.71" "1.70.0" "1.70" "1.69.0" "1.69"
+ "1.68.0" "1.68" "1.67.0" "1.67" "1.66.0" "1.66" "1.65.1" "1.65.0" "1.65"
+ "1.64.0" "1.64" "1.63.0" "1.63" "1.62.0" "1.62" "1.61.0" "1.61" "1.60.0" "1.60"
+ "1.59.0" "1.59" "1.58.0" "1.58" "1.57.0" "1.57" "1.56.0" "1.56" "1.55.0" "1.55"
+@@ -1235,10 +1231,10 @@ endif()
+ # on all platforms to keep end user code free from platform dependent
+ # code. Also provide convenience targets to disable autolinking and
+ # enable dynamic linking.
+-if(NOT TARGET Boost::diagnostic_definitions)
+- add_library(Boost::diagnostic_definitions INTERFACE IMPORTED)
+- add_library(Boost::disable_autolinking INTERFACE IMPORTED)
+- add_library(Boost::dynamic_linking INTERFACE IMPORTED)
++if(NOT TARGET boost_diagnostic_definitions)
++ add_library(boost_diagnostic_definitions INTERFACE IMPORTED)
++ add_library(boost_disable_autolinking INTERFACE IMPORTED)
++ add_library(boost_dynamic_linking INTERFACE IMPORTED)
+ endif()
+ if(WIN32)
+ # In windows, automatic linking is performed, so you do not have
+@@ -1259,11 +1255,11 @@ if(WIN32)
+ # code to emit a #pragma message each time a library is selected
+ # for linking.
+ set(Boost_LIB_DIAGNOSTIC_DEFINITIONS "-DBOOST_LIB_DIAGNOSTIC")
+- set_target_properties(Boost::diagnostic_definitions PROPERTIES
++ set_target_properties(boost_diagnostic_definitions PROPERTIES
+ INTERFACE_COMPILE_DEFINITIONS "BOOST_LIB_DIAGNOSTIC")
+- set_target_properties(Boost::disable_autolinking PROPERTIES
++ set_target_properties(boost_disable_autolinking PROPERTIES
+ INTERFACE_COMPILE_DEFINITIONS "BOOST_ALL_NO_LIB")
+- set_target_properties(Boost::dynamic_linking PROPERTIES
++ set_target_properties(boost_dynamic_linking PROPERTIES
+ INTERFACE_COMPILE_DEFINITIONS "BOOST_ALL_DYN_LINK")
+ endif()
+
+@@ -1738,7 +1734,7 @@ if("thread" IN_LIST Boost_FIND_COMPONENTS)
+ else()
+ set(_Boost_find_quiet "")
+ endif()
+- find_package(Threads ${_Boost_find_quiet})
++ find_package(boost_thread ${_Boost_find_quiet})
+ unset(_Boost_find_quiet)
+ endif()
+
+@@ -2079,61 +2075,61 @@ endif()
+
+ if(Boost_FOUND)
+ # For header-only libraries
+- if(NOT TARGET Boost::boost)
+- add_library(Boost::boost INTERFACE IMPORTED)
++ if(NOT TARGET Boost_boost)
++ add_library(Boost_boost INTERFACE IMPORTED)
+ if(Boost_INCLUDE_DIRS)
+- set_target_properties(Boost::boost PROPERTIES
++ set_target_properties(Boost_boost PROPERTIES
+ INTERFACE_INCLUDE_DIRECTORIES "${Boost_INCLUDE_DIRS}")
+ endif()
+ endif()
+
+ foreach(COMPONENT ${Boost_FIND_COMPONENTS})
+- if(_Boost_IMPORTED_TARGETS AND NOT TARGET Boost::${COMPONENT})
++ if(_Boost_IMPORTED_TARGETS AND NOT TARGET Boost_${COMPONENT})
+ string(TOUPPER ${COMPONENT} UPPERCOMPONENT)
+ if(Boost_${UPPERCOMPONENT}_FOUND)
+ if(Boost_USE_STATIC_LIBS)
+- add_library(Boost::${COMPONENT} STATIC IMPORTED)
++ add_library(Boost_${COMPONENT} STATIC IMPORTED)
+ else()
+ # Even if Boost_USE_STATIC_LIBS is OFF, we might have static
+ # libraries as a result.
+- add_library(Boost::${COMPONENT} UNKNOWN IMPORTED)
++ add_library(Boost_${COMPONENT} UNKNOWN IMPORTED)
+ endif()
+ if(Boost_INCLUDE_DIRS)
+- set_target_properties(Boost::${COMPONENT} PROPERTIES
++ set_target_properties(Boost_${COMPONENT} PROPERTIES
+ INTERFACE_INCLUDE_DIRECTORIES "${Boost_INCLUDE_DIRS}")
+ endif()
+ if(EXISTS "${Boost_${UPPERCOMPONENT}_LIBRARY}")
+- set_target_properties(Boost::${COMPONENT} PROPERTIES
++ set_target_properties(Boost_${COMPONENT} PROPERTIES
+ IMPORTED_LINK_INTERFACE_LANGUAGES "CXX"
+ IMPORTED_LOCATION "${Boost_${UPPERCOMPONENT}_LIBRARY}")
+ endif()
+ if(EXISTS "${Boost_${UPPERCOMPONENT}_LIBRARY_RELEASE}")
+- set_property(TARGET Boost::${COMPONENT} APPEND PROPERTY
++ set_property(TARGET Boost_${COMPONENT} APPEND PROPERTY
+ IMPORTED_CONFIGURATIONS RELEASE)
+- set_target_properties(Boost::${COMPONENT} PROPERTIES
++ set_target_properties(Boost_${COMPONENT} PROPERTIES
+ IMPORTED_LINK_INTERFACE_LANGUAGES_RELEASE "CXX"
+ IMPORTED_LOCATION_RELEASE "${Boost_${UPPERCOMPONENT}_LIBRARY_RELEASE}")
+ endif()
+ if(EXISTS "${Boost_${UPPERCOMPONENT}_LIBRARY_DEBUG}")
+- set_property(TARGET Boost::${COMPONENT} APPEND PROPERTY
++ set_property(TARGET Boost_${COMPONENT} APPEND PROPERTY
+ IMPORTED_CONFIGURATIONS DEBUG)
+- set_target_properties(Boost::${COMPONENT} PROPERTIES
++ set_target_properties(Boost_${COMPONENT} PROPERTIES
+ IMPORTED_LINK_INTERFACE_LANGUAGES_DEBUG "CXX"
+ IMPORTED_LOCATION_DEBUG "${Boost_${UPPERCOMPONENT}_LIBRARY_DEBUG}")
+ endif()
+ if(_Boost_${UPPERCOMPONENT}_DEPENDENCIES)
+ unset(_Boost_${UPPERCOMPONENT}_TARGET_DEPENDENCIES)
+ foreach(dep ${_Boost_${UPPERCOMPONENT}_DEPENDENCIES})
+- list(APPEND _Boost_${UPPERCOMPONENT}_TARGET_DEPENDENCIES Boost::${dep})
++ list(APPEND _Boost_${UPPERCOMPONENT}_TARGET_DEPENDENCIES Boost_${dep})
+ endforeach()
+ if(COMPONENT STREQUAL "thread")
+- list(APPEND _Boost_${UPPERCOMPONENT}_TARGET_DEPENDENCIES Threads::Threads)
++ list(APPEND _Boost_${UPPERCOMPONENT}_TARGET_DEPENDENCIES boost_thread)
+ endif()
+- set_target_properties(Boost::${COMPONENT} PROPERTIES
++ set_target_properties(Boost_${COMPONENT} PROPERTIES
+ INTERFACE_LINK_LIBRARIES "${_Boost_${UPPERCOMPONENT}_TARGET_DEPENDENCIES}")
+ endif()
+ if(_Boost_${UPPERCOMPONENT}_COMPILER_FEATURES)
+- set_target_properties(Boost::${COMPONENT} PROPERTIES
++ set_target_properties(Boost_${COMPONENT} PROPERTIES
+ CXX_STANDARD 17)
+ endif()
+ endif()
+diff --git a/cmake/modules/Finddpdk.cmake b/cmake/modules/Finddpdk.cmake
+index 964ae5dfb0..92bf07c14e 100644
+--- a/cmake/modules/Finddpdk.cmake
++++ b/cmake/modules/Finddpdk.cmake
+@@ -102,9 +102,9 @@ if(dpdk_FOUND)
+
+ if(NOT TARGET dpdk::dpdk)
+ add_library(dpdk::dpdk INTERFACE IMPORTED)
+- find_package(Threads QUIET)
++ find_package(boost_thread QUIET)
+ list(APPEND dpdk_LIBRARIES
+- Threads::Threads
++ boost_thread
+ dpdk::cflags)
+ set_target_properties(dpdk::dpdk PROPERTIES
+ INTERFACE_LINK_LIBRARIES "${dpdk_LIBRARIES}"
+diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
+index 28ec9835f8..31a1efa19f 100644
+--- a/src/CMakeLists.txt
++++ b/src/CMakeLists.txt
+@@ -356,12 +356,12 @@ set(ceph_common_objs
+ set(ceph_common_deps
+ json_spirit erasure_code arch crc32
+ ${LIB_RESOLV}
+- Boost::thread
+- Boost::system
+- Boost::random
+- Boost::program_options
+- Boost::date_time
+- Boost::iostreams
++ boost_thread
++ boost_system
++ boost_random
++ boost_program_options
++ boost_date_time
++ boost_iostreams
+ ${BLKID_LIBRARIES}
+ ${Backtrace_LIBRARIES}
+ ${BLKIN_LIBRARIES}
+@@ -522,7 +522,7 @@ if (WITH_CEPHFS)
+ ceph_mds.cc)
+ add_executable(ceph-mds ${ceph_mds_srcs})
+ target_link_libraries(ceph-mds mds ${CMAKE_DL_LIBS} global-static ceph-common
+- Boost::thread)
++ boost_thread)
+ install(TARGETS ceph-mds DESTINATION bin)
+ endif()
+
+diff --git a/src/crimson/CMakeLists.txt b/src/crimson/CMakeLists.txt
+index d7b58521d4..e1533af33f 100644
+--- a/src/crimson/CMakeLists.txt
++++ b/src/crimson/CMakeLists.txt
+@@ -106,8 +106,8 @@ target_link_libraries(crimson-common
+ PRIVATE
+ crc32
+ crimson::cflags
+- Boost::iostreams
+- Boost::random
++ boost_iostreams
++ boost_random
+ ${NSS_LIBRARIES} ${NSPR_LIBRARIES} OpenSSL::Crypto)
+
+ set(crimson_auth_srcs
+diff --git a/src/mgr/CMakeLists.txt b/src/mgr/CMakeLists.txt
+index 252fb3e5e3..213482da16 100644
+--- a/src/mgr/CMakeLists.txt
++++ b/src/mgr/CMakeLists.txt
+@@ -26,7 +26,7 @@ target_include_directories(ceph-mgr SYSTEM PRIVATE "${PYTHON_INCLUDE_DIRS}")
+ target_link_libraries(ceph-mgr
+ osdc client heap_profiler
+ global-static ceph-common
+- Boost::python${MGR_PYTHON_VERSION_MAJOR}${MGR_PYTHON_VERSION_MINOR}
++ boost_python${MGR_PYTHON_VERSION_MAJOR}${MGR_PYTHON_VERSION_MINOR}
+ ${MGR_PYTHON_LIBRARIES} ${CMAKE_DL_LIBS} ${GSSAPI_LIBRARIES})
+ set_target_properties(ceph-mgr PROPERTIES
+ POSITION_INDEPENDENT_CODE ${EXE_LINKER_USE_PIE})
+diff --git a/src/rbd_replay/CMakeLists.txt b/src/rbd_replay/CMakeLists.txt
+index e9d3804c5f..5c6eb58de1 100644
+--- a/src/rbd_replay/CMakeLists.txt
++++ b/src/rbd_replay/CMakeLists.txt
+@@ -36,7 +36,7 @@ if(HAVE_BABELTRACE)
+ global
+ babeltrace
+ babeltrace-ctf
+- Boost::date_time
++ boost_date_time
+ )
+ install(TARGETS rbd-replay-prep DESTINATION bin)
+ endif(HAVE_BABELTRACE)
+diff --git a/src/rgw/CMakeLists.txt b/src/rgw/CMakeLists.txt
+index 82f5181f5b..8a51f140fb 100644
+--- a/src/rgw/CMakeLists.txt
++++ b/src/rgw/CMakeLists.txt
+@@ -202,7 +202,7 @@ if(WITH_CURL_OPENSSL)
+ endif()
+
+ if(WITH_BOOST_CONTEXT)
+- target_link_libraries(rgw_a PRIVATE Boost::coroutine Boost::context)
++ target_link_libraries(rgw_a PRIVATE boost_coroutine boost_context)
+ endif()
+
+ set(rgw_libs rgw_a)
+@@ -353,7 +353,7 @@ if(WITH_RADOSGW_AMQP_ENDPOINT)
+ target_link_libraries(rgw_admin_user PRIVATE RabbitMQ::RabbitMQ)
+ endif()
+ if(WITH_BOOST_CONTEXT)
+- target_link_libraries(rgw_admin_user PRIVATE Boost::coroutine Boost::context)
++ target_link_libraries(rgw_admin_user PRIVATE boost_coroutine boost_context)
+ endif()
+
+ if(WITH_TESTS)
+diff --git a/src/test/CMakeLists.txt b/src/test/CMakeLists.txt
+index 5dcee1694d..60743be698 100644
+--- a/src/test/CMakeLists.txt
++++ b/src/test/CMakeLists.txt
+@@ -159,7 +159,7 @@ add_executable(ceph_omapbench
+ )
+ target_link_libraries(ceph_omapbench
+ librados
+- Boost::program_options
++ boost_program_options
+ global
+ ${BLKID_LIBRARIES}
+ ${CMAKE_DL_LIBS}
+diff --git a/src/test/common/CMakeLists.txt b/src/test/common/CMakeLists.txt
+index 71fb77cda9..aff8fb6565 100644
+--- a/src/test/common/CMakeLists.txt
++++ b/src/test/common/CMakeLists.txt
+@@ -315,8 +315,8 @@ add_ceph_unittest(unittest_hobject)
+
+ add_executable(unittest_async_completion test_async_completion.cc)
+ add_ceph_unittest(unittest_async_completion)
+-target_link_libraries(unittest_async_completion Boost::system)
++target_link_libraries(unittest_async_completion boost_system)
+
+ add_executable(unittest_async_shared_mutex test_async_shared_mutex.cc)
+ add_ceph_unittest(unittest_async_shared_mutex)
+-target_link_libraries(unittest_async_shared_mutex ceph-common Boost::system)
++target_link_libraries(unittest_async_shared_mutex ceph-common boost_system)
+diff --git a/src/test/erasure-code/CMakeLists.txt b/src/test/erasure-code/CMakeLists.txt
+index 721f6c3675..1cd9635c77 100644
+--- a/src/test/erasure-code/CMakeLists.txt
++++ b/src/test/erasure-code/CMakeLists.txt
+@@ -2,15 +2,15 @@
+ add_executable(ceph_erasure_code_benchmark
+ ${CMAKE_SOURCE_DIR}/src/erasure-code/ErasureCode.cc
+ ceph_erasure_code_benchmark.cc)
+-target_link_libraries(ceph_erasure_code_benchmark ceph-common Boost::program_options global ${CMAKE_DL_LIBS})
++target_link_libraries(ceph_erasure_code_benchmark ceph-common boost_program_options global ${CMAKE_DL_LIBS})
+ install(TARGETS ceph_erasure_code_benchmark
+ DESTINATION bin)
+
+ add_executable(ceph_erasure_code_non_regression ceph_erasure_code_non_regression.cc)
+-target_link_libraries(ceph_erasure_code_non_regression ceph-common Boost::program_options global ${CMAKE_DL_LIBS})
++target_link_libraries(ceph_erasure_code_non_regression ceph-common boost_program_options global ${CMAKE_DL_LIBS})
+
+ add_executable(ceph_erasure_code ceph_erasure_code.cc)
+-target_link_libraries(ceph_erasure_code ceph-common Boost::program_options global ${CMAKE_DL_LIBS})
++target_link_libraries(ceph_erasure_code ceph-common boost_program_options global ${CMAKE_DL_LIBS})
+ install(TARGETS ceph_erasure_code
+ DESTINATION bin)
+
+diff --git a/src/test/librados/CMakeLists.txt b/src/test/librados/CMakeLists.txt
+index 4fc53d2406..e6304394f8 100644
+--- a/src/test/librados/CMakeLists.txt
++++ b/src/test/librados/CMakeLists.txt
+@@ -62,7 +62,7 @@ add_executable(ceph_test_rados_api_asio asio.cc)
+ target_link_libraries(ceph_test_rados_api_asio global
+ librados ${UNITTEST_LIBS})
+ if(WITH_BOOST_CONTEXT)
+- target_link_libraries(ceph_test_rados_api_asio Boost::coroutine Boost::context)
++ target_link_libraries(ceph_test_rados_api_asio boost_coroutine boost_context)
+ endif()
+
+ add_executable(ceph_test_rados_api_list
+@@ -132,7 +132,7 @@ add_executable(ceph_test_rados_api_tier_pp
+ tier_cxx.cc
+ $<TARGET_OBJECTS:unit-main>)
+ target_link_libraries(ceph_test_rados_api_tier_pp
+- librados global ${UNITTEST_LIBS} Boost::system radostest-cxx)
++ librados global ${UNITTEST_LIBS} boost_system radostest-cxx)
+
+ add_executable(ceph_test_rados_api_snapshots
+ snapshots.cc)
+diff --git a/src/test/librbd/CMakeLists.txt b/src/test/librbd/CMakeLists.txt
+index 3c3e9db6c1..2c208c1a4f 100644
+--- a/src/test/librbd/CMakeLists.txt
++++ b/src/test/librbd/CMakeLists.txt
+@@ -27,7 +27,7 @@ target_link_libraries(rbd_test PRIVATE
+ radostest
+ radostest-cxx
+ librados
+- Boost::thread
++ boost_thread
+ GMock::GMock
+ GTest::GTest)
+
+diff --git a/src/test/rgw/CMakeLists.txt b/src/test/rgw/CMakeLists.txt
+index cde6348d57..e6ce738834 100644
+--- a/src/test/rgw/CMakeLists.txt
++++ b/src/test/rgw/CMakeLists.txt
+@@ -144,7 +144,7 @@ add_ceph_unittest(unittest_rgw_dmclock_scheduler)
+ target_link_libraries(unittest_rgw_dmclock_scheduler radosgw_a dmclock)
+ if(WITH_BOOST_CONTEXT)
+ target_compile_definitions(unittest_rgw_dmclock_scheduler PRIVATE BOOST_COROUTINES_NO_DEPRECATION_WARNING)
+- target_link_libraries(unittest_rgw_dmclock_scheduler Boost::coroutine Boost::context)
++ target_link_libraries(unittest_rgw_dmclock_scheduler boost_coroutine boost_context)
+ endif()
+
+ if(WITH_RADOSGW_AMQP_ENDPOINT)
+diff --git a/src/tools/CMakeLists.txt b/src/tools/CMakeLists.txt
+index d31f3d2408..6945018b11 100644
+--- a/src/tools/CMakeLists.txt
++++ b/src/tools/CMakeLists.txt
+@@ -35,20 +35,20 @@ install(PROGRAMS
+ endif(WITH_TESTS)
+
+ add_executable(ceph-osdomap-tool ceph_osdomap_tool.cc)
+-target_link_libraries(ceph-osdomap-tool os global Boost::program_options)
++target_link_libraries(ceph-osdomap-tool os global boost_program_options)
+ install(TARGETS ceph-osdomap-tool DESTINATION bin)
+
+ add_executable(ceph-monstore-tool
+ ceph_monstore_tool.cc
+ ../mgr/mgr_commands.cc)
+-target_link_libraries(ceph-monstore-tool os global Boost::program_options)
++target_link_libraries(ceph-monstore-tool os global boost_program_options)
+ install(TARGETS ceph-monstore-tool DESTINATION bin)
+
+ add_executable(ceph-objectstore-tool
+ ceph_objectstore_tool.cc
+ rebuild_mondb.cc
+ RadosDump.cc)
+-target_link_libraries(ceph-objectstore-tool osd os global Boost::program_options ${CMAKE_DL_LIBS})
++target_link_libraries(ceph-objectstore-tool osd os global boost_program_options ${CMAKE_DL_LIBS})
+ if(WITH_FUSE)
+ target_link_libraries(ceph-objectstore-tool ${FUSE_LIBRARIES})
+ endif(WITH_FUSE)
diff --git a/sys-cluster/ceph/files/ceph-14.2.5-no-virtualenvs.patch b/sys-cluster/ceph/files/ceph-14.2.5-no-virtualenvs.patch
new file mode 100644
index 00000000000..5b7cb41c87a
--- /dev/null
+++ b/sys-cluster/ceph/files/ceph-14.2.5-no-virtualenvs.patch
@@ -0,0 +1,39 @@
+diff --git a/src/pybind/mgr/dashboard/CMakeLists.txt b/src/pybind/mgr/dashboard/CMakeLists.txt
+index b6c7861838..8ce95a93a5 100644
+--- a/src/pybind/mgr/dashboard/CMakeLists.txt
++++ b/src/pybind/mgr/dashboard/CMakeLists.txt
+@@ -2,7 +2,7 @@ set(MGR_DASHBOARD_VIRTUALENV ${CEPH_BUILD_VIRTUALENV}/mgr-dashboard-virtualenv)
+
+ add_custom_target(mgr-dashboard-test-venv
+ COMMAND
+- ${CMAKE_SOURCE_DIR}/src/tools/setup-virtualenv.sh --python=${MGR_PYTHON_EXECUTABLE} ${MGR_DASHBOARD_VIRTUALENV}
++ #${CMAKE_SOURCE_DIR}/src/tools/setup-virtualenv.sh --python=${MGR_PYTHON_EXECUTABLE} ${MGR_DASHBOARD_VIRTUALENV}
+ WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}/src/pybind/mgr/dashboard
+ COMMENT "dashboard tests virtualenv is being created")
+ add_dependencies(tests mgr-dashboard-test-venv)
+@@ -14,9 +14,9 @@ function(add_npm_command)
+ set(multi_kw COMMAND DEPENDS)
+ cmake_parse_arguments(NC "${options}" "${single_kw}" "${multi_kw}" ${ARGN})
+ string(REPLACE ";" " " command "${NC_COMMAND}")
+- if(NC_NODEENV)
+- string(REGEX REPLACE "^(.*(npm|npx) .*)$" ". ${mgr-dashboard-nodeenv-dir}/bin/activate && \\1 && deactivate" command ${command})
+- endif()
++ #if(NC_NODEENV)
++ # string(REGEX REPLACE "^(.*(npm|npx) .*)$" ". ${mgr-dashboard-nodeenv-dir}/bin/activate && \\1 && deactivate" command ${command})
++ #endif()
+ string(REPLACE " " ";" command "${command}")
+ add_custom_command(
+ OUTPUT "${NC_OUTPUT}"
+@@ -41,9 +41,9 @@ else()
+
+ add_custom_command(
+ OUTPUT "${mgr-dashboard-nodeenv-dir}/bin/npm"
+- COMMAND ${CMAKE_SOURCE_DIR}/src/tools/setup-virtualenv.sh --python=${MGR_PYTHON_EXECUTABLE} ${mgr-dashboard-nodeenv-dir}
+- COMMAND ${mgr-dashboard-nodeenv-dir}/bin/pip install nodeenv
+- COMMAND ${mgr-dashboard-nodeenv-dir}/bin/nodeenv -p --node=10.13.0
++ #COMMAND ${CMAKE_SOURCE_DIR}/src/tools/setup-virtualenv.sh --python=${MGR_PYTHON_EXECUTABLE} ${mgr-dashboard-nodeenv-dir}
++ #COMMAND ${mgr-dashboard-nodeenv-dir}/bin/pip install nodeenv
++ #COMMAND ${mgr-dashboard-nodeenv-dir}/bin/nodeenv -p --node=10.13.0
+ WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
+ COMMENT "dashboard nodeenv is being installed"
+ )
diff --git a/sys-cluster/ceph/metadata.xml b/sys-cluster/ceph/metadata.xml
index bfbf70b7a30..d69494c3b6d 100644
--- a/sys-cluster/ceph/metadata.xml
+++ b/sys-cluster/ceph/metadata.xml
@@ -20,6 +20,7 @@
<flag name="babeltrace">Add support for LTTng babeltrace</flag>
<flag name="cephfs">Build support for cephfs, a POSIX compatible filesystem built on top of ceph</flag>
<flag name="dpdk">Enable DPDK messaging</flag>
+ <flag name="spdk">Enable SPDK user-mode storage driver toolkit</flag>
<flag name="fuse">Build fuse client</flag>
<flag name="grafana">Install grafana dashboards</flag>
<flag name="lttng">Add support for LTTng</flag>
^ permalink raw reply related [flat|nested] 68+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-cluster/ceph/, sys-cluster/ceph/files/
@ 2019-11-08 23:26 Patrick McLean
0 siblings, 0 replies; 68+ messages in thread
From: Patrick McLean @ 2019-11-08 23:26 UTC (permalink / raw
To: gentoo-commits
commit: 8c9da308d9c8ee174b4627b75bbfc30bc91c6f65
Author: Patrick McLean <patrick.mclean <AT> sony <DOT> com>
AuthorDate: Fri Nov 8 23:25:23 2019 +0000
Commit: Patrick McLean <chutzpah <AT> gentoo <DOT> org>
CommitDate: Fri Nov 8 23:25:23 2019 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=8c9da308
sys-cluster/ceph: revbump to 14.2.4-r1, misc fixes
Copyright: Sony Interactive Entertainment Inc.
Package-Manager: Portage-2.3.78, Repoman-2.3.17
Signed-off-by: Patrick McLean <chutzpah <AT> gentoo.org>
.../{ceph-14.2.4.ebuild => ceph-14.2.4-r1.ebuild} | 4 ++
.../ceph/files/ceph-14.2.4-python-executable.patch | 29 +++++++++
.../files/ceph-14.2.4-undefined-behaviour.patch | 76 ++++++++++++++++++++++
3 files changed, 109 insertions(+)
diff --git a/sys-cluster/ceph/ceph-14.2.4.ebuild b/sys-cluster/ceph/ceph-14.2.4-r1.ebuild
similarity index 98%
rename from sys-cluster/ceph/ceph-14.2.4.ebuild
rename to sys-cluster/ceph/ceph-14.2.4-r1.ebuild
index 82af9e6a844..02af6882fd5 100644
--- a/sys-cluster/ceph/ceph-14.2.4.ebuild
+++ b/sys-cluster/ceph/ceph-14.2.4-r1.ebuild
@@ -154,6 +154,8 @@ PATCHES=(
"${FILESDIR}/ceph-14.2.0-cython-0.29.patch"
"${FILESDIR}/ceph-14.2.3-boost-1.70.patch"
"${FILESDIR}/ceph-14.2.3-dpdk-compile-fix-1.patch"
+ "${FILESDIR}/ceph-14.2.4-python-executable.patch"
+ "${FILESDIR}/ceph-14.2.4-undefined-behaviour.patch"
)
# dpdk and ninja don't get along
@@ -294,6 +296,8 @@ python_install() {
pushd "${BUILD_DIR}/src/pybind" >/dev/null || die
DESTDIR="${ED}" emake VERBOSE=1 install
popd >/dev/null || die
+
+ python_optimize
}
src_install() {
diff --git a/sys-cluster/ceph/files/ceph-14.2.4-python-executable.patch b/sys-cluster/ceph/files/ceph-14.2.4-python-executable.patch
new file mode 100644
index 00000000000..40feaf11ad3
--- /dev/null
+++ b/sys-cluster/ceph/files/ceph-14.2.4-python-executable.patch
@@ -0,0 +1,29 @@
+diff --git a/src/ceph-crash.in b/src/ceph-crash.in
+index 5bfb50c474..d53c4eeb6a 100755
+--- a/src/ceph-crash.in
++++ b/src/ceph-crash.in
+@@ -1,4 +1,4 @@
+-#!@PYTHON_EXECUTABLE@
++#!@PYTHON3_EXECUTABLE@
+ # -*- mode:python -*-
+ # vim: ts=4 sw=4 smarttab expandtab
+
+diff --git a/src/ceph.in b/src/ceph.in
+index f060023f57..3a84263ccc 100755
+--- a/src/ceph.in
++++ b/src/ceph.in
+@@ -1,4 +1,4 @@
+-#!@PYTHON_EXECUTABLE@
++#!@PYTHON3_EXECUTABLE@
+ # -*- mode:python -*-
+ # vim: ts=4 sw=4 smarttab expandtab
+ #
+@@ -66,7 +66,7 @@ DEVMODEMSG = '*** DEVELOPER MODE: setting PATH, PYTHONPATH and LD_LIBRARY_PATH *
+ def respawn_in_path(lib_path, pybind_path, pythonlib_path, asan_lib_path):
+ execv_cmd = []
+ if 'CEPH_DBG' in os.environ:
+- execv_cmd += ['@PYTHON_EXECUTABLE@', '-mpdb']
++ execv_cmd += ['@PYTHON3_EXECUTABLE@', '-mpdb']
+
+ if platform.system() == "Darwin":
+ lib_path_var = "DYLD_LIBRARY_PATH"
diff --git a/sys-cluster/ceph/files/ceph-14.2.4-undefined-behaviour.patch b/sys-cluster/ceph/files/ceph-14.2.4-undefined-behaviour.patch
new file mode 100644
index 00000000000..99249fb01a0
--- /dev/null
+++ b/sys-cluster/ceph/files/ceph-14.2.4-undefined-behaviour.patch
@@ -0,0 +1,76 @@
+diff --git a/src/include/blobhash.h b/src/include/blobhash.h
+index 597884e4c9..97f2065ce3 100644
+--- a/src/include/blobhash.h
++++ b/src/include/blobhash.h
+@@ -14,33 +14,40 @@
+ #ifndef CEPH_BLOBHASH_H
+ #define CEPH_BLOBHASH_H
+
++#include <cstdint>
+ #include "hash.h"
+
+-/*
+-- this is to make some of the STL types work with 64 bit values, string hash keys, etc.
+-- added when i was using an old STL.. maybe try taking these out and see if things
+- compile now?
+-*/
+-
+ class blobhash {
+ public:
+- uint32_t operator()(const char *p, unsigned len) {
+- static rjhash<uint32_t> H;
+- uint32_t acc = 0;
++ uint32_t operator()(const void* p, size_t len) {
++ static rjhash<std::uint32_t> H;
++ std::uint32_t acc = 0;
++ auto buf = static_cast<const unsigned char*>(p);
+ while (len >= sizeof(acc)) {
+- acc ^= *(uint32_t*)p;
+- p += sizeof(uint32_t);
+- len -= sizeof(uint32_t);
++ acc ^= unaligned_load(buf);
++ buf += sizeof(std::uint32_t);
++ len -= sizeof(std::uint32_t);
+ }
+- int sh = 0;
+- while (len) {
+- acc ^= (uint32_t)*p << sh;
+- sh += 8;
+- len--;
+- p++;
++ // handle the last few bytes of p[-(len % 4):]
++ switch (len) {
++ case 3:
++ acc ^= buf[2] << 16;
++ [[fallthrough]];
++ case 2:
++ acc ^= buf[1] << 8;
++ [[fallthrough]];
++ case 1:
++ acc ^= buf[0];
++ [[fallthrough]];
+ }
+ return H(acc);
+ }
++private:
++ static inline std::uint32_t unaligned_load(const unsigned char* p) {
++ std::uint32_t result;
++ __builtin_memcpy(&result, p, sizeof(result));
++ return result;
++ }
+ };
+
+
+diff --git a/src/msg/msg_types.h b/src/msg/msg_types.h
+index b6952ca498..576b7d6b8a 100644
+--- a/src/msg/msg_types.h
++++ b/src/msg/msg_types.h
+@@ -566,7 +566,7 @@ namespace std {
+ size_t operator()( const entity_addr_t& x ) const
+ {
+ static blobhash H;
+- return H((const char*)&x, sizeof(x));
++ return H(&x, sizeof(x));
+ }
+ };
+ } // namespace std
^ permalink raw reply related [flat|nested] 68+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-cluster/ceph/, sys-cluster/ceph/files/
@ 2019-09-17 22:56 Patrick McLean
0 siblings, 0 replies; 68+ messages in thread
From: Patrick McLean @ 2019-09-17 22:56 UTC (permalink / raw
To: gentoo-commits
commit: c7b2b02c6ba86ca2e4d36ee847fa4cca88dc46c2
Author: Patrick McLean <patrick.mclean <AT> sony <DOT> com>
AuthorDate: Tue Sep 17 22:55:07 2019 +0000
Commit: Patrick McLean <chutzpah <AT> gentoo <DOT> org>
CommitDate: Tue Sep 17 22:55:52 2019 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=c7b2b02c
sys-cluster/ceph: Version bump to 14.2.4, drop x86 (bug 687344)
Dropped x86 keyword since it doesn't build (bug #687344)
Upstream fix for bug #694140 included in release
Closes: https://bugs.gentoo.org/687344
Closes: https://bugs.gentoo.org/694140
Copyright: Sony Interactive Entertainment Inc.
Package-Manager: Portage-2.3.76, Repoman-2.3.17
Signed-off-by: Patrick McLean <chutzpah <AT> gentoo.org>
sys-cluster/ceph/Manifest | 1 +
sys-cluster/ceph/ceph-14.2.4.ebuild | 356 +++++++++++++++++++++
.../files/ceph-14.2.3-dpdk-compile-fix-1.patch | 111 +++++++
3 files changed, 468 insertions(+)
diff --git a/sys-cluster/ceph/Manifest b/sys-cluster/ceph/Manifest
index 0655ed2e6b6..b1f4c196936 100644
--- a/sys-cluster/ceph/Manifest
+++ b/sys-cluster/ceph/Manifest
@@ -4,3 +4,4 @@ DIST ceph-12.2.8.tar.gz 77243685 BLAKE2B 37c34396a0c276b8d79735e14934ac70da02482
DIST ceph-13.2.5.tar.gz 91006057 BLAKE2B 68551e2f54d78aff7b0e9ec3c62e6a3394dd7c23e80924a5b400cd9666a05a42e5f22445deee4040f1b78201c6a6660b283109878d4c92d845821bff831c8a5e SHA512 6daea524523f829e725609328ea71f416b2c3a9530fa8956720a7bc69dc08e55a169654f500704579dc9ba693f04eedd7e04614c0850e9ab1169cd45f19039f8
DIST ceph-13.2.6.tar.gz 90808224 BLAKE2B cd7b4f4838eafc9dd580102cbb5247b86a153f90127f81355b556f32dbbacd2d7fb0144d15f99869a318a7148d2f50a9f995eb05aee056d7a5843830ede5702c SHA512 1e9c08d16b14447bf6b8bb72144e053aa9d5cf390bb4a6e878869e38895d3698073502fe9c4f8b775a3da872b920444bd01260105d3a839e53cf90cd27c6ab9c
DIST ceph-14.2.3.tar.gz 118349530 BLAKE2B db73d6adeca84426eee1b47a8ee68c4f94ee7a61e60ef1127153d19e02472a658877ebb7adfad5b4725d2c8c38855636bad1c44e79a3d3c397b56f74bf4b53fa SHA512 3d02e766a1d53d39355ee88738dd0233dc02f8a3cb44935194cb538b888507de8f8acdd99bf7890895f68795a310f53e2a8652305d5f2be5212efbd9046bd3a9
+DIST ceph-14.2.4.tar.gz 116371380 BLAKE2B 2d2c78ec32a0749df16e9c527d2fd087a75daeb2ef26ac5f6aa641989eab62fa276eb320b873740e9eee3fd4f369da152c53c2389b1def1b6a45906ccc1bd1f1 SHA512 dc60321ed4dcaccacca711ab70c35011b5dfc6b8369016fb413a9976199ed4ba22c7dc87ba1ebaf1118513dee1a0c263c99ab137f27fc03c55e8a0625a3bdcc0
diff --git a/sys-cluster/ceph/ceph-14.2.4.ebuild b/sys-cluster/ceph/ceph-14.2.4.ebuild
new file mode 100644
index 00000000000..82af9e6a844
--- /dev/null
+++ b/sys-cluster/ceph/ceph-14.2.4.ebuild
@@ -0,0 +1,356 @@
+# Copyright 1999-2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+PYTHON_COMPAT=( python{2_7,3_{5,6,7}} )
+DISTUTILS_OPTIONAL=1
+
+inherit check-reqs bash-completion-r1 cmake-utils distutils-r1 flag-o-matic \
+ multiprocessing python-r1 udev user readme.gentoo-r1 toolchain-funcs \
+ systemd
+
+if [[ ${PV} == *9999* ]]; then
+ inherit git-r3
+ EGIT_REPO_URI="https://github.com/ceph/ceph.git"
+ SRC_URI=""
+else
+ SRC_URI="https://download.ceph.com/tarballs/${P}.tar.gz"
+ KEYWORDS="~amd64 ~arm64"
+fi
+
+DESCRIPTION="Ceph distributed filesystem"
+HOMEPAGE="https://ceph.com/"
+
+LICENSE="LGPL-2.1 CC-BY-SA-3.0 GPL-2 GPL-2+ LGPL-2+ BSD Boost-1.0 MIT public-domain"
+SLOT="0"
+
+CPU_FLAGS_X86=(sse{,2,3,4_1,4_2} ssse3)
+
+IUSE="babeltrace cephfs dpdk fuse grafana jemalloc kerberos ldap libressl"
+IUSE+=" lttng +mgr numa rabbitmq +radosgw +ssl static-libs system-boost"
+IUSE+=" systemd +tcmalloc test xfs zfs"
+IUSE+=" $(printf "cpu_flags_x86_%s\n" ${CPU_FLAGS_X86[@]})"
+
+COMMON_DEPEND="
+ virtual/libudev:=
+ app-arch/bzip2:=[static-libs?]
+ app-arch/lz4:=[static-libs?]
+ app-arch/snappy:=[static-libs?]
+ app-arch/zstd:=[static-libs?]
+ app-misc/jq:=[static-libs?]
+ dev-libs/crypto++:=[static-libs?]
+ dev-libs/leveldb:=[snappy,static-libs?,tcmalloc?]
+ dev-libs/libaio:=[static-libs?]
+ dev-libs/libxml2:=[static-libs?]
+ dev-libs/nss:=
+ sys-auth/oath-toolkit:=
+ sys-apps/keyutils:=[static-libs?]
+ sys-apps/util-linux:=[static-libs?]
+ sys-libs/ncurses:0=[static-libs?]
+ sys-libs/zlib:=[static-libs?]
+ babeltrace? ( dev-util/babeltrace )
+ ldap? ( net-nds/openldap:=[static-libs?] )
+ lttng? ( dev-util/lttng-ust:= )
+ fuse? ( sys-fs/fuse:0=[static-libs?] )
+ kerberos? ( virtual/krb5 )
+ rabbitmq? ( net-libs/rabbitmq-c:=[static-libs?] )
+ ssl? (
+ !libressl? ( dev-libs/openssl:=[static-libs?] )
+ libressl? ( dev-libs/libressl:=[static-libs?] )
+ )
+ xfs? ( sys-fs/xfsprogs:=[static-libs?] )
+ zfs? ( sys-fs/zfs:=[static-libs?] )
+ radosgw? (
+ dev-libs/expat:=[static-libs?]
+ !libressl? (
+ dev-libs/openssl:=[static-libs?]
+ net-misc/curl:=[curl_ssl_openssl,static-libs?]
+ )
+ libressl? (
+ dev-libs/libressl:=[static-libs?]
+ net-misc/curl:=[curl_ssl_libressl,static-libs?]
+ )
+ )
+ system-boost? (
+ || (
+ ~dev-libs/boost-1.70.0[threads,context,python,static-libs?,${PYTHON_USEDEP}]
+ ~dev-libs/boost-1.67.0[threads,context,python,static-libs?,${PYTHON_USEDEP}]
+ )
+ dev-libs/boost:=[threads,context,python,static-libs?,${PYTHON_USEDEP}]
+ )
+ jemalloc? ( dev-libs/jemalloc:=[static-libs?] )
+ !jemalloc? ( >=dev-util/google-perftools-2.4:=[static-libs?] )
+ ${PYTHON_DEPS}
+ "
+DEPEND="${COMMON_DEPEND}
+ amd64? ( dev-lang/yasm )
+ x86? ( dev-lang/yasm )
+ dev-python/cython[${PYTHON_USEDEP}]
+ dev-python/sphinx
+ dev-util/cunit
+ test? (
+ dev-python/coverage[${PYTHON_USEDEP}]
+ dev-python/virtualenv[${PYTHON_USEDEP}]
+ sys-apps/grep[pcre]
+ sys-fs/btrfs-progs
+ )
+ "
+BDEPEND=" app-arch/cpio
+ >=dev-util/cmake-3.5.0
+ dev-util/gperf
+ dev-util/valgrind
+ sys-apps/which
+ sys-devel/bc
+ virtual/pkgconfig
+ "
+RDEPEND="${COMMON_DEPEND}
+ net-misc/socat
+ sys-apps/gptfdisk
+ sys-block/parted
+ sys-fs/cryptsetup
+ sys-fs/lvm2[-device-mapper-only(-)]
+ !<sys-apps/openrc-0.26.3
+ dev-python/bcrypt[${PYTHON_USEDEP}]
+ dev-python/cherrypy[${PYTHON_USEDEP}]
+ dev-python/flask[${PYTHON_USEDEP}]
+ dev-python/jinja[${PYTHON_USEDEP}]
+ dev-python/pecan[${PYTHON_USEDEP}]
+ dev-python/prettytable[${PYTHON_USEDEP}]
+ dev-python/pyopenssl[${PYTHON_USEDEP}]
+ dev-python/requests[${PYTHON_USEDEP}]
+ dev-python/werkzeug[${PYTHON_USEDEP}]
+ "
+REQUIRED_USE="
+ ${PYTHON_REQUIRED_USE}
+ || ( $(python_gen_useflags 'python3*') )
+ ?? ( jemalloc tcmalloc )
+ rabbitmq? ( radosgw )
+ "
+
+# the tests need root access
+RESTRICT="test? ( userpriv )"
+
+# distribution tarball does not include everything needed for tests
+RESTRICT+=" test"
+
+# false positives unless all USE flags are on
+CMAKE_WARN_UNUSED_CLI="no"
+
+UNBUNDLE_LIBS=(
+ src/erasure-code/jerasure/jerasure
+ src/erasure-code/jerasure/gf-complete
+)
+
+PATCHES=(
+ "${FILESDIR}/ceph-12.2.0-use-provided-cpu-flag-values.patch"
+ "${FILESDIR}/ceph-14.2.0-cflags.patch"
+ "${FILESDIR}/ceph-12.2.4-boost-build-none-options.patch"
+ "${FILESDIR}/ceph-13.2.0-cflags.patch"
+ "${FILESDIR}/ceph-14.2.0-mgr-python-version.patch"
+ "${FILESDIR}/ceph-14.2.0-no-virtualenvs.patch"
+ "${FILESDIR}/ceph-13.2.2-dont-install-sysvinit-script.patch"
+ "${FILESDIR}/ceph-14.2.0-dpdk-cflags.patch"
+ "${FILESDIR}/ceph-14.2.0-link-crc32-statically.patch"
+ "${FILESDIR}/ceph-14.2.0-cython-0.29.patch"
+ "${FILESDIR}/ceph-14.2.3-boost-1.70.patch"
+ "${FILESDIR}/ceph-14.2.3-dpdk-compile-fix-1.patch"
+)
+
+# dpdk and ninja don't get along
+CMAKE_MAKEFILE_GENERATOR="emake"
+
+check-reqs_export_vars() {
+ if use amd64; then
+ CHECKREQS_DISK_BUILD="12G"
+ CHECKREQS_DISK_USR="460M"
+ else
+ CHECKREQS_DISK_BUILD="1400M"
+ CHECKREQS_DISK_USR="450M"
+ fi
+
+ export CHECKREQS_DISK_BUILD CHECKREQS_DISK_USR
+}
+
+user_setup() {
+ enewgroup ceph ${CEPH_GID}
+ enewuser ceph "${CEPH_UID:--1}" -1 /var/lib/ceph ceph
+}
+
+pkg_pretend() {
+ check-reqs_export_vars
+ check-reqs_pkg_pretend
+}
+
+pkg_setup() {
+ python_setup 'python3*'
+ check-reqs_export_vars
+ check-reqs_pkg_setup
+ user_setup
+}
+
+src_prepare() {
+ cmake-utils_src_prepare
+
+ if use system-boost; then
+ eapply "${FILESDIR}/ceph-14.2.3-boost-sonames.patch"
+
+ has_version '>=dev-libs/boost-1.70.0' || \
+ eapply "${FILESDIR}/ceph-14.2.3-boost-1.6-python-sonames.patch"
+ fi
+
+ sed -i -r "s:DESTINATION .+\\):DESTINATION $(get_bashcompdir)\\):" \
+ src/bash_completion/CMakeLists.txt || die
+
+ # remove tests that need root access
+ rm src/test/cli/ceph-authtool/cap*.t || die
+}
+
+ceph_src_configure() {
+ local flag
+ local mycmakeargs=(
+ -DWITH_BABELTRACE=$(usex babeltrace)
+ -DWITH_CEPHFS=$(usex cephfs)
+ -DWITH_CEPHFS_SHELL=$(if python_is_python3; then usex cephfs; else echo OFF; fi)
+ -DWITH_DPDK=$(usex dpdk)
+ -DWITH_FUSE=$(usex fuse)
+ -DWITH_LTTNG=$(usex lttng)
+ -DWITH_GSSAPI=$(usex kerberos)
+ -DWITH_GRAFANA=$(usex grafana)
+ -DWITH_MGR=$(usex mgr)
+ -DWITH_MGR_DASHBOARD_FRONTEND=NO
+ -DWITH_NUMA=$(usex numa)
+ -DWITH_OPENLDAP=$(usex ldap)
+ -DMGR_PYTHON_VERSION=$(if python_is_python3; then echo 3; else echo 2; fi)
+ -DWITH_PYTHON3=$(if python_is_python3; then echo "ON"; else echo "OFF"; fi)
+ -DWITH_PYTHON2=$(if python_is_python3; then echo "OFF"; else echo "ON"; fi)
+ -DWITH_RADOSGW=$(usex radosgw)
+ -DWITH_RADOSGW_AMQP_ENDPOINT=$(usex rabbitmq)
+ -DWITH_SSL=$(usex ssl)
+ -DWITH_SYSTEMD=$(usex systemd)
+ -DWITH_TESTS=$(usex test)
+ -DWITH_XFS=$(usex xfs)
+ -DWITH_ZFS=$(usex zfs)
+ -DENABLE_SHARED=$(usex static-libs '' 'ON' 'OFF')
+ -DALLOCATOR=$(usex tcmalloc 'tcmalloc' "$(usex jemalloc 'jemalloc' 'libc')")
+ -DWITH_SYSTEM_BOOST=$(usex system-boost)
+ -DBOOST_J=$(makeopts_jobs)
+ -DWITH_RDMA=no
+ -DWITH_TBB=no
+ -DSYSTEMD_UNITDIR=$(systemd_get_systemunitdir)
+ -DEPYTHON_VERSION="${EPYTHON#python}"
+ -DCMAKE_INSTALL_DOCDIR="${EPREFIX}/usr/share/doc/${PN}-${PVR}"
+ -DCMAKE_INSTALL_SYSCONFDIR="${EPREFIX}/etc"
+ #-Wno-dev
+ )
+ if use amd64 || use x86; then
+ for flag in ${CPU_FLAGS_X86[@]}; do
+ mycmakeargs+=("$(usex cpu_flags_x86_${flag} "-DHAVE_INTEL_${flag^^}=1")")
+ done
+ fi
+
+ rm -f "${BUILD_DIR:-${S}}/CMakeCache.txt" \
+ || die "failed to remove cmake cache"
+
+ cmake-utils_src_configure
+
+ # bug #630232
+ sed -i "s:\"${T//:\\:}/${EPYTHON}/bin/python\":\"${PYTHON}\":" \
+ "${BUILD_DIR:-${S}}"/include/acconfig.h \
+ || die "sed failed"
+}
+
+src_configure() {
+ ceph_src_configure
+}
+
+python_compile() {
+ local CMAKE_USE_DIR="${S}"
+ ceph_src_configure
+
+ pushd "${BUILD_DIR}/src/pybind" >/dev/null || die
+ emake VERBOSE=1 clean
+ emake VERBOSE=1 all
+
+ # python modules are only compiled with "make install" so we need to do this to
+ # prevent doing a bunch of compilation in src_install
+ DESTDIR="${T}" emake VERBOSE=1 install
+ popd >/dev/null || die
+}
+
+src_compile() {
+ cmake-utils_src_make VERBOSE=1 all
+
+ # we have to do this here to prevent from building everything multiple times
+ python_copy_sources
+ python_foreach_impl python_compile
+}
+
+src_test() {
+ make check || die "make check failed"
+}
+
+python_install() {
+ local CMAKE_USE_DIR="${S}"
+ pushd "${BUILD_DIR}/src/pybind" >/dev/null || die
+ DESTDIR="${ED}" emake VERBOSE=1 install
+ popd >/dev/null || die
+}
+
+src_install() {
+ cmake-utils_src_install
+ python_foreach_impl python_install
+
+ find "${ED}" -name '*.la' -type f -delete || die
+
+ exeinto /usr/$(get_libdir)/ceph
+ newexe "${BUILD_DIR}/bin/init-ceph" init-ceph
+
+ insinto /etc/logrotate.d/
+ newins "${FILESDIR}"/ceph.logrotate-r2 ${PN}
+
+ keepdir /var/lib/${PN}{,/tmp} /var/log/${PN}/stat
+
+ fowners -R ceph:ceph /var/lib/ceph /var/log/ceph
+
+ newinitd "${FILESDIR}/rbdmap.initd" rbdmap
+ newinitd "${FILESDIR}/${PN}.initd-r12" ${PN}
+ newconfd "${FILESDIR}/${PN}.confd-r5" ${PN}
+
+ insinto /etc/sysctl.d
+ newins "${FILESDIR}"/sysctld 90-${PN}.conf
+
+ use tcmalloc && newenvd "${FILESDIR}"/envd-tcmalloc 99${PN}-tcmalloc
+
+ # units aren't installed by the build system unless systemd is enabled
+ # so no point installing these with the USE flag disabled
+ if use systemd; then
+ systemd_install_serviced "${FILESDIR}/ceph-mds_at.service.conf" \
+ "ceph-mds@.service"
+
+ systemd_install_serviced "${FILESDIR}/ceph-osd_at.service.conf" \
+ "ceph-osd@.service"
+ fi
+
+ udev_dorules udev/*.rules
+
+ readme.gentoo_create_doc
+
+ python_setup 'python3*'
+
+ # bug #630232
+ sed -i -r "s:${T//:/\\:}/${EPYTHON}:/usr:" "${ED}"/usr/bin/ceph{,-crash} \
+ || die "sed failed"
+
+ python_fix_shebang "${ED}"/usr/{,s}bin/
+
+ # python_fix_shebang apparently is not idempotent
+ sed -i -r 's:(/usr/lib/python-exec/python[0-9]\.[0-9]/python)[0-9]\.[0-9]:\1:' \
+ "${ED}"/usr/sbin/{mount.*,ceph-volume{,-systemd}} || die "sed failed"
+
+ local -a rados_classes=( "${ED}/usr/$(get_libdir)/rados-classes"/* )
+ dostrip -x "${rados_classes[@]#${ED}}"
+}
+
+pkg_postinst() {
+ readme.gentoo_print_elog
+}
diff --git a/sys-cluster/ceph/files/ceph-14.2.3-dpdk-compile-fix-1.patch b/sys-cluster/ceph/files/ceph-14.2.3-dpdk-compile-fix-1.patch
new file mode 100644
index 00000000000..ef06758326e
--- /dev/null
+++ b/sys-cluster/ceph/files/ceph-14.2.3-dpdk-compile-fix-1.patch
@@ -0,0 +1,111 @@
+diff --git a/src/msg/async/dpdk/DPDKStack.cc b/src/msg/async/dpdk/DPDKStack.cc
+index 3101ae57ac..1db97c289a 100644
+--- a/src/msg/async/dpdk/DPDKStack.cc
++++ b/src/msg/async/dpdk/DPDKStack.cc
+@@ -203,7 +203,9 @@ DPDKWorker::Impl::~Impl()
+ _dev->unset_local_queue(id);
+ }
+
+-int DPDKWorker::listen(entity_addr_t &sa, const SocketOptions &opt,
++int DPDKWorker::listen(entity_addr_t &sa,
++ unsigned addr_slot,
++ const SocketOptions &opt,
+ ServerSocket *sock)
+ {
+ ceph_assert(sa.get_family() == AF_INET);
+diff --git a/src/msg/async/dpdk/DPDKStack.h b/src/msg/async/dpdk/DPDKStack.h
+index a44ae38367..622ff8a3c6 100644
+--- a/src/msg/async/dpdk/DPDKStack.h
++++ b/src/msg/async/dpdk/DPDKStack.h
+@@ -37,7 +37,7 @@ class DPDKServerSocketImpl : public ServerSocketImpl {
+ typename Protocol::listener _listener;
+ public:
+ DPDKServerSocketImpl(Protocol& proto, uint16_t port, const SocketOptions &opt,
+- int type);
++ int type, unsigned addr_slot);
+ int listen() {
+ return _listener.listen();
+ }
+@@ -184,8 +184,9 @@ class NativeConnectedSocketImpl : public ConnectedSocketImpl {
+
+ template <typename Protocol>
+ DPDKServerSocketImpl<Protocol>::DPDKServerSocketImpl(
+- Protocol& proto, uint16_t port, const SocketOptions &opt, int type)
+- : ServerSocketImpl(type), _listener(proto.listen(port)) {}
++ Protocol& proto, uint16_t port, const SocketOptions &opt,
++ int type, unsigned addr_slot)
++ : ServerSocketImpl(type, addr_slot), _listener(proto.listen(port)) {}
+
+ template <typename Protocol>
+ int DPDKServerSocketImpl<Protocol>::accept(ConnectedSocket *s, const SocketOptions &options, entity_addr_t *out, Worker *w) {
+@@ -229,7 +230,8 @@ class DPDKWorker : public Worker {
+
+ public:
+ explicit DPDKWorker(CephContext *c, unsigned i): Worker(c, i) {}
+- virtual int listen(entity_addr_t &addr, const SocketOptions &opts, ServerSocket *) override;
++ virtual int listen(entity_addr_t &addr, unsigned addr_slot,
++ const SocketOptions &opts, ServerSocket *) override;
+ virtual int connect(const entity_addr_t &addr, const SocketOptions &opts, ConnectedSocket *socket) override;
+ void arp_learn(ethernet_address l2, ipv4_address l3) {
+ _impl->_inet.learn(l2, l3);
+diff --git a/src/msg/async/dpdk/TCP.cc b/src/msg/async/dpdk/TCP.cc
+index c6397709b1..26f29e10f7 100644
+--- a/src/msg/async/dpdk/TCP.cc
++++ b/src/msg/async/dpdk/TCP.cc
+@@ -153,9 +153,10 @@ bool ipv4_tcp::forward(forward_hash& out_hash_data, Packet& p, size_t off)
+ }
+
+ int tcpv4_listen(tcp<ipv4_traits>& tcpv4, uint16_t port, const SocketOptions &opts,
+- int type, ServerSocket *sock)
++ int type, unsigned addr_slot, ServerSocket *sock)
+ {
+- auto p = new DPDKServerSocketImpl<tcp<ipv4_traits>>(tcpv4, port, opts, type);
++ auto p = new DPDKServerSocketImpl<tcp<ipv4_traits>>(tcpv4, port, opts,
++ type, addr_slot);
+ int r = p->listen();
+ if (r < 0) {
+ delete p;
+diff --git a/src/msg/async/dpdk/DPDK.h b/src/msg/async/dpdk/DPDK.h
+index fa12af6b27..6bb52973e0 100644
+--- a/src/msg/async/dpdk/DPDK.h
++++ b/src/msg/async/dpdk/DPDK.h
+@@ -833,7 +833,7 @@ class DPDKDevice {
+ subscription<Packet> receive(unsigned cpuid, std::function<int (Packet)> next_packet) {
+ auto sub = _queues[cpuid]->_rx_stream.listen(std::move(next_packet));
+ _queues[cpuid]->rx_start();
+- return std::move(sub);
++ return sub;
+ }
+ ethernet_address hw_address() {
+ struct ether_addr mac;
+@@ -849,7 +849,7 @@ class DPDKDevice {
+ std::unique_ptr<DPDKQueuePair> init_local_queue(CephContext *c, EventCenter *center, string hugepages, uint16_t qid) {
+ std::unique_ptr<DPDKQueuePair> qp;
+ qp = std::unique_ptr<DPDKQueuePair>(new DPDKQueuePair(c, center, this, qid));
+- return std::move(qp);
++ return qp;
+ }
+ unsigned hash2qid(uint32_t hash) {
+ // return hash % hw_queues_count();
+diff --git a/src/msg/async/dpdk/Packet.h b/src/msg/async/dpdk/Packet.h
+index db9cd2a764..f929da3178 100644
+--- a/src/msg/async/dpdk/Packet.h
++++ b/src/msg/async/dpdk/Packet.h
+@@ -125,7 +125,7 @@ class Packet {
+ n->rss_hash.construct(old->rss_hash);
+ std::copy(old->frags, old->frags + old->_nr_frags, n->frags);
+ old->copy_internal_fragment_to(n.get());
+- return std::move(n);
++ return n;
+ }
+
+ static std::unique_ptr<impl> copy(impl* old) {
+@@ -134,7 +134,7 @@ class Packet {
+
+ static std::unique_ptr<impl> allocate_if_needed(std::unique_ptr<impl> old, size_t extra_frags) {
+ if (old->_allocated_frags >= old->_nr_frags + extra_frags) {
+- return std::move(old);
++ return old;
+ }
+ return copy(old.get(), std::max<size_t>(old->_nr_frags + extra_frags, 2 * old->_nr_frags));
+ }
^ permalink raw reply related [flat|nested] 68+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-cluster/ceph/, sys-cluster/ceph/files/
@ 2019-09-05 0:26 Patrick McLean
0 siblings, 0 replies; 68+ messages in thread
From: Patrick McLean @ 2019-09-05 0:26 UTC (permalink / raw
To: gentoo-commits
commit: 3f0a4e3725a08365ab41262a0719c285d1382d85
Author: Patrick McLean <patrick.mclean <AT> sony <DOT> com>
AuthorDate: Thu Sep 5 00:26:22 2019 +0000
Commit: Patrick McLean <chutzpah <AT> gentoo <DOT> org>
CommitDate: Thu Sep 5 00:26:22 2019 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=3f0a4e37
sys-cluster/ceph: Version bump to 14.2.3
Copyright: Sony Interactive Entertainment Inc.
Package-Manager: Portage-2.3.75, Repoman-2.3.17
Signed-off-by: Patrick McLean <chutzpah <AT> gentoo.org>
sys-cluster/ceph/Manifest | 2 +-
.../{ceph-14.2.2.ebuild => ceph-14.2.3.ebuild} | 17 +-
.../ceph/files/ceph-14.2.0-boost-sonames.patch | 334 ---------------------
.../ceph-14.2.3-boost-1.6-python-sonames.patch | 26 ++
...ost-1.70.patch => ceph-14.2.3-boost-1.70.patch} | 42 ---
...names.patch => ceph-14.2.3-boost-sonames.patch} | 32 +-
6 files changed, 48 insertions(+), 405 deletions(-)
diff --git a/sys-cluster/ceph/Manifest b/sys-cluster/ceph/Manifest
index 61a1acb646d..0655ed2e6b6 100644
--- a/sys-cluster/ceph/Manifest
+++ b/sys-cluster/ceph/Manifest
@@ -3,4 +3,4 @@ DIST ceph-12.2.12.tar.gz 77467762 BLAKE2B a5224432121db9ef49c1e22771d847399df2f7
DIST ceph-12.2.8.tar.gz 77243685 BLAKE2B 37c34396a0c276b8d79735e14934ac70da024822c2a060061531c234e03e5d41aad6c41dc64b05c2ce47f03287d0cae9ef9bed67e4a0861b6380c8ce1de4ea69 SHA512 91c5c11aaeef701b3e31c9f8a1192b6b79fd34f3b96c61595c65173c98bfce0009c5b7c9b29764f5e4d4b1f5ac2ca7109fed5ae598c176aba717a34a132fabac
DIST ceph-13.2.5.tar.gz 91006057 BLAKE2B 68551e2f54d78aff7b0e9ec3c62e6a3394dd7c23e80924a5b400cd9666a05a42e5f22445deee4040f1b78201c6a6660b283109878d4c92d845821bff831c8a5e SHA512 6daea524523f829e725609328ea71f416b2c3a9530fa8956720a7bc69dc08e55a169654f500704579dc9ba693f04eedd7e04614c0850e9ab1169cd45f19039f8
DIST ceph-13.2.6.tar.gz 90808224 BLAKE2B cd7b4f4838eafc9dd580102cbb5247b86a153f90127f81355b556f32dbbacd2d7fb0144d15f99869a318a7148d2f50a9f995eb05aee056d7a5843830ede5702c SHA512 1e9c08d16b14447bf6b8bb72144e053aa9d5cf390bb4a6e878869e38895d3698073502fe9c4f8b775a3da872b920444bd01260105d3a839e53cf90cd27c6ab9c
-DIST ceph-14.2.2.tar.gz 117536881 BLAKE2B 2926c3d6fde5e9540d4e797dabf61451ce78e5d2f8d382d192fd8c1759620075860ab0cea7512330f2965d11e4b37a0ecce4fa11d9c5d256ecc884fa5f604922 SHA512 1ce61fb75e331cca39aaa8c0498bbb3cb874edb22ea45a4c2d82171b5e0c7c4ab2b081674b77177d5e612a0efdfa01de10a4becc4a7ee0eed1b2b3d358a72dc1
+DIST ceph-14.2.3.tar.gz 118349530 BLAKE2B db73d6adeca84426eee1b47a8ee68c4f94ee7a61e60ef1127153d19e02472a658877ebb7adfad5b4725d2c8c38855636bad1c44e79a3d3c397b56f74bf4b53fa SHA512 3d02e766a1d53d39355ee88738dd0233dc02f8a3cb44935194cb538b888507de8f8acdd99bf7890895f68795a310f53e2a8652305d5f2be5212efbd9046bd3a9
diff --git a/sys-cluster/ceph/ceph-14.2.2.ebuild b/sys-cluster/ceph/ceph-14.2.3.ebuild
similarity index 94%
rename from sys-cluster/ceph/ceph-14.2.2.ebuild
rename to sys-cluster/ceph/ceph-14.2.3.ebuild
index 0f25b21d3b7..f440a49160c 100644
--- a/sys-cluster/ceph/ceph-14.2.2.ebuild
+++ b/sys-cluster/ceph/ceph-14.2.3.ebuild
@@ -152,6 +152,7 @@ PATCHES=(
"${FILESDIR}/ceph-14.2.0-dpdk-cflags.patch"
"${FILESDIR}/ceph-14.2.0-link-crc32-statically.patch"
"${FILESDIR}/ceph-14.2.0-cython-0.29.patch"
+ "${FILESDIR}/ceph-14.2.3-boost-1.70.patch"
)
# dpdk and ninja don't get along
@@ -177,12 +178,6 @@ user_setup() {
pkg_pretend() {
check-reqs_export_vars
check-reqs_pkg_pretend
-
- if use system-boost && has_version '~dev-libs/boost-1.70.0'; then
- ewarn "Building with boost-1.70 is experimental, and may cause runtime"
- ewarn "failures. Disable the system-boost USE flag to use bundled boost"
- ewarn "if you want an upstream supported configuration."
- fi
}
pkg_setup() {
@@ -196,12 +191,10 @@ src_prepare() {
cmake-utils_src_prepare
if use system-boost; then
- if has_version '~dev-libs/boost-1.70.0'; then
- eapply "${FILESDIR}/ceph-14.2.0-boost-1.70-sonames.patch" \
- "${FILESDIR}/ceph-14.2.0-boost-1.70.patch"
- else
- eapply "${FILESDIR}/ceph-14.2.0-boost-sonames.patch"
- fi
+ eapply "${FILESDIR}/ceph-14.2.3-boost-sonames.patch"
+
+ has_version '>=dev-libs/boost-1.70.0' || \
+ eapply "${FILESDIR}/ceph-14.2.3-boost-1.6-python-sonames.patch"
fi
sed -i -r "s:DESTINATION .+\\):DESTINATION $(get_bashcompdir)\\):" \
diff --git a/sys-cluster/ceph/files/ceph-14.2.0-boost-sonames.patch b/sys-cluster/ceph/files/ceph-14.2.0-boost-sonames.patch
deleted file mode 100644
index 497d5953051..00000000000
--- a/sys-cluster/ceph/files/ceph-14.2.0-boost-sonames.patch
+++ /dev/null
@@ -1,334 +0,0 @@
-diff --git a/CMakeLists.txt b/CMakeLists.txt
-index dbabecbe97..d12b696bb5 100644
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -640,7 +640,7 @@ set(BOOST_HEADER_COMPONENTS container)
-
- if(WITH_MGR)
- list(APPEND BOOST_COMPONENTS
-- python${MGR_PYTHON_VERSION_MAJOR}${MGR_PYTHON_VERSION_MINOR})
-+ python-${MGR_PYTHON_VERSION_MAJOR}.${MGR_PYTHON_VERSION_MINOR})
- endif()
- if(WITH_BOOST_CONTEXT)
- list(APPEND BOOST_COMPONENTS context coroutine)
-diff --git a/cmake/modules/FindBoost.cmake b/cmake/modules/FindBoost.cmake
-index bfab4ca436..90ed0cbb17 100644
---- a/cmake/modules/FindBoost.cmake
-+++ b/cmake/modules/FindBoost.cmake
-@@ -1181,10 +1181,10 @@ endif()
- # on all platforms to keep end user code free from platform dependent
- # code. Also provide convenience targets to disable autolinking and
- # enable dynamic linking.
--if(NOT TARGET Boost::diagnostic_definitions)
-- add_library(Boost::diagnostic_definitions INTERFACE IMPORTED)
-- add_library(Boost::disable_autolinking INTERFACE IMPORTED)
-- add_library(Boost::dynamic_linking INTERFACE IMPORTED)
-+if(NOT TARGET boost_diagnostic_definitions)
-+ add_library(boost_diagnostic_definitions INTERFACE IMPORTED)
-+ add_library(boost_disable_autolinking INTERFACE IMPORTED)
-+ add_library(boost_dynamic_linking INTERFACE IMPORTED)
- endif()
- if(WIN32)
- # In windows, automatic linking is performed, so you do not have
-@@ -1205,11 +1205,11 @@ if(WIN32)
- # code to emit a #pragma message each time a library is selected
- # for linking.
- set(Boost_LIB_DIAGNOSTIC_DEFINITIONS "-DBOOST_LIB_DIAGNOSTIC")
-- set_target_properties(Boost::diagnostic_definitions PROPERTIES
-+ set_target_properties(boost_diagnostic_definitions PROPERTIES
- INTERFACE_COMPILE_DEFINITIONS "BOOST_LIB_DIAGNOSTIC")
-- set_target_properties(Boost::disable_autolinking PROPERTIES
-+ set_target_properties(boost_disable_autolinking PROPERTIES
- INTERFACE_COMPILE_DEFINITIONS "BOOST_ALL_NO_LIB")
-- set_target_properties(Boost::dynamic_linking PROPERTIES
-+ set_target_properties(boost_dynamic_linking PROPERTIES
- INTERFACE_COMPILE_DEFINITIONS "BOOST_ALL_DYN_LINK")
- endif()
-
-@@ -2018,52 +2018,52 @@ if(Boost_FOUND)
- endif()
-
- foreach(COMPONENT ${Boost_FIND_COMPONENTS})
-- if(_Boost_IMPORTED_TARGETS AND NOT TARGET Boost::${COMPONENT})
-+ if(_Boost_IMPORTED_TARGETS AND NOT TARGET boost_${COMPONENT})
- string(TOUPPER ${COMPONENT} UPPERCOMPONENT)
- if(Boost_${UPPERCOMPONENT}_FOUND)
- if(Boost_USE_STATIC_LIBS)
-- add_library(Boost::${COMPONENT} STATIC IMPORTED)
-+ add_library(boost_${COMPONENT} STATIC IMPORTED)
- else()
- # Even if Boost_USE_STATIC_LIBS is OFF, we might have static
- # libraries as a result.
-- add_library(Boost::${COMPONENT} UNKNOWN IMPORTED)
-+ add_library(boost_${COMPONENT} UNKNOWN IMPORTED)
- endif()
- if(Boost_INCLUDE_DIRS)
-- set_target_properties(Boost::${COMPONENT} PROPERTIES
-+ set_target_properties(boost_${COMPONENT} PROPERTIES
- INTERFACE_INCLUDE_DIRECTORIES "${Boost_INCLUDE_DIRS}")
- endif()
- if(EXISTS "${Boost_${UPPERCOMPONENT}_LIBRARY}")
-- set_target_properties(Boost::${COMPONENT} PROPERTIES
-+ set_target_properties(boost_${COMPONENT} PROPERTIES
- IMPORTED_LINK_INTERFACE_LANGUAGES "CXX"
- IMPORTED_LOCATION "${Boost_${UPPERCOMPONENT}_LIBRARY}")
- endif()
- if(EXISTS "${Boost_${UPPERCOMPONENT}_LIBRARY_RELEASE}")
-- set_property(TARGET Boost::${COMPONENT} APPEND PROPERTY
-+ set_property(TARGET boost_${COMPONENT} APPEND PROPERTY
- IMPORTED_CONFIGURATIONS RELEASE)
-- set_target_properties(Boost::${COMPONENT} PROPERTIES
-+ set_target_properties(boost_${COMPONENT} PROPERTIES
- IMPORTED_LINK_INTERFACE_LANGUAGES_RELEASE "CXX"
- IMPORTED_LOCATION_RELEASE "${Boost_${UPPERCOMPONENT}_LIBRARY_RELEASE}")
- endif()
- if(EXISTS "${Boost_${UPPERCOMPONENT}_LIBRARY_DEBUG}")
-- set_property(TARGET Boost::${COMPONENT} APPEND PROPERTY
-+ set_property(TARGET boost_${COMPONENT} APPEND PROPERTY
- IMPORTED_CONFIGURATIONS DEBUG)
-- set_target_properties(Boost::${COMPONENT} PROPERTIES
-+ set_target_properties(boost_${COMPONENT} PROPERTIES
- IMPORTED_LINK_INTERFACE_LANGUAGES_DEBUG "CXX"
- IMPORTED_LOCATION_DEBUG "${Boost_${UPPERCOMPONENT}_LIBRARY_DEBUG}")
- endif()
- if(_Boost_${UPPERCOMPONENT}_DEPENDENCIES)
- unset(_Boost_${UPPERCOMPONENT}_TARGET_DEPENDENCIES)
- foreach(dep ${_Boost_${UPPERCOMPONENT}_DEPENDENCIES})
-- list(APPEND _Boost_${UPPERCOMPONENT}_TARGET_DEPENDENCIES Boost::${dep})
-+ list(APPEND _Boost_${UPPERCOMPONENT}_TARGET_DEPENDENCIES boost_${dep})
- endforeach()
- if(COMPONENT STREQUAL "thread")
- list(APPEND _Boost_${UPPERCOMPONENT}_TARGET_DEPENDENCIES Threads::Threads)
- endif()
-- set_target_properties(Boost::${COMPONENT} PROPERTIES
-+ set_target_properties(boost_${COMPONENT} PROPERTIES
- INTERFACE_LINK_LIBRARIES "${_Boost_${UPPERCOMPONENT}_TARGET_DEPENDENCIES}")
- endif()
- if(_Boost_${UPPERCOMPONENT}_COMPILER_FEATURES)
-- set_target_properties(Boost::${COMPONENT} PROPERTIES
-+ set_target_properties(boost_${COMPONENT} PROPERTIES
- INTERFACE_COMPILE_FEATURES "${_Boost_${UPPERCOMPONENT}_COMPILER_FEATURES}")
- endif()
- endif()
-diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
-index 1b1f19d464..21c222280f 100644
---- a/src/CMakeLists.txt
-+++ b/src/CMakeLists.txt
-@@ -353,12 +353,12 @@ set(ceph_common_objs
- set(ceph_common_deps
- json_spirit erasure_code arch crc32
- ${LIB_RESOLV}
-- Boost::thread
-- Boost::system
-- Boost::random
-- Boost::program_options
-- Boost::date_time
-- Boost::iostreams
-+ boost_thread
-+ boost_system
-+ boost_random
-+ boost_program_options
-+ boost_date_time
-+ boost_iostreams
- ${BLKID_LIBRARIES}
- ${Backtrace_LIBRARIES}
- ${BLKIN_LIBRARIES}
-@@ -518,7 +518,7 @@ if (WITH_CEPHFS)
- ceph_mds.cc)
- add_executable(ceph-mds ${ceph_mds_srcs})
- target_link_libraries(ceph-mds mds ${CMAKE_DL_LIBS} global-static ceph-common
-- Boost::thread)
-+ boost_thread)
- install(TARGETS ceph-mds DESTINATION bin)
- endif()
-
-diff --git a/src/crimson/CMakeLists.txt b/src/crimson/CMakeLists.txt
-index d7b58521d4..e1533af33f 100644
---- a/src/crimson/CMakeLists.txt
-+++ b/src/crimson/CMakeLists.txt
-@@ -106,8 +106,8 @@ target_link_libraries(crimson-common
- PRIVATE
- crc32
- crimson::cflags
-- Boost::iostreams
-- Boost::random
-+ boost_iostreams
-+ boost_random
- ${NSS_LIBRARIES} ${NSPR_LIBRARIES} OpenSSL::Crypto)
-
- set(crimson_auth_srcs
-diff --git a/src/mgr/CMakeLists.txt b/src/mgr/CMakeLists.txt
-index 252fb3e5e3..3f3823a68e 100644
---- a/src/mgr/CMakeLists.txt
-+++ b/src/mgr/CMakeLists.txt
-@@ -26,7 +26,7 @@ target_include_directories(ceph-mgr SYSTEM PRIVATE "${PYTHON_INCLUDE_DIRS}")
- target_link_libraries(ceph-mgr
- osdc client heap_profiler
- global-static ceph-common
-- Boost::python${MGR_PYTHON_VERSION_MAJOR}${MGR_PYTHON_VERSION_MINOR}
-+ boost_python-${MGR_PYTHON_VERSION_MAJOR}.${MGR_PYTHON_VERSION_MINOR}
- ${MGR_PYTHON_LIBRARIES} ${CMAKE_DL_LIBS} ${GSSAPI_LIBRARIES})
- set_target_properties(ceph-mgr PROPERTIES
- POSITION_INDEPENDENT_CODE ${EXE_LINKER_USE_PIE})
-diff --git a/src/rbd_replay/CMakeLists.txt b/src/rbd_replay/CMakeLists.txt
-index e9d3804c5f..5c6eb58de1 100644
---- a/src/rbd_replay/CMakeLists.txt
-+++ b/src/rbd_replay/CMakeLists.txt
-@@ -36,7 +36,7 @@ if(HAVE_BABELTRACE)
- global
- babeltrace
- babeltrace-ctf
-- Boost::date_time
-+ boost_date_time
- )
- install(TARGETS rbd-replay-prep DESTINATION bin)
- endif(HAVE_BABELTRACE)
-diff --git a/src/rgw/CMakeLists.txt b/src/rgw/CMakeLists.txt
-index ccc4f74cfe..854aa6e5e9 100644
---- a/src/rgw/CMakeLists.txt
-+++ b/src/rgw/CMakeLists.txt
-@@ -199,7 +199,7 @@ if(WITH_CURL_OPENSSL)
- endif()
-
- if(WITH_BOOST_CONTEXT)
-- target_link_libraries(rgw_a PRIVATE Boost::coroutine Boost::context)
-+ target_link_libraries(rgw_a PRIVATE boost_coroutine boost_context)
- endif()
-
- set(rgw_libs rgw_a)
-@@ -341,7 +341,7 @@ if(WITH_RADOSGW_AMQP_ENDPOINT)
- target_link_libraries(rgw_admin_user PRIVATE RabbitMQ::RabbitMQ)
- endif()
- if(WITH_BOOST_CONTEXT)
-- target_link_libraries(rgw_admin_user PRIVATE Boost::coroutine Boost::context)
-+ target_link_libraries(rgw_admin_user PRIVATE boost_coroutine boost_context)
- endif()
-
- if(WITH_TESTS)
-diff --git a/src/test/CMakeLists.txt b/src/test/CMakeLists.txt
-index 20a64fd41b..a8bb323614 100644
---- a/src/test/CMakeLists.txt
-+++ b/src/test/CMakeLists.txt
-@@ -158,7 +158,7 @@ add_executable(ceph_omapbench
- )
- target_link_libraries(ceph_omapbench
- librados
-- Boost::program_options
-+ boost_program_options
- global
- ${BLKID_LIBRARIES}
- ${CMAKE_DL_LIBS}
-diff --git a/src/test/common/CMakeLists.txt b/src/test/common/CMakeLists.txt
-index 71fb77cda9..aff8fb6565 100644
---- a/src/test/common/CMakeLists.txt
-+++ b/src/test/common/CMakeLists.txt
-@@ -315,8 +315,8 @@ add_ceph_unittest(unittest_hobject)
-
- add_executable(unittest_async_completion test_async_completion.cc)
- add_ceph_unittest(unittest_async_completion)
--target_link_libraries(unittest_async_completion Boost::system)
-+target_link_libraries(unittest_async_completion boost_system)
-
- add_executable(unittest_async_shared_mutex test_async_shared_mutex.cc)
- add_ceph_unittest(unittest_async_shared_mutex)
--target_link_libraries(unittest_async_shared_mutex ceph-common Boost::system)
-+target_link_libraries(unittest_async_shared_mutex ceph-common boost_system)
-diff --git a/src/test/erasure-code/CMakeLists.txt b/src/test/erasure-code/CMakeLists.txt
-index 721f6c3675..1cd9635c77 100644
---- a/src/test/erasure-code/CMakeLists.txt
-+++ b/src/test/erasure-code/CMakeLists.txt
-@@ -2,15 +2,15 @@
- add_executable(ceph_erasure_code_benchmark
- ${CMAKE_SOURCE_DIR}/src/erasure-code/ErasureCode.cc
- ceph_erasure_code_benchmark.cc)
--target_link_libraries(ceph_erasure_code_benchmark ceph-common Boost::program_options global ${CMAKE_DL_LIBS})
-+target_link_libraries(ceph_erasure_code_benchmark ceph-common boost_program_options global ${CMAKE_DL_LIBS})
- install(TARGETS ceph_erasure_code_benchmark
- DESTINATION bin)
-
- add_executable(ceph_erasure_code_non_regression ceph_erasure_code_non_regression.cc)
--target_link_libraries(ceph_erasure_code_non_regression ceph-common Boost::program_options global ${CMAKE_DL_LIBS})
-+target_link_libraries(ceph_erasure_code_non_regression ceph-common boost_program_options global ${CMAKE_DL_LIBS})
-
- add_executable(ceph_erasure_code ceph_erasure_code.cc)
--target_link_libraries(ceph_erasure_code ceph-common Boost::program_options global ${CMAKE_DL_LIBS})
-+target_link_libraries(ceph_erasure_code ceph-common boost_program_options global ${CMAKE_DL_LIBS})
- install(TARGETS ceph_erasure_code
- DESTINATION bin)
-
-diff --git a/src/test/librados/CMakeLists.txt b/src/test/librados/CMakeLists.txt
-index 4fc53d2406..e6304394f8 100644
---- a/src/test/librados/CMakeLists.txt
-+++ b/src/test/librados/CMakeLists.txt
-@@ -62,7 +62,7 @@ add_executable(ceph_test_rados_api_asio asio.cc)
- target_link_libraries(ceph_test_rados_api_asio global
- librados ${UNITTEST_LIBS})
- if(WITH_BOOST_CONTEXT)
-- target_link_libraries(ceph_test_rados_api_asio Boost::coroutine Boost::context)
-+ target_link_libraries(ceph_test_rados_api_asio boost_coroutine boost_context)
- endif()
-
- add_executable(ceph_test_rados_api_list
-@@ -132,7 +132,7 @@ add_executable(ceph_test_rados_api_tier_pp
- tier_cxx.cc
- $<TARGET_OBJECTS:unit-main>)
- target_link_libraries(ceph_test_rados_api_tier_pp
-- librados global ${UNITTEST_LIBS} Boost::system radostest-cxx)
-+ librados global ${UNITTEST_LIBS} boost_system radostest-cxx)
-
- add_executable(ceph_test_rados_api_snapshots
- snapshots.cc)
-diff --git a/src/test/librbd/CMakeLists.txt b/src/test/librbd/CMakeLists.txt
-index 2bf6723c40..e99b8afa11 100644
---- a/src/test/librbd/CMakeLists.txt
-+++ b/src/test/librbd/CMakeLists.txt
-@@ -27,7 +27,7 @@ target_link_libraries(rbd_test PRIVATE
- radostest
- radostest-cxx
- librados
-- Boost::thread
-+ boost_thread
- GMock::GMock
- GTest::GTest)
-
-diff --git a/src/test/rgw/CMakeLists.txt b/src/test/rgw/CMakeLists.txt
-index 9b2c6b6321..80e4cb7829 100644
---- a/src/test/rgw/CMakeLists.txt
-+++ b/src/test/rgw/CMakeLists.txt
-@@ -143,7 +143,7 @@ add_ceph_unittest(unittest_rgw_dmclock_scheduler)
- target_link_libraries(unittest_rgw_dmclock_scheduler ${rgw_libs} dmclock)
- if(WITH_BOOST_CONTEXT)
- target_compile_definitions(unittest_rgw_dmclock_scheduler PRIVATE BOOST_COROUTINES_NO_DEPRECATION_WARNING)
-- target_link_libraries(unittest_rgw_dmclock_scheduler Boost::coroutine Boost::context)
-+ target_link_libraries(unittest_rgw_dmclock_scheduler boost_coroutine boost_context)
- endif()
-
- if(WITH_RADOSGW_AMQP_ENDPOINT)
-diff --git a/src/tools/CMakeLists.txt b/src/tools/CMakeLists.txt
-index d31f3d2408..6945018b11 100644
---- a/src/tools/CMakeLists.txt
-+++ b/src/tools/CMakeLists.txt
-@@ -35,20 +35,20 @@ install(PROGRAMS
- endif(WITH_TESTS)
-
- add_executable(ceph-osdomap-tool ceph_osdomap_tool.cc)
--target_link_libraries(ceph-osdomap-tool os global Boost::program_options)
-+target_link_libraries(ceph-osdomap-tool os global boost_program_options)
- install(TARGETS ceph-osdomap-tool DESTINATION bin)
-
- add_executable(ceph-monstore-tool
- ceph_monstore_tool.cc
- ../mgr/mgr_commands.cc)
--target_link_libraries(ceph-monstore-tool os global Boost::program_options)
-+target_link_libraries(ceph-monstore-tool os global boost_program_options)
- install(TARGETS ceph-monstore-tool DESTINATION bin)
-
- add_executable(ceph-objectstore-tool
- ceph_objectstore_tool.cc
- rebuild_mondb.cc
- RadosDump.cc)
--target_link_libraries(ceph-objectstore-tool osd os global Boost::program_options ${CMAKE_DL_LIBS})
-+target_link_libraries(ceph-objectstore-tool osd os global boost_program_options ${CMAKE_DL_LIBS})
- if(WITH_FUSE)
- target_link_libraries(ceph-objectstore-tool ${FUSE_LIBRARIES})
- endif(WITH_FUSE)
diff --git a/sys-cluster/ceph/files/ceph-14.2.3-boost-1.6-python-sonames.patch b/sys-cluster/ceph/files/ceph-14.2.3-boost-1.6-python-sonames.patch
new file mode 100644
index 00000000000..860bd9624e8
--- /dev/null
+++ b/sys-cluster/ceph/files/ceph-14.2.3-boost-1.6-python-sonames.patch
@@ -0,0 +1,26 @@
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 05d1e61270..8b939b8af6 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -640,7 +640,7 @@ set(BOOST_HEADER_COMPONENTS container)
+
+ if(WITH_MGR)
+ list(APPEND BOOST_COMPONENTS
+- python${MGR_PYTHON_VERSION_MAJOR}${MGR_PYTHON_VERSION_MINOR})
++ python-${MGR_PYTHON_VERSION_MAJOR}.${MGR_PYTHON_VERSION_MINOR})
+ endif()
+ if(WITH_BOOST_CONTEXT)
+ list(APPEND BOOST_COMPONENTS context coroutine)
+diff --git a/cmake/modules/BuildBoost.cmake b/cmake/modules/BuildBoost.cmake
+index f46cc0d485..3cc6340b2c 100644
+--- a/cmake/modules/BuildBoost.cmake
++++ b/cmake/modules/BuildBoost.cmake
+@@ -205,7 +205,7 @@ macro(build_boost version)
+ endif()
+ add_dependencies(Boost::${c} Boost)
+ if(c MATCHES "^python")
+- set(c "python${PYTHON_VERSION_MAJOR}${PYTHON_VERSION_MINOR}")
++ set(c "python-${PYTHON_VERSION_MAJOR}.${PYTHON_VERSION_MINOR}")
+ endif()
+ if(Boost_USE_STATIC_LIBS)
+ set(Boost_${upper_c}_LIBRARY
diff --git a/sys-cluster/ceph/files/ceph-14.2.0-boost-1.70.patch b/sys-cluster/ceph/files/ceph-14.2.3-boost-1.70.patch
similarity index 64%
rename from sys-cluster/ceph/files/ceph-14.2.0-boost-1.70.patch
rename to sys-cluster/ceph/files/ceph-14.2.3-boost-1.70.patch
index ce2ee92b3d8..26cea1e394b 100644
--- a/sys-cluster/ceph/files/ceph-14.2.0-boost-1.70.patch
+++ b/sys-cluster/ceph/files/ceph-14.2.3-boost-1.70.patch
@@ -1,45 +1,3 @@
-diff --git a/CMakeLists.txt b/CMakeLists.txt
-index f97f96b5bf..f5e5d06d35 100644
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -657,13 +657,13 @@ if(WITH_SYSTEM_BOOST)
- if(BOOST_ROOT AND CMAKE_LIBRARY_ARCHITECTURE)
- set(BOOST_LIBRARYDIR "${BOOST_ROOT}/lib/${CMAKE_LIBRARY_ARCHITECTURE}")
- endif()
-- find_package(Boost 1.67 COMPONENTS ${BOOST_COMPONENTS} REQUIRED)
-+ find_package(Boost 1.70 COMPONENTS ${BOOST_COMPONENTS} REQUIRED)
- else()
- set(BOOST_J 1 CACHE STRING
- "max jobs for Boost build") # override w/-DBOOST_J=<n>
- set(Boost_USE_STATIC_LIBS ON)
- include(BuildBoost)
-- build_boost(1.67
-+ build_boost(1.70
- COMPONENTS ${BOOST_COMPONENTS} ${BOOST_HEADER_COMPONENTS})
- endif()
- include_directories(BEFORE SYSTEM ${Boost_INCLUDE_DIRS})
-diff --git a/cmake/modules/BuildBoost.cmake b/cmake/modules/BuildBoost.cmake
-index f46cc0d485..4254508570 100644
---- a/cmake/modules/BuildBoost.cmake
-+++ b/cmake/modules/BuildBoost.cmake
-@@ -137,14 +137,14 @@ function(do_build_boost version)
- check_boost_version("${PROJECT_SOURCE_DIR}/src/boost" ${version})
- set(source_dir
- SOURCE_DIR "${PROJECT_SOURCE_DIR}/src/boost")
-- elseif(version VERSION_GREATER 1.67)
-+ elseif(version VERSION_GREATER 1.70)
- message(FATAL_ERROR "Unknown BOOST_REQUESTED_VERSION: ${version}")
- else()
- message(STATUS "boost will be downloaded...")
- # NOTE: If you change this version number make sure the package is available
- # at the three URLs below (may involve uploading to download.ceph.com)
-- set(boost_version 1.67.0)
-- set(boost_sha256 2684c972994ee57fc5632e03bf044746f6eb45d4920c343937a465fd67a5adba)
-+ set(boost_version 1.70.0)
-+ set(boost_sha256 430ae8354789de4fd19ee52f3b1f739e1fba576f0aded0897c3c2bc00fb38778)
- string(REPLACE "." "_" boost_version_underscore ${boost_version} )
- set(boost_url
- https://dl.bintray.com/boostorg/release/${boost_version}/source/boost_${boost_version_underscore}.tar.bz2)
diff --git a/src/rgw/rgw_asio_frontend.cc b/src/rgw/rgw_asio_frontend.cc
index e4be074ec7..4af3695dc1 100644
--- a/src/rgw/rgw_asio_frontend.cc
diff --git a/sys-cluster/ceph/files/ceph-14.2.0-boost-1.70-sonames.patch b/sys-cluster/ceph/files/ceph-14.2.3-boost-sonames.patch
similarity index 95%
rename from sys-cluster/ceph/files/ceph-14.2.0-boost-1.70-sonames.patch
rename to sys-cluster/ceph/files/ceph-14.2.3-boost-sonames.patch
index 6d712003742..92ca32f5c8e 100644
--- a/sys-cluster/ceph/files/ceph-14.2.0-boost-1.70-sonames.patch
+++ b/sys-cluster/ceph/files/ceph-14.2.3-boost-sonames.patch
@@ -1,8 +1,8 @@
diff --git a/cmake/modules/FindBoost.cmake b/cmake/modules/FindBoost.cmake
-index bfab4ca436..90ed0cbb17 100644
+index dd08ba5e45..19d3b8ad37 100644
--- a/cmake/modules/FindBoost.cmake
+++ b/cmake/modules/FindBoost.cmake
-@@ -1181,10 +1181,10 @@ endif()
+@@ -1235,10 +1235,10 @@ endif()
# on all platforms to keep end user code free from platform dependent
# code. Also provide convenience targets to disable autolinking and
# enable dynamic linking.
@@ -17,7 +17,7 @@ index bfab4ca436..90ed0cbb17 100644
endif()
if(WIN32)
# In windows, automatic linking is performed, so you do not have
-@@ -1205,11 +1205,11 @@ if(WIN32)
+@@ -1259,11 +1259,11 @@ if(WIN32)
# code to emit a #pragma message each time a library is selected
# for linking.
set(Boost_LIB_DIAGNOSTIC_DEFINITIONS "-DBOOST_LIB_DIAGNOSTIC")
@@ -32,7 +32,7 @@ index bfab4ca436..90ed0cbb17 100644
INTERFACE_COMPILE_DEFINITIONS "BOOST_ALL_DYN_LINK")
endif()
-@@ -2018,52 +2018,52 @@ if(Boost_FOUND)
+@@ -2088,52 +2088,52 @@ if(Boost_FOUND)
endif()
foreach(COMPONENT ${Boost_FIND_COMPONENTS})
@@ -98,10 +98,10 @@ index bfab4ca436..90ed0cbb17 100644
endif()
endif()
diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
-index 1b1f19d464..21c222280f 100644
+index 4895e84df6..55814e3b96 100644
--- a/src/CMakeLists.txt
+++ b/src/CMakeLists.txt
-@@ -353,12 +353,12 @@ set(ceph_common_objs
+@@ -356,12 +356,12 @@ set(ceph_common_objs
set(ceph_common_deps
json_spirit erasure_code arch crc32
${LIB_RESOLV}
@@ -120,7 +120,7 @@ index 1b1f19d464..21c222280f 100644
${BLKID_LIBRARIES}
${Backtrace_LIBRARIES}
${BLKIN_LIBRARIES}
-@@ -518,7 +518,7 @@ if (WITH_CEPHFS)
+@@ -522,7 +522,7 @@ if (WITH_CEPHFS)
ceph_mds.cc)
add_executable(ceph-mds ${ceph_mds_srcs})
target_link_libraries(ceph-mds mds ${CMAKE_DL_LIBS} global-static ceph-common
@@ -171,10 +171,10 @@ index e9d3804c5f..5c6eb58de1 100644
install(TARGETS rbd-replay-prep DESTINATION bin)
endif(HAVE_BABELTRACE)
diff --git a/src/rgw/CMakeLists.txt b/src/rgw/CMakeLists.txt
-index ccc4f74cfe..854aa6e5e9 100644
+index 8d5b0638a0..a147c55bc3 100644
--- a/src/rgw/CMakeLists.txt
+++ b/src/rgw/CMakeLists.txt
-@@ -199,7 +199,7 @@ if(WITH_CURL_OPENSSL)
+@@ -196,7 +196,7 @@ if(WITH_CURL_OPENSSL)
endif()
if(WITH_BOOST_CONTEXT)
@@ -183,7 +183,7 @@ index ccc4f74cfe..854aa6e5e9 100644
endif()
set(rgw_libs rgw_a)
-@@ -341,7 +341,7 @@ if(WITH_RADOSGW_AMQP_ENDPOINT)
+@@ -347,7 +347,7 @@ if(WITH_RADOSGW_AMQP_ENDPOINT)
target_link_libraries(rgw_admin_user PRIVATE RabbitMQ::RabbitMQ)
endif()
if(WITH_BOOST_CONTEXT)
@@ -193,10 +193,10 @@ index ccc4f74cfe..854aa6e5e9 100644
if(WITH_TESTS)
diff --git a/src/test/CMakeLists.txt b/src/test/CMakeLists.txt
-index 20a64fd41b..a8bb323614 100644
+index 5dcee1694d..60743be698 100644
--- a/src/test/CMakeLists.txt
+++ b/src/test/CMakeLists.txt
-@@ -158,7 +158,7 @@ add_executable(ceph_omapbench
+@@ -159,7 +159,7 @@ add_executable(ceph_omapbench
)
target_link_libraries(ceph_omapbench
librados
@@ -266,7 +266,7 @@ index 4fc53d2406..e6304394f8 100644
add_executable(ceph_test_rados_api_snapshots
snapshots.cc)
diff --git a/src/test/librbd/CMakeLists.txt b/src/test/librbd/CMakeLists.txt
-index 2bf6723c40..e99b8afa11 100644
+index 3988e94bd3..b2a720b8a0 100644
--- a/src/test/librbd/CMakeLists.txt
+++ b/src/test/librbd/CMakeLists.txt
@@ -27,7 +27,7 @@ target_link_libraries(rbd_test PRIVATE
@@ -279,11 +279,11 @@ index 2bf6723c40..e99b8afa11 100644
GTest::GTest)
diff --git a/src/test/rgw/CMakeLists.txt b/src/test/rgw/CMakeLists.txt
-index 9b2c6b6321..80e4cb7829 100644
+index 36df883a66..43d3456089 100644
--- a/src/test/rgw/CMakeLists.txt
+++ b/src/test/rgw/CMakeLists.txt
-@@ -143,7 +143,7 @@ add_ceph_unittest(unittest_rgw_dmclock_scheduler)
- target_link_libraries(unittest_rgw_dmclock_scheduler ${rgw_libs} dmclock)
+@@ -144,7 +144,7 @@ add_ceph_unittest(unittest_rgw_dmclock_scheduler)
+ target_link_libraries(unittest_rgw_dmclock_scheduler radosgw_a dmclock)
if(WITH_BOOST_CONTEXT)
target_compile_definitions(unittest_rgw_dmclock_scheduler PRIVATE BOOST_COROUTINES_NO_DEPRECATION_WARNING)
- target_link_libraries(unittest_rgw_dmclock_scheduler Boost::coroutine Boost::context)
^ permalink raw reply related [flat|nested] 68+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-cluster/ceph/, sys-cluster/ceph/files/
@ 2019-07-19 3:20 Patrick McLean
0 siblings, 0 replies; 68+ messages in thread
From: Patrick McLean @ 2019-07-19 3:20 UTC (permalink / raw
To: gentoo-commits
commit: 851f6ed5d97b48d1100d7e347e0eaf4ef179a570
Author: Patrick McLean <patrick.mclean <AT> sony <DOT> com>
AuthorDate: Fri Jul 19 03:20:10 2019 +0000
Commit: Patrick McLean <chutzpah <AT> gentoo <DOT> org>
CommitDate: Fri Jul 19 03:20:10 2019 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=851f6ed5
sys-cluster/ceph: Version bump to 14.2.2
Closes: https://bugs.gentoo.org/687946
Copyright: Sony Interactive Entertainment Inc.
Package-Manager: Portage-2.3.69, Repoman-2.3.16
Signed-off-by: Patrick McLean <chutzpah <AT> gentoo.org>
sys-cluster/ceph/Manifest | 2 +-
.../{ceph-14.2.1.ebuild => ceph-14.2.2.ebuild} | 2 +-
.../ceph/files/ceph-14.2.1-ncurses-tinfo.patch | 30 ----------------------
3 files changed, 2 insertions(+), 32 deletions(-)
diff --git a/sys-cluster/ceph/Manifest b/sys-cluster/ceph/Manifest
index 88518c8a727..61a1acb646d 100644
--- a/sys-cluster/ceph/Manifest
+++ b/sys-cluster/ceph/Manifest
@@ -3,4 +3,4 @@ DIST ceph-12.2.12.tar.gz 77467762 BLAKE2B a5224432121db9ef49c1e22771d847399df2f7
DIST ceph-12.2.8.tar.gz 77243685 BLAKE2B 37c34396a0c276b8d79735e14934ac70da024822c2a060061531c234e03e5d41aad6c41dc64b05c2ce47f03287d0cae9ef9bed67e4a0861b6380c8ce1de4ea69 SHA512 91c5c11aaeef701b3e31c9f8a1192b6b79fd34f3b96c61595c65173c98bfce0009c5b7c9b29764f5e4d4b1f5ac2ca7109fed5ae598c176aba717a34a132fabac
DIST ceph-13.2.5.tar.gz 91006057 BLAKE2B 68551e2f54d78aff7b0e9ec3c62e6a3394dd7c23e80924a5b400cd9666a05a42e5f22445deee4040f1b78201c6a6660b283109878d4c92d845821bff831c8a5e SHA512 6daea524523f829e725609328ea71f416b2c3a9530fa8956720a7bc69dc08e55a169654f500704579dc9ba693f04eedd7e04614c0850e9ab1169cd45f19039f8
DIST ceph-13.2.6.tar.gz 90808224 BLAKE2B cd7b4f4838eafc9dd580102cbb5247b86a153f90127f81355b556f32dbbacd2d7fb0144d15f99869a318a7148d2f50a9f995eb05aee056d7a5843830ede5702c SHA512 1e9c08d16b14447bf6b8bb72144e053aa9d5cf390bb4a6e878869e38895d3698073502fe9c4f8b775a3da872b920444bd01260105d3a839e53cf90cd27c6ab9c
-DIST ceph-14.2.1.tar.gz 117111511 BLAKE2B c00181223c6e02e7fe696ed4226f1751eca48e799f8b5377a06621eb3300f81b58dc20f325b455df04fcbd0c28b981fae1cfc778a8d69414247ddd206d0c6175 SHA512 fccde341344c721fbfc7f7cb73db4f65933d7fcacc9495398b55b37d1e208f0bad0cd78a4da08a3b5e26cca3175e7707f7dfb76fae5aa094f58afaed8603c866
+DIST ceph-14.2.2.tar.gz 117536881 BLAKE2B 2926c3d6fde5e9540d4e797dabf61451ce78e5d2f8d382d192fd8c1759620075860ab0cea7512330f2965d11e4b37a0ecce4fa11d9c5d256ecc884fa5f604922 SHA512 1ce61fb75e331cca39aaa8c0498bbb3cb874edb22ea45a4c2d82171b5e0c7c4ab2b081674b77177d5e612a0efdfa01de10a4becc4a7ee0eed1b2b3d358a72dc1
diff --git a/sys-cluster/ceph/ceph-14.2.1.ebuild b/sys-cluster/ceph/ceph-14.2.2.ebuild
similarity index 99%
rename from sys-cluster/ceph/ceph-14.2.1.ebuild
rename to sys-cluster/ceph/ceph-14.2.2.ebuild
index 6cab06ebd9c..0f25b21d3b7 100644
--- a/sys-cluster/ceph/ceph-14.2.1.ebuild
+++ b/sys-cluster/ceph/ceph-14.2.2.ebuild
@@ -152,7 +152,6 @@ PATCHES=(
"${FILESDIR}/ceph-14.2.0-dpdk-cflags.patch"
"${FILESDIR}/ceph-14.2.0-link-crc32-statically.patch"
"${FILESDIR}/ceph-14.2.0-cython-0.29.patch"
- "${FILESDIR}/ceph-14.2.1-ncurses-tinfo.patch"
)
# dpdk and ninja don't get along
@@ -227,6 +226,7 @@ ceph_src_configure() {
-DWITH_MGR_DASHBOARD_FRONTEND=NO
-DWITH_NUMA=$(usex numa)
-DWITH_OPENLDAP=$(usex ldap)
+ -DMGR_PYTHON_VERSION=$(if python_is_python3; then echo 3; else echo 2; fi)
-DWITH_PYTHON3=$(if python_is_python3; then echo "ON"; else echo "OFF"; fi)
-DWITH_PYTHON2=$(if python_is_python3; then echo "OFF"; else echo "ON"; fi)
-DWITH_RADOSGW=$(usex radosgw)
diff --git a/sys-cluster/ceph/files/ceph-14.2.1-ncurses-tinfo.patch b/sys-cluster/ceph/files/ceph-14.2.1-ncurses-tinfo.patch
deleted file mode 100644
index 7f74a102d77..00000000000
--- a/sys-cluster/ceph/files/ceph-14.2.1-ncurses-tinfo.patch
+++ /dev/null
@@ -1,30 +0,0 @@
-From b7bf406cff5e0f82fc87f19d5987cd4e719919e1 Mon Sep 17 00:00:00 2001
-From: Lars Wendler <polynomial-c@gentoo.org>
-Date: Mon, 8 Apr 2019 16:34:53 +0200
-Subject: [PATCH] cmake: Fix build against ncurses with separate libtinfo
-
-Signed-off-by: Lars Wendler <polynomial-c@gentoo.org>
----
- src/tools/rbd/CMakeLists.txt | 5 ++++-
- 1 file changed, 4 insertions(+), 1 deletion(-)
-
-diff --git a/src/tools/rbd/CMakeLists.txt b/src/tools/rbd/CMakeLists.txt
-index 36b2408a8d28..0e38a033ff55 100644
---- a/src/tools/rbd/CMakeLists.txt
-+++ b/src/tools/rbd/CMakeLists.txt
-@@ -1,3 +1,6 @@
-+set(CURSES_NEED_NCURSES TRUE)
-+find_package(Curses REQUIRED)
-+
- set(rbd_srcs
- rbd.cc
- ArgumentTypes.cc
-@@ -52,7 +55,7 @@ target_link_libraries(rbd librbd librados
- cls_journal_client cls_rbd_client
- rbd_types
- journal
-- ceph-common global ncurses
-+ ceph-common global ${CURSES_LIBRARIES}
- ${BLKID_LIBRARIES} ${CMAKE_DL_LIBS})
- if(WITH_KRBD)
- target_link_libraries(rbd
^ permalink raw reply related [flat|nested] 68+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-cluster/ceph/, sys-cluster/ceph/files/
@ 2019-06-13 1:48 Patrick McLean
0 siblings, 0 replies; 68+ messages in thread
From: Patrick McLean @ 2019-06-13 1:48 UTC (permalink / raw
To: gentoo-commits
commit: 952b32d755ca4b2d84fc6ec8316dbe0a5eaa0557
Author: Patrick McLean <patrick.mclean <AT> sony <DOT> com>
AuthorDate: Thu Jun 13 01:48:04 2019 +0000
Commit: Patrick McLean <chutzpah <AT> gentoo <DOT> org>
CommitDate: Thu Jun 13 01:48:04 2019 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=952b32d7
sys-cluster/ceph: Version bump to 13.2.6
Add -DMGR_PYTHON_VERSION (bug #687946)
Bug: https://bugs.gentoo.org/687946
Copyright: Sony Interactive Entertainment Inc.
Package-Manager: Portage-2.3.67, Repoman-2.3.14
Signed-off-by: Patrick McLean <chutzpah <AT> gentoo.org>
sys-cluster/ceph/Manifest | 1 +
sys-cluster/ceph/ceph-13.2.6.ebuild | 341 +++++++++++++++++++++
.../ceph/files/ceph-13.2.6-dpdk-alignment.patch | 14 +
.../ceph/files/ceph-13.2.6-no-virtualenvs.patch | 74 +++++
4 files changed, 430 insertions(+)
diff --git a/sys-cluster/ceph/Manifest b/sys-cluster/ceph/Manifest
index 9b0137e2714..88518c8a727 100644
--- a/sys-cluster/ceph/Manifest
+++ b/sys-cluster/ceph/Manifest
@@ -2,4 +2,5 @@ DIST ceph-12.2.11.tar.gz 79009034 BLAKE2B d8b1c188fe39603e90511eb436100ba14c0a9c
DIST ceph-12.2.12.tar.gz 77467762 BLAKE2B a5224432121db9ef49c1e22771d847399df2f7881cd9c2e185eca12096efb79d21578659d248eb5bae678924983d57452d370e23ab7e78663764d7bea834a461 SHA512 e694c9a8c1f9836c08fb74b54423bdc16d4900252e34643c56cf1a615d4dacddfb13df06a6a9f68bb9d438f5f07069ed358f9fa4b5a362640a3046f9c7722dcc
DIST ceph-12.2.8.tar.gz 77243685 BLAKE2B 37c34396a0c276b8d79735e14934ac70da024822c2a060061531c234e03e5d41aad6c41dc64b05c2ce47f03287d0cae9ef9bed67e4a0861b6380c8ce1de4ea69 SHA512 91c5c11aaeef701b3e31c9f8a1192b6b79fd34f3b96c61595c65173c98bfce0009c5b7c9b29764f5e4d4b1f5ac2ca7109fed5ae598c176aba717a34a132fabac
DIST ceph-13.2.5.tar.gz 91006057 BLAKE2B 68551e2f54d78aff7b0e9ec3c62e6a3394dd7c23e80924a5b400cd9666a05a42e5f22445deee4040f1b78201c6a6660b283109878d4c92d845821bff831c8a5e SHA512 6daea524523f829e725609328ea71f416b2c3a9530fa8956720a7bc69dc08e55a169654f500704579dc9ba693f04eedd7e04614c0850e9ab1169cd45f19039f8
+DIST ceph-13.2.6.tar.gz 90808224 BLAKE2B cd7b4f4838eafc9dd580102cbb5247b86a153f90127f81355b556f32dbbacd2d7fb0144d15f99869a318a7148d2f50a9f995eb05aee056d7a5843830ede5702c SHA512 1e9c08d16b14447bf6b8bb72144e053aa9d5cf390bb4a6e878869e38895d3698073502fe9c4f8b775a3da872b920444bd01260105d3a839e53cf90cd27c6ab9c
DIST ceph-14.2.1.tar.gz 117111511 BLAKE2B c00181223c6e02e7fe696ed4226f1751eca48e799f8b5377a06621eb3300f81b58dc20f325b455df04fcbd0c28b981fae1cfc778a8d69414247ddd206d0c6175 SHA512 fccde341344c721fbfc7f7cb73db4f65933d7fcacc9495398b55b37d1e208f0bad0cd78a4da08a3b5e26cca3175e7707f7dfb76fae5aa094f58afaed8603c866
diff --git a/sys-cluster/ceph/ceph-13.2.6.ebuild b/sys-cluster/ceph/ceph-13.2.6.ebuild
new file mode 100644
index 00000000000..18241357036
--- /dev/null
+++ b/sys-cluster/ceph/ceph-13.2.6.ebuild
@@ -0,0 +1,341 @@
+# Copyright 1999-2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+PYTHON_COMPAT=( python{2_7,3_{5,6}} )
+DISTUTILS_OPTIONAL=1
+
+inherit check-reqs cmake-utils distutils-r1 flag-o-matic multiprocessing \
+ python-r1 udev user readme.gentoo-r1 systemd bash-completion-r1
+
+if [[ ${PV} == *9999* ]]; then
+ inherit git-r3
+ EGIT_REPO_URI="https://github.com/ceph/ceph.git"
+ SRC_URI=""
+else
+ SRC_URI="https://download.ceph.com/tarballs/${P}.tar.gz"
+ KEYWORDS="~amd64 ~x86"
+fi
+
+DESCRIPTION="Ceph distributed filesystem"
+HOMEPAGE="https://ceph.com/"
+
+LICENSE="LGPL-2.1 CC-BY-SA-3.0 GPL-2 BSD Boost-1.0 MIT"
+SLOT="0"
+
+CPU_FLAGS_X86=(sse{,2,3,4_1,4_2} ssse3)
+
+IUSE="babeltrace cephfs dpdk fuse jemalloc ldap libressl lttng +mgr"
+IUSE+=" numa +radosgw +ssl static-libs +system-boost systemd +tcmalloc"
+IUSE+=" test xfs zfs"
+IUSE+=" $(printf "cpu_flags_x86_%s\n" ${CPU_FLAGS_X86[@]})"
+
+# unbundling code commented out pending bugs 584056 and 584058
+#>=dev-libs/jerasure-2.0.0-r1
+#>=dev-libs/gf-complete-2.0.0
+COMMON_DEPEND="
+ virtual/libudev:=
+ app-arch/bzip2:=[static-libs?]
+ app-arch/lz4:=[static-libs?]
+ app-arch/snappy:=[static-libs?]
+ app-arch/zstd:=[static-libs?]
+ app-misc/jq:=[static-libs?]
+ dev-libs/crypto++:=[static-libs?]
+ dev-libs/leveldb:=[snappy,static-libs?,tcmalloc?]
+ dev-libs/libaio:=[static-libs?]
+ dev-libs/libxml2:=[static-libs?]
+ dev-libs/nss:=
+ sys-auth/oath-toolkit:=
+ sys-apps/keyutils:=[static-libs?]
+ sys-apps/util-linux:=[static-libs?]
+ sys-libs/zlib:=[static-libs?]
+ babeltrace? ( dev-util/babeltrace )
+ ldap? ( net-nds/openldap:=[static-libs?] )
+ lttng? ( dev-util/lttng-ust:= )
+ fuse? ( sys-fs/fuse:0=[static-libs?] )
+ numa? ( sys-process/numactl:=[static-libs?] )
+ ssl? (
+ !libressl? ( dev-libs/openssl:=[static-libs?] )
+ libressl? ( dev-libs/libressl:=[static-libs?] )
+ )
+ xfs? ( sys-fs/xfsprogs:=[static-libs?] )
+ zfs? ( sys-fs/zfs:=[static-libs?] )
+ radosgw? (
+ dev-libs/expat:=[static-libs?]
+ !libressl? (
+ dev-libs/openssl:=[static-libs?]
+ net-misc/curl:=[curl_ssl_openssl,static-libs?]
+ )
+ libressl? (
+ dev-libs/libressl:=[static-libs?]
+ net-misc/curl:=[curl_ssl_libressl,static-libs?]
+ )
+ )
+ system-boost? (
+ >=dev-libs/boost-1.67:=[threads,context,python,static-libs?,${PYTHON_USEDEP}]
+ )
+ jemalloc? ( dev-libs/jemalloc:=[static-libs?] )
+ !jemalloc? ( >=dev-util/google-perftools-2.4:=[static-libs?] )
+ ${PYTHON_DEPS}
+ "
+DEPEND="${COMMON_DEPEND}
+ amd64? ( dev-lang/yasm )
+ x86? ( dev-lang/yasm )
+ app-arch/cpio
+ dev-python/cython[${PYTHON_USEDEP}]
+ dev-python/sphinx
+ dev-util/cunit
+ dev-util/gperf
+ dev-util/valgrind
+ sys-apps/which
+ sys-devel/bc
+ virtual/pkgconfig
+ test? (
+ dev-python/coverage[${PYTHON_USEDEP}]
+ dev-python/virtualenv[${PYTHON_USEDEP}]
+ sys-apps/grep[pcre]
+ sys-fs/btrfs-progs
+ )"
+RDEPEND="${COMMON_DEPEND}
+ net-misc/socat
+ sys-apps/gptfdisk
+ sys-block/parted
+ sys-fs/cryptsetup
+ sys-fs/lvm2[-device-mapper-only(-)]
+ !<sys-apps/openrc-0.26.3
+ dev-python/bcrypt[${PYTHON_USEDEP}]
+ dev-python/cherrypy[${PYTHON_USEDEP}]
+ dev-python/flask[${PYTHON_USEDEP}]
+ dev-python/jinja[${PYTHON_USEDEP}]
+ dev-python/pecan[${PYTHON_USEDEP}]
+ dev-python/prettytable[${PYTHON_USEDEP}]
+ dev-python/pyopenssl[${PYTHON_USEDEP}]
+ dev-python/requests[${PYTHON_USEDEP}]
+ dev-python/werkzeug[${PYTHON_USEDEP}]
+ "
+REQUIRED_USE="
+ ${PYTHON_REQUIRED_USE}
+ || ( $(python_gen_useflags 'python3*') )
+ ?? ( jemalloc tcmalloc )
+ "
+
+# the tests need root access
+RESTRICT="test? ( userpriv )"
+
+# distribution tarball does not include everything needed for tests
+RESTRICT+=" test"
+
+# false positives unless all USE flags are on
+CMAKE_WARN_UNUSED_CLI="no"
+
+# ninja does not work at all
+CMAKE_MAKEFILE_GENERATOR="emake"
+
+UNBUNDLE_LIBS=(
+ src/erasure-code/jerasure/jerasure
+ src/erasure-code/jerasure/gf-complete
+)
+
+PATCHES=(
+ "${FILESDIR}/ceph-12.2.0-use-provided-cpu-flag-values.patch"
+ "${FILESDIR}/ceph-12.2.0-cflags.patch"
+ "${FILESDIR}/ceph-12.2.4-boost-build-none-options.patch"
+ "${FILESDIR}/ceph-13.2.0-cflags.patch"
+ "${FILESDIR}/ceph-12.2.4-rocksdb-cflags.patch"
+ "${FILESDIR}/ceph-13.2.0-mgr-python-version.patch"
+ "${FILESDIR}/ceph-13.2.6-no-virtualenvs.patch"
+ "${FILESDIR}/ceph-13.2.2-dont-install-sysvinit-script.patch"
+ "${FILESDIR}/ceph-13.2.5-no-automagic-deps.patch"
+ "${FILESDIR}/ceph-14.2.0-cython-0.29.patch"
+ "${FILESDIR}/ceph-12.2.12-ncurses-tinfo.patch"
+ "${FILESDIR}/ceph-13.2.6-dpdk-alignment.patch"
+)
+
+check-reqs_export_vars() {
+ if use amd64; then
+ CHECKREQS_DISK_BUILD="12G"
+ CHECKREQS_DISK_USR="460M"
+ else
+ CHECKREQS_DISK_BUILD="1400M"
+ CHECKREQS_DISK_USR="450M"
+ fi
+
+ export CHECKREQS_DISK_BUILD CHECKREQS_DISK_USR
+}
+
+user_setup() {
+ enewgroup ceph ${CEPH_GID}
+ enewuser ceph "${CEPH_UID:--1}" -1 /var/lib/ceph ceph
+}
+
+pkg_pretend() {
+ check-reqs_export_vars
+ check-reqs_pkg_pretend
+}
+
+pkg_setup() {
+ python_setup 'python3*'
+ check-reqs_export_vars
+ check-reqs_pkg_setup
+ user_setup
+}
+
+src_prepare() {
+ cmake-utils_src_prepare
+
+ if use system-boost; then
+ eapply "${FILESDIR}/ceph-13.2.0-boost-sonames.patch"
+ fi
+
+ sed -i -r "s:DESTINATION .+\\):DESTINATION $(get_bashcompdir)\\):" \
+ src/bash_completion/CMakeLists.txt || die
+
+ # remove tests that need root access
+ rm src/test/cli/ceph-authtool/cap*.t || die
+
+ #rm -rf "${UNBUNDLE_LIBS[@]}"
+}
+
+ceph_src_configure() {
+ local flag
+ local mycmakeargs=(
+ -DWITH_BABELTRACE=$(usex babeltrace)
+ -DWITH_CEPHFS=$(usex cephfs)
+ -DWITH_DPDK=$(usex dpdk)
+ -DWITH_FUSE=$(usex fuse)
+ -DWITH_LTTNG=$(usex lttng)
+ -DWITH_MGR=$(usex mgr)
+ -DWITH_MGR_DASHBOARD_FRONTEND=NO
+ -DMGR_PYTHON_VERSION=$(if python_is_python3; then echo 3; else echo 2; fi)
+ -DWITH_NUMA=$(usex numa)
+ -DWITH_OPENLDAP=$(usex ldap)
+ -DWITH_RADOSGW=$(usex radosgw)
+ -DWITH_SSL=$(usex ssl)
+ -DWITH_SYSTEMD=$(usex systemd)
+ -DWITH_TESTS=$(usex test)
+ -DWITH_XFS=$(usex xfs)
+ -DWITH_ZFS=$(usex zfs)
+ -DENABLE_SHARED=$(usex static-libs '' 'yes' 'no')
+ -DALLOCATOR=$(usex tcmalloc 'tcmalloc' "$(usex jemalloc 'jemalloc' 'libc')")
+ -DWITH_SYSTEM_BOOST=$(usex system-boost)
+ -DBOOST_J=$(makeopts_jobs)
+ -DWITH_RDMA=no
+ -DWITH_TBB=no
+ -DSYSTEMD_UNITDIR=$(systemd_get_systemunitdir)
+ -DEPYTHON_VERSION="${EPYTHON#python}"
+ -DCMAKE_INSTALL_DOCDIR="${EPREFIX}/usr/share/doc/${P}"
+ -DCMAKE_INSTALL_SYSCONFDIR="${EPREFIX}/etc"
+ -Wno-dev
+ )
+ if use amd64 || use x86; then
+ for flag in ${CPU_FLAGS_X86[@]}; do
+ mycmakeargs+=("$(usex cpu_flags_x86_${flag} "-DHAVE_INTEL_${flag^^}=1")")
+ done
+ fi
+
+ rm -f "${BUILD_DIR:-${S}}/CMakeCache.txt"
+ cmake-utils_src_configure
+
+ # bug #630232
+ sed -i "s:\"${T//:\\:}/${EPYTHON}/bin/python\":\"${PYTHON}\":" \
+ "${BUILD_DIR:--${S}}"/include/acconfig.h \
+ || die "sed failed"
+}
+
+src_configure() {
+ ceph_src_configure
+}
+
+python_compile() {
+ local CMAKE_USE_DIR="${S}"
+ ceph_src_configure
+
+ rm -rf "${BUILD_DIR}/lib/cython_modules" || die
+
+ pushd "${BUILD_DIR}/src/pybind" >/dev/null || die
+ emake VERBOSE=1 clean
+ emake VERBOSE=1 all
+
+ # python modules are only compiled with "make install" so we need to do this to
+ # prevent doing a bunch of compilation in src_install
+ DESTDIR="${T}" emake VERBOSE=1 install
+ popd >/dev/null || die
+}
+
+src_compile() {
+ cmake-utils_src_make VERBOSE=1 all
+
+ # we have to do this here to prevent from building everything multiple times
+ BUILD_DIR="${CMAKE_BUILD_DIR}" python_copy_sources
+ python_foreach_impl python_compile
+}
+
+src_test() {
+ make check || die "make check failed"
+}
+
+python_install() {
+ local CMAKE_USE_DIR="${S}"
+ pushd "${BUILD_DIR}/src/pybind" >/dev/null || die
+ DESTDIR="${ED}" emake install
+ popd >/dev/null || die
+}
+
+src_install() {
+ cmake-utils_src_install
+ python_foreach_impl python_install
+
+ find "${D}" -name '*.la' -delete || die
+
+ exeinto /usr/$(get_libdir)/ceph
+ newexe "${BUILD_DIR}/bin/init-ceph" ceph_init.sh
+
+ insinto /etc/logrotate.d/
+ newins "${FILESDIR}"/ceph.logrotate-r2 ${PN}
+
+ keepdir /var/lib/${PN}{,/tmp} /var/log/${PN}/stat
+
+ fowners -R ceph:ceph /var/lib/ceph /var/log/ceph
+
+ newinitd "${FILESDIR}/rbdmap.initd" rbdmap
+ newinitd "${FILESDIR}/${PN}.initd-r12" ${PN}
+ newconfd "${FILESDIR}/${PN}.confd-r5" ${PN}
+
+ insinto /etc/sysctl.d
+ newins "${FILESDIR}"/sysctld 90-${PN}.conf
+
+ use tcmalloc && newenvd "${FILESDIR}"/envd-tcmalloc 99${PN}-tcmalloc
+
+ # units aren't installed by the build system unless systemd is enabled
+ # so no point installing these with the USE flag disabled
+ if use systemd; then
+ systemd_install_serviced "${FILESDIR}/ceph-mds_at.service.conf" \
+ "ceph-mds@.service"
+
+ systemd_install_serviced "${FILESDIR}/ceph-osd_at.service.conf" \
+ "ceph-osd@.service"
+ fi
+
+ udev_dorules udev/*.rules
+
+ readme.gentoo_create_doc
+
+ python_setup 'python3*'
+
+ # bug #630232
+ sed -i -r "s:${T//:/\\:}/${EPYTHON}:/usr:" "${ED}"/usr/bin/ceph \
+ || die "sed failed"
+
+ python_fix_shebang "${ED}"/usr/{,s}bin/
+
+ # python_fix_shebang apparently is not idempotent
+ sed -i -r 's:(/usr/lib/python-exec/python[0-9]\.[0-9]/python)[0-9]\.[0-9]:\1:' \
+ "${ED}"/usr/{sbin/ceph-disk,bin/ceph-detect-init} || die "sed failed"
+
+ local -a rados_classes=( "${D}/usr/$(get_libdir)/rados-classes"/* )
+ dostrip -x "${rados_classes[@]#${D}}"
+}
+
+pkg_postinst() {
+ readme.gentoo_print_elog
+}
diff --git a/sys-cluster/ceph/files/ceph-13.2.6-dpdk-alignment.patch b/sys-cluster/ceph/files/ceph-13.2.6-dpdk-alignment.patch
new file mode 100644
index 00000000000..c5d048eb7a2
--- /dev/null
+++ b/sys-cluster/ceph/files/ceph-13.2.6-dpdk-alignment.patch
@@ -0,0 +1,14 @@
+diff --git a/src/spdk/dpdk/lib/librte_net/rte_ether.h b/src/spdk/dpdk/lib/librte_net/rte_ether.h
+index 3a87ff184..8090b7c01 100644
+--- a/src/spdk/dpdk/lib/librte_net/rte_ether.h
++++ b/src/spdk/dpdk/lib/librte_net/rte_ether.h
+@@ -55,7 +55,8 @@ extern "C" {
+ * See http://standards.ieee.org/regauth/groupmac/tutorial.html
+ */
+ struct ether_addr {
+- uint8_t addr_bytes[ETHER_ADDR_LEN]; /**< Addr bytes in tx order */
++ /** Addr bytes in tx order */
++ uint8_t addr_bytes[ETHER_ADDR_LEN] __rte_aligned(2);
+ } __attribute__((__packed__));
+
+ #define ETHER_LOCAL_ADMIN_ADDR 0x02 /**< Locally assigned Eth. address. */
diff --git a/sys-cluster/ceph/files/ceph-13.2.6-no-virtualenvs.patch b/sys-cluster/ceph/files/ceph-13.2.6-no-virtualenvs.patch
new file mode 100644
index 00000000000..ad38799b690
--- /dev/null
+++ b/sys-cluster/ceph/files/ceph-13.2.6-no-virtualenvs.patch
@@ -0,0 +1,74 @@
+diff --git a/src/ceph-detect-init/CMakeLists.txt b/src/ceph-detect-init/CMakeLists.txt
+index 6e5946b784..233cccfc9b 100644
+--- a/src/ceph-detect-init/CMakeLists.txt
++++ b/src/ceph-detect-init/CMakeLists.txt
+@@ -2,8 +2,8 @@ set(CEPH_DETECT_INIT_VIRTUALENV ${CEPH_BUILD_VIRTUALENV}/ceph-detect-init-virtua
+
+ add_custom_target(ceph-detect-init
+ COMMAND
+- ${CMAKE_SOURCE_DIR}/src/tools/setup-virtualenv.sh --python=python2.7 ${CEPH_DETECT_INIT_VIRTUALENV} &&
+- ${CEPH_DETECT_INIT_VIRTUALENV}/bin/pip install --no-index --find-links=file:${CMAKE_SOURCE_DIR}/src/ceph-detect-init/wheelhouse -e .
++ #${CMAKE_SOURCE_DIR}/src/tools/setup-virtualenv.sh --python=python2.7 ${CEPH_DETECT_INIT_VIRTUALENV} &&
++ #${CEPH_DETECT_INIT_VIRTUALENV}/bin/pip install --no-index --find-links=file:${CMAKE_SOURCE_DIR}/src/ceph-detect-init/wheelhouse -e .
+ WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}/src/ceph-detect-init
+ COMMENT "ceph-detect-init is being created")
+ add_dependencies(tests ceph-detect-init)
+diff --git a/src/ceph-disk/CMakeLists.txt b/src/ceph-disk/CMakeLists.txt
+index 00aaec4a80..b0700c488f 100644
+--- a/src/ceph-disk/CMakeLists.txt
++++ b/src/ceph-disk/CMakeLists.txt
+@@ -2,8 +2,8 @@ set(CEPH_DISK_VIRTUALENV ${CEPH_BUILD_VIRTUALENV}/ceph-disk-virtualenv)
+
+ add_custom_target(ceph-disk
+ COMMAND
+- ${CMAKE_SOURCE_DIR}/src/tools/setup-virtualenv.sh --python=python2.7 ${CEPH_DISK_VIRTUALENV} &&
+- ${CEPH_DISK_VIRTUALENV}/bin/pip install --no-index --find-links=file:${CMAKE_SOURCE_DIR}/src/ceph-disk/wheelhouse -e .
++ #${CMAKE_SOURCE_DIR}/src/tools/setup-virtualenv.sh --python=python2.7 ${CEPH_DISK_VIRTUALENV} &&
++ #${CEPH_DISK_VIRTUALENV}/bin/pip install --no-index --find-links=file:${CMAKE_SOURCE_DIR}/src/ceph-disk/wheelhouse -e .
+ WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}/src/ceph-disk
+ COMMENT "ceph-disk is being created")
+ add_dependencies(tests ceph-disk)
+diff --git a/src/pybind/mgr/dashboard/CMakeLists.txt b/src/pybind/mgr/dashboard/CMakeLists.txt
+index 88ca8a60bb..77c716cdb1 100644
+--- a/src/pybind/mgr/dashboard/CMakeLists.txt
++++ b/src/pybind/mgr/dashboard/CMakeLists.txt
+@@ -2,7 +2,7 @@ set(MGR_DASHBOARD_VIRTUALENV ${CEPH_BUILD_VIRTUALENV}/mgr-dashboard-virtualenv)
+
+ add_custom_target(mgr-dashboard-test-venv
+ COMMAND
+- ${CMAKE_SOURCE_DIR}/src/tools/setup-virtualenv.sh --python=${MGR_PYTHON_EXECUTABLE} ${MGR_DASHBOARD_VIRTUALENV}
++ #${CMAKE_SOURCE_DIR}/src/tools/setup-virtualenv.sh --python=${MGR_PYTHON_EXECUTABLE} ${MGR_DASHBOARD_VIRTUALENV}
+ WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}/src/pybind/mgr/dashboard
+ COMMENT "dashboard tests virtualenv is being created")
+ add_dependencies(tests mgr-dashboard-test-venv)
+@@ -13,9 +13,6 @@ set(mgr-dashboard-nodeenv ${CMAKE_CURRENT_BINARY_DIR}/node-env)
+
+ add_custom_command(
+ OUTPUT "${mgr-dashboard-nodeenv}/bin/npm"
+- COMMAND ${CMAKE_SOURCE_DIR}/src/tools/setup-virtualenv.sh --python=${MGR_PYTHON_EXECUTABLE} ${mgr-dashboard-nodeenv}
+- COMMAND ${mgr-dashboard-nodeenv}/bin/pip install nodeenv
+- COMMAND ${mgr-dashboard-nodeenv}/bin/nodeenv -p -n 10.13.0
+ WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
+ COMMENT "dashboard nodeenv is being installed"
+ )
+@@ -27,7 +24,6 @@ add_custom_target(mgr-dashboard-nodeenv
+
+ add_custom_command(
+ OUTPUT "${CMAKE_SOURCE_DIR}/src/pybind/mgr/dashboard/frontend/node_modules"
+- COMMAND . ${mgr-dashboard-nodeenv}/bin/activate && npm ci && deactivate
+ DEPENDS frontend/package.json
+ WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}/src/pybind/mgr/dashboard/frontend
+ COMMENT "dashboard frontend dependencies are being installed"
+@@ -62,9 +58,11 @@ else()
+ set(npm_command npm run build)
+ endif()
+
++LIST(APPEND CMAKE_PROGRAM_PATH ${CMAKE_SOURCE_DIR}/src/pybind/mgr/dashboard/frontend/node_modules/.bin)
++
+ add_custom_command(
+ OUTPUT "${CMAKE_SOURCE_DIR}/src/pybind/mgr/dashboard/frontend/dist"
+- COMMAND . ${mgr-dashboard-nodeenv}/bin/activate && ${npm_command} && deactivate
++ COMMAND PREFIX="${CMAKE_SOURCE_DIR}" ${npm_command}
+ DEPENDS ${frontend_src} frontend/node_modules
+ WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}/src/pybind/mgr/dashboard/frontend
+ COMMENT "dashboard frontend is being created"
^ permalink raw reply related [flat|nested] 68+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-cluster/ceph/, sys-cluster/ceph/files/
@ 2019-04-29 22:57 Patrick McLean
0 siblings, 0 replies; 68+ messages in thread
From: Patrick McLean @ 2019-04-29 22:57 UTC (permalink / raw
To: gentoo-commits
commit: 8312633ba545894a52d9ec130a05e7c8068e0196
Author: Patrick McLean <patrick.mclean <AT> sony <DOT> com>
AuthorDate: Mon Apr 29 22:54:40 2019 +0000
Commit: Patrick McLean <chutzpah <AT> gentoo <DOT> org>
CommitDate: Mon Apr 29 22:54:40 2019 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=8312633b
sys-cluster/ceph: Version bump to 14.2.1
- Add experimental support for USE="system-boost" with boost-1.70
- Revbump init script to allow extra commands in conf.d (bug 684366)
Bug: https://bugs.gentoo.org/684366
Copyright: Sony Interactive Entertainment Inc.
Package-Manager: Portage-2.3.65, Repoman-2.3.12
Signed-off-by: Patrick McLean <chutzpah <AT> gentoo.org>
sys-cluster/ceph/Manifest | 1 +
sys-cluster/ceph/ceph-14.2.1.ebuild | 362 +++++++++++++++++++++
.../files/ceph-14.2.0-boost-1.70-sonames.patch | 321 ++++++++++++++++++
.../ceph/files/ceph-14.2.0-boost-1.70.patch | 120 +++++++
sys-cluster/ceph/files/ceph.initd-r12 | 115 +++++++
5 files changed, 919 insertions(+)
diff --git a/sys-cluster/ceph/Manifest b/sys-cluster/ceph/Manifest
index bfbbc7b64d7..4c6e42c016e 100644
--- a/sys-cluster/ceph/Manifest
+++ b/sys-cluster/ceph/Manifest
@@ -3,3 +3,4 @@ DIST ceph-12.2.12.tar.gz 77467762 BLAKE2B a5224432121db9ef49c1e22771d847399df2f7
DIST ceph-12.2.8.tar.gz 77243685 BLAKE2B 37c34396a0c276b8d79735e14934ac70da024822c2a060061531c234e03e5d41aad6c41dc64b05c2ce47f03287d0cae9ef9bed67e4a0861b6380c8ce1de4ea69 SHA512 91c5c11aaeef701b3e31c9f8a1192b6b79fd34f3b96c61595c65173c98bfce0009c5b7c9b29764f5e4d4b1f5ac2ca7109fed5ae598c176aba717a34a132fabac
DIST ceph-13.2.5.tar.gz 91006057 BLAKE2B 68551e2f54d78aff7b0e9ec3c62e6a3394dd7c23e80924a5b400cd9666a05a42e5f22445deee4040f1b78201c6a6660b283109878d4c92d845821bff831c8a5e SHA512 6daea524523f829e725609328ea71f416b2c3a9530fa8956720a7bc69dc08e55a169654f500704579dc9ba693f04eedd7e04614c0850e9ab1169cd45f19039f8
DIST ceph-14.2.0.tar.gz 118882504 BLAKE2B e650d99dceb11c7b035480c8cdd9f63ee4a5f81ffea27988e180a2956433e3e4b34e496a73bf5992c428eff859311c623b92a6f006eb694ebf928d8204dc9b06 SHA512 c86a335714fd5678988133ec0e60cb10cd948250a133c073d1ed055c5bba232fa6f1e102dd7fcb0c70b37a07c9c2d1220d4a1713720e4dcab9659152ee577480
+DIST ceph-14.2.1.tar.gz 117111511 BLAKE2B c00181223c6e02e7fe696ed4226f1751eca48e799f8b5377a06621eb3300f81b58dc20f325b455df04fcbd0c28b981fae1cfc778a8d69414247ddd206d0c6175 SHA512 fccde341344c721fbfc7f7cb73db4f65933d7fcacc9495398b55b37d1e208f0bad0cd78a4da08a3b5e26cca3175e7707f7dfb76fae5aa094f58afaed8603c866
diff --git a/sys-cluster/ceph/ceph-14.2.1.ebuild b/sys-cluster/ceph/ceph-14.2.1.ebuild
new file mode 100644
index 00000000000..6cab06ebd9c
--- /dev/null
+++ b/sys-cluster/ceph/ceph-14.2.1.ebuild
@@ -0,0 +1,362 @@
+# Copyright 1999-2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+PYTHON_COMPAT=( python{2_7,3_{5,6,7}} )
+DISTUTILS_OPTIONAL=1
+
+inherit check-reqs bash-completion-r1 cmake-utils distutils-r1 flag-o-matic \
+ multiprocessing python-r1 udev user readme.gentoo-r1 toolchain-funcs \
+ systemd
+
+if [[ ${PV} == *9999* ]]; then
+ inherit git-r3
+ EGIT_REPO_URI="https://github.com/ceph/ceph.git"
+ SRC_URI=""
+else
+ SRC_URI="https://download.ceph.com/tarballs/${P}.tar.gz"
+ KEYWORDS="~amd64 ~arm64 ~x86"
+fi
+
+DESCRIPTION="Ceph distributed filesystem"
+HOMEPAGE="https://ceph.com/"
+
+LICENSE="LGPL-2.1 CC-BY-SA-3.0 GPL-2 GPL-2+ LGPL-2+ BSD Boost-1.0 MIT public-domain"
+SLOT="0"
+
+CPU_FLAGS_X86=(sse{,2,3,4_1,4_2} ssse3)
+
+IUSE="babeltrace cephfs dpdk fuse grafana jemalloc kerberos ldap libressl"
+IUSE+=" lttng +mgr numa rabbitmq +radosgw +ssl static-libs system-boost"
+IUSE+=" systemd +tcmalloc test xfs zfs"
+IUSE+=" $(printf "cpu_flags_x86_%s\n" ${CPU_FLAGS_X86[@]})"
+
+COMMON_DEPEND="
+ virtual/libudev:=
+ app-arch/bzip2:=[static-libs?]
+ app-arch/lz4:=[static-libs?]
+ app-arch/snappy:=[static-libs?]
+ app-arch/zstd:=[static-libs?]
+ app-misc/jq:=[static-libs?]
+ dev-libs/crypto++:=[static-libs?]
+ dev-libs/leveldb:=[snappy,static-libs?,tcmalloc?]
+ dev-libs/libaio:=[static-libs?]
+ dev-libs/libxml2:=[static-libs?]
+ dev-libs/nss:=
+ sys-auth/oath-toolkit:=
+ sys-apps/keyutils:=[static-libs?]
+ sys-apps/util-linux:=[static-libs?]
+ sys-libs/ncurses:0=[static-libs?]
+ sys-libs/zlib:=[static-libs?]
+ babeltrace? ( dev-util/babeltrace )
+ ldap? ( net-nds/openldap:=[static-libs?] )
+ lttng? ( dev-util/lttng-ust:= )
+ fuse? ( sys-fs/fuse:0=[static-libs?] )
+ kerberos? ( virtual/krb5 )
+ rabbitmq? ( net-libs/rabbitmq-c:=[static-libs?] )
+ ssl? (
+ !libressl? ( dev-libs/openssl:=[static-libs?] )
+ libressl? ( dev-libs/libressl:=[static-libs?] )
+ )
+ xfs? ( sys-fs/xfsprogs:=[static-libs?] )
+ zfs? ( sys-fs/zfs:=[static-libs?] )
+ radosgw? (
+ dev-libs/expat:=[static-libs?]
+ !libressl? (
+ dev-libs/openssl:=[static-libs?]
+ net-misc/curl:=[curl_ssl_openssl,static-libs?]
+ )
+ libressl? (
+ dev-libs/libressl:=[static-libs?]
+ net-misc/curl:=[curl_ssl_libressl,static-libs?]
+ )
+ )
+ system-boost? (
+ || (
+ ~dev-libs/boost-1.70.0[threads,context,python,static-libs?,${PYTHON_USEDEP}]
+ ~dev-libs/boost-1.67.0[threads,context,python,static-libs?,${PYTHON_USEDEP}]
+ )
+ dev-libs/boost:=[threads,context,python,static-libs?,${PYTHON_USEDEP}]
+ )
+ jemalloc? ( dev-libs/jemalloc:=[static-libs?] )
+ !jemalloc? ( >=dev-util/google-perftools-2.4:=[static-libs?] )
+ ${PYTHON_DEPS}
+ "
+DEPEND="${COMMON_DEPEND}
+ amd64? ( dev-lang/yasm )
+ x86? ( dev-lang/yasm )
+ dev-python/cython[${PYTHON_USEDEP}]
+ dev-python/sphinx
+ dev-util/cunit
+ test? (
+ dev-python/coverage[${PYTHON_USEDEP}]
+ dev-python/virtualenv[${PYTHON_USEDEP}]
+ sys-apps/grep[pcre]
+ sys-fs/btrfs-progs
+ )
+ "
+BDEPEND=" app-arch/cpio
+ >=dev-util/cmake-3.5.0
+ dev-util/gperf
+ dev-util/valgrind
+ sys-apps/which
+ sys-devel/bc
+ virtual/pkgconfig
+ "
+RDEPEND="${COMMON_DEPEND}
+ net-misc/socat
+ sys-apps/gptfdisk
+ sys-block/parted
+ sys-fs/cryptsetup
+ sys-fs/lvm2[-device-mapper-only(-)]
+ !<sys-apps/openrc-0.26.3
+ dev-python/bcrypt[${PYTHON_USEDEP}]
+ dev-python/cherrypy[${PYTHON_USEDEP}]
+ dev-python/flask[${PYTHON_USEDEP}]
+ dev-python/jinja[${PYTHON_USEDEP}]
+ dev-python/pecan[${PYTHON_USEDEP}]
+ dev-python/prettytable[${PYTHON_USEDEP}]
+ dev-python/pyopenssl[${PYTHON_USEDEP}]
+ dev-python/requests[${PYTHON_USEDEP}]
+ dev-python/werkzeug[${PYTHON_USEDEP}]
+ "
+REQUIRED_USE="
+ ${PYTHON_REQUIRED_USE}
+ || ( $(python_gen_useflags 'python3*') )
+ ?? ( jemalloc tcmalloc )
+ rabbitmq? ( radosgw )
+ "
+
+# the tests need root access
+RESTRICT="test? ( userpriv )"
+
+# distribution tarball does not include everything needed for tests
+RESTRICT+=" test"
+
+# false positives unless all USE flags are on
+CMAKE_WARN_UNUSED_CLI="no"
+
+UNBUNDLE_LIBS=(
+ src/erasure-code/jerasure/jerasure
+ src/erasure-code/jerasure/gf-complete
+)
+
+PATCHES=(
+ "${FILESDIR}/ceph-12.2.0-use-provided-cpu-flag-values.patch"
+ "${FILESDIR}/ceph-14.2.0-cflags.patch"
+ "${FILESDIR}/ceph-12.2.4-boost-build-none-options.patch"
+ "${FILESDIR}/ceph-13.2.0-cflags.patch"
+ "${FILESDIR}/ceph-14.2.0-mgr-python-version.patch"
+ "${FILESDIR}/ceph-14.2.0-no-virtualenvs.patch"
+ "${FILESDIR}/ceph-13.2.2-dont-install-sysvinit-script.patch"
+ "${FILESDIR}/ceph-14.2.0-dpdk-cflags.patch"
+ "${FILESDIR}/ceph-14.2.0-link-crc32-statically.patch"
+ "${FILESDIR}/ceph-14.2.0-cython-0.29.patch"
+ "${FILESDIR}/ceph-14.2.1-ncurses-tinfo.patch"
+)
+
+# dpdk and ninja don't get along
+CMAKE_MAKEFILE_GENERATOR="emake"
+
+check-reqs_export_vars() {
+ if use amd64; then
+ CHECKREQS_DISK_BUILD="12G"
+ CHECKREQS_DISK_USR="460M"
+ else
+ CHECKREQS_DISK_BUILD="1400M"
+ CHECKREQS_DISK_USR="450M"
+ fi
+
+ export CHECKREQS_DISK_BUILD CHECKREQS_DISK_USR
+}
+
+user_setup() {
+ enewgroup ceph ${CEPH_GID}
+ enewuser ceph "${CEPH_UID:--1}" -1 /var/lib/ceph ceph
+}
+
+pkg_pretend() {
+ check-reqs_export_vars
+ check-reqs_pkg_pretend
+
+ if use system-boost && has_version '~dev-libs/boost-1.70.0'; then
+ ewarn "Building with boost-1.70 is experimental, and may cause runtime"
+ ewarn "failures. Disable the system-boost USE flag to use bundled boost"
+ ewarn "if you want an upstream supported configuration."
+ fi
+}
+
+pkg_setup() {
+ python_setup 'python3*'
+ check-reqs_export_vars
+ check-reqs_pkg_setup
+ user_setup
+}
+
+src_prepare() {
+ cmake-utils_src_prepare
+
+ if use system-boost; then
+ if has_version '~dev-libs/boost-1.70.0'; then
+ eapply "${FILESDIR}/ceph-14.2.0-boost-1.70-sonames.patch" \
+ "${FILESDIR}/ceph-14.2.0-boost-1.70.patch"
+ else
+ eapply "${FILESDIR}/ceph-14.2.0-boost-sonames.patch"
+ fi
+ fi
+
+ sed -i -r "s:DESTINATION .+\\):DESTINATION $(get_bashcompdir)\\):" \
+ src/bash_completion/CMakeLists.txt || die
+
+ # remove tests that need root access
+ rm src/test/cli/ceph-authtool/cap*.t || die
+}
+
+ceph_src_configure() {
+ local flag
+ local mycmakeargs=(
+ -DWITH_BABELTRACE=$(usex babeltrace)
+ -DWITH_CEPHFS=$(usex cephfs)
+ -DWITH_CEPHFS_SHELL=$(if python_is_python3; then usex cephfs; else echo OFF; fi)
+ -DWITH_DPDK=$(usex dpdk)
+ -DWITH_FUSE=$(usex fuse)
+ -DWITH_LTTNG=$(usex lttng)
+ -DWITH_GSSAPI=$(usex kerberos)
+ -DWITH_GRAFANA=$(usex grafana)
+ -DWITH_MGR=$(usex mgr)
+ -DWITH_MGR_DASHBOARD_FRONTEND=NO
+ -DWITH_NUMA=$(usex numa)
+ -DWITH_OPENLDAP=$(usex ldap)
+ -DWITH_PYTHON3=$(if python_is_python3; then echo "ON"; else echo "OFF"; fi)
+ -DWITH_PYTHON2=$(if python_is_python3; then echo "OFF"; else echo "ON"; fi)
+ -DWITH_RADOSGW=$(usex radosgw)
+ -DWITH_RADOSGW_AMQP_ENDPOINT=$(usex rabbitmq)
+ -DWITH_SSL=$(usex ssl)
+ -DWITH_SYSTEMD=$(usex systemd)
+ -DWITH_TESTS=$(usex test)
+ -DWITH_XFS=$(usex xfs)
+ -DWITH_ZFS=$(usex zfs)
+ -DENABLE_SHARED=$(usex static-libs '' 'ON' 'OFF')
+ -DALLOCATOR=$(usex tcmalloc 'tcmalloc' "$(usex jemalloc 'jemalloc' 'libc')")
+ -DWITH_SYSTEM_BOOST=$(usex system-boost)
+ -DBOOST_J=$(makeopts_jobs)
+ -DWITH_RDMA=no
+ -DWITH_TBB=no
+ -DSYSTEMD_UNITDIR=$(systemd_get_systemunitdir)
+ -DEPYTHON_VERSION="${EPYTHON#python}"
+ -DCMAKE_INSTALL_DOCDIR="${EPREFIX}/usr/share/doc/${PN}-${PVR}"
+ -DCMAKE_INSTALL_SYSCONFDIR="${EPREFIX}/etc"
+ #-Wno-dev
+ )
+ if use amd64 || use x86; then
+ for flag in ${CPU_FLAGS_X86[@]}; do
+ mycmakeargs+=("$(usex cpu_flags_x86_${flag} "-DHAVE_INTEL_${flag^^}=1")")
+ done
+ fi
+
+ rm -f "${BUILD_DIR:-${S}}/CMakeCache.txt" \
+ || die "failed to remove cmake cache"
+
+ cmake-utils_src_configure
+
+ # bug #630232
+ sed -i "s:\"${T//:\\:}/${EPYTHON}/bin/python\":\"${PYTHON}\":" \
+ "${BUILD_DIR:-${S}}"/include/acconfig.h \
+ || die "sed failed"
+}
+
+src_configure() {
+ ceph_src_configure
+}
+
+python_compile() {
+ local CMAKE_USE_DIR="${S}"
+ ceph_src_configure
+
+ pushd "${BUILD_DIR}/src/pybind" >/dev/null || die
+ emake VERBOSE=1 clean
+ emake VERBOSE=1 all
+
+ # python modules are only compiled with "make install" so we need to do this to
+ # prevent doing a bunch of compilation in src_install
+ DESTDIR="${T}" emake VERBOSE=1 install
+ popd >/dev/null || die
+}
+
+src_compile() {
+ cmake-utils_src_make VERBOSE=1 all
+
+ # we have to do this here to prevent from building everything multiple times
+ python_copy_sources
+ python_foreach_impl python_compile
+}
+
+src_test() {
+ make check || die "make check failed"
+}
+
+python_install() {
+ local CMAKE_USE_DIR="${S}"
+ pushd "${BUILD_DIR}/src/pybind" >/dev/null || die
+ DESTDIR="${ED}" emake VERBOSE=1 install
+ popd >/dev/null || die
+}
+
+src_install() {
+ cmake-utils_src_install
+ python_foreach_impl python_install
+
+ find "${ED}" -name '*.la' -type f -delete || die
+
+ exeinto /usr/$(get_libdir)/ceph
+ newexe "${BUILD_DIR}/bin/init-ceph" init-ceph
+
+ insinto /etc/logrotate.d/
+ newins "${FILESDIR}"/ceph.logrotate-r2 ${PN}
+
+ keepdir /var/lib/${PN}{,/tmp} /var/log/${PN}/stat
+
+ fowners -R ceph:ceph /var/lib/ceph /var/log/ceph
+
+ newinitd "${FILESDIR}/rbdmap.initd" rbdmap
+ newinitd "${FILESDIR}/${PN}.initd-r12" ${PN}
+ newconfd "${FILESDIR}/${PN}.confd-r5" ${PN}
+
+ insinto /etc/sysctl.d
+ newins "${FILESDIR}"/sysctld 90-${PN}.conf
+
+ use tcmalloc && newenvd "${FILESDIR}"/envd-tcmalloc 99${PN}-tcmalloc
+
+ # units aren't installed by the build system unless systemd is enabled
+ # so no point installing these with the USE flag disabled
+ if use systemd; then
+ systemd_install_serviced "${FILESDIR}/ceph-mds_at.service.conf" \
+ "ceph-mds@.service"
+
+ systemd_install_serviced "${FILESDIR}/ceph-osd_at.service.conf" \
+ "ceph-osd@.service"
+ fi
+
+ udev_dorules udev/*.rules
+
+ readme.gentoo_create_doc
+
+ python_setup 'python3*'
+
+ # bug #630232
+ sed -i -r "s:${T//:/\\:}/${EPYTHON}:/usr:" "${ED}"/usr/bin/ceph{,-crash} \
+ || die "sed failed"
+
+ python_fix_shebang "${ED}"/usr/{,s}bin/
+
+ # python_fix_shebang apparently is not idempotent
+ sed -i -r 's:(/usr/lib/python-exec/python[0-9]\.[0-9]/python)[0-9]\.[0-9]:\1:' \
+ "${ED}"/usr/sbin/{mount.*,ceph-volume{,-systemd}} || die "sed failed"
+
+ local -a rados_classes=( "${ED}/usr/$(get_libdir)/rados-classes"/* )
+ dostrip -x "${rados_classes[@]#${ED}}"
+}
+
+pkg_postinst() {
+ readme.gentoo_print_elog
+}
diff --git a/sys-cluster/ceph/files/ceph-14.2.0-boost-1.70-sonames.patch b/sys-cluster/ceph/files/ceph-14.2.0-boost-1.70-sonames.patch
new file mode 100644
index 00000000000..6d712003742
--- /dev/null
+++ b/sys-cluster/ceph/files/ceph-14.2.0-boost-1.70-sonames.patch
@@ -0,0 +1,321 @@
+diff --git a/cmake/modules/FindBoost.cmake b/cmake/modules/FindBoost.cmake
+index bfab4ca436..90ed0cbb17 100644
+--- a/cmake/modules/FindBoost.cmake
++++ b/cmake/modules/FindBoost.cmake
+@@ -1181,10 +1181,10 @@ endif()
+ # on all platforms to keep end user code free from platform dependent
+ # code. Also provide convenience targets to disable autolinking and
+ # enable dynamic linking.
+-if(NOT TARGET Boost::diagnostic_definitions)
+- add_library(Boost::diagnostic_definitions INTERFACE IMPORTED)
+- add_library(Boost::disable_autolinking INTERFACE IMPORTED)
+- add_library(Boost::dynamic_linking INTERFACE IMPORTED)
++if(NOT TARGET boost_diagnostic_definitions)
++ add_library(boost_diagnostic_definitions INTERFACE IMPORTED)
++ add_library(boost_disable_autolinking INTERFACE IMPORTED)
++ add_library(boost_dynamic_linking INTERFACE IMPORTED)
+ endif()
+ if(WIN32)
+ # In windows, automatic linking is performed, so you do not have
+@@ -1205,11 +1205,11 @@ if(WIN32)
+ # code to emit a #pragma message each time a library is selected
+ # for linking.
+ set(Boost_LIB_DIAGNOSTIC_DEFINITIONS "-DBOOST_LIB_DIAGNOSTIC")
+- set_target_properties(Boost::diagnostic_definitions PROPERTIES
++ set_target_properties(boost_diagnostic_definitions PROPERTIES
+ INTERFACE_COMPILE_DEFINITIONS "BOOST_LIB_DIAGNOSTIC")
+- set_target_properties(Boost::disable_autolinking PROPERTIES
++ set_target_properties(boost_disable_autolinking PROPERTIES
+ INTERFACE_COMPILE_DEFINITIONS "BOOST_ALL_NO_LIB")
+- set_target_properties(Boost::dynamic_linking PROPERTIES
++ set_target_properties(boost_dynamic_linking PROPERTIES
+ INTERFACE_COMPILE_DEFINITIONS "BOOST_ALL_DYN_LINK")
+ endif()
+
+@@ -2018,52 +2018,52 @@ if(Boost_FOUND)
+ endif()
+
+ foreach(COMPONENT ${Boost_FIND_COMPONENTS})
+- if(_Boost_IMPORTED_TARGETS AND NOT TARGET Boost::${COMPONENT})
++ if(_Boost_IMPORTED_TARGETS AND NOT TARGET boost_${COMPONENT})
+ string(TOUPPER ${COMPONENT} UPPERCOMPONENT)
+ if(Boost_${UPPERCOMPONENT}_FOUND)
+ if(Boost_USE_STATIC_LIBS)
+- add_library(Boost::${COMPONENT} STATIC IMPORTED)
++ add_library(boost_${COMPONENT} STATIC IMPORTED)
+ else()
+ # Even if Boost_USE_STATIC_LIBS is OFF, we might have static
+ # libraries as a result.
+- add_library(Boost::${COMPONENT} UNKNOWN IMPORTED)
++ add_library(boost_${COMPONENT} UNKNOWN IMPORTED)
+ endif()
+ if(Boost_INCLUDE_DIRS)
+- set_target_properties(Boost::${COMPONENT} PROPERTIES
++ set_target_properties(boost_${COMPONENT} PROPERTIES
+ INTERFACE_INCLUDE_DIRECTORIES "${Boost_INCLUDE_DIRS}")
+ endif()
+ if(EXISTS "${Boost_${UPPERCOMPONENT}_LIBRARY}")
+- set_target_properties(Boost::${COMPONENT} PROPERTIES
++ set_target_properties(boost_${COMPONENT} PROPERTIES
+ IMPORTED_LINK_INTERFACE_LANGUAGES "CXX"
+ IMPORTED_LOCATION "${Boost_${UPPERCOMPONENT}_LIBRARY}")
+ endif()
+ if(EXISTS "${Boost_${UPPERCOMPONENT}_LIBRARY_RELEASE}")
+- set_property(TARGET Boost::${COMPONENT} APPEND PROPERTY
++ set_property(TARGET boost_${COMPONENT} APPEND PROPERTY
+ IMPORTED_CONFIGURATIONS RELEASE)
+- set_target_properties(Boost::${COMPONENT} PROPERTIES
++ set_target_properties(boost_${COMPONENT} PROPERTIES
+ IMPORTED_LINK_INTERFACE_LANGUAGES_RELEASE "CXX"
+ IMPORTED_LOCATION_RELEASE "${Boost_${UPPERCOMPONENT}_LIBRARY_RELEASE}")
+ endif()
+ if(EXISTS "${Boost_${UPPERCOMPONENT}_LIBRARY_DEBUG}")
+- set_property(TARGET Boost::${COMPONENT} APPEND PROPERTY
++ set_property(TARGET boost_${COMPONENT} APPEND PROPERTY
+ IMPORTED_CONFIGURATIONS DEBUG)
+- set_target_properties(Boost::${COMPONENT} PROPERTIES
++ set_target_properties(boost_${COMPONENT} PROPERTIES
+ IMPORTED_LINK_INTERFACE_LANGUAGES_DEBUG "CXX"
+ IMPORTED_LOCATION_DEBUG "${Boost_${UPPERCOMPONENT}_LIBRARY_DEBUG}")
+ endif()
+ if(_Boost_${UPPERCOMPONENT}_DEPENDENCIES)
+ unset(_Boost_${UPPERCOMPONENT}_TARGET_DEPENDENCIES)
+ foreach(dep ${_Boost_${UPPERCOMPONENT}_DEPENDENCIES})
+- list(APPEND _Boost_${UPPERCOMPONENT}_TARGET_DEPENDENCIES Boost::${dep})
++ list(APPEND _Boost_${UPPERCOMPONENT}_TARGET_DEPENDENCIES boost_${dep})
+ endforeach()
+ if(COMPONENT STREQUAL "thread")
+ list(APPEND _Boost_${UPPERCOMPONENT}_TARGET_DEPENDENCIES Threads::Threads)
+ endif()
+- set_target_properties(Boost::${COMPONENT} PROPERTIES
++ set_target_properties(boost_${COMPONENT} PROPERTIES
+ INTERFACE_LINK_LIBRARIES "${_Boost_${UPPERCOMPONENT}_TARGET_DEPENDENCIES}")
+ endif()
+ if(_Boost_${UPPERCOMPONENT}_COMPILER_FEATURES)
+- set_target_properties(Boost::${COMPONENT} PROPERTIES
++ set_target_properties(boost_${COMPONENT} PROPERTIES
+ INTERFACE_COMPILE_FEATURES "${_Boost_${UPPERCOMPONENT}_COMPILER_FEATURES}")
+ endif()
+ endif()
+diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
+index 1b1f19d464..21c222280f 100644
+--- a/src/CMakeLists.txt
++++ b/src/CMakeLists.txt
+@@ -353,12 +353,12 @@ set(ceph_common_objs
+ set(ceph_common_deps
+ json_spirit erasure_code arch crc32
+ ${LIB_RESOLV}
+- Boost::thread
+- Boost::system
+- Boost::random
+- Boost::program_options
+- Boost::date_time
+- Boost::iostreams
++ boost_thread
++ boost_system
++ boost_random
++ boost_program_options
++ boost_date_time
++ boost_iostreams
+ ${BLKID_LIBRARIES}
+ ${Backtrace_LIBRARIES}
+ ${BLKIN_LIBRARIES}
+@@ -518,7 +518,7 @@ if (WITH_CEPHFS)
+ ceph_mds.cc)
+ add_executable(ceph-mds ${ceph_mds_srcs})
+ target_link_libraries(ceph-mds mds ${CMAKE_DL_LIBS} global-static ceph-common
+- Boost::thread)
++ boost_thread)
+ install(TARGETS ceph-mds DESTINATION bin)
+ endif()
+
+diff --git a/src/crimson/CMakeLists.txt b/src/crimson/CMakeLists.txt
+index d7b58521d4..e1533af33f 100644
+--- a/src/crimson/CMakeLists.txt
++++ b/src/crimson/CMakeLists.txt
+@@ -106,8 +106,8 @@ target_link_libraries(crimson-common
+ PRIVATE
+ crc32
+ crimson::cflags
+- Boost::iostreams
+- Boost::random
++ boost_iostreams
++ boost_random
+ ${NSS_LIBRARIES} ${NSPR_LIBRARIES} OpenSSL::Crypto)
+
+ set(crimson_auth_srcs
+diff --git a/src/mgr/CMakeLists.txt b/src/mgr/CMakeLists.txt
+index 252fb3e5e3..213482da16 100644
+--- a/src/mgr/CMakeLists.txt
++++ b/src/mgr/CMakeLists.txt
+@@ -26,7 +26,7 @@ target_include_directories(ceph-mgr SYSTEM PRIVATE "${PYTHON_INCLUDE_DIRS}")
+ target_link_libraries(ceph-mgr
+ osdc client heap_profiler
+ global-static ceph-common
+- Boost::python${MGR_PYTHON_VERSION_MAJOR}${MGR_PYTHON_VERSION_MINOR}
++ boost_python${MGR_PYTHON_VERSION_MAJOR}${MGR_PYTHON_VERSION_MINOR}
+ ${MGR_PYTHON_LIBRARIES} ${CMAKE_DL_LIBS} ${GSSAPI_LIBRARIES})
+ set_target_properties(ceph-mgr PROPERTIES
+ POSITION_INDEPENDENT_CODE ${EXE_LINKER_USE_PIE})
+diff --git a/src/rbd_replay/CMakeLists.txt b/src/rbd_replay/CMakeLists.txt
+index e9d3804c5f..5c6eb58de1 100644
+--- a/src/rbd_replay/CMakeLists.txt
++++ b/src/rbd_replay/CMakeLists.txt
+@@ -36,7 +36,7 @@ if(HAVE_BABELTRACE)
+ global
+ babeltrace
+ babeltrace-ctf
+- Boost::date_time
++ boost_date_time
+ )
+ install(TARGETS rbd-replay-prep DESTINATION bin)
+ endif(HAVE_BABELTRACE)
+diff --git a/src/rgw/CMakeLists.txt b/src/rgw/CMakeLists.txt
+index ccc4f74cfe..854aa6e5e9 100644
+--- a/src/rgw/CMakeLists.txt
++++ b/src/rgw/CMakeLists.txt
+@@ -199,7 +199,7 @@ if(WITH_CURL_OPENSSL)
+ endif()
+
+ if(WITH_BOOST_CONTEXT)
+- target_link_libraries(rgw_a PRIVATE Boost::coroutine Boost::context)
++ target_link_libraries(rgw_a PRIVATE boost_coroutine boost_context)
+ endif()
+
+ set(rgw_libs rgw_a)
+@@ -341,7 +341,7 @@ if(WITH_RADOSGW_AMQP_ENDPOINT)
+ target_link_libraries(rgw_admin_user PRIVATE RabbitMQ::RabbitMQ)
+ endif()
+ if(WITH_BOOST_CONTEXT)
+- target_link_libraries(rgw_admin_user PRIVATE Boost::coroutine Boost::context)
++ target_link_libraries(rgw_admin_user PRIVATE boost_coroutine boost_context)
+ endif()
+
+ if(WITH_TESTS)
+diff --git a/src/test/CMakeLists.txt b/src/test/CMakeLists.txt
+index 20a64fd41b..a8bb323614 100644
+--- a/src/test/CMakeLists.txt
++++ b/src/test/CMakeLists.txt
+@@ -158,7 +158,7 @@ add_executable(ceph_omapbench
+ )
+ target_link_libraries(ceph_omapbench
+ librados
+- Boost::program_options
++ boost_program_options
+ global
+ ${BLKID_LIBRARIES}
+ ${CMAKE_DL_LIBS}
+diff --git a/src/test/common/CMakeLists.txt b/src/test/common/CMakeLists.txt
+index 71fb77cda9..aff8fb6565 100644
+--- a/src/test/common/CMakeLists.txt
++++ b/src/test/common/CMakeLists.txt
+@@ -315,8 +315,8 @@ add_ceph_unittest(unittest_hobject)
+
+ add_executable(unittest_async_completion test_async_completion.cc)
+ add_ceph_unittest(unittest_async_completion)
+-target_link_libraries(unittest_async_completion Boost::system)
++target_link_libraries(unittest_async_completion boost_system)
+
+ add_executable(unittest_async_shared_mutex test_async_shared_mutex.cc)
+ add_ceph_unittest(unittest_async_shared_mutex)
+-target_link_libraries(unittest_async_shared_mutex ceph-common Boost::system)
++target_link_libraries(unittest_async_shared_mutex ceph-common boost_system)
+diff --git a/src/test/erasure-code/CMakeLists.txt b/src/test/erasure-code/CMakeLists.txt
+index 721f6c3675..1cd9635c77 100644
+--- a/src/test/erasure-code/CMakeLists.txt
++++ b/src/test/erasure-code/CMakeLists.txt
+@@ -2,15 +2,15 @@
+ add_executable(ceph_erasure_code_benchmark
+ ${CMAKE_SOURCE_DIR}/src/erasure-code/ErasureCode.cc
+ ceph_erasure_code_benchmark.cc)
+-target_link_libraries(ceph_erasure_code_benchmark ceph-common Boost::program_options global ${CMAKE_DL_LIBS})
++target_link_libraries(ceph_erasure_code_benchmark ceph-common boost_program_options global ${CMAKE_DL_LIBS})
+ install(TARGETS ceph_erasure_code_benchmark
+ DESTINATION bin)
+
+ add_executable(ceph_erasure_code_non_regression ceph_erasure_code_non_regression.cc)
+-target_link_libraries(ceph_erasure_code_non_regression ceph-common Boost::program_options global ${CMAKE_DL_LIBS})
++target_link_libraries(ceph_erasure_code_non_regression ceph-common boost_program_options global ${CMAKE_DL_LIBS})
+
+ add_executable(ceph_erasure_code ceph_erasure_code.cc)
+-target_link_libraries(ceph_erasure_code ceph-common Boost::program_options global ${CMAKE_DL_LIBS})
++target_link_libraries(ceph_erasure_code ceph-common boost_program_options global ${CMAKE_DL_LIBS})
+ install(TARGETS ceph_erasure_code
+ DESTINATION bin)
+
+diff --git a/src/test/librados/CMakeLists.txt b/src/test/librados/CMakeLists.txt
+index 4fc53d2406..e6304394f8 100644
+--- a/src/test/librados/CMakeLists.txt
++++ b/src/test/librados/CMakeLists.txt
+@@ -62,7 +62,7 @@ add_executable(ceph_test_rados_api_asio asio.cc)
+ target_link_libraries(ceph_test_rados_api_asio global
+ librados ${UNITTEST_LIBS})
+ if(WITH_BOOST_CONTEXT)
+- target_link_libraries(ceph_test_rados_api_asio Boost::coroutine Boost::context)
++ target_link_libraries(ceph_test_rados_api_asio boost_coroutine boost_context)
+ endif()
+
+ add_executable(ceph_test_rados_api_list
+@@ -132,7 +132,7 @@ add_executable(ceph_test_rados_api_tier_pp
+ tier_cxx.cc
+ $<TARGET_OBJECTS:unit-main>)
+ target_link_libraries(ceph_test_rados_api_tier_pp
+- librados global ${UNITTEST_LIBS} Boost::system radostest-cxx)
++ librados global ${UNITTEST_LIBS} boost_system radostest-cxx)
+
+ add_executable(ceph_test_rados_api_snapshots
+ snapshots.cc)
+diff --git a/src/test/librbd/CMakeLists.txt b/src/test/librbd/CMakeLists.txt
+index 2bf6723c40..e99b8afa11 100644
+--- a/src/test/librbd/CMakeLists.txt
++++ b/src/test/librbd/CMakeLists.txt
+@@ -27,7 +27,7 @@ target_link_libraries(rbd_test PRIVATE
+ radostest
+ radostest-cxx
+ librados
+- Boost::thread
++ boost_thread
+ GMock::GMock
+ GTest::GTest)
+
+diff --git a/src/test/rgw/CMakeLists.txt b/src/test/rgw/CMakeLists.txt
+index 9b2c6b6321..80e4cb7829 100644
+--- a/src/test/rgw/CMakeLists.txt
++++ b/src/test/rgw/CMakeLists.txt
+@@ -143,7 +143,7 @@ add_ceph_unittest(unittest_rgw_dmclock_scheduler)
+ target_link_libraries(unittest_rgw_dmclock_scheduler ${rgw_libs} dmclock)
+ if(WITH_BOOST_CONTEXT)
+ target_compile_definitions(unittest_rgw_dmclock_scheduler PRIVATE BOOST_COROUTINES_NO_DEPRECATION_WARNING)
+- target_link_libraries(unittest_rgw_dmclock_scheduler Boost::coroutine Boost::context)
++ target_link_libraries(unittest_rgw_dmclock_scheduler boost_coroutine boost_context)
+ endif()
+
+ if(WITH_RADOSGW_AMQP_ENDPOINT)
+diff --git a/src/tools/CMakeLists.txt b/src/tools/CMakeLists.txt
+index d31f3d2408..6945018b11 100644
+--- a/src/tools/CMakeLists.txt
++++ b/src/tools/CMakeLists.txt
+@@ -35,20 +35,20 @@ install(PROGRAMS
+ endif(WITH_TESTS)
+
+ add_executable(ceph-osdomap-tool ceph_osdomap_tool.cc)
+-target_link_libraries(ceph-osdomap-tool os global Boost::program_options)
++target_link_libraries(ceph-osdomap-tool os global boost_program_options)
+ install(TARGETS ceph-osdomap-tool DESTINATION bin)
+
+ add_executable(ceph-monstore-tool
+ ceph_monstore_tool.cc
+ ../mgr/mgr_commands.cc)
+-target_link_libraries(ceph-monstore-tool os global Boost::program_options)
++target_link_libraries(ceph-monstore-tool os global boost_program_options)
+ install(TARGETS ceph-monstore-tool DESTINATION bin)
+
+ add_executable(ceph-objectstore-tool
+ ceph_objectstore_tool.cc
+ rebuild_mondb.cc
+ RadosDump.cc)
+-target_link_libraries(ceph-objectstore-tool osd os global Boost::program_options ${CMAKE_DL_LIBS})
++target_link_libraries(ceph-objectstore-tool osd os global boost_program_options ${CMAKE_DL_LIBS})
+ if(WITH_FUSE)
+ target_link_libraries(ceph-objectstore-tool ${FUSE_LIBRARIES})
+ endif(WITH_FUSE)
diff --git a/sys-cluster/ceph/files/ceph-14.2.0-boost-1.70.patch b/sys-cluster/ceph/files/ceph-14.2.0-boost-1.70.patch
new file mode 100644
index 00000000000..ce2ee92b3d8
--- /dev/null
+++ b/sys-cluster/ceph/files/ceph-14.2.0-boost-1.70.patch
@@ -0,0 +1,120 @@
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index f97f96b5bf..f5e5d06d35 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -657,13 +657,13 @@ if(WITH_SYSTEM_BOOST)
+ if(BOOST_ROOT AND CMAKE_LIBRARY_ARCHITECTURE)
+ set(BOOST_LIBRARYDIR "${BOOST_ROOT}/lib/${CMAKE_LIBRARY_ARCHITECTURE}")
+ endif()
+- find_package(Boost 1.67 COMPONENTS ${BOOST_COMPONENTS} REQUIRED)
++ find_package(Boost 1.70 COMPONENTS ${BOOST_COMPONENTS} REQUIRED)
+ else()
+ set(BOOST_J 1 CACHE STRING
+ "max jobs for Boost build") # override w/-DBOOST_J=<n>
+ set(Boost_USE_STATIC_LIBS ON)
+ include(BuildBoost)
+- build_boost(1.67
++ build_boost(1.70
+ COMPONENTS ${BOOST_COMPONENTS} ${BOOST_HEADER_COMPONENTS})
+ endif()
+ include_directories(BEFORE SYSTEM ${Boost_INCLUDE_DIRS})
+diff --git a/cmake/modules/BuildBoost.cmake b/cmake/modules/BuildBoost.cmake
+index f46cc0d485..4254508570 100644
+--- a/cmake/modules/BuildBoost.cmake
++++ b/cmake/modules/BuildBoost.cmake
+@@ -137,14 +137,14 @@ function(do_build_boost version)
+ check_boost_version("${PROJECT_SOURCE_DIR}/src/boost" ${version})
+ set(source_dir
+ SOURCE_DIR "${PROJECT_SOURCE_DIR}/src/boost")
+- elseif(version VERSION_GREATER 1.67)
++ elseif(version VERSION_GREATER 1.70)
+ message(FATAL_ERROR "Unknown BOOST_REQUESTED_VERSION: ${version}")
+ else()
+ message(STATUS "boost will be downloaded...")
+ # NOTE: If you change this version number make sure the package is available
+ # at the three URLs below (may involve uploading to download.ceph.com)
+- set(boost_version 1.67.0)
+- set(boost_sha256 2684c972994ee57fc5632e03bf044746f6eb45d4920c343937a465fd67a5adba)
++ set(boost_version 1.70.0)
++ set(boost_sha256 430ae8354789de4fd19ee52f3b1f739e1fba576f0aded0897c3c2bc00fb38778)
+ string(REPLACE "." "_" boost_version_underscore ${boost_version} )
+ set(boost_url
+ https://dl.bintray.com/boostorg/release/${boost_version}/source/boost_${boost_version_underscore}.tar.bz2)
+diff --git a/src/rgw/rgw_asio_frontend.cc b/src/rgw/rgw_asio_frontend.cc
+index e4be074ec7..4af3695dc1 100644
+--- a/src/rgw/rgw_asio_frontend.cc
++++ b/src/rgw/rgw_asio_frontend.cc
+@@ -81,7 +81,8 @@ class StreamIO : public rgw::asio::ClientIO {
+ using SharedMutex = ceph::async::SharedMutex<boost::asio::io_context::executor_type>;
+
+ template <typename Stream>
+-void handle_connection(RGWProcessEnv& env, Stream& stream,
++void handle_connection(boost::asio::io_context& context,
++ RGWProcessEnv& env, Stream& stream,
+ boost::beast::flat_buffer& buffer, bool is_ssl,
+ SharedMutex& pause_mutex,
+ rgw::dmclock::Scheduler *scheduler,
+@@ -152,7 +153,7 @@ void handle_connection(RGWProcessEnv& env, Stream& stream,
+ rgw::io::add_conlen_controlling(
+ &real_client))));
+ RGWRestfulIO client(cct, &real_client_io);
+- auto y = optional_yield{socket.get_io_context(), yield};
++ auto y = optional_yield{context, yield};
+ process_request(env.store, env.rest, &req, env.uri_prefix,
+ *env.auth_registry, &client, env.olog, y, scheduler);
+ }
+@@ -560,7 +561,7 @@ void AsioFrontend::accept(Listener& l, boost::system::error_code ec)
+ return;
+ }
+ buffer.consume(bytes);
+- handle_connection(env, stream, buffer, true, pause_mutex,
++ handle_connection(context, env, stream, buffer, true, pause_mutex,
+ scheduler.get(), ec, yield);
+ if (!ec) {
+ // ssl shutdown (ignoring errors)
+@@ -578,7 +579,7 @@ void AsioFrontend::accept(Listener& l, boost::system::error_code ec)
+ auto c = connections.add(conn);
+ boost::beast::flat_buffer buffer;
+ boost::system::error_code ec;
+- handle_connection(env, s, buffer, false, pause_mutex,
++ handle_connection(context, env, s, buffer, false, pause_mutex,
+ scheduler.get(), ec, yield);
+ s.shutdown(tcp::socket::shutdown_both, ec);
+ });
+diff --git a/src/rgw/rgw_dmclock_async_scheduler.h b/src/rgw/rgw_dmclock_async_scheduler.h
+index 70487a5253..1d454acd2e 100644
+--- a/src/rgw/rgw_dmclock_async_scheduler.h
++++ b/src/rgw/rgw_dmclock_async_scheduler.h
+@@ -82,7 +82,12 @@ class AsyncScheduler : public md_config_obs_t, public Scheduler {
+ using Completion = async::Completion<Signature, async::AsBase<Request>>;
+
+ using Clock = ceph::coarse_real_clock;
++#if BOOST_VERSION < 107000
+ using Timer = boost::asio::basic_waitable_timer<Clock>;
++#else
++ using Timer = boost::asio::basic_waitable_timer<Clock,
++ boost::asio::wait_traits<Clock>, executor_type>;
++#endif
+ Timer timer; //< timer for the next scheduled request
+
+ CephContext *const cct;
+diff --git a/src/rgw/rgw_reshard.h b/src/rgw/rgw_reshard.h
+index d99a6ff68d..213fc238d2 100644
+--- a/src/rgw/rgw_reshard.h
++++ b/src/rgw/rgw_reshard.h
+@@ -183,7 +183,14 @@ class RGWReshardWait {
+ ceph::condition_variable cond;
+
+ struct Waiter : boost::intrusive::list_base_hook<> {
+- boost::asio::basic_waitable_timer<Clock> timer;
++#if BOOST_VERSION < 107000
++ using Timer = boost::asio::basic_waitable_timer<Clock>;
++#else
++ using Executor = boost::asio::io_context::executor_type;
++ using Timer = boost::asio::basic_waitable_timer<Clock,
++ boost::asio::wait_traits<Clock>, Executor>;
++#endif
++ Timer timer;
+ explicit Waiter(boost::asio::io_context& ioc) : timer(ioc) {}
+ };
+ boost::intrusive::list<Waiter> waiters;
diff --git a/sys-cluster/ceph/files/ceph.initd-r12 b/sys-cluster/ceph/files/ceph.initd-r12
new file mode 100644
index 00000000000..4a90e3c3f98
--- /dev/null
+++ b/sys-cluster/ceph/files/ceph.initd-r12
@@ -0,0 +1,115 @@
+#!/sbin/openrc-run
+
+# make sure /etc/conf.d/ceph gets loaded for ceph-mon etc
+_CONFD_FILE="${RC_SERVICE%/*}/../conf.d/${RC_SVCNAME%-*}"
+if [ -r "${_CONFD_FILE}" ]; then
+ . "${_CONFD_FILE}" || exit 1
+fi
+
+: "${ceph_conf:=/etc/ceph/ceph.conf}"
+daemon_type="${RC_SVCNAME#ceph-}"
+daemon_type="${daemon_type%%.*}"
+daemon_id="${RC_SVCNAME#ceph-*.}"
+daemon_id="${daemon_id:-0}"
+: "${rundir:=/run/ceph}"
+: "${user:=ceph}"
+: "${group:=ceph}"
+: "${rc_ulimit:=-n 1048576 -u 1048576}"
+
+pidfile="${rundir}/supervisor-${daemon_type}.${daemon_id}.pid"
+daemon_pidfile="${rundir}/${daemon_type}.${daemon_id}.pid"
+
+command="/usr/bin/${RC_SVCNAME%%.*}"
+command_args="-i ${daemon_id} --pid-file ${daemon_pidfile} -c ${ceph_conf}"
+extra_commands="${extra_commands} reload"
+command_args_foreground="--foreground"
+
+retry="${CEPH_TERMTIMEOUT:-TERM/120/KILL/5}"
+start_stop_daemon_args="--user ${user} --group ${group}"
+supervise_daemon_args="--user ${user} --group ${group}"
+
+: "${supervisor:=supervise-daemon}"
+: "${stdout:=/var/log/ceph/ceph}"
+: "${stderr:=/var/log/ceph/ceph}"
+: "${respawn_delay:=10}"
+: "${respawn_max:=5}"
+: "${respawn_period:=1800}"
+
+: "${osd_respawn_delay:=15}"
+: "{osd_respawn_max:=10}"
+
+: "{radosgw_respawn_max:=5}"
+: "${radosgw_respawn_period:=30}"
+
+depend() {
+ use dns logger
+ after net ntpd ntp-client chronyd
+ before netmount
+}
+
+is_type_valid() {
+ case ${daemon_type} in
+ mon|mds|osd|mgr|radosgw) return 0;;
+ *) return 1;;
+ esac
+}
+
+start_pre() {
+ local log_dir
+ export CEPH_CONF="${ceph_conf}"
+
+ checkpath -d -q -o "${user}:${group}" "${rundir}"
+
+ if ! is_type_valid ;then
+ eerror "Please give valid Ceph Server Type: mds, mon, osd"
+ return 1
+
+ elif pgrep -f "[c]eph-${daemon_type} -i ${daemon_id} "; then
+ eerror "${daemon_type}.${daemon_id} is still running, refusing to start"
+ return 1
+ fi
+
+ if [ -n "${bluestore_osd_fsid}" ]; then
+ einfo "Mounting Bluestore"
+ ceph-volume lvm activate "${daemon_id}" "${bluestore_osd_fsid}" --no-systemd
+ fi
+
+ if [ "${daemon_type}" = radosgw ] && [ "${RADOSGW_WANT_NAME_PARAM}" = y ]; then
+ command_args="${command_args} --name client.${daemon_id}"
+ fi
+
+ local arg_name arg_val repl_arg_name
+ for arg_name in stdout stderr respawn_delay respawn_max respawn_period; do
+ eval arg_val="\${${daemon_type}_${arg_name}}"
+
+ if [ -z "${arg_val}" ]; then
+ eval arg_val="\${${arg_name}}"
+ else
+ eval "${arg_name}=\"${arg_val}\""
+ fi
+
+ if [ "${arg_name}" = "stderr" ] || [ "${arg_name}" = "stdout" ]; then
+ local log_file log_postfix
+ log_postfix=".${daemon_id}-${arg_name}.log"
+ log_file="${arg_val}"
+
+ if [ "${log_file}" != /dev/null ]; then
+ log_file="${log_file}${log_postfix}"
+
+ log_dir="$(dirname "${log_file}")"
+ checkpath -m 0755 -o "${user}:${group}" -d "${log_dir}"
+ fi
+
+ repl_arg_name="$(printf -- "%s\n" "${arg_name}" | tr _ -)"
+ supervise_daemon_args="${supervise_daemon_args} --${repl_arg_name}=${log_file}"
+ fi
+ done
+}
+
+reload() {
+ ebegin "Reloading Ceph ${daemon_type}.${daemon_id}"
+ start-stop-daemon --signal 1 "${start_stop_daemon_args}"
+ eend ${?}
+}
+
+# vim:ft=gentoo-init-d:ts=4:sts=4:sw=4:noet:
^ permalink raw reply related [flat|nested] 68+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-cluster/ceph/, sys-cluster/ceph/files/
@ 2019-04-12 2:05 Patrick McLean
0 siblings, 0 replies; 68+ messages in thread
From: Patrick McLean @ 2019-04-12 2:05 UTC (permalink / raw
To: gentoo-commits
commit: 0314f5faf754730e1569a7d85691af43b67a24eb
Author: Patrick McLean <patrick.mclean <AT> sony <DOT> com>
AuthorDate: Fri Apr 12 02:05:23 2019 +0000
Commit: Patrick McLean <chutzpah <AT> gentoo <DOT> org>
CommitDate: Fri Apr 12 02:05:46 2019 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=0314f5fa
sys-cluster/ceph: Version bump to 12.2.12
Copyright: Sony Interactive Entertainment Inc.
Package-Manager: Portage-2.3.62, Repoman-2.3.12
Signed-off-by: Patrick McLean <chutzpah <AT> gentoo.org>
sys-cluster/ceph/Manifest | 1 +
sys-cluster/ceph/ceph-12.2.12.ebuild | 319 +++++++++++++++++++++
.../ceph-12.2.12-civetweb-openssl-1.1.1.patch | 10 +
.../ceph-12.2.12-dont-use-bad-namespace.patch | 13 +
.../ceph/files/ceph-12.2.12-qa-warning.patch | 13 +
5 files changed, 356 insertions(+)
diff --git a/sys-cluster/ceph/Manifest b/sys-cluster/ceph/Manifest
index 84c0ec570bc..9cd012986cb 100644
--- a/sys-cluster/ceph/Manifest
+++ b/sys-cluster/ceph/Manifest
@@ -1,6 +1,7 @@
DIST ceph-10.2.10.tar.gz 14573701 BLAKE2B 78c68deb8537cae8394b4d35569983431e938eff42b01f448dea68016b33ca5770c83d1e1d382bfd6c8164d5259e821779c6515f8c8fb4d5d52ee90b7df43180 SHA512 883d1b8340aaefc7a1eee4bbfb5b1d1cc15bffed8f35fb1e8fb86b1208a4d0d16753eb6c688ea0e661c4877d3d148b2b6c2b41620c4e8a61e47c69f46f98e537
DIST ceph-10.2.3.tar.gz 11596171 BLAKE2B c24c879649f0d42f58cfb1d03701797bc685d83c157031156d13308c731412a4a0149b658193722b358ebf0c4f9760d9664668cd797b69d207e81dc572f49700 SHA512 9de1e6851fc343d2c52c72cec3f7887d998d5b588f1251ee3a1fda14427badfa10408e6691fb03a374a10f4ec9844868423fee70fbbe2c0d962af98481412f19
DIST ceph-12.2.11.tar.gz 79009034 BLAKE2B d8b1c188fe39603e90511eb436100ba14c0a9c4d9531f1a4ca52e78449462aacd274b80f8d0549918979fcb1ca4632ae0eaade1ae311a730fbe6657be044fc35 SHA512 14f46cc6f38d7d894cc657a040b428309632e5c163109a8a4a79a346ba2901a37d79966a0bc09148810c22b89375d9a4cb3b23f16364685b094c518bfafe9bef
+DIST ceph-12.2.12.tar.gz 77467762 BLAKE2B a5224432121db9ef49c1e22771d847399df2f7881cd9c2e185eca12096efb79d21578659d248eb5bae678924983d57452d370e23ab7e78663764d7bea834a461 SHA512 e694c9a8c1f9836c08fb74b54423bdc16d4900252e34643c56cf1a615d4dacddfb13df06a6a9f68bb9d438f5f07069ed358f9fa4b5a362640a3046f9c7722dcc
DIST ceph-12.2.8.tar.gz 77243685 BLAKE2B 37c34396a0c276b8d79735e14934ac70da024822c2a060061531c234e03e5d41aad6c41dc64b05c2ce47f03287d0cae9ef9bed67e4a0861b6380c8ce1de4ea69 SHA512 91c5c11aaeef701b3e31c9f8a1192b6b79fd34f3b96c61595c65173c98bfce0009c5b7c9b29764f5e4d4b1f5ac2ca7109fed5ae598c176aba717a34a132fabac
DIST ceph-13.2.4.tar.gz 90910119 BLAKE2B eb395f435552d91789869bd92fee2a8b2fef155205f13b118bd01be4ff78a8e1dde682425a24311822bb819ec8cf41a9d45245ffa3cb7a921d3269f6658bf920 SHA512 5055979067234ad7fd2774007d524ef4643d968bf7ce42fc8c3f8e469fd84cbd7afc163cd6ddda53584bd5677fdea2fecf8194a378d49724504f639b9f688ff7
DIST ceph-13.2.5.tar.gz 91006057 BLAKE2B 68551e2f54d78aff7b0e9ec3c62e6a3394dd7c23e80924a5b400cd9666a05a42e5f22445deee4040f1b78201c6a6660b283109878d4c92d845821bff831c8a5e SHA512 6daea524523f829e725609328ea71f416b2c3a9530fa8956720a7bc69dc08e55a169654f500704579dc9ba693f04eedd7e04614c0850e9ab1169cd45f19039f8
diff --git a/sys-cluster/ceph/ceph-12.2.12.ebuild b/sys-cluster/ceph/ceph-12.2.12.ebuild
new file mode 100644
index 00000000000..002e685d77b
--- /dev/null
+++ b/sys-cluster/ceph/ceph-12.2.12.ebuild
@@ -0,0 +1,319 @@
+# Copyright 1999-2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+PYTHON_COMPAT=( python{2_7,3_{4,5,6}} )
+DISTUTILS_OPTIONAL=1
+
+inherit check-reqs cmake-utils distutils-r1 flag-o-matic multiprocessing \
+ python-r1 udev user readme.gentoo-r1 systemd
+
+if [[ ${PV} == *9999* ]]; then
+ inherit git-r3
+ EGIT_REPO_URI="https://github.com/ceph/ceph.git"
+ SRC_URI=""
+else
+ SRC_URI="https://download.ceph.com/tarballs/${P}.tar.gz"
+ KEYWORDS="~amd64 ~x86"
+fi
+
+DESCRIPTION="Ceph distributed filesystem"
+HOMEPAGE="https://ceph.com/"
+
+LICENSE="LGPL-2.1 CC-BY-SA-3.0 GPL-2 BSD Boost-1.0 MIT"
+SLOT="0"
+
+CPU_FLAGS_X86=(sse{,2,3,4_1,4_2} ssse3)
+
+IUSE="babeltrace cephfs fuse jemalloc ldap lttng +mgr nss +radosgw +ssl"
+IUSE+=" static-libs +system-boost systemd +tcmalloc test xfs zfs"
+IUSE+=" $(printf "cpu_flags_x86_%s\n" ${CPU_FLAGS_X86[@]})"
+
+# unbundling code commented out pending bugs 584056 and 584058
+#>=dev-libs/jerasure-2.0.0-r1
+#>=dev-libs/gf-complete-2.0.0
+COMMON_DEPEND="
+ virtual/libudev:=
+ app-arch/bzip2:=[static-libs?]
+ app-arch/lz4:=[static-libs?]
+ app-arch/snappy:=[static-libs?]
+ app-arch/zstd:=[static-libs?]
+ app-misc/jq:=[static-libs?]
+ <dev-libs/crypto++-7.0:=[static-libs?]
+ dev-libs/leveldb:=[snappy,static-libs?,tcmalloc?]
+ dev-libs/libaio:=[static-libs?]
+ dev-libs/libxml2:=[static-libs?]
+ sys-apps/keyutils:=[static-libs?]
+ sys-apps/util-linux:=[static-libs?]
+ sys-libs/zlib:=[static-libs?]
+ babeltrace? ( dev-util/babeltrace )
+ ldap? ( net-nds/openldap:=[static-libs?] )
+ lttng? ( dev-util/lttng-ust:= )
+ nss? ( dev-libs/nss:= )
+ fuse? ( sys-fs/fuse:0=[static-libs?] )
+ xfs? ( sys-fs/xfsprogs:=[static-libs?] )
+ zfs? ( sys-fs/zfs:=[static-libs?] )
+ ssl? (
+ <dev-libs/openssl-1.1:=[static-libs?]
+ !dev-libs/openssl:1.0.0
+ )
+ radosgw? (
+ dev-libs/expat:=[static-libs?]
+ <dev-libs/openssl-1.1:=[static-libs?]
+ net-misc/curl:=[curl_ssl_openssl,static-libs?]
+ )
+ system-boost? (
+ =dev-libs/boost-1.66*:=[threads,context,python,static-libs?,${PYTHON_USEDEP}]
+ )
+ jemalloc? ( dev-libs/jemalloc:=[static-libs?] )
+ !jemalloc? ( >=dev-util/google-perftools-2.4:=[static-libs?] )
+ ${PYTHON_DEPS}
+ "
+DEPEND="${COMMON_DEPEND}
+ app-arch/cpio
+ amd64? ( dev-lang/yasm )
+ x86? ( dev-lang/yasm )
+ dev-python/cython[${PYTHON_USEDEP}]
+ dev-python/sphinx
+ dev-util/gperf
+ dev-util/valgrind
+ sys-apps/which
+ sys-devel/bc
+ virtual/pkgconfig
+ test? (
+ dev-python/tox[${PYTHON_USEDEP}]
+ dev-python/virtualenv[${PYTHON_USEDEP}]
+ sys-apps/grep[pcre]
+ sys-fs/btrfs-progs
+ )"
+RDEPEND="${COMMON_DEPEND}
+ net-misc/socat
+ sys-apps/gptfdisk
+ sys-block/parted
+ sys-fs/e2fsprogs
+ sys-fs/cryptsetup
+ sys-fs/lvm2
+ !<sys-apps/openrc-0.26.3
+ dev-python/cherrypy[${PYTHON_USEDEP}]
+ dev-python/flask[${PYTHON_USEDEP}]
+ dev-python/jinja[${PYTHON_USEDEP}]
+ dev-python/pecan[${PYTHON_USEDEP}]
+ dev-python/prettytable[${PYTHON_USEDEP}]
+ dev-python/pyopenssl[${PYTHON_USEDEP}]
+ dev-python/requests[${PYTHON_USEDEP}]
+ dev-python/werkzeug[${PYTHON_USEDEP}]
+ "
+REQUIRED_USE="
+ $(python_gen_useflags 'python2*')
+ ${PYTHON_REQUIRED_USE}
+ ?? ( ssl nss )
+ ?? ( jemalloc tcmalloc )
+ "
+
+RESTRICT="test? ( userpriv )"
+
+# distribution tarball does not include everything needed for tests
+RESTRICT+=" test"
+
+# false positives unless all USE flags are on
+CMAKE_WARN_UNUSED_CLI="no"
+
+# ninja does not work at all
+CMAKE_MAKEFILE_GENERATOR="emake"
+
+STRIP_MASK="/usr/lib*/rados-classes/*"
+
+UNBUNDLE_LIBS=(
+ src/erasure-code/jerasure/jerasure
+ src/erasure-code/jerasure/gf-complete
+)
+
+PATCHES=(
+ "${FILESDIR}/ceph-12.2.0-use-provided-cpu-flag-values.patch"
+ "${FILESDIR}/ceph-12.2.0-cflags.patch"
+ "${FILESDIR}/ceph-12.2.1-systemd-unitdir.patch"
+ "${FILESDIR}/ceph-12.2.4-boost-build-none-options.patch"
+ "${FILESDIR}/ceph-12.2.4-cflags.patch"
+ "${FILESDIR}/ceph-12.2.4-rocksdb-cflags.patch"
+ "${FILESDIR}/ceph-12.2.5-no-werror.patch"
+ "${FILESDIR}/ceph-13.2.2-dont-install-sysvinit-script.patch"
+ "${FILESDIR}/ceph-12.2.11-fix-min-call.patch"
+ "${FILESDIR}/ceph-12.2.12-dont-use-bad-namespace.patch"
+ "${FILESDIR}/ceph-12.2.12-civetweb-openssl-1.1.1.patch"
+ "${FILESDIR}/ceph-12.2.12-qa-warning.patch"
+)
+
+check-reqs_export_vars() {
+ if use amd64; then
+ CHECKREQS_DISK_BUILD="12G"
+ CHECKREQS_DISK_USR="460M"
+ else
+ CHECKREQS_DISK_BUILD="1400M"
+ CHECKREQS_DISK_USR="450M"
+ fi
+
+ export CHECKREQS_DISK_BUILD CHECKREQS_DISK_USR
+}
+
+user_setup() {
+ enewgroup ceph ${CEPH_GID}
+ enewuser ceph "${CEPH_UID:--1}" -1 /var/lib/ceph ceph
+}
+
+pkg_pretend() {
+ check-reqs_export_vars
+ check-reqs_pkg_pretend
+}
+
+pkg_setup() {
+ python_setup 'python2*'
+ check-reqs_export_vars
+ check-reqs_pkg_setup
+ user_setup
+}
+
+src_prepare() {
+ cmake-utils_src_prepare
+
+ if use system-boost; then
+ eapply "${FILESDIR}/ceph-12.2.11-boost-sonames.patch"
+ fi
+
+ # remove tests that need root access
+ rm src/test/cli/ceph-authtool/cap*.t
+
+ #rm -rf "${UNBUNDLE_LIBS[@]}"
+}
+
+ceph_src_configure() {
+ local flag
+ local mycmakeargs=(
+ -DCMAKE_INSTALL_SYSCONFDIR="${EPREFIX}/etc"
+ -DCMAKE_INSTALL_DOCDIR="${EPREFIX}/usr/share/doc/${P}"
+ -DWITH_BABELTRACE=$(usex babeltrace)
+ -DWITH_CEPHFS=$(usex cephfs)
+ -DWITH_FUSE=$(usex fuse)
+ -DWITH_LTTNG=$(usex lttng)
+ -DWITH_MGR=$(usex mgr)
+ -DWITH_NSS=$(usex nss)
+ -DWITH_OPENLDAP=$(usex ldap)
+ -DWITH_RADOSGW=$(usex radosgw)
+ -DWITH_SSL=$(usex ssl)
+ -DWITH_SYSTEMD=$(usex systemd)
+ -DWITH_TESTS=$(usex test)
+ -DWITH_XFS=$(usex xfs)
+ -DWITH_ZFS=$(usex zfs)
+ -DENABLE_SHARED=$(usex static-libs '' 'yes' 'no')
+ -DALLOCATOR=$(usex tcmalloc 'tcmalloc' '' "$(usex jemalloc 'jemalloc' '' 'libc' '')" '')
+ -DWITH_SYSTEM_BOOST=$(usex system-boost)
+ -DBOOST_J=$(makeopts_jobs)
+ -DWITH_RDMA=no
+ -DSYSTEMD_UNITDIR=$(systemd_get_systemunitdir)
+ -DEPYTHON_VERSION="${EPYTHON#python}"
+ )
+ if use amd64 || use x86; then
+ for flag in ${CPU_FLAGS_X86[@]}; do
+ mycmakeargs+=("$(usex cpu_flags_x86_${flag} "-DHAVE_INTEL_${flag^^}=1")")
+ done
+ fi
+
+ rm -f "${BUILD_DIR:-${S}}/CMakeCache.txt"
+ cmake-utils_src_configure
+
+ # bug #630232
+ sed -i "s:\"${T//:\\:}/${EPYTHON}/bin/python\":\"${PYTHON}\":" \
+ "${BUILD_DIR:--${S}}"/include/acconfig.h \
+ || die "sed failed"
+}
+
+src_configure() {
+ ceph_src_configure
+}
+
+python_compile() {
+ local CMAKE_USE_DIR="${S}"
+
+ ceph_src_configure
+ pushd "${BUILD_DIR}/src/pybind" >/dev/null || die
+ emake VERBOSE=1 all
+
+ # python modules are only compiled with "make install" so we need to do this to
+ # prevent doing a bunch of compilation in src_install
+ DESTDIR="${T}" emake VERBOSE=1 install
+ popd >/dev/null || die
+}
+
+src_compile() {
+ cmake-utils_src_make all
+
+ # we have to do this here to prevent from building everything multiple times
+ python_copy_sources
+ python_foreach_impl python_compile
+}
+
+src_test() {
+ make check || die "make check failed"
+}
+
+python_install() {
+ local CMAKE_USE_DIR="${S}"
+ pushd "${BUILD_DIR}/src/pybind" >/dev/null || die
+ DESTDIR="${D}" emake install
+ popd >/dev/null || die
+}
+
+src_install() {
+ cmake-utils_src_install
+ python_foreach_impl python_install
+
+ find "${D}" -name '*.la' -delete || die
+
+ exeinto /usr/$(get_libdir)/ceph
+ newexe "${BUILD_DIR}/bin/init-ceph" ceph_init.sh
+
+ insinto /etc/logrotate.d/
+ newins "${FILESDIR}"/ceph.logrotate-r2 ${PN}
+
+ keepdir /var/lib/${PN}{,/tmp} /var/log/${PN}/stat
+
+ fowners -R ceph:ceph /var/lib/ceph /var/log/ceph
+
+ newinitd "${FILESDIR}/rbdmap.initd" rbdmap
+ newinitd "${FILESDIR}/${PN}.initd-r11" ${PN}
+ newconfd "${FILESDIR}/${PN}.confd-r5" ${PN}
+
+ insinto /etc/sysctl.d
+ newins "${FILESDIR}"/sysctld 90-${PN}.conf
+
+ use tcmalloc && newenvd "${FILESDIR}"/envd-tcmalloc 99${PN}-tcmalloc
+
+ # units aren't installed by the build system unless systemd is enabled
+ # so no point installing these with the USE flag disabled
+ if use systemd; then
+ systemd_install_serviced "${FILESDIR}/ceph-mds_at.service.conf" \
+ "ceph-mds@.service"
+
+ systemd_install_serviced "${FILESDIR}/ceph-osd_at.service.conf" \
+ "ceph-osd@.service"
+ fi
+
+ udev_dorules udev/*.rules
+
+ readme.gentoo_create_doc
+
+ python_setup 'python2*'
+
+ # bug #630232
+ sed -i -r "s:${T//:/\\:}/${EPYTHON}:/usr:" "${ED}"/usr/bin/ceph \
+ || die "sed failed"
+
+ python_fix_shebang "${ED}"/usr/{,s}bin/
+
+ # python_fix_shebang apparently is not idempotent
+ sed -i -r 's:(/usr/lib/python-exec/python[0-9]\.[0-9]/python)[0-9]\.[0-9]:\1:' \
+ "${ED}"/usr/{sbin/ceph-disk,bin/ceph-detect-init} || die "sed failed"
+}
+
+pkg_postinst() {
+ readme.gentoo_print_elog
+}
diff --git a/sys-cluster/ceph/files/ceph-12.2.12-civetweb-openssl-1.1.1.patch b/sys-cluster/ceph/files/ceph-12.2.12-civetweb-openssl-1.1.1.patch
new file mode 100644
index 00000000000..a21bcc9325d
--- /dev/null
+++ b/sys-cluster/ceph/files/ceph-12.2.12-civetweb-openssl-1.1.1.patch
@@ -0,0 +1,10 @@
+--- a/src/civetweb/src/civetweb.c 2017-11-02 10:58:06.000000000 -0700
++++ b/src/civetweb/src/civetweb.c 2019-04-11 17:23:30.736346783 -0700
+@@ -851,6 +851,7 @@
+ #include <openssl/crypto.h>
+ #include <openssl/x509.h>
+ #include <openssl/pem.h>
++#include <openssl/engine.h>
+ #else
+ /* SSL loaded dynamically from DLL.
+ * I put the prototypes here to be independent from OpenSSL source
diff --git a/sys-cluster/ceph/files/ceph-12.2.12-dont-use-bad-namespace.patch b/sys-cluster/ceph/files/ceph-12.2.12-dont-use-bad-namespace.patch
new file mode 100644
index 00000000000..9a23e1ee60a
--- /dev/null
+++ b/sys-cluster/ceph/files/ceph-12.2.12-dont-use-bad-namespace.patch
@@ -0,0 +1,13 @@
+diff --git a/src/rgw/rgw_crypt.cc b/src/rgw/rgw_crypt.cc
+index cf4e38995e..7a4089fca9 100644
+--- a/src/rgw/rgw_crypt.cc
++++ b/src/rgw/rgw_crypt.cc
+@@ -31,7 +31,7 @@ using namespace CryptoPP;
+ #define dout_subsys ceph_subsys_rgw
+
+ using namespace rgw;
+-using ceph::crypto::PK11_ImportSymKey_FIPS;
++//using ceph::crypto::PK11_ImportSymKey_FIPS;
+
+ /**
+ * Encryption in CTR mode. offset is used as IV for each block.
diff --git a/sys-cluster/ceph/files/ceph-12.2.12-qa-warning.patch b/sys-cluster/ceph/files/ceph-12.2.12-qa-warning.patch
new file mode 100644
index 00000000000..1b63d6e21ba
--- /dev/null
+++ b/sys-cluster/ceph/files/ceph-12.2.12-qa-warning.patch
@@ -0,0 +1,13 @@
+diff --git a/src/common/blkdev.cc b/src/common/blkdev.cc
+index d95a397a84..d2cbf4b7b9 100644
+--- a/src/common/blkdev.cc
++++ b/src/common/blkdev.cc
+@@ -225,7 +225,7 @@ int get_device_by_uuid(uuid_d dev_uuid, const char* label, char* partition,
+ rc = get_block_device_base(partition, basename,
+ sizeof(basename));
+ if (rc >= 0) {
+- strncpy(device, basename, sizeof(basename));
++ strncpy(device, basename, sizeof(device));
+ rc = 0;
+ } else {
+ rc = -ENODEV;
^ permalink raw reply related [flat|nested] 68+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-cluster/ceph/, sys-cluster/ceph/files/
@ 2019-03-29 2:23 Patrick McLean
0 siblings, 0 replies; 68+ messages in thread
From: Patrick McLean @ 2019-03-29 2:23 UTC (permalink / raw
To: gentoo-commits
commit: 4af9cbde3856cdc92a13441e6cceb1f06c067d78
Author: Patrick McLean <patrick.mclean <AT> sony <DOT> com>
AuthorDate: Fri Mar 29 02:22:17 2019 +0000
Commit: Patrick McLean <chutzpah <AT> gentoo <DOT> org>
CommitDate: Fri Mar 29 02:22:17 2019 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=4af9cbde
sys-cluster/ceph: Fix 12.2.11 compile fail on x86 (bug #679414)
Closes: https://bugs.gentoo.org/679414
Copyright: Sony Interactive Entertainment Inc.
Package-Manager: Portage-2.3.62, Repoman-2.3.12
Signed-off-by: Patrick McLean <chutzpah <AT> gentoo.org>
sys-cluster/ceph/ceph-12.2.11.ebuild | 1 +
sys-cluster/ceph/files/ceph-12.2.11-fix-min-call.patch | 13 +++++++++++++
2 files changed, 14 insertions(+)
diff --git a/sys-cluster/ceph/ceph-12.2.11.ebuild b/sys-cluster/ceph/ceph-12.2.11.ebuild
index d828bc7be4f..761d8f53495 100644
--- a/sys-cluster/ceph/ceph-12.2.11.ebuild
+++ b/sys-cluster/ceph/ceph-12.2.11.ebuild
@@ -134,6 +134,7 @@ PATCHES=(
"${FILESDIR}/ceph-12.2.4-rocksdb-cflags.patch"
"${FILESDIR}/ceph-12.2.5-no-werror.patch"
"${FILESDIR}/ceph-13.2.2-dont-install-sysvinit-script.patch"
+ "${FILESDIR}/ceph-12.2.11-fix-min-call.patch"
)
check-reqs_export_vars() {
diff --git a/sys-cluster/ceph/files/ceph-12.2.11-fix-min-call.patch b/sys-cluster/ceph/files/ceph-12.2.11-fix-min-call.patch
new file mode 100644
index 00000000000..cd9eb4891cb
--- /dev/null
+++ b/sys-cluster/ceph/files/ceph-12.2.11-fix-min-call.patch
@@ -0,0 +1,13 @@
+diff --git a/src/osd/PrimaryLogPG.cc b/src/osd/PrimaryLogPG.cc
+index 0074c7964b..98991be7d2 100644
+--- a/src/osd/PrimaryLogPG.cc
++++ b/src/osd/PrimaryLogPG.cc
+@@ -1582,7 +1582,7 @@ void PrimaryLogPG::calc_trim_to()
+ if (limit != eversion_t() &&
+ limit != pg_trim_to &&
+ pg_log.get_log().approx_size() > target) {
+- size_t num_to_trim = std::min(pg_log.get_log().approx_size() - target,
++ size_t num_to_trim = std::min((uint64_t)(pg_log.get_log().approx_size() - target),
+ cct->_conf->osd_pg_log_trim_max);
+ if (num_to_trim < cct->_conf->osd_pg_log_trim_min &&
+ cct->_conf->osd_pg_log_trim_max >= cct->_conf->osd_pg_log_trim_min) {
^ permalink raw reply related [flat|nested] 68+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-cluster/ceph/, sys-cluster/ceph/files/
@ 2019-03-20 21:54 Patrick McLean
0 siblings, 0 replies; 68+ messages in thread
From: Patrick McLean @ 2019-03-20 21:54 UTC (permalink / raw
To: gentoo-commits
commit: 12252b6abcce03e3154157193bc59c6653cbbb89
Author: Patrick McLean <patrick.mclean <AT> sony <DOT> com>
AuthorDate: Wed Mar 20 21:53:46 2019 +0000
Commit: Patrick McLean <chutzpah <AT> gentoo <DOT> org>
CommitDate: Wed Mar 20 21:54:20 2019 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=12252b6a
sys-cluster/ceph: Remove automagic dependency on dev-cpp/tbb
This removes an automagic dep on tbb in 13.2.5.
Also remove unneeded patch from 14.2.0
Closes: https://bugs.gentoo.org/667024
Copyright: Sony Interactive Entertainment Inc.
Package-Manager: Portage-2.3.62, Repoman-2.3.12
Signed-off-by: Patrick McLean <chutzpah <AT> gentoo.org>
.../{ceph-13.2.5.ebuild => ceph-13.2.5-r1.ebuild} | 6 +++-
.../{ceph-14.2.0.ebuild => ceph-14.2.0-r1.ebuild} | 10 +++---
.../ceph/files/ceph-13.2.5-no-automagic-deps.patch | 37 ++++++++++++++++++++++
.../ceph/files/ceph-14.2.0-no-automagic-tbb.patch | 12 -------
sys-cluster/ceph/metadata.xml | 1 +
5 files changed, 47 insertions(+), 19 deletions(-)
diff --git a/sys-cluster/ceph/ceph-13.2.5.ebuild b/sys-cluster/ceph/ceph-13.2.5-r1.ebuild
similarity index 97%
rename from sys-cluster/ceph/ceph-13.2.5.ebuild
rename to sys-cluster/ceph/ceph-13.2.5-r1.ebuild
index cca90b166f0..f83f6158171 100644
--- a/sys-cluster/ceph/ceph-13.2.5.ebuild
+++ b/sys-cluster/ceph/ceph-13.2.5-r1.ebuild
@@ -26,7 +26,7 @@ SLOT="0"
CPU_FLAGS_X86=(sse{,2,3,4_1,4_2} ssse3)
-IUSE="babeltrace cephfs dpdk fuse jemalloc ldap lttng +mgr"
+IUSE="babeltrace cephfs dpdk fuse jemalloc ldap lttng +mgr numa"
IUSE+=" +radosgw +ssl static-libs +system-boost systemd +tcmalloc test"
IUSE+=" xfs zfs"
IUSE+=" $(printf "cpu_flags_x86_%s\n" ${CPU_FLAGS_X86[@]})"
@@ -54,6 +54,7 @@ COMMON_DEPEND="
ldap? ( net-nds/openldap:=[static-libs?] )
lttng? ( dev-util/lttng-ust:= )
fuse? ( sys-fs/fuse:0=[static-libs?] )
+ numa? ( sys-process/numactl:=[static-libs?] )
ssl? ( dev-libs/openssl:=[static-libs?] )
xfs? ( sys-fs/xfsprogs:=[static-libs?] )
zfs? ( sys-fs/zfs:=[static-libs?] )
@@ -136,6 +137,7 @@ PATCHES=(
"${FILESDIR}/ceph-13.2.0-mgr-python-version.patch"
"${FILESDIR}/ceph-13.2.0-no-virtualenvs.patch"
"${FILESDIR}/ceph-13.2.2-dont-install-sysvinit-script.patch"
+ "${FILESDIR}/ceph-13.2.5-no-automagic-deps.patch"
)
check-reqs_export_vars() {
@@ -193,6 +195,7 @@ ceph_src_configure() {
-DWITH_LTTNG=$(usex lttng)
-DWITH_MGR=$(usex mgr)
-DWITH_MGR_DASHBOARD_FRONTEND=NO
+ -DWITH_NUMA=$(usex numa)
-DWITH_OPENLDAP=$(usex ldap)
-DWITH_RADOSGW=$(usex radosgw)
-DWITH_SSL=$(usex ssl)
@@ -205,6 +208,7 @@ ceph_src_configure() {
-DWITH_SYSTEM_BOOST=$(usex system-boost)
-DBOOST_J=$(makeopts_jobs)
-DWITH_RDMA=no
+ -DWITH_TBB=no
-DSYSTEMD_UNITDIR=$(systemd_get_systemunitdir)
-DEPYTHON_VERSION="${EPYTHON#python}"
-DCMAKE_INSTALL_DOCDIR="${EPREFIX}/usr/share/doc/${P}"
diff --git a/sys-cluster/ceph/ceph-14.2.0.ebuild b/sys-cluster/ceph/ceph-14.2.0-r1.ebuild
similarity index 96%
rename from sys-cluster/ceph/ceph-14.2.0.ebuild
rename to sys-cluster/ceph/ceph-14.2.0-r1.ebuild
index d754478c6d0..8a6796f810f 100644
--- a/sys-cluster/ceph/ceph-14.2.0.ebuild
+++ b/sys-cluster/ceph/ceph-14.2.0-r1.ebuild
@@ -27,13 +27,10 @@ SLOT="0"
CPU_FLAGS_X86=(sse{,2,3,4_1,4_2} ssse3)
IUSE="babeltrace cephfs dpdk fuse grafana jemalloc kerberos ldap lttng +mgr"
-IUSE+=" rabbitmq +radosgw +ssl static-libs +system-boost systemd +tcmalloc"
-IUSE+=" test xfs zfs"
+IUSE+=" numa rabbitmq +radosgw +ssl static-libs +system-boost systemd"
+IUSE+=" +tcmalloc test xfs zfs"
IUSE+=" $(printf "cpu_flags_x86_%s\n" ${CPU_FLAGS_X86[@]})"
-# unbundling code commented out pending bugs 584056 and 584058
-#>=dev-libs/jerasure-2.0.0-r1
-#>=dev-libs/gf-complete-2.0.0
COMMON_DEPEND="
virtual/libudev:=
app-arch/bzip2:=[static-libs?]
@@ -143,7 +140,6 @@ PATCHES=(
"${FILESDIR}/ceph-14.2.0-no-virtualenvs.patch"
"${FILESDIR}/ceph-13.2.2-dont-install-sysvinit-script.patch"
"${FILESDIR}/ceph-14.2.0-dpdk-cflags.patch"
- "${FILESDIR}/ceph-14.2.0-no-automagic-tbb.patch"
)
# dpdk and ninja don't get along
@@ -206,6 +202,7 @@ ceph_src_configure() {
-DWITH_GRAFANA=$(usex grafana)
-DWITH_MGR=$(usex mgr)
-DWITH_MGR_DASHBOARD_FRONTEND=NO
+ -DWITH_NUMA=$(usex numa)
-DWITH_OPENLDAP=$(usex ldap)
-DWITH_RADOSGW=$(usex radosgw)
-DWITH_RADOSGW_AMQP_ENDPOINT=$(usex rabbitmq)
@@ -219,6 +216,7 @@ ceph_src_configure() {
-DWITH_SYSTEM_BOOST=$(usex system-boost)
-DBOOST_J=$(makeopts_jobs)
-DWITH_RDMA=no
+ -DWITH_TBB=no
-DSYSTEMD_UNITDIR=$(systemd_get_systemunitdir)
-DEPYTHON_VERSION="${EPYTHON#python}"
-DCMAKE_INSTALL_DOCDIR="${EPREFIX}/usr/share/doc/${P}"
diff --git a/sys-cluster/ceph/files/ceph-13.2.5-no-automagic-deps.patch b/sys-cluster/ceph/files/ceph-13.2.5-no-automagic-deps.patch
new file mode 100644
index 00000000000..1eb42b3e5ad
--- /dev/null
+++ b/sys-cluster/ceph/files/ceph-13.2.5-no-automagic-deps.patch
@@ -0,0 +1,37 @@
+--- ceph-13.2.5.orig/src/rocksdb/CMakeLists.txt 2019-03-20 11:39:25.065954652 -0700
++++ ceph-13.2.5/src/rocksdb/CMakeLists.txt 2019-03-20 13:18:01.548085828 -0700
+@@ -286,18 +286,24 @@
+ endif()
+ endif()
+
+-find_package(NUMA)
+-if(NUMA_FOUND)
+- add_definitions(-DNUMA)
+- include_directories(${NUMA_INCLUDE_DIR})
+- list(APPEND THIRDPARTY_LIBS ${NUMA_LIBRARIES})
++option(WITH_NUMA "build with UBSAN" OFF)
++if(WITH_NUMA)
++ find_package(NUMA)
++ if(NUMA_FOUND)
++ add_definitions(-DNUMA)
++ include_directories(${NUMA_INCLUDE_DIR})
++ list(APPEND THIRDPARTY_LIBS ${NUMA_LIBRARIES})
++ endif()
+ endif()
+
+-find_package(TBB)
+-if(TBB_FOUND)
+- add_definitions(-DTBB)
+- include_directories(${TBB_INCLUDE_DIR})
+- list(APPEND THIRDPARTY_LIBS ${TBB_LIBRARIES})
++option(WITH_TBB "build with UBSAN" OFF)
++if(WITH_TBB)
++ find_package(TBB)
++ if(TBB_FOUND)
++ add_definitions(-DTBB)
++ include_directories(${TBB_INCLUDE_DIR})
++ list(APPEND THIRDPARTY_LIBS ${TBB_LIBRARIES})
++ endif()
+ endif()
+
+ # Used to run CI build and tests so we can run faster
diff --git a/sys-cluster/ceph/files/ceph-14.2.0-no-automagic-tbb.patch b/sys-cluster/ceph/files/ceph-14.2.0-no-automagic-tbb.patch
deleted file mode 100644
index 3e671a49098..00000000000
--- a/sys-cluster/ceph/files/ceph-14.2.0-no-automagic-tbb.patch
+++ /dev/null
@@ -1,12 +0,0 @@
-diff --git a/cmake/modules/BuildRocksDB.cmake b/cmake/modules/BuildRocksDB.cmake
-index 69741f4601..8e7a9e30c3 100644
---- a/cmake/modules/BuildRocksDB.cmake
-+++ b/cmake/modules/BuildRocksDB.cmake
-@@ -39,6 +39,7 @@ function(build_rocksdb)
- list(APPEND rocksdb_CMAKE_ARGS -DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE})
- list(APPEND rocksdb_CMAKE_ARGS -DFAIL_ON_WARNINGS=OFF)
- list(APPEND rocksdb_CMAKE_ARGS -DUSE_RTTI=1)
-+ list(APPEND rocksdb_CMAKE_ARGS -DWITH_TBB=NO)
- CHECK_C_COMPILER_FLAG("-Wno-stringop-truncation" HAS_WARNING_STRINGOP_TRUNCATION)
- if(HAS_WARNING_STRINGOP_TRUNCATION)
- list(APPEND rocksdb_CMAKE_ARGS -DCMAKE_C_FLAGS="-Wno-stringop-truncation")
diff --git a/sys-cluster/ceph/metadata.xml b/sys-cluster/ceph/metadata.xml
index f1a3c5f5209..03215bde3fd 100644
--- a/sys-cluster/ceph/metadata.xml
+++ b/sys-cluster/ceph/metadata.xml
@@ -28,6 +28,7 @@
<flag name="lttng">Add support for LTTng</flag>
<flag name="mgr">Build the ceph-mgr daemon</flag>
<flag name="nss">Use <pkg>dev-libs/nss</pkg> for cryptography</flag>
+ <flag name="numa">Use <pkg>sys-process/numactl</pkg> for numa support in rocksdb</flag>
<flag name="rabbitmq">Use rabbitmq-c to build rgw amqp push endpoint</flag>
<flag name="radosgw">Add radosgw support</flag>
<flag name="system-boost">Use system <pkg>dev-libs/boost</pkg> instead of the bundled one</flag>
^ permalink raw reply related [flat|nested] 68+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-cluster/ceph/, sys-cluster/ceph/files/
@ 2019-03-20 1:12 Patrick McLean
0 siblings, 0 replies; 68+ messages in thread
From: Patrick McLean @ 2019-03-20 1:12 UTC (permalink / raw
To: gentoo-commits
commit: 9b67eb1b1afa94c7654646434299bbcf9bc5371f
Author: Patrick McLean <patrick.mclean <AT> sony <DOT> com>
AuthorDate: Wed Mar 20 01:11:54 2019 +0000
Commit: Patrick McLean <chutzpah <AT> gentoo <DOT> org>
CommitDate: Wed Mar 20 01:11:54 2019 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=9b67eb1b
sys-cluster/ceph: Version bump to 14.2.0
Copyright: Sony Interactive Entertainment Inc.
Package-Manager: Portage-2.3.62, Repoman-2.3.12
Signed-off-by: Patrick McLean <chutzpah <AT> gentoo.org>
sys-cluster/ceph/Manifest | 1 +
sys-cluster/ceph/ceph-14.2.0.ebuild | 334 +++++++++++++++++++++
.../ceph/files/ceph-14.2.0-boost-sonames.patch | 334 +++++++++++++++++++++
sys-cluster/ceph/files/ceph-14.2.0-cflags.patch | 13 +
.../ceph/files/ceph-14.2.0-dpdk-cflags.patch | 30 ++
.../files/ceph-14.2.0-mgr-python-version.patch | 17 ++
.../ceph/files/ceph-14.2.0-no-automagic-tbb.patch | 12 +
.../ceph/files/ceph-14.2.0-no-virtualenvs.patch | 54 ++++
sys-cluster/ceph/metadata.xml | 2 +
9 files changed, 797 insertions(+)
diff --git a/sys-cluster/ceph/Manifest b/sys-cluster/ceph/Manifest
index 5153037850a..84c0ec570bc 100644
--- a/sys-cluster/ceph/Manifest
+++ b/sys-cluster/ceph/Manifest
@@ -4,3 +4,4 @@ DIST ceph-12.2.11.tar.gz 79009034 BLAKE2B d8b1c188fe39603e90511eb436100ba14c0a9c
DIST ceph-12.2.8.tar.gz 77243685 BLAKE2B 37c34396a0c276b8d79735e14934ac70da024822c2a060061531c234e03e5d41aad6c41dc64b05c2ce47f03287d0cae9ef9bed67e4a0861b6380c8ce1de4ea69 SHA512 91c5c11aaeef701b3e31c9f8a1192b6b79fd34f3b96c61595c65173c98bfce0009c5b7c9b29764f5e4d4b1f5ac2ca7109fed5ae598c176aba717a34a132fabac
DIST ceph-13.2.4.tar.gz 90910119 BLAKE2B eb395f435552d91789869bd92fee2a8b2fef155205f13b118bd01be4ff78a8e1dde682425a24311822bb819ec8cf41a9d45245ffa3cb7a921d3269f6658bf920 SHA512 5055979067234ad7fd2774007d524ef4643d968bf7ce42fc8c3f8e469fd84cbd7afc163cd6ddda53584bd5677fdea2fecf8194a378d49724504f639b9f688ff7
DIST ceph-13.2.5.tar.gz 91006057 BLAKE2B 68551e2f54d78aff7b0e9ec3c62e6a3394dd7c23e80924a5b400cd9666a05a42e5f22445deee4040f1b78201c6a6660b283109878d4c92d845821bff831c8a5e SHA512 6daea524523f829e725609328ea71f416b2c3a9530fa8956720a7bc69dc08e55a169654f500704579dc9ba693f04eedd7e04614c0850e9ab1169cd45f19039f8
+DIST ceph-14.2.0.tar.gz 118882504 BLAKE2B e650d99dceb11c7b035480c8cdd9f63ee4a5f81ffea27988e180a2956433e3e4b34e496a73bf5992c428eff859311c623b92a6f006eb694ebf928d8204dc9b06 SHA512 c86a335714fd5678988133ec0e60cb10cd948250a133c073d1ed055c5bba232fa6f1e102dd7fcb0c70b37a07c9c2d1220d4a1713720e4dcab9659152ee577480
diff --git a/sys-cluster/ceph/ceph-14.2.0.ebuild b/sys-cluster/ceph/ceph-14.2.0.ebuild
new file mode 100644
index 00000000000..d754478c6d0
--- /dev/null
+++ b/sys-cluster/ceph/ceph-14.2.0.ebuild
@@ -0,0 +1,334 @@
+# Copyright 1999-2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+PYTHON_COMPAT=( python{2_7,3_{5,6,7}} )
+DISTUTILS_OPTIONAL=1
+
+inherit check-reqs bash-completion-r1 cmake-utils distutils-r1 flag-o-matic \
+ multiprocessing python-r1 udev user readme.gentoo-r1 toolchain-funcs \
+ systemd
+
+if [[ ${PV} == *9999* ]]; then
+ inherit git-r3
+ EGIT_REPO_URI="https://github.com/ceph/ceph.git"
+ SRC_URI=""
+else
+ SRC_URI="https://download.ceph.com/tarballs/${P}.tar.gz"
+ KEYWORDS="~amd64 ~x86"
+fi
+
+DESCRIPTION="Ceph distributed filesystem"
+HOMEPAGE="https://ceph.com/"
+
+LICENSE="LGPL-2.1 CC-BY-SA-3.0 GPL-2 BSD Boost-1.0 MIT"
+SLOT="0"
+
+CPU_FLAGS_X86=(sse{,2,3,4_1,4_2} ssse3)
+
+IUSE="babeltrace cephfs dpdk fuse grafana jemalloc kerberos ldap lttng +mgr"
+IUSE+=" rabbitmq +radosgw +ssl static-libs +system-boost systemd +tcmalloc"
+IUSE+=" test xfs zfs"
+IUSE+=" $(printf "cpu_flags_x86_%s\n" ${CPU_FLAGS_X86[@]})"
+
+# unbundling code commented out pending bugs 584056 and 584058
+#>=dev-libs/jerasure-2.0.0-r1
+#>=dev-libs/gf-complete-2.0.0
+COMMON_DEPEND="
+ virtual/libudev:=
+ app-arch/bzip2:=[static-libs?]
+ app-arch/lz4:=[static-libs?]
+ app-arch/snappy:=[static-libs?]
+ app-arch/zstd:=[static-libs?]
+ app-misc/jq:=[static-libs?]
+ dev-libs/crypto++:=[static-libs?]
+ dev-libs/leveldb:=[snappy,static-libs?,tcmalloc?]
+ dev-libs/libaio:=[static-libs?]
+ dev-libs/libxml2:=[static-libs?]
+ dev-libs/nss:=
+ sys-auth/oath-toolkit:=
+ sys-apps/keyutils:=[static-libs?]
+ sys-apps/util-linux:=[static-libs?]
+ sys-libs/ncurses:0=[static-libs?]
+ sys-libs/zlib:=[static-libs?]
+ babeltrace? ( dev-util/babeltrace )
+ ldap? ( net-nds/openldap:=[static-libs?] )
+ lttng? ( dev-util/lttng-ust:= )
+ fuse? ( sys-fs/fuse:0=[static-libs?] )
+ kerberos? ( virtual/krb5 )
+ rabbitmq? ( net-libs/rabbitmq-c:=[static-libs?] )
+ ssl? ( dev-libs/openssl:=[static-libs?] )
+ xfs? ( sys-fs/xfsprogs:=[static-libs?] )
+ zfs? ( sys-fs/zfs:=[static-libs?] )
+ radosgw? (
+ dev-libs/expat:=[static-libs?]
+ dev-libs/openssl:=[static-libs?]
+ net-misc/curl:=[curl_ssl_openssl,static-libs?]
+ )
+ system-boost? (
+ >=dev-libs/boost-1.67:=[threads,context,python,static-libs?,${PYTHON_USEDEP}]
+ )
+ jemalloc? ( dev-libs/jemalloc:=[static-libs?] )
+ !jemalloc? ( >=dev-util/google-perftools-2.4:=[static-libs?] )
+ ${PYTHON_DEPS}
+ "
+DEPEND="${COMMON_DEPEND}
+ amd64? ( dev-lang/yasm )
+ x86? ( dev-lang/yasm )
+ dev-python/cython[${PYTHON_USEDEP}]
+ dev-python/sphinx
+ dev-util/cunit
+ test? (
+ dev-python/coverage[${PYTHON_USEDEP}]
+ dev-python/tox[${PYTHON_USEDEP}]
+ dev-python/virtualenv[${PYTHON_USEDEP}]
+ sys-apps/grep[pcre]
+ sys-fs/btrfs-progs
+ )
+ "
+BDEPEND=" app-arch/cpio
+ >=dev-util/cmake-3.5.0
+ dev-util/gperf
+ dev-util/valgrind
+ sys-apps/which
+ sys-devel/bc
+ virtual/pkgconfig
+ "
+RDEPEND="${COMMON_DEPEND}
+ net-misc/socat
+ sys-apps/gptfdisk
+ sys-block/parted
+ sys-fs/cryptsetup
+ sys-fs/lvm2
+ !<sys-apps/openrc-0.26.3
+ dev-python/bcrypt[${PYTHON_USEDEP}]
+ dev-python/cherrypy[${PYTHON_USEDEP}]
+ dev-python/flask[${PYTHON_USEDEP}]
+ dev-python/jinja[${PYTHON_USEDEP}]
+ dev-python/pecan[${PYTHON_USEDEP}]
+ dev-python/prettytable[${PYTHON_USEDEP}]
+ dev-python/pyopenssl[${PYTHON_USEDEP}]
+ dev-python/requests[${PYTHON_USEDEP}]
+ dev-python/werkzeug[${PYTHON_USEDEP}]
+ "
+REQUIRED_USE="
+ ${PYTHON_REQUIRED_USE}
+ || ( $(python_gen_useflags 'python3*') )
+ ?? ( jemalloc tcmalloc )
+ rabbitmq? ( radosgw )
+ "
+
+# the tests need root access
+RESTRICT="test? ( userpriv )"
+
+# distribution tarball does not include everything needed for tests
+RESTRICT+=" test"
+
+# false positives unless all USE flags are on
+CMAKE_WARN_UNUSED_CLI="no"
+
+STRIP_MASK="/usr/lib*/rados-classes/*"
+
+UNBUNDLE_LIBS=(
+ src/erasure-code/jerasure/jerasure
+ src/erasure-code/jerasure/gf-complete
+)
+
+PATCHES=(
+ "${FILESDIR}/ceph-12.2.0-use-provided-cpu-flag-values.patch"
+ "${FILESDIR}/ceph-14.2.0-cflags.patch"
+ "${FILESDIR}/ceph-12.2.4-boost-build-none-options.patch"
+ "${FILESDIR}/ceph-13.2.0-cflags.patch"
+ "${FILESDIR}/ceph-14.2.0-mgr-python-version.patch"
+ "${FILESDIR}/ceph-14.2.0-no-virtualenvs.patch"
+ "${FILESDIR}/ceph-13.2.2-dont-install-sysvinit-script.patch"
+ "${FILESDIR}/ceph-14.2.0-dpdk-cflags.patch"
+ "${FILESDIR}/ceph-14.2.0-no-automagic-tbb.patch"
+)
+
+# dpdk and ninja don't get along
+CMAKE_MAKEFILE_GENERATOR="emake"
+
+check-reqs_export_vars() {
+ if use amd64; then
+ CHECKREQS_DISK_BUILD="12G"
+ CHECKREQS_DISK_USR="460M"
+ else
+ CHECKREQS_DISK_BUILD="1400M"
+ CHECKREQS_DISK_USR="450M"
+ fi
+
+ export CHECKREQS_DISK_BUILD CHECKREQS_DISK_USR
+}
+
+user_setup() {
+ enewgroup ceph ${CEPH_GID}
+ enewuser ceph "${CEPH_UID:--1}" -1 /var/lib/ceph ceph
+}
+
+pkg_pretend() {
+ check-reqs_export_vars
+ check-reqs_pkg_pretend
+}
+
+pkg_setup() {
+ python_setup 'python3*'
+ check-reqs_export_vars
+ check-reqs_pkg_setup
+ user_setup
+}
+
+src_prepare() {
+ cmake-utils_src_prepare
+
+ if use system-boost; then
+ eapply "${FILESDIR}/ceph-14.2.0-boost-sonames.patch"
+ fi
+
+ sed -i -r "s:DESTINATION .+\\):DESTINATION $(get_bashcompdir)\\):" \
+ src/bash_completion/CMakeLists.txt || die
+
+ # remove tests that need root access
+ rm src/test/cli/ceph-authtool/cap*.t || die
+
+ #rm -rf "${UNBUNDLE_LIBS[@]}"
+}
+
+ceph_src_configure() {
+ local flag
+ local mycmakeargs=(
+ -DWITH_BABELTRACE=$(usex babeltrace)
+ -DWITH_CEPHFS=$(usex cephfs)
+ -DWITH_DPDK=$(usex dpdk)
+ -DWITH_FUSE=$(usex fuse)
+ -DWITH_LTTNG=$(usex lttng)
+ -DWITH_GSSAPI=$(usex kerberos)
+ -DWITH_GRAFANA=$(usex grafana)
+ -DWITH_MGR=$(usex mgr)
+ -DWITH_MGR_DASHBOARD_FRONTEND=NO
+ -DWITH_OPENLDAP=$(usex ldap)
+ -DWITH_RADOSGW=$(usex radosgw)
+ -DWITH_RADOSGW_AMQP_ENDPOINT=$(usex rabbitmq)
+ -DWITH_SSL=$(usex ssl)
+ -DWITH_SYSTEMD=$(usex systemd)
+ -DWITH_TESTS=$(usex test)
+ -DWITH_XFS=$(usex xfs)
+ -DWITH_ZFS=$(usex zfs)
+ -DENABLE_SHARED=$(usex static-libs '' 'ON' 'OFF')
+ -DALLOCATOR=$(usex tcmalloc 'tcmalloc' "$(usex jemalloc 'jemalloc' 'libc')")
+ -DWITH_SYSTEM_BOOST=$(usex system-boost)
+ -DBOOST_J=$(makeopts_jobs)
+ -DWITH_RDMA=no
+ -DSYSTEMD_UNITDIR=$(systemd_get_systemunitdir)
+ -DEPYTHON_VERSION="${EPYTHON#python}"
+ -DCMAKE_INSTALL_DOCDIR="${EPREFIX}/usr/share/doc/${P}"
+ -DCMAKE_INSTALL_SYSCONFDIR="${EPREFIX}/etc"
+ -Wno-dev
+ )
+ if use amd64 || use x86; then
+ for flag in ${CPU_FLAGS_X86[@]}; do
+ mycmakeargs+=("$(usex cpu_flags_x86_${flag} "-DHAVE_INTEL_${flag^^}=1")")
+ done
+ fi
+
+ rm -f "${BUILD_DIR:-${S}}/CMakeCache.txt"
+ cmake-utils_src_configure
+
+ # bug #630232
+ sed -i "s:\"${T//:\\:}/${EPYTHON}/bin/python\":\"${PYTHON}\":" \
+ "${BUILD_DIR:-${CMAKE_BUILD_DIR:-${S}}}"/include/acconfig.h \
+ || die "sed failed"
+}
+
+src_configure() {
+ ceph_src_configure
+}
+
+python_compile() {
+ local CMAKE_USE_DIR="${S}"
+ ceph_src_configure
+
+ pushd "${BUILD_DIR}/src/pybind" >/dev/null || die
+ emake VERBOSE=1 clean
+ emake VERBOSE=1 all
+
+ # python modules are only compiled with "make install" so we need to do this to
+ # prevent doing a bunch of compilation in src_install
+ DESTDIR="${T}" emake VERBOSE=1 install
+ popd >/dev/null || die
+}
+
+src_compile() {
+ cmake-utils_src_make VERBOSE=1 all
+
+ # we have to do this here to prevent from building everything multiple times
+ BUILD_DIR="${CMAKE_BUILD_DIR}" python_copy_sources
+ python_foreach_impl python_compile
+}
+
+src_test() {
+ make check || die "make check failed"
+}
+
+python_install() {
+ local CMAKE_USE_DIR="${S}"
+ pushd "${BUILD_DIR}/src/pybind" >/dev/null || die
+ DESTDIR="${ED}" emake install
+ popd >/dev/null || die
+}
+
+src_install() {
+ cmake-utils_src_install
+ python_foreach_impl python_install
+
+ find "${ED}" -name '*.la' -type f -delete || die
+
+ exeinto /usr/$(get_libdir)/ceph
+ newexe "${BUILD_DIR}/bin/init-ceph" init-ceph
+
+ insinto /etc/logrotate.d/
+ newins "${FILESDIR}"/ceph.logrotate-r2 ${PN}
+
+ keepdir /var/lib/${PN}{,/tmp} /var/log/${PN}/stat
+
+ fowners -R ceph:ceph /var/lib/ceph /var/log/ceph
+
+ newinitd "${FILESDIR}/rbdmap.initd" rbdmap
+ newinitd "${FILESDIR}/${PN}.initd-r11" ${PN}
+ newconfd "${FILESDIR}/${PN}.confd-r5" ${PN}
+
+ insinto /etc/sysctl.d
+ newins "${FILESDIR}"/sysctld 90-${PN}.conf
+
+ use tcmalloc && newenvd "${FILESDIR}"/envd-tcmalloc 99${PN}-tcmalloc
+
+ # units aren't installed by the build system unless systemd is enabled
+ # so no point installing these with the USE flag disabled
+ if use systemd; then
+ systemd_install_serviced "${FILESDIR}/ceph-mds_at.service.conf" \
+ "ceph-mds@.service"
+
+ systemd_install_serviced "${FILESDIR}/ceph-osd_at.service.conf" \
+ "ceph-osd@.service"
+ fi
+
+ udev_dorules udev/*.rules
+
+ readme.gentoo_create_doc
+
+ python_setup 'python3*'
+
+ # bug #630232
+ sed -i -r "s:${T//:/\\:}/${EPYTHON}:/usr:" "${ED}"/usr/bin/ceph \
+ || die "sed failed"
+
+ python_fix_shebang "${ED}"/usr/{,s}bin/
+
+ # python_fix_shebang apparently is not idempotent
+ sed -i -r 's:(/usr/lib/python-exec/python[0-9]\.[0-9]/python)[0-9]\.[0-9]:\1:' \
+ "${ED}"/usr/sbin/{mount.fuse.ceph,ceph-volume{,-systemd}} || die "sed failed"
+}
+
+pkg_postinst() {
+ readme.gentoo_print_elog
+}
diff --git a/sys-cluster/ceph/files/ceph-14.2.0-boost-sonames.patch b/sys-cluster/ceph/files/ceph-14.2.0-boost-sonames.patch
new file mode 100644
index 00000000000..497d5953051
--- /dev/null
+++ b/sys-cluster/ceph/files/ceph-14.2.0-boost-sonames.patch
@@ -0,0 +1,334 @@
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index dbabecbe97..d12b696bb5 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -640,7 +640,7 @@ set(BOOST_HEADER_COMPONENTS container)
+
+ if(WITH_MGR)
+ list(APPEND BOOST_COMPONENTS
+- python${MGR_PYTHON_VERSION_MAJOR}${MGR_PYTHON_VERSION_MINOR})
++ python-${MGR_PYTHON_VERSION_MAJOR}.${MGR_PYTHON_VERSION_MINOR})
+ endif()
+ if(WITH_BOOST_CONTEXT)
+ list(APPEND BOOST_COMPONENTS context coroutine)
+diff --git a/cmake/modules/FindBoost.cmake b/cmake/modules/FindBoost.cmake
+index bfab4ca436..90ed0cbb17 100644
+--- a/cmake/modules/FindBoost.cmake
++++ b/cmake/modules/FindBoost.cmake
+@@ -1181,10 +1181,10 @@ endif()
+ # on all platforms to keep end user code free from platform dependent
+ # code. Also provide convenience targets to disable autolinking and
+ # enable dynamic linking.
+-if(NOT TARGET Boost::diagnostic_definitions)
+- add_library(Boost::diagnostic_definitions INTERFACE IMPORTED)
+- add_library(Boost::disable_autolinking INTERFACE IMPORTED)
+- add_library(Boost::dynamic_linking INTERFACE IMPORTED)
++if(NOT TARGET boost_diagnostic_definitions)
++ add_library(boost_diagnostic_definitions INTERFACE IMPORTED)
++ add_library(boost_disable_autolinking INTERFACE IMPORTED)
++ add_library(boost_dynamic_linking INTERFACE IMPORTED)
+ endif()
+ if(WIN32)
+ # In windows, automatic linking is performed, so you do not have
+@@ -1205,11 +1205,11 @@ if(WIN32)
+ # code to emit a #pragma message each time a library is selected
+ # for linking.
+ set(Boost_LIB_DIAGNOSTIC_DEFINITIONS "-DBOOST_LIB_DIAGNOSTIC")
+- set_target_properties(Boost::diagnostic_definitions PROPERTIES
++ set_target_properties(boost_diagnostic_definitions PROPERTIES
+ INTERFACE_COMPILE_DEFINITIONS "BOOST_LIB_DIAGNOSTIC")
+- set_target_properties(Boost::disable_autolinking PROPERTIES
++ set_target_properties(boost_disable_autolinking PROPERTIES
+ INTERFACE_COMPILE_DEFINITIONS "BOOST_ALL_NO_LIB")
+- set_target_properties(Boost::dynamic_linking PROPERTIES
++ set_target_properties(boost_dynamic_linking PROPERTIES
+ INTERFACE_COMPILE_DEFINITIONS "BOOST_ALL_DYN_LINK")
+ endif()
+
+@@ -2018,52 +2018,52 @@ if(Boost_FOUND)
+ endif()
+
+ foreach(COMPONENT ${Boost_FIND_COMPONENTS})
+- if(_Boost_IMPORTED_TARGETS AND NOT TARGET Boost::${COMPONENT})
++ if(_Boost_IMPORTED_TARGETS AND NOT TARGET boost_${COMPONENT})
+ string(TOUPPER ${COMPONENT} UPPERCOMPONENT)
+ if(Boost_${UPPERCOMPONENT}_FOUND)
+ if(Boost_USE_STATIC_LIBS)
+- add_library(Boost::${COMPONENT} STATIC IMPORTED)
++ add_library(boost_${COMPONENT} STATIC IMPORTED)
+ else()
+ # Even if Boost_USE_STATIC_LIBS is OFF, we might have static
+ # libraries as a result.
+- add_library(Boost::${COMPONENT} UNKNOWN IMPORTED)
++ add_library(boost_${COMPONENT} UNKNOWN IMPORTED)
+ endif()
+ if(Boost_INCLUDE_DIRS)
+- set_target_properties(Boost::${COMPONENT} PROPERTIES
++ set_target_properties(boost_${COMPONENT} PROPERTIES
+ INTERFACE_INCLUDE_DIRECTORIES "${Boost_INCLUDE_DIRS}")
+ endif()
+ if(EXISTS "${Boost_${UPPERCOMPONENT}_LIBRARY}")
+- set_target_properties(Boost::${COMPONENT} PROPERTIES
++ set_target_properties(boost_${COMPONENT} PROPERTIES
+ IMPORTED_LINK_INTERFACE_LANGUAGES "CXX"
+ IMPORTED_LOCATION "${Boost_${UPPERCOMPONENT}_LIBRARY}")
+ endif()
+ if(EXISTS "${Boost_${UPPERCOMPONENT}_LIBRARY_RELEASE}")
+- set_property(TARGET Boost::${COMPONENT} APPEND PROPERTY
++ set_property(TARGET boost_${COMPONENT} APPEND PROPERTY
+ IMPORTED_CONFIGURATIONS RELEASE)
+- set_target_properties(Boost::${COMPONENT} PROPERTIES
++ set_target_properties(boost_${COMPONENT} PROPERTIES
+ IMPORTED_LINK_INTERFACE_LANGUAGES_RELEASE "CXX"
+ IMPORTED_LOCATION_RELEASE "${Boost_${UPPERCOMPONENT}_LIBRARY_RELEASE}")
+ endif()
+ if(EXISTS "${Boost_${UPPERCOMPONENT}_LIBRARY_DEBUG}")
+- set_property(TARGET Boost::${COMPONENT} APPEND PROPERTY
++ set_property(TARGET boost_${COMPONENT} APPEND PROPERTY
+ IMPORTED_CONFIGURATIONS DEBUG)
+- set_target_properties(Boost::${COMPONENT} PROPERTIES
++ set_target_properties(boost_${COMPONENT} PROPERTIES
+ IMPORTED_LINK_INTERFACE_LANGUAGES_DEBUG "CXX"
+ IMPORTED_LOCATION_DEBUG "${Boost_${UPPERCOMPONENT}_LIBRARY_DEBUG}")
+ endif()
+ if(_Boost_${UPPERCOMPONENT}_DEPENDENCIES)
+ unset(_Boost_${UPPERCOMPONENT}_TARGET_DEPENDENCIES)
+ foreach(dep ${_Boost_${UPPERCOMPONENT}_DEPENDENCIES})
+- list(APPEND _Boost_${UPPERCOMPONENT}_TARGET_DEPENDENCIES Boost::${dep})
++ list(APPEND _Boost_${UPPERCOMPONENT}_TARGET_DEPENDENCIES boost_${dep})
+ endforeach()
+ if(COMPONENT STREQUAL "thread")
+ list(APPEND _Boost_${UPPERCOMPONENT}_TARGET_DEPENDENCIES Threads::Threads)
+ endif()
+- set_target_properties(Boost::${COMPONENT} PROPERTIES
++ set_target_properties(boost_${COMPONENT} PROPERTIES
+ INTERFACE_LINK_LIBRARIES "${_Boost_${UPPERCOMPONENT}_TARGET_DEPENDENCIES}")
+ endif()
+ if(_Boost_${UPPERCOMPONENT}_COMPILER_FEATURES)
+- set_target_properties(Boost::${COMPONENT} PROPERTIES
++ set_target_properties(boost_${COMPONENT} PROPERTIES
+ INTERFACE_COMPILE_FEATURES "${_Boost_${UPPERCOMPONENT}_COMPILER_FEATURES}")
+ endif()
+ endif()
+diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
+index 1b1f19d464..21c222280f 100644
+--- a/src/CMakeLists.txt
++++ b/src/CMakeLists.txt
+@@ -353,12 +353,12 @@ set(ceph_common_objs
+ set(ceph_common_deps
+ json_spirit erasure_code arch crc32
+ ${LIB_RESOLV}
+- Boost::thread
+- Boost::system
+- Boost::random
+- Boost::program_options
+- Boost::date_time
+- Boost::iostreams
++ boost_thread
++ boost_system
++ boost_random
++ boost_program_options
++ boost_date_time
++ boost_iostreams
+ ${BLKID_LIBRARIES}
+ ${Backtrace_LIBRARIES}
+ ${BLKIN_LIBRARIES}
+@@ -518,7 +518,7 @@ if (WITH_CEPHFS)
+ ceph_mds.cc)
+ add_executable(ceph-mds ${ceph_mds_srcs})
+ target_link_libraries(ceph-mds mds ${CMAKE_DL_LIBS} global-static ceph-common
+- Boost::thread)
++ boost_thread)
+ install(TARGETS ceph-mds DESTINATION bin)
+ endif()
+
+diff --git a/src/crimson/CMakeLists.txt b/src/crimson/CMakeLists.txt
+index d7b58521d4..e1533af33f 100644
+--- a/src/crimson/CMakeLists.txt
++++ b/src/crimson/CMakeLists.txt
+@@ -106,8 +106,8 @@ target_link_libraries(crimson-common
+ PRIVATE
+ crc32
+ crimson::cflags
+- Boost::iostreams
+- Boost::random
++ boost_iostreams
++ boost_random
+ ${NSS_LIBRARIES} ${NSPR_LIBRARIES} OpenSSL::Crypto)
+
+ set(crimson_auth_srcs
+diff --git a/src/mgr/CMakeLists.txt b/src/mgr/CMakeLists.txt
+index 252fb3e5e3..3f3823a68e 100644
+--- a/src/mgr/CMakeLists.txt
++++ b/src/mgr/CMakeLists.txt
+@@ -26,7 +26,7 @@ target_include_directories(ceph-mgr SYSTEM PRIVATE "${PYTHON_INCLUDE_DIRS}")
+ target_link_libraries(ceph-mgr
+ osdc client heap_profiler
+ global-static ceph-common
+- Boost::python${MGR_PYTHON_VERSION_MAJOR}${MGR_PYTHON_VERSION_MINOR}
++ boost_python-${MGR_PYTHON_VERSION_MAJOR}.${MGR_PYTHON_VERSION_MINOR}
+ ${MGR_PYTHON_LIBRARIES} ${CMAKE_DL_LIBS} ${GSSAPI_LIBRARIES})
+ set_target_properties(ceph-mgr PROPERTIES
+ POSITION_INDEPENDENT_CODE ${EXE_LINKER_USE_PIE})
+diff --git a/src/rbd_replay/CMakeLists.txt b/src/rbd_replay/CMakeLists.txt
+index e9d3804c5f..5c6eb58de1 100644
+--- a/src/rbd_replay/CMakeLists.txt
++++ b/src/rbd_replay/CMakeLists.txt
+@@ -36,7 +36,7 @@ if(HAVE_BABELTRACE)
+ global
+ babeltrace
+ babeltrace-ctf
+- Boost::date_time
++ boost_date_time
+ )
+ install(TARGETS rbd-replay-prep DESTINATION bin)
+ endif(HAVE_BABELTRACE)
+diff --git a/src/rgw/CMakeLists.txt b/src/rgw/CMakeLists.txt
+index ccc4f74cfe..854aa6e5e9 100644
+--- a/src/rgw/CMakeLists.txt
++++ b/src/rgw/CMakeLists.txt
+@@ -199,7 +199,7 @@ if(WITH_CURL_OPENSSL)
+ endif()
+
+ if(WITH_BOOST_CONTEXT)
+- target_link_libraries(rgw_a PRIVATE Boost::coroutine Boost::context)
++ target_link_libraries(rgw_a PRIVATE boost_coroutine boost_context)
+ endif()
+
+ set(rgw_libs rgw_a)
+@@ -341,7 +341,7 @@ if(WITH_RADOSGW_AMQP_ENDPOINT)
+ target_link_libraries(rgw_admin_user PRIVATE RabbitMQ::RabbitMQ)
+ endif()
+ if(WITH_BOOST_CONTEXT)
+- target_link_libraries(rgw_admin_user PRIVATE Boost::coroutine Boost::context)
++ target_link_libraries(rgw_admin_user PRIVATE boost_coroutine boost_context)
+ endif()
+
+ if(WITH_TESTS)
+diff --git a/src/test/CMakeLists.txt b/src/test/CMakeLists.txt
+index 20a64fd41b..a8bb323614 100644
+--- a/src/test/CMakeLists.txt
++++ b/src/test/CMakeLists.txt
+@@ -158,7 +158,7 @@ add_executable(ceph_omapbench
+ )
+ target_link_libraries(ceph_omapbench
+ librados
+- Boost::program_options
++ boost_program_options
+ global
+ ${BLKID_LIBRARIES}
+ ${CMAKE_DL_LIBS}
+diff --git a/src/test/common/CMakeLists.txt b/src/test/common/CMakeLists.txt
+index 71fb77cda9..aff8fb6565 100644
+--- a/src/test/common/CMakeLists.txt
++++ b/src/test/common/CMakeLists.txt
+@@ -315,8 +315,8 @@ add_ceph_unittest(unittest_hobject)
+
+ add_executable(unittest_async_completion test_async_completion.cc)
+ add_ceph_unittest(unittest_async_completion)
+-target_link_libraries(unittest_async_completion Boost::system)
++target_link_libraries(unittest_async_completion boost_system)
+
+ add_executable(unittest_async_shared_mutex test_async_shared_mutex.cc)
+ add_ceph_unittest(unittest_async_shared_mutex)
+-target_link_libraries(unittest_async_shared_mutex ceph-common Boost::system)
++target_link_libraries(unittest_async_shared_mutex ceph-common boost_system)
+diff --git a/src/test/erasure-code/CMakeLists.txt b/src/test/erasure-code/CMakeLists.txt
+index 721f6c3675..1cd9635c77 100644
+--- a/src/test/erasure-code/CMakeLists.txt
++++ b/src/test/erasure-code/CMakeLists.txt
+@@ -2,15 +2,15 @@
+ add_executable(ceph_erasure_code_benchmark
+ ${CMAKE_SOURCE_DIR}/src/erasure-code/ErasureCode.cc
+ ceph_erasure_code_benchmark.cc)
+-target_link_libraries(ceph_erasure_code_benchmark ceph-common Boost::program_options global ${CMAKE_DL_LIBS})
++target_link_libraries(ceph_erasure_code_benchmark ceph-common boost_program_options global ${CMAKE_DL_LIBS})
+ install(TARGETS ceph_erasure_code_benchmark
+ DESTINATION bin)
+
+ add_executable(ceph_erasure_code_non_regression ceph_erasure_code_non_regression.cc)
+-target_link_libraries(ceph_erasure_code_non_regression ceph-common Boost::program_options global ${CMAKE_DL_LIBS})
++target_link_libraries(ceph_erasure_code_non_regression ceph-common boost_program_options global ${CMAKE_DL_LIBS})
+
+ add_executable(ceph_erasure_code ceph_erasure_code.cc)
+-target_link_libraries(ceph_erasure_code ceph-common Boost::program_options global ${CMAKE_DL_LIBS})
++target_link_libraries(ceph_erasure_code ceph-common boost_program_options global ${CMAKE_DL_LIBS})
+ install(TARGETS ceph_erasure_code
+ DESTINATION bin)
+
+diff --git a/src/test/librados/CMakeLists.txt b/src/test/librados/CMakeLists.txt
+index 4fc53d2406..e6304394f8 100644
+--- a/src/test/librados/CMakeLists.txt
++++ b/src/test/librados/CMakeLists.txt
+@@ -62,7 +62,7 @@ add_executable(ceph_test_rados_api_asio asio.cc)
+ target_link_libraries(ceph_test_rados_api_asio global
+ librados ${UNITTEST_LIBS})
+ if(WITH_BOOST_CONTEXT)
+- target_link_libraries(ceph_test_rados_api_asio Boost::coroutine Boost::context)
++ target_link_libraries(ceph_test_rados_api_asio boost_coroutine boost_context)
+ endif()
+
+ add_executable(ceph_test_rados_api_list
+@@ -132,7 +132,7 @@ add_executable(ceph_test_rados_api_tier_pp
+ tier_cxx.cc
+ $<TARGET_OBJECTS:unit-main>)
+ target_link_libraries(ceph_test_rados_api_tier_pp
+- librados global ${UNITTEST_LIBS} Boost::system radostest-cxx)
++ librados global ${UNITTEST_LIBS} boost_system radostest-cxx)
+
+ add_executable(ceph_test_rados_api_snapshots
+ snapshots.cc)
+diff --git a/src/test/librbd/CMakeLists.txt b/src/test/librbd/CMakeLists.txt
+index 2bf6723c40..e99b8afa11 100644
+--- a/src/test/librbd/CMakeLists.txt
++++ b/src/test/librbd/CMakeLists.txt
+@@ -27,7 +27,7 @@ target_link_libraries(rbd_test PRIVATE
+ radostest
+ radostest-cxx
+ librados
+- Boost::thread
++ boost_thread
+ GMock::GMock
+ GTest::GTest)
+
+diff --git a/src/test/rgw/CMakeLists.txt b/src/test/rgw/CMakeLists.txt
+index 9b2c6b6321..80e4cb7829 100644
+--- a/src/test/rgw/CMakeLists.txt
++++ b/src/test/rgw/CMakeLists.txt
+@@ -143,7 +143,7 @@ add_ceph_unittest(unittest_rgw_dmclock_scheduler)
+ target_link_libraries(unittest_rgw_dmclock_scheduler ${rgw_libs} dmclock)
+ if(WITH_BOOST_CONTEXT)
+ target_compile_definitions(unittest_rgw_dmclock_scheduler PRIVATE BOOST_COROUTINES_NO_DEPRECATION_WARNING)
+- target_link_libraries(unittest_rgw_dmclock_scheduler Boost::coroutine Boost::context)
++ target_link_libraries(unittest_rgw_dmclock_scheduler boost_coroutine boost_context)
+ endif()
+
+ if(WITH_RADOSGW_AMQP_ENDPOINT)
+diff --git a/src/tools/CMakeLists.txt b/src/tools/CMakeLists.txt
+index d31f3d2408..6945018b11 100644
+--- a/src/tools/CMakeLists.txt
++++ b/src/tools/CMakeLists.txt
+@@ -35,20 +35,20 @@ install(PROGRAMS
+ endif(WITH_TESTS)
+
+ add_executable(ceph-osdomap-tool ceph_osdomap_tool.cc)
+-target_link_libraries(ceph-osdomap-tool os global Boost::program_options)
++target_link_libraries(ceph-osdomap-tool os global boost_program_options)
+ install(TARGETS ceph-osdomap-tool DESTINATION bin)
+
+ add_executable(ceph-monstore-tool
+ ceph_monstore_tool.cc
+ ../mgr/mgr_commands.cc)
+-target_link_libraries(ceph-monstore-tool os global Boost::program_options)
++target_link_libraries(ceph-monstore-tool os global boost_program_options)
+ install(TARGETS ceph-monstore-tool DESTINATION bin)
+
+ add_executable(ceph-objectstore-tool
+ ceph_objectstore_tool.cc
+ rebuild_mondb.cc
+ RadosDump.cc)
+-target_link_libraries(ceph-objectstore-tool osd os global Boost::program_options ${CMAKE_DL_LIBS})
++target_link_libraries(ceph-objectstore-tool osd os global boost_program_options ${CMAKE_DL_LIBS})
+ if(WITH_FUSE)
+ target_link_libraries(ceph-objectstore-tool ${FUSE_LIBRARIES})
+ endif(WITH_FUSE)
diff --git a/sys-cluster/ceph/files/ceph-14.2.0-cflags.patch b/sys-cluster/ceph/files/ceph-14.2.0-cflags.patch
new file mode 100644
index 00000000000..3a9f52c879b
--- /dev/null
+++ b/sys-cluster/ceph/files/ceph-14.2.0-cflags.patch
@@ -0,0 +1,13 @@
+diff --git a/cmake/modules/Distutils.cmake b/cmake/modules/Distutils.cmake
+index 5697dff85f..7fdcfe4112 100644
+--- a/cmake/modules/Distutils.cmake
++++ b/cmake/modules/Distutils.cmake
+@@ -61,7 +61,7 @@ function(distutils_add_cython_module name src)
+ CC="${PY_CC}"
+ CXX="${PY_CXX}"
+ LDSHARED="${PY_LDSHARED}"
+- OPT=\"-DNDEBUG -g -fwrapv -O2 -w\"
++ OPT=\"-DNDEBUG -g -fwrapv -w\"
+ LDFLAGS=-L${CMAKE_LIBRARY_OUTPUT_DIRECTORY}
+ CYTHON_BUILD_DIR=${CMAKE_CURRENT_BINARY_DIR}
+ CEPH_LIBDIR=${CMAKE_LIBRARY_OUTPUT_DIRECTORY}
diff --git a/sys-cluster/ceph/files/ceph-14.2.0-dpdk-cflags.patch b/sys-cluster/ceph/files/ceph-14.2.0-dpdk-cflags.patch
new file mode 100644
index 00000000000..ab5d980cfbc
--- /dev/null
+++ b/sys-cluster/ceph/files/ceph-14.2.0-dpdk-cflags.patch
@@ -0,0 +1,30 @@
+diff --git a/cmake/modules/BuildDPDK.cmake b/cmake/modules/BuildDPDK.cmake
+index 12a831a8b1..a5485aa205 100644
+--- a/cmake/modules/BuildDPDK.cmake
++++ b/cmake/modules/BuildDPDK.cmake
+@@ -16,17 +16,14 @@ function(do_build_dpdk dpdk_dir)
+ set(arch "x86_64")
+ set(machine "default")
+ set(machine_tmpl "native")
+- set(rte_cflags "-march=core2")
+ elseif(CMAKE_SYSTEM_PROCESSOR MATCHES "arm|ARM")
+ set(arch "arm")
+ set(machine "armv7a")
+ set(machine_tmpl "armv7a")
+- set(rte_cflags "-march=armv7-a")
+ elseif(CMAKE_SYSTEM_PROCESSOR MATCHES "aarch64|AARCH64")
+ set(arch "arm64")
+ set(machine "armv8a")
+ set(machine_tmpl "armv8a")
+- set(rte_cflags "-march=armv8-a+crc")
+ elseif(CMAKE_SYSTEM_PROCESSOR MATCHES "(powerpc|ppc)64")
+ set(arch "ppc_64")
+ set(machine "power8")
+@@ -35,7 +32,6 @@ function(do_build_dpdk dpdk_dir)
+ message(FATAL_ERROR "not able to build DPDK support: "
+ "unknown arch \"${CMAKE_SYSTEM_PROCESSOR}\"")
+ endif()
+- set(dpdk_rte_CFLAGS "${rte_cflags}" CACHE INTERNAL "")
+ if(CMAKE_SYSTEM_NAME MATCHES "Linux")
+ set(execenv "linuxapp")
+ elseif(CMAKE_SYSTEM_NAME MATCHES "FreeBSD")
diff --git a/sys-cluster/ceph/files/ceph-14.2.0-mgr-python-version.patch b/sys-cluster/ceph/files/ceph-14.2.0-mgr-python-version.patch
new file mode 100644
index 00000000000..e4502a608ec
--- /dev/null
+++ b/sys-cluster/ceph/files/ceph-14.2.0-mgr-python-version.patch
@@ -0,0 +1,17 @@
+diff --git a/src/pybind/CMakeLists.txt b/src/pybind/CMakeLists.txt
+index 664543172a..e74d73c084 100644
+--- a/src/pybind/CMakeLists.txt
++++ b/src/pybind/CMakeLists.txt
+@@ -62,12 +62,6 @@ foreach(python_version ${py_vers})
+ endforeach()
+
+ if(WITH_MGR)
+- if(NOT WITH_PYTHON2 AND MGR_PYTHON_VERSION_MAJOR EQUAL 2)
+- message(FATAL_ERROR "mgr plugins require python2 binding")
+- elseif(NOT WITH_PYTHON3 AND MGR_PYTHON_VERSION_MAJOR EQUAL 3)
+- message(FATAL_ERROR "mgr plugins require python3 binding")
+- endif()
+-
+ if(USE_OPENSSL)
+ execute_process(
+ COMMAND ${PYTHON${PYTHON_VERSION}_EXECUTABLE} -c "import ssl; print('.'.join(map(str,ssl.OPENSSL_VERSION_INFO[0:3])))"
diff --git a/sys-cluster/ceph/files/ceph-14.2.0-no-automagic-tbb.patch b/sys-cluster/ceph/files/ceph-14.2.0-no-automagic-tbb.patch
new file mode 100644
index 00000000000..3e671a49098
--- /dev/null
+++ b/sys-cluster/ceph/files/ceph-14.2.0-no-automagic-tbb.patch
@@ -0,0 +1,12 @@
+diff --git a/cmake/modules/BuildRocksDB.cmake b/cmake/modules/BuildRocksDB.cmake
+index 69741f4601..8e7a9e30c3 100644
+--- a/cmake/modules/BuildRocksDB.cmake
++++ b/cmake/modules/BuildRocksDB.cmake
+@@ -39,6 +39,7 @@ function(build_rocksdb)
+ list(APPEND rocksdb_CMAKE_ARGS -DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE})
+ list(APPEND rocksdb_CMAKE_ARGS -DFAIL_ON_WARNINGS=OFF)
+ list(APPEND rocksdb_CMAKE_ARGS -DUSE_RTTI=1)
++ list(APPEND rocksdb_CMAKE_ARGS -DWITH_TBB=NO)
+ CHECK_C_COMPILER_FLAG("-Wno-stringop-truncation" HAS_WARNING_STRINGOP_TRUNCATION)
+ if(HAS_WARNING_STRINGOP_TRUNCATION)
+ list(APPEND rocksdb_CMAKE_ARGS -DCMAKE_C_FLAGS="-Wno-stringop-truncation")
diff --git a/sys-cluster/ceph/files/ceph-14.2.0-no-virtualenvs.patch b/sys-cluster/ceph/files/ceph-14.2.0-no-virtualenvs.patch
new file mode 100644
index 00000000000..5647ac51674
--- /dev/null
+++ b/sys-cluster/ceph/files/ceph-14.2.0-no-virtualenvs.patch
@@ -0,0 +1,54 @@
+diff --git a/.gitignore b/.gitignore
+index 2c2afc282e..80c05ee2f0 100644
+--- a/.gitignore
++++ b/.gitignore
+@@ -13,10 +13,8 @@
+ *.swp
+ *.swo
+ *.tmp
+-*.orig
+ *.patch
+ !debian/patches/*.patch
+-*.rej
+ *.rpm
+ *.pyc
+ ceph.spec
+diff --git a/src/pybind/mgr/dashboard/CMakeLists.txt b/src/pybind/mgr/dashboard/CMakeLists.txt
+index 24a2efc9e2..b11d4d0303 100644
+--- a/src/pybind/mgr/dashboard/CMakeLists.txt
++++ b/src/pybind/mgr/dashboard/CMakeLists.txt
+@@ -2,7 +2,7 @@ set(MGR_DASHBOARD_VIRTUALENV ${CEPH_BUILD_VIRTUALENV}/mgr-dashboard-virtualenv)
+
+ add_custom_target(mgr-dashboard-test-venv
+ COMMAND
+- ${CMAKE_SOURCE_DIR}/src/tools/setup-virtualenv.sh --python=${MGR_PYTHON_EXECUTABLE} ${MGR_DASHBOARD_VIRTUALENV}
++ #${CMAKE_SOURCE_DIR}/src/tools/setup-virtualenv.sh --python=${MGR_PYTHON_EXECUTABLE} ${MGR_DASHBOARD_VIRTUALENV}
+ WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}/src/pybind/mgr/dashboard
+ COMMENT "dashboard tests virtualenv is being created")
+ add_dependencies(tests mgr-dashboard-test-venv)
+@@ -14,9 +14,9 @@ function(add_npm_command)
+ set(multi_kw COMMAND DEPENDS)
+ cmake_parse_arguments(NC "${options}" "${single_kw}" "${multi_kw}" ${ARGN})
+ string(REPLACE ";" " " command "${NC_COMMAND}")
+- if(NC_NODEENV)
+- string(REGEX REPLACE "^(npm .*)$" ". ${mgr-dashboard-nodeenv-dir}/bin/activate && \\1 && deactivate" command ${command})
+- endif()
++ #if(NC_NODEENV)
++ # string(REGEX REPLACE "^(npm .*)$" ". ${mgr-dashboard-nodeenv-dir}/bin/activate && \\1 && deactivate" command ${command})
++ #endif()
+ string(REPLACE " " ";" command "${command}")
+ add_custom_command(
+ OUTPUT "${NC_OUTPUT}"
+@@ -41,9 +41,9 @@ else()
+
+ add_custom_command(
+ OUTPUT "${mgr-dashboard-nodeenv-dir}/bin/npm"
+- COMMAND ${CMAKE_SOURCE_DIR}/src/tools/setup-virtualenv.sh --python=${MGR_PYTHON_EXECUTABLE} ${mgr-dashboard-nodeenv-dir}
+- COMMAND ${mgr-dashboard-nodeenv-dir}/bin/pip install nodeenv
+- COMMAND ${mgr-dashboard-nodeenv-dir}/bin/nodeenv -p --node=10.13.0
++ #COMMAND ${CMAKE_SOURCE_DIR}/src/tools/setup-virtualenv.sh --python=${MGR_PYTHON_EXECUTABLE} ${mgr-dashboard-nodeenv-dir}
++ #COMMAND ${mgr-dashboard-nodeenv-dir}/bin/pip install nodeenv
++ #COMMAND ${mgr-dashboard-nodeenv-dir}/bin/nodeenv -p --node=10.13.0
+ WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
+ COMMENT "dashboard nodeenv is being installed"
+ )
diff --git a/sys-cluster/ceph/metadata.xml b/sys-cluster/ceph/metadata.xml
index a483dc67c04..f1a3c5f5209 100644
--- a/sys-cluster/ceph/metadata.xml
+++ b/sys-cluster/ceph/metadata.xml
@@ -22,11 +22,13 @@
<flag name="cephfs">Build support for cephfs, a POSIX compatible filesystem built on top of ceph</flag>
<flag name="dpdk">Enable DPDK messaging</flag>
<flag name="fuse">Build fuse client</flag>
+ <flag name="grafana">Install grafana dashboards</flag>
<flag name="libatomic">Use libatomic instead of builtin atomic operations</flag>
<flag name="libaio">Use libaio as asynchronous input/output library</flag>
<flag name="lttng">Add support for LTTng</flag>
<flag name="mgr">Build the ceph-mgr daemon</flag>
<flag name="nss">Use <pkg>dev-libs/nss</pkg> for cryptography</flag>
+ <flag name="rabbitmq">Use rabbitmq-c to build rgw amqp push endpoint</flag>
<flag name="radosgw">Add radosgw support</flag>
<flag name="system-boost">Use system <pkg>dev-libs/boost</pkg> instead of the bundled one</flag>
<flag name="xfs">Add xfs support</flag>
^ permalink raw reply related [flat|nested] 68+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-cluster/ceph/, sys-cluster/ceph/files/
@ 2019-01-08 0:13 Patrick McLean
0 siblings, 0 replies; 68+ messages in thread
From: Patrick McLean @ 2019-01-08 0:13 UTC (permalink / raw
To: gentoo-commits
commit: 030c87d27bca481566a44e7f8a891da41a46fcc6
Author: Patrick McLean <patrick.mclean <AT> sony <DOT> com>
AuthorDate: Tue Jan 8 00:12:48 2019 +0000
Commit: Patrick McLean <chutzpah <AT> gentoo <DOT> org>
CommitDate: Tue Jan 8 00:13:17 2019 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=030c87d2
sys-cluster/ceph: Version bump to 13.2.4
Also update init script to resolve bug #673554
Bug: https://bugs.gentoo.org/673554
Copyright: Sony Interactive Entertainment Inc.
Package-Manager: Portage-2.3.54, Repoman-2.3.12
Signed-off-by: Patrick McLean <chutzpah <AT> gentoo.org>
sys-cluster/ceph/Manifest | 1 +
sys-cluster/ceph/ceph-13.2.4.ebuild | 335 ++++++++++++++++++++++++++++++++++
sys-cluster/ceph/files/ceph.initd-r11 | 115 ++++++++++++
3 files changed, 451 insertions(+)
diff --git a/sys-cluster/ceph/Manifest b/sys-cluster/ceph/Manifest
index 23aa8981d97..2e581c4d696 100644
--- a/sys-cluster/ceph/Manifest
+++ b/sys-cluster/ceph/Manifest
@@ -8,3 +8,4 @@ DIST ceph-13.2.1-frontend-node-modules.tar.xz 44352460 BLAKE2B 0a0099e60f0b36d48
DIST ceph-13.2.1.tar.gz 90786830 BLAKE2B e0884a039ff0e8a1705d8f31f4dcf4cd8ab8989d7c2fa703417038ff9a6cf7b0fbca09abceb901970fbb2dd9a1dc87c2500fec38a2bfca86a9a6dcaab15be991 SHA512 411218ea6037bdf9425a741720ea89876e893e64fbfa518c9584ba581f805fde2c82b13ed47313279665e5d20f36223fc8d5c27055b580c72b22c2004e4da81b
DIST ceph-13.2.2-frontend-node-modules.tar.xz 45100632 BLAKE2B c3929a6c5e6ec3da5ff60967ae40b99377b2186f31e64af571d9be14889d90bc48b570489aea300ead8e99afc0e62db4438cf343686757a39d84889e772c7fa9 SHA512 93eabc2010c0977c2980c739e131d231a809e375c42120e81effc6cecdeaf0e50b4f8c88286993ef60f1ffaede94f637475104e09fd7af58a289350bd670bf2f
DIST ceph-13.2.2.tar.gz 90840817 BLAKE2B db5933f358a1ae6888030bca7522e20545a2e107055dca44b371e295537c854568682fa558d3f90193e0dfe618947918ce21816b5e20795fff8a14bc837216bb SHA512 37c4845ae52550428c7f1e0d77d9d671ea1d6f5cad5bce0713dce97b54f3abe7346daa2cbd44b76638fb74fe7bdc4797033a4bf808253cfc8bec0fa495ec7e03
+DIST ceph-13.2.4.tar.gz 90910119 BLAKE2B eb395f435552d91789869bd92fee2a8b2fef155205f13b118bd01be4ff78a8e1dde682425a24311822bb819ec8cf41a9d45245ffa3cb7a921d3269f6658bf920 SHA512 5055979067234ad7fd2774007d524ef4643d968bf7ce42fc8c3f8e469fd84cbd7afc163cd6ddda53584bd5677fdea2fecf8194a378d49724504f639b9f688ff7
diff --git a/sys-cluster/ceph/ceph-13.2.4.ebuild b/sys-cluster/ceph/ceph-13.2.4.ebuild
new file mode 100644
index 00000000000..58a11edc773
--- /dev/null
+++ b/sys-cluster/ceph/ceph-13.2.4.ebuild
@@ -0,0 +1,335 @@
+# Copyright 1999-2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+PYTHON_COMPAT=( python{2_7,3_{4,5,6}} )
+DISTUTILS_OPTIONAL=1
+
+inherit check-reqs bash-completion-r1 cmake-utils distutils-r1 flag-o-matic \
+ multiprocessing python-r1 udev user readme.gentoo-r1 toolchain-funcs \
+ systemd
+
+if [[ ${PV} == *9999* ]]; then
+ inherit git-r3
+ EGIT_REPO_URI="https://github.com/ceph/ceph.git"
+ SRC_URI=""
+else
+ SRC_URI="https://download.ceph.com/tarballs/${P}.tar.gz"
+ KEYWORDS="~amd64 ~x86"
+fi
+
+DESCRIPTION="Ceph distributed filesystem"
+HOMEPAGE="https://ceph.com/"
+
+LICENSE="LGPL-2.1 CC-BY-SA-3.0 GPL-2 BSD Boost-1.0 MIT"
+SLOT="0"
+
+CPU_FLAGS_X86=(sse{,2,3,4_1,4_2} ssse3)
+
+IUSE="babeltrace cephfs dpdk fuse jemalloc ldap lttng +mgr"
+IUSE+=" +radosgw +ssl static-libs +system-boost systemd +tcmalloc test"
+IUSE+=" xfs zfs"
+IUSE+=" $(printf "cpu_flags_x86_%s\n" ${CPU_FLAGS_X86[@]})"
+
+# unbundling code commented out pending bugs 584056 and 584058
+#>=dev-libs/jerasure-2.0.0-r1
+#>=dev-libs/gf-complete-2.0.0
+COMMON_DEPEND="
+ virtual/libudev:=
+ app-arch/bzip2:=[static-libs?]
+ app-arch/lz4:=[static-libs?]
+ app-arch/snappy:=[static-libs?]
+ app-arch/zstd:=[static-libs?]
+ app-misc/jq:=[static-libs?]
+ dev-libs/crypto++:=[static-libs?]
+ dev-libs/leveldb:=[snappy,static-libs?,tcmalloc?]
+ dev-libs/libaio:=[static-libs?]
+ dev-libs/libxml2:=[static-libs?]
+ dev-libs/nss:=
+ sys-auth/oath-toolkit:=
+ sys-apps/keyutils:=[static-libs?]
+ sys-apps/util-linux:=[static-libs?]
+ sys-libs/zlib:=[static-libs?]
+ babeltrace? ( dev-util/babeltrace )
+ ldap? ( net-nds/openldap:=[static-libs?] )
+ lttng? ( dev-util/lttng-ust:= )
+ fuse? ( sys-fs/fuse:0=[static-libs?] )
+ ssl? ( dev-libs/openssl:=[static-libs?] )
+ xfs? ( sys-fs/xfsprogs:=[static-libs?] )
+ zfs? ( sys-fs/zfs:=[static-libs?] )
+ mgr? (
+ <net-libs/nodejs-9.0
+ >net-libs/nodejs-8.10
+ )
+ radosgw? (
+ dev-libs/expat:=[static-libs?]
+ dev-libs/openssl:=[static-libs?]
+ net-misc/curl:=[curl_ssl_openssl,static-libs?]
+ )
+ system-boost? (
+ >=dev-libs/boost-1.67:=[threads,context,python,static-libs?,${PYTHON_USEDEP}]
+ )
+ jemalloc? ( dev-libs/jemalloc:=[static-libs?] )
+ !jemalloc? ( >=dev-util/google-perftools-2.4:=[static-libs?] )
+ ${PYTHON_DEPS}
+ "
+DEPEND="${COMMON_DEPEND}
+ amd64? ( dev-lang/yasm )
+ x86? ( dev-lang/yasm )
+ app-arch/cpio
+ dev-python/cython[${PYTHON_USEDEP}]
+ dev-python/sphinx
+ dev-util/cunit
+ dev-util/gperf
+ dev-util/valgrind
+ sys-apps/which
+ sys-devel/bc
+ virtual/pkgconfig
+ test? (
+ dev-python/coverage[${PYTHON_USEDEP}]
+ dev-python/tox[${PYTHON_USEDEP}]
+ dev-python/virtualenv[${PYTHON_USEDEP}]
+ sys-apps/grep[pcre]
+ sys-fs/btrfs-progs
+ )"
+RDEPEND="${COMMON_DEPEND}
+ net-misc/socat
+ sys-apps/gptfdisk
+ sys-block/parted
+ sys-fs/cryptsetup
+ sys-fs/lvm2
+ !<sys-apps/openrc-0.26.3
+ dev-python/bcrypt[${PYTHON_USEDEP}]
+ dev-python/cherrypy[${PYTHON_USEDEP}]
+ dev-python/flask[${PYTHON_USEDEP}]
+ dev-python/jinja[${PYTHON_USEDEP}]
+ dev-python/pecan[${PYTHON_USEDEP}]
+ dev-python/prettytable[${PYTHON_USEDEP}]
+ dev-python/pyopenssl[${PYTHON_USEDEP}]
+ dev-python/requests[${PYTHON_USEDEP}]
+ dev-python/werkzeug[${PYTHON_USEDEP}]
+ "
+REQUIRED_USE="
+ ${PYTHON_REQUIRED_USE}
+ || ( $(python_gen_useflags 'python3*') )
+ ?? ( jemalloc tcmalloc )
+ "
+
+# the tests need root access
+RESTRICT="test? ( userpriv )"
+
+# distribution tarball does not include everything needed for tests
+RESTRICT+=" test"
+
+# false positives unless all USE flags are on
+CMAKE_WARN_UNUSED_CLI="no"
+
+STRIP_MASK="/usr/lib*/rados-classes/*"
+
+UNBUNDLE_LIBS=(
+ src/erasure-code/jerasure/jerasure
+ src/erasure-code/jerasure/gf-complete
+)
+
+PATCHES=(
+ "${FILESDIR}/ceph-12.2.0-use-provided-cpu-flag-values.patch"
+ "${FILESDIR}/ceph-12.2.0-cflags.patch"
+ "${FILESDIR}/ceph-12.2.4-boost-build-none-options.patch"
+ "${FILESDIR}/ceph-13.2.0-cflags.patch"
+ "${FILESDIR}/ceph-12.2.4-rocksdb-cflags.patch"
+ "${FILESDIR}/ceph-13.2.0-mgr-python-version.patch"
+ "${FILESDIR}/ceph-13.2.0-no-virtualenvs.patch"
+ "${FILESDIR}/ceph-13.2.2-dont-install-sysvinit-script.patch"
+)
+
+check-reqs_export_vars() {
+ if use amd64; then
+ CHECKREQS_DISK_BUILD="12G"
+ CHECKREQS_DISK_USR="460M"
+ else
+ CHECKREQS_DISK_BUILD="1400M"
+ CHECKREQS_DISK_USR="450M"
+ fi
+
+ export CHECKREQS_DISK_BUILD CHECKREQS_DISK_USR
+}
+
+user_setup() {
+ enewgroup ceph ${CEPH_GID}
+ enewuser ceph "${CEPH_UID:--1}" -1 /var/lib/ceph ceph
+}
+
+pkg_pretend() {
+ if use cephfs; then
+ eerror "Cephfs support is broken in 13.2.2, please mask ${PF} if"
+ eerror "you need cephfs support: "
+ eerror " # echo '=${CATEGORY}/${PF}' >> /etc/portage/package.mask"
+ eerror
+ eerror "See https://bugs.gentoo.org/670592 for more information"
+ die "CephFS support is currently broken"
+ fi
+
+ check-reqs_export_vars
+ check-reqs_pkg_pretend
+}
+
+pkg_setup() {
+ python_setup 'python3*'
+ check-reqs_export_vars
+ check-reqs_pkg_setup
+ user_setup
+}
+
+src_prepare() {
+ cmake-utils_src_prepare
+
+ if use system-boost; then
+ eapply "${FILESDIR}/ceph-13.2.0-boost-sonames.patch"
+ fi
+
+ sed -i -r "s:DESTINATION .+\\):DESTINATION $(get_bashcompdir)\\):" \
+ src/bash_completion/CMakeLists.txt || die
+
+ # remove tests that need root access
+ rm src/test/cli/ceph-authtool/cap*.t || die
+
+ #rm -rf "${UNBUNDLE_LIBS[@]}"
+}
+
+ceph_src_configure() {
+ local flag
+ local mycmakeargs=(
+ -DWITH_BABELTRACE=$(usex babeltrace)
+ -DWITH_CEPHFS=$(usex cephfs)
+ -DWITH_DPDK=$(usex dpdk)
+ -DWITH_FUSE=$(usex fuse)
+ -DWITH_LTTNG=$(usex lttng)
+ -DWITH_MGR=$(usex mgr)
+ -DWITH_MGR_DASHBOARD_FRONTEND=NO
+ -DWITH_OPENLDAP=$(usex ldap)
+ -DWITH_RADOSGW=$(usex radosgw)
+ -DWITH_SSL=$(usex ssl)
+ -DWITH_SYSTEMD=$(usex systemd)
+ -DWITH_TESTS=$(usex test)
+ -DWITH_XFS=$(usex xfs)
+ -DWITH_ZFS=$(usex zfs)
+ -DENABLE_SHARED=$(usex static-libs '' 'yes' 'no')
+ -DALLOCATOR=$(usex tcmalloc 'tcmalloc' "$(usex jemalloc 'jemalloc' 'libc')")
+ -DWITH_SYSTEM_BOOST=$(usex system-boost)
+ -DBOOST_J=$(makeopts_jobs)
+ -DWITH_RDMA=no
+ -DSYSTEMD_UNITDIR=$(systemd_get_systemunitdir)
+ -DEPYTHON_VERSION="${EPYTHON#python}"
+ -DCMAKE_INSTALL_DOCDIR="${EPREFIX}/usr/share/doc/${P}"
+ -DCMAKE_INSTALL_SYSCONFDIR="${EPREFIX}/etc"
+ -Wno-dev
+ )
+ if use amd64 || use x86; then
+ for flag in ${CPU_FLAGS_X86[@]}; do
+ mycmakeargs+=("$(usex cpu_flags_x86_${flag} "-DHAVE_INTEL_${flag^^}=1")")
+ done
+ fi
+
+ rm -f "${BUILD_DIR:-${S}}/CMakeCache.txt"
+ cmake-utils_src_configure
+
+ # bug #630232
+ sed -i "s:\"${T//:\\:}/${EPYTHON}/bin/python\":\"${PYTHON}\":" \
+ "${BUILD_DIR:-${CMAKE_BUILD_DIR:-${S}}}"/include/acconfig.h \
+ || die "sed failed"
+}
+
+src_configure() {
+ ceph_src_configure
+}
+
+python_compile() {
+ local CMAKE_USE_DIR="${S}"
+ ceph_src_configure
+
+ rm -r "${BUILD_DIR}/lib/cython_modules" || die
+
+ pushd "${BUILD_DIR}/src/pybind" >/dev/null || die
+ emake VERBOSE=1 clean
+ emake VERBOSE=1 all
+
+ # python modules are only compiled with "make install" so we need to do this to
+ # prevent doing a bunch of compilation in src_install
+ DESTDIR="${T}" emake VERBOSE=1 install
+ popd >/dev/null || die
+}
+
+src_compile() {
+ cmake-utils_src_make VERBOSE=1 all
+
+ # we have to do this here to prevent from building everything multiple times
+ BUILD_DIR="${CMAKE_BUILD_DIR}" python_copy_sources
+ python_foreach_impl python_compile
+}
+
+src_test() {
+ make check || die "make check failed"
+}
+
+python_install() {
+ local CMAKE_USE_DIR="${S}"
+ pushd "${BUILD_DIR}/src/pybind" >/dev/null || die
+ DESTDIR="${ED}" emake install
+ popd >/dev/null || die
+}
+
+src_install() {
+ cmake-utils_src_install
+ python_foreach_impl python_install
+
+ prune_libtool_files --all
+
+ exeinto /usr/$(get_libdir)/ceph
+ newexe "${CMAKE_BUILD_DIR}/bin/init-ceph" ceph_init.sh
+
+ insinto /etc/logrotate.d/
+ newins "${FILESDIR}"/ceph.logrotate-r2 ${PN}
+
+ keepdir /var/lib/${PN}{,/tmp} /var/log/${PN}/stat
+
+ fowners -R ceph:ceph /var/lib/ceph /var/log/ceph
+
+ newinitd "${FILESDIR}/rbdmap.initd" rbdmap
+ newinitd "${FILESDIR}/${PN}.initd-r11" ${PN}
+ newconfd "${FILESDIR}/${PN}.confd-r5" ${PN}
+
+ insinto /etc/sysctl.d
+ newins "${FILESDIR}"/sysctld 90-${PN}.conf
+
+ use tcmalloc && newenvd "${FILESDIR}"/envd-tcmalloc 99${PN}-tcmalloc
+
+ # units aren't installed by the build system unless systemd is enabled
+ # so no point installing these with the USE flag disabled
+ if use systemd; then
+ systemd_install_serviced "${FILESDIR}/ceph-mds_at.service.conf" \
+ "ceph-mds@.service"
+
+ systemd_install_serviced "${FILESDIR}/ceph-osd_at.service.conf" \
+ "ceph-osd@.service"
+ fi
+
+ udev_dorules udev/*.rules
+
+ readme.gentoo_create_doc
+
+ python_setup 'python3*'
+
+ # bug #630232
+ sed -i -r "s:${T//:/\\:}/${EPYTHON}:/usr:" "${ED}"/usr/bin/ceph \
+ || die "sed failed"
+
+ python_fix_shebang "${ED}"/usr/{,s}bin/
+
+ # python_fix_shebang apparently is not idempotent
+ sed -i -r 's:(/usr/lib/python-exec/python[0-9]\.[0-9]/python)[0-9]\.[0-9]:\1:' \
+ "${ED}"/usr/{sbin/ceph-disk,bin/ceph-detect-init} || die "sed failed"
+}
+
+pkg_postinst() {
+ readme.gentoo_print_elog
+}
diff --git a/sys-cluster/ceph/files/ceph.initd-r11 b/sys-cluster/ceph/files/ceph.initd-r11
new file mode 100644
index 00000000000..23827e1a562
--- /dev/null
+++ b/sys-cluster/ceph/files/ceph.initd-r11
@@ -0,0 +1,115 @@
+#!/sbin/openrc-run
+
+# make sure /etc/conf.d/ceph gets loaded for ceph-mon etc
+_CONFD_FILE="${RC_SERVICE%/*}/../conf.d/${RC_SVCNAME%-*}"
+if [ -r "${_CONFD_FILE}" ]; then
+ . "${_CONFD_FILE}" || exit 1
+fi
+
+: "${ceph_conf:=/etc/ceph/ceph.conf}"
+daemon_type="${RC_SVCNAME#ceph-}"
+daemon_type="${daemon_type%%.*}"
+daemon_id="${RC_SVCNAME#ceph-*.}"
+daemon_id="${daemon_id:-0}"
+: "${rundir:=/run/ceph}"
+: "${user:=ceph}"
+: "${group:=ceph}"
+: "${rc_ulimit:=-n 1048576 -u 1048576}"
+
+pidfile="${rundir}/supervisor-${daemon_type}.${daemon_id}.pid"
+daemon_pidfile="${rundir}/${daemon_type}.${daemon_id}.pid"
+
+command="/usr/bin/${RC_SVCNAME%%.*}"
+command_args="-i ${daemon_id} --pid-file ${daemon_pidfile} -c ${ceph_conf}"
+extra_commands="reload"
+command_args_foreground="--foreground"
+
+retry="${CEPH_TERMTIMEOUT:-TERM/120/KILL/5}"
+start_stop_daemon_args="--user ${user} --group ${group}"
+supervise_daemon_args="--user ${user} --group ${group}"
+
+: "${supervisor:=supervise-daemon}"
+: "${stdout:=/var/log/ceph/ceph}"
+: "${stderr:=/var/log/ceph/ceph}"
+: "${respawn_delay:=10}"
+: "${respawn_max:=5}"
+: "${respawn_period:=1800}"
+
+: "${osd_respawn_delay:=15}"
+: "{osd_respawn_max:=10}"
+
+: "{radosgw_respawn_max:=5}"
+: "${radosgw_respawn_period:=30}"
+
+depend() {
+ use dns logger
+ after net ntpd ntp-client chronyd
+ before netmount
+}
+
+is_type_valid() {
+ case ${daemon_type} in
+ mon|mds|osd|mgr|radosgw) return 0;;
+ *) return 1;;
+ esac
+}
+
+start_pre() {
+ local log_dir
+ export CEPH_CONF="${ceph_conf}"
+
+ checkpath -d -q -o "${user}:${group}" "${rundir}"
+
+ if ! is_type_valid ;then
+ eerror "Please give valid Ceph Server Type: mds, mon, osd"
+ return 1
+
+ elif pgrep -f "[c]eph-${daemon_type} -i ${daemon_id} "; then
+ eerror "${daemon_type}.${daemon_id} is still running, refusing to start"
+ return 1
+ fi
+
+ if [ -n "${bluestore_osd_fsid}" ]; then
+ einfo "Mounting Bluestore"
+ ceph-volume lvm activate "${daemon_id}" "${bluestore_osd_fsid}" --no-systemd
+ fi
+
+ if [ "${daemon_type}" = radosgw ] && [ "${RADOSGW_WANT_NAME_PARAM}" = y ]; then
+ command_args="${command_args} --name client.${daemon_id}"
+ fi
+
+ local arg_name arg_val repl_arg_name
+ for arg_name in stdout stderr respawn_delay respawn_max respawn_period; do
+ eval arg_val="\${${daemon_type}_${arg_name}}"
+
+ if [ -z "${arg_val}" ]; then
+ eval arg_val="\${${arg_name}}"
+ else
+ eval "${arg_name}=\"${arg_val}\""
+ fi
+
+ if [ "${arg_name}" = "stderr" ] || [ "${arg_name}" = "stdout" ]; then
+ local log_file log_postfix
+ log_postfix=".${daemon_id}-${arg_name}.log"
+ log_file="${arg_val}"
+
+ if [ "${log_file}" != /dev/null ]; then
+ log_file="${log_file}${log_postfix}"
+
+ log_dir="$(dirname "${log_file}")"
+ checkpath -m 0755 -o "${user}:${group}" -d "${log_dir}"
+ fi
+
+ repl_arg_name="$(printf -- "%s\n" "${arg_name}" | tr _ -)"
+ supervise_daemon_args="${supervise_daemon_args} --${repl_arg_name}=${log_file}"
+ fi
+ done
+}
+
+reload() {
+ ebegin "Reloading Ceph ${daemon_type}.${daemon_id}"
+ start-stop-daemon --signal 1 "${start_stop_daemon_args}"
+ eend ${?}
+}
+
+# vim:ft=gentoo-init-d:ts=4:sts=4:sw=4:noet:
^ permalink raw reply related [flat|nested] 68+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-cluster/ceph/, sys-cluster/ceph/files/
@ 2018-11-29 23:57 Patrick McLean
0 siblings, 0 replies; 68+ messages in thread
From: Patrick McLean @ 2018-11-29 23:57 UTC (permalink / raw
To: gentoo-commits
commit: bbbd36a51a7a23e7d7d40e881e4d703a3a4ac25f
Author: Patrick McLean <chutzpah <AT> gentoo <DOT> org>
AuthorDate: Thu Nov 29 23:56:27 2018 +0000
Commit: Patrick McLean <chutzpah <AT> gentoo <DOT> org>
CommitDate: Thu Nov 29 23:56:27 2018 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=bbbd36a5
sys-cluster/ceph: Version bump to 12.2.10
Also update init script for radosgw args (bug #670066) and bluefs
mounting (bug #661912)
Bug: https://bugs.gentoo.org/670066
Bug: https://bugs.gentoo.org/661912
Package-Manager: Portage-2.3.52, Repoman-2.3.12
Signed-off-by: Patrick McLean <chutzpah <AT> gentoo.org>
sys-cluster/ceph/Manifest | 1 +
sys-cluster/ceph/ceph-12.2.10.ebuild | 308 ++++++++++++++++++++++++++++++++++
sys-cluster/ceph/files/ceph.confd-r5 | 15 ++
sys-cluster/ceph/files/ceph.initd-r10 | 108 ++++++++++++
4 files changed, 432 insertions(+)
diff --git a/sys-cluster/ceph/Manifest b/sys-cluster/ceph/Manifest
index f92a3fd2365..23aa8981d97 100644
--- a/sys-cluster/ceph/Manifest
+++ b/sys-cluster/ceph/Manifest
@@ -1,5 +1,6 @@
DIST ceph-10.2.10.tar.gz 14573701 BLAKE2B 78c68deb8537cae8394b4d35569983431e938eff42b01f448dea68016b33ca5770c83d1e1d382bfd6c8164d5259e821779c6515f8c8fb4d5d52ee90b7df43180 SHA512 883d1b8340aaefc7a1eee4bbfb5b1d1cc15bffed8f35fb1e8fb86b1208a4d0d16753eb6c688ea0e661c4877d3d148b2b6c2b41620c4e8a61e47c69f46f98e537
DIST ceph-10.2.3.tar.gz 11596171 BLAKE2B c24c879649f0d42f58cfb1d03701797bc685d83c157031156d13308c731412a4a0149b658193722b358ebf0c4f9760d9664668cd797b69d207e81dc572f49700 SHA512 9de1e6851fc343d2c52c72cec3f7887d998d5b588f1251ee3a1fda14427badfa10408e6691fb03a374a10f4ec9844868423fee70fbbe2c0d962af98481412f19
+DIST ceph-12.2.10.tar.gz 78884870 BLAKE2B 321d8256fc6659be3da2ce348e022e79ded63783925c02d3140ffa7fed5528a2b03388f0dfcdf536c81eec7b2484c6db9def8aefb1d5d335c86bad525977977b SHA512 2195a04bf937dba6af61389132240661126ef32e9fd86ca75af27a33c712053b15aa89b52c91ced04f06dc880d7c018afa3f26fff78bf313603f4fb73331b80c
DIST ceph-12.2.7.tar.gz 78783279 BLAKE2B 9058a5e408b3431cf0e8c28b44f95f6eb12f029697348eb6879efa9db4ad6a3b52b1040f484919a3f1781ac3a4aa72af3b8905760480fd3f3724dbceeab4eb07 SHA512 dde75a41c31cca54d4a680b0b93e28680a23f912a348cccca65e55e600c315bbfe3ced008d758fe8ba1e801a9d6e5f8079cc157ec5eef8916b86f487f42064ea
DIST ceph-12.2.8.tar.gz 77243685 BLAKE2B 37c34396a0c276b8d79735e14934ac70da024822c2a060061531c234e03e5d41aad6c41dc64b05c2ce47f03287d0cae9ef9bed67e4a0861b6380c8ce1de4ea69 SHA512 91c5c11aaeef701b3e31c9f8a1192b6b79fd34f3b96c61595c65173c98bfce0009c5b7c9b29764f5e4d4b1f5ac2ca7109fed5ae598c176aba717a34a132fabac
DIST ceph-12.2.9.tar.gz 77300470 BLAKE2B 3d3fe24986b890e7dcfc790441a80ad56b9c26f500811d524d0889773d425c88f278135d85cd84036973deb5aa58c4cd1cc9cead60db3f0f825349d73140be73 SHA512 93da6f9012fdb65e74dc1917f54839cb19a25672d53e7ee253553e93abb1a2afb51cd18b27bc82559108e2085e463a3b46003b03627e06a6e2e2312b54d86e92
diff --git a/sys-cluster/ceph/ceph-12.2.10.ebuild b/sys-cluster/ceph/ceph-12.2.10.ebuild
new file mode 100644
index 00000000000..58e624596ed
--- /dev/null
+++ b/sys-cluster/ceph/ceph-12.2.10.ebuild
@@ -0,0 +1,308 @@
+# Copyright 1999-2018 Gentoo Authors
+# Copyright 2017-2018 Sony Interactive Entertainment Inc.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+PYTHON_COMPAT=( python{2_7,3_{4,5,6}} )
+DISTUTILS_OPTIONAL=1
+
+inherit check-reqs cmake-utils distutils-r1 flag-o-matic multiprocessing \
+ python-r1 udev user readme.gentoo-r1 systemd
+
+if [[ ${PV} == *9999* ]]; then
+ inherit git-r3
+ EGIT_REPO_URI="https://github.com/ceph/ceph.git"
+ SRC_URI=""
+else
+ SRC_URI="https://download.ceph.com/tarballs/${P}.tar.gz"
+ KEYWORDS="~amd64 ~x86"
+fi
+
+DESCRIPTION="Ceph distributed filesystem"
+HOMEPAGE="https://ceph.com/"
+
+LICENSE="LGPL-2.1 CC-BY-SA-3.0 GPL-2 BSD Boost-1.0 MIT"
+SLOT="0"
+
+CPU_FLAGS_X86=(sse{,2,3,4_1,4_2} ssse3)
+
+IUSE="babeltrace cephfs fuse jemalloc ldap lttng +mgr nss +radosgw +ssl"
+IUSE+=" static-libs +system-boost systemd +tcmalloc test xfs zfs"
+IUSE+=" $(printf "cpu_flags_x86_%s\n" ${CPU_FLAGS_X86[@]})"
+
+# unbundling code commented out pending bugs 584056 and 584058
+#>=dev-libs/jerasure-2.0.0-r1
+#>=dev-libs/gf-complete-2.0.0
+COMMON_DEPEND="
+ virtual/libudev:=
+ app-arch/bzip2:=[static-libs?]
+ app-arch/lz4:=[static-libs?]
+ app-arch/snappy:=[static-libs?]
+ app-arch/zstd:=[static-libs?]
+ app-misc/jq:=[static-libs?]
+ <dev-libs/crypto++-7.0:=[static-libs?]
+ dev-libs/leveldb:=[snappy,static-libs?,tcmalloc?]
+ dev-libs/libaio:=[static-libs?]
+ dev-libs/libxml2:=[static-libs?]
+ sys-apps/keyutils:=[static-libs?]
+ sys-apps/util-linux:=[static-libs?]
+ sys-libs/zlib:=[static-libs?]
+ babeltrace? ( dev-util/babeltrace )
+ ldap? ( net-nds/openldap:=[static-libs?] )
+ lttng? ( dev-util/lttng-ust:= )
+ nss? ( dev-libs/nss:= )
+ fuse? ( sys-fs/fuse:0=[static-libs?] )
+ ssl? ( <dev-libs/openssl-1.1:=[static-libs?] )
+ xfs? ( sys-fs/xfsprogs:=[static-libs?] )
+ zfs? ( sys-fs/zfs:=[static-libs?] )
+ radosgw? (
+ dev-libs/expat:=[static-libs?]
+ <dev-libs/openssl-1.1:=[static-libs?]
+ net-misc/curl:=[curl_ssl_openssl,static-libs?]
+ )
+ system-boost? (
+ =dev-libs/boost-1.66*:=[threads,context,python,static-libs?,${PYTHON_USEDEP}]
+ )
+ jemalloc? ( dev-libs/jemalloc:=[static-libs?] )
+ !jemalloc? ( >=dev-util/google-perftools-2.4:=[static-libs?] )
+ ${PYTHON_DEPS}
+ "
+DEPEND="${COMMON_DEPEND}
+ app-arch/cpio
+ amd64? ( dev-lang/yasm )
+ x86? ( dev-lang/yasm )
+ dev-python/cython[${PYTHON_USEDEP}]
+ dev-python/sphinx
+ dev-util/gperf
+ dev-util/valgrind
+ sys-apps/which
+ sys-devel/bc
+ virtual/pkgconfig
+ test? (
+ dev-python/tox[${PYTHON_USEDEP}]
+ dev-python/virtualenv[${PYTHON_USEDEP}]
+ sys-apps/grep[pcre]
+ sys-fs/btrfs-progs
+ )"
+RDEPEND="${COMMON_DEPEND}
+ net-misc/socat
+ sys-apps/gptfdisk
+ sys-block/parted
+ sys-fs/e2fsprogs
+ sys-fs/cryptsetup
+ sys-fs/lvm2
+ !<sys-apps/openrc-0.26.3
+ dev-python/cherrypy[${PYTHON_USEDEP}]
+ dev-python/flask[${PYTHON_USEDEP}]
+ dev-python/jinja[${PYTHON_USEDEP}]
+ dev-python/pecan[${PYTHON_USEDEP}]
+ dev-python/prettytable[${PYTHON_USEDEP}]
+ dev-python/pyopenssl[${PYTHON_USEDEP}]
+ dev-python/requests[${PYTHON_USEDEP}]
+ dev-python/werkzeug[${PYTHON_USEDEP}]
+ "
+REQUIRED_USE="
+ $(python_gen_useflags 'python2*')
+ ${PYTHON_REQUIRED_USE}
+ ?? ( ssl nss )
+ ?? ( jemalloc tcmalloc )
+ "
+
+RESTRICT="test? ( userpriv )"
+
+# distribution tarball does not include everything needed for tests
+RESTRICT+=" test"
+
+# false positives unless all USE flags are on
+CMAKE_WARN_UNUSED_CLI="no"
+
+STRIP_MASK="/usr/lib*/rados-classes/*"
+
+UNBUNDLE_LIBS=(
+ src/erasure-code/jerasure/jerasure
+ src/erasure-code/jerasure/gf-complete
+)
+
+PATCHES=(
+ "${FILESDIR}/ceph-12.2.0-use-provided-cpu-flag-values.patch"
+ "${FILESDIR}/ceph-12.2.0-cflags.patch"
+ "${FILESDIR}/ceph-12.2.1-systemd-unitdir.patch"
+ "${FILESDIR}/ceph-12.2.4-boost-build-none-options.patch"
+ "${FILESDIR}/ceph-12.2.4-cflags.patch"
+ "${FILESDIR}/ceph-12.2.4-rocksdb-cflags.patch"
+ "${FILESDIR}/ceph-12.2.5-no-werror.patch"
+ "${FILESDIR}/ceph-13.2.2-dont-install-sysvinit-script.patch"
+)
+
+check-reqs_export_vars() {
+ if use amd64; then
+ CHECKREQS_DISK_BUILD="12G"
+ CHECKREQS_DISK_USR="460M"
+ else
+ CHECKREQS_DISK_BUILD="1400M"
+ CHECKREQS_DISK_USR="450M"
+ fi
+
+ export CHECKREQS_DISK_BUILD CHECKREQS_DISK_USR
+}
+
+user_setup() {
+ enewgroup ceph ${CEPH_GID}
+ enewuser ceph "${CEPH_UID:--1}" -1 /var/lib/ceph ceph
+}
+
+pkg_pretend() {
+ check-reqs_export_vars
+ check-reqs_pkg_pretend
+}
+
+pkg_setup() {
+ python_setup 'python2*'
+ check-reqs_export_vars
+ check-reqs_pkg_setup
+ user_setup
+}
+
+src_prepare() {
+ cmake-utils_src_prepare
+
+ if use system-boost; then
+ eapply "${FILESDIR}/ceph-12.2.5-boost-sonames.patch"
+ fi
+
+ # remove tests that need root access
+ rm src/test/cli/ceph-authtool/cap*.t
+
+ #rm -rf "${UNBUNDLE_LIBS[@]}"
+}
+
+ceph_src_configure() {
+ local flag
+ local mycmakeargs=(
+ -DWITH_BABELTRACE=$(usex babeltrace)
+ -DWITH_CEPHFS=$(usex cephfs)
+ -DWITH_FUSE=$(usex fuse)
+ -DWITH_LTTNG=$(usex lttng)
+ -DWITH_MGR=$(usex mgr)
+ -DWITH_NSS=$(usex nss)
+ -DWITH_OPENLDAP=$(usex ldap)
+ -DWITH_RADOSGW=$(usex radosgw)
+ -DWITH_SSL=$(usex ssl)
+ -DWITH_SYSTEMD=$(usex systemd)
+ -DWITH_TESTS=$(usex test)
+ -DWITH_XFS=$(usex xfs)
+ -DWITH_ZFS=$(usex zfs)
+ -DENABLE_SHARED=$(usex static-libs '' 'yes' 'no')
+ -DALLOCATOR=$(usex tcmalloc 'tcmalloc' '' "$(usex jemalloc 'jemalloc' '' 'libc' '')" '')
+ -DWITH_SYSTEM_BOOST=$(usex system-boost)
+ -DBOOST_J=$(makeopts_jobs)
+ -DWITH_RDMA=no
+ -DSYSTEMD_UNITDIR=$(systemd_get_systemunitdir)
+ -DEPYTHON_VERSION="${EPYTHON#python}"
+ )
+ if use amd64 || use x86; then
+ for flag in ${CPU_FLAGS_X86[@]}; do
+ mycmakeargs+=("$(usex cpu_flags_x86_${flag} "-DHAVE_INTEL_${flag^^}=1")")
+ done
+ fi
+
+ rm -f "${BUILD_DIR:-${S}}/CMakeCache.txt"
+ cmake-utils_src_configure
+
+ # bug #630232
+ sed -i "s:\"${T//:\\:}/${EPYTHON}/bin/python\":\"${PYTHON}\":" \
+ "${BUILD_DIR:-${CMAKE_BUILD_DIR:-${S}}}"/include/acconfig.h \
+ || die "sed failed"
+}
+
+src_configure() {
+ ceph_src_configure
+}
+
+python_compile() {
+ local CMAKE_USE_DIR="${S}"
+
+ ceph_src_configure
+ pushd "${BUILD_DIR}/src/pybind" >/dev/null || die
+ emake VERBOSE=1 all
+
+ # python modules are only compiled with "make install" so we need to do this to
+ # prevent doing a bunch of compilation in src_install
+ DESTDIR="${T}" emake VERBOSE=1 install
+ popd >/dev/null || die
+}
+
+src_compile() {
+ cmake-utils_src_make all
+
+ # we have to do this here to prevent from building everything multiple times
+ BUILD_DIR="${CMAKE_BUILD_DIR}" python_copy_sources
+ python_foreach_impl python_compile
+}
+
+src_test() {
+ make check || die "make check failed"
+}
+
+python_install() {
+ local CMAKE_USE_DIR="${S}"
+ pushd "${BUILD_DIR}/src/pybind" >/dev/null || die
+ DESTDIR="${D}" emake install
+ popd >/dev/null || die
+}
+
+src_install() {
+ cmake-utils_src_install
+ python_foreach_impl python_install
+
+ prune_libtool_files --all
+
+ exeinto /usr/$(get_libdir)/ceph
+ newexe "${CMAKE_BUILD_DIR}/bin/init-ceph" ceph_init.sh
+
+ insinto /etc/logrotate.d/
+ newins "${FILESDIR}"/ceph.logrotate-r1 ${PN}
+
+ keepdir /var/lib/${PN}{,/tmp} /var/log/${PN}/stat
+
+ fowners -R ceph:ceph /var/lib/ceph /var/log/ceph
+
+ newinitd "${FILESDIR}/rbdmap.initd" rbdmap
+ newinitd "${FILESDIR}/${PN}.initd-r10" ${PN}
+ newconfd "${FILESDIR}/${PN}.confd-r5" ${PN}
+
+ insinto /etc/sysctl.d
+ newins "${FILESDIR}"/sysctld 90-${PN}.conf
+
+ use tcmalloc && newenvd "${FILESDIR}"/envd-tcmalloc 99${PN}-tcmalloc
+
+ # units aren't installed by the build system unless systemd is enabled
+ # so no point installing these with the USE flag disabled
+ if use systemd; then
+ systemd_install_serviced "${FILESDIR}/ceph-mds_at.service.conf" \
+ "ceph-mds@.service"
+
+ systemd_install_serviced "${FILESDIR}/ceph-osd_at.service.conf" \
+ "ceph-osd@.service"
+ fi
+
+ udev_dorules udev/*.rules
+
+ readme.gentoo_create_doc
+
+ python_setup 'python2*'
+
+ # bug #630232
+ sed -i -r "s:${T//:/\\:}/${EPYTHON}:/usr:" "${ED}"/usr/bin/ceph \
+ || die "sed failed"
+
+ python_fix_shebang "${ED}"/usr/{,s}bin/
+
+ # python_fix_shebang apparently is not idempotent
+ sed -i -r 's:(/usr/lib/python-exec/python[0-9]\.[0-9]/python)[0-9]\.[0-9]:\1:' \
+ "${ED}"/usr/{sbin/ceph-disk,bin/ceph-detect-init} || die "sed failed"
+}
+
+pkg_postinst() {
+ readme.gentoo_print_elog
+}
diff --git a/sys-cluster/ceph/files/ceph.confd-r5 b/sys-cluster/ceph/files/ceph.confd-r5
new file mode 100644
index 00000000000..5d114392d16
--- /dev/null
+++ b/sys-cluster/ceph/files/ceph.confd-r5
@@ -0,0 +1,15 @@
+# Example
+
+# default ceph conf file
+#ceph_conf="/etc/ceph/ceph.conf"
+
+# Set RADOSGW_WANT_NAME_PARAM=y in order to make the init script add
+# a --name=client.${RC_SVCNAME} parameter to command_args for radosgw.*
+# service instances. This will make the service use a key by the name
+# of client.${RC_SVCNAME} instead of the default client.admin key.
+# A setting like this in the ceph config file can be used to customize
+# the rgw_data and keyring paths used by radosgw instances:
+# [client]
+# rgw_data = /var/lib/ceph/radosgw/$cluster-$id
+# keyring = /var/lib/ceph/radosgw/$cluster-$id/keyring
+RADOSGW_WANT_NAME_PARAM=n
diff --git a/sys-cluster/ceph/files/ceph.initd-r10 b/sys-cluster/ceph/files/ceph.initd-r10
new file mode 100644
index 00000000000..2f5150fc340
--- /dev/null
+++ b/sys-cluster/ceph/files/ceph.initd-r10
@@ -0,0 +1,108 @@
+#!/sbin/openrc-run
+
+ceph_conf="${ceph_conf:-/etc/ceph/ceph.conf}"
+extra_commands="reload"
+daemon_type="${RC_SVCNAME#ceph-}"
+daemon_type="${daemon_type%%.*}"
+daemon_id="${RC_SVCNAME#ceph-*.}"
+daemon_id="${daemon_id:-0}"
+: ${rundir:=/run/ceph}
+: ${user:=ceph}
+: ${group:=ceph}
+: ${rc_ulimit:=-n 1048576 -u 1048576}
+
+pidfile="${rundir}/supervisor-${daemon_type}.${daemon_id}.pid"
+daemon_pidfile="${rundir}/${daemon_type}.${daemon_id}.pid"
+
+command="/usr/bin/${RC_SVCNAME%%.*}"
+command_args="-i ${daemon_id} --pid-file ${daemon_pidfile} -c ${ceph_conf}"
+command_args_foreground="--foreground"
+
+retry="${CEPH_TERMTIMEOUT:-TERM/120/KILL/5}"
+start_stop_daemon_args="--user ${user} --group ${group}"
+supervise_daemon_args="--user ${user} --group ${group}"
+
+: ${supervisor:=supervise-daemon}
+: ${stdout:=/var/log/ceph/ceph}
+: ${stderr:=/var/log/ceph/ceph}
+: ${respawn_delay:=10}
+: ${respawn_max:=5}
+: ${respawn_period:=1800}
+
+: ${osd_respawn_delay:=15}
+: ${osd_respawn_max:=10}
+
+: ${radosgw_respawn_max:=5}
+: ${radosgw_respawn_period:=30}
+
+depend() {
+ use dns logger
+ after net ntpd ntp-client chronyd
+ before netmount
+}
+
+is_type_valid() {
+ case ${daemon_type} in
+ mon|mds|osd|mgr|radosgw) return 0;;
+ *) return 1;;
+ esac
+}
+
+start_pre() {
+ local logdir
+ export CEPH_CONF="${ceph_conf}"
+
+ checkpath -d -q -o "${user}:${group}" "${rundir}"
+
+ if ! is_type_valid ;then
+ eerror "Please give valid Ceph Server Type: mds, mon, osd"
+ return 1
+
+ elif pgrep -f "[c]eph-${daemon_type} -i ${daemon_id} "; then
+ eerror "${daemon_type}.${daemon_id} is still running, refusing to start"
+ return 1
+ fi
+
+ if [ -n "${bluestore_osd_fsid}" ]; then
+ einfo "Mounting Bluestore"
+ ceph-volume lvm activate "${daemon_id}" "${bluestore_osd_fsid}" --no-systemd
+ fi
+
+ if [ ${daemon_type} = radosgw ] && [ ${RADOSGW_WANT_NAME_PARAM} = y ]; then
+ command_args="${command_args} --name client.${daemon_id}"
+ fi
+
+ local arg_name arg_val
+ for arg_name in std{out,err} respawn_{delay,max,period}; do
+ eval arg_val="\${${daemon_type}_${arg_name}}"
+
+ if [ -z "${arg_val}" ]; then
+ eval arg_val="\${${arg_name}}"
+ else
+ eval "${arg_name}=\"${arg_val}\""
+ fi
+
+ if [ "${arg_name}" = "stderr" ] || [ "${arg_name}" = "stdout" ]; then
+ local log_file log_postfix
+ log_postfix=".${daemon_id}-${arg_name}.log"
+ log_file="${arg_val}"
+
+ if [ "${log_file}" != /dev/null ]; then
+ log_file="${log_file}${log_postfix}"
+ fi
+
+ log_dir="$(dirname "${log_file}")"
+ checkpath -m 0755 -o "${user}:${group}" -d "${log_dir}"
+
+ supervise_daemon_args="${supervise_daemon_args} --${arg_name//_/-}=${log_file}"
+ fi
+ done
+}
+
+reload() {
+ ebegin "Reloading Ceph ${daemon_type}.${daemon_id}"
+ start-stop-daemon --signal 1 "${start_stop_daemon_args}"
+ eend ${?}
+}
+
+# vim:ft=gentoo-init-d:ts=4:sts=4:sw=4:noet:
^ permalink raw reply related [flat|nested] 68+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-cluster/ceph/, sys-cluster/ceph/files/
@ 2018-11-09 2:51 Patrick McLean
0 siblings, 0 replies; 68+ messages in thread
From: Patrick McLean @ 2018-11-09 2:51 UTC (permalink / raw
To: gentoo-commits
commit: 597620434ef1e96fc8bc544bcb2616ecc7b9bc4a
Author: Patrick McLean <chutzpah <AT> gentoo <DOT> org>
AuthorDate: Fri Nov 9 02:51:19 2018 +0000
Commit: Patrick McLean <chutzpah <AT> gentoo <DOT> org>
CommitDate: Fri Nov 9 02:51:19 2018 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=59762043
sys-cluster/ceph: revbump, fix logrotate problem in 12.2.8 and 13.2.2
Package-Manager: Portage-2.3.51, Repoman-2.3.12
RepoMan-Options: --force
Signed-off-by: Patrick McLean <chutzpah <AT> gentoo.org>
.../{ceph-12.2.8.ebuild => ceph-12.2.8-r1.ebuild} | 4 +-
...ceph-13.2.2-r1.ebuild => ceph-13.2.2-r2.ebuild} | 4 +-
sys-cluster/ceph/files/ceph.initd-r9 | 97 ++++++++++++++++++++++
sys-cluster/ceph/files/ceph.logrotate-r2 | 33 ++++++++
4 files changed, 134 insertions(+), 4 deletions(-)
diff --git a/sys-cluster/ceph/ceph-12.2.8.ebuild b/sys-cluster/ceph/ceph-12.2.8-r1.ebuild
similarity index 98%
rename from sys-cluster/ceph/ceph-12.2.8.ebuild
rename to sys-cluster/ceph/ceph-12.2.8-r1.ebuild
index 56f05c940aa..5ccb12358e2 100644
--- a/sys-cluster/ceph/ceph-12.2.8.ebuild
+++ b/sys-cluster/ceph/ceph-12.2.8-r1.ebuild
@@ -258,14 +258,14 @@ src_install() {
newexe "${CMAKE_BUILD_DIR}/bin/init-ceph" ceph_init.sh
insinto /etc/logrotate.d/
- newins "${FILESDIR}"/ceph.logrotate ${PN}
+ newins "${FILESDIR}"/ceph.logrotate-r2 ${PN}
keepdir /var/lib/${PN}{,/tmp} /var/log/${PN}/stat
fowners -R ceph:ceph /var/lib/ceph /var/log/ceph
newinitd "${FILESDIR}/rbdmap.initd" rbdmap
- newinitd "${FILESDIR}/${PN}.initd-r8" ${PN}
+ newinitd "${FILESDIR}/${PN}.initd-r9" ${PN}
newconfd "${FILESDIR}/${PN}.confd-r4" ${PN}
insinto /etc/sysctl.d
diff --git a/sys-cluster/ceph/ceph-13.2.2-r1.ebuild b/sys-cluster/ceph/ceph-13.2.2-r2.ebuild
similarity index 99%
rename from sys-cluster/ceph/ceph-13.2.2-r1.ebuild
rename to sys-cluster/ceph/ceph-13.2.2-r2.ebuild
index a657a929d8b..3035155be5e 100644
--- a/sys-cluster/ceph/ceph-13.2.2-r1.ebuild
+++ b/sys-cluster/ceph/ceph-13.2.2-r2.ebuild
@@ -324,14 +324,14 @@ src_install() {
newexe "${CMAKE_BUILD_DIR}/bin/init-ceph" ceph_init.sh
insinto /etc/logrotate.d/
- newins "${FILESDIR}"/ceph.logrotate-r1 ${PN}
+ newins "${FILESDIR}"/ceph.logrotate-r2 ${PN}
keepdir /var/lib/${PN}{,/tmp} /var/log/${PN}/stat
fowners -R ceph:ceph /var/lib/ceph /var/log/ceph
newinitd "${FILESDIR}/rbdmap.initd" rbdmap
- newinitd "${FILESDIR}/${PN}.initd-r8" ${PN}
+ newinitd "${FILESDIR}/${PN}.initd-r9" ${PN}
newconfd "${FILESDIR}/${PN}.confd-r4" ${PN}
insinto /etc/sysctl.d
diff --git a/sys-cluster/ceph/files/ceph.initd-r9 b/sys-cluster/ceph/files/ceph.initd-r9
new file mode 100644
index 00000000000..cfbd58e4b57
--- /dev/null
+++ b/sys-cluster/ceph/files/ceph.initd-r9
@@ -0,0 +1,97 @@
+#!/sbin/openrc-run
+
+ceph_conf="${ceph_conf:-/etc/ceph/ceph.conf}"
+extra_commands="reload"
+daemon_type="${RC_SVCNAME#ceph-}"
+daemon_type="${daemon_type%%.*}"
+daemon_id="${RC_SVCNAME#ceph-*.}"
+daemon_id="${daemon_id:-0}"
+: ${rundir:=/run/ceph}
+: ${user:=ceph}
+: ${group:=ceph}
+: ${rc_ulimit:=-n 1048576 -u 1048576}
+
+pidfile="${rundir}/supervisor-${daemon_type}.${daemon_id}.pid"
+daemon_pidfile="${rundir}/${daemon_type}.${daemon_id}.pid"
+
+command="/usr/bin/${RC_SVCNAME%%.*}"
+command_args="-i ${daemon_id} --pid-file ${daemon_pidfile} -c ${ceph_conf}"
+command_args_foreground="--foreground"
+
+retry="${CEPH_TERMTIMEOUT:-TERM/120/KILL/5}"
+start_stop_daemon_args="--user ${user} --group ${group}"
+supervise_daemon_args="--user ${user} --group ${group}"
+
+: ${supervisor:=supervise-daemon}
+: ${stdout:=/var/log/ceph/ceph}
+: ${stderr:=/var/log/ceph/ceph}
+: ${respawn_delay:=10}
+: ${respawn_max:=5}
+: ${respawn_period:=1800}
+
+: ${osd_respawn_delay:=15}
+: ${osd_respawn_max:=10}
+
+: ${radosgw_respawn_max:=5}
+: ${radosgw_respawn_period:=30}
+
+depend() {
+ use dns logger
+ after net ntpd ntp-client chronyd
+ before netmount
+}
+
+is_type_valid() {
+ case ${daemon_type} in
+ mon|mds|osd|mgr|radosgw) return 0;;
+ *) return 1;;
+ esac
+}
+
+start_pre() {
+ export CEPH_CONF="${ceph_conf}"
+
+ checkpath -d -q -o "${user}:${group}" "${rundir}"
+
+ if ! is_type_valid ;then
+ eerror "Please give valid Ceph Server Type: mds, mon, osd"
+ return 1
+
+ elif pgrep -f "[c]eph-${daemon_type} -i ${daemon_id} "; then
+ eerror "${daemon_type}.${daemon_id} is still running, refusing to start"
+ return 1
+ fi
+
+ local arg_name arg_val
+ for arg_name in std{out,err} respawn_{delay,max,period}; do
+ eval arg_val="\${${daemon_type}_${arg_name}}"
+
+ if [ -z "${arg_val}" ]; then
+ eval arg_val="\${${arg_name}}"
+ else
+ eval "${arg_name}=\"${arg_val}\""
+ fi
+
+ if [ "${arg_name}" = "stderr" ] || [ "${arg_name}" = "stdout" ]; then
+ local log_file log_postfix
+ log_postfix=".${daemon_id}-${arg_name}.log"
+ log_file="${arg_val}"
+
+ if [ "${log_file}" != /dev/null ]; then
+ log_file="${log_file}${log_postfix}"
+ fi
+
+ checkpath -m 0755 -o "${user}:${group}" -d $(dirname "${log_file}")
+
+ supervise_daemon_args="${supervise_daemon_args} --${arg_name//_/-}=${log_file}"
+ fi
+ done
+}
+
+reload() {
+ ebegin "Reloading Ceph ${daemon_type}.${daemon_id}"
+ start-stop-daemon --signal 1 "${start_stop_daemon_args}"
+ eend ${?}
+}
+
+# vim:ft=gentoo-init-d:ts=4:sts=4:sw=4:noet:
diff --git a/sys-cluster/ceph/files/ceph.logrotate-r2 b/sys-cluster/ceph/files/ceph.logrotate-r2
new file mode 100644
index 00000000000..74d96e23823
--- /dev/null
+++ b/sys-cluster/ceph/files/ceph.logrotate-r2
@@ -0,0 +1,33 @@
+#
+# /etc/logrotate.d/ceph
+#
+
+/var/log/ceph/*.log
+{
+ rotate 7
+ daily
+ compress
+ sharedscripts
+ prerotate
+ for dmn in $(cd /run/ceph && ls *.asok 2>/dev/null); do
+ ceph --admin-daemon /run/ceph/${dmn} log flush 2>/dev/null >/dev/null
+ done
+ endscript
+ postrotate
+ for dmn in $(cd /run/ceph && ls *.asok 2>/dev/null); do
+ ceph --admin-daemon /run/ceph/${dmn} log reopen 2>/dev/null >/dev/null
+ done
+ endscript
+ missingok
+}
+
+/var/log/ceph/console/*.log
+{
+ rotate 7
+ daily
+ compress
+ missingok
+ copytruncate
+}
+#
+# vim:ft=conf:ts=4:sts=4:sw=4:noet:
^ permalink raw reply related [flat|nested] 68+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-cluster/ceph/, sys-cluster/ceph/files/
@ 2018-03-10 19:16 Patrick McLean
0 siblings, 0 replies; 68+ messages in thread
From: Patrick McLean @ 2018-03-10 19:16 UTC (permalink / raw
To: gentoo-commits
commit: db6059b94c8ee62f5b35b9d3469fc9f04c5b570b
Author: Patrick McLean <chutzpah <AT> gentoo <DOT> org>
AuthorDate: Sat Mar 10 19:15:35 2018 +0000
Commit: Patrick McLean <chutzpah <AT> gentoo <DOT> org>
CommitDate: Sat Mar 10 19:16:06 2018 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=db6059b9
sys-cluster/ceph: Revision bump, fix init script with /dev/null #643412
Special cases /dev/null
Closes: https://bugs.gentoo.org/643412
Package-Manager: Portage-2.3.24, Repoman-2.3.6
.../{ceph-12.2.4.ebuild => ceph-12.2.4-r1.ebuild} | 2 +-
sys-cluster/ceph/files/ceph.initd-r8 | 95 ++++++++++++++++++++++
2 files changed, 96 insertions(+), 1 deletion(-)
diff --git a/sys-cluster/ceph/ceph-12.2.4.ebuild b/sys-cluster/ceph/ceph-12.2.4-r1.ebuild
similarity index 99%
rename from sys-cluster/ceph/ceph-12.2.4.ebuild
rename to sys-cluster/ceph/ceph-12.2.4-r1.ebuild
index bc3dd0a718a..1fbe8083849 100644
--- a/sys-cluster/ceph/ceph-12.2.4.ebuild
+++ b/sys-cluster/ceph/ceph-12.2.4-r1.ebuild
@@ -264,7 +264,7 @@ src_install() {
fowners -R ceph:ceph /var/lib/ceph /var/log/ceph
newinitd "${FILESDIR}/rbdmap.initd" rbdmap
- newinitd "${FILESDIR}/${PN}.initd-r7" ${PN}
+ newinitd "${FILESDIR}/${PN}.initd-r8" ${PN}
newconfd "${FILESDIR}/${PN}.confd-r4" ${PN}
insinto /etc/sysctl.d
diff --git a/sys-cluster/ceph/files/ceph.initd-r8 b/sys-cluster/ceph/files/ceph.initd-r8
new file mode 100644
index 00000000000..2f6c2601f16
--- /dev/null
+++ b/sys-cluster/ceph/files/ceph.initd-r8
@@ -0,0 +1,95 @@
+#!/sbin/openrc-run
+
+ceph_conf="${ceph_conf:-/etc/ceph/ceph.conf}"
+extra_commands="reload"
+daemon_type="${RC_SVCNAME#ceph-}"
+daemon_type="${daemon_type%%.*}"
+daemon_id="${RC_SVCNAME#ceph-*.}"
+daemon_id="${daemon_id:-0}"
+: ${rundir:=/run/ceph}
+: ${user:=ceph}
+: ${group:=ceph}
+: ${rc_ulimit:=-n 1048576 -u 1048576}
+
+pidfile="${rundir}/supervisor-${daemon_type}.${daemon_id}.pid"
+daemon_pidfile="${rundir}/${daemon_type}.${daemon_id}.pid"
+
+command="/usr/bin/${RC_SVCNAME%%.*}"
+command_args="-i ${daemon_id} --pid-file ${daemon_pidfile} -c ${ceph_conf}"
+command_args_foreground="--foreground"
+
+retry="${CEPH_TERMTIMEOUT:-TERM/120/KILL/5}"
+start_stop_daemon_args="--user ${user} --group ${group}"
+supervise_daemon_args="--user ${user} --group ${group}"
+
+: ${supervisor:=supervise-daemon}
+: ${stdout:=/var/log/ceph/ceph}
+: ${stderr:=/var/log/ceph/ceph}
+: ${respawn_delay:=10}
+: ${respawn_max:=5}
+: ${respawn_period:=1800}
+
+: ${osd_respawn_delay:=15}
+: ${osd_respawn_max:=10}
+
+: ${radosgw_respawn_max:=5}
+: ${radosgw_respawn_period:=30}
+
+depend() {
+ use dns logger
+ after net ntpd ntp-client chronyd
+ before netmount
+}
+
+is_type_valid() {
+ case ${daemon_type} in
+ mon|mds|osd|mgr|radosgw) return 0;;
+ *) return 1;;
+ esac
+}
+
+start_pre() {
+ export CEPH_CONF="${ceph_conf}"
+
+ checkpath -d -q -o "${user}:${group}" "${rundir}"
+
+ if ! is_type_valid ;then
+ eerror "Please give valid Ceph Server Type: mds, mon, osd"
+ return 1
+
+ elif pgrep -f "[c]eph-${daemon_type} -i ${daemon_id} "; then
+ eerror "${daemon_type}.${daemon_id} is still running, refusing to start"
+ return 1
+ fi
+
+ local arg_name arg_val
+ for arg_name in std{out,err} respawn_{delay,max,period}; do
+ eval arg_val="\${${daemon_type}_${arg_name}}"
+
+ if [ -z "${arg_val}" ]; then
+ eval arg_val="\${${arg_name}}"
+ else
+ eval "${arg_name}=\"${arg_val}\""
+ fi
+
+ if [ "${arg_name}" = "stderr" ] || [ "${arg_name}" = "stdout" ]; then
+ local log_file log_postfix
+ log_postfix=".${daemon_id}-${arg_name}.log"
+ log_file="${arg_val}"
+
+ if [ "${log_file}" != /dev/null ]
+ log_file="${log_file}${log_postfix}"
+ fi
+
+ supervise_daemon_args="${supervise_daemon_args} --${arg_name//_/-}=${log_file}"
+ fi
+ done
+}
+
+reload() {
+ ebegin "Reloading Ceph ${daemon_type}.${daemon_id}"
+ start-stop-daemon --signal 1 "${start_stop_daemon_args}"
+ eend ${?}
+}
+
+# vim:ft=gentoo-init-d:ts=4:sts=4:sw=4:noet:
^ permalink raw reply related [flat|nested] 68+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-cluster/ceph/, sys-cluster/ceph/files/
@ 2018-03-06 19:39 Patrick McLean
0 siblings, 0 replies; 68+ messages in thread
From: Patrick McLean @ 2018-03-06 19:39 UTC (permalink / raw
To: gentoo-commits
commit: 5392e6e5ea33113f604f9f683d7ad8baeb73eb03
Author: Patrick McLean <chutzpah <AT> gentoo <DOT> org>
AuthorDate: Tue Mar 6 19:38:30 2018 +0000
Commit: Patrick McLean <chutzpah <AT> gentoo <DOT> org>
CommitDate: Tue Mar 6 19:38:30 2018 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=5392e6e5
sys-cluster/ceph: Version bump to 12.2.4
Package-Manager: Portage-2.3.24, Repoman-2.3.6
sys-cluster/ceph/Manifest | 1 +
sys-cluster/ceph/ceph-12.2.4.ebuild | 303 +++++++++++++++++++++
sys-cluster/ceph/files/boost-site-config.jam | 11 +
.../ceph-12.2.4-boost-build-none-options.patch | 26 ++
.../ceph/files/ceph-12.2.4-boost-sonames.patch | 152 +++++++++++
sys-cluster/ceph/files/ceph-12.2.4-cflags.patch | 38 +++
.../ceph/files/ceph-12.2.4-rocksdb-cflags.patch | 11 +
sys-cluster/ceph/metadata.xml | 9 +-
8 files changed, 547 insertions(+), 4 deletions(-)
diff --git a/sys-cluster/ceph/Manifest b/sys-cluster/ceph/Manifest
index 51e8f3f49a9..2376ac36e0e 100644
--- a/sys-cluster/ceph/Manifest
+++ b/sys-cluster/ceph/Manifest
@@ -4,3 +4,4 @@ DIST ceph-10.2.7.tar.gz 14518491 BLAKE2B c81fb852680fa24dd30224d276dde3ceb9a5c94
DIST ceph-10.2.9.tar.gz 14550219 BLAKE2B 5ec20b88badefc6ed793c2538ffd9436e4b23877aa9d5ac7348a9d7b353e3c6c759677f6b77635c4f2017cccfbd93636d0e3bda6a1d793f6881b52aa3f3b2758 SHA512 1d59146614aa87ca551b05b795a684071a3cfb4ce6013e978ba650403c6732b2aa13f3c3cc191e6a1ea34b4631c82e97700593c24e200c41ec2f2b43b3ef5547
DIST ceph-12.2.1.tar.gz 148738778 BLAKE2B df4bea1ad552ab2361174c1e2f285f42b4a07ad23daf4eb9baa9e21e5513f6508b141f7b819f75918d2c55e4b812ba9985b9414496e7c1eaf28c68f9a101c3f5 SHA512 ec2623c1f6ab563c6fd0bb5fd046c78528fdbedca7cde347c92a9b15005d2ab2b1a46d7294e93f56933386462f1066750285109aafb6bf94f7d5bcdb7214d8a8
DIST ceph-12.2.2.tar.gz 148763718 BLAKE2B 5c9a56bc536b723ca3a6a0aa68c7f456032c892716167dfa213cda4964e3a45e970efe6dd67e5c43ef6f6018bd9367e0c890de270acccf3217b848b58cb98488 SHA512 89b166dc4b58e0110ebe0147eef9f47e1090ccee01702b3f72cfbdca856d02bf03b2663de9e88c84b21a2a61f8f92211e217a05b8bdcf7d5de3158adbe49db88
+DIST ceph-12.2.4.tar.gz 78694838 BLAKE2B 862c275eb5e42065b2f42d417f8efd2ee8ee67c19575eb19bc799d5923d0720fa4810e1c51915fee6f96a44d433059ca6b180861013b735287751ad24235e611 SHA512 ce9ec49e8693d11345adb3a219763cc76b626db2c26d8d9ba08ff0a4d6fdeb08739da29bb87ff0946fed8e6fd55c8db0672cb286f7ebb90cf2e11a47042ba5d6
diff --git a/sys-cluster/ceph/ceph-12.2.4.ebuild b/sys-cluster/ceph/ceph-12.2.4.ebuild
new file mode 100644
index 00000000000..9fbb382ca6a
--- /dev/null
+++ b/sys-cluster/ceph/ceph-12.2.4.ebuild
@@ -0,0 +1,303 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+PYTHON_COMPAT=( python{2_7,3_{4,5,6}} )
+DISTUTILS_OPTIONAL=1
+
+inherit check-reqs cmake-utils distutils-r1 flag-o-matic multiprocessing \
+ python-r1 udev user readme.gentoo-r1 systemd
+
+if [[ ${PV} == *9999* ]]; then
+ inherit git-r3
+ EGIT_REPO_URI="https://github.com/ceph/ceph.git"
+ SRC_URI=""
+else
+ SRC_URI="https://download.ceph.com/tarballs/${P}.tar.gz"
+ KEYWORDS="~amd64 ~arm64 ~x86"
+fi
+
+DESCRIPTION="Ceph distributed filesystem"
+HOMEPAGE="https://ceph.com/"
+
+LICENSE="LGPL-2.1 CC-BY-SA-1.0 GPL-2 BSD Boost-1.0 MIT"
+SLOT="0"
+
+CPU_FLAGS_X86=(sse{,2,3,4_1,4_2} ssse3)
+
+IUSE="babeltrace cephfs fuse jemalloc ldap lttng +mgr nss +radosgw +ssl"
+IUSE+=" static-libs +system-boost systemd +tcmalloc test xfs zfs"
+IUSE+=" $(printf "cpu_flags_x86_%s\n" ${CPU_FLAGS_X86[@]})"
+
+# unbundling code commented out pending bugs 584056 and 584058
+#>=dev-libs/jerasure-2.0.0-r1
+#>=dev-libs/gf-complete-2.0.0
+COMMON_DEPEND="
+ virtual/libudev:=
+ app-arch/bzip2:=[static-libs?]
+ app-arch/lz4:=[static-libs?]
+ app-arch/snappy:=[static-libs?]
+ app-arch/zstd:=[static-libs?]
+ app-misc/jq:=[static-libs?]
+ dev-libs/crypto++:=[static-libs?]
+ dev-libs/leveldb:=[snappy,static-libs?,tcmalloc?]
+ dev-libs/libaio:=[static-libs?]
+ dev-libs/libxml2:=[static-libs?]
+ sys-apps/keyutils:=[static-libs?]
+ sys-apps/util-linux:=[static-libs?]
+ sys-libs/zlib:=[static-libs?]
+ babeltrace? ( dev-util/babeltrace )
+ ldap? ( net-nds/openldap:=[static-libs?] )
+ lttng? ( dev-util/lttng-ust:= )
+ nss? ( dev-libs/nss:= )
+ fuse? ( sys-fs/fuse:0=[static-libs?] )
+ ssl? ( dev-libs/openssl:=[static-libs?] )
+ xfs? ( sys-fs/xfsprogs:=[static-libs?] )
+ zfs? ( sys-fs/zfs:=[static-libs?] )
+ radosgw? (
+ dev-libs/expat:=[static-libs?]
+ dev-libs/openssl:=[static-libs?]
+ net-misc/curl:=[static-libs?]
+ )
+ system-boost? (
+ >=dev-libs/boost-1.66:=[threads,context,python,static-libs?,${PYTHON_USEDEP}]
+ )
+ jemalloc? ( dev-libs/jemalloc:=[static-libs?] )
+ !jemalloc? ( >=dev-util/google-perftools-2.4:=[static-libs?] )
+ ${PYTHON_DEPS}
+ "
+DEPEND="${COMMON_DEPEND}
+ app-arch/cpio
+ dev-lang/yasm
+ dev-python/cython[${PYTHON_USEDEP}]
+ dev-python/sphinx
+ dev-util/gperf
+ dev-util/valgrind
+ sys-apps/which
+ sys-devel/bc
+ virtual/pkgconfig
+ test? (
+ dev-python/tox[${PYTHON_USEDEP}]
+ dev-python/virtualenv[${PYTHON_USEDEP}]
+ sys-apps/grep[pcre]
+ sys-fs/btrfs-progs
+ )"
+RDEPEND="${COMMON_DEPEND}
+ net-misc/socat
+ sys-apps/gptfdisk
+ sys-block/parted
+ sys-fs/cryptsetup
+ sys-fs/lvm2
+ !<sys-apps/openrc-0.26.3
+ dev-python/cherrypy[${PYTHON_USEDEP}]
+ dev-python/flask[${PYTHON_USEDEP}]
+ dev-python/jinja[${PYTHON_USEDEP}]
+ dev-python/pecan[${PYTHON_USEDEP}]
+ dev-python/prettytable[${PYTHON_USEDEP}]
+ dev-python/pyopenssl[${PYTHON_USEDEP}]
+ dev-python/requests[${PYTHON_USEDEP}]
+ dev-python/werkzeug[${PYTHON_USEDEP}]
+ "
+REQUIRED_USE="
+ $(python_gen_useflags 'python2*')
+ ${PYTHON_REQUIRED_USE}
+ ?? ( ssl nss )
+ ?? ( jemalloc tcmalloc )
+ "
+
+RESTRICT="test? ( userpriv )"
+
+# distribution tarball does not include everything needed for tests
+RESTRICT+=" test"
+
+# false positives unless all USE flags are on
+CMAKE_WARN_UNUSED_CLI="no"
+
+STRIP_MASK="/usr/lib*/rados-classes/*"
+
+UNBUNDLE_LIBS=(
+ src/erasure-code/jerasure/jerasure
+ src/erasure-code/jerasure/gf-complete
+)
+
+PATCHES=(
+ "${FILESDIR}/ceph-12.2.0-use-provided-cpu-flag-values.patch"
+ "${FILESDIR}/ceph-12.2.0-cflags.patch"
+ "${FILESDIR}/ceph-12.2.1-systemd-unitdir.patch"
+ "${FILESDIR}/ceph-12.2.4-boost-build-none-options.patch"
+ "${FILESDIR}/ceph-12.2.4-cflags.patch"
+ "${FILESDIR}/ceph-12.2.4-rocksdb-cflags.patch"
+)
+
+check-reqs_export_vars() {
+ if use amd64; then
+ CHECKREQS_DISK_BUILD="12G"
+ CHECKREQS_DISK_USR="460M"
+ else
+ CHECKREQS_DISK_BUILD="1400M"
+ CHECKREQS_DISK_USR="450M"
+ fi
+
+ export CHECKREQS_DISK_BUILD CHECKREQS_DISK_USR
+}
+
+user_setup() {
+ enewgroup ceph ${CEPH_GID}
+ enewuser ceph "${CEPH_UID:--1}" -1 /var/lib/ceph ceph
+}
+
+pkg_pretend() {
+ check-reqs_export_vars
+ check-reqs_pkg_pretend
+}
+
+pkg_setup() {
+ python_setup 'python2*'
+ check-reqs_export_vars
+ check-reqs_pkg_setup
+ user_setup
+}
+
+src_prepare() {
+ cmake-utils_src_prepare
+
+ if use system-boost; then
+ eapply "${FILESDIR}/ceph-12.2.4-boost-sonames.patch"
+ fi
+
+ # remove tests that need root access
+ rm src/test/cli/ceph-authtool/cap*.t
+
+ #rm -rf "${UNBUNDLE_LIBS[@]}"
+}
+
+ceph_src_configure() {
+ local flag
+ local mycmakeargs=(
+ -DWITH_BABELTRACE=$(usex babeltrace)
+ -DWITH_CEPHFS=$(usex cephfs)
+ -DWITH_FUSE=$(usex fuse)
+ -DWITH_LTTNG=$(usex lttng)
+ -DWITH_MGR=$(usex mgr)
+ -DWITH_NSS=$(usex nss)
+ -DWITH_OPENLDAP=$(usex ldap)
+ -DWITH_RADOSGW=$(usex radosgw)
+ -DWITH_SSL=$(usex ssl)
+ -DWITH_SYSTEMD=$(usex systemd)
+ -DWITH_TESTS=$(usex test)
+ -DWITH_XFS=$(usex xfs)
+ -DWITH_ZFS=$(usex zfs)
+ -DENABLE_SHARED=$(usex static-libs '' 'yes' 'no')
+ -DALLOCATOR=$(usex tcmalloc 'tcmalloc' '' "$(usex jemalloc 'jemalloc' '' 'libc' '')" '')
+ -DWITH_SYSTEM_BOOST=$(usex system-boost)
+ -DBOOST_J=$(makeopts_jobs)
+ -DWITH_RDMA=no
+ -DSYSTEMD_UNITDIR=$(systemd_get_systemunitdir)
+ -DEPYTHON_VERSION="${EPYTHON#python}"
+ )
+ if use amd64 || use x86; then
+ for flag in ${CPU_FLAGS_X86[@]}; do
+ mycmakeargs+=("$(usex cpu_flags_x86_${flag} "-DHAVE_INTEL_${flag^^}=1")")
+ done
+ fi
+
+ rm -f "${BUILD_DIR:-${S}}/CMakeCache.txt"
+ cmake-utils_src_configure
+
+ # bug #630232
+ sed -i "s:\"${T//:\\:}/${EPYTHON}/bin/python\":\"${PYTHON}\":" \
+ "${BUILD_DIR:-${CMAKE_BUILD_DIR:-${S}}}"/include/acconfig.h \
+ || die "sed failed"
+}
+
+src_configure() {
+ ceph_src_configure
+}
+
+python_compile() {
+ local CMAKE_USE_DIR="${S}"
+
+ ceph_src_configure
+ pushd "${BUILD_DIR}/src/pybind" >/dev/null || die
+ emake VERBOSE=1 all
+
+ # python modules are only compiled with "make install" so we need to do this to
+ # prevent doing a bunch of compilation in src_install
+ DESTDIR="${T}" emake VERBOSE=1 install
+ popd >/dev/null || die
+}
+
+src_compile() {
+ cmake-utils_src_make all
+
+ # we have to do this here to prevent from building everything multiple times
+ BUILD_DIR="${CMAKE_BUILD_DIR}" python_copy_sources
+ python_foreach_impl python_compile
+}
+
+src_test() {
+ make check || die "make check failed"
+}
+
+python_install() {
+ local CMAKE_USE_DIR="${S}"
+ pushd "${BUILD_DIR}/src/pybind" >/dev/null || die
+ DESTDIR="${D}" emake install
+ popd >/dev/null || die
+}
+
+src_install() {
+ cmake-utils_src_install
+ python_foreach_impl python_install
+
+ prune_libtool_files --all
+
+ exeinto /usr/$(get_libdir)/ceph
+ newexe "${CMAKE_BUILD_DIR}/bin/init-ceph" ceph_init.sh
+
+ insinto /etc/logrotate.d/
+ newins "${FILESDIR}"/ceph.logrotate ${PN}
+
+ keepdir /var/lib/${PN}{,/tmp} /var/log/${PN}/stat
+
+ fowners -R ceph:ceph /var/lib/ceph /var/log/ceph
+
+ newinitd "${FILESDIR}/rbdmap.initd" rbdmap
+ newinitd "${FILESDIR}/${PN}.initd-r7" ${PN}
+ newconfd "${FILESDIR}/${PN}.confd-r4" ${PN}
+
+ insinto /etc/sysctl.d
+ newins "${FILESDIR}"/sysctld 90-${PN}.conf
+
+ use tcmalloc && newenvd "${FILESDIR}"/envd-tcmalloc 99${PN}-tcmalloc
+
+ # units aren't installed by the build system unless systemd is enabled
+ # so no point installing these with the USE flag disabled
+ if use systemd; then
+ systemd_install_serviced "${FILESDIR}/ceph-mds_at.service.conf" \
+ "ceph-mds@.service"
+
+ systemd_install_serviced "${FILESDIR}/ceph-osd_at.service.conf" \
+ "ceph-osd@.service"
+ fi
+
+ udev_dorules udev/*.rules
+
+ readme.gentoo_create_doc
+
+ python_setup 'python2*'
+
+ # bug #630232
+ sed -i -r "s:${T//:/\\:}/${EPYTHON}:/usr:" "${ED}"/usr/bin/ceph \
+ || die "sed failed"
+
+ python_fix_shebang "${ED}"/usr/{,s}bin/
+
+ # python_fix_shebang apparently is not idempotent
+ sed -i -r 's:(/usr/lib/python-exec/python[0-9]\.[0-9]/python)[0-9]\.[0-9]:\1:' \
+ "${ED}"/usr/{sbin/ceph-disk,bin/ceph-detect-init} || die "sed failed"
+}
+
+pkg_postinst() {
+ readme.gentoo_print_elog
+}
diff --git a/sys-cluster/ceph/files/boost-site-config.jam b/sys-cluster/ceph/files/boost-site-config.jam
new file mode 100644
index 00000000000..8349b96eb44
--- /dev/null
+++ b/sys-cluster/ceph/files/boost-site-config.jam
@@ -0,0 +1,11 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the Boost Software License, Version 1.0.
+# (See accompanying file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt)
+
+# Define two new variants to be used when building boost (or separate boost-libs)
+# on Gentoo. The two variants make use of Gentoo-specific optimization and debug-symbols
+# values "none" which are not part of the official boost distribution.
+# DO NOT RELY ON THE FOLLOWING VARIANTS TO BE PRESENT ON OTHER OS!
+variant gentoorelease : release : <optimization>none <debug-symbols>none <runtime-link>shared ;
+variant gentoodebug : debug : <optimization>none <debug-symbols>on <runtime-link>shared ;
+
diff --git a/sys-cluster/ceph/files/ceph-12.2.4-boost-build-none-options.patch b/sys-cluster/ceph/files/ceph-12.2.4-boost-build-none-options.patch
new file mode 100644
index 00000000000..6e3ad413e99
--- /dev/null
+++ b/sys-cluster/ceph/files/ceph-12.2.4-boost-build-none-options.patch
@@ -0,0 +1,26 @@
+diff --git a/src/boost/tools/build/src/tools/features/debug-feature.jam b/src/boost/tools/build/src/tools/features/debug-feature.jam
+index 04958f9a..38b6acf1 100644
+--- a/src/boost/tools/build/src/tools/features/debug-feature.jam
++++ b/src/boost/tools/build/src/tools/features/debug-feature.jam
+@@ -8,7 +8,7 @@
+ import feature ;
+
+ feature.feature debug-symbols
+- : on off
++ : on off none
+ : propagated ;
+
+ feature.feature profiling
+diff --git a/src/boost/tools/build/src/tools/features/optimization-feature.jam b/src/boost/tools/build/src/tools/features/optimization-feature.jam
+index 761f76f1..fb2a5dec 100644
+--- a/src/boost/tools/build/src/tools/features/optimization-feature.jam
++++ b/src/boost/tools/build/src/tools/features/optimization-feature.jam
+@@ -8,7 +8,7 @@
+ import feature ;
+
+ feature.feature optimization
+- : off speed space
++ : off none speed space
+ : propagated ;
+
+ feature.feature inlining
diff --git a/sys-cluster/ceph/files/ceph-12.2.4-boost-sonames.patch b/sys-cluster/ceph/files/ceph-12.2.4-boost-sonames.patch
new file mode 100644
index 00000000000..59c645dea95
--- /dev/null
+++ b/sys-cluster/ceph/files/ceph-12.2.4-boost-sonames.patch
@@ -0,0 +1,152 @@
+diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
+index 7aa8a4392e..111f669f2e 100644
+--- a/src/CMakeLists.txt
++++ b/src/CMakeLists.txt
+@@ -622,13 +622,13 @@ set(ceph_common_objs
+ $<TARGET_OBJECTS:crush_objs>)
+ set(ceph_common_deps
+ json_spirit erasure_code rt ${LIB_RESOLV}
+- Boost::thread
+- Boost::system
+- Boost::regex
+- Boost::random
+- Boost::program_options
+- Boost::date_time
+- Boost::iostreams
++ boost_thread
++ boost_system
++ boost_regex
++ boost_random
++ boost_program_options
++ boost_date_time
++ boost_iostreams
+ ${BLKID_LIBRARIES}
+ ${Backtrace_LIBRARIES}
+ ${BLKIN_LIBRARIES}
+@@ -712,7 +712,7 @@ if (WITH_MGR)
+ $<TARGET_OBJECTS:heap_profiler_objs>)
+ target_include_directories(ceph-mgr PRIVATE "${PYTHON_INCLUDE_DIRS}")
+ target_link_libraries(ceph-mgr osdc client global-static common
+- Boost::python ${PYTHON_LIBRARIES} ${BLKID_LIBRARIES} ${CMAKE_DL_LIBS} ${ALLOC_LIBS})
++ boost_python-${EPYTHON_VERSION} ${PYTHON_LIBRARIES} ${BLKID_LIBRARIES} ${CMAKE_DL_LIBS} ${ALLOC_LIBS})
+ install(TARGETS ceph-mgr DESTINATION bin)
+ endif (WITH_MGR)
+
+@@ -885,7 +885,7 @@ set(ceph_mds_srcs
+ ceph_mds.cc)
+ add_executable(ceph-mds ${ceph_mds_srcs})
+ target_link_libraries(ceph-mds mds ${CMAKE_DL_LIBS} global-static common
+- Boost::thread)
++ boost_thread)
+ install(TARGETS ceph-mds DESTINATION bin)
+
+ add_subdirectory(erasure-code)
+diff --git a/src/test/CMakeLists.txt b/src/test/CMakeLists.txt
+index f3999e3b01..0ce7fca1ba 100644
+--- a/src/test/CMakeLists.txt
++++ b/src/test/CMakeLists.txt
+@@ -148,7 +148,7 @@ add_executable(ceph_omapbench
+ )
+ target_link_libraries(ceph_omapbench
+ librados
+- Boost::program_options
++ boost_program_options
+ global
+ ${BLKID_LIBRARIES}
+ ${CMAKE_DL_LIBS}
+@@ -202,7 +202,7 @@ if(${WITH_RADOSGW})
+ cls_rgw_client
+ cls_user_client
+ cls_lock_client
+- Boost::regex
++ boost_regex
+ ${BLKID_LIBRARIES}
+ ${CURL_LIBRARIES}
+ ${EXPAT_LIBRARIES}
+@@ -232,7 +232,7 @@ if(${WITH_RADOSGW})
+ cls_rgw_client
+ cls_user_client
+ cls_lock_client
+- Boost::regex
++ boost_regex
+ ${BLKID_LIBRARIES}
+ ${CURL_LIBRARIES}
+ ${EXPAT_LIBRARIES}
+diff --git a/src/test/bench/CMakeLists.txt b/src/test/bench/CMakeLists.txt
+index 9fba701e05..da3cbcfe96 100644
+--- a/src/test/bench/CMakeLists.txt
++++ b/src/test/bench/CMakeLists.txt
+@@ -8,7 +8,7 @@ set(smalliobench_srcs
+ add_executable(ceph_smalliobench
+ ${smalliobench_srcs}
+ )
+-target_link_libraries(ceph_smalliobench librados Boost::program_options global
++target_link_libraries(ceph_smalliobench librados boost_program_options global
+ ${BLKID_LIBRARIES} ${CMAKE_DL_LIBS})
+
+ # ceph_smalliobenchrbd
+@@ -27,7 +27,7 @@ if(WITH_RBD)
+ librados
+ os
+ global
+- Boost::program_options
++ boost_program_options
+ ${BLKID_LIBRARIES}
+ ${CMAKE_DL_LIBS}
+ )
+@@ -50,7 +50,7 @@ set(ceph_smalliobenchfs_srcs
+ add_executable(ceph_smalliobenchfs
+ ${ceph_smalliobenchfs_srcs}
+ )
+-target_link_libraries(ceph_smalliobenchfs librados Boost::program_options os global
++target_link_libraries(ceph_smalliobenchfs librados boost_program_options os global
+ ${BLKID_LIBRARIES} ${CMAKE_DL_LIBS})
+
+ # ceph_smalliobenchdumb
+@@ -63,7 +63,7 @@ set(smalliobenchdumb_srcs
+ add_executable(ceph_smalliobenchdumb
+ ${smalliobenchdumb_srcs}
+ )
+-target_link_libraries(ceph_smalliobenchdumb librados Boost::program_options os global
++target_link_libraries(ceph_smalliobenchdumb librados boost_program_options os global
+ ${BLKID_LIBRARIES} ${CMAKE_DL_LIBS})
+
+ # ceph_tpbench
+@@ -73,7 +73,7 @@ set(tpbench_srcs
+ add_executable(ceph_tpbench
+ ${tpbench_srcs}
+ )
+-target_link_libraries(ceph_tpbench librados Boost::program_options global
++target_link_libraries(ceph_tpbench librados boost_program_options global
+ ${BLKID_LIBRARIES} ${CMAKE_DL_LIBS})
+
+ install(TARGETS
+diff --git a/src/tools/CMakeLists.txt b/src/tools/CMakeLists.txt
+index 7502085895..1a430c201a 100644
+--- a/src/tools/CMakeLists.txt
++++ b/src/tools/CMakeLists.txt
+@@ -23,13 +23,13 @@ target_link_libraries(ceph_radosacl librados global)
+ install(TARGETS ceph_radosacl DESTINATION bin)
+
+ add_executable(ceph-osdomap-tool ceph_osdomap_tool.cc)
+-target_link_libraries(ceph-osdomap-tool os global Boost::program_options)
++target_link_libraries(ceph-osdomap-tool os global boost_program_options)
+ install(TARGETS ceph-osdomap-tool DESTINATION bin)
+
+ add_executable(ceph-monstore-tool
+ ceph_monstore_tool.cc
+ ../mgr/mgr_commands.cc)
+-target_link_libraries(ceph-monstore-tool os global Boost::program_options)
++target_link_libraries(ceph-monstore-tool os global boost_program_options)
+ install(TARGETS ceph-monstore-tool DESTINATION bin)
+ install(PROGRAMS
+ ceph-monstore-update-crush.sh
+@@ -40,7 +40,7 @@ add_executable(ceph-objectstore-tool
+ ceph_objectstore_tool.cc
+ rebuild_mondb.cc
+ RadosDump.cc)
+-target_link_libraries(ceph-objectstore-tool osd os global Boost::program_options ${CMAKE_DL_LIBS})
++target_link_libraries(ceph-objectstore-tool osd os global boost_program_options ${CMAKE_DL_LIBS})
+ if(WITH_FUSE)
+ target_link_libraries(ceph-objectstore-tool fuse)
+ endif(WITH_FUSE)
diff --git a/sys-cluster/ceph/files/ceph-12.2.4-cflags.patch b/sys-cluster/ceph/files/ceph-12.2.4-cflags.patch
new file mode 100644
index 00000000000..3535d8cf436
--- /dev/null
+++ b/sys-cluster/ceph/files/ceph-12.2.4-cflags.patch
@@ -0,0 +1,38 @@
+diff --git a/cmake/modules/BuildBoost.cmake b/cmake/modules/BuildBoost.cmake
+index c7cd39a110..e7b8115485 100644
+--- a/cmake/modules/BuildBoost.cmake
++++ b/cmake/modules/BuildBoost.cmake
+@@ -29,7 +29,7 @@ function(do_build_boost version)
+ else()
+ list(APPEND boost_features "address-model=32")
+ endif()
+- set(BOOST_CXXFLAGS "-fPIC -w") # check on arm, etc <---XXX
++ set(BOOST_CXXFLAGS "${CMAKE_CXX_FLAGS} -fPIC -w") # check on arm, etc <---XXX
+ list(APPEND boost_features "cxxflags=${BOOST_CXXFLAGS}")
+
+ string(REPLACE ";" "," boost_with_libs "${Boost_BUILD_COMPONENTS}")
+diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
+index 7aa8a4392e..c7543a62bd 100644
+--- a/src/CMakeLists.txt
++++ b/src/CMakeLists.txt
+@@ -808,6 +808,7 @@ install(TARGETS ceph-mon DESTINATION bin)
+
+ if (NOT WITH_SYSTEM_ROCKSDB)
+ set(ROCKSDB_CMAKE_ARGS -DCMAKE_POSITION_INDEPENDENT_CODE=ON)
++ list(APPEND ROCKSDB_CMAKE_ARGS -DDISABLE_WARNING_AS_ERROR=ON)
+
+ if(ALLOCATOR STREQUAL "jemalloc")
+ list(APPEND ROCKSDB_CMAKE_ARGS -DWITH_JEMALLOC=ON)
+diff --git a/src/compressor/zstd/CMakeLists.txt b/src/compressor/zstd/CMakeLists.txt
+index d9d2b6e560..1b2099fcbd 100644
+--- a/src/compressor/zstd/CMakeLists.txt
++++ b/src/compressor/zstd/CMakeLists.txt
+@@ -1,7 +1,7 @@
+ # zstd
+
+ # libzstd - build it statically
+-set(ZSTD_C_FLAGS -fPIC -Wno-unused-variable -O3)
++set(ZSTD_C_FLAGS -fPIC -Wno-unused-variable $ENV{CFLAGS})
+
+ include(ExternalProject)
+ ExternalProject_Add(zstd_ext
diff --git a/sys-cluster/ceph/files/ceph-12.2.4-rocksdb-cflags.patch b/sys-cluster/ceph/files/ceph-12.2.4-rocksdb-cflags.patch
new file mode 100644
index 00000000000..d744318cd11
--- /dev/null
+++ b/sys-cluster/ceph/files/ceph-12.2.4-rocksdb-cflags.patch
@@ -0,0 +1,11 @@
+--- ceph-12.2.4.orig/src/rocksdb/CMakeLists.txt 2018-03-05 19:06:21.016923872 -0800
++++ ceph-12.2.4/src/rocksdb/CMakeLists.txt 2018-03-05 19:09:01.798721666 -0800
+@@ -147,7 +147,7 @@
+ endif()
+ set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11")
+ if(NOT CMAKE_BUILD_TYPE STREQUAL "Debug")
+- set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -O2 -fno-omit-frame-pointer")
++ set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fno-omit-frame-pointer")
+ include(CheckCXXCompilerFlag)
+ CHECK_CXX_COMPILER_FLAG("-momit-leaf-frame-pointer" HAVE_OMIT_LEAF_FRAME_POINTER)
+ if(HAVE_OMIT_LEAF_FRAME_POINTER)
diff --git a/sys-cluster/ceph/metadata.xml b/sys-cluster/ceph/metadata.xml
index 4194415c72f..8ed7a4c83e4 100644
--- a/sys-cluster/ceph/metadata.xml
+++ b/sys-cluster/ceph/metadata.xml
@@ -14,20 +14,21 @@
<name>Gentoo Cluster Project</name>
</maintainer>
<longdescription>
-Ceph is a distributed network file system designed to provide excellent performance, reliability, and scalability.
-</longdescription>
+ Ceph is a distributed network file system designed to provide excellent performance, reliability, and scalability.
+ </longdescription>
<use>
+ <flag name="babeltrace">Add support for LTTng babeltrace</flag>
<flag name="cryptopp">Use <pkg>dev-libs/crypto++</pkg> for cryptography</flag>
<flag name="cephfs">Build support for cephfs, a POSIX compatible filesystem built on top of ceph</flag>
<flag name="fuse">Build fuse client</flag>
+ <flag name="jemalloc">Use <pkg>dev-libs/jemalloc</pkg> for allocations</flag>
<flag name="libatomic">Use libatomic instead of builtin atomic operations</flag>
<flag name="libaio">Use libaio as asynchronous input/output library</flag>
<flag name="lttng">Add support for LTTng</flag>
- <flag name="babeltrace">Add support for LTTng babeltrace</flag>
<flag name="mgr">Build the ceph-mgr daemon</flag>
<flag name="nss">Use <pkg>dev-libs/nss</pkg> for cryptography</flag>
<flag name="radosgw">Add radosgw support</flag>
- <flag name="jemalloc">Use <pkg>dev-libs/jemalloc</pkg> for allocations</flag>
+ <flag name="system-boost">Use system <pkg>dev-libs/boost</pkg> instead of the bundled one</flag>
<flag name="xfs">Add xfs support</flag>
<flag name="zfs">Add zfs support</flag>
</use>
^ permalink raw reply related [flat|nested] 68+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-cluster/ceph/, sys-cluster/ceph/files/
@ 2018-02-06 17:43 Patrick Lauer
0 siblings, 0 replies; 68+ messages in thread
From: Patrick Lauer @ 2018-02-06 17:43 UTC (permalink / raw
To: gentoo-commits
commit: e811f82167b11dff8adb188dc07f7a5b7e856699
Author: Patrick Lauer <patrick <AT> gentoo <DOT> org>
AuthorDate: Tue Feb 6 17:42:54 2018 +0000
Commit: Patrick Lauer <patrick <AT> gentoo <DOT> org>
CommitDate: Tue Feb 6 17:42:54 2018 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=e811f821
sys-cluster/ceph: Fix init script
The previous defaults were subtly insane, and very wrong.
"supervise-daemon: unable to open the logfile for stdout '/dev/null.96-stdout.log': Permission denied" ?
No thanks, let's set some values that allow ceph to start, and log to a reasonable place.
Package-Manager: Portage-2.3.24, Repoman-2.3.6
sys-cluster/ceph/ceph-10.2.10-r2.ebuild | 306 ++++++++++++++++++++++++++++++++
sys-cluster/ceph/ceph-12.2.2-r1.ebuild | 288 ++++++++++++++++++++++++++++++
sys-cluster/ceph/files/ceph.initd-r7 | 87 +++++++++
3 files changed, 681 insertions(+)
diff --git a/sys-cluster/ceph/ceph-10.2.10-r2.ebuild b/sys-cluster/ceph/ceph-10.2.10-r2.ebuild
new file mode 100644
index 00000000000..bf6eaeec4b6
--- /dev/null
+++ b/sys-cluster/ceph/ceph-10.2.10-r2.ebuild
@@ -0,0 +1,306 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+PYTHON_COMPAT=( python{2_7,3_{4,5,6}} )
+
+inherit check-reqs autotools eutils python-r1 udev user \
+ readme.gentoo-r1 systemd versionator flag-o-matic toolchain-funcs
+
+if [[ ${PV} == *9999* ]]; then
+ inherit git-r3
+ EGIT_REPO_URI="https://github.com/ceph/ceph.git"
+ SRC_URI=""
+else
+ SRC_URI="https://download.ceph.com/tarballs/${P}.tar.gz"
+ KEYWORDS="~amd64 ~arm64 ~x86"
+fi
+
+DESCRIPTION="Ceph distributed filesystem"
+HOMEPAGE="https://ceph.com/"
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+
+IUSE="babeltrace cephfs cryptopp debug fuse gtk jemalloc ldap +libaio"
+IUSE+=" libatomic lttng +nss +radosgw static-libs +tcmalloc test xfs zfs"
+
+# unbundling code commented out pending bugs 584056 and 584058
+#>=dev-libs/jerasure-2.0.0-r1
+#>=dev-libs/gf-complete-2.0.0
+COMMON_DEPEND="
+ app-arch/snappy:=
+ sys-libs/zlib:=
+ app-arch/lz4:=
+ app-arch/bzip2:=
+ app-arch/zstd:=
+ dev-libs/boost:=[threads]
+ dev-libs/libaio:=
+ dev-libs/leveldb:=[snappy]
+ nss? ( dev-libs/nss:= )
+ libatomic? ( dev-libs/libatomic_ops:= )
+ cryptopp? ( dev-libs/crypto++:= )
+ sys-apps/keyutils
+ sys-apps/util-linux
+ dev-libs/libxml2:=
+ radosgw? ( dev-libs/fcgi:= )
+ ldap? ( net-nds/openldap:= )
+ babeltrace? ( dev-util/babeltrace )
+ fuse? ( sys-fs/fuse:0= )
+ xfs? ( sys-fs/xfsprogs:= )
+ zfs? ( sys-fs/zfs:= )
+ gtk? (
+ x11-libs/gtk+:2=
+ dev-cpp/gtkmm:2.4
+ gnome-base/librsvg:=
+ )
+ radosgw? (
+ dev-libs/fcgi:=
+ dev-libs/expat:=
+ net-misc/curl:=
+ )
+ jemalloc? ( dev-libs/jemalloc:= )
+ !jemalloc? ( =dev-util/google-perftools-2.4*:= )
+ lttng? ( dev-util/lttng-ust:= )
+ ${PYTHON_DEPS}
+ "
+DEPEND="${COMMON_DEPEND}
+ dev-python/cython[${PYTHON_USEDEP}]
+ app-arch/cpio
+ dev-lang/yasm
+ virtual/pkgconfig
+ dev-python/sphinx
+ test? (
+ sys-fs/btrfs-progs
+ sys-apps/grep[pcre]
+ dev-python/tox[${PYTHON_USEDEP}]
+ dev-python/virtualenv[${PYTHON_USEDEP}]
+ )"
+RDEPEND="${COMMON_DEPEND}
+ sys-apps/hdparm
+ sys-block/parted
+ sys-fs/cryptsetup
+ sys-apps/gptfdisk
+ !<sys-apps/openrc-0.26.3
+ dev-python/flask[${PYTHON_USEDEP}]
+ dev-python/requests[${PYTHON_USEDEP}]
+ "
+REQUIRED_USE="
+ $(python_gen_useflags 'python2*')
+ ${PYTHON_REQUIRED_USE}
+ ^^ ( nss cryptopp )
+ ?? ( jemalloc tcmalloc )
+ "
+
+# work around bug in ceph compilation (rgw/ceph_dencoder-rgw_dencoder.o... undefined reference to `vtable for RGWZoneGroup')
+REQUIRED_USE+=" radosgw"
+
+#RESTRICT="test? ( userpriv )"
+
+# distribution tarball does not include everything needed for tests
+RESTRICT+=" test"
+
+STRIP_MASK="/usr/lib*/rados-classes/*"
+
+UNBUNDLE_LIBS=(
+ src/erasure-code/jerasure/jerasure
+ src/erasure-code/jerasure/gf-complete
+)
+
+PATCHES=(
+ "${FILESDIR}/ceph-10.2.0-dont-use-virtualenvs.patch"
+ #"${FILESDIR}/ceph-10.2.1-unbundle-jerasure.patch"
+ "${FILESDIR}/${PN}-10.2.1-libzfs.patch"
+ "${FILESDIR}/${PN}-10.2.3-build-without-openldap.patch"
+ "${FILESDIR}/${PN}-10.2.5-Make-RBD-Python-bindings-compatible-with-Python-3.patch"
+ "${FILESDIR}/${PN}-10.2.5-Make-CephFS-bindings-and-tests-compatible-with-Python-3.patch"
+ "${FILESDIR}/${PN}-10.2.7-fix-compilation-with-zstd.patch"
+ "${FILESDIR}/${PN}-10.2.9-cflags.patch"
+ "${FILESDIR}/${PN}-10.2.9-dont-run-lsb_release.patch"
+)
+
+check-reqs_export_vars() {
+ if use debug; then
+ CHECKREQS_DISK_BUILD="23G"
+ CHECKREQS_DISK_USR="7G"
+ elif use amd64; then
+ CHECKREQS_DISK_BUILD="12G"
+ CHECKREQS_DISK_USR="450M"
+ else
+ CHECKREQS_DISK_BUILD="1400M"
+ CHECKREQS_DISK_USR="450M"
+ fi
+
+ export CHECKREQS_DISK_BUILD CHECKREQS_DISK_USR
+}
+
+user_setup() {
+ enewgroup ceph ${CEPH_GID}
+ enewuser ceph "${CEPH_UID:--1}" -1 /var/lib/ceph ceph
+}
+
+emake_python_bindings() {
+ local action="${1}" params binding module
+ shift
+ params=("${@}")
+
+ __emake_python_bindings_do_impl() {
+ ceph_run_econf "${EPYTHON}"
+ emake "${params[@]}" PYTHON="${EPYTHON}" "${binding}-pybind-${action}"
+
+ # these don't work and aren't needed on python3
+ if [[ ${EBUILD_PHASE} == install ]]; then
+ for module in "${S}"/src/pybind/*.py; do
+ module_basename="$(basename "${module}")"
+ if [[ ${module_basename} == ceph_volume_client.py ]] && ! use cephfs; then
+ continue
+ elif [[ ! -e "${ED}/$(python_get_sitedir)/${module_basename}" ]]; then
+ python_domodule ${module}
+ fi
+ done
+ fi
+ }
+
+ pushd "${S}/src"
+ for binding in rados rbd $(use cephfs && echo cephfs); do
+ python_foreach_impl __emake_python_bindings_do_impl
+ done
+ popd
+
+ unset __emake_python_bindings_do_impl
+}
+
+pkg_pretend() {
+ check-reqs_export_vars
+ check-reqs_pkg_pretend
+}
+
+pkg_setup() {
+ python_setup
+ check-reqs_export_vars
+ check-reqs_pkg_setup
+ user_setup
+}
+
+src_prepare() {
+ default
+
+ # remove tests that need root access
+ rm src/test/cli/ceph-authtool/cap*.t
+
+ #rm -rf "${UNBUNDLE_LIBS[@]}"
+
+ append-flags -fPIC
+
+ if tc-is-gcc && [[ $(gcc-fullversion) == "7.2.0" ]] && is-flag "-g*"; then
+ ewarn "Filtering out -g* flags since gcc-7.2 tends to ICE with them and ceph"
+ filter-flags "-g*"
+ fi
+ eautoreconf
+}
+
+src_configure() {
+ ECONFARGS=(
+ --without-hadoop
+ --includedir=/usr/include
+ $(use_with cephfs)
+ $(use_with debug)
+ $(use_with fuse)
+ $(use_with libaio)
+ $(use_with libatomic libatomic-ops)
+ $(use_with nss)
+ $(use_with cryptopp)
+ $(use_with radosgw)
+ $(use_with gtk gtk2)
+ $(use_enable static-libs static)
+ $(use_with jemalloc)
+ $(use_with xfs libxfs)
+ $(use_with zfs libzfs)
+ $(use_with lttng )
+ $(use_with babeltrace)
+ $(use_with ldap openldap)
+ $(use jemalloc || usex tcmalloc " --with-tcmalloc" " --with-tcmalloc-minimal")
+ --with-mon
+ --with-eventfd
+ --with-cython
+ --without-kinetic
+ --without-librocksdb
+ --with-systemdsystemunitdir="$(systemd_get_systemunitdir)"
+ )
+
+ # we can only use python2.7 for building at the moment
+ ceph_run_econf "python2*"
+}
+
+ceph_run_econf() {
+ [[ -z ${ECONFARGS} ]] && die "called ${FUNCNAME[0]} with ECONFARGS unset"
+ [[ -z ${1} ]] && die "called ${FUNCNAME[0]} without passing python implementation"
+
+ pushd "${S}" >/dev/null || die
+ #
+ # This generates a QA warning about running econf in src_compile
+ # and src_install. Unfortunately the only other way to do this would
+ # involve building all of for each python implementation times, which
+ # wastes a _lot_ of CPU time and disk space. This hack will no longer
+ # be needed with >=ceph-11.2.
+ #
+ python_setup "${1}"
+ econf "${ECONFARGS[@]}"
+
+ popd >/dev/null || die
+}
+
+src_compile() {
+ emake
+ emake_python_bindings all
+
+ use test && emake check-local
+}
+
+src_test() {
+ make check || die "make check failed"
+}
+
+src_install() {
+ default
+ emake_python_bindings install-exec "DESTDIR=\"${D}\""
+
+ prune_libtool_files --all
+
+ exeinto /usr/$(get_libdir)/ceph
+ newexe src/init-ceph ceph_init.sh
+
+ insinto /etc/logrotate.d/
+ newins "${FILESDIR}"/ceph.logrotate ${PN}
+
+ keepdir /var/lib/${PN}{,/tmp} /var/log/${PN}/stat
+
+ fowners -R ceph:ceph /var/lib/ceph /var/log/ceph
+
+ newinitd "${FILESDIR}/rbdmap.initd" rbdmap
+ newinitd "${FILESDIR}/${PN}.initd-r7" ${PN}
+ newconfd "${FILESDIR}/${PN}.confd-r3" ${PN}
+
+ insinto /etc/sysctl.d
+ newins "${FILESDIR}"/sysctld 90-${PN}.conf
+
+ use tcmalloc && newenvd "${FILESDIR}"/envd-tcmalloc 99${PN}-tcmalloc
+
+ systemd_install_serviced "${FILESDIR}/ceph-mds_at.service.conf" "ceph-mds@.service"
+ systemd_install_serviced "${FILESDIR}/ceph-osd_at.service.conf" "ceph-osd@.service"
+
+ udev_dorules udev/*.rules
+
+ readme.gentoo_create_doc
+
+ python_setup 'python2*'
+ python_fix_shebang "${ED}"/usr/{,s}bin/
+
+ # python_fix_shebang apparently is not idempotent
+ sed -i -r 's:(/usr/lib/python-exec/python[0-9]\.[0-9]/python)[0-9]\.[0-9]:\1:' \
+ "${ED}"/usr/{sbin/ceph-disk,bin/ceph-detect-init} || die "sed failed"
+}
+
+pkg_postinst() {
+ readme.gentoo_print_elog
+}
diff --git a/sys-cluster/ceph/ceph-12.2.2-r1.ebuild b/sys-cluster/ceph/ceph-12.2.2-r1.ebuild
new file mode 100644
index 00000000000..370a0220f86
--- /dev/null
+++ b/sys-cluster/ceph/ceph-12.2.2-r1.ebuild
@@ -0,0 +1,288 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+PYTHON_COMPAT=( python{2_7,3_{4,5,6}} )
+DISTUTILS_OPTIONAL=1
+
+inherit check-reqs cmake-utils distutils-r1 python-r1 udev user systemd \
+ readme.gentoo-r1 flag-o-matic
+
+if [[ ${PV} == *9999* ]]; then
+ inherit git-r3
+ EGIT_REPO_URI="https://github.com/ceph/ceph.git"
+ SRC_URI=""
+else
+ SRC_URI="https://download.ceph.com/tarballs/${P}.tar.gz"
+ KEYWORDS="~amd64 ~arm64 ~x86"
+fi
+
+DESCRIPTION="Ceph distributed filesystem"
+HOMEPAGE="https://ceph.com/"
+
+LICENSE="LGPL-2.1 CC-BY-SA-1.0 GPL-2 BSD Boost-1.0 MIT"
+SLOT="0"
+
+CPU_FLAGS_X86=(sse{,2,3,4_1,4_2} ssse3)
+
+IUSE="babeltrace cephfs fuse jemalloc ldap lttng +mgr nss +radosgw +ssl"
+IUSE+=" static-libs systemd +tcmalloc test xfs zfs"
+IUSE+=" $(printf "cpu_flags_x86_%s\n" ${CPU_FLAGS_X86[@]})"
+
+# unbundling code commented out pending bugs 584056 and 584058
+#>=dev-libs/jerasure-2.0.0-r1
+#>=dev-libs/gf-complete-2.0.0
+COMMON_DEPEND="
+ virtual/libudev
+ app-arch/bzip2:=[static-libs?]
+ app-arch/lz4:=[static-libs?]
+ app-arch/snappy:=[static-libs?]
+ app-arch/zstd:=[static-libs?]
+ app-misc/jq:=[static-libs?]
+ dev-libs/boost:=[threads,context,python,static-libs?,${PYTHON_USEDEP}]
+ dev-libs/crypto++:=[static-libs?]
+ dev-libs/leveldb:=[snappy,static-libs?]
+ dev-libs/libaio:=[static-libs?]
+ dev-libs/libxml2:=[static-libs?]
+ sys-apps/keyutils:=[static-libs?]
+ sys-apps/util-linux:=[static-libs?]
+ sys-libs/zlib:=[static-libs?]
+ babeltrace? ( dev-util/babeltrace )
+ ldap? ( net-nds/openldap:=[static-libs?] )
+ lttng? ( dev-util/lttng-ust:= )
+ nss? ( dev-libs/nss:= )
+ fuse? ( sys-fs/fuse:0=[static-libs?] )
+ ssl? ( dev-libs/openssl:=[static-libs?] )
+ xfs? ( sys-fs/xfsprogs:=[static-libs?] )
+ zfs? ( sys-fs/zfs:=[static-libs?] )
+ radosgw? (
+ dev-libs/expat:=[static-libs?]
+ dev-libs/openssl:=[static-libs?]
+ net-misc/curl:=[static-libs?]
+ )
+ jemalloc? ( dev-libs/jemalloc:=[static-libs?] )
+ !jemalloc? ( >=dev-util/google-perftools-2.4:=[static-libs?] )
+ ${PYTHON_DEPS}
+ "
+DEPEND="${COMMON_DEPEND}
+ app-arch/cpio
+ dev-lang/yasm
+ dev-python/cython[${PYTHON_USEDEP}]
+ dev-python/sphinx
+ dev-util/gperf
+ dev-util/valgrind
+ sys-apps/which
+ sys-devel/bc
+ virtual/pkgconfig
+ test? (
+ dev-python/tox[${PYTHON_USEDEP}]
+ dev-python/virtualenv[${PYTHON_USEDEP}]
+ sys-apps/grep[pcre]
+ sys-fs/btrfs-progs
+ )"
+RDEPEND="${COMMON_DEPEND}
+ net-misc/socat
+ sys-apps/gptfdisk
+ sys-block/parted
+ sys-fs/cryptsetup
+ !<sys-apps/openrc-0.26.3
+ dev-python/cherrypy[${PYTHON_USEDEP}]
+ dev-python/flask[${PYTHON_USEDEP}]
+ dev-python/pecan[${PYTHON_USEDEP}]
+ dev-python/prettytable[${PYTHON_USEDEP}]
+ dev-python/pyopenssl[${PYTHON_USEDEP}]
+ dev-python/requests[${PYTHON_USEDEP}]
+ dev-python/werkzeug[${PYTHON_USEDEP}]
+ "
+REQUIRED_USE="
+ $(python_gen_useflags 'python2*')
+ ${PYTHON_REQUIRED_USE}
+ ?? ( ssl nss )
+ ?? ( jemalloc tcmalloc )
+ "
+
+RESTRICT="test? ( userpriv )"
+
+# distribution tarball does not include everything needed for tests
+RESTRICT+=" test"
+
+STRIP_MASK="/usr/lib*/rados-classes/*"
+
+UNBUNDLE_LIBS=(
+ src/erasure-code/jerasure/jerasure
+ src/erasure-code/jerasure/gf-complete
+)
+
+PATCHES=(
+ "${FILESDIR}/ceph-12.2.0-use-provided-cpu-flag-values.patch"
+ "${FILESDIR}/ceph-12.2.0-cflags.patch"
+ "${FILESDIR}/ceph-12.2.1-systemd-unitdir.patch"
+ "${FILESDIR}/ceph-12.2.2-build-without-radosgw.patch"
+)
+
+check-reqs_export_vars() {
+ if use amd64; then
+ CHECKREQS_DISK_BUILD="12G"
+ CHECKREQS_DISK_USR="460M"
+ else
+ CHECKREQS_DISK_BUILD="1400M"
+ CHECKREQS_DISK_USR="450M"
+ fi
+
+ export CHECKREQS_DISK_BUILD CHECKREQS_DISK_USR
+}
+
+user_setup() {
+ enewgroup ceph ${CEPH_GID}
+ enewuser ceph "${CEPH_UID:--1}" -1 /var/lib/ceph ceph
+}
+
+pkg_pretend() {
+ check-reqs_export_vars
+ check-reqs_pkg_pretend
+}
+
+pkg_setup() {
+ python_setup 'python2*'
+ check-reqs_export_vars
+ check-reqs_pkg_setup
+ user_setup
+}
+
+src_prepare() {
+ default
+
+ # remove tests that need root access
+ rm src/test/cli/ceph-authtool/cap*.t
+
+ #rm -rf "${UNBUNDLE_LIBS[@]}"
+}
+
+ceph_src_configure() {
+ local flag
+ local mycmakeargs=(
+ -DWITH_BABELTRACE=$(usex babeltrace)
+ -DWITH_CEPHFS=$(usex cephfs)
+ -DWITH_FUSE=$(usex fuse)
+ -DWITH_LTTNG=$(usex lttng)
+ -DWITH_MGR=$(usex mgr)
+ -DWITH_NSS=$(usex nss)
+ -DWITH_OPENLDAP=$(usex ldap)
+ -DWITH_RADOSGW=$(usex radosgw)
+ -DWITH_SSL=$(usex ssl)
+ -DWITH_SYSTEMD=$(usex systemd)
+ -DWITH_TESTS=$(usex test)
+ -DWITH_XFS=$(usex xfs)
+ -DWITH_ZFS=$(usex zfs)
+ -DENABLE_SHARED=$(usex static-libs '' 'yes' 'no')
+ -DALLOCATOR=$(usex tcmalloc 'tcmalloc' '' "$(usex jemalloc 'jemalloc' '' 'libc' '')" '')
+ -DWITH_SYSTEM_BOOST=yes
+ -DWITH_RDMA=no
+ -DSYSTEMD_UNITDIR=$(systemd_get_systemunitdir)
+ )
+ if use amd64 || use x86; then
+ for flag in ${CPU_FLAGS_X86[@]}; do
+ mycmakeargs+=("$(usex cpu_flags_x86_${flag} "-DHAVE_INTEL_${flag^^}=1")")
+ done
+ fi
+
+ rm -f "${BUILD_DIR:-${S}}/CMakeCache.txt"
+ cmake-utils_src_configure
+
+ # bug #630232
+ sed -i "s:\"${T//:\\:}/${EPYTHON}/bin/python\":\"${PYTHON}\":" \
+ "${BUILD_DIR:-${CMAKE_BUILD_DIR:-${S}}}"/include/acconfig.h \
+ || die "sed failed"
+}
+
+src_configure() {
+ ceph_src_configure
+}
+
+python_compile() {
+ local CMAKE_USE_DIR="${S}"
+
+ ceph_src_configure
+ pushd "${BUILD_DIR}/src/pybind" >/dev/null || die
+ emake VERBOSE=1 all
+
+ # python modules are only compiled with "make install" so we need to do this to
+ # prevent doing a bunch of compilation in src_install
+ DESTDIR="${T}" emake VERBOSE=1 install
+ popd >/dev/null || die
+}
+
+src_compile() {
+ cmake-utils_src_make all
+
+ # we have to do this here to prevent from building everything multiple times
+ BUILD_DIR="${CMAKE_BUILD_DIR}" python_copy_sources
+ python_foreach_impl python_compile
+}
+
+src_test() {
+ make check || die "make check failed"
+}
+
+python_install() {
+ local CMAKE_USE_DIR="${S}"
+ pushd "${BUILD_DIR}/src/pybind" >/dev/null || die
+ DESTDIR="${D}" emake install
+ popd >/dev/null || die
+}
+
+src_install() {
+ cmake-utils_src_install
+ python_foreach_impl python_install
+
+ prune_libtool_files --all
+
+ exeinto /usr/$(get_libdir)/ceph
+ newexe "${CMAKE_BUILD_DIR}/bin/init-ceph" ceph_init.sh
+
+ insinto /etc/logrotate.d/
+ newins "${FILESDIR}"/ceph.logrotate ${PN}
+
+ keepdir /var/lib/${PN}{,/tmp} /var/log/${PN}/stat
+
+ fowners -R ceph:ceph /var/lib/ceph /var/log/ceph
+
+ newinitd "${FILESDIR}/rbdmap.initd" rbdmap
+ newinitd "${FILESDIR}/${PN}.initd-r7" ${PN}
+ newconfd "${FILESDIR}/${PN}.confd-r4" ${PN}
+
+ insinto /etc/sysctl.d
+ newins "${FILESDIR}"/sysctld 90-${PN}.conf
+
+ use tcmalloc && newenvd "${FILESDIR}"/envd-tcmalloc 99${PN}-tcmalloc
+
+ # units aren't installed by the build system unless systemd is enabled
+ # so no point installing these with the USE flag disabled
+ if use systemd; then
+ systemd_install_serviced "${FILESDIR}/ceph-mds_at.service.conf" \
+ "ceph-mds@.service"
+
+ systemd_install_serviced "${FILESDIR}/ceph-osd_at.service.conf" \
+ "ceph-osd@.service"
+ fi
+
+ udev_dorules udev/*.rules
+
+ readme.gentoo_create_doc
+
+ python_setup 'python2*'
+
+ # bug #630232
+ sed -i -r "s:${T//:/\\:}/${EPYTHON}:/usr:" "${ED}"/usr/bin/ceph \
+ || die "sed failed"
+
+ python_fix_shebang "${ED}"/usr/{,s}bin/
+
+ # python_fix_shebang apparently is not idempotent
+ sed -i -r 's:(/usr/lib/python-exec/python[0-9]\.[0-9]/python)[0-9]\.[0-9]:\1:' \
+ "${ED}"/usr/{sbin/ceph-disk,bin/ceph-detect-init} || die "sed failed"
+}
+
+pkg_postinst() {
+ readme.gentoo_print_elog
+}
diff --git a/sys-cluster/ceph/files/ceph.initd-r7 b/sys-cluster/ceph/files/ceph.initd-r7
new file mode 100644
index 00000000000..110d7bd0b63
--- /dev/null
+++ b/sys-cluster/ceph/files/ceph.initd-r7
@@ -0,0 +1,87 @@
+#!/sbin/openrc-run
+
+ceph_conf="${ceph_conf:-/etc/ceph/ceph.conf}"
+extra_commands="reload"
+daemon_type="${RC_SVCNAME#ceph-}"
+daemon_type="${daemon_type%%.*}"
+daemon_id="${RC_SVCNAME#ceph-*.}"
+daemon_id="${daemon_id:-0}"
+: ${rundir:=/run/ceph}
+: ${user:=ceph}
+: ${group:=ceph}
+: ${rc_ulimit:=-n 1048576 -u 1048576}
+
+pidfile="${rundir}/supervisor-${daemon_type}.${daemon_id}.pid"
+daemon_pidfile="${rundir}/${daemon_type}.${daemon_id}.pid"
+
+command="/usr/bin/${RC_SVCNAME%%.*}"
+command_args="-i ${daemon_id} --pid-file ${daemon_pidfile} -c ${ceph_conf}"
+command_args_foreground="--foreground"
+
+retry="${CEPH_TERMTIMEOUT:-TERM/120/KILL/5}"
+start_stop_daemon_args="--user ${user} --group ${group}"
+supervise_daemon_args="--user ${user} --group ${group}"
+
+: ${supervisor:=supervise-daemon}
+: ${stdout:=/var/log/ceph/ceph}
+: ${stderr:=/var/log/ceph/ceph}
+: ${respawn_delay:=10}
+: ${respawn_max:=5}
+: ${respawn_period:=1800}
+
+: ${osd_respawn_delay:=15}
+: ${osd_respawn_max:=10}
+
+: ${radosgw_respawn_max:=5}
+: ${radosgw_respawn_period:=30}
+
+depend() {
+ use dns logger
+ after net ntpd ntp-client chronyd
+ before netmount
+}
+
+is_type_valid() {
+ case ${daemon_type} in
+ mon|mds|osd|mgr|radosgw) return 0;;
+ *) return 1;;
+ esac
+}
+
+start_pre() {
+ export CEPH_CONF="${ceph_conf}"
+
+ checkpath -d -q -o "${user}:${group}" "${rundir}"
+
+ if ! is_type_valid ;then
+ eerror "Please give valid Ceph Server Type: mds, mon, osd"
+ return 1
+
+ elif pgrep -f "[c]eph-${daemon_type} -i ${daemon_id} "; then
+ eerror "${daemon_type}.${daemon_id} is still running, refusing to start"
+ return 1
+ fi
+
+ local arg_name arg_val
+ for arg_name in std{out,err} respawn_{delay,max,period}; do
+ eval arg_val="\${${daemon_type}_${arg_name}}"
+
+ if [ -z "${arg_val}" ]; then
+ eval arg_val="\${${arg_name}}"
+ else
+ eval "${arg_name}=\"${arg_val}\""
+ fi
+
+ if [ "${arg_name}" = "stderr" ] || [ "${arg_name}" = "stdout" ]; then
+ supervise_daemon_args="${supervise_daemon_args} --${arg_name//_/-}=${arg_val}.${daemon_id}-${arg_name}.log"
+ fi
+ done
+}
+
+reload() {
+ ebegin "Reloading Ceph ${daemon_type}.${daemon_id}"
+ start-stop-daemon --signal 1 "${start_stop_daemon_args}"
+ eend ${?}
+}
+
+# vim:ft=gentoo-init-d:ts=4:sts=4:sw=4:noet:
^ permalink raw reply related [flat|nested] 68+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-cluster/ceph/, sys-cluster/ceph/files/
@ 2017-12-05 20:10 Patrick McLean
0 siblings, 0 replies; 68+ messages in thread
From: Patrick McLean @ 2017-12-05 20:10 UTC (permalink / raw
To: gentoo-commits
commit: 7a2b0429aab9a5acff50e49ee17b9f73a1da5642
Author: Patrick McLean <chutzpah <AT> gentoo <DOT> org>
AuthorDate: Tue Dec 5 20:09:53 2017 +0000
Commit: Patrick McLean <chutzpah <AT> gentoo <DOT> org>
CommitDate: Tue Dec 5 20:09:53 2017 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=7a2b0429
sys-cluster/ceph: Version bump to 12.2.2
This also pulls in a patch for 639734 and adds some minor changes to the
defaults in the init script.
Closes: https://bugs.gentoo.org/639734
Package-Manager: Portage-2.3.16, Repoman-2.3.6
sys-cluster/ceph/Manifest | 1 +
sys-cluster/ceph/ceph-12.2.2.ebuild | 288 +++++++++++++++++++++
.../files/ceph-12.2.2-build-without-radosgw.patch | 34 +++
sys-cluster/ceph/files/ceph.confd-r4 | 70 +++++
sys-cluster/ceph/files/ceph.initd-r6 | 87 +++++++
5 files changed, 480 insertions(+)
diff --git a/sys-cluster/ceph/Manifest b/sys-cluster/ceph/Manifest
index e37ff62073c..be06ffb54e4 100644
--- a/sys-cluster/ceph/Manifest
+++ b/sys-cluster/ceph/Manifest
@@ -3,3 +3,4 @@ DIST ceph-10.2.3.tar.gz 11596171 SHA256 dca933aa14db67b404d836ef510bd418091978ed
DIST ceph-10.2.7.tar.gz 14518491 SHA256 2cdfeaa9a08e94c2d35f540b450bbf64b2a694bd537679834185e98fc59d8ba2 SHA512 7e0686e9efa4ddd9d548f4145b448f8232f1ca29b08428daa5cd60a74ce26f1176a1f2ebbf2ac1761d9e6c1d364a5ffa194d2b3a18a8111f59b7c27f7a1d7734 WHIRLPOOL b6b6902230401b5f4c6f27801f315678bdc7b99aab4e50b54d941fc3a425b4f0fa9390484f2e12d6b4f962253fb8772fb706dad35d490b4542b06db166fab59b
DIST ceph-10.2.9.tar.gz 14550219 SHA256 3d93f4fc4a66b1d9f9ce43f65868dc18287cea32fbb2c7421faca6aed2b52a80 SHA512 1d59146614aa87ca551b05b795a684071a3cfb4ce6013e978ba650403c6732b2aa13f3c3cc191e6a1ea34b4631c82e97700593c24e200c41ec2f2b43b3ef5547 WHIRLPOOL 42215d33c4f617087e1b0ef81cd41b42330c3605acf625b0668d44eba9e982239683b466a1cc1a6f926fc1d439dfd6be4ce220f783da7d2214d36a2a6cc9181f
DIST ceph-12.2.1.tar.gz 148738778 SHA256 512666ee88610640d66b261f9307c96ccd70eb25cd3349acd083fb1220c8a32e SHA512 ec2623c1f6ab563c6fd0bb5fd046c78528fdbedca7cde347c92a9b15005d2ab2b1a46d7294e93f56933386462f1066750285109aafb6bf94f7d5bcdb7214d8a8 WHIRLPOOL 6a22bc7080483b3fe161bfc441b9fdf1a85d2bd9a394e89db2005a229397d206614d3e7a0d84cf7521822688faf4b92ca75ad4ce586de0d262fdda5c94b4f904
+DIST ceph-12.2.2.tar.gz 148763718 BLAKE2B 5c9a56bc536b723ca3a6a0aa68c7f456032c892716167dfa213cda4964e3a45e970efe6dd67e5c43ef6f6018bd9367e0c890de270acccf3217b848b58cb98488 SHA512 89b166dc4b58e0110ebe0147eef9f47e1090ccee01702b3f72cfbdca856d02bf03b2663de9e88c84b21a2a61f8f92211e217a05b8bdcf7d5de3158adbe49db88
diff --git a/sys-cluster/ceph/ceph-12.2.2.ebuild b/sys-cluster/ceph/ceph-12.2.2.ebuild
new file mode 100644
index 00000000000..7040667f300
--- /dev/null
+++ b/sys-cluster/ceph/ceph-12.2.2.ebuild
@@ -0,0 +1,288 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+PYTHON_COMPAT=( python{2_7,3_{4,5,6}} )
+DISTUTILS_OPTIONAL=1
+
+inherit check-reqs cmake-utils distutils-r1 python-r1 udev user systemd \
+ readme.gentoo-r1 flag-o-matic
+
+if [[ ${PV} == *9999* ]]; then
+ inherit git-r3
+ EGIT_REPO_URI="https://github.com/ceph/ceph.git"
+ SRC_URI=""
+else
+ SRC_URI="https://download.ceph.com/tarballs/${P}.tar.gz"
+ KEYWORDS="~amd64 ~arm64 ~x86"
+fi
+
+DESCRIPTION="Ceph distributed filesystem"
+HOMEPAGE="https://ceph.com/"
+
+LICENSE="LGPL-2.1 CC-BY-SA-1.0 GPL-2 BSD Boost-1.0 MIT"
+SLOT="0"
+
+CPU_FLAGS_X86=(sse{,2,3,4_1,4_2} ssse3)
+
+IUSE="babeltrace cephfs fuse jemalloc ldap lttng +mgr nss +radosgw +ssl"
+IUSE+=" static-libs systemd +tcmalloc test xfs zfs"
+IUSE+=" $(printf "cpu_flags_x86_%s\n" ${CPU_FLAGS_X86[@]})"
+
+# unbundling code commented out pending bugs 584056 and 584058
+#>=dev-libs/jerasure-2.0.0-r1
+#>=dev-libs/gf-complete-2.0.0
+COMMON_DEPEND="
+ virtual/libudev
+ app-arch/bzip2:=[static-libs?]
+ app-arch/lz4:=[static-libs?]
+ app-arch/snappy:=[static-libs?]
+ app-arch/zstd:=[static-libs?]
+ app-misc/jq:=[static-libs?]
+ dev-libs/boost:=[threads,context,python,static-libs?,${PYTHON_USEDEP}]
+ dev-libs/crypto++:=[static-libs?]
+ dev-libs/leveldb:=[snappy,static-libs?]
+ dev-libs/libaio:=[static-libs?]
+ dev-libs/libxml2:=[static-libs?]
+ sys-apps/keyutils:=[static-libs?]
+ sys-apps/util-linux:=[static-libs?]
+ sys-libs/zlib:=[static-libs?]
+ babeltrace? ( dev-util/babeltrace )
+ ldap? ( net-nds/openldap:=[static-libs?] )
+ lttng? ( dev-util/lttng-ust:= )
+ nss? ( dev-libs/nss:= )
+ fuse? ( sys-fs/fuse:0=[static-libs?] )
+ ssl? ( dev-libs/openssl:=[static-libs?] )
+ xfs? ( sys-fs/xfsprogs:=[static-libs?] )
+ zfs? ( sys-fs/zfs:=[static-libs?] )
+ radosgw? (
+ dev-libs/expat:=[static-libs?]
+ dev-libs/openssl:=[static-libs?]
+ net-misc/curl:=[static-libs?]
+ )
+ jemalloc? ( dev-libs/jemalloc:=[static-libs?] )
+ !jemalloc? ( >=dev-util/google-perftools-2.4:=[static-libs?] )
+ ${PYTHON_DEPS}
+ "
+DEPEND="${COMMON_DEPEND}
+ app-arch/cpio
+ dev-lang/yasm
+ dev-python/cython[${PYTHON_USEDEP}]
+ dev-python/sphinx
+ dev-util/gperf
+ dev-util/valgrind
+ sys-apps/which
+ sys-devel/bc
+ virtual/pkgconfig
+ test? (
+ dev-python/tox[${PYTHON_USEDEP}]
+ dev-python/virtualenv[${PYTHON_USEDEP}]
+ sys-apps/grep[pcre]
+ sys-fs/btrfs-progs
+ )"
+RDEPEND="${COMMON_DEPEND}
+ net-misc/socat
+ sys-apps/gptfdisk
+ sys-block/parted
+ sys-fs/cryptsetup
+ !<sys-apps/openrc-0.26.3
+ dev-python/cherrypy[${PYTHON_USEDEP}]
+ dev-python/flask[${PYTHON_USEDEP}]
+ dev-python/pecan[${PYTHON_USEDEP}]
+ dev-python/prettytable[${PYTHON_USEDEP}]
+ dev-python/pyopenssl[${PYTHON_USEDEP}]
+ dev-python/requests[${PYTHON_USEDEP}]
+ dev-python/werkzeug[${PYTHON_USEDEP}]
+ "
+REQUIRED_USE="
+ $(python_gen_useflags 'python2*')
+ ${PYTHON_REQUIRED_USE}
+ ?? ( ssl nss )
+ ?? ( jemalloc tcmalloc )
+ "
+
+RESTRICT="test? ( userpriv )"
+
+# distribution tarball does not include everything needed for tests
+RESTRICT+=" test"
+
+STRIP_MASK="/usr/lib*/rados-classes/*"
+
+UNBUNDLE_LIBS=(
+ src/erasure-code/jerasure/jerasure
+ src/erasure-code/jerasure/gf-complete
+)
+
+PATCHES=(
+ "${FILESDIR}/ceph-12.2.0-use-provided-cpu-flag-values.patch"
+ "${FILESDIR}/ceph-12.2.0-cflags.patch"
+ "${FILESDIR}/ceph-12.2.1-systemd-unitdir.patch"
+ "${FILESDIR}/ceph-12.2.2-build-without-radosgw.patch"
+)
+
+check-reqs_export_vars() {
+ if use amd64; then
+ CHECKREQS_DISK_BUILD="12G"
+ CHECKREQS_DISK_USR="460M"
+ else
+ CHECKREQS_DISK_BUILD="1400M"
+ CHECKREQS_DISK_USR="450M"
+ fi
+
+ export CHECKREQS_DISK_BUILD CHECKREQS_DISK_USR
+}
+
+user_setup() {
+ enewgroup ceph ${CEPH_GID}
+ enewuser ceph "${CEPH_UID:--1}" -1 /var/lib/ceph ceph
+}
+
+pkg_pretend() {
+ check-reqs_export_vars
+ check-reqs_pkg_pretend
+}
+
+pkg_setup() {
+ python_setup 'python2*'
+ check-reqs_export_vars
+ check-reqs_pkg_setup
+ user_setup
+}
+
+src_prepare() {
+ default
+
+ # remove tests that need root access
+ rm src/test/cli/ceph-authtool/cap*.t
+
+ #rm -rf "${UNBUNDLE_LIBS[@]}"
+}
+
+ceph_src_configure() {
+ local flag
+ local mycmakeargs=(
+ -DWITH_BABELTRACE=$(usex babeltrace)
+ -DWITH_CEPHFS=$(usex cephfs)
+ -DWITH_FUSE=$(usex fuse)
+ -DWITH_LTTNG=$(usex lttng)
+ -DWITH_MGR=$(usex mgr)
+ -DWITH_NSS=$(usex nss)
+ -DWITH_OPENLDAP=$(usex ldap)
+ -DWITH_RADOSGW=$(usex radosgw)
+ -DWITH_SSL=$(usex ssl)
+ -DWITH_SYSTEMD=$(usex systemd)
+ -DWITH_TESTS=$(usex test)
+ -DWITH_XFS=$(usex xfs)
+ -DWITH_ZFS=$(usex zfs)
+ -DENABLE_SHARED=$(usex static-libs '' 'yes' 'no')
+ -DALLOCATOR=$(usex tcmalloc 'tcmalloc' '' "$(usex jemalloc 'jemalloc' '' 'libc' '')" '')
+ -DWITH_SYSTEM_BOOST=yes
+ -DWITH_RDMA=no
+ -DSYSTEMD_UNITDIR=$(systemd_get_systemunitdir)
+ )
+ if use amd64 || use x86; then
+ for flag in ${CPU_FLAGS_X86[@]}; do
+ mycmakeargs+=("$(usex cpu_flags_x86_${flag} "-DHAVE_INTEL_${flag^^}=1")")
+ done
+ fi
+
+ rm -f "${BUILD_DIR:-${S}}/CMakeCache.txt"
+ cmake-utils_src_configure
+
+ # bug #630232
+ sed -i "s:\"${T//:\\:}/${EPYTHON}/bin/python\":\"${PYTHON}\":" \
+ "${BUILD_DIR:-${CMAKE_BUILD_DIR:-${S}}}"/include/acconfig.h \
+ || die "sed failed"
+}
+
+src_configure() {
+ ceph_src_configure
+}
+
+python_compile() {
+ local CMAKE_USE_DIR="${S}"
+
+ ceph_src_configure
+ pushd "${BUILD_DIR}/src/pybind" >/dev/null || die
+ emake VERBOSE=1 all
+
+ # python modules are only compiled with "make install" so we need to do this to
+ # prevent doing a bunch of compilation in src_install
+ DESTDIR="${T}" emake VERBOSE=1 install
+ popd >/dev/null || die
+}
+
+src_compile() {
+ cmake-utils_src_make all
+
+ # we have to do this here to prevent from building everything multiple times
+ BUILD_DIR="${CMAKE_BUILD_DIR}" python_copy_sources
+ python_foreach_impl python_compile
+}
+
+src_test() {
+ make check || die "make check failed"
+}
+
+python_install() {
+ local CMAKE_USE_DIR="${S}"
+ pushd "${BUILD_DIR}/src/pybind" >/dev/null || die
+ DESTDIR="${D}" emake install
+ popd >/dev/null || die
+}
+
+src_install() {
+ cmake-utils_src_install
+ python_foreach_impl python_install
+
+ prune_libtool_files --all
+
+ exeinto /usr/$(get_libdir)/ceph
+ newexe "${CMAKE_BUILD_DIR}/bin/init-ceph" ceph_init.sh
+
+ insinto /etc/logrotate.d/
+ newins "${FILESDIR}"/ceph.logrotate ${PN}
+
+ keepdir /var/lib/${PN}{,/tmp} /var/log/${PN}/stat
+
+ fowners -R ceph:ceph /var/lib/ceph /var/log/ceph
+
+ newinitd "${FILESDIR}/rbdmap.initd" rbdmap
+ newinitd "${FILESDIR}/${PN}.initd-r6" ${PN}
+ newconfd "${FILESDIR}/${PN}.confd-r4" ${PN}
+
+ insinto /etc/sysctl.d
+ newins "${FILESDIR}"/sysctld 90-${PN}.conf
+
+ use tcmalloc && newenvd "${FILESDIR}"/envd-tcmalloc 99${PN}-tcmalloc
+
+ # units aren't installed by the build system unless systemd is enabled
+ # so no point installing these with the USE flag disabled
+ if use systemd; then
+ systemd_install_serviced "${FILESDIR}/ceph-mds_at.service.conf" \
+ "ceph-mds@.service"
+
+ systemd_install_serviced "${FILESDIR}/ceph-osd_at.service.conf" \
+ "ceph-osd@.service"
+ fi
+
+ udev_dorules udev/*.rules
+
+ readme.gentoo_create_doc
+
+ python_setup 'python2*'
+
+ # bug #630232
+ sed -i -r "s:${T//:/\\:}/${EPYTHON}:/usr:" "${ED}"/usr/bin/ceph \
+ || die "sed failed"
+
+ python_fix_shebang "${ED}"/usr/{,s}bin/
+
+ # python_fix_shebang apparently is not idempotent
+ sed -i -r 's:(/usr/lib/python-exec/python[0-9]\.[0-9]/python)[0-9]\.[0-9]:\1:' \
+ "${ED}"/usr/{sbin/ceph-disk,bin/ceph-detect-init} || die "sed failed"
+}
+
+pkg_postinst() {
+ readme.gentoo_print_elog
+}
diff --git a/sys-cluster/ceph/files/ceph-12.2.2-build-without-radosgw.patch b/sys-cluster/ceph/files/ceph-12.2.2-build-without-radosgw.patch
new file mode 100644
index 00000000000..29257c4747d
--- /dev/null
+++ b/sys-cluster/ceph/files/ceph-12.2.2-build-without-radosgw.patch
@@ -0,0 +1,34 @@
+From b00ac12f4045cd39ac9a436cf32d233d16bc3485 Mon Sep 17 00:00:00 2001
+From: Jason Dillaman <dillaman@redhat.com>
+Date: Tue, 5 Dec 2017 09:58:04 -0500
+Subject: [PATCH] ceph-dencoder: moved RBD types outside of RGW preprocessor
+ guard
+
+Fixes: http://tracker.ceph.com/issues/22321
+Signed-off-by: Jason Dillaman <dillaman@redhat.com>
+---
+ src/test/encoding/types.h | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/src/test/encoding/types.h b/src/test/encoding/types.h
+index c061e93bd58c..4cfcb15edff1 100644
+--- a/src/test/encoding/types.h
++++ b/src/test/encoding/types.h
+@@ -405,6 +405,8 @@ TYPE(rgw_data_sync_info)
+ TYPE(rgw_data_sync_marker)
+ TYPE(rgw_data_sync_status)
+
++#endif
++
+ #ifdef WITH_RBD
+ #include "cls/rbd/cls_rbd.h"
+ TYPE(cls_rbd_parent)
+@@ -416,8 +418,6 @@ TYPE(cls::rbd::MirrorImage)
+ TYPE(cls::rbd::MirrorImageMap)
+ #endif
+
+-#endif
+-
+ #include "cls/lock/cls_lock_types.h"
+ TYPE(rados::cls::lock::locker_id_t)
+ TYPE_FEATUREFUL(rados::cls::lock::locker_info_t)
diff --git a/sys-cluster/ceph/files/ceph.confd-r4 b/sys-cluster/ceph/files/ceph.confd-r4
new file mode 100644
index 00000000000..b8a0c930a49
--- /dev/null
+++ b/sys-cluster/ceph/files/ceph.confd-r4
@@ -0,0 +1,70 @@
+# /etc/conf.d/ceph: startup configurations for ceph
+
+# default ceph conf file
+#ceph_conf="/etc/ceph/ceph.conf"
+
+# Set ulimits for Ceph services.
+#rc_ulimit="-n 1048576 -u 1048576"
+
+# the directory under /run to store runtime information in
+#rundir=/run/ceph
+
+# the user and group to run ceph as
+#user="ceph"
+#group="ceph"
+
+# tell openrc to use control groups to make sure everything gets killed
+# properly on stop. Highly reccommended to leave this enabled.
+rc_cgroup_cleanup=1
+
+# settings for openrc supervisor for various ceph daemons
+#
+# defaults (can be overidden for each daemon)
+# stderr and stdout values get .${id}-std{out,err}.log appended
+# to the provided value
+#
+#respawn_delay=20
+#respawn_max=5
+#respawn_period=1800
+#stdout="/dev/null"
+#stderr="/dev/null"
+
+# radosgw
+#radosgw_respawn_max
+#radosgw_respawn_delay=20
+#radosgw_respawn_period=1800
+#radosgw_stdout="/dev/null"
+#radosgw_stderr="/dev/null"
+
+# mon
+#mon_respawn_max=5
+#mon_respawn_delay=20
+#mon_respawn_period=1800
+#mon_stdout="/dev/null"
+#mon_stderr="/dev/null"
+
+# osd
+#osd_respawn_max=5
+#osd_respawn_delay=30
+#osd_respawn_period=1800
+#osd_stdout="/dev/null"
+#osd_stderr="/dev/null"
+
+# mds
+#mds_respawn_max=5
+#mds_respawn_delay=20
+#mds_respawn_period=1800
+#mds_stdout="/dev/null"
+#mds_stderr="/dev/null"
+
+# mgr
+#mgr_respawn_max=5
+#mgr_respawn_delay=20
+#mgr_respawn_period=1800
+#mgr_stdout="/dev/null"
+#mgr_stderr="/dev/null"
+
+# initd stop timeout.
+#CEPH_TERMTIMEOUT="TERM/120/KILL/5"
+#
+# vim:ft=gentoo-conf-d:ts=4:sts=4:sw=4:noet:
diff --git a/sys-cluster/ceph/files/ceph.initd-r6 b/sys-cluster/ceph/files/ceph.initd-r6
new file mode 100644
index 00000000000..fd31b17eb5e
--- /dev/null
+++ b/sys-cluster/ceph/files/ceph.initd-r6
@@ -0,0 +1,87 @@
+#!/sbin/openrc-run
+
+ceph_conf="${ceph_conf:-/etc/ceph/ceph.conf}"
+extra_commands="reload"
+daemon_type="${RC_SVCNAME#ceph-}"
+daemon_type="${daemon_type%%.*}"
+daemon_id="${RC_SVCNAME#ceph-*.}"
+daemon_id="${daemon_id:-0}"
+: ${rundir:=/run/ceph}
+: ${user:=ceph}
+: ${group:=ceph}
+: ${rc_ulimit:=-n 1048576 -u 1048576}
+
+pidfile="${rundir}/supervisor-${daemon_type}.${daemon_id}.pid"
+daemon_pidfile="${rundir}/${daemon_type}.${daemon_id}.pid"
+
+command="/usr/bin/${RC_SVCNAME%%.*}"
+command_args="-i ${daemon_id} --pid-file ${daemon_pidfile} -c ${ceph_conf}"
+command_args_foreground="--foreground"
+
+retry="${CEPH_TERMTIMEOUT:-TERM/120/KILL/5}"
+start_stop_daemon_args="--user ${user} --group ${group}"
+supervise_daemon_args="--user ${user} --group ${group}"
+
+: ${supervisor:=supervise-daemon}
+: ${stdout:=/dev/null}
+: ${stderr:=/dev/null}
+: ${respawn_delay:=10}
+: ${respawn_max:=5}
+: ${respawn_period:=1800}
+
+: ${osd_respawn_delay:=15}
+: ${osd_respawn_max:=10}
+
+: ${radosgw_respawn_max:=5}
+: ${radosgw_respawn_period:=30}
+
+depend() {
+ use dns logger
+ after net ntpd ntp-client chronyd
+ before netmount
+}
+
+is_type_valid() {
+ case ${daemon_type} in
+ mon|mds|osd|mgr|radosgw) return 0;;
+ *) return 1;;
+ esac
+}
+
+start_pre() {
+ export CEPH_CONF="${ceph_conf}"
+
+ checkpath -d -q -o "${user}:${group}" "${rundir}"
+
+ if ! is_type_valid ;then
+ eerror "Please give valid Ceph Server Type: mds, mon, osd"
+ return 1
+
+ elif pgrep -f "[c]eph-${daemon_type} -i ${daemon_id} "; then
+ eerror "${daemon_type}.${daemon_id} is still running, refusing to start"
+ return 1
+ fi
+
+ local arg_name arg_val
+ for arg_name in std{out,err} respawn_{delay,max,period}; do
+ eval arg_val="\${${daemon_type}_${arg_name}}"
+
+ if [ -z "${arg_val}" ]; then
+ eval arg_val="\${${arg_name}}"
+ else
+ eval "${arg_name}=\"${arg_val}\""
+ fi
+
+ if [ "${arg_name}" = "stderr" ] || [ "${arg_name}" = "stdout" ]; then
+ supervise_daemon_args="${supervise_daemon_args} --${arg_name//_/-}=${arg_val}.${daemon_id}-${arg_name}.log"
+ fi
+ done
+}
+
+reload() {
+ ebegin "Reloading Ceph ${daemon_type}.${daemon_id}"
+ start-stop-daemon --signal 1 "${start_stop_daemon_args}"
+ eend ${?}
+}
+
+# vim:ft=gentoo-init-d:ts=4:sts=4:sw=4:noet:
^ permalink raw reply related [flat|nested] 68+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-cluster/ceph/, sys-cluster/ceph/files/
@ 2017-10-06 21:07 Patrick McLean
0 siblings, 0 replies; 68+ messages in thread
From: Patrick McLean @ 2017-10-06 21:07 UTC (permalink / raw
To: gentoo-commits
commit: 7d5c41836d7c2007f5e98561a949867e9052eefe
Author: Patrick McLean <chutzpah <AT> gentoo <DOT> org>
AuthorDate: Fri Oct 6 21:07:34 2017 +0000
Commit: Patrick McLean <chutzpah <AT> gentoo <DOT> org>
CommitDate: Fri Oct 6 21:07:34 2017 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=7d5c4183
sys-cluster/ceph: Drop old version 12.2.0
Package-Manager: Portage-2.3.11, Repoman-2.3.3
sys-cluster/ceph/Manifest | 1 -
sys-cluster/ceph/ceph-12.2.0-r2.ebuild | 284 ---------------------
...h-12.2.0-fix_two_stray_get_health_callers.patch | 46 ----
3 files changed, 331 deletions(-)
diff --git a/sys-cluster/ceph/Manifest b/sys-cluster/ceph/Manifest
index e7c22e036c6..e37ff62073c 100644
--- a/sys-cluster/ceph/Manifest
+++ b/sys-cluster/ceph/Manifest
@@ -2,5 +2,4 @@ DIST ceph-10.2.10.tar.gz 14573701 SHA256 41210ac8cb71d9c9d6504b57adce496d3272ee8
DIST ceph-10.2.3.tar.gz 11596171 SHA256 dca933aa14db67b404d836ef510bd418091978edc2f0c74dfc530ba0aa5e8994 SHA512 9de1e6851fc343d2c52c72cec3f7887d998d5b588f1251ee3a1fda14427badfa10408e6691fb03a374a10f4ec9844868423fee70fbbe2c0d962af98481412f19 WHIRLPOOL 981ebca66113a07a5cc6e5934272a72b29a2c19e03398f7b622c11df6ea0a05339558dfc2f11504403cbbd0efe0b090ad59f4b86206b46db57587744091aa26a
DIST ceph-10.2.7.tar.gz 14518491 SHA256 2cdfeaa9a08e94c2d35f540b450bbf64b2a694bd537679834185e98fc59d8ba2 SHA512 7e0686e9efa4ddd9d548f4145b448f8232f1ca29b08428daa5cd60a74ce26f1176a1f2ebbf2ac1761d9e6c1d364a5ffa194d2b3a18a8111f59b7c27f7a1d7734 WHIRLPOOL b6b6902230401b5f4c6f27801f315678bdc7b99aab4e50b54d941fc3a425b4f0fa9390484f2e12d6b4f962253fb8772fb706dad35d490b4542b06db166fab59b
DIST ceph-10.2.9.tar.gz 14550219 SHA256 3d93f4fc4a66b1d9f9ce43f65868dc18287cea32fbb2c7421faca6aed2b52a80 SHA512 1d59146614aa87ca551b05b795a684071a3cfb4ce6013e978ba650403c6732b2aa13f3c3cc191e6a1ea34b4631c82e97700593c24e200c41ec2f2b43b3ef5547 WHIRLPOOL 42215d33c4f617087e1b0ef81cd41b42330c3605acf625b0668d44eba9e982239683b466a1cc1a6f926fc1d439dfd6be4ce220f783da7d2214d36a2a6cc9181f
-DIST ceph-12.2.0.tar.gz 148372459 SHA256 0f601a9e28e9ce6837119b3ef0d89e1e44e0432f1f5d55567a947efefdd4d4ce SHA512 e084109c48f5666e35df5ee49262dee36ba5e7620fda30002dec538a87de11bdd21157436b5656557cd909a0943071046f3a17dd679aa1129b88b8b925f73113 WHIRLPOOL 60016eb5a20159bfc74b16c4135055cf8bf68bd868ef897b2455107a1014d4663efd55e6f5977e7d2e29010660a59d6134e3af32922d15dccbae07145c9023ea
DIST ceph-12.2.1.tar.gz 148738778 SHA256 512666ee88610640d66b261f9307c96ccd70eb25cd3349acd083fb1220c8a32e SHA512 ec2623c1f6ab563c6fd0bb5fd046c78528fdbedca7cde347c92a9b15005d2ab2b1a46d7294e93f56933386462f1066750285109aafb6bf94f7d5bcdb7214d8a8 WHIRLPOOL 6a22bc7080483b3fe161bfc441b9fdf1a85d2bd9a394e89db2005a229397d206614d3e7a0d84cf7521822688faf4b92ca75ad4ce586de0d262fdda5c94b4f904
diff --git a/sys-cluster/ceph/ceph-12.2.0-r2.ebuild b/sys-cluster/ceph/ceph-12.2.0-r2.ebuild
deleted file mode 100644
index 677d00832e3..00000000000
--- a/sys-cluster/ceph/ceph-12.2.0-r2.ebuild
+++ /dev/null
@@ -1,284 +0,0 @@
-# Copyright 1999-2017 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-PYTHON_COMPAT=( python{2_7,3_{4,5,6}} )
-DISTUTILS_OPTIONAL=1
-
-inherit check-reqs cmake-utils distutils-r1 python-r1 udev user systemd \
- readme.gentoo-r1 flag-o-matic
-
-if [[ ${PV} == *9999* ]]; then
- inherit git-r3
- EGIT_REPO_URI="https://github.com/ceph/ceph.git"
- SRC_URI=""
-else
- SRC_URI="https://download.ceph.com/tarballs/${P}.tar.gz"
- KEYWORDS="~amd64 ~arm64 ~x86"
-fi
-
-DESCRIPTION="Ceph distributed filesystem"
-HOMEPAGE="https://ceph.com/"
-
-LICENSE="LGPL-2.1 CC-BY-SA-1.0 GPL-2 BSD Boost-1.0 MIT"
-SLOT="0"
-
-CPU_FLAGS_X86=(sse{,2,3,4_1,4_2} ssse3)
-
-IUSE="babeltrace cephfs fuse jemalloc ldap lttng +mgr nss +radosgw +ssl"
-IUSE+=" static-libs systemd +tcmalloc test xfs zfs"
-IUSE+=" $(printf "cpu_flags_x86_%s\n" ${CPU_FLAGS_X86[@]})"
-
-# unbundling code commented out pending bugs 584056 and 584058
-#>=dev-libs/jerasure-2.0.0-r1
-#>=dev-libs/gf-complete-2.0.0
-COMMON_DEPEND="
- virtual/libudev
- app-arch/bzip2:=[static-libs?]
- app-arch/lz4:=[static-libs?]
- app-arch/snappy:=[static-libs?]
- app-arch/zstd:=[static-libs?]
- app-misc/jq:=[static-libs?]
- dev-libs/boost:=[threads,context,python,static-libs?,${PYTHON_USEDEP}]
- dev-libs/crypto++:=[static-libs?]
- dev-libs/leveldb:=[snappy,static-libs?]
- dev-libs/libaio:=[static-libs?]
- dev-libs/libxml2:=[static-libs?]
- sys-apps/keyutils:=[static-libs?]
- sys-apps/util-linux:=[static-libs?]
- sys-libs/zlib:=[static-libs?]
- babeltrace? ( dev-util/babeltrace )
- ldap? ( net-nds/openldap:=[static-libs?] )
- lttng? ( dev-util/lttng-ust:= )
- nss? ( dev-libs/nss:= )
- fuse? ( sys-fs/fuse:0=[static-libs?] )
- ssl? ( dev-libs/openssl:=[static-libs?] )
- xfs? ( sys-fs/xfsprogs:=[static-libs?] )
- zfs? ( sys-fs/zfs:=[static-libs?] )
- radosgw? (
- dev-libs/expat:=[static-libs?]
- dev-libs/openssl:=[static-libs?]
- net-misc/curl:=[static-libs?]
- )
- jemalloc? ( dev-libs/jemalloc:=[static-libs?] )
- !jemalloc? ( >=dev-util/google-perftools-2.4:=[static-libs?] )
- ${PYTHON_DEPS}
- "
-DEPEND="${COMMON_DEPEND}
- app-arch/cpio
- dev-lang/yasm
- dev-python/cython[${PYTHON_USEDEP}]
- dev-python/sphinx
- dev-util/gperf
- dev-util/valgrind
- sys-apps/which
- sys-devel/bc
- virtual/pkgconfig
- test? (
- dev-python/tox[${PYTHON_USEDEP}]
- dev-python/virtualenv[${PYTHON_USEDEP}]
- sys-apps/grep[pcre]
- sys-fs/btrfs-progs
- )"
-RDEPEND="${COMMON_DEPEND}
- net-misc/socat
- sys-apps/gptfdisk
- sys-block/parted
- sys-fs/cryptsetup
- !<sys-apps/openrc-0.26.3
- dev-python/cherrypy[${PYTHON_USEDEP}]
- dev-python/flask[${PYTHON_USEDEP}]
- dev-python/pecan[${PYTHON_USEDEP}]
- dev-python/prettytable[${PYTHON_USEDEP}]
- dev-python/pyopenssl[${PYTHON_USEDEP}]
- dev-python/requests[${PYTHON_USEDEP}]
- dev-python/werkzeug[${PYTHON_USEDEP}]
- "
-REQUIRED_USE="
- $(python_gen_useflags 'python2*')
- ${PYTHON_REQUIRED_USE}
- ?? ( ssl nss )
- ?? ( jemalloc tcmalloc )
- "
-
-# radosgw seems to be required to actually build
-REQUIRED_USE+=" radosgw"
-
-RESTRICT="test? ( userpriv )"
-
-# distribution tarball does not include everything needed for tests
-RESTRICT+=" test"
-
-STRIP_MASK="/usr/lib*/rados-classes/*"
-
-UNBUNDLE_LIBS=(
- src/erasure-code/jerasure/jerasure
- src/erasure-code/jerasure/gf-complete
-)
-
-PATCHES=(
- "${FILESDIR}/${PN}-12.2.0-use-provided-cpu-flag-values.patch"
- "${FILESDIR}/${PN}-12.2.0-cflags.patch"
-
- # pull in some bugfixes from upstream
- "${FILESDIR}/${PN}-12.2.0-fix_two_stray_get_health_callers.patch"
-)
-
-check-reqs_export_vars() {
- if use amd64; then
- CHECKREQS_DISK_BUILD="12G"
- CHECKREQS_DISK_USR="460M"
- else
- CHECKREQS_DISK_BUILD="1400M"
- CHECKREQS_DISK_USR="450M"
- fi
-
- export CHECKREQS_DISK_BUILD CHECKREQS_DISK_USR
-}
-
-user_setup() {
- enewgroup ceph ${CEPH_GID:--1}
- enewuser ceph "${CEPH_UID:--1}" -1 /var/lib/ceph ceph
-}
-
-pkg_pretend() {
- check-reqs_export_vars
- check-reqs_pkg_pretend
-}
-
-pkg_setup() {
- python_setup 'python2*'
- check-reqs_export_vars
- check-reqs_pkg_setup
- user_setup
-}
-
-src_prepare() {
- default
-
- # remove tests that need root access
- rm src/test/cli/ceph-authtool/cap*.t
-
- #rm -rf "${UNBUNDLE_LIBS[@]}"
-}
-
-ceph_src_configure() {
- local flag
- local mycmakeargs=(
- -DWITH_BABELTRACE=$(usex babeltrace)
- -DWITH_CEPHFS=$(usex cephfs)
- -DWITH_FUSE=$(usex fuse)
- -DWITH_LTTNG=$(usex lttng)
- -DWITH_MGR=$(usex mgr)
- -DWITH_NSS=$(usex nss)
- -DWITH_OPENLDAP=$(usex ldap)
- -DWITH_RADOSGW=$(usex radosgw)
- -DWITH_SSL=$(usex ssl)
- -DWITH_SYSTEMD=$(usex systemd)
- -DWITH_TESTS=$(usex test)
- -DWITH_XFS=$(usex xfs)
- -DWITH_ZFS=$(usex zfs)
- -DENABLE_SHARED=$(usex static-libs '' 'yes' 'no')
- -DALLOCATOR=$(usex tcmalloc 'tcmalloc' '' "$(usex jemalloc 'jemalloc' '' 'libc' '')" '')
- -DWITH_SYSTEM_BOOST=yes
- -DWITH_RDMA=no
- )
- if use amd64 || use x86; then
- for flag in ${CPU_FLAGS_X86[@]}; do
- mycmakeargs+=("$(usex cpu_flags_x86_${flag} "-DHAVE_INTEL_${flag^^}=1")")
- done
- fi
-
- rm -f "${BUILD_DIR:-${S}}/CMakeCache.txt"
- cmake-utils_src_configure
-
- # bug #630232
- sed -i "s:\"${T//:\\:}/${EPYTHON}/bin/python\":\"${PYTHON}\":" \
- "${BUILD_DIR:-${CMAKE_BUILD_DIR:-${S}}}"/include/acconfig.h \
- || die "sed failed"
-}
-
-src_configure() {
- ceph_src_configure
-}
-
-python_compile() {
- local CMAKE_USE_DIR="${S}"
-
- ceph_src_configure
- pushd "${BUILD_DIR}/src/pybind" >/dev/null || die
- emake VERBOSE=1 all
-
- # python modules are only compiled with "make install" so we need to do this to
- # prevent doing a bunch of compilation in src_install
- DESTDIR="${T}" emake VERBOSE=1 install
- popd >/dev/null || die
-}
-
-src_compile() {
- cmake-utils_src_make all
-
- # we have to do this here to prevent from building everything multiple times
- BUILD_DIR="${CMAKE_BUILD_DIR}" python_copy_sources
- python_foreach_impl python_compile
-}
-
-src_test() {
- make check || die "make check failed"
-}
-
-python_install() {
- local CMAKE_USE_DIR="${S}"
- pushd "${BUILD_DIR}/src/pybind" >/dev/null || die
- DESTDIR="${D}" emake install
- popd >/dev/null || die
-}
-
-src_install() {
- cmake-utils_src_install
- python_foreach_impl python_install
-
- prune_libtool_files --all
-
- exeinto /usr/$(get_libdir)/ceph
- newexe "${CMAKE_BUILD_DIR}/bin/init-ceph" ceph_init.sh
-
- insinto /etc/logrotate.d/
- newins "${FILESDIR}"/ceph.logrotate ${PN}
-
- keepdir /var/lib/${PN}{,/tmp} /var/log/${PN}/stat
-
- fowners -R ceph:ceph /var/lib/ceph /var/log/ceph
-
- newinitd "${FILESDIR}/rbdmap.initd" rbdmap
- newinitd "${FILESDIR}/${PN}.initd-r5" ${PN}
- newconfd "${FILESDIR}/${PN}.confd-r3" ${PN}
-
- insinto /etc/sysctl.d
- newins "${FILESDIR}"/sysctld 90-${PN}.conf
-
- use tcmalloc && newenvd "${FILESDIR}"/envd-tcmalloc 99${PN}-tcmalloc
-
- systemd_install_serviced "${FILESDIR}/ceph-mds_at.service.conf" "ceph-mds@.service"
- systemd_install_serviced "${FILESDIR}/ceph-osd_at.service.conf" "ceph-osd@.service"
-
- udev_dorules udev/*.rules
-
- readme.gentoo_create_doc
-
- python_setup 'python2*'
-
- # bug #630232
- sed -i -r "s:${T//:/\\:}/${EPYTHON}:/usr:" "${ED}"/usr/bin/ceph \
- || die "sed failed"
-
- python_fix_shebang "${ED}"/usr/{,s}bin/
-
- # python_fix_shebang apparently is not idempotent
- sed -i -r 's:(/usr/lib/python-exec/python[0-9]\.[0-9]/python)[0-9]\.[0-9]:\1:' \
- "${ED}"/usr/{sbin/ceph-disk,bin/ceph-detect-init} || die "sed failed"
-}
-
-pkg_postinst() {
- readme.gentoo_print_elog
-}
diff --git a/sys-cluster/ceph/files/ceph-12.2.0-fix_two_stray_get_health_callers.patch b/sys-cluster/ceph/files/ceph-12.2.0-fix_two_stray_get_health_callers.patch
deleted file mode 100644
index ec6f53ef461..00000000000
--- a/sys-cluster/ceph/files/ceph-12.2.0-fix_two_stray_get_health_callers.patch
+++ /dev/null
@@ -1,46 +0,0 @@
-commit b713cc831da238844a6e42e80e93cb31ee060aad
-Author: Sage Weil <sage@redhat.com>
-Date: Fri Aug 25 18:30:12 2017 -0400
-
- mon: fix two stray legacy get_health() callers
-
- These need to call the new method when appropriate.
-
- Signed-off-by: Sage Weil <sage@redhat.com>
- (cherry picked from commit 69038a18070d0cd47dc857020cce115514beaa3d)
-
-diff --git a/src/mon/Monitor.cc b/src/mon/Monitor.cc
-index d98a40967b..b330d78f8c 100644
---- a/src/mon/Monitor.cc
-+++ b/src/mon/Monitor.cc
-@@ -3363,8 +3363,12 @@ void Monitor::handle_command(MonOpRequestRef op)
- tagstr = tagstr.substr(0, tagstr.find_last_of(' '));
- f->dump_string("tag", tagstr);
-
-- list<string> hs;
-- get_health(hs, NULL, f.get());
-+ if (osdmon()->osdmap.require_osd_release >= CEPH_RELEASE_LUMINOUS) {
-+ get_health_status(true, f.get(), nullptr);
-+ } else {
-+ list<string> health_str;
-+ get_health(health_str, nullptr, f.get());
-+ }
-
- monmon()->dump_info(f.get());
- osdmon()->dump_info(f.get());
-@@ -4399,8 +4403,13 @@ void Monitor::handle_ping(MonOpRequestRef op)
- boost::scoped_ptr<Formatter> f(new JSONFormatter(true));
- f->open_object_section("pong");
-
-- list<string> health_str;
-- get_health(health_str, NULL, f.get());
-+ if (osdmon()->osdmap.require_osd_release >= CEPH_RELEASE_LUMINOUS) {
-+ get_health_status(false, f.get(), nullptr);
-+ } else {
-+ list<string> health_str;
-+ get_health(health_str, nullptr, f.get());
-+ }
-+
- {
- stringstream ss;
- get_mon_status(f.get(), ss);
^ permalink raw reply related [flat|nested] 68+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-cluster/ceph/, sys-cluster/ceph/files/
@ 2017-09-27 21:19 Patrick McLean
0 siblings, 0 replies; 68+ messages in thread
From: Patrick McLean @ 2017-09-27 21:19 UTC (permalink / raw
To: gentoo-commits
commit: 9dd511f4d8969258c23668e21dbd08f5ab76ae46
Author: Patrick McLean <chutzpah <AT> gentoo <DOT> org>
AuthorDate: Wed Sep 27 21:19:27 2017 +0000
Commit: Patrick McLean <chutzpah <AT> gentoo <DOT> org>
CommitDate: Wed Sep 27 21:19:27 2017 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=9dd511f4
sys-cluster/ceph: Version bump to 12.2.1
Package-Manager: Portage-2.3.10, Repoman-2.3.3
sys-cluster/ceph/Manifest | 1 +
sys-cluster/ceph/ceph-12.2.1.ebuild | 290 +++++++++++++++++++++
.../ceph/files/ceph-12.2.1-systemd-unitdir.patch | 10 +
3 files changed, 301 insertions(+)
diff --git a/sys-cluster/ceph/Manifest b/sys-cluster/ceph/Manifest
index 54c044058ee..22da72e93ca 100644
--- a/sys-cluster/ceph/Manifest
+++ b/sys-cluster/ceph/Manifest
@@ -2,3 +2,4 @@ DIST ceph-10.2.3.tar.gz 11596171 SHA256 dca933aa14db67b404d836ef510bd418091978ed
DIST ceph-10.2.7.tar.gz 14518491 SHA256 2cdfeaa9a08e94c2d35f540b450bbf64b2a694bd537679834185e98fc59d8ba2 SHA512 7e0686e9efa4ddd9d548f4145b448f8232f1ca29b08428daa5cd60a74ce26f1176a1f2ebbf2ac1761d9e6c1d364a5ffa194d2b3a18a8111f59b7c27f7a1d7734 WHIRLPOOL b6b6902230401b5f4c6f27801f315678bdc7b99aab4e50b54d941fc3a425b4f0fa9390484f2e12d6b4f962253fb8772fb706dad35d490b4542b06db166fab59b
DIST ceph-10.2.9.tar.gz 14550219 SHA256 3d93f4fc4a66b1d9f9ce43f65868dc18287cea32fbb2c7421faca6aed2b52a80 SHA512 1d59146614aa87ca551b05b795a684071a3cfb4ce6013e978ba650403c6732b2aa13f3c3cc191e6a1ea34b4631c82e97700593c24e200c41ec2f2b43b3ef5547 WHIRLPOOL 42215d33c4f617087e1b0ef81cd41b42330c3605acf625b0668d44eba9e982239683b466a1cc1a6f926fc1d439dfd6be4ce220f783da7d2214d36a2a6cc9181f
DIST ceph-12.2.0.tar.gz 148372459 SHA256 0f601a9e28e9ce6837119b3ef0d89e1e44e0432f1f5d55567a947efefdd4d4ce SHA512 e084109c48f5666e35df5ee49262dee36ba5e7620fda30002dec538a87de11bdd21157436b5656557cd909a0943071046f3a17dd679aa1129b88b8b925f73113 WHIRLPOOL 60016eb5a20159bfc74b16c4135055cf8bf68bd868ef897b2455107a1014d4663efd55e6f5977e7d2e29010660a59d6134e3af32922d15dccbae07145c9023ea
+DIST ceph-12.2.1.tar.gz 148738778 SHA256 512666ee88610640d66b261f9307c96ccd70eb25cd3349acd083fb1220c8a32e SHA512 ec2623c1f6ab563c6fd0bb5fd046c78528fdbedca7cde347c92a9b15005d2ab2b1a46d7294e93f56933386462f1066750285109aafb6bf94f7d5bcdb7214d8a8 WHIRLPOOL 6a22bc7080483b3fe161bfc441b9fdf1a85d2bd9a394e89db2005a229397d206614d3e7a0d84cf7521822688faf4b92ca75ad4ce586de0d262fdda5c94b4f904
diff --git a/sys-cluster/ceph/ceph-12.2.1.ebuild b/sys-cluster/ceph/ceph-12.2.1.ebuild
new file mode 100644
index 00000000000..c7fa5ee49c0
--- /dev/null
+++ b/sys-cluster/ceph/ceph-12.2.1.ebuild
@@ -0,0 +1,290 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+PYTHON_COMPAT=( python{2_7,3_{4,5,6}} )
+DISTUTILS_OPTIONAL=1
+
+inherit check-reqs cmake-utils distutils-r1 python-r1 udev user systemd \
+ readme.gentoo-r1 flag-o-matic
+
+if [[ ${PV} == *9999* ]]; then
+ inherit git-r3
+ EGIT_REPO_URI="https://github.com/ceph/ceph.git"
+ SRC_URI=""
+else
+ SRC_URI="https://download.ceph.com/tarballs/${P}.tar.gz"
+ KEYWORDS="~amd64 ~arm64 ~x86"
+fi
+
+DESCRIPTION="Ceph distributed filesystem"
+HOMEPAGE="https://ceph.com/"
+
+LICENSE="LGPL-2.1 CC-BY-SA-1.0 GPL-2 BSD Boost-1.0 MIT"
+SLOT="0"
+
+CPU_FLAGS_X86=(sse{,2,3,4_1,4_2} ssse3)
+
+IUSE="babeltrace cephfs fuse jemalloc ldap lttng +mgr nss +radosgw +ssl"
+IUSE+=" static-libs systemd +tcmalloc test xfs zfs"
+IUSE+=" $(printf "cpu_flags_x86_%s\n" ${CPU_FLAGS_X86[@]})"
+
+# unbundling code commented out pending bugs 584056 and 584058
+#>=dev-libs/jerasure-2.0.0-r1
+#>=dev-libs/gf-complete-2.0.0
+COMMON_DEPEND="
+ virtual/libudev
+ app-arch/bzip2:=[static-libs?]
+ app-arch/lz4:=[static-libs?]
+ app-arch/snappy:=[static-libs?]
+ app-arch/zstd:=[static-libs?]
+ app-misc/jq:=[static-libs?]
+ dev-libs/boost:=[threads,context,python,static-libs?,${PYTHON_USEDEP}]
+ dev-libs/crypto++:=[static-libs?]
+ dev-libs/leveldb:=[snappy,static-libs?]
+ dev-libs/libaio:=[static-libs?]
+ dev-libs/libxml2:=[static-libs?]
+ sys-apps/keyutils:=[static-libs?]
+ sys-apps/util-linux:=[static-libs?]
+ sys-libs/zlib:=[static-libs?]
+ babeltrace? ( dev-util/babeltrace )
+ ldap? ( net-nds/openldap:=[static-libs?] )
+ lttng? ( dev-util/lttng-ust:= )
+ nss? ( dev-libs/nss:= )
+ fuse? ( sys-fs/fuse:0=[static-libs?] )
+ ssl? ( dev-libs/openssl:=[static-libs?] )
+ xfs? ( sys-fs/xfsprogs:=[static-libs?] )
+ zfs? ( sys-fs/zfs:=[static-libs?] )
+ radosgw? (
+ dev-libs/expat:=[static-libs?]
+ dev-libs/openssl:=[static-libs?]
+ net-misc/curl:=[static-libs?]
+ )
+ jemalloc? ( dev-libs/jemalloc:=[static-libs?] )
+ !jemalloc? ( >=dev-util/google-perftools-2.4:=[static-libs?] )
+ ${PYTHON_DEPS}
+ "
+DEPEND="${COMMON_DEPEND}
+ app-arch/cpio
+ dev-lang/yasm
+ dev-python/cython[${PYTHON_USEDEP}]
+ dev-python/sphinx
+ dev-util/gperf
+ dev-util/valgrind
+ sys-apps/which
+ sys-devel/bc
+ virtual/pkgconfig
+ test? (
+ dev-python/tox[${PYTHON_USEDEP}]
+ dev-python/virtualenv[${PYTHON_USEDEP}]
+ sys-apps/grep[pcre]
+ sys-fs/btrfs-progs
+ )"
+RDEPEND="${COMMON_DEPEND}
+ net-misc/socat
+ sys-apps/gptfdisk
+ sys-block/parted
+ sys-fs/cryptsetup
+ !<sys-apps/openrc-0.26.3
+ dev-python/cherrypy[${PYTHON_USEDEP}]
+ dev-python/flask[${PYTHON_USEDEP}]
+ dev-python/pecan[${PYTHON_USEDEP}]
+ dev-python/prettytable[${PYTHON_USEDEP}]
+ dev-python/pyopenssl[${PYTHON_USEDEP}]
+ dev-python/requests[${PYTHON_USEDEP}]
+ dev-python/werkzeug[${PYTHON_USEDEP}]
+ "
+REQUIRED_USE="
+ $(python_gen_useflags 'python2*')
+ ${PYTHON_REQUIRED_USE}
+ ?? ( ssl nss )
+ ?? ( jemalloc tcmalloc )
+ "
+
+# radosgw seems to be required to actually build
+REQUIRED_USE+=" radosgw"
+
+RESTRICT="test? ( userpriv )"
+
+# distribution tarball does not include everything needed for tests
+RESTRICT+=" test"
+
+STRIP_MASK="/usr/lib*/rados-classes/*"
+
+UNBUNDLE_LIBS=(
+ src/erasure-code/jerasure/jerasure
+ src/erasure-code/jerasure/gf-complete
+)
+
+PATCHES=(
+ "${FILESDIR}/${PN}-12.2.0-use-provided-cpu-flag-values.patch"
+ "${FILESDIR}/${PN}-12.2.0-cflags.patch"
+ "${FILESDIR}/${PN}-12.2.1-systemd-unitdir.patch"
+)
+
+check-reqs_export_vars() {
+ if use amd64; then
+ CHECKREQS_DISK_BUILD="12G"
+ CHECKREQS_DISK_USR="460M"
+ else
+ CHECKREQS_DISK_BUILD="1400M"
+ CHECKREQS_DISK_USR="450M"
+ fi
+
+ export CHECKREQS_DISK_BUILD CHECKREQS_DISK_USR
+}
+
+user_setup() {
+ enewgroup ceph ${CEPH_GID:--1}
+ enewuser ceph "${CEPH_UID:--1}" -1 /var/lib/ceph ceph
+}
+
+pkg_pretend() {
+ check-reqs_export_vars
+ check-reqs_pkg_pretend
+}
+
+pkg_setup() {
+ python_setup 'python2*'
+ check-reqs_export_vars
+ check-reqs_pkg_setup
+ user_setup
+}
+
+src_prepare() {
+ default
+
+ # remove tests that need root access
+ rm src/test/cli/ceph-authtool/cap*.t
+
+ #rm -rf "${UNBUNDLE_LIBS[@]}"
+}
+
+ceph_src_configure() {
+ local flag
+ local mycmakeargs=(
+ -DWITH_BABELTRACE=$(usex babeltrace)
+ -DWITH_CEPHFS=$(usex cephfs)
+ -DWITH_FUSE=$(usex fuse)
+ -DWITH_LTTNG=$(usex lttng)
+ -DWITH_MGR=$(usex mgr)
+ -DWITH_NSS=$(usex nss)
+ -DWITH_OPENLDAP=$(usex ldap)
+ -DWITH_RADOSGW=$(usex radosgw)
+ -DWITH_SSL=$(usex ssl)
+ -DWITH_SYSTEMD=$(usex systemd)
+ -DWITH_TESTS=$(usex test)
+ -DWITH_XFS=$(usex xfs)
+ -DWITH_ZFS=$(usex zfs)
+ -DENABLE_SHARED=$(usex static-libs '' 'yes' 'no')
+ -DALLOCATOR=$(usex tcmalloc 'tcmalloc' '' "$(usex jemalloc 'jemalloc' '' 'libc' '')" '')
+ -DWITH_SYSTEM_BOOST=yes
+ -DWITH_RDMA=no
+ -DSYSTEMD_UNITDIR=$(systemd_get_systemunitdir)
+ )
+ if use amd64 || use x86; then
+ for flag in ${CPU_FLAGS_X86[@]}; do
+ mycmakeargs+=("$(usex cpu_flags_x86_${flag} "-DHAVE_INTEL_${flag^^}=1")")
+ done
+ fi
+
+ rm -f "${BUILD_DIR:-${S}}/CMakeCache.txt"
+ cmake-utils_src_configure
+
+ # bug #630232
+ sed -i "s:\"${T//:\\:}/${EPYTHON}/bin/python\":\"${PYTHON}\":" \
+ "${BUILD_DIR:-${CMAKE_BUILD_DIR:-${S}}}"/include/acconfig.h \
+ || die "sed failed"
+}
+
+src_configure() {
+ ceph_src_configure
+}
+
+python_compile() {
+ local CMAKE_USE_DIR="${S}"
+
+ ceph_src_configure
+ pushd "${BUILD_DIR}/src/pybind" >/dev/null || die
+ emake VERBOSE=1 all
+
+ # python modules are only compiled with "make install" so we need to do this to
+ # prevent doing a bunch of compilation in src_install
+ DESTDIR="${T}" emake VERBOSE=1 install
+ popd >/dev/null || die
+}
+
+src_compile() {
+ cmake-utils_src_make all
+
+ # we have to do this here to prevent from building everything multiple times
+ BUILD_DIR="${CMAKE_BUILD_DIR}" python_copy_sources
+ python_foreach_impl python_compile
+}
+
+src_test() {
+ make check || die "make check failed"
+}
+
+python_install() {
+ local CMAKE_USE_DIR="${S}"
+ pushd "${BUILD_DIR}/src/pybind" >/dev/null || die
+ DESTDIR="${D}" emake install
+ popd >/dev/null || die
+}
+
+src_install() {
+ cmake-utils_src_install
+ python_foreach_impl python_install
+
+ prune_libtool_files --all
+
+ exeinto /usr/$(get_libdir)/ceph
+ newexe "${CMAKE_BUILD_DIR}/bin/init-ceph" ceph_init.sh
+
+ insinto /etc/logrotate.d/
+ newins "${FILESDIR}"/ceph.logrotate ${PN}
+
+ keepdir /var/lib/${PN}{,/tmp} /var/log/${PN}/stat
+
+ fowners -R ceph:ceph /var/lib/ceph /var/log/ceph
+
+ newinitd "${FILESDIR}/rbdmap.initd" rbdmap
+ newinitd "${FILESDIR}/${PN}.initd-r5" ${PN}
+ newconfd "${FILESDIR}/${PN}.confd-r3" ${PN}
+
+ insinto /etc/sysctl.d
+ newins "${FILESDIR}"/sysctld 90-${PN}.conf
+
+ use tcmalloc && newenvd "${FILESDIR}"/envd-tcmalloc 99${PN}-tcmalloc
+
+ # units aren't installed by the build system unless systemd is enabled
+ # so no point installing these with the USE flag disabled
+ if use systemd; then
+ systemd_install_serviced "${FILESDIR}/ceph-mds_at.service.conf" \
+ "ceph-mds@.service"
+
+ systemd_install_serviced "${FILESDIR}/ceph-osd_at.service.conf" \
+ "ceph-osd@.service"
+ fi
+
+ udev_dorules udev/*.rules
+
+ readme.gentoo_create_doc
+
+ python_setup 'python2*'
+
+ # bug #630232
+ sed -i -r "s:${T//:/\\:}/${EPYTHON}:/usr:" "${ED}"/usr/bin/ceph \
+ || die "sed failed"
+
+ python_fix_shebang "${ED}"/usr/{,s}bin/
+
+ # python_fix_shebang apparently is not idempotent
+ sed -i -r 's:(/usr/lib/python-exec/python[0-9]\.[0-9]/python)[0-9]\.[0-9]:\1:' \
+ "${ED}"/usr/{sbin/ceph-disk,bin/ceph-detect-init} || die "sed failed"
+}
+
+pkg_postinst() {
+ readme.gentoo_print_elog
+}
diff --git a/sys-cluster/ceph/files/ceph-12.2.1-systemd-unitdir.patch b/sys-cluster/ceph/files/ceph-12.2.1-systemd-unitdir.patch
new file mode 100644
index 00000000000..28d1a02d711
--- /dev/null
+++ b/sys-cluster/ceph/files/ceph-12.2.1-systemd-unitdir.patch
@@ -0,0 +1,10 @@
+diff --git a/systemd/CMakeLists.txt b/systemd/CMakeLists.txt
+index 3b03b6e613..c359ad2df9 100644
+--- a/systemd/CMakeLists.txt
++++ b/systemd/CMakeLists.txt
+@@ -17,4 +17,4 @@ install(FILES
+ ceph-disk@.service
+ ceph-volume@.service
+ rbdmap.service
+- DESTINATION ${CMAKE_INSTALL_LIBEXECDIR}/systemd/system)
++ DESTINATION ${SYSTEMD_UNITDIR})
^ permalink raw reply related [flat|nested] 68+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-cluster/ceph/, sys-cluster/ceph/files/
@ 2017-09-07 23:40 Patrick McLean
0 siblings, 0 replies; 68+ messages in thread
From: Patrick McLean @ 2017-09-07 23:40 UTC (permalink / raw
To: gentoo-commits
commit: b38b1860a141b00d8e897e3771069f6a68ae6398
Author: Patrick McLean <chutzpah <AT> gentoo <DOT> org>
AuthorDate: Thu Sep 7 23:35:43 2017 +0000
Commit: Patrick McLean <chutzpah <AT> gentoo <DOT> org>
CommitDate: Thu Sep 7 23:35:43 2017 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=b38b1860
sys-cluster/ceph: Revision bump to 12.2.0-r1, fix references to temp python link
This also fixes some overriding of system CFLAGS.
Gentoo-Bug: 630232
Package-Manager: Portage-2.3.8, Repoman-2.3.3
.../ceph/{ceph-12.2.0.ebuild => ceph-12.2.0-r1.ebuild} | 11 +++++++++++
sys-cluster/ceph/files/ceph-12.2.0-cflags.patch | 13 +++++++++++++
2 files changed, 24 insertions(+)
diff --git a/sys-cluster/ceph/ceph-12.2.0.ebuild b/sys-cluster/ceph/ceph-12.2.0-r1.ebuild
similarity index 95%
rename from sys-cluster/ceph/ceph-12.2.0.ebuild
rename to sys-cluster/ceph/ceph-12.2.0-r1.ebuild
index e5e89e7a1c7..c068ab583fc 100644
--- a/sys-cluster/ceph/ceph-12.2.0.ebuild
+++ b/sys-cluster/ceph/ceph-12.2.0-r1.ebuild
@@ -117,6 +117,7 @@ UNBUNDLE_LIBS=(
PATCHES=(
"${FILESDIR}/${PN}-12.2.0-use-provided-cpu-flag-values.patch"
+ "${FILESDIR}/${PN}-12.2.0-cflags.patch"
# pull in some bugfixes from upstream
"${FILESDIR}/${PN}-12.2.0-fix_two_stray_get_health_callers.patch"
@@ -189,6 +190,11 @@ ceph_src_configure() {
rm -f "${BUILD_DIR:-${S}}/CMakeCache.txt"
cmake-utils_src_configure
+
+ # bug #630232
+ sed -i "s:\"${T//:\\:}/${EPYTHON}/bin/python\":\"${PYTHON}\":" \
+ "${BUILD_DIR:-${CMAKE_BUILD_DIR:-${S}}}"/include/acconfig.h \
+ || die "sed failed"
}
src_configure() {
@@ -260,6 +266,11 @@ src_install() {
readme.gentoo_create_doc
python_setup 'python2*'
+
+ # bug #630232
+ sed -i -r "s:${T//:/\\:}/${EPYTHON}:/usr:" "${ED}"/usr/bin/ceph \
+ || die "sed failed"
+
python_fix_shebang "${ED}"/usr/{,s}bin/
# python_fix_shebang apparently is not idempotent
diff --git a/sys-cluster/ceph/files/ceph-12.2.0-cflags.patch b/sys-cluster/ceph/files/ceph-12.2.0-cflags.patch
new file mode 100644
index 00000000000..0f02e6e6d43
--- /dev/null
+++ b/sys-cluster/ceph/files/ceph-12.2.0-cflags.patch
@@ -0,0 +1,13 @@
+diff --git a/cmake/modules/Distutils.cmake b/cmake/modules/Distutils.cmake
+index 24d1a50654..a9fac61196 100644
+--- a/cmake/modules/Distutils.cmake
++++ b/cmake/modules/Distutils.cmake
+@@ -43,7 +43,7 @@ function(distutils_add_cython_module name src)
+ CC=${PY_CC}
+ CXX=${PY_CXX}
+ LDSHARED=${PY_LDSHARED}
+- OPT=\"-DNDEBUG -g -fwrapv -O2 -w\"
++ OPT=\"-DNDEBUG -fwrapv -w\"
+ LDFLAGS=-L${CMAKE_LIBRARY_OUTPUT_DIRECTORY}
+ CYTHON_BUILD_DIR=${CMAKE_CURRENT_BINARY_DIR}
+ CEPH_LIBDIR=${CMAKE_LIBRARY_OUTPUT_DIRECTORY}
^ permalink raw reply related [flat|nested] 68+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-cluster/ceph/, sys-cluster/ceph/files/
@ 2017-08-02 22:11 Patrick McLean
0 siblings, 0 replies; 68+ messages in thread
From: Patrick McLean @ 2017-08-02 22:11 UTC (permalink / raw
To: gentoo-commits
commit: 3bb809e1da954b79678beed5d6e06dd7907b880a
Author: Patrick McLean <chutzpah <AT> gentoo <DOT> org>
AuthorDate: Wed Aug 2 22:11:27 2017 +0000
Commit: Patrick McLean <chutzpah <AT> gentoo <DOT> org>
CommitDate: Wed Aug 2 22:11:27 2017 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=3bb809e1
sys-cluster/ceph: Pull one of the patches from 10.2.9-r3
Package-Manager: Portage-2.3.6, Repoman-2.3.3
sys-cluster/ceph/ceph-10.2.9-r3.ebuild | 1 -
....2.9-librados_Fix_deadlock_in_watch_flush.patch | 61 ----------------------
2 files changed, 62 deletions(-)
diff --git a/sys-cluster/ceph/ceph-10.2.9-r3.ebuild b/sys-cluster/ceph/ceph-10.2.9-r3.ebuild
index d74301f3760..edd9ac4bbd6 100644
--- a/sys-cluster/ceph/ceph-10.2.9-r3.ebuild
+++ b/sys-cluster/ceph/ceph-10.2.9-r3.ebuild
@@ -118,7 +118,6 @@ PATCHES=(
"${FILESDIR}/${PN}-10.2.9-libradosstriper_fix_format_injection_vulnerability.patch"
"${FILESDIR}/${PN}-10.2.9-rbd-nbd_relax_size_check_for_newer_kernel_versions.patch"
"${FILESDIR}/${PN}-10.2.9-filestore_fix_infinit_loops_in_fiemap.patch"
- "${FILESDIR}/${PN}-10.2.9-librados_Fix_deadlock_in_watch_flush.patch"
"${FILESDIR}/${PN}-10.2.9-librbd_filter_expected_error_codes_from_is_exclusive_lock_owner.patch"
"${FILESDIR}/${PN}-10.2.9-osd-scrub_to_specifies_clone_ver_but_transaction_include.patch"
"${FILESDIR}/${PN}-10.2.9-rbd-do_not_attempt_to_load_key_if_auth_is_disabled.patch"
diff --git a/sys-cluster/ceph/files/ceph-10.2.9-librados_Fix_deadlock_in_watch_flush.patch b/sys-cluster/ceph/files/ceph-10.2.9-librados_Fix_deadlock_in_watch_flush.patch
deleted file mode 100644
index 77ab14b4295..00000000000
--- a/sys-cluster/ceph/files/ceph-10.2.9-librados_Fix_deadlock_in_watch_flush.patch
+++ /dev/null
@@ -1,61 +0,0 @@
-From 2fb04c40804f646b4cdd3a55ec8a9e9df95b9360 Mon Sep 17 00:00:00 2001
-From: Xiaoxi Chen <xiaoxchen@ebay.com>
-Date: Sat, 10 Sep 2016 00:23:55 +0800
-Subject: [PATCH] Librados: Fix deadlock in watch_flush
-
-In previous code, in the watch_flush, it is waiting on conditon
-with holding the "lock". The condition will only be signal by
-finisher thread, but sadly, in some cases,when finisher queue
-is not empty, some context need to take the "lock", thus deadlock.
-
-To avoid concurrent call to shutdown cause race condition, add
-a shutdown_lock to ensure only one concurrent in shutdown function.
-
-Signed-off-by: Xiaoxi Chen <xiaoxchen@ebay.com>
----
- src/librados/RadosClient.cc | 4 ++++
- src/librados/RadosClient.h | 1 +
- 2 files changed, 5 insertions(+)
-
-diff --git a/src/librados/RadosClient.cc b/src/librados/RadosClient.cc
-index 8c5e8ed803fa..230e8b53ecd9 100644
---- a/src/librados/RadosClient.cc
-+++ b/src/librados/RadosClient.cc
-@@ -72,6 +72,7 @@ librados::RadosClient::RadosClient(CephContext *cct_)
- instance_id(0),
- objecter(NULL),
- lock("librados::RadosClient::lock"),
-+ shutdown_lock("librados::RadosClient::shutdown_lock"),
- timer(cct, lock),
- refcnt(1),
- log_last_version(0), log_cb(NULL), log_cb_arg(NULL),
-@@ -324,6 +325,7 @@ int librados::RadosClient::connect()
-
- void librados::RadosClient::shutdown()
- {
-+ Mutex::Locker l(shutdown_lock);
- lock.Lock();
- if (state == DISCONNECTED) {
- lock.Unlock();
-@@ -338,7 +340,9 @@ void librados::RadosClient::shutdown()
- if (state == CONNECTED) {
- if (need_objecter) {
- // make sure watch callbacks are flushed
-+ lock.Unlock();
- watch_flush();
-+ lock.Lock();
- }
- finisher.wait_for_empty();
- finisher.stop();
-diff --git a/src/librados/RadosClient.h b/src/librados/RadosClient.h
-index f495ba5966c2..a8ef2070ddcb 100644
---- a/src/librados/RadosClient.h
-+++ b/src/librados/RadosClient.h
-@@ -62,6 +62,7 @@ class librados::RadosClient : public Dispatcher
- Objecter *objecter;
-
- Mutex lock;
-+ Mutex shutdown_lock;
- Cond cond;
- SafeTimer timer;
- int refcnt;
^ permalink raw reply related [flat|nested] 68+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-cluster/ceph/, sys-cluster/ceph/files/
@ 2017-08-02 21:04 Patrick McLean
0 siblings, 0 replies; 68+ messages in thread
From: Patrick McLean @ 2017-08-02 21:04 UTC (permalink / raw
To: gentoo-commits
commit: 36236559c3205a224ed43e6d6ac4dccc4b3a4c29
Author: Patrick McLean <chutzpah <AT> gentoo <DOT> org>
AuthorDate: Wed Aug 2 21:03:55 2017 +0000
Commit: Patrick McLean <chutzpah <AT> gentoo <DOT> org>
CommitDate: Wed Aug 2 21:04:22 2017 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=36236559
sys-cluster/ceph: Revision bump to 10.2.9, pull in fixes from upstream
Also update openrc dependency to make sure we are using a version that
supports the supervisor stuff properly.
Package-Manager: Portage-2.3.6, Repoman-2.3.3
sys-cluster/ceph/ceph-10.2.9-r3.ebuild | 308 +++++++++++++++++++++
...2.9-filestore_fix_infinit_loops_in_fiemap.patch | 82 ++++++
....2.9-librados_Fix_deadlock_in_watch_flush.patch | 61 ++++
..._error_codes_from_is_exclusive_lock_owner.patch | 28 ++
...ecifies_clone_ver_but_transaction_include.patch | 39 +++
...t_attempt_to_load_key_if_auth_is_disabled.patch | 39 +++
...ck_sdata_op_ordering_lock_with_sdata_lock.patch | 32 +++
7 files changed, 589 insertions(+)
diff --git a/sys-cluster/ceph/ceph-10.2.9-r3.ebuild b/sys-cluster/ceph/ceph-10.2.9-r3.ebuild
new file mode 100644
index 00000000000..d74301f3760
--- /dev/null
+++ b/sys-cluster/ceph/ceph-10.2.9-r3.ebuild
@@ -0,0 +1,308 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+PYTHON_COMPAT=( python{2_7,3_{4,5,6}} )
+
+inherit check-reqs autotools eutils python-r1 udev user \
+ readme.gentoo-r1 systemd versionator flag-o-matic
+
+if [[ ${PV} == *9999* ]]; then
+ inherit git-r3
+ EGIT_REPO_URI="https://github.com/ceph/ceph.git"
+ SRC_URI=""
+else
+ SRC_URI="https://download.ceph.com/tarballs/${P}.tar.gz"
+ KEYWORDS="~amd64 ~arm64 ~x86"
+fi
+
+DESCRIPTION="Ceph distributed filesystem"
+HOMEPAGE="https://ceph.com/"
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+
+IUSE="babeltrace cephfs cryptopp debug fuse gtk jemalloc ldap +libaio"
+IUSE+=" libatomic lttng +nss +radosgw static-libs +tcmalloc test xfs zfs"
+
+# unbundling code commented out pending bugs 584056 and 584058
+#>=dev-libs/jerasure-2.0.0-r1
+#>=dev-libs/gf-complete-2.0.0
+COMMON_DEPEND="
+ app-arch/snappy:=
+ sys-libs/zlib:=
+ app-arch/lz4:=
+ app-arch/bzip2:=
+ app-arch/zstd:=
+ dev-libs/boost:=[threads]
+ dev-libs/libaio:=
+ dev-libs/leveldb:=[snappy]
+ nss? ( dev-libs/nss:= )
+ libatomic? ( dev-libs/libatomic_ops:= )
+ cryptopp? ( dev-libs/crypto++:= )
+ sys-apps/keyutils
+ sys-apps/util-linux
+ dev-libs/libxml2:=
+ radosgw? ( dev-libs/fcgi:= )
+ ldap? ( net-nds/openldap:= )
+ babeltrace? ( dev-util/babeltrace )
+ fuse? ( sys-fs/fuse:0= )
+ xfs? ( sys-fs/xfsprogs:= )
+ zfs? ( sys-fs/zfs:= )
+ gtk? (
+ x11-libs/gtk+:2=
+ dev-cpp/gtkmm:2.4
+ gnome-base/librsvg:=
+ )
+ radosgw? (
+ dev-libs/fcgi:=
+ dev-libs/expat:=
+ net-misc/curl:=
+ )
+ jemalloc? ( dev-libs/jemalloc:= )
+ !jemalloc? ( =dev-util/google-perftools-2.4*:= )
+ lttng? ( dev-util/lttng-ust:= )
+ ${PYTHON_DEPS}
+ "
+DEPEND="${COMMON_DEPEND}
+ dev-python/cython[${PYTHON_USEDEP}]
+ app-arch/cpio
+ virtual/pkgconfig
+ dev-python/sphinx
+ test? (
+ sys-fs/btrfs-progs
+ sys-apps/grep[pcre]
+ dev-python/tox[${PYTHON_USEDEP}]
+ dev-python/virtualenv[${PYTHON_USEDEP}]
+ )"
+RDEPEND="${COMMON_DEPEND}
+ sys-apps/hdparm
+ sys-block/parted
+ sys-fs/cryptsetup
+ sys-apps/gptfdisk
+ !<sys-apps/openrc-0.26.3
+ dev-python/flask[${PYTHON_USEDEP}]
+ dev-python/requests[${PYTHON_USEDEP}]
+ "
+REQUIRED_USE="
+ $(python_gen_useflags 'python2*')
+ ${PYTHON_REQUIRED_USE}
+ ^^ ( nss cryptopp )
+ ?? ( jemalloc tcmalloc )
+ "
+
+# work around bug in ceph compilation (rgw/ceph_dencoder-rgw_dencoder.o... undefined reference to `vtable for RGWZoneGroup')
+REQUIRED_USE+=" radosgw"
+
+#RESTRICT="test? ( userpriv )"
+
+# distribution tarball does not include everything needed for tests
+RESTRICT+=" test"
+
+STRIP_MASK="/usr/lib*/rados-classes/*"
+
+UNBUNDLE_LIBS=(
+ src/erasure-code/jerasure/jerasure
+ src/erasure-code/jerasure/gf-complete
+)
+
+PATCHES=(
+ "${FILESDIR}/ceph-10.2.0-dont-use-virtualenvs.patch"
+ #"${FILESDIR}/ceph-10.2.1-unbundle-jerasure.patch"
+ "${FILESDIR}/${PN}-10.2.1-libzfs.patch"
+ "${FILESDIR}/${PN}-10.2.3-build-without-openldap.patch"
+ "${FILESDIR}/${PN}-10.2.5-Make-RBD-Python-bindings-compatible-with-Python-3.patch"
+ "${FILESDIR}/${PN}-10.2.5-Make-CephFS-bindings-and-tests-compatible-with-Python-3.patch"
+ "${FILESDIR}/${PN}-10.2.7-fix-compilation-with-zstd.patch"
+ # pull in some bugfixes from upstream
+ "${FILESDIR}/${PN}-10.2.9-libradosstriper_fix_format_injection_vulnerability.patch"
+ "${FILESDIR}/${PN}-10.2.9-rbd-nbd_relax_size_check_for_newer_kernel_versions.patch"
+ "${FILESDIR}/${PN}-10.2.9-filestore_fix_infinit_loops_in_fiemap.patch"
+ "${FILESDIR}/${PN}-10.2.9-librados_Fix_deadlock_in_watch_flush.patch"
+ "${FILESDIR}/${PN}-10.2.9-librbd_filter_expected_error_codes_from_is_exclusive_lock_owner.patch"
+ "${FILESDIR}/${PN}-10.2.9-osd-scrub_to_specifies_clone_ver_but_transaction_include.patch"
+ "${FILESDIR}/${PN}-10.2.9-rbd-do_not_attempt_to_load_key_if_auth_is_disabled.patch"
+ "${FILESDIR}/${PN}-10.2.9-unlock_sdata_op_ordering_lock_with_sdata_lock.patch"
+
+)
+
+check-reqs_export_vars() {
+ if use debug; then
+ CHECKREQS_DISK_BUILD="23G"
+ CHECKREQS_DISK_USR="7G"
+ elif use amd64; then
+ CHECKREQS_DISK_BUILD="12G"
+ CHECKREQS_DISK_USR="450M"
+ else
+ CHECKREQS_DISK_BUILD="1400M"
+ CHECKREQS_DISK_USR="450M"
+ fi
+
+ export CHECKREQS_DISK_BUILD CHECKREQS_DISK_USR
+}
+
+user_setup() {
+ enewgroup ceph ${CEPH_GID}
+ enewuser ceph "${CEPH_UID:--1}" -1 /var/lib/ceph ceph
+}
+
+emake_python_bindings() {
+ local action="${1}" params binding module
+ shift
+ params=("${@}")
+
+ __emake_python_bindings_do_impl() {
+ ceph_run_econf "${EPYTHON}"
+ emake "${params[@]}" PYTHON="${EPYTHON}" "${binding}-pybind-${action}"
+
+ # these don't work and aren't needed on python3
+ if [[ ${EBUILD_PHASE} == install ]]; then
+ for module in "${S}"/src/pybind/*.py; do
+ module_basename="$(basename "${module}")"
+ if [[ ${module_basename} == ceph_volume_client.py ]] && ! use cephfs; then
+ continue
+ elif [[ ! -e "${ED}/$(python_get_sitedir)/${module_basename}" ]]; then
+ python_domodule ${module}
+ fi
+ done
+ fi
+ }
+
+ pushd "${S}/src"
+ for binding in rados rbd $(use cephfs && echo cephfs); do
+ python_foreach_impl __emake_python_bindings_do_impl
+ done
+ popd
+
+ unset __emake_python_bindings_do_impl
+}
+
+pkg_pretend() {
+ check-reqs_export_vars
+ check-reqs_pkg_pretend
+}
+
+pkg_setup() {
+ python_setup
+ check-reqs_export_vars
+ check-reqs_pkg_setup
+ user_setup
+}
+
+src_prepare() {
+ default
+
+ # remove tests that need root access
+ rm src/test/cli/ceph-authtool/cap*.t
+
+ #rm -rf "${UNBUNDLE_LIBS[@]}"
+
+ append-flags -fPIC
+ eautoreconf
+}
+
+src_configure() {
+ ECONFARGS=(
+ --without-hadoop
+ --includedir=/usr/include
+ $(use_with cephfs)
+ $(use_with debug)
+ $(use_with fuse)
+ $(use_with libaio)
+ $(use_with libatomic libatomic-ops)
+ $(use_with nss)
+ $(use_with cryptopp)
+ $(use_with radosgw)
+ $(use_with gtk gtk2)
+ $(use_enable static-libs static)
+ $(use_with jemalloc)
+ $(use_with xfs libxfs)
+ $(use_with zfs libzfs)
+ $(use_with lttng )
+ $(use_with babeltrace)
+ $(use_with ldap openldap)
+ $(use jemalloc || usex tcmalloc " --with-tcmalloc" " --with-tcmalloc-minimal")
+ --with-mon
+ --with-eventfd
+ --with-cython
+ --without-kinetic
+ --without-librocksdb
+ --with-systemdsystemunitdir="$(systemd_get_systemunitdir)"
+ )
+
+ # we can only use python2.7 for building at the moment
+ ceph_run_econf "python2*"
+}
+
+ceph_run_econf() {
+ [[ -z ${ECONFARGS} ]] && die "called ${FUNCNAME[0]} with ECONFARGS unset"
+ [[ -z ${1} ]] && die "called ${FUNCNAME[0]} without passing python implementation"
+
+ pushd "${S}" >/dev/null || die
+ #
+ # This generates a QA warning about running econf in src_compile
+ # and src_install. Unfortunately the only other way to do this would
+ # involve building all of for each python implementation times, which
+ # wastes a _lot_ of CPU time and disk space. This hack will no longer
+ # be needed with >=ceph-11.2.
+ #
+ python_setup "${1}"
+ econf "${ECONFARGS[@]}"
+
+ popd >/dev/null || die
+}
+
+src_compile() {
+ emake
+ emake_python_bindings all
+
+ use test && emake check-local
+}
+
+src_test() {
+ make check || die "make check failed"
+}
+
+src_install() {
+ default
+ emake_python_bindings install-exec "DESTDIR=\"${D}\""
+
+ prune_libtool_files --all
+
+ exeinto /usr/$(get_libdir)/ceph
+ newexe src/init-ceph ceph_init.sh
+
+ insinto /etc/logrotate.d/
+ newins "${FILESDIR}"/ceph.logrotate ${PN}
+
+ keepdir /var/lib/${PN}{,/tmp} /var/log/${PN}/stat
+
+ fowners -R ceph:ceph /var/lib/ceph /var/log/ceph
+
+ newinitd "${FILESDIR}/rbdmap.initd" rbdmap
+ newinitd "${FILESDIR}/${PN}.initd-r5" ${PN}
+ newconfd "${FILESDIR}/${PN}.confd-r3" ${PN}
+
+ insinto /etc/sysctl.d
+ newins "${FILESDIR}"/sysctld 90-${PN}.conf
+
+ use tcmalloc && newenvd "${FILESDIR}"/envd-tcmalloc 99${PN}-tcmalloc
+
+ systemd_install_serviced "${FILESDIR}/ceph-mds_at.service.conf" "ceph-mds@.service"
+ systemd_install_serviced "${FILESDIR}/ceph-osd_at.service.conf" "ceph-osd@.service"
+
+ udev_dorules udev/*.rules
+
+ readme.gentoo_create_doc
+
+ python_setup 'python2*'
+ python_fix_shebang "${ED}"/usr/{,s}bin/
+
+ # python_fix_shebang apparently is not idempotent
+ sed -i -r 's:(/usr/lib/python-exec/python[0-9]\.[0-9]/python)[0-9]\.[0-9]:\1:' \
+ "${ED}"/usr/{sbin/ceph-disk,bin/ceph-detect-init} || die "sed failed"
+}
+
+pkg_postinst() {
+ readme.gentoo_print_elog
+}
diff --git a/sys-cluster/ceph/files/ceph-10.2.9-filestore_fix_infinit_loops_in_fiemap.patch b/sys-cluster/ceph/files/ceph-10.2.9-filestore_fix_infinit_loops_in_fiemap.patch
new file mode 100644
index 00000000000..e67113e51cc
--- /dev/null
+++ b/sys-cluster/ceph/files/ceph-10.2.9-filestore_fix_infinit_loops_in_fiemap.patch
@@ -0,0 +1,82 @@
+From b52bfe6b443f0ff88c8614441752102058063699 Mon Sep 17 00:00:00 2001
+From: Ning Yao <yaoning@unitedstack.com>
+Date: Thu, 6 Apr 2017 11:12:04 +0000
+Subject: [PATCH] os/filestore: fix infinit loops in fiemap()
+
+since fiemap can get extents based on offset --> len
+but we should consider last extents is retrieved when len == 0
+even though it is not last fiemap extents
+
+Signed-off-by: Ning Yao <yaoning@unitedstack.com>
+(cherry picked from commit 36f6b668a8910d76847674086cbc86910c78faee)
+---
+ src/os/filestore/FileStore.cc | 13 +++++--------
+ src/test/objectstore/store_test.cc | 21 +++++++++++++++++++++
+ 2 files changed, 26 insertions(+), 8 deletions(-)
+
+diff --git a/src/os/filestore/FileStore.cc b/src/os/filestore/FileStore.cc
+index c47b0d0d2eae..95f48cdf4960 100644
+--- a/src/os/filestore/FileStore.cc
++++ b/src/os/filestore/FileStore.cc
+@@ -3102,17 +3102,14 @@ int FileStore::_do_fiemap(int fd, uint64_t offset, size_t len,
+ i++;
+ last = extent++;
+ }
+- const bool is_last = last->fe_flags & FIEMAP_EXTENT_LAST;
++ uint64_t xoffset = last->fe_logical + last->fe_length - offset;
++ offset = last->fe_logical + last->fe_length;
++ len -= xoffset;
++ const bool is_last = (last->fe_flags & FIEMAP_EXTENT_LAST) || (len == 0);
++ free(fiemap);
+ if (!is_last) {
+- uint64_t xoffset = last->fe_logical + last->fe_length - offset;
+- offset = last->fe_logical + last->fe_length;
+- len -= xoffset;
+- free(fiemap); /* fix clang warn: use-after-free */
+ goto more;
+ }
+- else {
+- free(fiemap);
+- }
+
+ return r;
+ }
+diff --git a/src/test/objectstore/store_test.cc b/src/test/objectstore/store_test.cc
+index 5ab011ad17d8..4cada7e2e435 100644
+--- a/src/test/objectstore/store_test.cc
++++ b/src/test/objectstore/store_test.cc
+@@ -279,6 +279,7 @@ TEST_P(StoreTest, FiemapHoles) {
+ ASSERT_EQ(r, 0);
+ }
+ {
++ //fiemap test from 0 to SKIP_STEP * (MAX_EXTENTS - 1) + 3
+ bufferlist bl;
+ store->fiemap(cid, oid, 0, SKIP_STEP * (MAX_EXTENTS - 1) + 3, bl);
+ map<uint64_t,uint64_t> m, e;
+@@ -295,6 +296,26 @@ TEST_P(StoreTest, FiemapHoles) {
+ ASSERT_TRUE((m.size() == 1 &&
+ m[0] > SKIP_STEP * (MAX_EXTENTS - 1)) ||
+ (m.size() == MAX_EXTENTS && extents_exist));
++
++ // fiemap test from SKIP_STEP to SKIP_STEP * (MAX_EXTENTS - 2) + 3
++ // reset bufferlist and map
++ bl.clear();
++ m.clear();
++ e.clear();
++ store->fiemap(cid, oid, SKIP_STEP, SKIP_STEP * (MAX_EXTENTS - 2) + 3, bl);
++ p = bl.begin();
++ ::decode(m, p);
++ cout << " got " << m << std::endl;
++ ASSERT_TRUE(!m.empty());
++ ASSERT_GE(m[SKIP_STEP], 3u);
++ extents_exist = true;
++ if (m.size() == (MAX_EXTENTS - 2)) {
++ for (uint64_t i = 1; i < MAX_EXTENTS - 1; i++)
++ extents_exist = extents_exist && m.count(SKIP_STEP*i);
++ }
++ ASSERT_TRUE((m.size() == 1 &&
++ m[SKIP_STEP] > SKIP_STEP * (MAX_EXTENTS - 2)) ||
++ (m.size() == (MAX_EXTENTS - 1) && extents_exist));
+ }
+ {
+ ObjectStore::Transaction t;
diff --git a/sys-cluster/ceph/files/ceph-10.2.9-librados_Fix_deadlock_in_watch_flush.patch b/sys-cluster/ceph/files/ceph-10.2.9-librados_Fix_deadlock_in_watch_flush.patch
new file mode 100644
index 00000000000..77ab14b4295
--- /dev/null
+++ b/sys-cluster/ceph/files/ceph-10.2.9-librados_Fix_deadlock_in_watch_flush.patch
@@ -0,0 +1,61 @@
+From 2fb04c40804f646b4cdd3a55ec8a9e9df95b9360 Mon Sep 17 00:00:00 2001
+From: Xiaoxi Chen <xiaoxchen@ebay.com>
+Date: Sat, 10 Sep 2016 00:23:55 +0800
+Subject: [PATCH] Librados: Fix deadlock in watch_flush
+
+In previous code, in the watch_flush, it is waiting on conditon
+with holding the "lock". The condition will only be signal by
+finisher thread, but sadly, in some cases,when finisher queue
+is not empty, some context need to take the "lock", thus deadlock.
+
+To avoid concurrent call to shutdown cause race condition, add
+a shutdown_lock to ensure only one concurrent in shutdown function.
+
+Signed-off-by: Xiaoxi Chen <xiaoxchen@ebay.com>
+---
+ src/librados/RadosClient.cc | 4 ++++
+ src/librados/RadosClient.h | 1 +
+ 2 files changed, 5 insertions(+)
+
+diff --git a/src/librados/RadosClient.cc b/src/librados/RadosClient.cc
+index 8c5e8ed803fa..230e8b53ecd9 100644
+--- a/src/librados/RadosClient.cc
++++ b/src/librados/RadosClient.cc
+@@ -72,6 +72,7 @@ librados::RadosClient::RadosClient(CephContext *cct_)
+ instance_id(0),
+ objecter(NULL),
+ lock("librados::RadosClient::lock"),
++ shutdown_lock("librados::RadosClient::shutdown_lock"),
+ timer(cct, lock),
+ refcnt(1),
+ log_last_version(0), log_cb(NULL), log_cb_arg(NULL),
+@@ -324,6 +325,7 @@ int librados::RadosClient::connect()
+
+ void librados::RadosClient::shutdown()
+ {
++ Mutex::Locker l(shutdown_lock);
+ lock.Lock();
+ if (state == DISCONNECTED) {
+ lock.Unlock();
+@@ -338,7 +340,9 @@ void librados::RadosClient::shutdown()
+ if (state == CONNECTED) {
+ if (need_objecter) {
+ // make sure watch callbacks are flushed
++ lock.Unlock();
+ watch_flush();
++ lock.Lock();
+ }
+ finisher.wait_for_empty();
+ finisher.stop();
+diff --git a/src/librados/RadosClient.h b/src/librados/RadosClient.h
+index f495ba5966c2..a8ef2070ddcb 100644
+--- a/src/librados/RadosClient.h
++++ b/src/librados/RadosClient.h
+@@ -62,6 +62,7 @@ class librados::RadosClient : public Dispatcher
+ Objecter *objecter;
+
+ Mutex lock;
++ Mutex shutdown_lock;
+ Cond cond;
+ SafeTimer timer;
+ int refcnt;
diff --git a/sys-cluster/ceph/files/ceph-10.2.9-librbd_filter_expected_error_codes_from_is_exclusive_lock_owner.patch b/sys-cluster/ceph/files/ceph-10.2.9-librbd_filter_expected_error_codes_from_is_exclusive_lock_owner.patch
new file mode 100644
index 00000000000..6800285318f
--- /dev/null
+++ b/sys-cluster/ceph/files/ceph-10.2.9-librbd_filter_expected_error_codes_from_is_exclusive_lock_owner.patch
@@ -0,0 +1,28 @@
+From 787ba33e5dba285dff874955a8f0d7aabd3f87fe Mon Sep 17 00:00:00 2001
+From: Jason Dillaman <dillaman@redhat.com>
+Date: Mon, 5 Jun 2017 08:17:05 -0400
+Subject: [PATCH] librbd: filter expected error codes from
+ is_exclusive_lock_owner
+
+Fixes: http://tracker.ceph.com/issues/20182
+Signed-off-by: Jason Dillaman <dillaman@redhat.com>
+(cherry picked from commit d4daaf54e6bc42cd4fb2111ea20b2042941b0c31)
+---
+ src/librbd/internal.cc | 4 +++-
+ 1 file changed, 3 insertions(+), 1 deletion(-)
+
+diff --git a/src/librbd/internal.cc b/src/librbd/internal.cc
+index 9fecb1e1688f..6021be078090 100644
+--- a/src/librbd/internal.cc
++++ b/src/librbd/internal.cc
+@@ -2110,7 +2110,9 @@ int mirror_image_disable_internal(ImageCtx *ictx, bool force,
+ // might have been blacklisted by peer -- ensure we still own
+ // the lock by pinging the OSD
+ int r = ictx->exclusive_lock->assert_header_locked();
+- if (r < 0) {
++ if (r == -EBUSY || r == -ENOENT) {
++ return 0;
++ } else if (r < 0) {
+ return r;
+ }
+
diff --git a/sys-cluster/ceph/files/ceph-10.2.9-osd-scrub_to_specifies_clone_ver_but_transaction_include.patch b/sys-cluster/ceph/files/ceph-10.2.9-osd-scrub_to_specifies_clone_ver_but_transaction_include.patch
new file mode 100644
index 00000000000..8bf14c2944b
--- /dev/null
+++ b/sys-cluster/ceph/files/ceph-10.2.9-osd-scrub_to_specifies_clone_ver_but_transaction_include.patch
@@ -0,0 +1,39 @@
+From 153f77544118613e19d5e88c030c3901234cf950 Mon Sep 17 00:00:00 2001
+From: David Zafman <dzafman@redhat.com>
+Date: Tue, 18 Jul 2017 15:08:14 -0700
+Subject: [PATCH] osd: scrub_to specifies clone ver, but transaction include
+ head write ver
+
+Fixes: http://tracker.ceph.com/issues/20041
+
+Signed-off-by: David Zafman <dzafman@redhat.com>
+(cherry picked from commit fd598a0d23d61c645633ae774c3404a43d035e3c)
+
+Conflicts:
+ src/osd/ReplicatedPG.cc (trivial)
+---
+ src/osd/ReplicatedPG.cc | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/src/osd/ReplicatedPG.cc b/src/osd/ReplicatedPG.cc
+index 4b4dc34c602a..4d80ad1770e1 100644
+--- a/src/osd/ReplicatedPG.cc
++++ b/src/osd/ReplicatedPG.cc
+@@ -8318,7 +8318,7 @@ void ReplicatedPG::op_applied(const eversion_t &applied_version)
+ last_update_applied = applied_version;
+ if (is_primary()) {
+ if (scrubber.active) {
+- if (last_update_applied == scrubber.subset_last_update) {
++ if (last_update_applied >= scrubber.subset_last_update) {
+ requeue_scrub();
+ }
+ } else {
+@@ -8326,7 +8326,7 @@ void ReplicatedPG::op_applied(const eversion_t &applied_version)
+ }
+ } else {
+ if (scrubber.active_rep_scrub) {
+- if (last_update_applied == static_cast<MOSDRepScrub*>(
++ if (last_update_applied >= static_cast<MOSDRepScrub*>(
+ scrubber.active_rep_scrub->get_req())->scrub_to) {
+ osd->op_wq.queue(
+ make_pair(
diff --git a/sys-cluster/ceph/files/ceph-10.2.9-rbd-do_not_attempt_to_load_key_if_auth_is_disabled.patch b/sys-cluster/ceph/files/ceph-10.2.9-rbd-do_not_attempt_to_load_key_if_auth_is_disabled.patch
new file mode 100644
index 00000000000..4b03e335bc5
--- /dev/null
+++ b/sys-cluster/ceph/files/ceph-10.2.9-rbd-do_not_attempt_to_load_key_if_auth_is_disabled.patch
@@ -0,0 +1,39 @@
+From 0cd7df3649d7486d444a61cab89c48a89ddd3e8d Mon Sep 17 00:00:00 2001
+From: Jason Dillaman <dillaman@redhat.com>
+Date: Thu, 29 Jun 2017 14:54:40 -0400
+Subject: [PATCH] rbd: do not attempt to load key if auth is disabled
+
+Fixes: http://tracker.ceph.com/issues/19035
+Signed-off-by: Jason Dillaman <dillaman@redhat.com>
+(cherry picked from commit 8b9c8df6d7f0b75c5451953bb322bc1f9afb6299)
+---
+ src/krbd.cc | 16 +++++++++-------
+ 1 file changed, 9 insertions(+), 7 deletions(-)
+
+diff --git a/src/krbd.cc b/src/krbd.cc
+index a0e546fa7f6f..2bb6b4270abd 100644
+--- a/src/krbd.cc
++++ b/src/krbd.cc
+@@ -129,13 +129,15 @@ static int build_map_buf(CephContext *cct, const char *pool, const char *image,
+ oss << " name=" << cct->_conf->name.get_id();
+
+ KeyRing keyring;
+- r = keyring.from_ceph_context(cct);
+- if (r == -ENOENT && !(cct->_conf->keyfile.length() ||
+- cct->_conf->key.length()))
+- r = 0;
+- if (r < 0) {
+- cerr << "rbd: failed to get secret" << std::endl;
+- return r;
++ if (cct->_conf->auth_client_required != "none") {
++ r = keyring.from_ceph_context(cct);
++ if (r == -ENOENT && !(cct->_conf->keyfile.length() ||
++ cct->_conf->key.length()))
++ r = 0;
++ if (r < 0) {
++ cerr << "rbd: failed to get secret" << std::endl;
++ return r;
++ }
+ }
+
+ CryptoKey secret;
diff --git a/sys-cluster/ceph/files/ceph-10.2.9-unlock_sdata_op_ordering_lock_with_sdata_lock.patch b/sys-cluster/ceph/files/ceph-10.2.9-unlock_sdata_op_ordering_lock_with_sdata_lock.patch
new file mode 100644
index 00000000000..60f46ab36a4
--- /dev/null
+++ b/sys-cluster/ceph/files/ceph-10.2.9-unlock_sdata_op_ordering_lock_with_sdata_lock.patch
@@ -0,0 +1,32 @@
+From 3fa277b479d69699bf5a6875cd4a5efcf9ae0788 Mon Sep 17 00:00:00 2001
+From: Alexey Sheplyakov <asheplyakov@mirantis.com>
+Date: Tue, 27 Jun 2017 16:07:01 +0400
+Subject: [PATCH] jewel: osd: unlock sdata_op_ordering_lock with sdata_lock
+ hold to avoid missing wakeup signal
+
+Based on commit bc683385819146f3f6f096ceec97e1226a3cd237. The OSD code has
+been refactored a lot since Jewel, hence cherry-picking that patch introduces
+a lot of unrelated changes, and is much more difficult than reusing the idea.
+
+Fixes: http://tracker.ceph.com/issues/20428
+
+Signed-off-by: Alexey Sheplyakov <asheplyakov@mirantis.com>
+---
+ src/osd/OSD.cc | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/src/osd/OSD.cc b/src/osd/OSD.cc
+index f5cfda3b686a..38a2711f6f92 100644
+--- a/src/osd/OSD.cc
++++ b/src/osd/OSD.cc
+@@ -8727,9 +8727,9 @@ void OSD::ShardedOpWQ::_process(uint32_t thread_index, heartbeat_handle_d *hb )
+ assert(NULL != sdata);
+ sdata->sdata_op_ordering_lock.Lock();
+ if (sdata->pqueue->empty()) {
+- sdata->sdata_op_ordering_lock.Unlock();
+ osd->cct->get_heartbeat_map()->reset_timeout(hb, 4, 0);
+ sdata->sdata_lock.Lock();
++ sdata->sdata_op_ordering_lock.Unlock();
+ sdata->sdata_cond.WaitInterval(osd->cct, sdata->sdata_lock, utime_t(2, 0));
+ sdata->sdata_lock.Unlock();
+ sdata->sdata_op_ordering_lock.Lock();
^ permalink raw reply related [flat|nested] 68+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-cluster/ceph/, sys-cluster/ceph/files/
@ 2017-07-31 19:04 Patrick McLean
0 siblings, 0 replies; 68+ messages in thread
From: Patrick McLean @ 2017-07-31 19:04 UTC (permalink / raw
To: gentoo-commits
commit: 99748ee7bf5dedea9ac0af33f482fe65aea11c96
Author: Patrick McLean <chutzpah <AT> gentoo <DOT> org>
AuthorDate: Mon Jul 31 19:03:31 2017 +0000
Commit: Patrick McLean <chutzpah <AT> gentoo <DOT> org>
CommitDate: Mon Jul 31 19:04:00 2017 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=99748ee7
sys-cluster/ceph: Revision bump, pull in fix for CVE-2017-7519
Also add envd file when tcmalloc USE flags is enabled to set
TCMALLOC_MAX_TOTAL_THREAD_CACHE_BYTES=134217728
This is recommended by upstream. Install file to sysctl.d to update
kernel.pid_max to 257256, and sync conf.d file with init.d.
Package-Manager: Portage-2.3.6, Repoman-2.3.3
sys-cluster/ceph/ceph-10.2.9-r1.ebuild | 298 +++++++++++++++++++++
...triper_fix_format_injection_vulnerability.patch | 35 +++
sys-cluster/ceph/files/ceph.confd-r3 | 2 +-
sys-cluster/ceph/files/envd-tcmalloc | 1 +
sys-cluster/ceph/files/sysctld | 2 +
5 files changed, 337 insertions(+), 1 deletion(-)
diff --git a/sys-cluster/ceph/ceph-10.2.9-r1.ebuild b/sys-cluster/ceph/ceph-10.2.9-r1.ebuild
new file mode 100644
index 00000000000..9650b2dff20
--- /dev/null
+++ b/sys-cluster/ceph/ceph-10.2.9-r1.ebuild
@@ -0,0 +1,298 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+PYTHON_COMPAT=( python{2_7,3_{4,5,6}} )
+
+inherit check-reqs autotools eutils python-r1 udev user \
+ readme.gentoo-r1 systemd versionator flag-o-matic
+
+if [[ ${PV} == *9999* ]]; then
+ inherit git-r3
+ EGIT_REPO_URI="https://github.com/ceph/ceph.git"
+ SRC_URI=""
+else
+ SRC_URI="https://download.ceph.com/tarballs/${P}.tar.gz"
+ KEYWORDS="~amd64 ~arm64 ~x86"
+fi
+
+DESCRIPTION="Ceph distributed filesystem"
+HOMEPAGE="https://ceph.com/"
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+
+IUSE="babeltrace cephfs cryptopp debug fuse gtk jemalloc ldap +libaio"
+IUSE+=" libatomic lttng +nss +radosgw static-libs +tcmalloc test xfs zfs"
+
+# unbundling code commented out pending bugs 584056 and 584058
+#>=dev-libs/jerasure-2.0.0-r1
+#>=dev-libs/gf-complete-2.0.0
+COMMON_DEPEND="
+ app-arch/snappy:=
+ sys-libs/zlib:=
+ app-arch/lz4:=
+ app-arch/bzip2:=
+ app-arch/zstd:=
+ dev-libs/boost:=[threads]
+ dev-libs/libaio:=
+ dev-libs/leveldb:=[snappy]
+ nss? ( dev-libs/nss:= )
+ libatomic? ( dev-libs/libatomic_ops:= )
+ cryptopp? ( dev-libs/crypto++:= )
+ sys-apps/keyutils
+ sys-apps/util-linux
+ dev-libs/libxml2:=
+ radosgw? ( dev-libs/fcgi:= )
+ ldap? ( net-nds/openldap:= )
+ babeltrace? ( dev-util/babeltrace )
+ fuse? ( sys-fs/fuse:0= )
+ xfs? ( sys-fs/xfsprogs:= )
+ zfs? ( sys-fs/zfs:= )
+ gtk? (
+ x11-libs/gtk+:2=
+ dev-cpp/gtkmm:2.4
+ gnome-base/librsvg:=
+ )
+ radosgw? (
+ dev-libs/fcgi:=
+ dev-libs/expat:=
+ net-misc/curl:=
+ )
+ jemalloc? ( dev-libs/jemalloc:= )
+ !jemalloc? ( =dev-util/google-perftools-2.4*:= )
+ lttng? ( dev-util/lttng-ust:= )
+ ${PYTHON_DEPS}
+ "
+DEPEND="${COMMON_DEPEND}
+ dev-python/cython[${PYTHON_USEDEP}]
+ app-arch/cpio
+ virtual/pkgconfig
+ dev-python/sphinx
+ test? (
+ sys-fs/btrfs-progs
+ sys-apps/grep[pcre]
+ dev-python/tox[${PYTHON_USEDEP}]
+ dev-python/virtualenv[${PYTHON_USEDEP}]
+ )"
+RDEPEND="${COMMON_DEPEND}
+ sys-apps/hdparm
+ sys-block/parted
+ sys-fs/cryptsetup
+ sys-apps/gptfdisk
+ dev-python/flask[${PYTHON_USEDEP}]
+ dev-python/requests[${PYTHON_USEDEP}]
+ "
+REQUIRED_USE="
+ $(python_gen_useflags 'python2*')
+ ${PYTHON_REQUIRED_USE}
+ ^^ ( nss cryptopp )
+ ?? ( jemalloc tcmalloc )
+ "
+
+# work around bug in ceph compilation (rgw/ceph_dencoder-rgw_dencoder.o... undefined reference to `vtable for RGWZoneGroup')
+REQUIRED_USE+=" radosgw"
+
+#RESTRICT="test? ( userpriv )"
+
+# distribution tarball does not include everything needed for tests
+RESTRICT+=" test"
+
+STRIP_MASK="/usr/lib*/rados-classes/*"
+
+UNBUNDLE_LIBS=(
+ src/erasure-code/jerasure/jerasure
+ src/erasure-code/jerasure/gf-complete
+)
+
+PATCHES=(
+ "${FILESDIR}/ceph-10.2.0-dont-use-virtualenvs.patch"
+ #"${FILESDIR}/ceph-10.2.1-unbundle-jerasure.patch"
+ "${FILESDIR}/${PN}-10.2.1-libzfs.patch"
+ "${FILESDIR}/${PN}-10.2.3-build-without-openldap.patch"
+ "${FILESDIR}/${PN}-10.2.5-Make-RBD-Python-bindings-compatible-with-Python-3.patch"
+ "${FILESDIR}/${PN}-10.2.5-Make-CephFS-bindings-and-tests-compatible-with-Python-3.patch"
+ "${FILESDIR}/${PN}-10.2.7-fix-compilation-with-zstd.patch"
+ "${FILESDIR}/${PN}-10.2.9-libradosstriper_fix_format_injection_vulnerability.patch"
+)
+
+check-reqs_export_vars() {
+ if use debug; then
+ CHECKREQS_DISK_BUILD="23G"
+ CHECKREQS_DISK_USR="7G"
+ elif use amd64; then
+ CHECKREQS_DISK_BUILD="12G"
+ CHECKREQS_DISK_USR="450M"
+ else
+ CHECKREQS_DISK_BUILD="1400M"
+ CHECKREQS_DISK_USR="450M"
+ fi
+
+ export CHECKREQS_DISK_BUILD CHECKREQS_DISK_USR
+}
+
+user_setup() {
+ enewgroup ceph ${CEPH_GID}
+ enewuser ceph "${CEPH_UID:--1}" -1 /var/lib/ceph ceph
+}
+
+emake_python_bindings() {
+ local action="${1}" params binding module
+ shift
+ params=("${@}")
+
+ __emake_python_bindings_do_impl() {
+ ceph_run_econf "${EPYTHON}"
+ emake "${params[@]}" PYTHON="${EPYTHON}" "${binding}-pybind-${action}"
+
+ # these don't work and aren't needed on python3
+ if [[ ${EBUILD_PHASE} == install ]]; then
+ for module in "${S}"/src/pybind/*.py; do
+ module_basename="$(basename "${module}")"
+ if [[ ${module_basename} == ceph_volume_client.py ]] && ! use cephfs; then
+ continue
+ elif [[ ! -e "${ED}/$(python_get_sitedir)/${module_basename}" ]]; then
+ python_domodule ${module}
+ fi
+ done
+ fi
+ }
+
+ pushd "${S}/src"
+ for binding in rados rbd $(use cephfs && echo cephfs); do
+ python_foreach_impl __emake_python_bindings_do_impl
+ done
+ popd
+
+ unset __emake_python_bindings_do_impl
+}
+
+pkg_pretend() {
+ check-reqs_export_vars
+ check-reqs_pkg_pretend
+}
+
+pkg_setup() {
+ python_setup
+ check-reqs_export_vars
+ check-reqs_pkg_setup
+ user_setup
+}
+
+src_prepare() {
+ default
+
+ # remove tests that need root access
+ rm src/test/cli/ceph-authtool/cap*.t
+
+ #rm -rf "${UNBUNDLE_LIBS[@]}"
+
+ append-flags -fPIC
+ eautoreconf
+}
+
+src_configure() {
+ ECONFARGS=(
+ --without-hadoop
+ --includedir=/usr/include
+ $(use_with cephfs)
+ $(use_with debug)
+ $(use_with fuse)
+ $(use_with libaio)
+ $(use_with libatomic libatomic-ops)
+ $(use_with nss)
+ $(use_with cryptopp)
+ $(use_with radosgw)
+ $(use_with gtk gtk2)
+ $(use_enable static-libs static)
+ $(use_with jemalloc)
+ $(use_with xfs libxfs)
+ $(use_with zfs libzfs)
+ $(use_with lttng )
+ $(use_with babeltrace)
+ $(use_with ldap openldap)
+ $(use jemalloc || usex tcmalloc " --with-tcmalloc" " --with-tcmalloc-minimal")
+ --with-mon
+ --with-eventfd
+ --with-cython
+ --without-kinetic
+ --without-librocksdb
+ --with-systemdsystemunitdir="$(systemd_get_systemunitdir)"
+ )
+
+ # we can only use python2.7 for building at the moment
+ ceph_run_econf "python2*"
+}
+
+ceph_run_econf() {
+ [[ -z ${ECONFARGS} ]] && die "called ${FUNCNAME[0]} with ECONFARGS unset"
+ [[ -z ${1} ]] && die "called ${FUNCNAME[0]} without passing python implementation"
+
+ pushd "${S}" >/dev/null || die
+ #
+ # This generates a QA warning about running econf in src_compile
+ # and src_install. Unfortunately the only other way to do this would
+ # involve building all of for each python implementation times, which
+ # wastes a _lot_ of CPU time and disk space. This hack will no longer
+ # be needed with >=ceph-11.2.
+ #
+ python_setup "${1}"
+ econf "${ECONFARGS[@]}"
+
+ popd >/dev/null || die
+}
+
+src_compile() {
+ emake
+ emake_python_bindings all
+
+ use test && emake check-local
+}
+
+src_test() {
+ make check || die "make check failed"
+}
+
+src_install() {
+ default
+ emake_python_bindings install-exec "DESTDIR=\"${D}\""
+
+ prune_libtool_files --all
+
+ exeinto /usr/$(get_libdir)/ceph
+ newexe src/init-ceph ceph_init.sh
+
+ insinto /etc/logrotate.d/
+ newins "${FILESDIR}"/ceph.logrotate ${PN}
+
+ keepdir /var/lib/${PN}{,/tmp} /var/log/${PN}/stat
+
+ fowners -R ceph:ceph /var/lib/ceph /var/log/ceph
+
+ newinitd "${FILESDIR}/rbdmap.initd" rbdmap
+ newinitd "${FILESDIR}/${PN}.initd-r5" ${PN}
+ newconfd "${FILESDIR}/${PN}.confd-r3" ${PN}
+
+ insinto /etc/sysctl.d
+ newins "${FILESDIR}"/sysctld 90-${PN}.conf
+
+ use tcmalloc && newenvd "${FILESDIR}"/envd-tcmalloc ${PN}-tcmalloc
+
+ systemd_install_serviced "${FILESDIR}/ceph-mds_at.service.conf" "ceph-mds@.service"
+ systemd_install_serviced "${FILESDIR}/ceph-osd_at.service.conf" "ceph-osd@.service"
+
+ udev_dorules udev/*.rules
+
+ readme.gentoo_create_doc
+
+ python_setup 'python2*'
+ python_fix_shebang "${ED}"/usr/{,s}bin/
+
+ # python_fix_shebang apparently is not idempotent
+ sed -i -r 's:(/usr/lib/python-exec/python[0-9]\.[0-9]/python)[0-9]\.[0-9]:\1:' \
+ "${ED}"/usr/{sbin/ceph-disk,bin/ceph-detect-init} || die "sed failed"
+}
+
+pkg_postinst() {
+ readme.gentoo_print_elog
+}
diff --git a/sys-cluster/ceph/files/ceph-10.2.9-libradosstriper_fix_format_injection_vulnerability.patch b/sys-cluster/ceph/files/ceph-10.2.9-libradosstriper_fix_format_injection_vulnerability.patch
new file mode 100644
index 00000000000..eaf18c35783
--- /dev/null
+++ b/sys-cluster/ceph/files/ceph-10.2.9-libradosstriper_fix_format_injection_vulnerability.patch
@@ -0,0 +1,35 @@
+diff --git a/src/libradosstriper/RadosStriperImpl.cc b/src/libradosstriper/RadosStriperImpl.cc
+index 22352d9125..70dcb7569f 100644
+--- a/src/libradosstriper/RadosStriperImpl.cc
++++ b/src/libradosstriper/RadosStriperImpl.cc
+@@ -12,6 +12,8 @@
+ *
+ */
+
++#include <boost/algorithm/string/replace.hpp>
++
+ #include "libradosstriper/RadosStriperImpl.h"
+
+ #include <errno.h>
+@@ -466,7 +468,9 @@ int libradosstriper::RadosStriperImpl::aio_read(const std::string& soid,
+ // get list of extents to be read from
+ vector<ObjectExtent> *extents = new vector<ObjectExtent>();
+ if (read_len > 0) {
+- std::string format = soid + RADOS_OBJECT_EXTENSION_FORMAT;
++ std::string format = soid;
++ boost::replace_all(format, "%", "%%");
++ format += RADOS_OBJECT_EXTENSION_FORMAT;
+ file_layout_t l;
+ l.from_legacy(layout);
+ Striper::file_to_extents(cct(), format.c_str(), &l, off, read_len,
+@@ -776,7 +780,9 @@ libradosstriper::RadosStriperImpl::internal_aio_write(const std::string& soid,
+ if (len > 0) {
+ // get list of extents to be written to
+ vector<ObjectExtent> extents;
+- std::string format = soid + RADOS_OBJECT_EXTENSION_FORMAT;
++ std::string format = soid;
++ boost::replace_all(format, "%", "%%");
++ format += RADOS_OBJECT_EXTENSION_FORMAT;
+ file_layout_t l;
+ l.from_legacy(layout);
+ Striper::file_to_extents(cct(), format.c_str(), &l, off, len, 0, extents);
diff --git a/sys-cluster/ceph/files/ceph.confd-r3 b/sys-cluster/ceph/files/ceph.confd-r3
index 491b1241ba6..54673c2688f 100644
--- a/sys-cluster/ceph/files/ceph.confd-r3
+++ b/sys-cluster/ceph/files/ceph.confd-r3
@@ -4,7 +4,7 @@
#ceph_conf="/etc/ceph/ceph.conf"
# Set ulimits for Ceph services.
-#rc_ulimit="-n 32768"
+#rc_ulimit="-n 131072 -u 257256"
# the directory under /run to store runtime information in
#rundir=/run/ceph
diff --git a/sys-cluster/ceph/files/envd-tcmalloc b/sys-cluster/ceph/files/envd-tcmalloc
new file mode 100644
index 00000000000..bdb09670c63
--- /dev/null
+++ b/sys-cluster/ceph/files/envd-tcmalloc
@@ -0,0 +1 @@
+TCMALLOC_MAX_TOTAL_THREAD_CACHE_BYTES=134217728
diff --git a/sys-cluster/ceph/files/sysctld b/sys-cluster/ceph/files/sysctld
new file mode 100644
index 00000000000..4d133264f55
--- /dev/null
+++ b/sys-cluster/ceph/files/sysctld
@@ -0,0 +1,2 @@
+# up the global pid max for ceph
+kernel.pid_max = 257256
^ permalink raw reply related [flat|nested] 68+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-cluster/ceph/, sys-cluster/ceph/files/
@ 2017-07-27 21:33 Patrick McLean
0 siblings, 0 replies; 68+ messages in thread
From: Patrick McLean @ 2017-07-27 21:33 UTC (permalink / raw
To: gentoo-commits
commit: 4d88c3d017ed95dd0110eccf08f8aec5795c3e9c
Author: Patrick McLean <chutzpah <AT> gentoo <DOT> org>
AuthorDate: Thu Jul 27 21:33:02 2017 +0000
Commit: Patrick McLean <chutzpah <AT> gentoo <DOT> org>
CommitDate: Thu Jul 27 21:33:02 2017 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=4d88c3d0
sys-cluster/ceph: Drop old versions
Package-Manager: Portage-2.3.6, Repoman-2.3.3
sys-cluster/ceph/Manifest | 2 -
sys-cluster/ceph/ceph-10.2.5-r1.ebuild | 265 ------------------------------
sys-cluster/ceph/ceph-10.2.5-r3.ebuild | 290 --------------------------------
sys-cluster/ceph/ceph-10.2.5-r4.ebuild | 292 ---------------------------------
sys-cluster/ceph/ceph-10.2.5-r5.ebuild | 292 ---------------------------------
sys-cluster/ceph/ceph-10.2.6-r1.ebuild | 292 ---------------------------------
sys-cluster/ceph/ceph-10.2.6.ebuild | 292 ---------------------------------
sys-cluster/ceph/ceph-10.2.7.ebuild | 291 --------------------------------
sys-cluster/ceph/files/ceph.initd-r1 | 48 ------
sys-cluster/ceph/files/ceph.initd-r3 | 40 -----
10 files changed, 2104 deletions(-)
diff --git a/sys-cluster/ceph/Manifest b/sys-cluster/ceph/Manifest
index c24494e69f6..5f0cc0c6676 100644
--- a/sys-cluster/ceph/Manifest
+++ b/sys-cluster/ceph/Manifest
@@ -1,7 +1,5 @@
DIST ceph-0.94.9.tar.gz 9044702 SHA256 d5bc07e7aef75f74d75f0356e5dd2a17956cbad6bb552a1e96a0fabd80924050 SHA512 ef4bbcc4429e22a2d924fd52dc42f522d5327f67ee8c1781d7cf602c2932a485cb48db21bdc33e7c7fbc968eec59c17882ebb18e6405599e11a3abc248f1d376 WHIRLPOOL f348159e8d7dd5e1ac3810a51846f50f6cefdbc5fa4cd15c3127b1136eb960baca8ad8db33c78a5d6435720cf1e2c277e068d09f9b9dbcf0f8ad56d7ddd914dc
DIST ceph-10.2.3.tar.gz 11596171 SHA256 dca933aa14db67b404d836ef510bd418091978edc2f0c74dfc530ba0aa5e8994 SHA512 9de1e6851fc343d2c52c72cec3f7887d998d5b588f1251ee3a1fda14427badfa10408e6691fb03a374a10f4ec9844868423fee70fbbe2c0d962af98481412f19 WHIRLPOOL 981ebca66113a07a5cc6e5934272a72b29a2c19e03398f7b622c11df6ea0a05339558dfc2f11504403cbbd0efe0b090ad59f4b86206b46db57587744091aa26a
-DIST ceph-10.2.5.tar.gz 14020700 SHA256 82dd4271f18eb7b84ff16f273a5250a4a9e809bfaccce5a1cca493416332d5f4 SHA512 4889aff38c8af781c2e3dce8f4ee51864db0a27c6294774345d2c1b047588ec31354ad41f799e2f0d0a966dc372d76c9bdbfb93f30a0718ea9d7c2b7a645d0f8 WHIRLPOOL 986a6ac35612a732d2a9a73277525679f9da729601c7e3f82b83e7e8ee2eb4245c98cdf5c4462ae1c789cb3d120a2c4a7eb9a3958b072db5e743b2c015269dfc
-DIST ceph-10.2.6.tar.gz 14500365 SHA256 ad32c549d0ce6de581b5e1c6c7eba38e0f6658aaf8a91990e602f7c64c5e48c7 SHA512 c4321e27a6f8983f69435316c35858ab2b8b620cd80663a5471447c7489d867aef30b22541ca9648a7dcf9d931d04055e29d87dea3a6e94963fb360d06713dee WHIRLPOOL bd886105b47b6cfaeeff882f1d21d710442880c31a1943298db0904a453d67da71519c8fe5e1dd0377480b5413c90bf8ae4bed6bd99bfc53e4696f8b8031c23a
DIST ceph-10.2.7.tar.gz 14518491 SHA256 2cdfeaa9a08e94c2d35f540b450bbf64b2a694bd537679834185e98fc59d8ba2 SHA512 7e0686e9efa4ddd9d548f4145b448f8232f1ca29b08428daa5cd60a74ce26f1176a1f2ebbf2ac1761d9e6c1d364a5ffa194d2b3a18a8111f59b7c27f7a1d7734 WHIRLPOOL b6b6902230401b5f4c6f27801f315678bdc7b99aab4e50b54d941fc3a425b4f0fa9390484f2e12d6b4f962253fb8772fb706dad35d490b4542b06db166fab59b
DIST ceph-10.2.8.tar.gz 14548472 SHA256 f284743b007cbb61fc9849dc2249942886116c2cb2abcd346d2304d52b16eaaa SHA512 1f3bf81bf6745033e034c3c4e4f05db5c39b2e8435da20fc130971559e8fde0d640bf00bfaafb374d24c45f873e7d768ae9d7d8cd3388347f5804c4bfc303f09 WHIRLPOOL a8bf29ff913c08d423beb0fefa792c06a653d8ac00bd698b7f77bbaf4657f0530ad5a43043dabb24308ed5a4e569fec53130a78d78d8eddf16026a942de8cc40
DIST ceph-10.2.9.tar.gz 14550219 SHA256 3d93f4fc4a66b1d9f9ce43f65868dc18287cea32fbb2c7421faca6aed2b52a80 SHA512 1d59146614aa87ca551b05b795a684071a3cfb4ce6013e978ba650403c6732b2aa13f3c3cc191e6a1ea34b4631c82e97700593c24e200c41ec2f2b43b3ef5547 WHIRLPOOL 42215d33c4f617087e1b0ef81cd41b42330c3605acf625b0668d44eba9e982239683b466a1cc1a6f926fc1d439dfd6be4ce220f783da7d2214d36a2a6cc9181f
diff --git a/sys-cluster/ceph/ceph-10.2.5-r1.ebuild b/sys-cluster/ceph/ceph-10.2.5-r1.ebuild
deleted file mode 100644
index 1e82394dbed..00000000000
--- a/sys-cluster/ceph/ceph-10.2.5-r1.ebuild
+++ /dev/null
@@ -1,265 +0,0 @@
-# Copyright 1999-2017 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-PYTHON_COMPAT=( python{2_7,3_{4,5}} )
-
-inherit check-reqs autotools eutils python-r1 udev user \
- readme.gentoo-r1 systemd versionator flag-o-matic
-
-if [[ ${PV} == *9999* ]]; then
- inherit git-r3
- EGIT_REPO_URI="
- git://github.com/ceph/ceph.git
- https://github.com/ceph/ceph.git"
- SRC_URI=""
-else
- SRC_URI="http://ceph.com/download/${P}.tar.gz"
- KEYWORDS="~amd64 ~arm ~ppc ~ppc64 ~x86"
-fi
-
-DESCRIPTION="Ceph distributed filesystem"
-HOMEPAGE="http://ceph.com/"
-
-LICENSE="LGPL-2.1"
-SLOT="0"
-
-IUSE="babeltrace cephfs cryptopp debug fuse gtk jemalloc ldap +libaio"
-IUSE+=" libatomic lttng +nss +radosgw static-libs +tcmalloc test xfs zfs"
-
-# unbundling code commented out pending bugs 584056 and 584058
-#>=dev-libs/jerasure-2.0.0-r1
-#>=dev-libs/gf-complete-2.0.0
-COMMON_DEPEND="
- app-arch/snappy
- app-arch/lz4:=
- app-arch/bzip2
- dev-libs/boost:=[threads]
- dev-libs/libaio
- dev-libs/leveldb[snappy]
- nss? ( dev-libs/nss )
- libatomic? ( dev-libs/libatomic_ops )
- cryptopp? ( dev-libs/crypto++:= )
- sys-apps/keyutils
- sys-apps/util-linux
- dev-libs/libxml2
- radosgw? ( dev-libs/fcgi )
- ldap? ( net-nds/openldap )
- babeltrace? ( dev-util/babeltrace )
- fuse? ( sys-fs/fuse:0 )
- xfs? ( sys-fs/xfsprogs )
- zfs? ( sys-fs/zfs )
- gtk? (
- x11-libs/gtk+:2
- dev-cpp/gtkmm:2.4
- gnome-base/librsvg
- )
- radosgw? (
- dev-libs/fcgi
- dev-libs/expat
- net-misc/curl
- )
- jemalloc? ( dev-libs/jemalloc )
- !jemalloc? ( dev-util/google-perftools )
- lttng? ( dev-util/lttng-ust )
- ${PYTHON_DEPS}
- "
-DEPEND="${COMMON_DEPEND}
- dev-python/cython[${PYTHON_USEDEP}]
- app-arch/cpio
- sys-apps/lsb-release
- virtual/pkgconfig
- dev-python/sphinx
- test? (
- sys-fs/btrfs-progs
- sys-apps/grep[pcre]
- dev-python/tox[${PYTHON_USEDEP}]
- dev-python/virtualenv[${PYTHON_USEDEP}]
- )"
-RDEPEND="${COMMON_DEPEND}
- sys-apps/hdparm
- sys-block/parted
- sys-fs/cryptsetup
- sys-apps/gptfdisk
- dev-python/flask[${PYTHON_USEDEP}]
- dev-python/requests[${PYTHON_USEDEP}]
- "
-REQUIRED_USE="
- $(python_gen_useflags 'python2*')
- ${PYTHON_REQUIRED_USE}
- ^^ ( nss cryptopp )
- ?? ( jemalloc tcmalloc )
- "
-
-# work around bug in ceph compilation (rgw/ceph_dencoder-rgw_dencoder.o... undefined reference to `vtable for RGWZoneGroup')
-REQUIRED_USE+=" radosgw"
-
-RESTRICT="test? ( userpriv )"
-
-# distribution tarball does not include everything needed for tests
-RESTRICT+=" test"
-
-STRIP_MASK="/usr/lib*/rados-classes/*"
-
-UNBUNDLE_LIBS=(
- src/erasure-code/jerasure/jerasure
- src/erasure-code/jerasure/gf-complete
-)
-
-PATCHES=(
- "${FILESDIR}/ceph-10.2.0-dont-use-virtualenvs.patch"
- #"${FILESDIR}/ceph-10.2.1-unbundle-jerasure.patch"
- "${FILESDIR}/${PN}-10.2.1-libzfs.patch"
- "${FILESDIR}/${PN}-10.2.3-build-without-openldap.patch"
-)
-
-check-reqs_export_vars() {
- if use debug; then
- CHECKREQS_DISK_BUILD="23G"
- CHECKREQS_DISK_USR="7G"
- elif use amd64; then
- CHECKREQS_DISK_BUILD="12G"
- CHECKREQS_DISK_USR="450M"
- else
- CHECKREQS_DISK_BUILD="1400M"
- CHECKREQS_DISK_USR="450M"
- fi
-
- export CHECKREQS_DISK_BUILD CHECKREQS_DISK_USR
-}
-
-user_setup() {
- enewgroup ceph ${CEPH_GID}
- enewuser ceph "${CEPH_UID:--1}" -1 /var/lib/ceph ceph
-}
-
-emake_python_bindings() {
- local action="${1}" params binding
- shift
- params=("${@}")
-
- __emake_python_bindings_do_impl() {
- emake "${params[@]}" PYTHON="${EPYTHON}" "${binding}-pybind-${action}"
-
- # these don't work and aren't needed on python3
- if [[ ${EBUILD_PHASE} == install ]] && python_is_python3; then
- rm -f "${ED}/$(python_get_sitedir)"/ceph_{argparse,volume_client}.py
- fi
- }
-
- pushd "${S}/src"
- for binding in rados rbd $(use cephfs && echo cephfs); do
- python_foreach_impl __emake_python_bindings_do_impl
- done
- popd
-
- unset __emake_python_bindings_do_impl
-}
-
-pkg_pretend() {
- check-reqs_export_vars
- check-reqs_pkg_pretend
-}
-
-pkg_setup() {
- python_setup
- check-reqs_export_vars
- check-reqs_pkg_setup
- user_setup
-}
-
-src_prepare() {
- default
-
- # remove tests that need root access
- rm src/test/cli/ceph-authtool/cap*.t
-
- #rm -rf "${UNBUNDLE_LIBS[@]}"
-
- append-flags -fPIC
- eautoreconf
-}
-
-src_configure() {
- local myeconfargs=(
- --without-hadoop
- --includedir=/usr/include
- $(use_with cephfs)
- $(use_with debug)
- $(use_with fuse)
- $(use_with libaio)
- $(use_with libatomic libatomic-ops)
- $(use_with nss)
- $(use_with cryptopp)
- $(use_with radosgw)
- $(use_with gtk gtk2)
- $(use_enable static-libs static)
- $(use_with jemalloc)
- $(use_with xfs libxfs)
- $(use_with zfs libzfs)
- $(use_with lttng )
- $(use_with babeltrace)
- $(use_with ldap openldap)
- $(use jemalloc || usex tcmalloc " --with-tcmalloc" " --with-tcmalloc-minimal")
- --with-mon
- --with-eventfd
- --with-cython
- --without-kinetic
- --without-librocksdb
- --with-systemdsystemunitdir="$(systemd_get_systemunitdir)"
- )
-
- # we can only use python2.7 for building at the moment
- python_setup 'python2*'
- econf "${myeconfargs[@]}"
-}
-
-src_compile() {
- emake
- emake_python_bindings all
-
- use test && emake check-local
-}
-
-src_test() {
- make check || die "make check failed"
-}
-
-src_install() {
- default
- emake_python_bindings install-exec "DESTDIR=\"${D}\""
-
- prune_libtool_files --all
-
- exeinto /usr/$(get_libdir)/ceph
- newexe src/init-ceph ceph_init.sh
-
- insinto /etc/logrotate.d/
- newins "${FILESDIR}"/ceph.logrotate ${PN}
-
- keepdir /var/lib/${PN}{,/tmp} /var/log/${PN}/stat
-
- fowners -R ceph:ceph /var/lib/ceph /var/log/ceph
-
- newinitd "${FILESDIR}/rbdmap.initd" rbdmap
- newinitd "${FILESDIR}/${PN}.initd-r3" ${PN}
- newconfd "${FILESDIR}/${PN}.confd-r1" ${PN}
-
- systemd_install_serviced "${FILESDIR}/ceph-mds_at.service.conf" "ceph-mds@.service"
- systemd_install_serviced "${FILESDIR}/ceph-osd_at.service.conf" "ceph-osd@.service"
-
- udev_dorules udev/*.rules
-
- readme.gentoo_create_doc
-
- python_setup 'python2*'
- python_fix_shebang "${ED}"/usr/{,s}bin/
-
- # python_fix_shebang apparently is not idempotent
- sed -i -r 's:(/usr/lib/python-exec/python[0-9]\.[0-9]/python)[0-9]\.[0-9]:\1:' \
- "${ED}"/usr/{sbin/ceph-disk,bin/ceph-detect-init} || die "sed failed"
-}
-
-pkg_postinst() {
- readme.gentoo_print_elog
-}
diff --git a/sys-cluster/ceph/ceph-10.2.5-r3.ebuild b/sys-cluster/ceph/ceph-10.2.5-r3.ebuild
deleted file mode 100644
index 23faa9a8c48..00000000000
--- a/sys-cluster/ceph/ceph-10.2.5-r3.ebuild
+++ /dev/null
@@ -1,290 +0,0 @@
-# Copyright 1999-2017 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-PYTHON_COMPAT=( python{2_7,3_{4,5,6}} )
-
-inherit check-reqs autotools eutils python-r1 udev user \
- readme.gentoo-r1 systemd versionator flag-o-matic
-
-if [[ ${PV} == *9999* ]]; then
- inherit git-r3
- EGIT_REPO_URI="
- git://github.com/ceph/ceph.git
- https://github.com/ceph/ceph.git"
- SRC_URI=""
-else
- SRC_URI="http://ceph.com/download/${P}.tar.gz"
- KEYWORDS="~amd64 ~arm ~ppc ~ppc64 ~x86"
-fi
-
-DESCRIPTION="Ceph distributed filesystem"
-HOMEPAGE="http://ceph.com/"
-
-LICENSE="LGPL-2.1"
-SLOT="0"
-
-IUSE="babeltrace cephfs cryptopp debug fuse gtk jemalloc ldap +libaio"
-IUSE+=" libatomic lttng +nss +radosgw static-libs +tcmalloc test xfs zfs"
-
-# unbundling code commented out pending bugs 584056 and 584058
-#>=dev-libs/jerasure-2.0.0-r1
-#>=dev-libs/gf-complete-2.0.0
-COMMON_DEPEND="
- app-arch/snappy
- app-arch/lz4:=
- app-arch/bzip2
- dev-libs/boost:=[threads]
- dev-libs/libaio
- dev-libs/leveldb[snappy]
- nss? ( dev-libs/nss )
- libatomic? ( dev-libs/libatomic_ops )
- cryptopp? ( dev-libs/crypto++:= )
- sys-apps/keyutils
- sys-apps/util-linux
- dev-libs/libxml2
- radosgw? ( dev-libs/fcgi )
- ldap? ( net-nds/openldap )
- babeltrace? ( dev-util/babeltrace )
- fuse? ( sys-fs/fuse:0 )
- xfs? ( sys-fs/xfsprogs )
- zfs? ( sys-fs/zfs )
- gtk? (
- x11-libs/gtk+:2
- dev-cpp/gtkmm:2.4
- gnome-base/librsvg
- )
- radosgw? (
- dev-libs/fcgi
- dev-libs/expat
- net-misc/curl
- )
- jemalloc? ( dev-libs/jemalloc )
- !jemalloc? ( dev-util/google-perftools )
- lttng? ( dev-util/lttng-ust )
- ${PYTHON_DEPS}
- "
-DEPEND="${COMMON_DEPEND}
- dev-python/cython[${PYTHON_USEDEP}]
- app-arch/cpio
- sys-apps/lsb-release
- virtual/pkgconfig
- dev-python/sphinx
- test? (
- sys-fs/btrfs-progs
- sys-apps/grep[pcre]
- dev-python/tox[${PYTHON_USEDEP}]
- dev-python/virtualenv[${PYTHON_USEDEP}]
- )"
-RDEPEND="${COMMON_DEPEND}
- sys-apps/hdparm
- sys-block/parted
- sys-fs/cryptsetup
- sys-apps/gptfdisk
- dev-python/flask[${PYTHON_USEDEP}]
- dev-python/requests[${PYTHON_USEDEP}]
- "
-REQUIRED_USE="
- $(python_gen_useflags 'python2*')
- ${PYTHON_REQUIRED_USE}
- ^^ ( nss cryptopp )
- ?? ( jemalloc tcmalloc )
- "
-
-# work around bug in ceph compilation (rgw/ceph_dencoder-rgw_dencoder.o... undefined reference to `vtable for RGWZoneGroup')
-REQUIRED_USE+=" radosgw"
-
-RESTRICT="test? ( userpriv )"
-
-# distribution tarball does not include everything needed for tests
-RESTRICT+=" test"
-
-STRIP_MASK="/usr/lib*/rados-classes/*"
-
-UNBUNDLE_LIBS=(
- src/erasure-code/jerasure/jerasure
- src/erasure-code/jerasure/gf-complete
-)
-
-PATCHES=(
- "${FILESDIR}/ceph-10.2.0-dont-use-virtualenvs.patch"
- #"${FILESDIR}/ceph-10.2.1-unbundle-jerasure.patch"
- "${FILESDIR}/${PN}-10.2.1-libzfs.patch"
- "${FILESDIR}/${PN}-10.2.3-build-without-openldap.patch"
-)
-
-check-reqs_export_vars() {
- if use debug; then
- CHECKREQS_DISK_BUILD="23G"
- CHECKREQS_DISK_USR="7G"
- elif use amd64; then
- CHECKREQS_DISK_BUILD="12G"
- CHECKREQS_DISK_USR="450M"
- else
- CHECKREQS_DISK_BUILD="1400M"
- CHECKREQS_DISK_USR="450M"
- fi
-
- export CHECKREQS_DISK_BUILD CHECKREQS_DISK_USR
-}
-
-user_setup() {
- enewgroup ceph ${CEPH_GID}
- enewuser ceph "${CEPH_UID:--1}" -1 /var/lib/ceph ceph
-}
-
-emake_python_bindings() {
- local action="${1}" params binding module
- shift
- params=("${@}")
-
- __emake_python_bindings_do_impl() {
- ceph_run_econf "${EPYTHON}"
- emake "${params[@]}" PYTHON="${EPYTHON}" "${binding}-pybind-${action}"
-
- # these don't work and aren't needed on python3
- if [[ ${EBUILD_PHASE} == install ]]; then
- for module in "${S}"/src/pybind/*.py; do
- module_basename="$(basename "${module}")"
- if [[ ${module_basename} == ceph_volume_client.py ]] && ! use cephfs; then
- continue
- elif [[ ! -e "${ED}/$(python_get_sitedir)/${module_basename}" ]]; then
- python_domodule ${module}
- fi
- done
- fi
- }
-
- pushd "${S}/src"
- for binding in rados rbd $(use cephfs && echo cephfs); do
- python_foreach_impl __emake_python_bindings_do_impl
- done
- popd
-
- unset __emake_python_bindings_do_impl
-}
-
-pkg_pretend() {
- check-reqs_export_vars
- check-reqs_pkg_pretend
-}
-
-pkg_setup() {
- python_setup
- check-reqs_export_vars
- check-reqs_pkg_setup
- user_setup
-}
-
-src_prepare() {
- default
-
- # remove tests that need root access
- rm src/test/cli/ceph-authtool/cap*.t
-
- #rm -rf "${UNBUNDLE_LIBS[@]}"
-
- append-flags -fPIC
- eautoreconf
-}
-
-src_configure() {
- ECONFARGS=(
- --without-hadoop
- --includedir=/usr/include
- $(use_with cephfs)
- $(use_with debug)
- $(use_with fuse)
- $(use_with libaio)
- $(use_with libatomic libatomic-ops)
- $(use_with nss)
- $(use_with cryptopp)
- $(use_with radosgw)
- $(use_with gtk gtk2)
- $(use_enable static-libs static)
- $(use_with jemalloc)
- $(use_with xfs libxfs)
- $(use_with zfs libzfs)
- $(use_with lttng )
- $(use_with babeltrace)
- $(use_with ldap openldap)
- $(use jemalloc || usex tcmalloc " --with-tcmalloc" " --with-tcmalloc-minimal")
- --with-mon
- --with-eventfd
- --with-cython
- --without-kinetic
- --without-librocksdb
- --with-systemdsystemunitdir="$(systemd_get_systemunitdir)"
- )
-
- # we can only use python2.7 for building at the moment
- ceph_run_econf "python2*"
-}
-
-ceph_run_econf() {
- [[ -z ${ECONFARGS} ]] && die "called ${FUNCNAME[0]} with ECONFARGS unset"
- [[ -z ${1} ]] && die "called ${FUNCNAME[0]} without passing python implementation"
-
- pushd "${S}" >/dev/null || die
- #
- # This generates a QA warning about running econf in src_compile
- # and src_install. Unfortunately the only other way to do this would
- # involve building all of for each python implementation times, which
- # wastes a _lot_ of CPU time and disk space. This hack will no longer
- # be needed with >=ceph-11.2.
- #
- python_setup "${1}"
- econf "${ECONFARGS[@]}"
-
- popd >/dev/null || die
-}
-
-src_compile() {
- emake
- emake_python_bindings all
-
- use test && emake check-local
-}
-
-src_test() {
- make check || die "make check failed"
-}
-
-src_install() {
- default
- emake_python_bindings install-exec "DESTDIR=\"${D}\""
-
- prune_libtool_files --all
-
- exeinto /usr/$(get_libdir)/ceph
- newexe src/init-ceph ceph_init.sh
-
- insinto /etc/logrotate.d/
- newins "${FILESDIR}"/ceph.logrotate ${PN}
-
- keepdir /var/lib/${PN}{,/tmp} /var/log/${PN}/stat
-
- fowners -R ceph:ceph /var/lib/ceph /var/log/ceph
-
- newinitd "${FILESDIR}/rbdmap.initd" rbdmap
- newinitd "${FILESDIR}/${PN}.initd-r3" ${PN}
- newconfd "${FILESDIR}/${PN}.confd-r1" ${PN}
-
- systemd_install_serviced "${FILESDIR}/ceph-mds_at.service.conf" "ceph-mds@.service"
- systemd_install_serviced "${FILESDIR}/ceph-osd_at.service.conf" "ceph-osd@.service"
-
- udev_dorules udev/*.rules
-
- readme.gentoo_create_doc
-
- python_setup 'python2*'
- python_fix_shebang "${ED}"/usr/{,s}bin/
-
- # python_fix_shebang apparently is not idempotent
- sed -i -r 's:(/usr/lib/python-exec/python[0-9]\.[0-9]/python)[0-9]\.[0-9]:\1:' \
- "${ED}"/usr/{sbin/ceph-disk,bin/ceph-detect-init} || die "sed failed"
-}
-
-pkg_postinst() {
- readme.gentoo_print_elog
-}
diff --git a/sys-cluster/ceph/ceph-10.2.5-r4.ebuild b/sys-cluster/ceph/ceph-10.2.5-r4.ebuild
deleted file mode 100644
index 072e143d578..00000000000
--- a/sys-cluster/ceph/ceph-10.2.5-r4.ebuild
+++ /dev/null
@@ -1,292 +0,0 @@
-# Copyright 1999-2017 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-PYTHON_COMPAT=( python{2_7,3_{4,5,6}} )
-
-inherit check-reqs autotools eutils python-r1 udev user \
- readme.gentoo-r1 systemd versionator flag-o-matic
-
-if [[ ${PV} == *9999* ]]; then
- inherit git-r3
- EGIT_REPO_URI="
- git://github.com/ceph/ceph.git
- https://github.com/ceph/ceph.git"
- SRC_URI=""
-else
- SRC_URI="http://ceph.com/download/${P}.tar.gz"
- KEYWORDS="~amd64 ~arm ~ppc ~ppc64 ~x86"
-fi
-
-DESCRIPTION="Ceph distributed filesystem"
-HOMEPAGE="http://ceph.com/"
-
-LICENSE="LGPL-2.1"
-SLOT="0"
-
-IUSE="babeltrace cephfs cryptopp debug fuse gtk jemalloc ldap +libaio"
-IUSE+=" libatomic lttng +nss +radosgw static-libs +tcmalloc test xfs zfs"
-
-# unbundling code commented out pending bugs 584056 and 584058
-#>=dev-libs/jerasure-2.0.0-r1
-#>=dev-libs/gf-complete-2.0.0
-COMMON_DEPEND="
- app-arch/snappy
- app-arch/lz4:=
- app-arch/bzip2
- dev-libs/boost:=[threads]
- dev-libs/libaio
- dev-libs/leveldb[snappy]
- nss? ( dev-libs/nss )
- libatomic? ( dev-libs/libatomic_ops )
- cryptopp? ( dev-libs/crypto++:= )
- sys-apps/keyutils
- sys-apps/util-linux
- dev-libs/libxml2
- radosgw? ( dev-libs/fcgi )
- ldap? ( net-nds/openldap )
- babeltrace? ( dev-util/babeltrace )
- fuse? ( sys-fs/fuse:0 )
- xfs? ( sys-fs/xfsprogs )
- zfs? ( sys-fs/zfs )
- gtk? (
- x11-libs/gtk+:2
- dev-cpp/gtkmm:2.4
- gnome-base/librsvg
- )
- radosgw? (
- dev-libs/fcgi
- dev-libs/expat
- net-misc/curl
- )
- jemalloc? ( dev-libs/jemalloc )
- !jemalloc? ( dev-util/google-perftools )
- lttng? ( dev-util/lttng-ust )
- ${PYTHON_DEPS}
- "
-DEPEND="${COMMON_DEPEND}
- dev-python/cython[${PYTHON_USEDEP}]
- app-arch/cpio
- sys-apps/lsb-release
- virtual/pkgconfig
- dev-python/sphinx
- test? (
- sys-fs/btrfs-progs
- sys-apps/grep[pcre]
- dev-python/tox[${PYTHON_USEDEP}]
- dev-python/virtualenv[${PYTHON_USEDEP}]
- )"
-RDEPEND="${COMMON_DEPEND}
- sys-apps/hdparm
- sys-block/parted
- sys-fs/cryptsetup
- sys-apps/gptfdisk
- dev-python/flask[${PYTHON_USEDEP}]
- dev-python/requests[${PYTHON_USEDEP}]
- "
-REQUIRED_USE="
- $(python_gen_useflags 'python2*')
- ${PYTHON_REQUIRED_USE}
- ^^ ( nss cryptopp )
- ?? ( jemalloc tcmalloc )
- "
-
-# work around bug in ceph compilation (rgw/ceph_dencoder-rgw_dencoder.o... undefined reference to `vtable for RGWZoneGroup')
-REQUIRED_USE+=" radosgw"
-
-RESTRICT="test? ( userpriv )"
-
-# distribution tarball does not include everything needed for tests
-RESTRICT+=" test"
-
-STRIP_MASK="/usr/lib*/rados-classes/*"
-
-UNBUNDLE_LIBS=(
- src/erasure-code/jerasure/jerasure
- src/erasure-code/jerasure/gf-complete
-)
-
-PATCHES=(
- "${FILESDIR}/ceph-10.2.0-dont-use-virtualenvs.patch"
- #"${FILESDIR}/ceph-10.2.1-unbundle-jerasure.patch"
- "${FILESDIR}/${PN}-10.2.1-libzfs.patch"
- "${FILESDIR}/${PN}-10.2.3-build-without-openldap.patch"
- "${FILESDIR}/${PN}-10.2.5-Make-RBD-Python-bindings-compatible-with-Python-3.patch"
- "${FILESDIR}/${PN}-10.2.5-Make-CephFS-bindings-and-tests-compatible-with-Python-3.patch"
-)
-
-check-reqs_export_vars() {
- if use debug; then
- CHECKREQS_DISK_BUILD="23G"
- CHECKREQS_DISK_USR="7G"
- elif use amd64; then
- CHECKREQS_DISK_BUILD="12G"
- CHECKREQS_DISK_USR="450M"
- else
- CHECKREQS_DISK_BUILD="1400M"
- CHECKREQS_DISK_USR="450M"
- fi
-
- export CHECKREQS_DISK_BUILD CHECKREQS_DISK_USR
-}
-
-user_setup() {
- enewgroup ceph ${CEPH_GID}
- enewuser ceph "${CEPH_UID:--1}" -1 /var/lib/ceph ceph
-}
-
-emake_python_bindings() {
- local action="${1}" params binding module
- shift
- params=("${@}")
-
- __emake_python_bindings_do_impl() {
- ceph_run_econf "${EPYTHON}"
- emake "${params[@]}" PYTHON="${EPYTHON}" "${binding}-pybind-${action}"
-
- # these don't work and aren't needed on python3
- if [[ ${EBUILD_PHASE} == install ]]; then
- for module in "${S}"/src/pybind/*.py; do
- module_basename="$(basename "${module}")"
- if [[ ${module_basename} == ceph_volume_client.py ]] && ! use cephfs; then
- continue
- elif [[ ! -e "${ED}/$(python_get_sitedir)/${module_basename}" ]]; then
- python_domodule ${module}
- fi
- done
- fi
- }
-
- pushd "${S}/src"
- for binding in rados rbd $(use cephfs && echo cephfs); do
- python_foreach_impl __emake_python_bindings_do_impl
- done
- popd
-
- unset __emake_python_bindings_do_impl
-}
-
-pkg_pretend() {
- check-reqs_export_vars
- check-reqs_pkg_pretend
-}
-
-pkg_setup() {
- python_setup
- check-reqs_export_vars
- check-reqs_pkg_setup
- user_setup
-}
-
-src_prepare() {
- default
-
- # remove tests that need root access
- rm src/test/cli/ceph-authtool/cap*.t
-
- #rm -rf "${UNBUNDLE_LIBS[@]}"
-
- append-flags -fPIC
- eautoreconf
-}
-
-src_configure() {
- ECONFARGS=(
- --without-hadoop
- --includedir=/usr/include
- $(use_with cephfs)
- $(use_with debug)
- $(use_with fuse)
- $(use_with libaio)
- $(use_with libatomic libatomic-ops)
- $(use_with nss)
- $(use_with cryptopp)
- $(use_with radosgw)
- $(use_with gtk gtk2)
- $(use_enable static-libs static)
- $(use_with jemalloc)
- $(use_with xfs libxfs)
- $(use_with zfs libzfs)
- $(use_with lttng )
- $(use_with babeltrace)
- $(use_with ldap openldap)
- $(use jemalloc || usex tcmalloc " --with-tcmalloc" " --with-tcmalloc-minimal")
- --with-mon
- --with-eventfd
- --with-cython
- --without-kinetic
- --without-librocksdb
- --with-systemdsystemunitdir="$(systemd_get_systemunitdir)"
- )
-
- # we can only use python2.7 for building at the moment
- ceph_run_econf "python2*"
-}
-
-ceph_run_econf() {
- [[ -z ${ECONFARGS} ]] && die "called ${FUNCNAME[0]} with ECONFARGS unset"
- [[ -z ${1} ]] && die "called ${FUNCNAME[0]} without passing python implementation"
-
- pushd "${S}" >/dev/null || die
- #
- # This generates a QA warning about running econf in src_compile
- # and src_install. Unfortunately the only other way to do this would
- # involve building all of for each python implementation times, which
- # wastes a _lot_ of CPU time and disk space. This hack will no longer
- # be needed with >=ceph-11.2.
- #
- python_setup "${1}"
- econf "${ECONFARGS[@]}"
-
- popd >/dev/null || die
-}
-
-src_compile() {
- emake
- emake_python_bindings all
-
- use test && emake check-local
-}
-
-src_test() {
- make check || die "make check failed"
-}
-
-src_install() {
- default
- emake_python_bindings install-exec "DESTDIR=\"${D}\""
-
- prune_libtool_files --all
-
- exeinto /usr/$(get_libdir)/ceph
- newexe src/init-ceph ceph_init.sh
-
- insinto /etc/logrotate.d/
- newins "${FILESDIR}"/ceph.logrotate ${PN}
-
- keepdir /var/lib/${PN}{,/tmp} /var/log/${PN}/stat
-
- fowners -R ceph:ceph /var/lib/ceph /var/log/ceph
-
- newinitd "${FILESDIR}/rbdmap.initd" rbdmap
- newinitd "${FILESDIR}/${PN}.initd-r3" ${PN}
- newconfd "${FILESDIR}/${PN}.confd-r1" ${PN}
-
- systemd_install_serviced "${FILESDIR}/ceph-mds_at.service.conf" "ceph-mds@.service"
- systemd_install_serviced "${FILESDIR}/ceph-osd_at.service.conf" "ceph-osd@.service"
-
- udev_dorules udev/*.rules
-
- readme.gentoo_create_doc
-
- python_setup 'python2*'
- python_fix_shebang "${ED}"/usr/{,s}bin/
-
- # python_fix_shebang apparently is not idempotent
- sed -i -r 's:(/usr/lib/python-exec/python[0-9]\.[0-9]/python)[0-9]\.[0-9]:\1:' \
- "${ED}"/usr/{sbin/ceph-disk,bin/ceph-detect-init} || die "sed failed"
-}
-
-pkg_postinst() {
- readme.gentoo_print_elog
-}
diff --git a/sys-cluster/ceph/ceph-10.2.5-r5.ebuild b/sys-cluster/ceph/ceph-10.2.5-r5.ebuild
deleted file mode 100644
index 81523b24898..00000000000
--- a/sys-cluster/ceph/ceph-10.2.5-r5.ebuild
+++ /dev/null
@@ -1,292 +0,0 @@
-# Copyright 1999-2017 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-PYTHON_COMPAT=( python{2_7,3_{4,5,6}} )
-
-inherit check-reqs autotools eutils python-r1 udev user \
- readme.gentoo-r1 systemd versionator flag-o-matic
-
-if [[ ${PV} == *9999* ]]; then
- inherit git-r3
- EGIT_REPO_URI="
- git://github.com/ceph/ceph.git
- https://github.com/ceph/ceph.git"
- SRC_URI=""
-else
- SRC_URI="http://ceph.com/download/${P}.tar.gz"
- KEYWORDS="~amd64 ~arm ~ppc ~ppc64 ~x86"
-fi
-
-DESCRIPTION="Ceph distributed filesystem"
-HOMEPAGE="http://ceph.com/"
-
-LICENSE="LGPL-2.1"
-SLOT="0"
-
-IUSE="babeltrace cephfs cryptopp debug fuse gtk jemalloc ldap +libaio"
-IUSE+=" libatomic lttng +nss +radosgw static-libs +tcmalloc test xfs zfs"
-
-# unbundling code commented out pending bugs 584056 and 584058
-#>=dev-libs/jerasure-2.0.0-r1
-#>=dev-libs/gf-complete-2.0.0
-COMMON_DEPEND="
- app-arch/snappy
- app-arch/lz4:=
- app-arch/bzip2
- dev-libs/boost:=[threads]
- dev-libs/libaio
- dev-libs/leveldb[snappy]
- nss? ( dev-libs/nss )
- libatomic? ( dev-libs/libatomic_ops )
- cryptopp? ( dev-libs/crypto++:= )
- sys-apps/keyutils
- sys-apps/util-linux
- dev-libs/libxml2
- radosgw? ( dev-libs/fcgi )
- ldap? ( net-nds/openldap )
- babeltrace? ( dev-util/babeltrace )
- fuse? ( sys-fs/fuse:0 )
- xfs? ( sys-fs/xfsprogs )
- zfs? ( sys-fs/zfs )
- gtk? (
- x11-libs/gtk+:2
- dev-cpp/gtkmm:2.4
- gnome-base/librsvg
- )
- radosgw? (
- dev-libs/fcgi
- dev-libs/expat
- net-misc/curl
- )
- jemalloc? ( dev-libs/jemalloc )
- !jemalloc? ( dev-util/google-perftools )
- lttng? ( dev-util/lttng-ust )
- ${PYTHON_DEPS}
- "
-DEPEND="${COMMON_DEPEND}
- dev-python/cython[${PYTHON_USEDEP}]
- app-arch/cpio
- sys-apps/lsb-release
- virtual/pkgconfig
- dev-python/sphinx
- test? (
- sys-fs/btrfs-progs
- sys-apps/grep[pcre]
- dev-python/tox[${PYTHON_USEDEP}]
- dev-python/virtualenv[${PYTHON_USEDEP}]
- )"
-RDEPEND="${COMMON_DEPEND}
- sys-apps/hdparm
- sys-block/parted
- sys-fs/cryptsetup
- sys-apps/gptfdisk
- dev-python/flask[${PYTHON_USEDEP}]
- dev-python/requests[${PYTHON_USEDEP}]
- "
-REQUIRED_USE="
- $(python_gen_useflags 'python2*')
- ${PYTHON_REQUIRED_USE}
- ^^ ( nss cryptopp )
- ?? ( jemalloc tcmalloc )
- "
-
-# work around bug in ceph compilation (rgw/ceph_dencoder-rgw_dencoder.o... undefined reference to `vtable for RGWZoneGroup')
-REQUIRED_USE+=" radosgw"
-
-RESTRICT="test? ( userpriv )"
-
-# distribution tarball does not include everything needed for tests
-RESTRICT+=" test"
-
-STRIP_MASK="/usr/lib*/rados-classes/*"
-
-UNBUNDLE_LIBS=(
- src/erasure-code/jerasure/jerasure
- src/erasure-code/jerasure/gf-complete
-)
-
-PATCHES=(
- "${FILESDIR}/ceph-10.2.0-dont-use-virtualenvs.patch"
- #"${FILESDIR}/ceph-10.2.1-unbundle-jerasure.patch"
- "${FILESDIR}/${PN}-10.2.1-libzfs.patch"
- "${FILESDIR}/${PN}-10.2.3-build-without-openldap.patch"
- "${FILESDIR}/${PN}-10.2.5-Make-RBD-Python-bindings-compatible-with-Python-3.patch"
- "${FILESDIR}/${PN}-10.2.5-Make-CephFS-bindings-and-tests-compatible-with-Python-3.patch"
-)
-
-check-reqs_export_vars() {
- if use debug; then
- CHECKREQS_DISK_BUILD="23G"
- CHECKREQS_DISK_USR="7G"
- elif use amd64; then
- CHECKREQS_DISK_BUILD="12G"
- CHECKREQS_DISK_USR="450M"
- else
- CHECKREQS_DISK_BUILD="1400M"
- CHECKREQS_DISK_USR="450M"
- fi
-
- export CHECKREQS_DISK_BUILD CHECKREQS_DISK_USR
-}
-
-user_setup() {
- enewgroup ceph ${CEPH_GID}
- enewuser ceph "${CEPH_UID:--1}" -1 /var/lib/ceph ceph
-}
-
-emake_python_bindings() {
- local action="${1}" params binding module
- shift
- params=("${@}")
-
- __emake_python_bindings_do_impl() {
- ceph_run_econf "${EPYTHON}"
- emake "${params[@]}" PYTHON="${EPYTHON}" "${binding}-pybind-${action}"
-
- # these don't work and aren't needed on python3
- if [[ ${EBUILD_PHASE} == install ]]; then
- for module in "${S}"/src/pybind/*.py; do
- module_basename="$(basename "${module}")"
- if [[ ${module_basename} == ceph_volume_client.py ]] && ! use cephfs; then
- continue
- elif [[ ! -e "${ED}/$(python_get_sitedir)/${module_basename}" ]]; then
- python_domodule ${module}
- fi
- done
- fi
- }
-
- pushd "${S}/src"
- for binding in rados rbd $(use cephfs && echo cephfs); do
- python_foreach_impl __emake_python_bindings_do_impl
- done
- popd
-
- unset __emake_python_bindings_do_impl
-}
-
-pkg_pretend() {
- check-reqs_export_vars
- check-reqs_pkg_pretend
-}
-
-pkg_setup() {
- python_setup
- check-reqs_export_vars
- check-reqs_pkg_setup
- user_setup
-}
-
-src_prepare() {
- default
-
- # remove tests that need root access
- rm src/test/cli/ceph-authtool/cap*.t
-
- #rm -rf "${UNBUNDLE_LIBS[@]}"
-
- append-flags -fPIC
- eautoreconf
-}
-
-src_configure() {
- ECONFARGS=(
- --without-hadoop
- --includedir=/usr/include
- $(use_with cephfs)
- $(use_with debug)
- $(use_with fuse)
- $(use_with libaio)
- $(use_with libatomic libatomic-ops)
- $(use_with nss)
- $(use_with cryptopp)
- $(use_with radosgw)
- $(use_with gtk gtk2)
- $(use_enable static-libs static)
- $(use_with jemalloc)
- $(use_with xfs libxfs)
- $(use_with zfs libzfs)
- $(use_with lttng )
- $(use_with babeltrace)
- $(use_with ldap openldap)
- $(use jemalloc || usex tcmalloc " --with-tcmalloc" " --with-tcmalloc-minimal")
- --with-mon
- --with-eventfd
- --with-cython
- --without-kinetic
- --without-librocksdb
- --with-systemdsystemunitdir="$(systemd_get_systemunitdir)"
- )
-
- # we can only use python2.7 for building at the moment
- ceph_run_econf "python2*"
-}
-
-ceph_run_econf() {
- [[ -z ${ECONFARGS} ]] && die "called ${FUNCNAME[0]} with ECONFARGS unset"
- [[ -z ${1} ]] && die "called ${FUNCNAME[0]} without passing python implementation"
-
- pushd "${S}" >/dev/null || die
- #
- # This generates a QA warning about running econf in src_compile
- # and src_install. Unfortunately the only other way to do this would
- # involve building all of for each python implementation times, which
- # wastes a _lot_ of CPU time and disk space. This hack will no longer
- # be needed with >=ceph-11.2.
- #
- python_setup "${1}"
- econf "${ECONFARGS[@]}"
-
- popd >/dev/null || die
-}
-
-src_compile() {
- emake
- emake_python_bindings all
-
- use test && emake check-local
-}
-
-src_test() {
- make check || die "make check failed"
-}
-
-src_install() {
- default
- emake_python_bindings install-exec "DESTDIR=\"${D}\""
-
- prune_libtool_files --all
-
- exeinto /usr/$(get_libdir)/ceph
- newexe src/init-ceph ceph_init.sh
-
- insinto /etc/logrotate.d/
- newins "${FILESDIR}"/ceph.logrotate ${PN}
-
- keepdir /var/lib/${PN}{,/tmp} /var/log/${PN}/stat
-
- fowners -R ceph:ceph /var/lib/ceph /var/log/ceph
-
- newinitd "${FILESDIR}/rbdmap.initd" rbdmap
- newinitd "${FILESDIR}/${PN}.initd-r4" ${PN}
- newconfd "${FILESDIR}/${PN}.confd-r2" ${PN}
-
- systemd_install_serviced "${FILESDIR}/ceph-mds_at.service.conf" "ceph-mds@.service"
- systemd_install_serviced "${FILESDIR}/ceph-osd_at.service.conf" "ceph-osd@.service"
-
- udev_dorules udev/*.rules
-
- readme.gentoo_create_doc
-
- python_setup 'python2*'
- python_fix_shebang "${ED}"/usr/{,s}bin/
-
- # python_fix_shebang apparently is not idempotent
- sed -i -r 's:(/usr/lib/python-exec/python[0-9]\.[0-9]/python)[0-9]\.[0-9]:\1:' \
- "${ED}"/usr/{sbin/ceph-disk,bin/ceph-detect-init} || die "sed failed"
-}
-
-pkg_postinst() {
- readme.gentoo_print_elog
-}
diff --git a/sys-cluster/ceph/ceph-10.2.6-r1.ebuild b/sys-cluster/ceph/ceph-10.2.6-r1.ebuild
deleted file mode 100644
index 843b516b452..00000000000
--- a/sys-cluster/ceph/ceph-10.2.6-r1.ebuild
+++ /dev/null
@@ -1,292 +0,0 @@
-# Copyright 1999-2017 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-PYTHON_COMPAT=( python{2_7,3_{4,5,6}} )
-
-inherit check-reqs autotools eutils python-r1 udev user \
- readme.gentoo-r1 systemd versionator flag-o-matic
-
-if [[ ${PV} == *9999* ]]; then
- inherit git-r3
- EGIT_REPO_URI="
- git://github.com/ceph/ceph.git
- https://github.com/ceph/ceph.git"
- SRC_URI=""
-else
- SRC_URI="http://download.ceph.com/tarballs/${P}.tar.gz"
- KEYWORDS="~amd64 ~arm ~ppc ~ppc64 ~x86"
-fi
-
-DESCRIPTION="Ceph distributed filesystem"
-HOMEPAGE="http://ceph.com/"
-
-LICENSE="LGPL-2.1"
-SLOT="0"
-
-IUSE="babeltrace cephfs cryptopp debug fuse gtk jemalloc ldap +libaio"
-IUSE+=" libatomic lttng +nss +radosgw static-libs +tcmalloc test xfs zfs"
-
-# unbundling code commented out pending bugs 584056 and 584058
-#>=dev-libs/jerasure-2.0.0-r1
-#>=dev-libs/gf-complete-2.0.0
-COMMON_DEPEND="
- app-arch/snappy
- app-arch/lz4:=
- app-arch/bzip2
- dev-libs/boost:=[threads]
- dev-libs/libaio
- dev-libs/leveldb[snappy]
- nss? ( dev-libs/nss )
- libatomic? ( dev-libs/libatomic_ops )
- cryptopp? ( dev-libs/crypto++:= )
- sys-apps/keyutils
- sys-apps/util-linux
- dev-libs/libxml2
- radosgw? ( dev-libs/fcgi )
- ldap? ( net-nds/openldap )
- babeltrace? ( dev-util/babeltrace )
- fuse? ( sys-fs/fuse:0 )
- xfs? ( sys-fs/xfsprogs )
- zfs? ( sys-fs/zfs )
- gtk? (
- x11-libs/gtk+:2
- dev-cpp/gtkmm:2.4
- gnome-base/librsvg
- )
- radosgw? (
- dev-libs/fcgi
- dev-libs/expat
- net-misc/curl
- )
- jemalloc? ( dev-libs/jemalloc )
- !jemalloc? ( dev-util/google-perftools )
- lttng? ( dev-util/lttng-ust )
- ${PYTHON_DEPS}
- "
-DEPEND="${COMMON_DEPEND}
- dev-python/cython[${PYTHON_USEDEP}]
- app-arch/cpio
- virtual/pkgconfig
- dev-python/sphinx
- test? (
- sys-fs/btrfs-progs
- sys-apps/grep[pcre]
- dev-python/tox[${PYTHON_USEDEP}]
- dev-python/virtualenv[${PYTHON_USEDEP}]
- )"
-RDEPEND="${COMMON_DEPEND}
- sys-apps/hdparm
- sys-block/parted
- sys-fs/cryptsetup
- sys-apps/gptfdisk
- dev-python/flask[${PYTHON_USEDEP}]
- dev-python/requests[${PYTHON_USEDEP}]
- "
-REQUIRED_USE="
- $(python_gen_useflags 'python2*')
- ${PYTHON_REQUIRED_USE}
- ^^ ( nss cryptopp )
- ?? ( jemalloc tcmalloc )
- "
-
-# work around bug in ceph compilation (rgw/ceph_dencoder-rgw_dencoder.o... undefined reference to `vtable for RGWZoneGroup')
-REQUIRED_USE+=" radosgw"
-
-RESTRICT="test? ( userpriv )"
-
-# distribution tarball does not include everything needed for tests
-RESTRICT+=" test"
-
-STRIP_MASK="/usr/lib*/rados-classes/*"
-
-UNBUNDLE_LIBS=(
- src/erasure-code/jerasure/jerasure
- src/erasure-code/jerasure/gf-complete
-)
-
-PATCHES=(
- "${FILESDIR}/ceph-10.2.0-dont-use-virtualenvs.patch"
- #"${FILESDIR}/ceph-10.2.1-unbundle-jerasure.patch"
- "${FILESDIR}/${PN}-10.2.1-libzfs.patch"
- "${FILESDIR}/${PN}-10.2.3-build-without-openldap.patch"
- "${FILESDIR}/${PN}-10.2.5-Make-RBD-Python-bindings-compatible-with-Python-3.patch"
- "${FILESDIR}/${PN}-10.2.5-Make-CephFS-bindings-and-tests-compatible-with-Python-3.patch"
- "${FILESDIR}/${PN}-10.2.6-radosgw-swift-clean-up-flush-newline-behavior.patch"
-)
-
-check-reqs_export_vars() {
- if use debug; then
- CHECKREQS_DISK_BUILD="23G"
- CHECKREQS_DISK_USR="7G"
- elif use amd64; then
- CHECKREQS_DISK_BUILD="12G"
- CHECKREQS_DISK_USR="450M"
- else
- CHECKREQS_DISK_BUILD="1400M"
- CHECKREQS_DISK_USR="450M"
- fi
-
- export CHECKREQS_DISK_BUILD CHECKREQS_DISK_USR
-}
-
-user_setup() {
- enewgroup ceph ${CEPH_GID}
- enewuser ceph "${CEPH_UID:--1}" -1 /var/lib/ceph ceph
-}
-
-emake_python_bindings() {
- local action="${1}" params binding module
- shift
- params=("${@}")
-
- __emake_python_bindings_do_impl() {
- ceph_run_econf "${EPYTHON}"
- emake "${params[@]}" PYTHON="${EPYTHON}" "${binding}-pybind-${action}"
-
- # these don't work and aren't needed on python3
- if [[ ${EBUILD_PHASE} == install ]]; then
- for module in "${S}"/src/pybind/*.py; do
- module_basename="$(basename "${module}")"
- if [[ ${module_basename} == ceph_volume_client.py ]] && ! use cephfs; then
- continue
- elif [[ ! -e "${ED}/$(python_get_sitedir)/${module_basename}" ]]; then
- python_domodule ${module}
- fi
- done
- fi
- }
-
- pushd "${S}/src"
- for binding in rados rbd $(use cephfs && echo cephfs); do
- python_foreach_impl __emake_python_bindings_do_impl
- done
- popd
-
- unset __emake_python_bindings_do_impl
-}
-
-pkg_pretend() {
- check-reqs_export_vars
- check-reqs_pkg_pretend
-}
-
-pkg_setup() {
- python_setup
- check-reqs_export_vars
- check-reqs_pkg_setup
- user_setup
-}
-
-src_prepare() {
- default
-
- # remove tests that need root access
- rm src/test/cli/ceph-authtool/cap*.t
-
- #rm -rf "${UNBUNDLE_LIBS[@]}"
-
- append-flags -fPIC
- eautoreconf
-}
-
-src_configure() {
- ECONFARGS=(
- --without-hadoop
- --includedir=/usr/include
- $(use_with cephfs)
- $(use_with debug)
- $(use_with fuse)
- $(use_with libaio)
- $(use_with libatomic libatomic-ops)
- $(use_with nss)
- $(use_with cryptopp)
- $(use_with radosgw)
- $(use_with gtk gtk2)
- $(use_enable static-libs static)
- $(use_with jemalloc)
- $(use_with xfs libxfs)
- $(use_with zfs libzfs)
- $(use_with lttng )
- $(use_with babeltrace)
- $(use_with ldap openldap)
- $(use jemalloc || usex tcmalloc " --with-tcmalloc" " --with-tcmalloc-minimal")
- --with-mon
- --with-eventfd
- --with-cython
- --without-kinetic
- --without-librocksdb
- --with-systemdsystemunitdir="$(systemd_get_systemunitdir)"
- )
-
- # we can only use python2.7 for building at the moment
- ceph_run_econf "python2*"
-}
-
-ceph_run_econf() {
- [[ -z ${ECONFARGS} ]] && die "called ${FUNCNAME[0]} with ECONFARGS unset"
- [[ -z ${1} ]] && die "called ${FUNCNAME[0]} without passing python implementation"
-
- pushd "${S}" >/dev/null || die
- #
- # This generates a QA warning about running econf in src_compile
- # and src_install. Unfortunately the only other way to do this would
- # involve building all of for each python implementation times, which
- # wastes a _lot_ of CPU time and disk space. This hack will no longer
- # be needed with >=ceph-11.2.
- #
- python_setup "${1}"
- econf "${ECONFARGS[@]}"
-
- popd >/dev/null || die
-}
-
-src_compile() {
- emake
- emake_python_bindings all
-
- use test && emake check-local
-}
-
-src_test() {
- make check || die "make check failed"
-}
-
-src_install() {
- default
- emake_python_bindings install-exec "DESTDIR=\"${D}\""
-
- prune_libtool_files --all
-
- exeinto /usr/$(get_libdir)/ceph
- newexe src/init-ceph ceph_init.sh
-
- insinto /etc/logrotate.d/
- newins "${FILESDIR}"/ceph.logrotate ${PN}
-
- keepdir /var/lib/${PN}{,/tmp} /var/log/${PN}/stat
-
- fowners -R ceph:ceph /var/lib/ceph /var/log/ceph
-
- newinitd "${FILESDIR}/rbdmap.initd" rbdmap
- newinitd "${FILESDIR}/${PN}.initd-r4" ${PN}
- newconfd "${FILESDIR}/${PN}.confd-r2" ${PN}
-
- systemd_install_serviced "${FILESDIR}/ceph-mds_at.service.conf" "ceph-mds@.service"
- systemd_install_serviced "${FILESDIR}/ceph-osd_at.service.conf" "ceph-osd@.service"
-
- udev_dorules udev/*.rules
-
- readme.gentoo_create_doc
-
- python_setup 'python2*'
- python_fix_shebang "${ED}"/usr/{,s}bin/
-
- # python_fix_shebang apparently is not idempotent
- sed -i -r 's:(/usr/lib/python-exec/python[0-9]\.[0-9]/python)[0-9]\.[0-9]:\1:' \
- "${ED}"/usr/{sbin/ceph-disk,bin/ceph-detect-init} || die "sed failed"
-}
-
-pkg_postinst() {
- readme.gentoo_print_elog
-}
diff --git a/sys-cluster/ceph/ceph-10.2.6.ebuild b/sys-cluster/ceph/ceph-10.2.6.ebuild
deleted file mode 100644
index df59b17133e..00000000000
--- a/sys-cluster/ceph/ceph-10.2.6.ebuild
+++ /dev/null
@@ -1,292 +0,0 @@
-# Copyright 1999-2017 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-PYTHON_COMPAT=( python{2_7,3_{4,5,6}} )
-
-inherit check-reqs autotools eutils python-r1 udev user \
- readme.gentoo-r1 systemd versionator flag-o-matic
-
-if [[ ${PV} == *9999* ]]; then
- inherit git-r3
- EGIT_REPO_URI="
- git://github.com/ceph/ceph.git
- https://github.com/ceph/ceph.git"
- SRC_URI=""
-else
- SRC_URI="http://download.ceph.com/tarballs/${P}.tar.gz"
- KEYWORDS="~amd64 ~arm ~ppc ~ppc64 ~x86"
-fi
-
-DESCRIPTION="Ceph distributed filesystem"
-HOMEPAGE="http://ceph.com/"
-
-LICENSE="LGPL-2.1"
-SLOT="0"
-
-IUSE="babeltrace cephfs cryptopp debug fuse gtk jemalloc ldap +libaio"
-IUSE+=" libatomic lttng +nss +radosgw static-libs +tcmalloc test xfs zfs"
-
-# unbundling code commented out pending bugs 584056 and 584058
-#>=dev-libs/jerasure-2.0.0-r1
-#>=dev-libs/gf-complete-2.0.0
-COMMON_DEPEND="
- app-arch/snappy
- app-arch/lz4:=
- app-arch/bzip2
- dev-libs/boost:=[threads]
- dev-libs/libaio
- dev-libs/leveldb[snappy]
- nss? ( dev-libs/nss )
- libatomic? ( dev-libs/libatomic_ops )
- cryptopp? ( dev-libs/crypto++:= )
- sys-apps/keyutils
- sys-apps/util-linux
- dev-libs/libxml2
- radosgw? ( dev-libs/fcgi )
- ldap? ( net-nds/openldap )
- babeltrace? ( dev-util/babeltrace )
- fuse? ( sys-fs/fuse:0 )
- xfs? ( sys-fs/xfsprogs )
- zfs? ( sys-fs/zfs )
- gtk? (
- x11-libs/gtk+:2
- dev-cpp/gtkmm:2.4
- gnome-base/librsvg
- )
- radosgw? (
- dev-libs/fcgi
- dev-libs/expat
- net-misc/curl
- )
- jemalloc? ( dev-libs/jemalloc )
- !jemalloc? ( dev-util/google-perftools )
- lttng? ( dev-util/lttng-ust )
- ${PYTHON_DEPS}
- "
-DEPEND="${COMMON_DEPEND}
- dev-python/cython[${PYTHON_USEDEP}]
- app-arch/cpio
- virtual/pkgconfig
- dev-python/sphinx
- test? (
- sys-fs/btrfs-progs
- sys-apps/grep[pcre]
- dev-python/tox[${PYTHON_USEDEP}]
- dev-python/virtualenv[${PYTHON_USEDEP}]
- )"
-RDEPEND="${COMMON_DEPEND}
- sys-apps/hdparm
- sys-block/parted
- sys-fs/cryptsetup
- sys-apps/gptfdisk
- dev-python/flask[${PYTHON_USEDEP}]
- dev-python/requests[${PYTHON_USEDEP}]
- "
-REQUIRED_USE="
- $(python_gen_useflags 'python2*')
- ${PYTHON_REQUIRED_USE}
- ^^ ( nss cryptopp )
- ?? ( jemalloc tcmalloc )
- "
-
-# work around bug in ceph compilation (rgw/ceph_dencoder-rgw_dencoder.o... undefined reference to `vtable for RGWZoneGroup')
-REQUIRED_USE+=" radosgw"
-
-RESTRICT="test? ( userpriv )"
-
-# distribution tarball does not include everything needed for tests
-RESTRICT+=" test"
-
-STRIP_MASK="/usr/lib*/rados-classes/*"
-
-UNBUNDLE_LIBS=(
- src/erasure-code/jerasure/jerasure
- src/erasure-code/jerasure/gf-complete
-)
-
-PATCHES=(
- "${FILESDIR}/ceph-10.2.0-dont-use-virtualenvs.patch"
- #"${FILESDIR}/ceph-10.2.1-unbundle-jerasure.patch"
- "${FILESDIR}/${PN}-10.2.1-libzfs.patch"
- "${FILESDIR}/${PN}-10.2.3-build-without-openldap.patch"
- "${FILESDIR}/${PN}-10.2.5-Make-RBD-Python-bindings-compatible-with-Python-3.patch"
- "${FILESDIR}/${PN}-10.2.5-Make-CephFS-bindings-and-tests-compatible-with-Python-3.patch"
- "${FILESDIR}/${PN}-10.2.6-radosgw-swift-clean-up-flush-newline-behavior.patch"
-)
-
-check-reqs_export_vars() {
- if use debug; then
- CHECKREQS_DISK_BUILD="23G"
- CHECKREQS_DISK_USR="7G"
- elif use amd64; then
- CHECKREQS_DISK_BUILD="12G"
- CHECKREQS_DISK_USR="450M"
- else
- CHECKREQS_DISK_BUILD="1400M"
- CHECKREQS_DISK_USR="450M"
- fi
-
- export CHECKREQS_DISK_BUILD CHECKREQS_DISK_USR
-}
-
-user_setup() {
- enewgroup ceph ${CEPH_GID}
- enewuser ceph "${CEPH_UID:--1}" -1 /var/lib/ceph ceph
-}
-
-emake_python_bindings() {
- local action="${1}" params binding module
- shift
- params=("${@}")
-
- __emake_python_bindings_do_impl() {
- ceph_run_econf "${EPYTHON}"
- emake "${params[@]}" PYTHON="${EPYTHON}" "${binding}-pybind-${action}"
-
- # these don't work and aren't needed on python3
- if [[ ${EBUILD_PHASE} == install ]]; then
- for module in "${S}"/src/pybind/*.py; do
- module_basename="$(basename "${module}")"
- if [[ ${module_basename} == ceph_volume_client.py ]] && ! use cephfs; then
- continue
- elif [[ ! -e "${ED}/$(python_get_sitedir)/${module_basename}" ]]; then
- python_domodule ${module}
- fi
- done
- fi
- }
-
- pushd "${S}/src"
- for binding in rados rbd $(use cephfs && echo cephfs); do
- python_foreach_impl __emake_python_bindings_do_impl
- done
- popd
-
- unset __emake_python_bindings_do_impl
-}
-
-pkg_pretend() {
- check-reqs_export_vars
- check-reqs_pkg_pretend
-}
-
-pkg_setup() {
- python_setup
- check-reqs_export_vars
- check-reqs_pkg_setup
- user_setup
-}
-
-src_prepare() {
- default
-
- # remove tests that need root access
- rm src/test/cli/ceph-authtool/cap*.t
-
- #rm -rf "${UNBUNDLE_LIBS[@]}"
-
- append-flags -fPIC
- eautoreconf
-}
-
-src_configure() {
- ECONFARGS=(
- --without-hadoop
- --includedir=/usr/include
- $(use_with cephfs)
- $(use_with debug)
- $(use_with fuse)
- $(use_with libaio)
- $(use_with libatomic libatomic-ops)
- $(use_with nss)
- $(use_with cryptopp)
- $(use_with radosgw)
- $(use_with gtk gtk2)
- $(use_enable static-libs static)
- $(use_with jemalloc)
- $(use_with xfs libxfs)
- $(use_with zfs libzfs)
- $(use_with lttng )
- $(use_with babeltrace)
- $(use_with ldap openldap)
- $(use jemalloc || usex tcmalloc " --with-tcmalloc" " --with-tcmalloc-minimal")
- --with-mon
- --with-eventfd
- --with-cython
- --without-kinetic
- --without-librocksdb
- --with-systemdsystemunitdir="$(systemd_get_systemunitdir)"
- )
-
- # we can only use python2.7 for building at the moment
- ceph_run_econf "python2*"
-}
-
-ceph_run_econf() {
- [[ -z ${ECONFARGS} ]] && die "called ${FUNCNAME[0]} with ECONFARGS unset"
- [[ -z ${1} ]] && die "called ${FUNCNAME[0]} without passing python implementation"
-
- pushd "${S}" >/dev/null || die
- #
- # This generates a QA warning about running econf in src_compile
- # and src_install. Unfortunately the only other way to do this would
- # involve building all of for each python implementation times, which
- # wastes a _lot_ of CPU time and disk space. This hack will no longer
- # be needed with >=ceph-11.2.
- #
- python_setup "${1}"
- econf "${ECONFARGS[@]}"
-
- popd >/dev/null || die
-}
-
-src_compile() {
- emake
- emake_python_bindings all
-
- use test && emake check-local
-}
-
-src_test() {
- make check || die "make check failed"
-}
-
-src_install() {
- default
- emake_python_bindings install-exec "DESTDIR=\"${D}\""
-
- prune_libtool_files --all
-
- exeinto /usr/$(get_libdir)/ceph
- newexe src/init-ceph ceph_init.sh
-
- insinto /etc/logrotate.d/
- newins "${FILESDIR}"/ceph.logrotate ${PN}
-
- keepdir /var/lib/${PN}{,/tmp} /var/log/${PN}/stat
-
- fowners -R ceph:ceph /var/lib/ceph /var/log/ceph
-
- newinitd "${FILESDIR}/rbdmap.initd" rbdmap
- newinitd "${FILESDIR}/${PN}.initd-r3" ${PN}
- newconfd "${FILESDIR}/${PN}.confd-r1" ${PN}
-
- systemd_install_serviced "${FILESDIR}/ceph-mds_at.service.conf" "ceph-mds@.service"
- systemd_install_serviced "${FILESDIR}/ceph-osd_at.service.conf" "ceph-osd@.service"
-
- udev_dorules udev/*.rules
-
- readme.gentoo_create_doc
-
- python_setup 'python2*'
- python_fix_shebang "${ED}"/usr/{,s}bin/
-
- # python_fix_shebang apparently is not idempotent
- sed -i -r 's:(/usr/lib/python-exec/python[0-9]\.[0-9]/python)[0-9]\.[0-9]:\1:' \
- "${ED}"/usr/{sbin/ceph-disk,bin/ceph-detect-init} || die "sed failed"
-}
-
-pkg_postinst() {
- readme.gentoo_print_elog
-}
diff --git a/sys-cluster/ceph/ceph-10.2.7.ebuild b/sys-cluster/ceph/ceph-10.2.7.ebuild
deleted file mode 100644
index 09783bcaf46..00000000000
--- a/sys-cluster/ceph/ceph-10.2.7.ebuild
+++ /dev/null
@@ -1,291 +0,0 @@
-# Copyright 1999-2017 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-PYTHON_COMPAT=( python{2_7,3_{4,5,6}} )
-
-inherit check-reqs autotools eutils python-r1 udev user \
- readme.gentoo-r1 systemd versionator flag-o-matic
-
-if [[ ${PV} == *9999* ]]; then
- inherit git-r3
- EGIT_REPO_URI="
- git://github.com/ceph/ceph.git
- https://github.com/ceph/ceph.git"
- SRC_URI=""
-else
- SRC_URI="http://download.ceph.com/tarballs/${P}.tar.gz"
- KEYWORDS="~amd64 ~arm ~ppc ~ppc64 ~x86"
-fi
-
-DESCRIPTION="Ceph distributed filesystem"
-HOMEPAGE="http://ceph.com/"
-
-LICENSE="LGPL-2.1"
-SLOT="0"
-
-IUSE="babeltrace cephfs cryptopp debug fuse gtk jemalloc ldap +libaio"
-IUSE+=" libatomic lttng +nss +radosgw static-libs +tcmalloc test xfs zfs"
-
-# unbundling code commented out pending bugs 584056 and 584058
-#>=dev-libs/jerasure-2.0.0-r1
-#>=dev-libs/gf-complete-2.0.0
-COMMON_DEPEND="
- app-arch/snappy
- app-arch/lz4:=
- app-arch/bzip2
- dev-libs/boost:=[threads]
- dev-libs/libaio
- dev-libs/leveldb[snappy]
- nss? ( dev-libs/nss )
- libatomic? ( dev-libs/libatomic_ops )
- cryptopp? ( dev-libs/crypto++:= )
- sys-apps/keyutils
- sys-apps/util-linux
- dev-libs/libxml2
- radosgw? ( dev-libs/fcgi )
- ldap? ( net-nds/openldap )
- babeltrace? ( dev-util/babeltrace )
- fuse? ( sys-fs/fuse:0 )
- xfs? ( sys-fs/xfsprogs )
- zfs? ( sys-fs/zfs )
- gtk? (
- x11-libs/gtk+:2
- dev-cpp/gtkmm:2.4
- gnome-base/librsvg
- )
- radosgw? (
- dev-libs/fcgi
- dev-libs/expat
- net-misc/curl
- )
- jemalloc? ( dev-libs/jemalloc )
- !jemalloc? ( dev-util/google-perftools )
- lttng? ( dev-util/lttng-ust )
- ${PYTHON_DEPS}
- "
-DEPEND="${COMMON_DEPEND}
- dev-python/cython[${PYTHON_USEDEP}]
- app-arch/cpio
- virtual/pkgconfig
- dev-python/sphinx
- test? (
- sys-fs/btrfs-progs
- sys-apps/grep[pcre]
- dev-python/tox[${PYTHON_USEDEP}]
- dev-python/virtualenv[${PYTHON_USEDEP}]
- )"
-RDEPEND="${COMMON_DEPEND}
- sys-apps/hdparm
- sys-block/parted
- sys-fs/cryptsetup
- sys-apps/gptfdisk
- dev-python/flask[${PYTHON_USEDEP}]
- dev-python/requests[${PYTHON_USEDEP}]
- "
-REQUIRED_USE="
- $(python_gen_useflags 'python2*')
- ${PYTHON_REQUIRED_USE}
- ^^ ( nss cryptopp )
- ?? ( jemalloc tcmalloc )
- "
-
-# work around bug in ceph compilation (rgw/ceph_dencoder-rgw_dencoder.o... undefined reference to `vtable for RGWZoneGroup')
-REQUIRED_USE+=" radosgw"
-
-#RESTRICT="test? ( userpriv )"
-
-# distribution tarball does not include everything needed for tests
-RESTRICT+=" test"
-
-STRIP_MASK="/usr/lib*/rados-classes/*"
-
-UNBUNDLE_LIBS=(
- src/erasure-code/jerasure/jerasure
- src/erasure-code/jerasure/gf-complete
-)
-
-PATCHES=(
- "${FILESDIR}/ceph-10.2.0-dont-use-virtualenvs.patch"
- #"${FILESDIR}/ceph-10.2.1-unbundle-jerasure.patch"
- "${FILESDIR}/${PN}-10.2.1-libzfs.patch"
- "${FILESDIR}/${PN}-10.2.3-build-without-openldap.patch"
- "${FILESDIR}/${PN}-10.2.5-Make-RBD-Python-bindings-compatible-with-Python-3.patch"
- "${FILESDIR}/${PN}-10.2.5-Make-CephFS-bindings-and-tests-compatible-with-Python-3.patch"
-)
-
-check-reqs_export_vars() {
- if use debug; then
- CHECKREQS_DISK_BUILD="23G"
- CHECKREQS_DISK_USR="7G"
- elif use amd64; then
- CHECKREQS_DISK_BUILD="12G"
- CHECKREQS_DISK_USR="450M"
- else
- CHECKREQS_DISK_BUILD="1400M"
- CHECKREQS_DISK_USR="450M"
- fi
-
- export CHECKREQS_DISK_BUILD CHECKREQS_DISK_USR
-}
-
-user_setup() {
- enewgroup ceph ${CEPH_GID}
- enewuser ceph "${CEPH_UID:--1}" -1 /var/lib/ceph ceph
-}
-
-emake_python_bindings() {
- local action="${1}" params binding module
- shift
- params=("${@}")
-
- __emake_python_bindings_do_impl() {
- ceph_run_econf "${EPYTHON}"
- emake "${params[@]}" PYTHON="${EPYTHON}" "${binding}-pybind-${action}"
-
- # these don't work and aren't needed on python3
- if [[ ${EBUILD_PHASE} == install ]]; then
- for module in "${S}"/src/pybind/*.py; do
- module_basename="$(basename "${module}")"
- if [[ ${module_basename} == ceph_volume_client.py ]] && ! use cephfs; then
- continue
- elif [[ ! -e "${ED}/$(python_get_sitedir)/${module_basename}" ]]; then
- python_domodule ${module}
- fi
- done
- fi
- }
-
- pushd "${S}/src"
- for binding in rados rbd $(use cephfs && echo cephfs); do
- python_foreach_impl __emake_python_bindings_do_impl
- done
- popd
-
- unset __emake_python_bindings_do_impl
-}
-
-pkg_pretend() {
- check-reqs_export_vars
- check-reqs_pkg_pretend
-}
-
-pkg_setup() {
- python_setup
- check-reqs_export_vars
- check-reqs_pkg_setup
- user_setup
-}
-
-src_prepare() {
- default
-
- # remove tests that need root access
- rm src/test/cli/ceph-authtool/cap*.t
-
- #rm -rf "${UNBUNDLE_LIBS[@]}"
-
- append-flags -fPIC
- eautoreconf
-}
-
-src_configure() {
- ECONFARGS=(
- --without-hadoop
- --includedir=/usr/include
- $(use_with cephfs)
- $(use_with debug)
- $(use_with fuse)
- $(use_with libaio)
- $(use_with libatomic libatomic-ops)
- $(use_with nss)
- $(use_with cryptopp)
- $(use_with radosgw)
- $(use_with gtk gtk2)
- $(use_enable static-libs static)
- $(use_with jemalloc)
- $(use_with xfs libxfs)
- $(use_with zfs libzfs)
- $(use_with lttng )
- $(use_with babeltrace)
- $(use_with ldap openldap)
- $(use jemalloc || usex tcmalloc " --with-tcmalloc" " --with-tcmalloc-minimal")
- --with-mon
- --with-eventfd
- --with-cython
- --without-kinetic
- --without-librocksdb
- --with-systemdsystemunitdir="$(systemd_get_systemunitdir)"
- )
-
- # we can only use python2.7 for building at the moment
- ceph_run_econf "python2*"
-}
-
-ceph_run_econf() {
- [[ -z ${ECONFARGS} ]] && die "called ${FUNCNAME[0]} with ECONFARGS unset"
- [[ -z ${1} ]] && die "called ${FUNCNAME[0]} without passing python implementation"
-
- pushd "${S}" >/dev/null || die
- #
- # This generates a QA warning about running econf in src_compile
- # and src_install. Unfortunately the only other way to do this would
- # involve building all of for each python implementation times, which
- # wastes a _lot_ of CPU time and disk space. This hack will no longer
- # be needed with >=ceph-11.2.
- #
- python_setup "${1}"
- econf "${ECONFARGS[@]}"
-
- popd >/dev/null || die
-}
-
-src_compile() {
- emake
- emake_python_bindings all
-
- use test && emake check-local
-}
-
-src_test() {
- make check || die "make check failed"
-}
-
-src_install() {
- default
- emake_python_bindings install-exec "DESTDIR=\"${D}\""
-
- prune_libtool_files --all
-
- exeinto /usr/$(get_libdir)/ceph
- newexe src/init-ceph ceph_init.sh
-
- insinto /etc/logrotate.d/
- newins "${FILESDIR}"/ceph.logrotate ${PN}
-
- keepdir /var/lib/${PN}{,/tmp} /var/log/${PN}/stat
-
- fowners -R ceph:ceph /var/lib/ceph /var/log/ceph
-
- newinitd "${FILESDIR}/rbdmap.initd" rbdmap
- newinitd "${FILESDIR}/${PN}.initd-r4" ${PN}
- newconfd "${FILESDIR}/${PN}.confd-r2" ${PN}
-
- systemd_install_serviced "${FILESDIR}/ceph-mds_at.service.conf" "ceph-mds@.service"
- systemd_install_serviced "${FILESDIR}/ceph-osd_at.service.conf" "ceph-osd@.service"
-
- udev_dorules udev/*.rules
-
- readme.gentoo_create_doc
-
- python_setup 'python2*'
- python_fix_shebang "${ED}"/usr/{,s}bin/
-
- # python_fix_shebang apparently is not idempotent
- sed -i -r 's:(/usr/lib/python-exec/python[0-9]\.[0-9]/python)[0-9]\.[0-9]:\1:' \
- "${ED}"/usr/{sbin/ceph-disk,bin/ceph-detect-init} || die "sed failed"
-}
-
-pkg_postinst() {
- readme.gentoo_print_elog
-}
diff --git a/sys-cluster/ceph/files/ceph.initd-r1 b/sys-cluster/ceph/files/ceph.initd-r1
deleted file mode 100644
index 3fac993b473..00000000000
--- a/sys-cluster/ceph/files/ceph.initd-r1
+++ /dev/null
@@ -1,48 +0,0 @@
-#!/sbin/openrc-run
-
-ceph_conf="${ceph_conf:-/etc/ceph/ceph.conf}"
-extra_commands="reload"
-type=${RC_SVCNAME:5:3}
-id=${RC_SVCNAME:9}
-id=${id:-"0"}
-command="/usr/bin/ceph-${type}"
-pidfile="/run/ceph/${type}.${id}.pid"
-command_args="-i ${id} --pid-file ${pidfile} -c ${ceph_conf}"
-
-depend() {
- after net ntpd ntp-client chronyd
- before netmount
-}
-
-is_type_valid() {
- case ${type} in
- mon|mds|osd) return 0;;
- *) return 1;;
- esac
-}
-
-start_pre() {
- checkpath -d -q -o ceph $(dirname ${pidfile})
-}
-
-start() {
- ebegin "Starting Ceph ${type}.${id}"
- if ! is_type_valid ;then
- eerror "Please give valid Ceph Server Type: mds, mon, osd"
- return 1
- fi
- start-stop-daemon --start -exec ${command} --user ceph --group ceph -- ${command_args}
- eend $?
-}
-
-stop() {
- ebegin "Stopping Ceph ${type}.${id}"
- start-stop-daemon --stop --user ceph --group ceph --pidfile ${pidfile}
- eend $?
-}
-
-reload() {
- ebegin "Reloading Ceph ${type}.${id}"
- start-stop-daemon --signal 1 --user ceph --group ceph --pidfile ${pidfile}
- eend $?
-}
diff --git a/sys-cluster/ceph/files/ceph.initd-r3 b/sys-cluster/ceph/files/ceph.initd-r3
deleted file mode 100644
index 9476aa9191a..00000000000
--- a/sys-cluster/ceph/files/ceph.initd-r3
+++ /dev/null
@@ -1,40 +0,0 @@
-#!/sbin/openrc-run
-
-ceph_conf="${ceph_conf:-/etc/ceph/ceph.conf}"
-extra_commands="reload"
-daemon_type="${RC_SVCNAME#ceph-}"
-daemon_type="${daemon_type%%.*}"
-daemon_id="${RC_SVCNAME#ceph-*.}"
-daemon_id="${daemon_id:-0}"
-command="/usr/bin/ceph-${daemon_type}"
-pidfile="/run/ceph/${daemon_type}.${daemon_id}.pid"
-command_args="-i ${daemon_id} --pid-file ${pidfile} -c ${ceph_conf}"
-start_stop_daemon_args="--user ceph --group ceph"
-
-depend() {
- after net ntpd ntp-client chronyd
- before netmount
-}
-
-is_type_valid() {
- case ${daemon_type} in
- mon|mds|osd) return 0;;
- *) return 1;;
- esac
-}
-
-start_pre() {
- checkpath -d -q -o ceph "$(dirname "${pidfile}")"
- if ! is_type_valid ;then
- eerror "Please give valid Ceph Server Type: mds, mon, osd"
- return 1
- fi
-}
-
-reload() {
- ebegin "Reloading Ceph ${daemon_type}.${daemon_id}"
- start-stop-daemon --signal 1 ${start_stop_daemon_args} --pidfile "${pidfile}"
- eend $?
-}
-
-# vim:ft=gentoo-init-d:ts=4:sts=4:sw=4:noet:
^ permalink raw reply related [flat|nested] 68+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-cluster/ceph/, sys-cluster/ceph/files/
@ 2017-07-27 21:27 Patrick McLean
0 siblings, 0 replies; 68+ messages in thread
From: Patrick McLean @ 2017-07-27 21:27 UTC (permalink / raw
To: gentoo-commits
commit: 4c55d60a47fc9a1a81e185850c042c00d6534e5e
Author: Patrick McLean <chutzpah <AT> gentoo <DOT> org>
AuthorDate: Thu Jul 27 21:22:55 2017 +0000
Commit: Patrick McLean <chutzpah <AT> gentoo <DOT> org>
CommitDate: Thu Jul 27 21:26:23 2017 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=4c55d60a
sys-cluster/ceph: Remove empty files/ceph-mon_at.service.conf
Gentoo-Bug: 622418
Package-Manager: Portage-2.3.6, Repoman-2.3.3
sys-cluster/ceph/ceph-0.94.9.ebuild | 3 +--
sys-cluster/ceph/ceph-10.2.3-r2.ebuild | 3 +--
sys-cluster/ceph/ceph-10.2.5-r1.ebuild | 1 -
sys-cluster/ceph/ceph-10.2.5-r3.ebuild | 1 -
sys-cluster/ceph/ceph-10.2.5-r4.ebuild | 1 -
sys-cluster/ceph/ceph-10.2.5-r5.ebuild | 1 -
sys-cluster/ceph/ceph-10.2.6-r1.ebuild | 1 -
sys-cluster/ceph/ceph-10.2.6.ebuild | 1 -
sys-cluster/ceph/ceph-10.2.7-r1.ebuild | 1 -
sys-cluster/ceph/ceph-10.2.7.ebuild | 1 -
sys-cluster/ceph/ceph-10.2.8.ebuild | 1 -
sys-cluster/ceph/ceph-9.2.1-r2.ebuild | 3 +--
sys-cluster/ceph/files/ceph-mon_at.service.conf | 0
13 files changed, 3 insertions(+), 15 deletions(-)
diff --git a/sys-cluster/ceph/ceph-0.94.9.ebuild b/sys-cluster/ceph/ceph-0.94.9.ebuild
index 01fbc561d1f..a72ed5527d9 100644
--- a/sys-cluster/ceph/ceph-0.94.9.ebuild
+++ b/sys-cluster/ceph/ceph-0.94.9.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2016 Gentoo Foundation
+# Copyright 1999-2017 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
EAPI=5
@@ -157,7 +157,6 @@ src_install() {
systemd_newunit "${FILESDIR}/ceph-osd_at.service" "ceph-osd@.service"
systemd_install_serviced "${FILESDIR}/ceph-osd_at.service.conf" "ceph-osd@.service"
systemd_newunit "${FILESDIR}/ceph-mon_at.service" "ceph-mon@.service"
- systemd_install_serviced "${FILESDIR}/ceph-mon_at.service.conf" "ceph-mon@.service"
python_fix_shebang \
"${ED}"/usr/sbin/{ceph-disk,ceph-create-keys} \
diff --git a/sys-cluster/ceph/ceph-10.2.3-r2.ebuild b/sys-cluster/ceph/ceph-10.2.3-r2.ebuild
index 9985ce30565..6e64a45da44 100644
--- a/sys-cluster/ceph/ceph-10.2.3-r2.ebuild
+++ b/sys-cluster/ceph/ceph-10.2.3-r2.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2016 Gentoo Foundation
+# Copyright 1999-2017 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
EAPI=6
@@ -248,7 +248,6 @@ src_install() {
systemd_install_serviced "${FILESDIR}/ceph-mds_at.service.conf" "ceph-mds@.service"
systemd_install_serviced "${FILESDIR}/ceph-osd_at.service.conf" "ceph-osd@.service"
- systemd_install_serviced "${FILESDIR}/ceph-mon_at.service.conf" "ceph-mon@.service"
udev_dorules udev/*.rules
diff --git a/sys-cluster/ceph/ceph-10.2.5-r1.ebuild b/sys-cluster/ceph/ceph-10.2.5-r1.ebuild
index 6d87b25f362..919a26b53c0 100644
--- a/sys-cluster/ceph/ceph-10.2.5-r1.ebuild
+++ b/sys-cluster/ceph/ceph-10.2.5-r1.ebuild
@@ -247,7 +247,6 @@ src_install() {
systemd_install_serviced "${FILESDIR}/ceph-mds_at.service.conf" "ceph-mds@.service"
systemd_install_serviced "${FILESDIR}/ceph-osd_at.service.conf" "ceph-osd@.service"
- systemd_install_serviced "${FILESDIR}/ceph-mon_at.service.conf" "ceph-mon@.service"
udev_dorules udev/*.rules
diff --git a/sys-cluster/ceph/ceph-10.2.5-r3.ebuild b/sys-cluster/ceph/ceph-10.2.5-r3.ebuild
index b64ba9f1485..dfde5fddbbf 100644
--- a/sys-cluster/ceph/ceph-10.2.5-r3.ebuild
+++ b/sys-cluster/ceph/ceph-10.2.5-r3.ebuild
@@ -272,7 +272,6 @@ src_install() {
systemd_install_serviced "${FILESDIR}/ceph-mds_at.service.conf" "ceph-mds@.service"
systemd_install_serviced "${FILESDIR}/ceph-osd_at.service.conf" "ceph-osd@.service"
- systemd_install_serviced "${FILESDIR}/ceph-mon_at.service.conf" "ceph-mon@.service"
udev_dorules udev/*.rules
diff --git a/sys-cluster/ceph/ceph-10.2.5-r4.ebuild b/sys-cluster/ceph/ceph-10.2.5-r4.ebuild
index 2cac94d409d..ceb7710b214 100644
--- a/sys-cluster/ceph/ceph-10.2.5-r4.ebuild
+++ b/sys-cluster/ceph/ceph-10.2.5-r4.ebuild
@@ -274,7 +274,6 @@ src_install() {
systemd_install_serviced "${FILESDIR}/ceph-mds_at.service.conf" "ceph-mds@.service"
systemd_install_serviced "${FILESDIR}/ceph-osd_at.service.conf" "ceph-osd@.service"
- systemd_install_serviced "${FILESDIR}/ceph-mon_at.service.conf" "ceph-mon@.service"
udev_dorules udev/*.rules
diff --git a/sys-cluster/ceph/ceph-10.2.5-r5.ebuild b/sys-cluster/ceph/ceph-10.2.5-r5.ebuild
index 6a70d39196b..a291cf3e5c6 100644
--- a/sys-cluster/ceph/ceph-10.2.5-r5.ebuild
+++ b/sys-cluster/ceph/ceph-10.2.5-r5.ebuild
@@ -274,7 +274,6 @@ src_install() {
systemd_install_serviced "${FILESDIR}/ceph-mds_at.service.conf" "ceph-mds@.service"
systemd_install_serviced "${FILESDIR}/ceph-osd_at.service.conf" "ceph-osd@.service"
- systemd_install_serviced "${FILESDIR}/ceph-mon_at.service.conf" "ceph-mon@.service"
udev_dorules udev/*.rules
diff --git a/sys-cluster/ceph/ceph-10.2.6-r1.ebuild b/sys-cluster/ceph/ceph-10.2.6-r1.ebuild
index a0c131b1783..8836e8dda1f 100644
--- a/sys-cluster/ceph/ceph-10.2.6-r1.ebuild
+++ b/sys-cluster/ceph/ceph-10.2.6-r1.ebuild
@@ -274,7 +274,6 @@ src_install() {
systemd_install_serviced "${FILESDIR}/ceph-mds_at.service.conf" "ceph-mds@.service"
systemd_install_serviced "${FILESDIR}/ceph-osd_at.service.conf" "ceph-osd@.service"
- systemd_install_serviced "${FILESDIR}/ceph-mon_at.service.conf" "ceph-mon@.service"
udev_dorules udev/*.rules
diff --git a/sys-cluster/ceph/ceph-10.2.6.ebuild b/sys-cluster/ceph/ceph-10.2.6.ebuild
index ac3fbe53c5a..82e7a077ffe 100644
--- a/sys-cluster/ceph/ceph-10.2.6.ebuild
+++ b/sys-cluster/ceph/ceph-10.2.6.ebuild
@@ -274,7 +274,6 @@ src_install() {
systemd_install_serviced "${FILESDIR}/ceph-mds_at.service.conf" "ceph-mds@.service"
systemd_install_serviced "${FILESDIR}/ceph-osd_at.service.conf" "ceph-osd@.service"
- systemd_install_serviced "${FILESDIR}/ceph-mon_at.service.conf" "ceph-mon@.service"
udev_dorules udev/*.rules
diff --git a/sys-cluster/ceph/ceph-10.2.7-r1.ebuild b/sys-cluster/ceph/ceph-10.2.7-r1.ebuild
index 49d48748772..e38dcf0c253 100644
--- a/sys-cluster/ceph/ceph-10.2.7-r1.ebuild
+++ b/sys-cluster/ceph/ceph-10.2.7-r1.ebuild
@@ -276,7 +276,6 @@ src_install() {
systemd_install_serviced "${FILESDIR}/ceph-mds_at.service.conf" "ceph-mds@.service"
systemd_install_serviced "${FILESDIR}/ceph-osd_at.service.conf" "ceph-osd@.service"
- systemd_install_serviced "${FILESDIR}/ceph-mon_at.service.conf" "ceph-mon@.service"
udev_dorules udev/*.rules
diff --git a/sys-cluster/ceph/ceph-10.2.7.ebuild b/sys-cluster/ceph/ceph-10.2.7.ebuild
index 35d1dad1bc9..6bde5f59117 100644
--- a/sys-cluster/ceph/ceph-10.2.7.ebuild
+++ b/sys-cluster/ceph/ceph-10.2.7.ebuild
@@ -273,7 +273,6 @@ src_install() {
systemd_install_serviced "${FILESDIR}/ceph-mds_at.service.conf" "ceph-mds@.service"
systemd_install_serviced "${FILESDIR}/ceph-osd_at.service.conf" "ceph-osd@.service"
- systemd_install_serviced "${FILESDIR}/ceph-mon_at.service.conf" "ceph-mon@.service"
udev_dorules udev/*.rules
diff --git a/sys-cluster/ceph/ceph-10.2.8.ebuild b/sys-cluster/ceph/ceph-10.2.8.ebuild
index c4e36e3930a..b587c536cdb 100644
--- a/sys-cluster/ceph/ceph-10.2.8.ebuild
+++ b/sys-cluster/ceph/ceph-10.2.8.ebuild
@@ -276,7 +276,6 @@ src_install() {
systemd_install_serviced "${FILESDIR}/ceph-mds_at.service.conf" "ceph-mds@.service"
systemd_install_serviced "${FILESDIR}/ceph-osd_at.service.conf" "ceph-osd@.service"
- systemd_install_serviced "${FILESDIR}/ceph-mon_at.service.conf" "ceph-mon@.service"
udev_dorules udev/*.rules
diff --git a/sys-cluster/ceph/ceph-9.2.1-r2.ebuild b/sys-cluster/ceph/ceph-9.2.1-r2.ebuild
index e4512579227..95ac6405cfc 100644
--- a/sys-cluster/ceph/ceph-9.2.1-r2.ebuild
+++ b/sys-cluster/ceph/ceph-9.2.1-r2.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2016 Gentoo Foundation
+# Copyright 1999-2017 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
EAPI=5
@@ -174,7 +174,6 @@ src_install() {
systemd_install_serviced "${FILESDIR}/ceph-mds_at.service.conf" "ceph-mds@.service"
systemd_install_serviced "${FILESDIR}/ceph-osd_at.service.conf" "ceph-osd@.service"
- systemd_install_serviced "${FILESDIR}/ceph-mon_at.service.conf" "ceph-mon@.service"
python_fix_shebang \
"${ED}"/usr/sbin/{ceph-disk,ceph-create-keys} \
diff --git a/sys-cluster/ceph/files/ceph-mon_at.service.conf b/sys-cluster/ceph/files/ceph-mon_at.service.conf
deleted file mode 100644
index e69de29bb2d..00000000000
^ permalink raw reply related [flat|nested] 68+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-cluster/ceph/, sys-cluster/ceph/files/
@ 2017-04-12 20:44 Patrick McLean
0 siblings, 0 replies; 68+ messages in thread
From: Patrick McLean @ 2017-04-12 20:44 UTC (permalink / raw
To: gentoo-commits
commit: 17519e6e45d0244df45ce7494b50fa1477a0f541
Author: Patrick McLean <chutzpah <AT> gentoo <DOT> org>
AuthorDate: Wed Apr 12 20:42:55 2017 +0000
Commit: Patrick McLean <chutzpah <AT> gentoo <DOT> org>
CommitDate: Wed Apr 12 20:44:16 2017 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=17519e6e
sys-cluster/ceph: Revision bump, add patch from bug 601610, fix automagic deps
This adds a dep on zstd to fix the automagic dep, and drops keywords for
arm, ppc and ppc64 since zstd is not keyworded on those arches.
Package-Manager: Portage-2.3.5, Repoman-2.3.2
sys-cluster/ceph/ceph-10.2.7-r1.ebuild | 295 +++++++++++++++++++++
.../ceph-10.2.7-fix-compilation-with-zstd.patch | 49 ++++
2 files changed, 344 insertions(+)
diff --git a/sys-cluster/ceph/ceph-10.2.7-r1.ebuild b/sys-cluster/ceph/ceph-10.2.7-r1.ebuild
new file mode 100644
index 00000000000..87d36ae0852
--- /dev/null
+++ b/sys-cluster/ceph/ceph-10.2.7-r1.ebuild
@@ -0,0 +1,295 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+PYTHON_COMPAT=( python{2_7,3_{4,5,6}} )
+
+inherit check-reqs autotools eutils python-r1 udev user \
+ readme.gentoo-r1 systemd versionator flag-o-matic
+
+if [[ ${PV} == *9999* ]]; then
+ inherit git-r3
+ EGIT_REPO_URI="
+ git://github.com/ceph/ceph.git
+ https://github.com/ceph/ceph.git"
+ SRC_URI=""
+else
+ SRC_URI="http://download.ceph.com/tarballs/${P}.tar.gz"
+ KEYWORDS="~amd64 ~x86"
+fi
+
+DESCRIPTION="Ceph distributed filesystem"
+HOMEPAGE="http://ceph.com/"
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+
+IUSE="babeltrace cephfs cryptopp debug fuse gtk jemalloc ldap +libaio"
+IUSE+=" libatomic lttng +nss +radosgw static-libs +tcmalloc test xfs zfs"
+
+# unbundling code commented out pending bugs 584056 and 584058
+#>=dev-libs/jerasure-2.0.0-r1
+#>=dev-libs/gf-complete-2.0.0
+COMMON_DEPEND="
+ app-arch/snappy:=
+ sys-libs/zlib:=
+ app-arch/lz4:=
+ app-arch/bzip2:=
+ app-arch/zstd:=
+ dev-libs/boost:=[threads]
+ dev-libs/libaio:=
+ dev-libs/leveldb:=[snappy]
+ nss? ( dev-libs/nss:= )
+ libatomic? ( dev-libs/libatomic_ops:= )
+ cryptopp? ( dev-libs/crypto++:= )
+ sys-apps/keyutils
+ sys-apps/util-linux
+ dev-libs/libxml2:=
+ radosgw? ( dev-libs/fcgi:= )
+ ldap? ( net-nds/openldap:= )
+ babeltrace? ( dev-util/babeltrace )
+ fuse? ( sys-fs/fuse:= )
+ xfs? ( sys-fs/xfsprogs:= )
+ zfs? ( sys-fs/zfs:= )
+ gtk? (
+ x11-libs/gtk+:2=
+ dev-cpp/gtkmm:2.4
+ gnome-base/librsvg:=
+ )
+ radosgw? (
+ dev-libs/fcgi:=
+ dev-libs/expat:=
+ net-misc/curl:=
+ )
+ jemalloc? ( dev-libs/jemalloc:= )
+ !jemalloc? ( dev-util/google-perftools )
+ lttng? ( dev-util/lttng-ust:= )
+ ${PYTHON_DEPS}
+ "
+DEPEND="${COMMON_DEPEND}
+ dev-python/cython[${PYTHON_USEDEP}]
+ app-arch/cpio
+ virtual/pkgconfig
+ dev-python/sphinx
+ test? (
+ sys-fs/btrfs-progs
+ sys-apps/grep[pcre]
+ dev-python/tox[${PYTHON_USEDEP}]
+ dev-python/virtualenv[${PYTHON_USEDEP}]
+ )"
+RDEPEND="${COMMON_DEPEND}
+ sys-apps/hdparm
+ sys-block/parted
+ sys-fs/cryptsetup
+ sys-apps/gptfdisk
+ dev-python/flask[${PYTHON_USEDEP}]
+ dev-python/requests[${PYTHON_USEDEP}]
+ "
+REQUIRED_USE="
+ $(python_gen_useflags 'python2*')
+ ${PYTHON_REQUIRED_USE}
+ ^^ ( nss cryptopp )
+ ?? ( jemalloc tcmalloc )
+ "
+
+# work around bug in ceph compilation (rgw/ceph_dencoder-rgw_dencoder.o... undefined reference to `vtable for RGWZoneGroup')
+REQUIRED_USE+=" radosgw"
+
+#RESTRICT="test? ( userpriv )"
+
+# distribution tarball does not include everything needed for tests
+RESTRICT+=" test"
+
+STRIP_MASK="/usr/lib*/rados-classes/*"
+
+UNBUNDLE_LIBS=(
+ src/erasure-code/jerasure/jerasure
+ src/erasure-code/jerasure/gf-complete
+)
+
+PATCHES=(
+ "${FILESDIR}/ceph-10.2.0-dont-use-virtualenvs.patch"
+ #"${FILESDIR}/ceph-10.2.1-unbundle-jerasure.patch"
+ "${FILESDIR}/${PN}-10.2.1-libzfs.patch"
+ "${FILESDIR}/${PN}-10.2.3-build-without-openldap.patch"
+ "${FILESDIR}/${PN}-10.2.5-Make-RBD-Python-bindings-compatible-with-Python-3.patch"
+ "${FILESDIR}/${PN}-10.2.5-Make-CephFS-bindings-and-tests-compatible-with-Python-3.patch"
+ "${FILESDIR}/${PN}-10.2.7-fix-compilation-with-zstd.patch"
+)
+
+check-reqs_export_vars() {
+ if use debug; then
+ CHECKREQS_DISK_BUILD="23G"
+ CHECKREQS_DISK_USR="7G"
+ elif use amd64; then
+ CHECKREQS_DISK_BUILD="12G"
+ CHECKREQS_DISK_USR="450M"
+ else
+ CHECKREQS_DISK_BUILD="1400M"
+ CHECKREQS_DISK_USR="450M"
+ fi
+
+ export CHECKREQS_DISK_BUILD CHECKREQS_DISK_USR
+}
+
+user_setup() {
+ enewgroup ceph ${CEPH_GID}
+ enewuser ceph "${CEPH_UID:--1}" -1 /var/lib/ceph ceph
+}
+
+emake_python_bindings() {
+ local action="${1}" params binding module
+ shift
+ params=("${@}")
+
+ __emake_python_bindings_do_impl() {
+ ceph_run_econf "${EPYTHON}"
+ emake "${params[@]}" PYTHON="${EPYTHON}" "${binding}-pybind-${action}"
+
+ # these don't work and aren't needed on python3
+ if [[ ${EBUILD_PHASE} == install ]]; then
+ for module in "${S}"/src/pybind/*.py; do
+ module_basename="$(basename "${module}")"
+ if [[ ${module_basename} == ceph_volume_client.py ]] && ! use cephfs; then
+ continue
+ elif [[ ! -e "${ED}/$(python_get_sitedir)/${module_basename}" ]]; then
+ python_domodule ${module}
+ fi
+ done
+ fi
+ }
+
+ pushd "${S}/src"
+ for binding in rados rbd $(use cephfs && echo cephfs); do
+ python_foreach_impl __emake_python_bindings_do_impl
+ done
+ popd
+
+ unset __emake_python_bindings_do_impl
+}
+
+pkg_pretend() {
+ check-reqs_export_vars
+ check-reqs_pkg_pretend
+}
+
+pkg_setup() {
+ python_setup
+ check-reqs_export_vars
+ check-reqs_pkg_setup
+ user_setup
+}
+
+src_prepare() {
+ default
+
+ # remove tests that need root access
+ rm src/test/cli/ceph-authtool/cap*.t
+
+ #rm -rf "${UNBUNDLE_LIBS[@]}"
+
+ append-flags -fPIC
+ eautoreconf
+}
+
+src_configure() {
+ ECONFARGS=(
+ --without-hadoop
+ --includedir=/usr/include
+ $(use_with cephfs)
+ $(use_with debug)
+ $(use_with fuse)
+ $(use_with libaio)
+ $(use_with libatomic libatomic-ops)
+ $(use_with nss)
+ $(use_with cryptopp)
+ $(use_with radosgw)
+ $(use_with gtk gtk2)
+ $(use_enable static-libs static)
+ $(use_with jemalloc)
+ $(use_with xfs libxfs)
+ $(use_with zfs libzfs)
+ $(use_with lttng )
+ $(use_with babeltrace)
+ $(use_with ldap openldap)
+ $(use jemalloc || usex tcmalloc " --with-tcmalloc" " --with-tcmalloc-minimal")
+ --with-mon
+ --with-eventfd
+ --with-cython
+ --without-kinetic
+ --without-librocksdb
+ --with-systemdsystemunitdir="$(systemd_get_systemunitdir)"
+ )
+
+ # we can only use python2.7 for building at the moment
+ ceph_run_econf "python2*"
+}
+
+ceph_run_econf() {
+ [[ -z ${ECONFARGS} ]] && die "called ${FUNCNAME[0]} with ECONFARGS unset"
+ [[ -z ${1} ]] && die "called ${FUNCNAME[0]} without passing python implementation"
+
+ pushd "${S}" >/dev/null || die
+ #
+ # This generates a QA warning about running econf in src_compile
+ # and src_install. Unfortunately the only other way to do this would
+ # involve building all of for each python implementation times, which
+ # wastes a _lot_ of CPU time and disk space. This hack will no longer
+ # be needed with >=ceph-11.2.
+ #
+ python_setup "${1}"
+ econf "${ECONFARGS[@]}"
+
+ popd >/dev/null || die
+}
+
+src_compile() {
+ emake
+ emake_python_bindings all
+
+ use test && emake check-local
+}
+
+src_test() {
+ make check || die "make check failed"
+}
+
+src_install() {
+ default
+ emake_python_bindings install-exec "DESTDIR=\"${D}\""
+
+ prune_libtool_files --all
+
+ exeinto /usr/$(get_libdir)/ceph
+ newexe src/init-ceph ceph_init.sh
+
+ insinto /etc/logrotate.d/
+ newins "${FILESDIR}"/ceph.logrotate ${PN}
+
+ keepdir /var/lib/${PN}{,/tmp} /var/log/${PN}/stat
+
+ fowners -R ceph:ceph /var/lib/ceph /var/log/ceph
+
+ newinitd "${FILESDIR}/rbdmap.initd" rbdmap
+ newinitd "${FILESDIR}/${PN}.initd-r4" ${PN}
+ newconfd "${FILESDIR}/${PN}.confd-r2" ${PN}
+
+ systemd_install_serviced "${FILESDIR}/ceph-mds_at.service.conf" "ceph-mds@.service"
+ systemd_install_serviced "${FILESDIR}/ceph-osd_at.service.conf" "ceph-osd@.service"
+ systemd_install_serviced "${FILESDIR}/ceph-mon_at.service.conf" "ceph-mon@.service"
+
+ udev_dorules udev/*.rules
+
+ readme.gentoo_create_doc
+
+ python_setup 'python2*'
+ python_fix_shebang "${ED}"/usr/{,s}bin/
+
+ # python_fix_shebang apparently is not idempotent
+ sed -i -r 's:(/usr/lib/python-exec/python[0-9]\.[0-9]/python)[0-9]\.[0-9]:\1:' \
+ "${ED}"/usr/{sbin/ceph-disk,bin/ceph-detect-init} || die "sed failed"
+}
+
+pkg_postinst() {
+ readme.gentoo_print_elog
+}
diff --git a/sys-cluster/ceph/files/ceph-10.2.7-fix-compilation-with-zstd.patch b/sys-cluster/ceph/files/ceph-10.2.7-fix-compilation-with-zstd.patch
new file mode 100644
index 00000000000..4e76deabe65
--- /dev/null
+++ b/sys-cluster/ceph/files/ceph-10.2.7-fix-compilation-with-zstd.patch
@@ -0,0 +1,49 @@
+From 5a11f31aac4fa6a5c5ebb4fa0964e1c07a420e8c Mon Sep 17 00:00:00 2001
+From: Zac Medico <zmedico@gentoo.org>
+Date: Wed, 12 Apr 2017 01:49:09 -0700
+Subject: [PATCH] configure: link against zstd if detected
+
+https://bugs.gentoo.org/show_bug.cgi?id=601610
+---
+ configure.ac | 6 ++++--
+ src/Makefile-env.am | 3 +++
+ 2 files changed, 7 insertions(+), 2 deletions(-)
+
+diff --git a/configure.ac b/configure.ac
+index 51daf91..8914b71 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -851,12 +851,14 @@ AS_IF([test "x$with_librocksdb_static" = "xyes"],
+ AM_CONDITIONAL(WITH_SLIBROCKSDB, [ test "x$with_librocksdb_static" = "xyes" ])
+ AM_CONDITIONAL(WITH_LIBROCKSDB, [ test "x$with_librocksdb_static" = "xyes" -o "x$with_librocksdb" = "xyes" ])
+
+-# rocksdb detects bzlib and lz4 in its Makefile, which forces us to do the same.
++# rocksdb detects headers in its Makefile, which forces us to do the same.
+ AS_IF([test "x$with_librocksdb_static" = "xyes"], [
+ AC_CHECK_HEADER([bzlib.h], [have_bzlib=yes])
+- AC_CHECK_HEADER([lz4.h], [have_lz4=yes])])
++ AC_CHECK_HEADER([lz4.h], [have_lz4=yes])]
++ AC_CHECK_HEADER([zstd.h], [have_zstd=yes])])
+ AM_CONDITIONAL(HAVE_BZLIB, [test "x$have_bzlib" = "xyes"])
+ AM_CONDITIONAL(HAVE_LZ4, [test "x$have_lz4" = "xyes"])
++AM_CONDITIONAL(HAVE_ZSTD, [test "x$have_zstd" = "xyes"])
+
+ # needs libcurl and libxml2
+ if test "x$with_rest_bench" = xyes && test "x$with_system_libs3" = xno; then
+diff --git a/src/Makefile-env.am b/src/Makefile-env.am
+index 4771bad..0ee42f8 100644
+--- a/src/Makefile-env.am
++++ b/src/Makefile-env.am
+@@ -280,6 +280,9 @@ endif
+ if HAVE_LZ4
+ LIBKV += -llz4
+ endif
++if HAVE_ZSTD
++LIBKV += -lzstd
++endif
+ endif # WITH_SLIBROCKSDB
+ LIBKV += -lz -lleveldb -lsnappy
+ LIBOS += $(LIBOS_TYPES) $(LIBKV) $(LIBFUSE_LIBS)
+--
+2.10.2
+
^ permalink raw reply related [flat|nested] 68+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-cluster/ceph/, sys-cluster/ceph/files/
@ 2017-02-10 1:18 Patrick McLean
0 siblings, 0 replies; 68+ messages in thread
From: Patrick McLean @ 2017-02-10 1:18 UTC (permalink / raw
To: gentoo-commits
commit: b25fd2666765a5ce74cab2b6ac27e2927f6c9bc4
Author: Patrick McLean <chutzpah <AT> gentoo <DOT> org>
AuthorDate: Fri Feb 10 01:17:53 2017 +0000
Commit: Patrick McLean <chutzpah <AT> gentoo <DOT> org>
CommitDate: Fri Feb 10 01:18:14 2017 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=b25fd266
sys-cluster/ceph: Revision bump, minor fix to init script
Package-Manager: Portage-2.3.3, Repoman-2.3.1
sys-cluster/ceph/ceph-10.2.5-r1.ebuild | 267 +++++++++++++++++++++++++++++++++
sys-cluster/ceph/files/ceph.initd-r3 | 40 +++++
2 files changed, 307 insertions(+)
diff --git a/sys-cluster/ceph/ceph-10.2.5-r1.ebuild b/sys-cluster/ceph/ceph-10.2.5-r1.ebuild
new file mode 100644
index 0000000000..1f381009dd
--- /dev/null
+++ b/sys-cluster/ceph/ceph-10.2.5-r1.ebuild
@@ -0,0 +1,267 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=6
+PYTHON_COMPAT=( python{2_7,3_{4,5}} )
+
+inherit check-reqs autotools eutils python-r1 udev user \
+ readme.gentoo-r1 systemd versionator flag-o-matic
+
+if [[ ${PV} == *9999* ]]; then
+ inherit git-r3
+ EGIT_REPO_URI="
+ git://github.com/ceph/ceph.git
+ https://github.com/ceph/ceph.git"
+ SRC_URI=""
+else
+ SRC_URI="http://ceph.com/download/${P}.tar.gz"
+ KEYWORDS="~amd64 ~arm ~ppc ~ppc64 ~x86"
+fi
+
+DESCRIPTION="Ceph distributed filesystem"
+HOMEPAGE="http://ceph.com/"
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+
+IUSE="babeltrace cephfs cryptopp debug fuse gtk jemalloc ldap +libaio"
+IUSE+=" libatomic lttng +nss +radosgw static-libs +tcmalloc test xfs zfs"
+
+# unbundling code commented out pending bugs 584056 and 584058
+#>=dev-libs/jerasure-2.0.0-r1
+#>=dev-libs/gf-complete-2.0.0
+COMMON_DEPEND="
+ app-arch/snappy
+ app-arch/lz4:=
+ app-arch/bzip2
+ dev-libs/boost:=[threads]
+ dev-libs/libaio
+ dev-libs/leveldb[snappy]
+ nss? ( dev-libs/nss )
+ libatomic? ( dev-libs/libatomic_ops )
+ cryptopp? ( dev-libs/crypto++:= )
+ sys-apps/keyutils
+ sys-apps/util-linux
+ dev-libs/libxml2
+ radosgw? ( dev-libs/fcgi )
+ ldap? ( net-nds/openldap )
+ babeltrace? ( dev-util/babeltrace )
+ fuse? ( sys-fs/fuse )
+ xfs? ( sys-fs/xfsprogs )
+ zfs? ( sys-fs/zfs )
+ gtk? (
+ x11-libs/gtk+:2
+ dev-cpp/gtkmm:2.4
+ gnome-base/librsvg
+ )
+ radosgw? (
+ dev-libs/fcgi
+ dev-libs/expat
+ net-misc/curl
+ )
+ jemalloc? ( dev-libs/jemalloc )
+ !jemalloc? ( dev-util/google-perftools )
+ lttng? ( dev-util/lttng-ust )
+ ${PYTHON_DEPS}
+ "
+DEPEND="${COMMON_DEPEND}
+ dev-python/cython[${PYTHON_USEDEP}]
+ app-arch/cpio
+ sys-apps/lsb-release
+ virtual/pkgconfig
+ dev-python/sphinx
+ test? (
+ sys-fs/btrfs-progs
+ sys-apps/grep[pcre]
+ dev-python/tox[${PYTHON_USEDEP}]
+ dev-python/virtualenv[${PYTHON_USEDEP}]
+ )"
+RDEPEND="${COMMON_DEPEND}
+ sys-apps/hdparm
+ sys-block/parted
+ sys-fs/cryptsetup
+ sys-apps/gptfdisk
+ dev-python/flask[${PYTHON_USEDEP}]
+ dev-python/requests[${PYTHON_USEDEP}]
+ "
+REQUIRED_USE="
+ $(python_gen_useflags 'python2*')
+ ${PYTHON_REQUIRED_USE}
+ ^^ ( nss cryptopp )
+ ?? ( jemalloc tcmalloc )
+ "
+
+# work around bug in ceph compilation (rgw/ceph_dencoder-rgw_dencoder.o... undefined reference to `vtable for RGWZoneGroup')
+REQUIRED_USE+=" radosgw"
+
+RESTRICT="test? ( userpriv )"
+
+# distribution tarball does not include everything needed for tests
+RESTRICT+=" test"
+
+STRIP_MASK="/usr/lib*/rados-classes/*"
+
+UNBUNDLE_LIBS=(
+ src/erasure-code/jerasure/jerasure
+ src/erasure-code/jerasure/gf-complete
+)
+
+PATCHES=(
+ "${FILESDIR}/ceph-10.2.0-dont-use-virtualenvs.patch"
+ #"${FILESDIR}/ceph-10.2.1-unbundle-jerasure.patch"
+ "${FILESDIR}/${PN}-10.2.1-libzfs.patch"
+ "${FILESDIR}/${PN}-10.2.3-build-without-openldap.patch"
+)
+
+check-reqs_export_vars() {
+ if use debug; then
+ CHECKREQS_DISK_BUILD="23G"
+ CHECKREQS_DISK_USR="7G"
+ elif use amd64; then
+ CHECKREQS_DISK_BUILD="12G"
+ CHECKREQS_DISK_USR="450M"
+ else
+ CHECKREQS_DISK_BUILD="1400M"
+ CHECKREQS_DISK_USR="450M"
+ fi
+
+ export CHECKREQS_DISK_BUILD CHECKREQS_DISK_USR
+}
+
+user_setup() {
+ enewgroup ceph ${CEPH_GID}
+ enewuser ceph "${CEPH_UID:--1}" -1 /var/lib/ceph ceph
+}
+
+emake_python_bindings() {
+ local action="${1}" params binding
+ shift
+ params=("${@}")
+
+ __emake_python_bindings_do_impl() {
+ emake "${params[@]}" PYTHON="${EPYTHON}" "${binding}-pybind-${action}"
+
+ # these don't work and aren't needed on python3
+ if [[ ${EBUILD_PHASE} == install ]] && python_is_python3; then
+ rm -f "${ED}/$(python_get_sitedir)"/ceph_{argparse,volume_client}.py
+ fi
+ }
+
+ pushd "${S}/src"
+ for binding in rados rbd $(use cephfs && echo cephfs); do
+ python_foreach_impl __emake_python_bindings_do_impl
+ done
+ popd
+
+ unset __emake_python_bindings_do_impl
+}
+
+pkg_pretend() {
+ check-reqs_export_vars
+ check-reqs_pkg_pretend
+}
+
+pkg_setup() {
+ python_setup
+ check-reqs_export_vars
+ check-reqs_pkg_setup
+ user_setup
+}
+
+src_prepare() {
+ default
+
+ # remove tests that need root access
+ rm src/test/cli/ceph-authtool/cap*.t
+
+ #rm -rf "${UNBUNDLE_LIBS[@]}"
+
+ append-flags -fPIC
+ eautoreconf
+}
+
+src_configure() {
+ local myeconfargs=(
+ --without-hadoop
+ --includedir=/usr/include
+ $(use_with cephfs)
+ $(use_with debug)
+ $(use_with fuse)
+ $(use_with libaio)
+ $(use_with libatomic libatomic-ops)
+ $(use_with nss)
+ $(use_with cryptopp)
+ $(use_with radosgw)
+ $(use_with gtk gtk2)
+ $(use_enable static-libs static)
+ $(use_with jemalloc)
+ $(use_with xfs libxfs)
+ $(use_with zfs libzfs)
+ $(use_with lttng )
+ $(use_with babeltrace)
+ $(use_with ldap openldap)
+ $(use jemalloc || usex tcmalloc " --with-tcmalloc" " --with-tcmalloc-minimal")
+ --with-mon
+ --with-eventfd
+ --with-cython
+ --without-kinetic
+ --without-librocksdb
+ --with-systemdsystemunitdir="$(systemd_get_systemunitdir)"
+ )
+
+ # we can only use python2.7 for building at the moment
+ python_setup 'python2*'
+ econf "${myeconfargs[@]}"
+}
+
+src_compile() {
+ emake
+ emake_python_bindings all
+
+ use test && emake check-local
+}
+
+src_test() {
+ make check || die "make check failed"
+}
+
+src_install() {
+ default
+ emake_python_bindings install-exec "DESTDIR=\"${D}\""
+
+ prune_libtool_files --all
+
+ exeinto /usr/$(get_libdir)/ceph
+ newexe src/init-ceph ceph_init.sh
+
+ insinto /etc/logrotate.d/
+ newins "${FILESDIR}"/ceph.logrotate ${PN}
+
+ keepdir /var/lib/${PN}{,/tmp} /var/log/${PN}/stat
+
+ fowners -R ceph:ceph /var/lib/ceph /var/log/ceph
+
+ newinitd "${FILESDIR}/rbdmap.initd" rbdmap
+ newinitd "${FILESDIR}/${PN}.initd-r3" ${PN}
+ newconfd "${FILESDIR}/${PN}.confd-r1" ${PN}
+
+ systemd_install_serviced "${FILESDIR}/ceph-mds_at.service.conf" "ceph-mds@.service"
+ systemd_install_serviced "${FILESDIR}/ceph-osd_at.service.conf" "ceph-osd@.service"
+ systemd_install_serviced "${FILESDIR}/ceph-mon_at.service.conf" "ceph-mon@.service"
+
+ udev_dorules udev/*.rules
+
+ readme.gentoo_create_doc
+
+ python_setup 'python2*'
+ python_fix_shebang "${ED}"/usr/{,s}bin/
+
+ # python_fix_shebang apparently is not idempotent
+ sed -i -r 's:(/usr/lib/python-exec/python[0-9]\.[0-9]/python)[0-9]\.[0-9]:\1:' \
+ "${ED}"/usr/{sbin/ceph-disk,bin/ceph-detect-init} || die "sed failed"
+}
+
+pkg_postinst() {
+ readme.gentoo_print_elog
+}
diff --git a/sys-cluster/ceph/files/ceph.initd-r3 b/sys-cluster/ceph/files/ceph.initd-r3
new file mode 100644
index 0000000000..9476aa9191
--- /dev/null
+++ b/sys-cluster/ceph/files/ceph.initd-r3
@@ -0,0 +1,40 @@
+#!/sbin/openrc-run
+
+ceph_conf="${ceph_conf:-/etc/ceph/ceph.conf}"
+extra_commands="reload"
+daemon_type="${RC_SVCNAME#ceph-}"
+daemon_type="${daemon_type%%.*}"
+daemon_id="${RC_SVCNAME#ceph-*.}"
+daemon_id="${daemon_id:-0}"
+command="/usr/bin/ceph-${daemon_type}"
+pidfile="/run/ceph/${daemon_type}.${daemon_id}.pid"
+command_args="-i ${daemon_id} --pid-file ${pidfile} -c ${ceph_conf}"
+start_stop_daemon_args="--user ceph --group ceph"
+
+depend() {
+ after net ntpd ntp-client chronyd
+ before netmount
+}
+
+is_type_valid() {
+ case ${daemon_type} in
+ mon|mds|osd) return 0;;
+ *) return 1;;
+ esac
+}
+
+start_pre() {
+ checkpath -d -q -o ceph "$(dirname "${pidfile}")"
+ if ! is_type_valid ;then
+ eerror "Please give valid Ceph Server Type: mds, mon, osd"
+ return 1
+ fi
+}
+
+reload() {
+ ebegin "Reloading Ceph ${daemon_type}.${daemon_id}"
+ start-stop-daemon --signal 1 ${start_stop_daemon_args} --pidfile "${pidfile}"
+ eend $?
+}
+
+# vim:ft=gentoo-init-d:ts=4:sts=4:sw=4:noet:
^ permalink raw reply related [flat|nested] 68+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-cluster/ceph/, sys-cluster/ceph/files/
@ 2016-10-11 21:57 Patrick McLean
0 siblings, 0 replies; 68+ messages in thread
From: Patrick McLean @ 2016-10-11 21:57 UTC (permalink / raw
To: gentoo-commits
commit: 37385b5e56b341e9cea2bd536104e3daff3a83c0
Author: Patrick McLean <chutzpah <AT> gentoo <DOT> org>
AuthorDate: Tue Oct 11 21:56:31 2016 +0000
Commit: Patrick McLean <chutzpah <AT> gentoo <DOT> org>
CommitDate: Tue Oct 11 21:57:16 2016 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=37385b5e
sys-cluster/ceph: Version bump to 10.2.3
Package-Manager: portage-2.3.1
sys-cluster/ceph/Manifest | 1 +
sys-cluster/ceph/ceph-10.2.3.ebuild | 262 +++++++++++++++++++++
.../files/ceph-10.2.3-build-without-openldap.patch | 32 +++
3 files changed, 295 insertions(+)
diff --git a/sys-cluster/ceph/Manifest b/sys-cluster/ceph/Manifest
index 1a120d4..c21cf2a 100644
--- a/sys-cluster/ceph/Manifest
+++ b/sys-cluster/ceph/Manifest
@@ -1,3 +1,4 @@
DIST ceph-0.94.7.tar.gz 9164375 SHA256 aafe6cbab2f5db11376e5696a58d0711a90e93094a04eafe8d4d0910c8694d66 SHA512 e27631dceb01d59fab5fab22eaf7a8d0cbb474b44834a3b62bff4562e32723711431ee3ae66e2de26368b3b0e8f3619282a91c6934b88e722fcdfe6215bf8e68 WHIRLPOOL b2c0f5d26a1ffdfede29ec35cba6bf3c630cfcf0ea8d42542bcfc8ee36294d611c5316ff85e4ade9c8e1e66ad020cf5402bddcfa9557b29969ae6bb9a3870b60
DIST ceph-10.2.2.tar.gz 11541035 SHA256 7adaaeffb5a787108b5e1494df9165b6420069c0ab710e6e4aad185f423b0f6d SHA512 b47138528af3078646b52e9ea9a561eca4120473e7584c9076e949f0e9bbbdd15aa88e2287a90bd1ddb09d06c29c40181c18da58f5126a442101169ef3419b8a WHIRLPOOL f744444f2064832cba46065bd0fe64996c92bf8ed7888c075dffa9efe1d84393bd2204b38cefe11d0804ea862d0f2ff2d114ea205ff163d60e061e2e4a01db15
+DIST ceph-10.2.3.tar.gz 11596171 SHA256 dca933aa14db67b404d836ef510bd418091978edc2f0c74dfc530ba0aa5e8994 SHA512 9de1e6851fc343d2c52c72cec3f7887d998d5b588f1251ee3a1fda14427badfa10408e6691fb03a374a10f4ec9844868423fee70fbbe2c0d962af98481412f19 WHIRLPOOL 981ebca66113a07a5cc6e5934272a72b29a2c19e03398f7b622c11df6ea0a05339558dfc2f11504403cbbd0efe0b090ad59f4b86206b46db57587744091aa26a
DIST ceph-9.2.1.tar.gz 9933444 SHA256 1918dfc3df80df5986c5b7ff6bc6c78064eef0f6c5e8269dba30e08c703a7c2f SHA512 1e84c1e2d64f4156a523658ed11552b045f75986922b7b7dbaf4719e73a0a6aadc71eb2b94ae363526f729534a592921a437468a41a3cea88c1b84e09de8505a WHIRLPOOL 3a0eb6712e5b0235707e86129e1d66f1184f50cd4980c30f6d8cc0e7dfd96d30b91177ed16dd7abf2ad4983c6a543eb91915f74f661f7d3e3c810b5b1d656aca
diff --git a/sys-cluster/ceph/ceph-10.2.3.ebuild b/sys-cluster/ceph/ceph-10.2.3.ebuild
new file mode 100644
index 00000000..0d4c758
--- /dev/null
+++ b/sys-cluster/ceph/ceph-10.2.3.ebuild
@@ -0,0 +1,262 @@
+# Copyright 1999-2016 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=6
+PYTHON_COMPAT=( python{2_7,3_{4,5}} )
+
+inherit check-reqs autotools eutils python-r1 udev user \
+ readme.gentoo-r1 systemd versionator flag-o-matic
+
+if [[ ${PV} == *9999* ]]; then
+ inherit git-r3
+ EGIT_REPO_URI="
+ git://github.com/ceph/ceph.git
+ https://github.com/ceph/ceph.git"
+ SRC_URI=""
+else
+ SRC_URI="http://ceph.com/download/${P}.tar.gz"
+ KEYWORDS="~amd64 ~arm ~ppc ~ppc64 ~x86"
+fi
+
+DESCRIPTION="Ceph distributed filesystem"
+HOMEPAGE="http://ceph.com/"
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+
+IUSE="babeltrace cephfs cryptopp debug fuse gtk jemalloc ldap +libaio"
+IUSE+=" libatomic lttng +nss +radosgw static-libs tcmalloc test xfs zfs"
+
+# unbundling code commented out pending bugs 584056 and 584058
+#>=dev-libs/jerasure-2.0.0-r1
+#>=dev-libs/gf-complete-2.0.0
+COMMON_DEPEND="
+ app-arch/snappy
+ app-arch/lz4:=
+ app-arch/bzip2
+ dev-libs/boost:=[threads]
+ dev-libs/libaio
+ dev-libs/leveldb[snappy]
+ nss? ( dev-libs/nss )
+ libatomic? ( dev-libs/libatomic_ops )
+ cryptopp? ( dev-libs/crypto++:= )
+ sys-apps/keyutils
+ sys-apps/util-linux
+ dev-libs/libxml2
+ radosgw? ( dev-libs/fcgi )
+ ldap? ( net-nds/openldap )
+ babeltrace? ( dev-util/babeltrace )
+ fuse? ( sys-fs/fuse )
+ xfs? ( sys-fs/xfsprogs )
+ zfs? ( sys-fs/zfs )
+ gtk? (
+ x11-libs/gtk+:2
+ dev-cpp/gtkmm:2.4
+ gnome-base/librsvg
+ )
+ radosgw? (
+ dev-libs/fcgi
+ dev-libs/expat
+ net-misc/curl
+ )
+ jemalloc? ( dev-libs/jemalloc )
+ !jemalloc? ( dev-util/google-perftools )
+ lttng? ( dev-util/lttng-ust )
+ ${PYTHON_DEPS}
+ "
+DEPEND="${COMMON_DEPEND}
+ dev-python/cython[${PYTHON_USEDEP}]
+ app-arch/cpio
+ sys-apps/lsb-release
+ virtual/pkgconfig
+ dev-python/sphinx
+ test? (
+ sys-fs/btrfs-progs
+ sys-apps/grep[pcre]
+ dev-python/tox[${PYTHON_USEDEP}]
+ dev-python/virtualenv[${PYTHON_USEDEP}]
+ )"
+RDEPEND="${COMMON_DEPEND}
+ sys-apps/hdparm
+ sys-block/parted
+ sys-fs/cryptsetup
+ sys-apps/gptfdisk
+ dev-python/flask[${PYTHON_USEDEP}]
+ dev-python/requests[${PYTHON_USEDEP}]
+ "
+REQUIRED_USE="
+ $(python_gen_useflags 'python2*')
+ ${PYTHON_REQUIRED_USE}
+ ^^ ( nss cryptopp )
+ ?? ( jemalloc tcmalloc )
+ "
+
+# work around bug in ceph compilation (rgw/ceph_dencoder-rgw_dencoder.o... undefined reference to `vtable for RGWZoneGroup')
+REQUIRED_USE+=" radosgw"
+
+RESTRICT="test? ( userpriv )"
+
+# distribution tarball does not include everything needed for tests
+RESTRICT+=" test"
+
+STRIP_MASK="/usr/lib*/rados-classes/*"
+
+UNBUNDLE_LIBS=(
+ src/erasure-code/jerasure/jerasure
+ src/erasure-code/jerasure/gf-complete
+)
+
+PATCHES=(
+ "${FILESDIR}/ceph-10.2.0-dont-use-virtualenvs.patch"
+ #"${FILESDIR}/ceph-10.2.1-unbundle-jerasure.patch"
+ "${FILESDIR}/${PN}-10.2.1-libzfs.patch"
+ "${FILESDIR}/${PN}-10.2.3-build-without-openldap.patch"
+)
+
+check-reqs_export_vars() {
+ if use debug; then
+ CHECKREQS_DISK_BUILD="23G"
+ CHECKREQS_DISK_USR="7G"
+ elif use amd64; then
+ CHECKREQS_DISK_BUILD="12G"
+ CHECKREQS_DISK_USR="450M"
+ else
+ CHECKREQS_DISK_BUILD="1400M"
+ CHECKREQS_DISK_USR="450M"
+ fi
+
+ export CHECKREQS_DISK_BUILD CHECKREQS_DISK_USR
+}
+
+user_setup() {
+ enewgroup ceph
+ enewuser ceph -1 -1 /var/lib/ceph ceph
+}
+
+emake_python_bindings() {
+ local action="${1}" params binding
+ shift
+ params=("${@}")
+
+ __emake_python_bindings_do_impl() {
+ emake "${params[@]}" PYTHON="${EPYTHON}" "${binding}-pybind-${action}"
+
+ # these don't work and aren't needed on python3
+ if [[ ${EBUILD_PHASE} == install ]] && python_is_python3; then
+ rm -f "${ED}/$(python_get_sitedir)"/ceph_{argparse,volume_client}.py
+ fi
+ }
+
+ pushd "${S}/src"
+ for binding in rados rbd $(use cephfs && echo cephfs); do
+ python_foreach_impl __emake_python_bindings_do_impl
+ done
+ popd
+
+ unset __emake_python_bindings_do_impl
+}
+
+pkg_pretend() {
+ check-reqs_export_vars
+ check-reqs_pkg_pretend
+}
+
+pkg_setup() {
+ python_setup
+ check-reqs_export_vars
+ check-reqs_pkg_setup
+ user_setup
+}
+
+src_prepare() {
+ default
+
+ # remove tests that need root access
+ rm src/test/cli/ceph-authtool/cap*.t
+
+ #rm -rf "${UNBUNDLE_LIBS[@]}"
+
+ append-flags -fPIC
+ eautoreconf
+}
+
+src_configure() {
+ local myeconfargs=(
+ --without-hadoop
+ --includedir=/usr/include
+ $(use_with cephfs)
+ $(use_with debug)
+ $(use_with fuse)
+ $(use_with libaio)
+ $(use_with libatomic libatomic-ops)
+ $(use_with nss)
+ $(use_with cryptopp)
+ $(use_with radosgw)
+ $(use_with gtk gtk2)
+ $(use_enable static-libs static)
+ $(use_with jemalloc)
+ $(use_with xfs libxfs)
+ $(use_with zfs libzfs)
+ $(use_with lttng )
+ $(use_with babeltrace)
+ $(use_with ldap openldap)
+ $(use jemalloc || usex tcmalloc " --with-tcmalloc" " --with-tcmalloc-minimal")
+ --with-mon
+ --with-eventfd
+ --with-cython
+ --without-kinetic
+ --without-librocksdb
+ --with-systemdsystemunitdir="$(systemd_get_systemunitdir)"
+ )
+
+ # we can only use python2.7 for building at the moment
+ python_export python2.7 PYTHON EPYTHON
+ econf "${myeconfargs[@]}"
+}
+
+src_compile() {
+ emake
+ emake_python_bindings all
+
+ use test && emake check-local
+}
+
+src_test() {
+ make check || die "make check failed"
+}
+
+src_install() {
+ default
+ emake_python_bindings install-exec "DESTDIR=\"${D}\""
+
+ prune_libtool_files --all
+
+ exeinto /usr/$(get_libdir)/ceph
+ newexe src/init-ceph ceph_init.sh
+
+ insinto /etc/logrotate.d/
+ newins "${FILESDIR}"/ceph.logrotate ${PN}
+
+ keepdir /var/lib/${PN}{,/tmp} /var/log/${PN}/stat
+
+ fowners ceph:ceph /var/lib/ceph
+
+ newinitd "${FILESDIR}/rbdmap.initd" rbdmap
+ newinitd "${FILESDIR}/${PN}.initd-r2" ${PN}
+ newconfd "${FILESDIR}/${PN}.confd-r1" ${PN}
+
+ systemd_install_serviced "${FILESDIR}/ceph-mds_at.service.conf" "ceph-mds@.service"
+ systemd_install_serviced "${FILESDIR}/ceph-osd_at.service.conf" "ceph-osd@.service"
+ systemd_install_serviced "${FILESDIR}/ceph-mon_at.service.conf" "ceph-mon@.service"
+
+ python_fix_shebang "${ED}"/usr/{,s}bin/
+
+ udev_dorules udev/*.rules
+
+ readme.gentoo_create_doc
+}
+
+pkg_postinst() {
+ readme.gentoo_print_elog
+}
diff --git a/sys-cluster/ceph/files/ceph-10.2.3-build-without-openldap.patch b/sys-cluster/ceph/files/ceph-10.2.3-build-without-openldap.patch
new file mode 100644
index 00000000..ffc1645
--- /dev/null
+++ b/sys-cluster/ceph/files/ceph-10.2.3-build-without-openldap.patch
@@ -0,0 +1,32 @@
+diff --git a/src/rgw/librgw.cc b/src/rgw/librgw.cc
+index c476129..cad54b8 100644
+--- a/src/rgw/librgw.cc
++++ b/src/rgw/librgw.cc
+@@ -470,7 +470,11 @@ namespace rgw {
+ const string& ldap_searchdn = store->ctx()->_conf->rgw_ldap_searchdn;
+ const string& ldap_dnattr =
+ store->ctx()->_conf->rgw_ldap_dnattr;
++#ifdef HAVE_OPENLDAP
+ std::string ldap_bindpw = parse_rgw_ldap_bindpw(store->ctx());
++#else
++ std::string ldap_bindpw;
++#endif /* HAVE_OPENLDAP */
+
+ ldh = new rgw::LDAPHelper(ldap_uri, ldap_binddn, ldap_bindpw.c_str(),
+ ldap_searchdn, ldap_dnattr);
+diff --git a/src/rgw/rgw_rest_s3.cc b/src/rgw/rgw_rest_s3.cc
+index e9f24f3..7291e69 100644
+--- a/src/rgw/rgw_rest_s3.cc
++++ b/src/rgw/rgw_rest_s3.cc
+@@ -3091,7 +3091,11 @@ void RGW_Auth_S3::init_impl(RGWRados* store)
+ const string& ldap_searchdn = store->ctx()->_conf->rgw_ldap_searchdn;
+ const string& ldap_dnattr =
+ store->ctx()->_conf->rgw_ldap_dnattr;
++#ifdef HAVE_OPENLDAP
+ std::string ldap_bindpw = parse_rgw_ldap_bindpw(store->ctx());
++#else
++ std::string ldap_bindpw;
++#endif /* HAVE_OPENLDAP */
+
+ ldh = new rgw::LDAPHelper(ldap_uri, ldap_binddn, ldap_bindpw,
+ ldap_searchdn, ldap_dnattr);
^ permalink raw reply related [flat|nested] 68+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-cluster/ceph/, sys-cluster/ceph/files/
@ 2016-07-11 1:23 Yixun Lan
0 siblings, 0 replies; 68+ messages in thread
From: Yixun Lan @ 2016-07-11 1:23 UTC (permalink / raw
To: gentoo-commits
commit: 361fb48dfdefd0b5442dd36e1b3d9a2cb47f8b07
Author: Yixun Lan <dlan <AT> gentoo <DOT> org>
AuthorDate: Mon Jul 11 01:21:06 2016 +0000
Commit: Yixun Lan <dlan <AT> gentoo <DOT> org>
CommitDate: Mon Jul 11 01:21:47 2016 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=361fb48d
sys-cluster/ceph: restore 0.94.x (hammer)
we decided to keep at least two LTS versions
also, allow user upgrade from old versions (sidely)
Gentoo-Bug: 587568
Package-Manager: portage-2.3.0_rc1
sys-cluster/ceph/Manifest | 1 +
sys-cluster/ceph/ceph-0.94.7.ebuild | 177 +++++++++++++++++++++
.../ceph/files/ceph-0.94.7-monitor-security.patch | 109 +++++++++++++
3 files changed, 287 insertions(+)
diff --git a/sys-cluster/ceph/Manifest b/sys-cluster/ceph/Manifest
index 5317942..1a120d4 100644
--- a/sys-cluster/ceph/Manifest
+++ b/sys-cluster/ceph/Manifest
@@ -1,2 +1,3 @@
+DIST ceph-0.94.7.tar.gz 9164375 SHA256 aafe6cbab2f5db11376e5696a58d0711a90e93094a04eafe8d4d0910c8694d66 SHA512 e27631dceb01d59fab5fab22eaf7a8d0cbb474b44834a3b62bff4562e32723711431ee3ae66e2de26368b3b0e8f3619282a91c6934b88e722fcdfe6215bf8e68 WHIRLPOOL b2c0f5d26a1ffdfede29ec35cba6bf3c630cfcf0ea8d42542bcfc8ee36294d611c5316ff85e4ade9c8e1e66ad020cf5402bddcfa9557b29969ae6bb9a3870b60
DIST ceph-10.2.2.tar.gz 11541035 SHA256 7adaaeffb5a787108b5e1494df9165b6420069c0ab710e6e4aad185f423b0f6d SHA512 b47138528af3078646b52e9ea9a561eca4120473e7584c9076e949f0e9bbbdd15aa88e2287a90bd1ddb09d06c29c40181c18da58f5126a442101169ef3419b8a WHIRLPOOL f744444f2064832cba46065bd0fe64996c92bf8ed7888c075dffa9efe1d84393bd2204b38cefe11d0804ea862d0f2ff2d114ea205ff163d60e061e2e4a01db15
DIST ceph-9.2.1.tar.gz 9933444 SHA256 1918dfc3df80df5986c5b7ff6bc6c78064eef0f6c5e8269dba30e08c703a7c2f SHA512 1e84c1e2d64f4156a523658ed11552b045f75986922b7b7dbaf4719e73a0a6aadc71eb2b94ae363526f729534a592921a437468a41a3cea88c1b84e09de8505a WHIRLPOOL 3a0eb6712e5b0235707e86129e1d66f1184f50cd4980c30f6d8cc0e7dfd96d30b91177ed16dd7abf2ad4983c6a543eb91915f74f661f7d3e3c810b5b1d656aca
diff --git a/sys-cluster/ceph/ceph-0.94.7.ebuild b/sys-cluster/ceph/ceph-0.94.7.ebuild
new file mode 100644
index 0000000..eb31594
--- /dev/null
+++ b/sys-cluster/ceph/ceph-0.94.7.ebuild
@@ -0,0 +1,177 @@
+# Copyright 1999-2016 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 )
+
+if [[ $PV = *9999* ]]; then
+ scm_eclass=git-r3
+ EGIT_REPO_URI="
+ git://github.com/ceph/ceph.git
+ https://github.com/ceph/ceph.git"
+ SRC_URI=""
+else
+ [[ -n ${UPSTREAM_VER} ]] && \
+ UPSTREAM_PATCHSET_URI="https://dev.gentoo.org/~dlan/distfiles/${P}-upstream-patches-${UPSTREAM_VER}.tar.xz"
+
+ SRC_URI="http://ceph.com/download/${P}.tar.gz
+ ${UPSTREAM_PATCHSET_URI}"
+fi
+KEYWORDS="~amd64 ~arm ~ppc ~ppc64 ~x86"
+
+inherit check-reqs autotools eutils multilib python-single-r1 udev readme.gentoo-r1 systemd ${scm_eclass}
+
+DESCRIPTION="Ceph distributed filesystem"
+HOMEPAGE="http://ceph.com/"
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+IUSE="babeltrace cryptopp debug fuse gtk libatomic +libaio lttng +nss radosgw static-libs jemalloc python tcmalloc xfs zfs"
+
+COMMON_DEPEND="
+ app-arch/snappy
+ dev-libs/boost:=[threads]
+ dev-libs/fcgi
+ dev-libs/libaio
+ dev-libs/libedit
+ dev-libs/leveldb[snappy]
+ nss? ( dev-libs/nss )
+ cryptopp? ( dev-libs/crypto++ )
+ sys-apps/keyutils
+ sys-apps/util-linux
+ dev-libs/libxml2
+ babeltrace? ( dev-util/babeltrace )
+ fuse? ( sys-fs/fuse )
+ libatomic? ( dev-libs/libatomic_ops )
+ xfs? ( sys-fs/xfsprogs )
+ zfs? ( sys-fs/zfs )
+ gtk? (
+ x11-libs/gtk+:2
+ dev-cpp/gtkmm:2.4
+ gnome-base/librsvg
+ )
+ radosgw? (
+ dev-libs/fcgi
+ dev-libs/expat
+ net-misc/curl
+ )
+ jemalloc? ( dev-libs/jemalloc )
+ !jemalloc? ( dev-util/google-perftools )
+ lttng? ( dev-util/lttng-ust )
+ ${PYTHON_DEPS}
+ "
+DEPEND="${COMMON_DEPEND}
+ virtual/pkgconfig"
+RDEPEND="${COMMON_DEPEND}
+ sys-apps/hdparm
+ dev-python/flask[${PYTHON_USEDEP}]
+ dev-python/requests[${PYTHON_USEDEP}]
+ "
+REQUIRED_USE="
+ ${PYTHON_REQUIRED_USE}
+ ^^ ( nss cryptopp )
+ ?? ( jemalloc tcmalloc )
+ "
+
+STRIP_MASK="/usr/lib*/rados-classes/*"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-0.79-libzfs.patch
+ "${FILESDIR}"/${P}-monitor-security.patch
+)
+CHECKREQS_DISK_BUILD="1400M"
+
+pkg_setup() {
+ python_setup
+}
+
+src_prepare() {
+ # Upstream's patchset
+ if [[ -n ${UPSTREAM_VER} ]]; then
+ einfo "Try to apply Ceph Upstream patch set"
+ EPATCH_SUFFIX="patch" \
+ EPATCH_FORCE="yes" \
+ EPATCH_OPTS="-p1" \
+ epatch "${WORKDIR}"/patches-upstream
+ fi
+
+ [[ ${PATCHES[@]} ]] && epatch "${PATCHES[@]}"
+
+ epatch_user
+ eautoreconf
+}
+
+src_configure() {
+ local myeconfargs=(
+ --without-hadoop
+ --docdir="${EPREFIX}/usr/share/doc/${PF}"
+ --includedir=/usr/include
+ $(use_with debug)
+ $(use_with fuse)
+ $(use_with libaio)
+ $(use_with libatomic libatomic-ops)
+ $(use_with nss)
+ $(use_with cryptopp)
+ $(use_with radosgw)
+ $(use_with gtk gtk2)
+ $(use_enable static-libs static)
+ $(use_with jemalloc)
+ $(use_with xfs libxfs)
+ $(use_with zfs libzfs)
+ $(use_with lttng )
+ $(use_with babeltrace)
+ --without-kinetic
+ --without-librocksdb
+ )
+
+ use jemalloc || \
+ myeconfargs+=( $(usex tcmalloc " --with-tcmalloc" " --with-tcmalloc-minimal") )
+
+ PYTHON="${EPYTHON}" \
+ econf "${myeconfargs[@]}"
+}
+
+src_install() {
+ default
+
+ prune_libtool_files --all
+
+ exeinto /usr/$(get_libdir)/ceph
+ newexe src/init-ceph ceph_init.sh
+
+ insinto /etc/logrotate.d/
+ newins "${FILESDIR}"/ceph.logrotate ${PN}
+
+ chmod 644 "${ED}"/usr/share/doc/${PF}/sample.*
+
+ keepdir /var/lib/${PN}
+ keepdir /var/lib/${PN}/tmp
+ keepdir /var/log/${PN}/stat
+
+ newinitd "${FILESDIR}/rbdmap.initd" rbdmap
+ newinitd "${FILESDIR}/${PN}.initd-r1.1" ${PN}
+ newconfd "${FILESDIR}/${PN}.confd-r1" ${PN}
+
+ systemd_dounit "${FILESDIR}/ceph.target"
+ systemd_newunit "${FILESDIR}/ceph-mds_at.service" "ceph-mds@.service"
+ systemd_install_serviced "${FILESDIR}/ceph-mds_at.service.conf" "ceph-mds@.service"
+ systemd_newunit "${FILESDIR}/ceph-osd_at.service" "ceph-osd@.service"
+ systemd_install_serviced "${FILESDIR}/ceph-osd_at.service.conf" "ceph-osd@.service"
+ systemd_newunit "${FILESDIR}/ceph-mon_at.service" "ceph-mon@.service"
+ systemd_install_serviced "${FILESDIR}/ceph-mon_at.service.conf" "ceph-mon@.service"
+
+ python_fix_shebang \
+ "${ED}"/usr/sbin/{ceph-disk,ceph-create-keys} \
+ "${ED}"/usr/bin/{ceph,ceph-rest-api}
+
+ #install udev rules
+ udev_dorules udev/50-rbd.rules
+ udev_dorules udev/95-ceph-osd.rules
+
+ readme.gentoo_create_doc
+}
+
+pkg_postinst() {
+ readme.gentoo_print_elog
+}
diff --git a/sys-cluster/ceph/files/ceph-0.94.7-monitor-security.patch b/sys-cluster/ceph/files/ceph-0.94.7-monitor-security.patch
new file mode 100644
index 0000000..b225a6f
--- /dev/null
+++ b/sys-cluster/ceph/files/ceph-0.94.7-monitor-security.patch
@@ -0,0 +1,109 @@
+From b78a1be835706e7dabc505be343945d0ac05697d Mon Sep 17 00:00:00 2001
+From: Kefu Chai <kchai@redhat.com>
+Date: Thu, 30 Jun 2016 13:24:22 +0800
+Subject: [PATCH] mon: Monitor: validate prefix on handle_command()
+
+Fixes: http://tracker.ceph.com/issues/16297
+
+Signed-off-by: You Ji <youji@ebay.com>
+(cherry picked from commit 7cb3434fed03a5497abfd00bcec7276b70df0654)
+
+Conflicts:
+ src/mon/Monitor.cc (the signature of Monitor::reply_command()
+ changed a little bit in master, so adapt the
+ commit to work with the old method)
+---
+ src/mon/Monitor.cc | 23 ++++++++++++++++++++++-
+ src/test/librados/cmd.cc | 35 +++++++++++++++++++++++++++++++++++
+ 2 files changed, 57 insertions(+), 1 deletion(-)
+
+diff --git a/src/mon/Monitor.cc b/src/mon/Monitor.cc
+index 48563ad..d499f0c 100644
+--- a/src/mon/Monitor.cc
++++ b/src/mon/Monitor.cc
+@@ -2565,7 +2565,19 @@ void Monitor::handle_command(MMonCommand *m)
+ return;
+ }
+
+- cmd_getval(g_ceph_context, cmdmap, "prefix", prefix);
++ // check return value. If no prefix parameter provided,
++ // return value will be false, then return error info.
++ if(!cmd_getval(g_ceph_context, cmdmap, "prefix", prefix)) {
++ reply_command(m, -EINVAL, "command prefix not found", 0);
++ return;
++ }
++
++ // check prefix is empty
++ if (prefix.empty()) {
++ reply_command(m, -EINVAL, "command prefix must not be empty", 0);
++ return;
++ }
++
+ if (prefix == "get_command_descriptions") {
+ bufferlist rdata;
+ Formatter *f = Formatter::create("json");
+@@ -2586,6 +2598,15 @@ void Monitor::handle_command(MMonCommand *m)
+ boost::scoped_ptr<Formatter> f(Formatter::create(format));
+
+ get_str_vec(prefix, fullcmd);
++
++ // make sure fullcmd is not empty.
++ // invalid prefix will cause empty vector fullcmd.
++ // such as, prefix=";,,;"
++ if (fullcmd.empty()) {
++ reply_command(m, -EINVAL, "command requires a prefix to be valid", 0);
++ return;
++ }
++
+ module = fullcmd[0];
+
+ // validate command is in leader map
+diff --git a/src/test/librados/cmd.cc b/src/test/librados/cmd.cc
+index 4f327a0..0a7ed16 100644
+--- a/src/test/librados/cmd.cc
++++ b/src/test/librados/cmd.cc
+@@ -49,6 +49,41 @@ TEST(LibRadosCmd, MonDescribe) {
+ rados_buffer_free(buf);
+ rados_buffer_free(st);
+
++ cmd[0] = (char *)"";
++ ASSERT_EQ(-EINVAL, rados_mon_command(cluster, (const char **)cmd, 1, "{}", 2, &buf, &buflen, &st, &stlen));
++ rados_buffer_free(buf);
++ rados_buffer_free(st);
++
++ cmd[0] = (char *)"{}";
++ ASSERT_EQ(-EINVAL, rados_mon_command(cluster, (const char **)cmd, 1, "", 0, &buf, &buflen, &st, &stlen));
++ rados_buffer_free(buf);
++ rados_buffer_free(st);
++
++ cmd[0] = (char *)"{\"abc\":\"something\"}";
++ ASSERT_EQ(-EINVAL, rados_mon_command(cluster, (const char **)cmd, 1, "", 0, &buf, &buflen, &st, &stlen));
++ rados_buffer_free(buf);
++ rados_buffer_free(st);
++
++ cmd[0] = (char *)"{\"prefix\":\"\"}";
++ ASSERT_EQ(-EINVAL, rados_mon_command(cluster, (const char **)cmd, 1, "", 0, &buf, &buflen, &st, &stlen));
++ rados_buffer_free(buf);
++ rados_buffer_free(st);
++
++ cmd[0] = (char *)"{\"prefix\":\" \"}";
++ ASSERT_EQ(-EINVAL, rados_mon_command(cluster, (const char **)cmd, 1, "", 0, &buf, &buflen, &st, &stlen));
++ rados_buffer_free(buf);
++ rados_buffer_free(st);
++
++ cmd[0] = (char *)"{\"prefix\":\";;;,,,;;,,\"}";
++ ASSERT_EQ(-EINVAL, rados_mon_command(cluster, (const char **)cmd, 1, "", 0, &buf, &buflen, &st, &stlen));
++ rados_buffer_free(buf);
++ rados_buffer_free(st);
++
++ cmd[0] = (char *)"{\"prefix\":\"extra command\"}";
++ ASSERT_EQ(-EINVAL, rados_mon_command(cluster, (const char **)cmd, 1, "", 0, &buf, &buflen, &st, &stlen));
++ rados_buffer_free(buf);
++ rados_buffer_free(st);
++
+ cmd[0] = (char *)"{\"prefix\":\"mon_status\"}";
+ ASSERT_EQ(0, rados_mon_command(cluster, (const char **)cmd, 1, "", 0, &buf, &buflen, &st, &stlen));
+ ASSERT_LT(0u, buflen);
+--
+2.9.0
+
^ permalink raw reply related [flat|nested] 68+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-cluster/ceph/, sys-cluster/ceph/files/
@ 2016-06-30 23:53 Patrick McLean
0 siblings, 0 replies; 68+ messages in thread
From: Patrick McLean @ 2016-06-30 23:53 UTC (permalink / raw
To: gentoo-commits
commit: 4c6618086e16e704df31113b279e7ea4395bd41a
Author: Patrick McLean <chutzpah <AT> gentoo <DOT> org>
AuthorDate: Thu Jun 30 23:52:50 2016 +0000
Commit: Patrick McLean <chutzpah <AT> gentoo <DOT> org>
CommitDate: Thu Jun 30 23:52:50 2016 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=4c661808
sys-cluster/ceph: Revision bump to 9.2.1-r2 and 10.2.2-r1 for CVE-2016-5009 (bug #587568)
Package-Manager: portage-2.3.0
sys-cluster/ceph/ceph-10.2.2-r1.ebuild | 263 ++++++++++++++++++++++++
sys-cluster/ceph/ceph-9.2.1-r2.ebuild | 193 +++++++++++++++++
sys-cluster/ceph/files/ceph-CVE-2016-5009.patch | 87 ++++++++
3 files changed, 543 insertions(+)
diff --git a/sys-cluster/ceph/ceph-10.2.2-r1.ebuild b/sys-cluster/ceph/ceph-10.2.2-r1.ebuild
new file mode 100644
index 0000000..276f496
--- /dev/null
+++ b/sys-cluster/ceph/ceph-10.2.2-r1.ebuild
@@ -0,0 +1,263 @@
+# Copyright 1999-2016 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=6
+PYTHON_COMPAT=( python{2_7,3_{4,5}} )
+
+inherit check-reqs autotools eutils python-r1 udev user \
+ readme.gentoo-r1 systemd versionator flag-o-matic
+
+if [[ ${PV} == *9999* ]]; then
+ inherit git-r3
+ EGIT_REPO_URI="
+ git://github.com/ceph/ceph.git
+ https://github.com/ceph/ceph.git"
+ SRC_URI=""
+else
+ SRC_URI="http://ceph.com/download/${P}.tar.gz"
+ KEYWORDS="~amd64 ~arm ~ppc ~ppc64 ~x86"
+fi
+
+DESCRIPTION="Ceph distributed filesystem"
+HOMEPAGE="http://ceph.com/"
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+
+IUSE="babeltrace cephfs cryptopp debug fuse gtk jemalloc ldap +libaio"
+IUSE+=" libatomic lttng +nss +radosgw static-libs tcmalloc test xfs zfs"
+
+# unbundling code commented out pending bugs 584056 and 584058
+#>=dev-libs/jerasure-2.0.0-r1
+#>=dev-libs/gf-complete-2.0.0
+COMMON_DEPEND="
+ app-arch/snappy
+ app-arch/lz4:=
+ app-arch/bzip2
+ dev-libs/boost:=[threads]
+ dev-libs/libaio
+ dev-libs/leveldb[snappy]
+ nss? ( dev-libs/nss )
+ libatomic? ( dev-libs/libatomic_ops )
+ cryptopp? ( dev-libs/crypto++ )
+ sys-apps/keyutils
+ sys-apps/util-linux
+ dev-libs/libxml2
+ radosgw? ( dev-libs/fcgi )
+ ldap? ( net-nds/openldap )
+ babeltrace? ( dev-util/babeltrace )
+ fuse? ( sys-fs/fuse )
+ xfs? ( sys-fs/xfsprogs )
+ zfs? ( sys-fs/zfs )
+ gtk? (
+ x11-libs/gtk+:2
+ dev-cpp/gtkmm:2.4
+ gnome-base/librsvg
+ )
+ radosgw? (
+ dev-libs/fcgi
+ dev-libs/expat
+ net-misc/curl
+ )
+ jemalloc? ( dev-libs/jemalloc )
+ !jemalloc? ( dev-util/google-perftools )
+ lttng? ( dev-util/lttng-ust )
+ ${PYTHON_DEPS}
+ "
+DEPEND="${COMMON_DEPEND}
+ dev-python/cython[${PYTHON_USEDEP}]
+ app-arch/cpio
+ sys-apps/lsb-release
+ virtual/pkgconfig
+ dev-python/sphinx
+ test? (
+ sys-fs/btrfs-progs
+ sys-apps/grep[pcre]
+ dev-python/tox[${PYTHON_USEDEP}]
+ dev-python/virtualenv[${PYTHON_USEDEP}]
+ )"
+RDEPEND="${COMMON_DEPEND}
+ sys-apps/hdparm
+ sys-block/parted
+ sys-fs/cryptsetup
+ sys-apps/gptfdisk
+ dev-python/flask[${PYTHON_USEDEP}]
+ dev-python/requests[${PYTHON_USEDEP}]
+ "
+REQUIRED_USE="
+ $(python_gen_useflags 'python2*')
+ ${PYTHON_REQUIRED_USE}
+ ^^ ( nss cryptopp )
+ ?? ( jemalloc tcmalloc )
+ "
+
+# work around bug in ceph compilation (rgw/ceph_dencoder-rgw_dencoder.o... undefined reference to `vtable for RGWZoneGroup')
+REQUIRED_USE+=" radosgw"
+
+RESTRICT="test? ( userpriv )"
+
+# distribution tarball does not include everything needed for tests
+RESTRICT+=" test"
+
+STRIP_MASK="/usr/lib*/rados-classes/*"
+
+UNBUNDLE_LIBS=(
+ src/erasure-code/jerasure/jerasure
+ src/erasure-code/jerasure/gf-complete
+)
+
+PATCHES=(
+ "${FILESDIR}/ceph-10.2.0-dont-use-virtualenvs.patch"
+ #"${FILESDIR}/ceph-10.2.1-unbundle-jerasure.patch"
+ "${FILESDIR}/${PN}-10.2.1-libzfs.patch"
+ "${FILESDIR}/${PN}-10.2.1-armv7l-doesnt-support-momit-leaf-frame-pointer.patch"
+ "${FILESDIR}/${PN}-CVE-2016-5009.patch"
+)
+
+check-reqs_export_vars() {
+ if use debug; then
+ CHECKREQS_DISK_BUILD="23G"
+ CHECKREQS_DISK_USR="7G"
+ elif use amd64; then
+ CHECKREQS_DISK_BUILD="12G"
+ CHECKREQS_DISK_USR="450M"
+ else
+ CHECKREQS_DISK_BUILD="1400M"
+ CHECKREQS_DISK_USR="450M"
+ fi
+
+ export CHECKREQS_DISK_BUILD CHECKREQS_DISK_USR
+}
+
+user_setup() {
+ enewgroup ceph
+ enewuser ceph -1 -1 /var/lib/ceph ceph
+}
+
+emake_python_bindings() {
+ local action="${1}" params binding
+ shift
+ params=("${@}")
+
+ __emake_python_bindings_do_impl() {
+ emake "${params[@]}" PYTHON="${EPYTHON}" "${binding}-pybind-${action}"
+
+ # these don't work and aren't needed on python3
+ if [[ ${EBUILD_PHASE} == install ]] && python_is_python3; then
+ rm -f "${ED}/$(python_get_sitedir)"/ceph_{argparse,volume_client}.py
+ fi
+ }
+
+ pushd "${S}/src"
+ for binding in rados rbd $(use cephfs && echo cephfs); do
+ python_foreach_impl __emake_python_bindings_do_impl
+ done
+ popd
+
+ unset __emake_python_bindings_do_impl
+}
+
+pkg_pretend() {
+ check-reqs_export_vars
+ check-reqs_pkg_pretend
+}
+
+pkg_setup() {
+ python_setup
+ check-reqs_export_vars
+ check-reqs_pkg_setup
+ user_setup
+}
+
+src_prepare() {
+ default
+
+ # remove tests that need root access
+ rm src/test/cli/ceph-authtool/cap*.t
+
+ #rm -rf "${UNBUNDLE_LIBS[@]}"
+
+ append-flags -fPIC
+ eautoreconf
+}
+
+src_configure() {
+ local myeconfargs=(
+ --without-hadoop
+ --includedir=/usr/include
+ $(use_with cephfs)
+ $(use_with debug)
+ $(use_with fuse)
+ $(use_with libaio)
+ $(use_with libatomic libatomic-ops)
+ $(use_with nss)
+ $(use_with cryptopp)
+ $(use_with radosgw)
+ $(use_with gtk gtk2)
+ $(use_enable static-libs static)
+ $(use_with jemalloc)
+ $(use_with xfs libxfs)
+ $(use_with zfs libzfs)
+ $(use_with lttng )
+ $(use_with babeltrace)
+ $(use_with ldap openldap)
+ $(use jemalloc || usex tcmalloc " --with-tcmalloc" " --with-tcmalloc-minimal")
+ --with-mon
+ --with-eventfd
+ --with-cython
+ --without-kinetic
+ --without-librocksdb
+ --with-systemdsystemunitdir="$(systemd_get_systemunitdir)"
+ )
+
+ # we can only use python2.7 for building at the moment
+ python_export python2.7 PYTHON EPYTHON
+ econf "${myeconfargs[@]}"
+}
+
+src_compile() {
+ emake
+ emake_python_bindings all
+
+ use test && emake check-local
+}
+
+src_test() {
+ make check || die "make check failed"
+}
+
+src_install() {
+ default
+ emake_python_bindings install-exec "DESTDIR=\"${D}\""
+
+ prune_libtool_files --all
+
+ exeinto /usr/$(get_libdir)/ceph
+ newexe src/init-ceph ceph_init.sh
+
+ insinto /etc/logrotate.d/
+ newins "${FILESDIR}"/ceph.logrotate ${PN}
+
+ keepdir /var/lib/${PN}{,/tmp} /var/log/${PN}/stat
+
+ fowners ceph:ceph /var/lib/ceph
+
+ newinitd "${FILESDIR}/rbdmap.initd" rbdmap
+ newinitd "${FILESDIR}/${PN}.initd-r2" ${PN}
+ newconfd "${FILESDIR}/${PN}.confd-r1" ${PN}
+
+ systemd_install_serviced "${FILESDIR}/ceph-mds_at.service.conf" "ceph-mds@.service"
+ systemd_install_serviced "${FILESDIR}/ceph-osd_at.service.conf" "ceph-osd@.service"
+ systemd_install_serviced "${FILESDIR}/ceph-mon_at.service.conf" "ceph-mon@.service"
+
+ python_fix_shebang "${ED}"/usr/{,s}bin/
+
+ udev_dorules udev/*.rules
+
+ readme.gentoo_create_doc
+}
+
+pkg_postinst() {
+ readme.gentoo_print_elog
+}
diff --git a/sys-cluster/ceph/ceph-9.2.1-r2.ebuild b/sys-cluster/ceph/ceph-9.2.1-r2.ebuild
new file mode 100644
index 0000000..494094e
--- /dev/null
+++ b/sys-cluster/ceph/ceph-9.2.1-r2.ebuild
@@ -0,0 +1,193 @@
+# Copyright 1999-2016 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 )
+
+if [[ $PV = *9999* ]]; then
+ scm_eclass=git-r3
+ EGIT_REPO_URI="
+ git://github.com/ceph/ceph.git
+ https://github.com/ceph/ceph.git"
+ SRC_URI=""
+else
+ SRC_URI="http://ceph.com/download/${P}.tar.gz"
+fi
+KEYWORDS="~amd64 ~arm ~ppc ~ppc64 ~x86"
+
+inherit check-reqs autotools eutils multilib python-single-r1 udev user readme.gentoo systemd versionator ${scm_eclass}
+
+DESCRIPTION="Ceph distributed filesystem"
+HOMEPAGE="http://ceph.com/"
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+IUSE="babeltrace cryptopp debug fuse gtk libatomic +libaio lttng +nss radosgw static-libs jemalloc tcmalloc xfs zfs"
+
+COMMON_DEPEND="
+ app-arch/snappy
+ dev-libs/boost:=[threads]
+ dev-libs/fcgi
+ dev-libs/libaio
+ dev-libs/libedit
+ dev-libs/leveldb[snappy]
+ nss? ( dev-libs/nss )
+ cryptopp? ( dev-libs/crypto++ )
+ sys-apps/keyutils
+ sys-apps/util-linux
+ dev-libs/libxml2
+ babeltrace? ( dev-util/babeltrace )
+ fuse? ( sys-fs/fuse )
+ libatomic? ( dev-libs/libatomic_ops )
+ xfs? ( sys-fs/xfsprogs )
+ zfs? ( sys-fs/zfs )
+ gtk? (
+ x11-libs/gtk+:2
+ dev-cpp/gtkmm:2.4
+ gnome-base/librsvg
+ )
+ radosgw? (
+ dev-libs/fcgi
+ dev-libs/expat
+ net-misc/curl
+ )
+ jemalloc? ( dev-libs/jemalloc )
+ !jemalloc? ( dev-util/google-perftools )
+ lttng? ( dev-util/lttng-ust )
+ ${PYTHON_DEPS}
+ "
+DEPEND="${COMMON_DEPEND}
+ virtual/pkgconfig"
+RDEPEND="${COMMON_DEPEND}
+ sys-apps/hdparm
+ dev-python/flask[${PYTHON_USEDEP}]
+ dev-python/requests[${PYTHON_USEDEP}]
+ "
+REQUIRED_USE="
+ ${PYTHON_REQUIRED_USE}
+ ^^ ( nss cryptopp )
+ ?? ( jemalloc tcmalloc )
+ "
+
+STRIP_MASK="/usr/lib*/rados-classes/*"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-0.79-libzfs.patch
+ "${FILESDIR}"/${P}-libxfs.patch
+)
+
+check-reqs_export_vars() {
+ # check-reqs does not support use flags, and there is a lot of variability
+ # in Ceph.
+ # 16G /var/tmp/portage/sys-cluster/ceph-9999-r1/work/ceph-9999
+ # 6.7G /var/tmp/portage/sys-cluster/ceph-9999-r1/image/usr
+ # 23G /var/tmp/portage/sys-cluster/ceph-9999-r1
+ # Size requirements tested for Hammer & Jewel releases
+ if use debug; then
+ export CHECKREQS_DISK_BUILD="23G"
+ export CHECKREQS_DISK_USR="7G"
+ else
+ export CHECKREQS_DISK_BUILD="9G"
+ export CHECKREQS_DISK_USR="450M"
+ fi
+
+ export CHECKREQS_MEMORY="7G"
+}
+
+user_setup() {
+ enewgroup ceph
+ enewuser ceph -1 -1 /var/lib/ceph ceph
+}
+
+pkg_setup() {
+ python_setup
+ check-reqs_export_vars
+ check-reqs_pkg_setup
+ user_setup
+}
+
+src_prepare() {
+ [[ ${PATCHES[@]} ]] && epatch "${PATCHES[@]}"
+
+ epatch_user
+ eautoreconf
+}
+
+pkg_pretend() {
+ check-reqs_export_vars
+ check-reqs_pkg_pretend
+}
+
+src_configure() {
+ local myeconfargs=(
+ --without-hadoop
+ --docdir="${EPREFIX}/usr/share/doc/${PF}"
+ --includedir=/usr/include
+ $(use_with debug)
+ $(use_with fuse)
+ $(use_with libaio)
+ $(use_with libatomic libatomic-ops)
+ $(use_with nss)
+ $(use_with cryptopp)
+ $(use_with radosgw)
+ $(use_with gtk gtk2)
+ $(use_enable static-libs static)
+ $(use_with jemalloc)
+ $(use_with xfs libxfs)
+ $(use_with zfs libzfs)
+ $(use_with lttng )
+ $(use_with babeltrace)
+ --without-kinetic
+ --without-librocksdb
+ --with-systemdsystemunitdir="$(systemd_get_systemunitdir)"
+ )
+
+ use jemalloc || \
+ myeconfargs+=( $(usex tcmalloc " --with-tcmalloc" " --with-tcmalloc-minimal") )
+
+ PYTHON="${EPYTHON}" \
+ econf "${myeconfargs[@]}"
+}
+
+src_install() {
+ default
+
+ prune_libtool_files --all
+
+ exeinto /usr/$(get_libdir)/ceph
+ newexe src/init-ceph ceph_init.sh
+
+ insinto /etc/logrotate.d/
+ newins "${FILESDIR}"/ceph.logrotate ${PN}
+
+ chmod 644 "${ED}"/usr/share/doc/${PF}/sample.*
+
+ keepdir /var/lib/${PN}
+ keepdir /var/lib/${PN}/tmp
+ keepdir /var/log/${PN}/stat
+
+ fowners ceph:ceph /var/lib/ceph
+
+ newinitd "${FILESDIR}/rbdmap.initd" rbdmap
+ newinitd "${FILESDIR}/${PN}.initd-r2" ${PN}
+ newconfd "${FILESDIR}/${PN}.confd-r1" ${PN}
+
+ systemd_install_serviced "${FILESDIR}/ceph-mds_at.service.conf" "ceph-mds@.service"
+ systemd_install_serviced "${FILESDIR}/ceph-osd_at.service.conf" "ceph-osd@.service"
+ systemd_install_serviced "${FILESDIR}/ceph-mon_at.service.conf" "ceph-mon@.service"
+
+ python_fix_shebang \
+ "${ED}"/usr/sbin/{ceph-disk,ceph-create-keys} \
+ "${ED}"/usr/bin/{ceph,ceph-rest-api,ceph-detect-init,ceph-brag}
+
+ #install udev rules
+ udev_dorules udev/50-rbd.rules
+ udev_dorules udev/95-ceph-osd.rules
+
+ readme.gentoo_create_doc
+}
+
+pkg_postinst() {
+ readme.gentoo_print_elog
+}
diff --git a/sys-cluster/ceph/files/ceph-CVE-2016-5009.patch b/sys-cluster/ceph/files/ceph-CVE-2016-5009.patch
new file mode 100644
index 0000000..1528dad
--- /dev/null
+++ b/sys-cluster/ceph/files/ceph-CVE-2016-5009.patch
@@ -0,0 +1,87 @@
+diff --git a/src/mon/Monitor.cc b/src/mon/Monitor.cc
+index 10c8bfc..98843d7 100644
+--- a/src/mon/Monitor.cc
++++ b/src/mon/Monitor.cc
+@@ -2631,7 +2631,19 @@ void Monitor::handle_command(MonOpRequestRef op)
+ return;
+ }
+
+- cmd_getval(g_ceph_context, cmdmap, "prefix", prefix);
++ // check return value. If no prefix parameter provided,
++ // return value will be false, then return error info.
++ if(!cmd_getval(g_ceph_context, cmdmap, "prefix", prefix)) {
++ reply_command(op, -EINVAL, "command prefix not found", 0);
++ return;
++ }
++
++ // check prefix is empty
++ if (prefix.empty()) {
++ reply_command(op, -EINVAL, "command prefix must not be empty", 0);
++ return;
++ }
++
+ if (prefix == "get_command_descriptions") {
+ bufferlist rdata;
+ Formatter *f = Formatter::create("json");
+@@ -2652,6 +2664,15 @@ void Monitor::handle_command(MonOpRequestRef op)
+ boost::scoped_ptr<Formatter> f(Formatter::create(format));
+
+ get_str_vec(prefix, fullcmd);
++
++ // make sure fullcmd is not empty.
++ // invalid prefix will cause empty vector fullcmd.
++ // such as, prefix=";,,;"
++ if (fullcmd.empty()) {
++ reply_command(op, -EINVAL, "command requires a prefix to be valid", 0);
++ return;
++ }
++
+ module = fullcmd[0];
+
+ // validate command is in leader map
+diff --git a/src/test/librados/cmd.cc b/src/test/librados/cmd.cc
+index 9261fb5..878a8af 100644
+--- a/src/test/librados/cmd.cc
++++ b/src/test/librados/cmd.cc
+@@ -48,6 +48,41 @@ TEST(LibRadosCmd, MonDescribe) {
+ rados_buffer_free(buf);
+ rados_buffer_free(st);
+
++ cmd[0] = (char *)"";
++ ASSERT_EQ(-EINVAL, rados_mon_command(cluster, (const char **)cmd, 1, "{}", 2, &buf, &buflen, &st, &stlen));
++ rados_buffer_free(buf);
++ rados_buffer_free(st);
++
++ cmd[0] = (char *)"{}";
++ ASSERT_EQ(-EINVAL, rados_mon_command(cluster, (const char **)cmd, 1, "", 0, &buf, &buflen, &st, &stlen));
++ rados_buffer_free(buf);
++ rados_buffer_free(st);
++
++ cmd[0] = (char *)"{\"abc\":\"something\"}";
++ ASSERT_EQ(-EINVAL, rados_mon_command(cluster, (const char **)cmd, 1, "", 0, &buf, &buflen, &st, &stlen));
++ rados_buffer_free(buf);
++ rados_buffer_free(st);
++
++ cmd[0] = (char *)"{\"prefix\":\"\"}";
++ ASSERT_EQ(-EINVAL, rados_mon_command(cluster, (const char **)cmd, 1, "", 0, &buf, &buflen, &st, &stlen));
++ rados_buffer_free(buf);
++ rados_buffer_free(st);
++
++ cmd[0] = (char *)"{\"prefix\":\" \"}";
++ ASSERT_EQ(-EINVAL, rados_mon_command(cluster, (const char **)cmd, 1, "", 0, &buf, &buflen, &st, &stlen));
++ rados_buffer_free(buf);
++ rados_buffer_free(st);
++
++ cmd[0] = (char *)"{\"prefix\":\";;;,,,;;,,\"}";
++ ASSERT_EQ(-EINVAL, rados_mon_command(cluster, (const char **)cmd, 1, "", 0, &buf, &buflen, &st, &stlen));
++ rados_buffer_free(buf);
++ rados_buffer_free(st);
++
++ cmd[0] = (char *)"{\"prefix\":\"extra command\"}";
++ ASSERT_EQ(-EINVAL, rados_mon_command(cluster, (const char **)cmd, 1, "", 0, &buf, &buflen, &st, &stlen));
++ rados_buffer_free(buf);
++ rados_buffer_free(st);
++
+ cmd[0] = (char *)"{\"prefix\":\"mon_status\"}";
+ ASSERT_EQ(0, rados_mon_command(cluster, (const char **)cmd, 1, "", 0, &buf, &buflen, &st, &stlen));
+ ASSERT_LT(0u, buflen);
^ permalink raw reply related [flat|nested] 68+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-cluster/ceph/, sys-cluster/ceph/files/
@ 2016-06-07 6:45 Yixun Lan
0 siblings, 0 replies; 68+ messages in thread
From: Yixun Lan @ 2016-06-07 6:45 UTC (permalink / raw
To: gentoo-commits
commit: afb63b906bf1cba90a8f9d4a651174ad973ee422
Author: Yixun Lan <dlan <AT> gentoo <DOT> org>
AuthorDate: Tue Jun 7 06:42:45 2016 +0000
Commit: Yixun Lan <dlan <AT> gentoo <DOT> org>
CommitDate: Tue Jun 7 06:44:36 2016 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=afb63b90
sys-cluster/ceph: correct zfs PKG_CONFIG's variable
Gentoo-Bug: 585050
Package-Manager: portage-2.3.0_rc1
sys-cluster/ceph/ceph-10.2.1.ebuild | 3 ++-
sys-cluster/ceph/files/ceph-10.2.1-libzfs.patch | 11 +++++++++++
2 files changed, 13 insertions(+), 1 deletion(-)
diff --git a/sys-cluster/ceph/ceph-10.2.1.ebuild b/sys-cluster/ceph/ceph-10.2.1.ebuild
index ab79bf3..1ab15d9 100644
--- a/sys-cluster/ceph/ceph-10.2.1.ebuild
+++ b/sys-cluster/ceph/ceph-10.2.1.ebuild
@@ -111,7 +111,8 @@ UNBUNDLE_LIBS=(
PATCHES=(
"${FILESDIR}/ceph-10.2.0-dont-use-virtualenvs.patch"
#"${FILESDIR}/ceph-10.2.1-unbundle-jerasure.patch"
- "${FILESDIR}/ceph-10.2.1-armv7l-doesnt-support-momit-leaf-frame-pointer.patch"
+ "${FILESDIR}/${P}-libzfs.patch"
+ "${FILESDIR}/${P}-armv7l-doesnt-support-momit-leaf-frame-pointer.patch"
)
check-reqs_export_vars() {
diff --git a/sys-cluster/ceph/files/ceph-10.2.1-libzfs.patch b/sys-cluster/ceph/files/ceph-10.2.1-libzfs.patch
new file mode 100644
index 0000000..34f8eb8
--- /dev/null
+++ b/sys-cluster/ceph/files/ceph-10.2.1-libzfs.patch
@@ -0,0 +1,11 @@
+--- ceph-10.2.1/configure.ac
++++ ceph-10.2.1/configure.ac
+@@ -908,7 +908,7 @@
+ ,
+ [with_libzfs=no])
+ AS_IF([test "x$with_libzfs" = xyes],
+- [PKG_CHECK_MODULES([LIBZFS], [zfs], [], [true])])
++ [PKG_CHECK_MODULES([LIBZFS], [libzfs], [], [true])])
+ AS_IF([test "x$with_libzfs" = xyes],
+ [AC_DEFINE([HAVE_LIBZFS], [1], [Defined if you have libzfs enabled])])
+ AM_CONDITIONAL(WITH_LIBZFS, [ test "$with_libzfs" = "yes" ])
^ permalink raw reply related [flat|nested] 68+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-cluster/ceph/, sys-cluster/ceph/files/
@ 2016-05-12 21:05 Patrick McLean
0 siblings, 0 replies; 68+ messages in thread
From: Patrick McLean @ 2016-05-12 21:05 UTC (permalink / raw
To: gentoo-commits
commit: cdc8feb0f3590c62ac103efdb3f5ba903df8dc52
Author: Patrick McLean <chutzpah <AT> gentoo <DOT> org>
AuthorDate: Thu May 12 21:04:08 2016 +0000
Commit: Patrick McLean <chutzpah <AT> gentoo <DOT> org>
CommitDate: Thu May 12 21:04:08 2016 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=cdc8feb0
sys-cluster/ceph: Revision bump to 0.94.6-r1, don't try to run as "ceph" user
Gentoo-Bug: 577570
Package-Manager: portage-2.2.28
sys-cluster/ceph/ceph-0.94.6-r1.ebuild | 163 +++++++++++++++++++++++++++++++++
sys-cluster/ceph/files/ceph.initd-r1.1 | 39 ++++++++
2 files changed, 202 insertions(+)
diff --git a/sys-cluster/ceph/ceph-0.94.6-r1.ebuild b/sys-cluster/ceph/ceph-0.94.6-r1.ebuild
new file mode 100644
index 0000000..0892f95
--- /dev/null
+++ b/sys-cluster/ceph/ceph-0.94.6-r1.ebuild
@@ -0,0 +1,163 @@
+# Copyright 1999-2016 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 )
+
+if [[ $PV = *9999* ]]; then
+ scm_eclass=git-r3
+ EGIT_REPO_URI="
+ git://github.com/ceph/ceph.git
+ https://github.com/ceph/ceph.git"
+ SRC_URI=""
+else
+ SRC_URI="http://ceph.com/download/${P}.tar.gz"
+fi
+KEYWORDS="~amd64 ~arm ~ppc ~ppc64 ~x86"
+
+inherit check-reqs autotools eutils multilib python-single-r1 udev readme.gentoo-r1 systemd ${scm_eclass}
+
+DESCRIPTION="Ceph distributed filesystem"
+HOMEPAGE="http://ceph.com/"
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+IUSE="babeltrace cryptopp debug fuse gtk libatomic +libaio lttng +nss radosgw static-libs jemalloc python tcmalloc xfs zfs"
+
+COMMON_DEPEND="
+ app-arch/snappy
+ dev-libs/boost:=[threads]
+ dev-libs/fcgi
+ dev-libs/libaio
+ dev-libs/libedit
+ dev-libs/leveldb[snappy]
+ nss? ( dev-libs/nss )
+ cryptopp? ( dev-libs/crypto++ )
+ sys-apps/keyutils
+ sys-apps/util-linux
+ dev-libs/libxml2
+ babeltrace? ( dev-util/babeltrace )
+ fuse? ( sys-fs/fuse )
+ libatomic? ( dev-libs/libatomic_ops )
+ xfs? ( sys-fs/xfsprogs )
+ zfs? ( sys-fs/zfs )
+ gtk? (
+ x11-libs/gtk+:2
+ dev-cpp/gtkmm:2.4
+ gnome-base/librsvg
+ )
+ radosgw? (
+ dev-libs/fcgi
+ dev-libs/expat
+ net-misc/curl
+ )
+ jemalloc? ( dev-libs/jemalloc )
+ !jemalloc? ( dev-util/google-perftools )
+ lttng? ( dev-util/lttng-ust )
+ ${PYTHON_DEPS}
+ "
+DEPEND="${COMMON_DEPEND}
+ virtual/pkgconfig"
+RDEPEND="${COMMON_DEPEND}
+ sys-apps/hdparm
+ dev-python/flask[${PYTHON_USEDEP}]
+ dev-python/requests[${PYTHON_USEDEP}]
+ "
+REQUIRED_USE="
+ ${PYTHON_REQUIRED_USE}
+ ^^ ( nss cryptopp )
+ ?? ( jemalloc tcmalloc )
+ "
+
+STRIP_MASK="/usr/lib*/rados-classes/*"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-0.79-libzfs.patch
+)
+CHECKREQS_DISK_BUILD="1400M"
+
+pkg_setup() {
+ python_setup
+}
+
+src_prepare() {
+ [[ ${PATCHES[@]} ]] && epatch "${PATCHES[@]}"
+
+ epatch_user
+ eautoreconf
+}
+
+src_configure() {
+ local myeconfargs=(
+ --without-hadoop
+ --docdir="${EPREFIX}/usr/share/doc/${PF}"
+ --includedir=/usr/include
+ $(use_with debug)
+ $(use_with fuse)
+ $(use_with libaio)
+ $(use_with libatomic libatomic-ops)
+ $(use_with nss)
+ $(use_with cryptopp)
+ $(use_with radosgw)
+ $(use_with gtk gtk2)
+ $(use_enable static-libs static)
+ $(use_with jemalloc)
+ $(use_with xfs libxfs)
+ $(use_with zfs libzfs)
+ $(use_with lttng )
+ $(use_with babeltrace)
+ --without-kinetic
+ --without-librocksdb
+ )
+
+ use jemalloc || \
+ myeconfargs+=( $(usex tcmalloc " --with-tcmalloc" " --with-tcmalloc-minimal") )
+
+ PYTHON="${EPYTHON}" \
+ econf "${myeconfargs[@]}"
+}
+
+src_install() {
+ default
+
+ prune_libtool_files --all
+
+ exeinto /usr/$(get_libdir)/ceph
+ newexe src/init-ceph ceph_init.sh
+
+ insinto /etc/logrotate.d/
+ newins "${FILESDIR}"/ceph.logrotate ${PN}
+
+ chmod 644 "${ED}"/usr/share/doc/${PF}/sample.*
+
+ keepdir /var/lib/${PN}
+ keepdir /var/lib/${PN}/tmp
+ keepdir /var/log/${PN}/stat
+
+ newinitd "${FILESDIR}/rbdmap.initd" rbdmap
+ newinitd "${FILESDIR}/${PN}.initd-r1.1" ${PN}
+ newconfd "${FILESDIR}/${PN}.confd-r1" ${PN}
+
+ systemd_dounit "${FILESDIR}/ceph.target"
+ systemd_newunit "${FILESDIR}/ceph-mds_at.service" "ceph-mds@.service"
+ systemd_install_serviced "${FILESDIR}/ceph-mds_at.service.conf" "ceph-mds@.service"
+ systemd_newunit "${FILESDIR}/ceph-osd_at.service" "ceph-osd@.service"
+ systemd_install_serviced "${FILESDIR}/ceph-osd_at.service.conf" "ceph-osd@.service"
+ systemd_newunit "${FILESDIR}/ceph-mon_at.service" "ceph-mon@.service"
+ systemd_install_serviced "${FILESDIR}/ceph-mon_at.service.conf" "ceph-mon@.service"
+
+ python_fix_shebang \
+ "${ED}"/usr/sbin/{ceph-disk,ceph-create-keys} \
+ "${ED}"/usr/bin/{ceph,ceph-rest-api}
+
+ #install udev rules
+ udev_dorules udev/50-rbd.rules
+ udev_dorules udev/95-ceph-osd.rules
+
+ readme.gentoo_create_doc
+}
+
+pkg_postinst() {
+ readme.gentoo_print_elog
+}
diff --git a/sys-cluster/ceph/files/ceph.initd-r1.1 b/sys-cluster/ceph/files/ceph.initd-r1.1
new file mode 100644
index 0000000..bb60325
--- /dev/null
+++ b/sys-cluster/ceph/files/ceph.initd-r1.1
@@ -0,0 +1,39 @@
+#!/sbin/openrc-run
+
+ceph_conf="${ceph_conf:-/etc/ceph/ceph.conf}"
+extra_commands="reload"
+daemon_type="${RC_SVCNAME#ceph-}"
+daemon_type="${daemon_type%.*}"
+daemon_id="${RC_SVCNAME#ceph-*.}"
+daemon_id="${daemon_id:-0}"
+command="/usr/bin/ceph-${daemon_type}"
+pidfile="/run/ceph/${daemon_type}.${daemon_id}.pid"
+command_args="-i ${daemon_id} --pid-file ${pidfile} -c ${ceph_conf}"
+
+depend() {
+ after net ntpd ntp-client chronyd
+ before netmount
+}
+
+is_type_valid() {
+ case ${daemon_type} in
+ mon|mds|osd) return 0;;
+ *) return 1;;
+ esac
+}
+
+start_pre() {
+ checkpath -d -q -o ceph "$(dirname "${pidfile}")"
+ if ! is_type_valid ;then
+ eerror "Please give valid Ceph Server Type: mds, mon, osd"
+ return 1
+ fi
+}
+
+reload() {
+ ebegin "Reloading Ceph ${daemon_type}.${daemon_id}"
+ start-stop-daemon --signal 1 ${start_stop_daemon_args} --pidfile "${pidfile}"
+ eend $?
+}
+
+# vim:ft=gentoo-init-d:ts=4:sts=4:sw=4:noet:
^ permalink raw reply related [flat|nested] 68+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-cluster/ceph/, sys-cluster/ceph/files/
@ 2016-05-12 18:56 Patrick McLean
0 siblings, 0 replies; 68+ messages in thread
From: Patrick McLean @ 2016-05-12 18:56 UTC (permalink / raw
To: gentoo-commits
commit: 02e633365fd994d9601fc84ddd742a6b20742e1e
Author: Patrick McLean <chutzpah <AT> gentoo <DOT> org>
AuthorDate: Thu May 12 18:55:55 2016 +0000
Commit: Patrick McLean <chutzpah <AT> gentoo <DOT> org>
CommitDate: Thu May 12 18:55:55 2016 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=02e63336
sys-cluster/ceph: Version bump to 10.2.0 (bug #580878)
This also adds a new init script that is written in POSIX shell (bug #581358)
Gentoo-Bug: 580878
Package-Manager: portage-2.2.28
sys-cluster/ceph/Manifest | 1 +
sys-cluster/ceph/ceph-10.2.0.ebuild | 250 +++++++++++++++++++++
.../files/ceph-10.2.0-dont-use-virtualenvs.patch | 95 ++++++++
sys-cluster/ceph/files/ceph.initd-r2 | 40 ++++
sys-cluster/ceph/metadata.xml | 1 +
5 files changed, 387 insertions(+)
diff --git a/sys-cluster/ceph/Manifest b/sys-cluster/ceph/Manifest
index 8129c0d..0387562 100644
--- a/sys-cluster/ceph/Manifest
+++ b/sys-cluster/ceph/Manifest
@@ -3,5 +3,6 @@ DIST ceph-0.94.5.tar.bz2 7084809 SHA256 7658bec8cf6e6c8f5ceb1e85116c4df2582c497a
DIST ceph-0.94.6.tar.gz 9131464 SHA256 d2e65e21bdecdfa1fffb2661e9be2d5382bd975a0eb8296df0e96bacc11c251f SHA512 4920857d7493769929754877e3f255cc816400757b014b0c075d65ce9c83c47a86725540fa012eb95f9c6395a477945d3a46322f3055f05345298858fec53997 WHIRLPOOL cb1a230dc1f07903b3712d9d23df718b12df219255b680737d3a746e9cbeee0d0c3ddb21da6dad1e31fb4d77aa9b3283e2dbd6e59ca38146db2ae91c5e7d4229
DIST ceph-10.0.0.tar.gz 10429823 SHA256 fd92052e0de135e1f35ea2add44b5b8add28a2a8235639d69c33cced06a4a357 SHA512 f0e36bf83c97d1dc0328fbba96897e583c6d29b11dc54ea7fa0186ffaa1cf4d26519f336083825d64dda70bd290dc45bd6f3f17ff67ada33322caee5f2f3ce07 WHIRLPOOL f443ab25ab8f89455d76f509f215b55519f9338d3b9daec318b097de4dffff7009a01521da0d963c4b5549485b6aebca1c0a705746cf2e64fef8e9f5e66676cf
DIST ceph-10.0.2.tar.gz 10674888 SHA256 b62a906c3e7fa36d612077d2400a048a6a8c5beebd5763d550c3c8ca1506db37 SHA512 d7ee38d1ceb8f4593c2cbaf6fb87a51abd484793969d6b1aa7b396e49b115e4b939216b4df9f50add40621e78aff33bae91980615b428039ed64e26aaf05a80d WHIRLPOOL 1a6a35cb73b5afe979ddb1b9612b26a02cae48103701dee6a96ee4d1f88e3e75bebf13de299c3787379559a9ab17ed5547cf8cbbbbce7db279aa86f1aa41e1fd
+DIST ceph-10.2.0.tar.gz 11667920 SHA256 1a39d919beccaa26ddfbaeac04eebb80f4d43946a59a18e2e25a9a805d5b262d SHA512 1277f08aa7f8e30d962e455d611ff21667334c27012b7a4c2e22faf0e03c0f3e3278c561ce7ea7548d065c26824e8d212b01303201d0749648b741d2a4eb0125 WHIRLPOOL 3d6e85888f74b629f67107199c4c5de5dffc2f7bdb639a24aaea8cce447710996281685623f667b95786b5218ec586ea1c0b497237ff344b857eb6cbffc28713
DIST ceph-9.2.0.tar.bz2 7663088 SHA256 706d33e097b4489a75cfaff8d835e05d91df6dac5cdd3a32a57404f0522dbdbb SHA512 d462f2e4696873552b232f0b89bcda8ddb0cddeab89cbab58e99eb068acb082a42cb558898bd4dee66239df64d15992cfd1c1158217b2ce60a465e1761bcea78 WHIRLPOOL d016b873a26afef4816921e5b9cbaae3ba4c9ece6683e3d60b1f689ab7dcc285bc386963e83b410a66a313cc953b7d0d9baa427b3b3eb12697daa08f3a5a6a18
DIST ceph-9.2.1.tar.gz 9933444 SHA256 1918dfc3df80df5986c5b7ff6bc6c78064eef0f6c5e8269dba30e08c703a7c2f SHA512 1e84c1e2d64f4156a523658ed11552b045f75986922b7b7dbaf4719e73a0a6aadc71eb2b94ae363526f729534a592921a437468a41a3cea88c1b84e09de8505a WHIRLPOOL 3a0eb6712e5b0235707e86129e1d66f1184f50cd4980c30f6d8cc0e7dfd96d30b91177ed16dd7abf2ad4983c6a543eb91915f74f661f7d3e3c810b5b1d656aca
diff --git a/sys-cluster/ceph/ceph-10.2.0.ebuild b/sys-cluster/ceph/ceph-10.2.0.ebuild
new file mode 100644
index 0000000..34a1ae6
--- /dev/null
+++ b/sys-cluster/ceph/ceph-10.2.0.ebuild
@@ -0,0 +1,250 @@
+# Copyright 1999-2016 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=6
+PYTHON_COMPAT=( python{2_7,3_{4,5}} )
+
+inherit check-reqs autotools eutils python-r1 udev user \
+ readme.gentoo-r1 systemd versionator flag-o-matic
+
+if [[ ${PV} == *9999* ]]; then
+ inherit git-r3
+ EGIT_REPO_URI="
+ git://github.com/ceph/ceph.git
+ https://github.com/ceph/ceph.git"
+ SRC_URI=""
+else
+ SRC_URI="http://ceph.com/download/${P}.tar.gz"
+ KEYWORDS="~amd64 ~arm ~ppc ~ppc64 ~x86"
+fi
+
+DESCRIPTION="Ceph distributed filesystem"
+HOMEPAGE="http://ceph.com/"
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+
+IUSE="babeltrace cephfs cryptopp debug fuse gtk jemalloc ldap +libaio"
+IUSE+=" libatomic lttng +nss +radosgw static-libs tcmalloc test xfs zfs"
+
+COMMON_DEPEND="
+ app-arch/snappy
+ dev-libs/boost:=[threads]
+ dev-libs/fcgi
+ dev-libs/libaio
+ dev-libs/libedit
+ dev-python/sphinx[$(python_gen_usedep 'python2*')]
+ dev-libs/leveldb[snappy]
+ nss? ( dev-libs/nss )
+ libatomic? ( dev-libs/libatomic_ops )
+ cryptopp? ( dev-libs/crypto++ )
+ sys-apps/keyutils
+ sys-apps/util-linux
+ dev-libs/libxml2
+ ldap? ( net-nds/openldap )
+ babeltrace? ( dev-util/babeltrace )
+ fuse? ( sys-fs/fuse )
+ xfs? ( sys-fs/xfsprogs )
+ zfs? ( sys-fs/zfs )
+ gtk? (
+ x11-libs/gtk+:2
+ dev-cpp/gtkmm:2.4
+ gnome-base/librsvg
+ )
+ radosgw? (
+ dev-libs/fcgi
+ dev-libs/expat
+ net-misc/curl
+ )
+ jemalloc? ( dev-libs/jemalloc )
+ !jemalloc? ( dev-util/google-perftools )
+ lttng? ( dev-util/lttng-ust )
+ ${PYTHON_DEPS}
+ "
+DEPEND="${COMMON_DEPEND}
+ dev-python/cython[${PYTHON_USEDEP}]
+ app-arch/cpio
+ sys-apps/lsb-release
+ virtual/pkgconfig
+ test? (
+ sys-fs/btrfs-progs
+ sys-apps/grep[pcre]
+ dev-python/tox[${PYTHON_USEDEP}]
+ dev-python/virtualenv[${PYTHON_USEDEP}]
+ )"
+RDEPEND="${COMMON_DEPEND}
+ sys-apps/which
+ sys-apps/hdparm
+ sys-block/parted
+ sys-fs/cryptsetup
+ sys-apps/gptfdisk
+ sys-apps/findutils
+ dev-python/flask[${PYTHON_USEDEP}]
+ dev-python/requests[${PYTHON_USEDEP}]
+ "
+REQUIRED_USE="
+ $(python_gen_useflags 'python2*')
+ ${PYTHON_REQUIRED_USE}
+ ^^ ( nss cryptopp )
+ ?? ( jemalloc tcmalloc )
+ "
+
+# work around bug in ceph compilation (rgw/ceph_dencoder-rgw_dencoder.o... undefined reference to `vtable for RGWZoneGroup')
+REQUIRED_USE+=" radosgw"
+
+RESTRICT="test? ( userpriv )"
+
+# distribution tarball does not include everything needed for tests
+RESTRICT+=" test"
+
+STRIP_MASK="/usr/lib*/rados-classes/*"
+
+PATCHES=(
+ "${FILESDIR}/ceph-10.2.0-dont-use-virtualenvs.patch"
+)
+
+check-reqs_export_vars() {
+ if use debug; then
+ CHECKREQS_DISK_BUILD="23G"
+ CHECKREQS_DISK_USR="7G"
+ elif use amd64; then
+ CHECKREQS_DISK_BUILD="12G"
+ CHECKREQS_DISK_USR="450M"
+ else
+ CHECKREQS_DISK_BUILD="1400M"
+ CHECKREQS_DISK_USR="450M"
+ fi
+
+ export CHECKREQS_DISK_BUILD CHECKREQS_DISK_USR
+}
+
+user_setup() {
+ enewgroup ceph
+ enewuser ceph -1 -1 /var/lib/ceph ceph
+}
+
+emake_python_bindings() {
+ local action="${1}" params binding
+ shift
+ params=("${@}")
+
+ __emake_python_bindings_do_impl() {
+ emake "${params[@]}" PYTHON="${EPYTHON}" "${binding}-pybind-${action}"
+
+ # these don't work and aren't needed on python3
+ if [[ ${EBUILD_PHASE} == install ]] && python_is_python3; then
+ rm -f "${ED}/$(python_get_sitedir)"/ceph_{argparse,volume_client}.py
+ fi
+ }
+
+ pushd "${S}/src"
+ for binding in rados rbd $(use cephfs && echo cephfs); do
+ python_foreach_impl __emake_python_bindings_do_impl
+ done
+ popd
+
+ unset __emake_python_bindings_do_impl
+}
+
+pkg_pretend() {
+ check-reqs_export_vars
+ check-reqs_pkg_pretend
+}
+
+pkg_setup() {
+ python_setup
+ check-reqs_export_vars
+ check-reqs_pkg_setup
+ user_setup
+}
+
+src_prepare() {
+ default
+
+ # remove tests that need root access
+ rm src/test/cli/ceph-authtool/cap*.t
+
+ append-flags -fPIC
+ eautoreconf
+}
+
+src_configure() {
+ local myeconfargs=(
+ --without-hadoop
+ --includedir=/usr/include
+ $(use_with cephfs)
+ $(use_with debug)
+ $(use_with fuse)
+ $(use_with libaio)
+ $(use_with libatomic libatomic-ops)
+ $(use_with nss)
+ $(use_with cryptopp)
+ $(use_with radosgw)
+ $(use_with gtk gtk2)
+ $(use_enable static-libs static)
+ $(use_with jemalloc)
+ $(use_with xfs libxfs)
+ $(use_with zfs libzfs)
+ $(use_with lttng )
+ $(use_with babeltrace)
+ $(use_with ldap openldap)
+ $(use jemalloc || usex tcmalloc " --with-tcmalloc" " --with-tcmalloc-minimal")
+ --with-mon
+ --with-eventfd
+ --with-cython
+ --without-kinetic
+ --without-librocksdb
+ --with-systemdsystemunitdir="$(systemd_get_systemunitdir)"
+ )
+
+ # we can only use python2.7 for building at the moment
+ python_export python2.7 PYTHON EPYTHON
+ econf "${myeconfargs[@]}"
+}
+
+src_compile() {
+ emake
+ emake_python_bindings all
+
+ use test && emake check-local
+}
+
+src_test() {
+ make check || die "make check failed"
+}
+
+src_install() {
+ default
+ emake_python_bindings install-exec "DESTDIR=\"${D}\""
+
+ prune_libtool_files --all
+
+ exeinto /usr/$(get_libdir)/ceph
+ newexe src/init-ceph ceph_init.sh
+
+ insinto /etc/logrotate.d/
+ newins "${FILESDIR}"/ceph.logrotate ${PN}
+
+ keepdir /var/lib/${PN}{,/tmp} /var/log/${PN}/stat
+
+ fowners ceph:ceph /var/lib/ceph
+
+ newinitd "${FILESDIR}/rbdmap.initd" rbdmap
+ newinitd "${FILESDIR}/${PN}.initd-r2" ${PN}
+ newconfd "${FILESDIR}/${PN}.confd-r1" ${PN}
+
+ systemd_install_serviced "${FILESDIR}/ceph-mds_at.service.conf" "ceph-mds@.service"
+ systemd_install_serviced "${FILESDIR}/ceph-osd_at.service.conf" "ceph-osd@.service"
+ systemd_install_serviced "${FILESDIR}/ceph-mon_at.service.conf" "ceph-mon@.service"
+
+ python_fix_shebang "${ED}"/usr/{,s}bin/
+
+ udev_dorules udev/*.rules
+
+ readme.gentoo_create_doc
+}
+
+pkg_postinst() {
+ readme.gentoo_print_elog
+}
diff --git a/sys-cluster/ceph/files/ceph-10.2.0-dont-use-virtualenvs.patch b/sys-cluster/ceph/files/ceph-10.2.0-dont-use-virtualenvs.patch
new file mode 100644
index 0000000..f362763
--- /dev/null
+++ b/sys-cluster/ceph/files/ceph-10.2.0-dont-use-virtualenvs.patch
@@ -0,0 +1,95 @@
+diff --git a/Makefile.am b/Makefile.am
+index 7734be2..ba33bda 100644
+--- a/Makefile.am
++++ b/Makefile.am
+@@ -79,7 +79,6 @@ clean-local:
+ cd src/gmock && $(MAKE) $(AM_MAKEFLAGS) clean; \
+ fi
+
+- @rm -rf src/test/virtualenv
+ @rm -rf install-deps-*
+
+
+diff --git a/src/Makefile-env.am b/src/Makefile-env.am
+index df225d6..ca030cf 100644
+--- a/src/Makefile-env.am
++++ b/src/Makefile-env.am
+@@ -297,10 +297,6 @@ LIBCIVETWEB_DEPS =
+ DENCODER_SOURCES =
+ DENCODER_DEPS =
+
+-# put virtualenvs in this directory
+-# otherwise it may overflow #! 80 kernel limit
+-# beware that some build environments might not be able to write to /tmp
+ export TMPDIR ?= /tmp
+-export CEPH_BUILD_VIRTUALENV = $(TMPDIR)
+
+ radoslibdir = $(libdir)/rados-classes
+diff --git a/src/ceph-detect-init/Makefile.am b/src/ceph-detect-init/Makefile.am
+index 8ddcb1e..52dd5d5 100644
+--- a/src/ceph-detect-init/Makefile.am
++++ b/src/ceph-detect-init/Makefile.am
+@@ -53,15 +53,10 @@ EXTRA_DIST += \
+ ceph-detect-init/tests/test_all.py \
+ ceph-detect-init/tox.ini
+
+-export CEPH_DETECT_INIT_VIRTUALENV = ${CEPH_BUILD_VIRTUALENV}/ceph-detect-init-virtualenv
+-
+-ceph-detect-init-all: ${CEPH_DETECT_INIT_VIRTUALENV}
+-
+-${CEPH_DETECT_INIT_VIRTUALENV}:
+- cd $(srcdir)/ceph-detect-init ; ../tools/setup-virtualenv.sh ${CEPH_DETECT_INIT_VIRTUALENV} ; test -d wheelhouse && export NO_INDEX=--no-index ; ${CEPH_DETECT_INIT_VIRTUALENV}/bin/pip install $$NO_INDEX --use-wheel --find-links=file://$$(pwd)/wheelhouse -e .
++ceph-detect-init-all:
+
+ ceph-detect-init-clean:
+- cd $(srcdir)/ceph-detect-init ; python setup.py clean ; rm -fr wheelhouse .tox build ${CEPH_DETECT_INIT_VIRTUALENV} .coverage *.egg-info
++ cd $(srcdir)/ceph-detect-init
+
+ ceph-detect-init-install-data:
+ cd $(srcdir)/ceph-detect-init ; \
+diff --git a/src/ceph-disk/Makefile.am b/src/ceph-disk/Makefile.am
+index 9006303..0b35b0f 100644
+--- a/src/ceph-disk/Makefile.am
++++ b/src/ceph-disk/Makefile.am
+@@ -29,15 +29,10 @@ EXTRA_DIST += \
+ ceph-disk/tests/test_main.py \
+ ceph-disk/tox.ini
+
+-export CEPH_DISK_VIRTUALENV = ${CEPH_BUILD_VIRTUALENV}/ceph-disk-virtualenv
+-
+-ceph-disk-all: ${CEPH_DISK_VIRTUALENV}
+-
+-${CEPH_DISK_VIRTUALENV}:
+- cd $(srcdir)/ceph-disk ; ../tools/setup-virtualenv.sh ${CEPH_DISK_VIRTUALENV} ; test -d wheelhouse && export NO_INDEX=--no-index ; ${CEPH_DISK_VIRTUALENV}/bin/pip install $$NO_INDEX --use-wheel --find-links=file://$$(pwd)/wheelhouse -e .
++ceph-disk-all:
+
+ ceph-disk-clean:
+- cd $(srcdir)/ceph-disk ; python setup.py clean ; rm -fr wheelhouse .tox build ${CEPH_DISK_VIRTUALENV} .coverage *.egg-info
++ cd $(srcdir)/ceph-disk
+
+ ceph-disk-install-data:
+ cd $(srcdir)/ceph-disk ; \
+diff --git a/src/tools/Makefile.am b/src/tools/Makefile.am
+index e730850..9569947 100644
+--- a/src/tools/Makefile.am
++++ b/src/tools/Makefile.am
+@@ -45,6 +45,3 @@ noinst_HEADERS += \
+ tools/rados/PoolDump.h \
+ tools/cephfs/DataScan.h \
+ tools/cephfs/RoleSelector.h
+-
+-EXTRA_DIST += \
+- tools/setup-virtualenv.sh
+diff --git a/src/tools/setup-virtualenv.sh b/src/tools/setup-virtualenv.sh
+index 9ff2d26..b6fca0a 100755
+--- a/src/tools/setup-virtualenv.sh
++++ b/src/tools/setup-virtualenv.sh
+@@ -15,6 +15,8 @@
+ # GNU Library Public License for more details.
+ #
+
++exit 0
++
+ DIR=$1
+ rm -fr $DIR
+ mkdir -p $DIR
diff --git a/sys-cluster/ceph/files/ceph.initd-r2 b/sys-cluster/ceph/files/ceph.initd-r2
new file mode 100644
index 0000000..16267c5
--- /dev/null
+++ b/sys-cluster/ceph/files/ceph.initd-r2
@@ -0,0 +1,40 @@
+#!/sbin/openrc-run
+
+ceph_conf="${ceph_conf:-/etc/ceph/ceph.conf}"
+extra_commands="reload"
+daemon_type="${RC_SVCNAME#ceph-}"
+daemon_type="${daemon_type%.*}"
+daemon_id="${RC_SVCNAME#ceph-*.}"
+daemon_id="${daemon_id:-0}"
+command="/usr/bin/ceph-${daemon_type}"
+pidfile="/run/ceph/${daemon_type}.${daemon_id}.pid"
+command_args="-i ${daemon_id} --pid-file ${pidfile} -c ${ceph_conf}"
+start_stop_daemon_args="--user ceph --group ceph"
+
+depend() {
+ after net ntpd ntp-client chronyd
+ before netmount
+}
+
+is_type_valid() {
+ case ${daemon_type} in
+ mon|mds|osd) return 0;;
+ *) return 1;;
+ esac
+}
+
+start_pre() {
+ checkpath -d -q -o ceph "$(dirname "${pidfile}")"
+ if ! is_type_valid ;then
+ eerror "Please give valid Ceph Server Type: mds, mon, osd"
+ return 1
+ fi
+}
+
+reload() {
+ ebegin "Reloading Ceph ${daemon_type}.${daemon_id}"
+ start-stop-daemon --signal 1 ${start_stop_daemon_args} --pidfile "${pidfile}"
+ eend $?
+}
+
+# vim:ft=gentoo-init-d:ts=4:sts=4:sw=4:noet:
diff --git a/sys-cluster/ceph/metadata.xml b/sys-cluster/ceph/metadata.xml
index 7810753..958ea7e 100644
--- a/sys-cluster/ceph/metadata.xml
+++ b/sys-cluster/ceph/metadata.xml
@@ -20,6 +20,7 @@ Ceph is a distributed network file system designed to provide excellent performa
</longdescription>
<use>
<flag name="cryptopp">Use <pkg>dev-libs/crypto++</pkg> for cryptography</flag>
+ <flag name="cephfs">Build support for cephfs, a POSIX compatible filesystem built on top of ceph</flag>
<flag name="fuse">Build fuse client</flag>
<flag name="libatomic">Use libatomic instead of builtin atomic operations</flag>
<flag name="libaio">Use libaio as asynchronous input/output library</flag>
^ permalink raw reply related [flat|nested] 68+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-cluster/ceph/, sys-cluster/ceph/files/
@ 2015-12-21 7:47 Yixun Lan
0 siblings, 0 replies; 68+ messages in thread
From: Yixun Lan @ 2015-12-21 7:47 UTC (permalink / raw
To: gentoo-commits
commit: c93f06ce2ecec595db4759cc11b29d5a1f0164bc
Author: Yixun Lan <dlan <AT> gentoo <DOT> org>
AuthorDate: Mon Dec 21 06:23:04 2015 +0000
Commit: Yixun Lan <dlan <AT> gentoo <DOT> org>
CommitDate: Mon Dec 21 07:45:45 2015 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=c93f06ce
sys-cluster/ceph: bump to 9.2.0
add user/group: ceph
now sys-cluster/ceph run in normal user 'ceph' instead of 'root'
Package-Manager: portage-2.2.26
sys-cluster/ceph/Manifest | 3 +-
sys-cluster/ceph/ceph-0.94.4.ebuild | 159 ---------------------
sys-cluster/ceph/ceph-10.0.0.ebuild | 18 ++-
.../ceph/{ceph-9.0.3.ebuild => ceph-9.2.0.ebuild} | 20 +--
sys-cluster/ceph/ceph-9999.ebuild | 17 ++-
sys-cluster/ceph/files/README.gentoo | 7 +
.../ceph/files/ceph-0.87.1-glibc-2.20.patch | 59 --------
sys-cluster/ceph/files/ceph-fix-gnustack.patch | 22 ---
sys-cluster/ceph/files/ceph-mds_at.service | 12 --
sys-cluster/ceph/files/ceph-mon_at.service | 19 ---
sys-cluster/ceph/files/ceph-osd_at.service | 13 --
sys-cluster/ceph/files/ceph.initd-r1 | 8 +-
12 files changed, 50 insertions(+), 307 deletions(-)
diff --git a/sys-cluster/ceph/Manifest b/sys-cluster/ceph/Manifest
index a4df18b..ea635f0 100644
--- a/sys-cluster/ceph/Manifest
+++ b/sys-cluster/ceph/Manifest
@@ -1,5 +1,4 @@
DIST ceph-0.80.10.tar.bz2 4136018 SHA256 a7ca8a3d0710ab88adcd5c52aebe0a8ee573e247c1ccf5d84eea8a9ff07a51fa SHA512 7823a489b7654457512d300050410b4a91d615fbb467d341c76e76b77364d6a2afa763bceb2c6cd8ed05a45d7b0aef4c3baf80155cc3223e940b439e0571f3c9 WHIRLPOOL a03fc3a4ca8c49157ff3b51528418ca62c3520c4141e402863cf3475a11b240be5297f731bf1a4e77a01a476e80f5e06c0722d688fbb8ad2db26ef1975a450da
-DIST ceph-0.94.4.tar.bz2 7082496 SHA256 09b3a134c4eb06f770a72769d2aec3900c2c7f1d25092f93b0e8e73ab17e577c SHA512 3ae714d110d63717e7e49d07ac5523cbbd06b8fa140b842576f6afea780aec2408ccd053c109bf5e011018ff1c544366113e83e09ea79925e32d46e7360317ab WHIRLPOOL 8b53fb0410e6168d6385360005b29b919d7d4f255e06cc874fcbb35f1dc5566c0e97bbce50ec7ea2da479a0f068bf254abec474d155186085d500a0f4ea9eb01
DIST ceph-0.94.5.tar.bz2 7084809 SHA256 7658bec8cf6e6c8f5ceb1e85116c4df2582c497ae686295abebc6fc82ec79211 SHA512 8bf57eceda37ec058bd7b9cf98ba0eda11c361156da4cea0aa99a3059d61fc2120ebb27f1bb07bae42e13836b57a5db8f3888401481e9125780a6df21ca90529 WHIRLPOOL cfedf299f86e19ff87615e851e4639d4045c0e26756d8896498e2e6eb8304808bc78837ec68b01936abd7fd2563aafe973109ba72d66b368304c38e38fc680f5
DIST ceph-10.0.0.tar.gz 10429823 SHA256 fd92052e0de135e1f35ea2add44b5b8add28a2a8235639d69c33cced06a4a357 SHA512 f0e36bf83c97d1dc0328fbba96897e583c6d29b11dc54ea7fa0186ffaa1cf4d26519f336083825d64dda70bd290dc45bd6f3f17ff67ada33322caee5f2f3ce07 WHIRLPOOL f443ab25ab8f89455d76f509f215b55519f9338d3b9daec318b097de4dffff7009a01521da0d963c4b5549485b6aebca1c0a705746cf2e64fef8e9f5e66676cf
-DIST ceph-9.0.3.tar.bz2 7082795 SHA256 98ad66b35d3747d56e04fcf32a5387b765f86f43c6f09393fe9c7f17e4ae5418 SHA512 fdaebf26076490394229ef1716278ae82e6397651e25b911553db9f93b0d7ba8849320d770aef1363952e7c8e672616f5e61523fc4b79642fe81f1d2d71c4225 WHIRLPOOL cc11218246efe1d1f0a095ddc3466eacc64ffd032093cc0642a420ed9eb7fdd956b25693cc46e2dace216a6ec577c1c4d26457cf86f0319fe71c5a1125342128
+DIST ceph-9.2.0.tar.bz2 7663088 SHA256 706d33e097b4489a75cfaff8d835e05d91df6dac5cdd3a32a57404f0522dbdbb SHA512 d462f2e4696873552b232f0b89bcda8ddb0cddeab89cbab58e99eb068acb082a42cb558898bd4dee66239df64d15992cfd1c1158217b2ce60a465e1761bcea78 WHIRLPOOL d016b873a26afef4816921e5b9cbaae3ba4c9ece6683e3d60b1f689ab7dcc285bc386963e83b410a66a313cc953b7d0d9baa427b3b3eb12697daa08f3a5a6a18
diff --git a/sys-cluster/ceph/ceph-0.94.4.ebuild b/sys-cluster/ceph/ceph-0.94.4.ebuild
deleted file mode 100644
index 1a2b052..0000000
--- a/sys-cluster/ceph/ceph-0.94.4.ebuild
+++ /dev/null
@@ -1,159 +0,0 @@
-# Copyright 1999-2015 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Id$
-
-EAPI=5
-PYTHON_COMPAT=( python2_7 )
-
-if [[ $PV = *9999* ]]; then
- scm_eclass=git-r3
- EGIT_REPO_URI="
- git://github.com/ceph/ceph.git
- https://github.com/ceph/ceph.git"
- SRC_URI=""
-else
- SRC_URI="http://ceph.com/download/${P}.tar.bz2"
-fi
-KEYWORDS="~amd64 ~arm ~ppc ~ppc64 ~x86"
-
-inherit check-reqs autotools eutils multilib python-single-r1 udev readme.gentoo systemd ${scm_eclass}
-
-DESCRIPTION="Ceph distributed filesystem"
-HOMEPAGE="http://ceph.com/"
-
-LICENSE="LGPL-2.1"
-SLOT="0"
-IUSE="babeltrace cryptopp debug fuse gtk libatomic +libaio lttng +nss radosgw static-libs jemalloc tcmalloc xfs zfs"
-
-CDEPEND="
- app-arch/snappy
- dev-libs/boost:=[threads]
- dev-libs/fcgi
- dev-libs/libaio
- dev-libs/libedit
- dev-libs/leveldb[snappy]
- nss? ( dev-libs/nss )
- cryptopp? ( dev-libs/crypto++ )
- sys-apps/keyutils
- sys-apps/util-linux
- dev-libs/libxml2
- babeltrace? ( dev-util/babeltrace )
- fuse? ( sys-fs/fuse )
- libatomic? ( dev-libs/libatomic_ops )
- xfs? ( sys-fs/xfsprogs )
- zfs? ( sys-fs/zfs )
- gtk? (
- x11-libs/gtk+:2
- dev-cpp/gtkmm:2.4
- gnome-base/librsvg
- )
- radosgw? (
- dev-libs/fcgi
- dev-libs/expat
- net-misc/curl
- )
- jemalloc? ( dev-libs/jemalloc )
- !jemalloc? ( dev-util/google-perftools )
- lttng? ( dev-util/lttng-ust )
- ${PYTHON_DEPS}
- "
-DEPEND="${CDEPEND}
- virtual/pkgconfig"
-RDEPEND="${CDEPEND}
- sys-apps/hdparm
- dev-python/flask[${PYTHON_USEDEP}]
- dev-python/requests[${PYTHON_USEDEP}]
- "
-REQUIRED_USE="
- ${PYTHON_REQUIRED_USE}
- ^^ ( nss cryptopp )
- ?? ( jemalloc tcmalloc )
- "
-
-STRIP_MASK="/usr/lib*/rados-classes/*"
-
-PATCHES=(
- "${FILESDIR}"/${PN}-0.79-libzfs.patch
-)
-CHECKREQS_DISK_BUILD="1400M"
-
-pkg_setup() {
- python_setup
-}
-
-src_prepare() {
- [[ ${PATCHES[@]} ]] && epatch "${PATCHES[@]}"
-
- epatch_user
- eautoreconf
-}
-
-src_configure() {
- local myeconfargs=(
- --without-hadoop
- --docdir="${EPREFIX}/usr/share/doc/${PF}"
- --includedir=/usr/include
- $(use_with debug)
- $(use_with fuse)
- $(use_with libaio)
- $(use_with libatomic libatomic-ops)
- $(use_with nss)
- $(use_with cryptopp)
- $(use_with radosgw)
- $(use_with gtk gtk2)
- $(use_enable static-libs static)
- $(use_with jemalloc)
- $(use_with xfs libxfs)
- $(use_with zfs libzfs)
- --without-kinetic
- --without-librocksdb
- $(use_with lttng )
- $(use_with babeltrace)
- )
-
- use jemalloc || \
- myeconfargs+=( $(usex tcmalloc " --with-tcmalloc" " --with-tcmalloc-minimal") )
-
- PYTHON="${EPYTHON}" \
- econf "${myeconfargs[@]}"
-}
-
-src_install() {
- default
-
- prune_libtool_files --all
-
- exeinto /usr/$(get_libdir)/ceph
- newexe src/init-ceph ceph_init.sh
-
- insinto /etc/logrotate.d/
- newins "${FILESDIR}"/ceph.logrotate ${PN}
-
- chmod 644 "${ED}"/usr/share/doc/${PF}/sample.*
-
- keepdir /var/lib/${PN}
- keepdir /var/lib/${PN}/tmp
- keepdir /var/log/${PN}/stat
-
- newinitd "${FILESDIR}/rbdmap.initd" rbdmap
- newinitd "${FILESDIR}/${PN}.initd-r1" ${PN}
- newconfd "${FILESDIR}/${PN}.confd-r1" ${PN}
-
- systemd_dounit "${FILESDIR}/ceph.target"
- systemd_newunit "${FILESDIR}/ceph-mds_at.service" "ceph-mds@.service"
- systemd_install_serviced "${FILESDIR}/ceph-mds_at.service.conf" "ceph-mds@.service"
- systemd_newunit "${FILESDIR}/ceph-osd_at.service" "ceph-osd@.service"
- systemd_install_serviced "${FILESDIR}/ceph-osd_at.service.conf" "ceph-osd@.service"
- systemd_newunit "${FILESDIR}/ceph-mon_at.service" "ceph-mon@.service"
- systemd_install_serviced "${FILESDIR}/ceph-mon_at.service.conf" "ceph-mon@.service"
-
- python_fix_shebang \
- "${ED}"/usr/sbin/{ceph-disk,ceph-create-keys} \
- "${ED}"/usr/bin/{ceph,ceph-rest-api}
-
- #install udev rules
- udev_dorules udev/50-rbd.rules
- udev_dorules udev/95-ceph-osd.rules
-
- readme.gentoo_create_doc
-}
diff --git a/sys-cluster/ceph/ceph-10.0.0.ebuild b/sys-cluster/ceph/ceph-10.0.0.ebuild
index e2936b9..acb485b 100644
--- a/sys-cluster/ceph/ceph-10.0.0.ebuild
+++ b/sys-cluster/ceph/ceph-10.0.0.ebuild
@@ -16,7 +16,7 @@ else
fi
KEYWORDS="~amd64 ~arm ~ppc ~ppc64 ~x86"
-inherit check-reqs autotools eutils multilib python-single-r1 udev readme.gentoo systemd ${scm_eclass}
+inherit check-reqs autotools eutils multilib python-single-r1 udev user readme.gentoo systemd ${scm_eclass}
DESCRIPTION="Ceph distributed filesystem"
HOMEPAGE="http://ceph.com/"
@@ -75,7 +75,6 @@ STRIP_MASK="/usr/lib*/rados-classes/*"
PATCHES=(
"${FILESDIR}"/${PN}-0.79-libzfs.patch
)
-CHECKREQS_DISK_BUILD="1400M"
check-reqs_export_vars() {
# check-reqs does not support use flags, and there is a lot of variability
@@ -93,10 +92,16 @@ check-reqs_export_vars() {
fi
}
+user_setup() {
+ enewgroup ceph
+ enewuser ceph -1 -1 /var/lib/ceph ceph
+}
+
pkg_setup() {
python_setup
check-reqs_export_vars
check-reqs_pkg_setup
+ user_setup
}
src_prepare() {
@@ -132,6 +137,7 @@ src_configure() {
--without-librocksdb
$(use_with lttng )
$(use_with babeltrace)
+ --with-systemdsystemunitdir="$(systemd_get_systemunitdir)"
)
use jemalloc || \
@@ -158,21 +164,19 @@ src_install() {
keepdir /var/lib/${PN}/tmp
keepdir /var/log/${PN}/stat
+ fowners ceph:ceph /var/lib/ceph
+
newinitd "${FILESDIR}/rbdmap.initd" rbdmap
newinitd "${FILESDIR}/${PN}.initd-r1" ${PN}
newconfd "${FILESDIR}/${PN}.confd-r1" ${PN}
- systemd_dounit "${FILESDIR}/ceph.target"
- systemd_newunit "${FILESDIR}/ceph-mds_at.service" "ceph-mds@.service"
systemd_install_serviced "${FILESDIR}/ceph-mds_at.service.conf" "ceph-mds@.service"
- systemd_newunit "${FILESDIR}/ceph-osd_at.service" "ceph-osd@.service"
systemd_install_serviced "${FILESDIR}/ceph-osd_at.service.conf" "ceph-osd@.service"
- systemd_newunit "${FILESDIR}/ceph-mon_at.service" "ceph-mon@.service"
systemd_install_serviced "${FILESDIR}/ceph-mon_at.service.conf" "ceph-mon@.service"
python_fix_shebang \
"${ED}"/usr/sbin/{ceph-disk,ceph-create-keys} \
- "${ED}"/usr/bin/{ceph,ceph-rest-api}
+ "${ED}"/usr/bin/{ceph,ceph-rest-api,ceph-detect-init,ceph-brag}
#install udev rules
udev_dorules udev/50-rbd.rules
diff --git a/sys-cluster/ceph/ceph-9.0.3.ebuild b/sys-cluster/ceph/ceph-9.2.0.ebuild
similarity index 89%
rename from sys-cluster/ceph/ceph-9.0.3.ebuild
rename to sys-cluster/ceph/ceph-9.2.0.ebuild
index c50d81a..434fd90 100644
--- a/sys-cluster/ceph/ceph-9.0.3.ebuild
+++ b/sys-cluster/ceph/ceph-9.2.0.ebuild
@@ -16,7 +16,7 @@ else
fi
KEYWORDS="~amd64 ~arm ~ppc ~ppc64 ~x86"
-inherit check-reqs autotools eutils multilib python-single-r1 udev readme.gentoo systemd ${scm_eclass}
+inherit check-reqs autotools eutils multilib python-single-r1 udev user readme.gentoo systemd ${scm_eclass}
DESCRIPTION="Ceph distributed filesystem"
HOMEPAGE="http://ceph.com/"
@@ -75,7 +75,6 @@ STRIP_MASK="/usr/lib*/rados-classes/*"
PATCHES=(
"${FILESDIR}"/${PN}-0.79-libzfs.patch
)
-CHECKREQS_DISK_BUILD="1400M"
check-reqs_export_vars() {
# check-reqs does not support use flags, and there is a lot of variability
@@ -88,15 +87,21 @@ check-reqs_export_vars() {
export CHECKREQS_DISK_BUILD="23G"
export CHECKREQS_DISK_USR="7G"
else
- export CHECKREQS_DISK_BUILD="1400M"
+ export CHECKREQS_DISK_BUILD="9G"
export CHECKREQS_DISK_USR="450M"
fi
}
+user_setup() {
+ enewgroup ceph
+ enewuser ceph -1 -1 /var/lib/ceph ceph
+}
+
pkg_setup() {
python_setup
check-reqs_export_vars
check-reqs_pkg_setup
+ user_setup
}
src_prepare() {
@@ -132,6 +137,7 @@ src_configure() {
--without-librocksdb
$(use_with lttng )
$(use_with babeltrace)
+ --with-systemdsystemunitdir="$(systemd_get_systemunitdir)"
)
use jemalloc || \
@@ -158,21 +164,19 @@ src_install() {
keepdir /var/lib/${PN}/tmp
keepdir /var/log/${PN}/stat
+ fowners ceph:ceph /var/lib/ceph
+
newinitd "${FILESDIR}/rbdmap.initd" rbdmap
newinitd "${FILESDIR}/${PN}.initd-r1" ${PN}
newconfd "${FILESDIR}/${PN}.confd-r1" ${PN}
- systemd_dounit "${FILESDIR}/ceph.target"
- systemd_newunit "${FILESDIR}/ceph-mds_at.service" "ceph-mds@.service"
systemd_install_serviced "${FILESDIR}/ceph-mds_at.service.conf" "ceph-mds@.service"
- systemd_newunit "${FILESDIR}/ceph-osd_at.service" "ceph-osd@.service"
systemd_install_serviced "${FILESDIR}/ceph-osd_at.service.conf" "ceph-osd@.service"
- systemd_newunit "${FILESDIR}/ceph-mon_at.service" "ceph-mon@.service"
systemd_install_serviced "${FILESDIR}/ceph-mon_at.service.conf" "ceph-mon@.service"
python_fix_shebang \
"${ED}"/usr/sbin/{ceph-disk,ceph-create-keys} \
- "${ED}"/usr/bin/{ceph,ceph-rest-api}
+ "${ED}"/usr/bin/{ceph,ceph-rest-api,ceph-detect-init,ceph-brag}
#install udev rules
udev_dorules udev/50-rbd.rules
diff --git a/sys-cluster/ceph/ceph-9999.ebuild b/sys-cluster/ceph/ceph-9999.ebuild
index fe924eb..1805e16 100644
--- a/sys-cluster/ceph/ceph-9999.ebuild
+++ b/sys-cluster/ceph/ceph-9999.ebuild
@@ -17,7 +17,7 @@ else
KEYWORDS="~amd64 ~arm ~ppc ~ppc64 ~x86"
fi
-inherit autotools eutils multilib python-any-r1 udev readme.gentoo ${scm_eclass}
+inherit autotools eutils multilib python-any-r1 udev user readme.gentoo ${scm_eclass}
DESCRIPTION="Ceph distributed filesystem"
HOMEPAGE="http://ceph.com/"
@@ -71,8 +71,14 @@ REQUIRED_USE="
STRIP_MASK="/usr/lib*/rados-classes/*"
+user_setup() {
+ enewgroup ceph
+ enewuser ceph -1 -1 /var/lib/ceph ceph
+}
+
pkg_setup() {
python-any-r1_pkg_setup
+ user_setup
}
src_prepare() {
@@ -99,6 +105,7 @@ src_configure() {
$(use_with tcmalloc) \
$(use_with xfs libxfs) \
$(use_with zfs libzfs)
+ --with-systemdsystemunitdir="$(systemd_get_systemunitdir)"
}
src_install() {
@@ -118,12 +125,18 @@ src_install() {
keepdir /var/lib/${PN}/tmp
keepdir /var/log/${PN}/stat
+ fowners ceph:ceph /var/lib/ceph
+
newinitd "${FILESDIR}/${PN}.initd-r1" ${PN}
newconfd "${FILESDIR}/${PN}.confd-r1" ${PN}
+ systemd_install_serviced "${FILESDIR}/ceph-mds_at.service.conf" "ceph-mds@.service"
+ systemd_install_serviced "${FILESDIR}/ceph-osd_at.service.conf" "ceph-osd@.service"
+ systemd_install_serviced "${FILESDIR}/ceph-mon_at.service.conf" "ceph-mon@.service"
+
python_fix_shebang \
"${ED}"/usr/sbin/{ceph-disk,ceph-create-keys} \
- "${ED}"/usr/bin/{ceph,ceph-rest-api}
+ "${ED}"/usr/bin/{ceph,ceph-rest-api,ceph-detect-init,ceph-brag}
#install udev rules
udev_dorules udev/50-rbd.rules
diff --git a/sys-cluster/ceph/files/README.gentoo b/sys-cluster/ceph/files/README.gentoo
index b049515..c596120 100644
--- a/sys-cluster/ceph/files/README.gentoo
+++ b/sys-cluster/ceph/files/README.gentoo
@@ -16,3 +16,10 @@
net-misc/ntp
net-misc/openntpd
net-misc/chrony
+
+4) Starting from version 9.0.x, Ceph daemons run as ‘ceph’ user instead root.
+ In order to fix this, we suggest to stop ceph daemons, and fix ownership
+
+ chown -R ceph:ceph /var/lib/ceph
+
+ https://ceph.com/releases/v9-2-0-infernalis-released/
diff --git a/sys-cluster/ceph/files/ceph-0.87.1-glibc-2.20.patch b/sys-cluster/ceph/files/ceph-0.87.1-glibc-2.20.patch
deleted file mode 100644
index 55a49d7..0000000
--- a/sys-cluster/ceph/files/ceph-0.87.1-glibc-2.20.patch
+++ /dev/null
@@ -1,59 +0,0 @@
-From cf2104d4d991361c53f6e2fea93b69de10cd654b Mon Sep 17 00:00:00 2001
-From: Federico Simoncelli <fsimonce@redhat.com>
-Date: Sat, 15 Nov 2014 14:14:04 +0000
-Subject: [PATCH] common: do not unlock rwlock on destruction
-
-According to pthread_rwlock_unlock(3p):
-
- Results are undefined if the read-write lock rwlock is not held
- by the calling thread.
-
-and:
-
- https://sourceware.org/bugzilla/show_bug.cgi?id=17561
-
- Calling pthread_rwlock_unlock on an rwlock which is not locked
- is undefined.
-
-calling pthread_rwlock_unlock on RWLock destruction could cause
-an unknown behavior for two reasons:
-
-- the lock is acquired by another thread (undefined)
-- the lock is not acquired (undefined)
-
-Moreover since glibc-2.20 calling pthread_rwlock_unlock on a
-rwlock that is not locked results in a SIGILL that kills the
-application.
-
-This patch removes the pthread_rwlock_unlock call on destruction
-and replaces it with an assertion to check that the RWLock is
-not in use.
-
-Any code that relied on the implicit release is now going to
-break the assertion, e.g.:
-
- {
- RWLock l;
- l.get(for_write);
- } // implicit release, wrong.
-
-Signed-off-by: Federico Simoncelli <fsimonce@redhat.com>
----
- src/common/RWLock.h | 4 +++-
- 1 file changed, 3 insertions(+), 1 deletion(-)
-
-diff --git a/src/common/RWLock.h b/src/common/RWLock.h
-index e647e17..6f0ab8e 100644
---- a/src/common/RWLock.h
-+++ b/src/common/RWLock.h
-@@ -46,7 +46,9 @@ class RWLock
- return (nwlock.read() > 0);
- }
- virtual ~RWLock() {
-- pthread_rwlock_unlock(&L);
-+ // The following check is racy but we are about to destroy
-+ // the object and we assume that there are no other users.
-+ assert(!is_locked());
- pthread_rwlock_destroy(&L);
- }
-
diff --git a/sys-cluster/ceph/files/ceph-fix-gnustack.patch b/sys-cluster/ceph/files/ceph-fix-gnustack.patch
deleted file mode 100644
index 3e2eace..0000000
--- a/sys-cluster/ceph/files/ceph-fix-gnustack.patch
+++ /dev/null
@@ -1,22 +0,0 @@
-diff --git a/src/common/crc32c_intel_fast_asm.S b/src/common/crc32c_intel_fast_asm.S
-index 4ca5d65..68d3426 100644
---- a/src/common/crc32c_intel_fast_asm.S
-+++ b/src/common/crc32c_intel_fast_asm.S
-@@ -662,3 +662,6 @@ global %1_slver
- %endmacro
- ;;; func core, ver, snum
- slversion crc32_iscsi_00, 00, 02, 0014
-+#if defined(__linux__) && defined(__ELF__)
-+.section .note.GNU-stack,"",%progbits
-+#endiF
-diff --git a/src/common/crc32c_intel_fast_zero_asm.S b/src/common/crc32c_intel_fast_zero_asm.S
-index b7246f2..9728be9 100644
---- a/src/common/crc32c_intel_fast_zero_asm.S
-+++ b/src/common/crc32c_intel_fast_zero_asm.S
-@@ -644,3 +644,6 @@ global %1_slver
- %endmacro
- ;;; func core, ver, snum
- slversion crc32_iscsi_zero_00, 00, 02, 0014
-+#if defined(__linux__) && defined(__ELF__)
-+.section .note.GNU-stack,"",%progbits
-+#endiF
diff --git a/sys-cluster/ceph/files/ceph-mds_at.service b/sys-cluster/ceph/files/ceph-mds_at.service
deleted file mode 100644
index c28604e..0000000
--- a/sys-cluster/ceph/files/ceph-mds_at.service
+++ /dev/null
@@ -1,12 +0,0 @@
-[Unit]
-Description=Ceph metadata server daemon
-After=network-online.target local-fs.target
-Wants=network-online.target local-fs.target
-PartOf=ceph.target
-
-[Service]
-Environment=CLUSTER=ceph
-ExecStart=/usr/bin/ceph-mds -f --cluster ${CLUSTER} --id %i
-
-[Install]
-WantedBy=ceph.target
diff --git a/sys-cluster/ceph/files/ceph-mon_at.service b/sys-cluster/ceph/files/ceph-mon_at.service
deleted file mode 100644
index 4f54cc1..0000000
--- a/sys-cluster/ceph/files/ceph-mon_at.service
+++ /dev/null
@@ -1,19 +0,0 @@
-[Unit]
-Description=Ceph cluster monitor daemon
-After=network-online.target
-Wants=network-online.target
-
-# According to:
-# http://www.freedesktop.org/wiki/Software/systemd/NetworkTarget
-# these can be removed once ceph-mon will dynamically change network
-# configuration.
-After=network-online.target local-fs.target
-Wants=network-online.target local-fs.target
-PartOf=ceph.target
-
-[Service]
-Environment=CLUSTER=ceph
-ExecStart=/usr/bin/ceph-mon -f --cluster ${CLUSTER} --id %i
-
-[Install]
-WantedBy=ceph.target
diff --git a/sys-cluster/ceph/files/ceph-osd_at.service b/sys-cluster/ceph/files/ceph-osd_at.service
deleted file mode 100644
index 7bf125f..0000000
--- a/sys-cluster/ceph/files/ceph-osd_at.service
+++ /dev/null
@@ -1,13 +0,0 @@
-[Unit]
-Description=Ceph object storage daemon
-After=network-online.target local-fs.target
-Wants=network-online.target local-fs.target
-PartOf=ceph.target
-
-[Service]
-Environment=CLUSTER=ceph
-ExecStart=/usr/bin/ceph-osd -f --cluster ${CLUSTER} --id %i
-ExecStartPre=/usr/libexec/ceph/ceph-osd-prestart.sh --cluster ${CLUSTER} --id %i
-
-[Install]
-WantedBy=ceph.target
diff --git a/sys-cluster/ceph/files/ceph.initd-r1 b/sys-cluster/ceph/files/ceph.initd-r1
index ca5ab60..7f1558d 100644
--- a/sys-cluster/ceph/files/ceph.initd-r1
+++ b/sys-cluster/ceph/files/ceph.initd-r1
@@ -22,7 +22,7 @@ is_type_valid() {
}
start_pre() {
- checkpath -d -q $(dirname ${pidfile})
+ checkpath -d -q -o ceph $(dirname ${pidfile})
}
start() {
@@ -31,18 +31,18 @@ start() {
eerror "Please give valid Ceph Server Type: mds, mon, osd"
return 1
fi
- ${command} ${command_args}
+ start-stop-daemon --start -exec ${command} --user ceph --group ceph -- ${command_args}
eend $?
}
stop() {
ebegin "Stopping Ceph ${type}.${id}"
- start-stop-daemon --stop --pidfile ${pidfile}
+ start-stop-daemon --stop --user ceph --group ceph --pidfile ${pidfile}
eend $?
}
reload() {
ebegin "Reloading Ceph ${type}.${id}"
- start-stop-daemon --signal 1 --pidfile ${pidfile}
+ start-stop-daemon --signal 1 --user ceph --group ceph --pidfile ${pidfile}
eend $?
}
^ permalink raw reply related [flat|nested] 68+ messages in thread
end of thread, other threads:[~2024-10-14 0:50 UTC | newest]
Thread overview: 68+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2022-08-22 20:29 [gentoo-commits] repo/gentoo:master commit in: sys-cluster/ceph/, sys-cluster/ceph/files/ Patrick McLean
-- strict thread matches above, loose matches on Subject: below --
2024-10-14 0:50 Sam James
2024-10-01 9:32 Patrick Lauer
2024-07-30 9:05 Patrick Lauer
2024-07-30 9:05 Patrick Lauer
2023-11-08 2:51 Patrick McLean
2023-09-12 2:24 Patrick McLean
2023-06-04 5:06 Sam James
2023-06-03 1:54 Sam James
2023-04-11 23:28 Patrick McLean
2023-03-17 18:07 Patrick McLean
2022-10-28 15:57 Sam James
2022-10-04 23:42 Patrick McLean
2022-08-24 17:07 Patrick McLean
2022-07-07 18:32 Patrick McLean
2022-06-28 0:27 Patrick McLean
2022-05-17 18:03 Patrick McLean
2022-05-13 10:59 Michał Górny
2022-05-05 22:51 Patrick McLean
2022-05-04 23:17 Patrick McLean
2022-04-29 0:31 Patrick McLean
2021-10-29 20:49 Patrick McLean
2021-10-25 17:02 Patrick McLean
2021-10-25 17:02 Patrick McLean
2021-07-01 0:47 Patrick McLean
2020-12-01 2:35 Patrick McLean
2020-11-25 5:38 Patrick McLean
2020-11-19 7:29 Patrick McLean
2020-09-25 0:53 Patrick McLean
2020-09-16 23:52 Patrick McLean
2020-08-05 0:16 Patrick McLean
2020-06-24 0:51 Patrick McLean
2020-04-03 1:41 Patrick McLean
2019-12-11 22:40 Patrick McLean
2019-11-08 23:26 Patrick McLean
2019-09-17 22:56 Patrick McLean
2019-09-05 0:26 Patrick McLean
2019-07-19 3:20 Patrick McLean
2019-06-13 1:48 Patrick McLean
2019-04-29 22:57 Patrick McLean
2019-04-12 2:05 Patrick McLean
2019-03-29 2:23 Patrick McLean
2019-03-20 21:54 Patrick McLean
2019-03-20 1:12 Patrick McLean
2019-01-08 0:13 Patrick McLean
2018-11-29 23:57 Patrick McLean
2018-11-09 2:51 Patrick McLean
2018-03-10 19:16 Patrick McLean
2018-03-06 19:39 Patrick McLean
2018-02-06 17:43 Patrick Lauer
2017-12-05 20:10 Patrick McLean
2017-10-06 21:07 Patrick McLean
2017-09-27 21:19 Patrick McLean
2017-09-07 23:40 Patrick McLean
2017-08-02 22:11 Patrick McLean
2017-08-02 21:04 Patrick McLean
2017-07-31 19:04 Patrick McLean
2017-07-27 21:33 Patrick McLean
2017-07-27 21:27 Patrick McLean
2017-04-12 20:44 Patrick McLean
2017-02-10 1:18 Patrick McLean
2016-10-11 21:57 Patrick McLean
2016-07-11 1:23 Yixun Lan
2016-06-30 23:53 Patrick McLean
2016-06-07 6:45 Yixun Lan
2016-05-12 21:05 Patrick McLean
2016-05-12 18:56 Patrick McLean
2015-12-21 7:47 Yixun Lan
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox