commit: fd022549f4781a1b2e42d92457264b52dbf8748e
Author: Patrick Lauer <patrick <AT> gentoo <DOT> org>
AuthorDate: Tue Sep 16 14:14:54 2025 +0000
Commit: Patrick Lauer <patrick <AT> gentoo <DOT> org>
CommitDate: Tue Sep 16 14:59:00 2025 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=fd022549
sys-cluster/ceph: Enable NVMEoF bits in 20
Signed-off-by: Patrick Lauer <patrick <AT> gentoo.org>
.../{ceph-20.1.0.ebuild => ceph-20.1.0-r1.ebuild} | 6 ++++-
sys-cluster/ceph/files/ceph-20.1.0-nvmeof.patch | 30 ++++++++++++++++++++++
sys-cluster/ceph/metadata.xml | 1 +
3 files changed, 36 insertions(+), 1 deletion(-)
diff --git a/sys-cluster/ceph/ceph-20.1.0.ebuild
b/sys-cluster/ceph/ceph-20.1.0-r1.ebuild
similarity index 98%
rename from sys-cluster/ceph/ceph-20.1.0.ebuild
rename to sys-cluster/ceph/ceph-20.1.0-r1.ebuild
index 93a77847c095..e41e2a5bbb41 100644
--- a/sys-cluster/ceph/ceph-20.1.0.ebuild
+++ b/sys-cluster/ceph/ceph-20.1.0-r1.ebuild
@@ -27,7 +27,7 @@ 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
+ jemalloc jaeger kafka kerberos ldap lttng +mgr nvmeof +parquet pmdk
rabbitmq
+radosgw rbd-rwl rbd-ssd rdma rgw-lua selinux +ssl spdk +sqlite
+system-boost
systemd +tcmalloc test +uring xfs zbd
"
@@ -90,6 +90,7 @@ DEPEND="
kerberos? ( virtual/krb5 )
ldap? ( net-nds/openldap:= )
lttng? ( dev-util/lttng-ust:= )
+ nvmeof? ( net-libs/grpc:= )
parquet? (
>=app-arch/lz4-1.10
dev-cpp/xsimd
@@ -190,6 +191,7 @@ REQUIRED_USE="
mgr? ( cephfs )
rabbitmq? ( radosgw )
rgw-lua? ( radosgw )
+ nvmeof? ( spdk )
"
RESTRICT="
@@ -226,6 +228,7 @@ PATCHES=(
"${FILESDIR}/ceph-18.2.4-liburing.patch"
"${FILESDIR}/ceph-18.2.4-spdk.patch"
"${FILESDIR}/ceph-19.2.1-isa-l.patch"
+ "${FILESDIR}/ceph-20.1.0-nvmeof.patch"
)
check-reqs_export_vars() {
@@ -353,6 +356,7 @@ ceph_src_configure() {
-DCMAKE_DISABLE_FIND_PACKAGE_fmt=ON
-Wno-dev
-DCEPHADM_BUNDLED_DEPENDENCIES=none
+ -DWITH_NVMEOF_GATEWAY_MONITOR_CLIENT:BOOL=$(usex nvmeof)
)
# this breaks when re-configuring for python impl
diff --git a/sys-cluster/ceph/files/ceph-20.1.0-nvmeof.patch
b/sys-cluster/ceph/files/ceph-20.1.0-nvmeof.patch
new file mode 100644
index 000000000000..51baf42122c2
--- /dev/null
+++ b/sys-cluster/ceph/files/ceph-20.1.0-nvmeof.patch
@@ -0,0 +1,30 @@
+--- a/src/CMakeLists.txt 2025-09-15 15:00:18.003748368 -0000
++++ b/src/CMakeLists.txt 2025-09-15 15:04:40.923163569 -0000
+@@ -906,7 +906,7 @@
+
+ # NVMEOF GATEWAY MONITOR CLIENT
+ # Supported on RPM-based platforms only, depends on grpc devel libraries/tools
+-if(EXISTS "/etc/redhat-release" OR EXISTS "/etc/fedora-release")
++if(EXISTS "/etc/redhat-release" OR EXISTS "/etc/fedora-release" OR EXISTS
"/etc/gentoo-release")
+ option(WITH_NVMEOF_GATEWAY_MONITOR_CLIENT "build nvmeof gateway monitor
client" ON)
+ else()
+ option(WITH_NVMEOF_GATEWAY_MONITOR_CLIENT "build nvmeof gateway monitor
client" OFF)
+
+
+--- a/src/CMakeLists.txt 2025-09-16 05:15:55.633004241 -0000
++++ b/src/CMakeLists.txt 2025-09-16 13:24:29.640098498 -0000
+@@ -918,6 +918,14 @@
+ # Looks for protobuf-config.cmake file installed by Protobuf's cmake
installation.
+ option(protobuf_MODULE_COMPATIBLE TRUE)
+ find_package(Protobuf REQUIRED)
++ find_library (UPB_LIBRARIES NAMES upb)
++ if (UPB_LIBRARIES)
++ add_library(protobuf::libupb STATIC IMPORTED)
++ add_executable(protobuf::protoc-gen-upb IMPORTED)
++ add_executable(protobuf::protoc-gen-upbdefs IMPORTED)
++ add_executable(protobuf::protoc-gen-upb_minitable IMPORTED)
++ endif()
++
+
+ set(_REFLECTION grpc++_reflection)
+ if(CMAKE_CROSSCOMPILING)
diff --git a/sys-cluster/ceph/metadata.xml b/sys-cluster/ceph/metadata.xml
index 10e8a6f85f00..8424107048aa 100644
--- a/sys-cluster/ceph/metadata.xml
+++ b/sys-cluster/ceph/metadata.xml
@@ -24,6 +24,7 @@
<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="nvmeof">Enable support for NVMEoF</flag>
<flag name="parquet">Support for s3 select on parquet objects</flag>
<flag name="pmdk">Enable PMDK libraries</flag>
<flag name="rabbitmq">Use rabbitmq-c to build rgw amqp push endpoint</flag>