diff options
| author | Liguros - Gitlab CI/CD [develop] <gitlab@liguros.net> | 2026-01-25 19:33:45 +0000 |
|---|---|---|
| committer | Liguros - Gitlab CI/CD [develop] <gitlab@liguros.net> | 2026-01-25 19:33:45 +0000 |
| commit | ba8d3f2dcac05c939f045b9f1892b09305f04437 (patch) | |
| tree | d2d9b7ce2bb2c3e0cc9bc6f9e520983247386974 /sys-cluster | |
| parent | 3d4b850d8b98dca3137fae8b958b71ac3cb518e7 (diff) | |
| download | baldeagleos-repo-ba8d3f2dcac05c939f045b9f1892b09305f04437.tar.gz baldeagleos-repo-ba8d3f2dcac05c939f045b9f1892b09305f04437.tar.xz baldeagleos-repo-ba8d3f2dcac05c939f045b9f1892b09305f04437.zip | |
Adding metadata
Diffstat (limited to 'sys-cluster')
18 files changed, 876 insertions, 228 deletions
diff --git a/sys-cluster/ceph/ceph-19.2.2-r6.ebuild b/sys-cluster/ceph/ceph-19.2.2-r6.ebuild index 6d04e7c55c2c..cfb738340e7d 100644 --- a/sys-cluster/ceph/ceph-19.2.2-r6.ebuild +++ b/sys-cluster/ceph/ceph-19.2.2-r6.ebuild @@ -205,20 +205,16 @@ 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 @@ -245,6 +241,16 @@ PATCHES=( "${FILESDIR}/ceph-19.2.2-py313-3.patch" "${FILESDIR}/ceph-19.2.2-gcc15.patch" "${FILESDIR}/ceph-19.2.2-ipv6.patch" + "${FILESDIR}/ceph-19.2.2-QATAPP-Fix-clang-16-compiling-issue.patch" + "${FILESDIR}/ceph-19.2.2-add-option-to-build-agains-system-opentelemetry.patch" + "${FILESDIR}/ceph-19.2.2-common-add-dependency-on-legacy-option-headers.patch" + "${FILESDIR}/ceph-19.2.2-rbd-make-enums-statically-castable.patch" + "${FILESDIR}/ceph-19.2.2-rgw-remove-FMT_STRING-to-fix-clang-20-build-failure.patch" + "${FILESDIR}/ceph-19.2.2-rgw-update-to-latest-zpp_bits.h.patch" + # https://bugs.gentoo.org/960812 + "${FILESDIR}/ceph-19.2.2-silent-unused-variable-warning.patch" + "${FILESDIR}/ceph-19.2.2-src-mgr-make-enum-statically-castable.patch" + "${FILESDIR}/ceph-19.2.2-drop-export-dynamic.patch" ) check-reqs_export_vars() { @@ -383,6 +389,9 @@ ceph_src_configure() { -DWITH_JAEGER:BOOL=$(usex jaeger) -DWITH_RADOSGW_SELECT_PARQUET:BOOL=$(usex parquet) ) + if use jaeger; then + mycmakeargs+=( -DWITH_SYSTEM_OPENTELEMETRY:BOOL=ON ) + fi else mycmakeargs+=( -DWITH_RADOSGW_SELECT_PARQUET:BOOL=OFF @@ -465,6 +474,11 @@ src_install() { find "${ED}" -name '*.la' -type f -delete || die + local bundled_init="${ED}/etc/init.d/ceph" + [[ -f "${bundled_init}" ]] && { + rm "${bundled_init}" || die + } + exeinto /usr/$(get_libdir)/ceph newexe "${BUILD_DIR}/bin/init-ceph" init-ceph diff --git a/sys-cluster/ceph/ceph-19.2.3.ebuild b/sys-cluster/ceph/ceph-19.2.3.ebuild index b85dc3dad664..a4b886267a8f 100644 --- a/sys-cluster/ceph/ceph-19.2.3.ebuild +++ b/sys-cluster/ceph/ceph-19.2.3.ebuild @@ -206,20 +206,16 @@ 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 @@ -244,6 +240,16 @@ PATCHES=( "${FILESDIR}/ceph-19.2.2-py313-2.patch" "${FILESDIR}/ceph-19.2.2-py313-3.patch" "${FILESDIR}/ceph-19.2.2-gcc15.patch" + "${FILESDIR}/ceph-19.2.2-QATAPP-Fix-clang-16-compiling-issue.patch" + "${FILESDIR}/ceph-19.2.2-add-option-to-build-agains-system-opentelemetry.patch" + "${FILESDIR}/ceph-19.2.2-common-add-dependency-on-legacy-option-headers.patch" + "${FILESDIR}/ceph-19.2.2-rbd-make-enums-statically-castable.patch" + "${FILESDIR}/ceph-19.2.2-rgw-remove-FMT_STRING-to-fix-clang-20-build-failure.patch" + "${FILESDIR}/ceph-19.2.2-rgw-update-to-latest-zpp_bits.h.patch" + # https://bugs.gentoo.org/960812 + "${FILESDIR}/ceph-19.2.2-silent-unused-variable-warning.patch" + "${FILESDIR}/ceph-19.2.2-src-mgr-make-enum-statically-castable.patch" + "${FILESDIR}/ceph-19.2.2-drop-export-dynamic.patch" ) check-reqs_export_vars() { @@ -382,6 +388,9 @@ ceph_src_configure() { -DWITH_JAEGER:BOOL=$(usex jaeger) -DWITH_RADOSGW_SELECT_PARQUET:BOOL=$(usex parquet) ) + if use jaeger; then + mycmakeargs+=( -DWITH_SYSTEM_OPENTELEMETRY:BOOL=ON ) + fi else mycmakeargs+=( -DWITH_RADOSGW_SELECT_PARQUET:BOOL=OFF @@ -464,6 +473,11 @@ src_install() { find "${ED}" -name '*.la' -type f -delete || die + local bundled_init="${ED}/etc/init.d/ceph" + [[ -f "${bundled_init}" ]] && { + rm "${bundled_init}" || die + } + exeinto /usr/$(get_libdir)/ceph newexe "${BUILD_DIR}/bin/init-ceph" init-ceph diff --git a/sys-cluster/ceph/ceph-20.1.0-r2.ebuild b/sys-cluster/ceph/ceph-20.1.0-r2.ebuild index 9d693a112dc5..47c852b605e4 100644 --- a/sys-cluster/ceph/ceph-20.1.0-r2.ebuild +++ b/sys-cluster/ceph/ceph-20.1.0-r2.ebuild @@ -201,19 +201,15 @@ RDEPEND=" PATCHES=( "${FILESDIR}/ceph-12.2.0-use-provided-cpu-flag-values.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" # 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/868891 "${FILESDIR}/ceph-18.2.0-cyclic-deps.patch" # https://bugs.gentoo.org/907739 @@ -222,8 +218,15 @@ 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-19.2.2-QATAPP-Fix-clang-16-compiling-issue.patch" + "${FILESDIR}/ceph-19.2.2-add-option-to-build-agains-system-opentelemetry.patch" + "${FILESDIR}/ceph-19.2.2-common-add-dependency-on-legacy-option-headers.patch" + "${FILESDIR}/ceph-19.2.2-rbd-make-enums-statically-castable.patch" + "${FILESDIR}/ceph-19.2.2-rgw-remove-FMT_STRING-to-fix-clang-20-build-failure.patch" + # https://bugs.gentoo.org/960812 + "${FILESDIR}/ceph-19.2.2-silent-unused-variable-warning.patch" + "${FILESDIR}/ceph-19.2.2-src-mgr-make-enum-statically-castable.patch" "${FILESDIR}/ceph-20.1.0-nvmeof.patch" - "${FILESDIR}/ceph-20.1.0-opentelemetry.patch" ) check-reqs_export_vars() { @@ -347,8 +350,7 @@ ceph_src_configure() { -DWITH_SYSTEM_UTF8PROC:BOOL=ON -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 + -DWITH_SYSTEM_FMT=ON -Wno-dev -DCEPHADM_BUNDLED_DEPENDENCIES=none -DWITH_NVMEOF_GATEWAY_MONITOR_CLIENT:BOOL=$(usex nvmeof) @@ -360,6 +362,9 @@ ceph_src_configure() { -DWITH_JAEGER:BOOL=$(usex jaeger) -DWITH_RADOSGW_SELECT_PARQUET:BOOL=$(usex parquet) ) + if use jaeger; then + mycmakeargs+=( -DWITH_SYSTEM_OPENTELEMETRY:BOOL=ON ) + fi else mycmakeargs+=( -DWITH_RADOSGW_SELECT_PARQUET:BOOL=OFF @@ -442,6 +447,11 @@ src_install() { find "${ED}" -name '*.la' -type f -delete || die + local bundled_init="${ED}/etc/init.d/ceph" + [[ -f "${bundled_init}" ]] && { + rm "${bundled_init}" || die + } + exeinto /usr/$(get_libdir)/ceph newexe "${BUILD_DIR}/bin/init-ceph" init-ceph diff --git a/sys-cluster/ceph/ceph-20.1.1.ebuild b/sys-cluster/ceph/ceph-20.1.1.ebuild index 9d693a112dc5..47c852b605e4 100644 --- a/sys-cluster/ceph/ceph-20.1.1.ebuild +++ b/sys-cluster/ceph/ceph-20.1.1.ebuild @@ -201,19 +201,15 @@ RDEPEND=" PATCHES=( "${FILESDIR}/ceph-12.2.0-use-provided-cpu-flag-values.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" # 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/868891 "${FILESDIR}/ceph-18.2.0-cyclic-deps.patch" # https://bugs.gentoo.org/907739 @@ -222,8 +218,15 @@ 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-19.2.2-QATAPP-Fix-clang-16-compiling-issue.patch" + "${FILESDIR}/ceph-19.2.2-add-option-to-build-agains-system-opentelemetry.patch" + "${FILESDIR}/ceph-19.2.2-common-add-dependency-on-legacy-option-headers.patch" + "${FILESDIR}/ceph-19.2.2-rbd-make-enums-statically-castable.patch" + "${FILESDIR}/ceph-19.2.2-rgw-remove-FMT_STRING-to-fix-clang-20-build-failure.patch" + # https://bugs.gentoo.org/960812 + "${FILESDIR}/ceph-19.2.2-silent-unused-variable-warning.patch" + "${FILESDIR}/ceph-19.2.2-src-mgr-make-enum-statically-castable.patch" "${FILESDIR}/ceph-20.1.0-nvmeof.patch" - "${FILESDIR}/ceph-20.1.0-opentelemetry.patch" ) check-reqs_export_vars() { @@ -347,8 +350,7 @@ ceph_src_configure() { -DWITH_SYSTEM_UTF8PROC:BOOL=ON -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 + -DWITH_SYSTEM_FMT=ON -Wno-dev -DCEPHADM_BUNDLED_DEPENDENCIES=none -DWITH_NVMEOF_GATEWAY_MONITOR_CLIENT:BOOL=$(usex nvmeof) @@ -360,6 +362,9 @@ ceph_src_configure() { -DWITH_JAEGER:BOOL=$(usex jaeger) -DWITH_RADOSGW_SELECT_PARQUET:BOOL=$(usex parquet) ) + if use jaeger; then + mycmakeargs+=( -DWITH_SYSTEM_OPENTELEMETRY:BOOL=ON ) + fi else mycmakeargs+=( -DWITH_RADOSGW_SELECT_PARQUET:BOOL=OFF @@ -442,6 +447,11 @@ src_install() { find "${ED}" -name '*.la' -type f -delete || die + local bundled_init="${ED}/etc/init.d/ceph" + [[ -f "${bundled_init}" ]] && { + rm "${bundled_init}" || die + } + exeinto /usr/$(get_libdir)/ceph newexe "${BUILD_DIR}/bin/init-ceph" init-ceph diff --git a/sys-cluster/ceph/files/ceph-13.2.2-dont-install-sysvinit-script.patch b/sys-cluster/ceph/files/ceph-13.2.2-dont-install-sysvinit-script.patch deleted file mode 100644 index 4fbc8b6c8102..000000000000 --- a/sys-cluster/ceph/files/ceph-13.2.2-dont-install-sysvinit-script.patch +++ /dev/null @@ -1,15 +0,0 @@ -diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt -index 874eabfaa1..e337f4cf8e 100644 ---- a/src/CMakeLists.txt -+++ b/src/CMakeLists.txt -@@ -601,10 +601,6 @@ install(PROGRAMS - ${CMAKE_SOURCE_DIR}/src/ceph-run - ${CMAKE_SOURCE_DIR}/src/ceph-clsinfo - DESTINATION bin) --install(PROGRAMS -- ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/init-ceph -- DESTINATION ${CMAKE_INSTALL_SYSCONFDIR}/init.d -- RENAME ceph) - - install(FILES - ${CMAKE_SOURCE_DIR}/share/id_rsa_drop.ceph.com diff --git a/sys-cluster/ceph/files/ceph-17.2.0-gcc12-header.patch b/sys-cluster/ceph/files/ceph-17.2.0-gcc12-header.patch deleted file mode 100644 index 70d3eb94c97a..000000000000 --- a/sys-cluster/ceph/files/ceph-17.2.0-gcc12-header.patch +++ /dev/null @@ -1,30 +0,0 @@ -From 496465d9238109a93612e28682273e5bf576823b Mon Sep 17 00:00:00 2001 -From: Chen Qi <Qi.Chen@windriver.com> -Date: Sun, 22 May 2022 19:40:59 -0700 -Subject: [PATCH 1/2] buffer.h: add missing header file due to gcc upgrade - -The header file <memory> have been changed to be no longer included by other -heades, thus requiring explicit include. See https://gcc.gnu.org/gcc-12/porting_to.html - -Upstream-Status: Pending - -Signed-off-by: Chen Qi <Qi.Chen@windriver.com> ---- - src/include/buffer.h | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/src/include/buffer.h b/src/include/buffer.h -index 5c8b427d..88845ee6 100644 ---- a/src/include/buffer.h -+++ b/src/include/buffer.h -@@ -43,6 +43,7 @@ - #include <list> - #include <vector> - #include <string> -+#include <memory> - #if __cplusplus >= 201703L - #include <string_view> - #endif // __cplusplus >= 201703L --- -2.36.0 - diff --git a/sys-cluster/ceph/files/ceph-17.2.5-gcc13-deux.patch b/sys-cluster/ceph/files/ceph-17.2.5-gcc13-deux.patch deleted file mode 100644 index 1bfe7fdbf52f..000000000000 --- a/sys-cluster/ceph/files/ceph-17.2.5-gcc13-deux.patch +++ /dev/null @@ -1,94 +0,0 @@ -https://bugs.gentoo.org/892501 -https://src.fedoraproject.org/rpms/ceph/c/945dc70d291321704f3218faa7c3efe70687ce27?branch=rawhide ---- a/src/common/subsys_types.h -+++ b/src/common/subsys_types.h -@@ -53,7 +53,7 @@ - #undef DEFAULT_SUBSYS - } - --constexpr static std::uint8_t -+constexpr static uint8_t - ceph_subsys_get_max_default_level(const std::size_t subidx) { - const auto item = ceph_subsys_get_as_array()[subidx]; - return std::max(item.log_level, item.gather_level); ---- a/src/msg/async/compression_onwire.h -+++ b/src/msg/async/compression_onwire.h -@@ -44,7 +44,7 @@ - - class TxHandler final : private Handler { - public: -- TxHandler(CephContext* const cct, CompressorRef compressor, int mode, std::uint64_t min_size) -+ TxHandler(CephContext* const cct, CompressorRef compressor, int mode, uint64_t min_size) - : Handler(cct, compressor), - m_min_size(min_size), - m_mode(static_cast<Compressor::CompressionMode>(mode)) -@@ -97,7 +97,7 @@ - static rxtx_t create_handler_pair( - CephContext* ctx, - const CompConnectionMeta& comp_meta, -- std::uint64_t compress_min_size); -+ uint64_t compress_min_size); - }; - } - ---- a/src/msg/async/crypto_onwire.h -+++ b/src/msg/async/crypto_onwire.h -@@ -95,7 +95,7 @@ - // Transmitter can append extra bytes of ciphertext at the -final step. - // This method return how much was added, and thus let client translate - // plaintext size into ciphertext size to grab from wire. -- virtual std::uint32_t get_extra_size_at_final() = 0; -+ virtual uint32_t get_extra_size_at_final() = 0; - - // Instance of RxHandler must be reset before doing any decrypt-update - // step. This applies also to situation when decrypt-final was already ---- a/src/common/Cycles.h -+++ b/src/common/Cycles.h -@@ -29,8 +29,9 @@ - */ - - --#ifndef CEPH_CYCLES_H --#define CEPH_CYCLES_H -+#pragma once -+ -+#include <cstdint> - - /** - * This class provides static methods that read the fine-grain CPU -@@ -112,4 +113,3 @@ - } - }; - --#endif // CEPH_CYCLES_H ---- a/src/test/librados/op_speed.cc -+++ b/src/test/librados/op_speed.cc -@@ -9,7 +9,7 @@ - for (int i = 0; i < to_create; ++i) { - librados::ObjectReadOperation op; - bufferlist bl; -- std::uint64_t sz; -+ uint64_t sz; - struct timespec tm; - std::map<std::string, ceph::buffer::list> xattrs; - std::map<std::string, ceph::buffer::list> omap; ---- a/src/test/mon/test_log_rss_usage.cc -+++ b/src/test/mon/test_log_rss_usage.cc -@@ -5,6 +5,7 @@ - #include <string> - #include <iostream> - #include <fstream> -+#include <cstdint> - #include <stdlib.h> - #include <stdio.h> - #include <unistd.h> ---- a/src/librbd/api/PoolMetadata.h -+++ b/src/librbd/api/PoolMetadata.h -@@ -9,6 +9,7 @@ - - #include <map> - #include <string> -+#include <cstdint> - - namespace librbd { - diff --git a/sys-cluster/ceph/files/ceph-18.2.0-system-opentelemetry.patch b/sys-cluster/ceph/files/ceph-18.2.0-system-opentelemetry.patch deleted file mode 100644 index 5e92d491dba9..000000000000 --- a/sys-cluster/ceph/files/ceph-18.2.0-system-opentelemetry.patch +++ /dev/null @@ -1,19 +0,0 @@ -diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt -index 0a841c5db37..29be0232b48 100644 ---- a/src/CMakeLists.txt -+++ b/src/CMakeLists.txt -@@ -433,8 +433,12 @@ add_dependencies(common-objs legacy-option-headers) - - if(WITH_JAEGER) - find_package(thrift 0.13.0 REQUIRED) -- include(BuildOpentelemetry) -- build_opentelemetry() -+ find_package(opentelemetry-cpp REQUIRED) -+ set(jaeger_base -+ opentelemetry-cpp::common -+ opentelemetry-cpp::trace -+ opentelemetry-cpp::jaeger_trace_exporter -+ thrift::libthrift) - add_library(jaeger_base INTERFACE) - target_link_libraries(jaeger_base INTERFACE opentelemetry::libopentelemetry - thrift::libthrift) diff --git a/sys-cluster/ceph/files/ceph-19.2.2-QATAPP-Fix-clang-16-compiling-issue.patch b/sys-cluster/ceph/files/ceph-19.2.2-QATAPP-Fix-clang-16-compiling-issue.patch new file mode 100644 index 000000000000..cff146921eae --- /dev/null +++ b/sys-cluster/ceph/files/ceph-19.2.2-QATAPP-Fix-clang-16-compiling-issue.patch @@ -0,0 +1,175 @@ +https://github.com/intel/QATzip/commit/a71a7f210d4329582c95dbe859c46ddff1690f25 + +patch on 'include/qz_utils.h' is removed because of not appliable to ceph + +From a71a7f210d4329582c95dbe859c46ddff1690f25 Mon Sep 17 00:00:00 2001 +From: Zhu Chengfei <chengfeix.zhu@intel.com> +Date: Fri, 23 Aug 2024 06:34:26 -0400 +Subject: [PATCH] QATAPP-31772: Fix clang-16 compiling issue + +* Fix function declaration without a prototype +* Fix no newline at end of file src/qatzip_sw.c +* Fix compiling issue [-Wgnu-zero-variadic-macro-arguments] + +Signed-off-by: Zhu Chengfei <chengfeix.zhu@intel.com> +Signed-off-by: David Qian <david.qian@intel.com> + +diff --git a/src/qatzip/src/qatzip_internal.h b/src/qatzip/src/qatzip_internal.h +index 882c798..a784d53 100755 +--- a/src/qatzip/src/qatzip_internal.h ++++ b/src/qatzip/src/qatzip_internal.h +@@ -448,7 +448,7 @@ void cleanUpInstMem(int i); + + void qzMemDestory(void); + +-void streamBufferCleanup(); ++void streamBufferCleanup(void); + + //lz4 functions + unsigned long qzLZ4HeaderSz(void); +diff --git a/src/qatzip/src/qatzip_lz4.c b/src/qatzip/src/qatzip_lz4.c +index 8fd19ab..8ccd277 100644 +--- a/src/qatzip/src/qatzip_lz4.c ++++ b/src/qatzip/src/qatzip_lz4.c +@@ -49,12 +49,12 @@ + #include "qatzip_internal.h" + #include "qz_utils.h" + +-inline unsigned long qzLZ4HeaderSz() ++inline unsigned long qzLZ4HeaderSz(void) + { + return QZ_LZ4_HEADER_SIZE; + } + +-inline unsigned long qzLZ4FooterSz() ++inline unsigned long qzLZ4FooterSz(void) + { + return QZ_LZ4_FOOTER_SIZE; + } +diff --git a/src/qatzip/src/qatzip_stream.c b/src/qatzip/src/qatzip_stream.c +index 307e7db..418daf3 100644 +--- a/src/qatzip/src/qatzip_stream.c ++++ b/src/qatzip/src/qatzip_stream.c +@@ -125,7 +125,7 @@ static inline int removeNodeFromList(StreamBuffNode_T *node, + return SUCCESS; + } + +-void streamBufferCleanup() ++void streamBufferCleanup(void) + { + StreamBuffNode_T *node; + StreamBuffNode_T *next; +diff --git a/src/qatzip/test/bt.c b/src/qatzip/test/bt.c +index 8382a2b..7f788cc 100755 +--- a/src/qatzip/test/bt.c ++++ b/src/qatzip/test/bt.c +@@ -42,7 +42,7 @@ + + #define DEFAULT_BUF_LEN (256*1024) + +-void usage() ++void usage(void) + { + printf("-f fit decompress buffers to size (default full buffers)\n"); + printf("-s skip specific number of bytes\n"); +diff --git a/src/qatzip/test/main.c b/src/qatzip/test/main.c +index 9329142..b43de11 100755 +--- a/src/qatzip/test/main.c ++++ b/src/qatzip/test/main.c +@@ -196,10 +196,9 @@ static bool g_perf_svm = false; + + static struct timeval g_timers[100][100]; + static struct timeval g_timer_start; +-extern void dumpAllCounters(); ++extern void dumpAllCounters(void); + static int test_thread_safe_flag = 0; + extern processData_T g_process; +-extern int errno; + + QzBlock_T *parseFormatOption(char *buf) + { +diff --git a/src/qatzip/utils/qzip.c b/src/qatzip/utils/qzip.c +index 9abf7cf..1a23535 100644 +--- a/src/qatzip/utils/qzip.c ++++ b/src/qatzip/utils/qzip.c +@@ -754,7 +754,7 @@ void processFile(QzSession_T *sess, const char *in_name, + } + } + +-void version() ++void version(void) + { + char const *const *p = g_license_msg; + +diff --git a/src/qatzip/utils/qzip.h b/src/qatzip/utils/qzip.h +index aebaf83..f60af04 100644 +--- a/src/qatzip/utils/qzip.h ++++ b/src/qatzip/utils/qzip.h +@@ -655,7 +655,7 @@ Qz7zStreamsInfo_T *resolveMainStreamsInfo(FILE *fp); + Qz7zEndHeader_T *resolveEndHeader(FILE *fp, Qz7zSignatureHeader_T *sheader); + + /* create catagory list */ +-QzCatagoryTable_T *createCatagoryList(); ++QzCatagoryTable_T *createCatagoryList(void); + int scanFilesIntoCatagory(Qz7zItemList_T *the_list); + /* + * generate functions +@@ -743,7 +743,7 @@ void displayStats(RunTimeList_T *time_list, + + void tryHelp(void); + void help(void); +-void version(); ++void version(void); + char *qzipBaseName(char *fname); + QzSuffix_T getSuffix(const char *filename); + bool hasSuffix(const char *fname); +@@ -801,6 +801,5 @@ extern const unsigned int g_bufsz_expansion_ratio[4]; + extern char const g_short_opts[]; + extern const struct option g_long_opts[]; + extern const unsigned int USDM_ALLOC_MAX_SZ; +-extern int errno; + + #endif +diff --git a/src/qatzip/utils/qzip_7z.c b/src/qatzip/utils/qzip_7z.c +index 102440b..525e05e 100644 +--- a/src/qatzip/utils/qzip_7z.c ++++ b/src/qatzip/utils/qzip_7z.c +@@ -2406,7 +2406,7 @@ QzListHead_T *qzListCreate(int num_per_node) + return p; + } + +-Qz7zSignatureHeader_T *generateSignatureHeader() ++Qz7zSignatureHeader_T *generateSignatureHeader(void) + { + Qz7zSignatureHeader_T *header = qzMalloc(sizeof(Qz7zSignatureHeader_T), 0, + PINNED_MEM); +@@ -2450,7 +2450,7 @@ Qz7zPackInfo_T *generatePackInfo(Qz7zItemList_T *the_list, + return pack; + } + +-static Qz7zCoder_T *generateCoder() ++static Qz7zCoder_T *generateCoder(void) + { + + Qz7zCoder_T *coder = qzMalloc(sizeof(Qz7zCoder_T), 0, PINNED_MEM); +@@ -2666,7 +2666,7 @@ Qz7zStreamsInfo_T *generateStreamsInfo(Qz7zItemList_T *the_list, + return streams; + } + +-Qz7zArchiveProperty_T *generatePropertyInfo() ++Qz7zArchiveProperty_T *generatePropertyInfo(void) + { + Qz7zArchiveProperty_T *property = qzMalloc(sizeof(Qz7zArchiveProperty_T), 0, + PINNED_MEM); +@@ -2696,7 +2696,7 @@ Qz7zEndHeader_T *generateEndHeader(Qz7zItemList_T *the_list, + return header; + } + +-QzCatagoryTable_T *createCatagoryList() ++QzCatagoryTable_T *createCatagoryList(void) + { + QzCatagoryTable_T *cat_tbl; + cat_tbl = malloc(sizeof(QzCatagoryTable_T)); +-- +2.49.1 + diff --git a/sys-cluster/ceph/files/ceph-19.2.2-add-option-to-build-agains-system-opentelemetry.patch b/sys-cluster/ceph/files/ceph-19.2.2-add-option-to-build-agains-system-opentelemetry.patch new file mode 100644 index 000000000000..36c92dd92d04 --- /dev/null +++ b/sys-cluster/ceph/files/ceph-19.2.2-add-option-to-build-agains-system-opentelemetry.patch @@ -0,0 +1,56 @@ +https://github.com/ceph/ceph/pull/66924 + +From 8cf106cc799e641d51ab56cbf23903d9c994f924 Mon Sep 17 00:00:00 2001 +From: "Z. Liu" <zhixu.liu@gmail.com> +Date: Wed, 14 Jan 2026 12:08:53 +0800 +Subject: [PATCH] CMakeLists.txt: add option to build agains system + opentelemetry + +In Gentoo, if build against system opentelemetry, cmake failed with: + +> CMake Error at src/CMakeLists.txt:443 (target_link_libraries): +> The link interface of target "jaeger_base" contains: +> +> opentelemetry::libopentelemetry +> +> but the target was not found. Possible reasons include: +> +> * There is a typo in the target name. +> * A find_package call is missing for an IMPORTED target. +> * An ALIAS target is missing. + +See also: https://bugs.gentoo.org/930064 + +Signed-off-by: Z. Liu <zhixu.liu@gmail.com> + +diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt +index 51842026837..19dbba5e16d 100644 +--- a/src/CMakeLists.txt ++++ b/src/CMakeLists.txt +@@ -384,13 +384,19 @@ if(WITH_BREAKPAD) + IMPORTED_LINK_INTERFACE_LANGUAGES "CXX") + endif(WITH_BREAKPAD) + ++option(WITH_SYSTEM_OPENTELEMETRY "build against system opentelemetry" OFF) + if(WITH_JAEGER) + find_package(thrift 0.13.0 REQUIRED) +- include(BuildOpentelemetry) +- build_opentelemetry() + add_library(jaeger_base INTERFACE) +- target_link_libraries(jaeger_base INTERFACE opentelemetry::libopentelemetry +- thrift::libthrift) ++ if(WITH_SYSTEM_OPENTELEMETRY) ++ find_package(opentelemetry-cpp REQUIRED) ++ target_link_libraries(jaeger_base INTERFACE ${OPENTELEMETRY_CPP_LIBRARIES}) ++ else() ++ include(BuildOpentelemetry) ++ build_opentelemetry() ++ target_link_libraries(jaeger_base INTERFACE opentelemetry::libopentelemetry) ++ endif() ++ target_link_libraries(jaeger_base INTERFACE thrift::libthrift) + endif() + + set(mds_files) +-- +2.49.1 + diff --git a/sys-cluster/ceph/files/ceph-19.2.2-common-add-dependency-on-legacy-option-headers.patch b/sys-cluster/ceph/files/ceph-19.2.2-common-add-dependency-on-legacy-option-headers.patch new file mode 100644 index 000000000000..f1bd71377df7 --- /dev/null +++ b/sys-cluster/ceph/files/ceph-19.2.2-common-add-dependency-on-legacy-option-headers.patch @@ -0,0 +1,59 @@ +https://github.com/ceph/ceph/pull/66924 + +The patch is adjusted so that it can be applied to all ebuilds in the tree. + +From d5a8eaeb862d1840de8d82f6e958c1f609693ed8 Mon Sep 17 00:00:00 2001 +From: "Z. Liu" <zhixu.liu@gmail.com> +Date: Sat, 17 Jan 2026 20:59:09 +0800 +Subject: [PATCH] common: add dependency on legacy-option-headers +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +A heap_profiler build failure was initially observed due to parallel +build ordering. During parallel builds, src/perfglue/heap_profiler.cc +may fail to compile because it depends on legacy-option-headers and the +generated header global_legacy_options.h may not be available yet. This +results in incomplete definitions in included headers, leading to +compilation errors such as missing members in ConfigValues. + +For example, the following error is observed when building with "-j64": + +FAILED: [code=1] src/perfglue/CMakeFiles/heap_profiler.dir/heap_profiler.cc.o +/var/tmp/portage/sys-cluster/ceph-20.1.0-r2/work/ceph-20.1.0/src/perfglue/heap_profiler.cc: In function ‘void get_profile_name(char*, int)’: +src/perfglue/heap_profiler.cc:102:48: error: ‘class ConfigValues’ has no member named ‘log_file’ + snprintf(path, sizeof(path), "%s", g_conf()->log_file.c_str()); + ^~~~~~~~ + +The dependency chain is as follows: + +src/perfglue/heap_profiler.cc + -> src/perfglue/heap_profiler.h + -> src/common/config.h + -> src/common/config_values.h + -> src/common/options/legacy_config_opts.h + -> global_legacy_options.h (generated by y2c.py) + +The issue can be reliably reproduced by adding time.sleep(3600) at the +beginning of y2c.py. + +Further testing showed that heap_profiler is not the only affected +consumer. Additional analysis indicates that common is a shared +dependency of all affected components. Therefore, it is appropriate to +add legacy-option-headers as a dependency of common to ensure correct +build ordering under parallel builds. + +Signed-off-by: Z. Liu <zhixu.liu@gmail.com> + +diff --git a/src/common/options/CMakeLists.txt b/src/common/options/CMakeLists.txt +index 60cdbc3f224..4879c10d813 100644 +--- a/src/common/options/CMakeLists.txt ++++ b/src/common/options/CMakeLists.txt +@@ -112,3 +112,7 @@ target_sources(legacy-option-headers + include(AddCephTest) + add_ceph_test(validate-options + ${Python3_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR}/validate-options.py ${options_yamls}) ++ ++add_dependencies(common-options-objs ++ legacy-option-headers ++) diff --git a/sys-cluster/ceph/files/ceph-19.2.2-drop-export-dynamic.patch b/sys-cluster/ceph/files/ceph-19.2.2-drop-export-dynamic.patch new file mode 100644 index 000000000000..513f3b9eb6a2 --- /dev/null +++ b/sys-cluster/ceph/files/ceph-19.2.2-drop-export-dynamic.patch @@ -0,0 +1,21 @@ +clang: error: unknown argument: '-export-dynamic' + +This issue was introduced by ceph-17.2.3-flags.patch, +which was added to address https://bugs.gentoo.org/866159 +and has been dropped for ceph 20+. However, upstream +has refused to drop '-export-dynamic', see +https://github.com/ceph/ceph/pull/62424 + +diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt +index da3102f..fe053f9 100644 +--- a/src/CMakeLists.txt ++++ b/src/CMakeLists.txt +@@ -148,7 +148,7 @@ elseif(CMAKE_CXX_COMPILER_ID STREQUAL Clang) + message(FATAL_ERROR "C++20 support requires a minimum Clang version of 12.") + endif() + set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_EXPORTS_C_FLAG}") +- string(APPEND CMAKE_LINKER_FLAGS " -rdynamic -export-dynamic ${CMAKE_EXE_EXPORTS_C_FLAG}") ++ string(APPEND CMAKE_LINKER_FLAGS " -rdynamic ${CMAKE_EXE_EXPORTS_C_FLAG}") + string(PREPEND CMAKE_CXX_FLAGS_DEBUG "-g ") + add_compile_options($<$<COMPILE_LANGUAGE:CXX>:-Wno-inconsistent-missing-override>) + add_compile_options($<$<COMPILE_LANGUAGE:CXX>:-Wno-mismatched-tags>) diff --git a/sys-cluster/ceph/files/ceph-19.2.2-rbd-make-enums-statically-castable.patch b/sys-cluster/ceph/files/ceph-19.2.2-rbd-make-enums-statically-castable.patch new file mode 100644 index 000000000000..247b26ad7038 --- /dev/null +++ b/sys-cluster/ceph/files/ceph-19.2.2-rbd-make-enums-statically-castable.patch @@ -0,0 +1,130 @@ +https://github.com/ceph/ceph/commit/a4b9bf76a2c04daf25799ae2785a700d204ce20c + +From a4b9bf76a2c04daf25799ae2785a700d204ce20c Mon Sep 17 00:00:00 2001 +From: Dmitrii Sharshakov <d3dx12.xx@gmail.com> +Date: Thu, 1 Jan 2026 13:32:07 +0100 +Subject: [PATCH] rbd: make enums statically castable + +Fix the following compiler error: + +in-class initializer for static data member is not a constant expression + +Co-authored-by: Ilya Dryomov <idryomov@gmail.com> +Signed-off-by: Dmitrii Sharshakov <d3dx12.xx@gmail.com> + +diff --git a/src/cls/rbd/cls_rbd_types.h b/src/cls/rbd/cls_rbd_types.h +index cd7cad2e88d..c81d49bb6b3 100644 +--- a/src/cls/rbd/cls_rbd_types.h ++++ b/src/cls/rbd/cls_rbd_types.h +@@ -423,7 +423,7 @@ struct GroupSpec { + + WRITE_CLASS_ENCODER(GroupSpec); + +-enum SnapshotNamespaceType { ++enum SnapshotNamespaceType : uint32_t { + SNAPSHOT_NAMESPACE_TYPE_USER = 0, + SNAPSHOT_NAMESPACE_TYPE_GROUP = 1, + SNAPSHOT_NAMESPACE_TYPE_TRASH = 2, +diff --git a/src/librbd/journal/Types.h b/src/librbd/journal/Types.h +index a7d2f4ef446..544a1aca7bd 100644 +--- a/src/librbd/journal/Types.h ++++ b/src/librbd/journal/Types.h +@@ -25,7 +25,7 @@ class Formatter; + namespace librbd { + namespace journal { + +-enum EventType { ++enum EventType : uint32_t { + EVENT_TYPE_AIO_DISCARD = 0, + EVENT_TYPE_AIO_WRITE = 1, + EVENT_TYPE_AIO_FLUSH = 2, +@@ -464,7 +464,7 @@ private: + + // Journal Client data structures + +-enum ClientMetaType { ++enum ClientMetaType : uint32_t { + IMAGE_CLIENT_META_TYPE = 0, + MIRROR_PEER_CLIENT_META_TYPE = 1, + CLI_CLIENT_META_TYPE = 2 +diff --git a/src/librbd/mirroring_watcher/Types.h b/src/librbd/mirroring_watcher/Types.h +index c837e208d3e..1d0c6b8b46b 100644 +--- a/src/librbd/mirroring_watcher/Types.h ++++ b/src/librbd/mirroring_watcher/Types.h +@@ -18,7 +18,7 @@ namespace ceph { class Formatter; } + namespace librbd { + namespace mirroring_watcher { + +-enum NotifyOp { ++enum NotifyOp : uint32_t { + NOTIFY_OP_MODE_UPDATED = 0, + NOTIFY_OP_IMAGE_UPDATED = 1 + }; +diff --git a/src/librbd/trash_watcher/Types.h b/src/librbd/trash_watcher/Types.h +index ba6cd9ff2f8..b3b42ba2163 100644 +--- a/src/librbd/trash_watcher/Types.h ++++ b/src/librbd/trash_watcher/Types.h +@@ -17,7 +17,7 @@ + namespace librbd { + namespace trash_watcher { + +-enum NotifyOp { ++enum NotifyOp : uint32_t { + NOTIFY_OP_IMAGE_ADDED = 0, + NOTIFY_OP_IMAGE_REMOVED = 1 + }; +diff --git a/src/rbd_replay/ActionTypes.h b/src/rbd_replay/ActionTypes.h +index 585d756ea9d..e4103d1dcde 100644 +--- a/src/rbd_replay/ActionTypes.h ++++ b/src/rbd_replay/ActionTypes.h +@@ -61,7 +61,7 @@ WRITE_CLASS_ENCODER(Dependency); + + typedef std::vector<Dependency> Dependencies; + +-enum ActionType { ++enum ActionType : uint8_t { + ACTION_TYPE_START_THREAD = 0, + ACTION_TYPE_STOP_THREAD = 1, + ACTION_TYPE_READ = 2, +diff --git a/src/tools/rbd_mirror/image_map/Types.h b/src/tools/rbd_mirror/image_map/Types.h +index 871bc5ffffa..77efda17dc3 100644 +--- a/src/tools/rbd_mirror/image_map/Types.h ++++ b/src/tools/rbd_mirror/image_map/Types.h +@@ -60,7 +60,7 @@ typedef std::vector<std::string> InstanceIds; + typedef std::set<std::string> GlobalImageIds; + typedef std::map<std::string, ActionType> ImageActionTypes; + +-enum PolicyMetaType { ++enum PolicyMetaType : uint32_t { + POLICY_META_TYPE_NONE = 0, + }; + +diff --git a/src/tools/rbd_mirror/instance_watcher/Types.h b/src/tools/rbd_mirror/instance_watcher/Types.h +index 6bb430d36aa..549113a2853 100644 +--- a/src/tools/rbd_mirror/instance_watcher/Types.h ++++ b/src/tools/rbd_mirror/instance_watcher/Types.h +@@ -18,7 +18,7 @@ namespace rbd { + namespace mirror { + namespace instance_watcher { + +-enum NotifyOp { ++enum NotifyOp : uint32_t { + NOTIFY_OP_IMAGE_ACQUIRE = 0, + NOTIFY_OP_IMAGE_RELEASE = 1, + NOTIFY_OP_PEER_IMAGE_REMOVED = 2, +diff --git a/src/tools/rbd_mirror/leader_watcher/Types.h b/src/tools/rbd_mirror/leader_watcher/Types.h +index 0e987c4eb04..2f20e451843 100644 +--- a/src/tools/rbd_mirror/leader_watcher/Types.h ++++ b/src/tools/rbd_mirror/leader_watcher/Types.h +@@ -35,7 +35,7 @@ struct Listener { + virtual void handle_instances_removed(const InstanceIds& instance_ids) = 0; + }; + +-enum NotifyOp { ++enum NotifyOp : uint32_t { + NOTIFY_OP_HEARTBEAT = 0, + NOTIFY_OP_LOCK_ACQUIRED = 1, + NOTIFY_OP_LOCK_RELEASED = 2, +-- +2.49.1 + diff --git a/sys-cluster/ceph/files/ceph-19.2.2-rgw-remove-FMT_STRING-to-fix-clang-20-build-failure.patch b/sys-cluster/ceph/files/ceph-19.2.2-rgw-remove-FMT_STRING-to-fix-clang-20-build-failure.patch new file mode 100644 index 000000000000..428c6d7c48a6 --- /dev/null +++ b/sys-cluster/ceph/files/ceph-19.2.2-rgw-remove-FMT_STRING-to-fix-clang-20-build-failure.patch @@ -0,0 +1,51 @@ +https://github.com/ceph/ceph/pull/66928 + +From 4965dbac4bd17973eb15fe09d2a046a509b4a65a Mon Sep 17 00:00:00 2001 +From: "Z. Liu" <zhixu.liu@gmail.com> +Date: Wed, 14 Jan 2026 22:46:39 +0800 +Subject: [PATCH] rgw: remove FMT_STRING to fix clang 20+ build failure + +Fix a build failure with Clang 20+ using -std=c++20, where fmt +(v9.1.0, v11.0.0, and possibly other versions) fails to parse +format strings at compile-time in a consteval context. This is +a known issue in fmt, fixed in fmt v11.1.0 (see +https://github.com/fmtlib/fmt/commit/6797f0c39a4ef13061cbc3bb850c35af7428fdc4). + +The following error occurs when building rgw_auth_s3.cc: + + src/rgw/rgw_auth_s3.cc:600:22: error: call to consteval function + 'fmt::basic_format_string<...>' is not a constant expression + +Removing FMT_STRING avoids compile-time format string parsing +and restores buildability across different toolchains. + +Test case: + + #include <fmt/format.h> + + std::string gen_v4_scope(const std::string& region) + { + return fmt::format(FMT_STRING("{:s}"), region); + } + +Compile with: + + clang -isystem fmt/include -std=c++20 -c test.cc + +Signed-off-by: Z. Liu <zhixu.liu@gmail.com> + +diff --git a/src/rgw/rgw_auth_s3.cc b/src/rgw/rgw_auth_s3.cc +index c14a937685a..b31b0279d8e 100644 +--- a/src/rgw/rgw_auth_s3.cc ++++ b/src/rgw/rgw_auth_s3.cc +@@ -605,7 +605,7 @@ string gen_v4_scope(const ceph::real_time& timestamp, + auto mon = bt.tm_mon + 1; + auto day = bt.tm_mday; + +- return fmt::format(FMT_STRING("{:d}{:02d}{:02d}/{:s}/{:s}/aws4_request"), ++ return fmt::format("{:d}{:02d}{:02d}/{:s}/{:s}/aws4_request", + year, mon, day, region, service); + } + +-- +2.49.1 diff --git a/sys-cluster/ceph/files/ceph-19.2.2-rgw-update-to-latest-zpp_bits.h.patch b/sys-cluster/ceph/files/ceph-19.2.2-rgw-update-to-latest-zpp_bits.h.patch new file mode 100644 index 000000000000..8c5da696a6c3 --- /dev/null +++ b/sys-cluster/ceph/files/ceph-19.2.2-rgw-update-to-latest-zpp_bits.h.patch @@ -0,0 +1,236 @@ +https://github.com/ceph/ceph/commit/3fcd35367283beee3c02b73dc77b7c51028d59dc + +From 3fcd35367283beee3c02b73dc77b7c51028d59dc Mon Sep 17 00:00:00 2001 +From: Matt Benjamin <mbenjamin@redhat.com> +Date: Tue, 28 Jan 2025 15:07:06 -0500 +Subject: [PATCH] rgw: update to latest zpp_bits.h to compile w/gcc-14 & clang + 19 + +Fixes: https://tracker.ceph.com/issues/69696 + +Signed-off-by: Matt Benjamin <mbenjamin@redhat.com> + +diff --git a/src/rgw/driver/posix/zpp_bits.h b/src/rgw/driver/posix/zpp_bits.h +index 229b0d6d20d..b319aa8f3fb 100644 +--- a/src/rgw/driver/posix/zpp_bits.h ++++ b/src/rgw/driver/posix/zpp_bits.h +@@ -1,10 +1,3 @@ +-/* +-MIT License +- +-Copyright (c) 2021 Eyal Z +- +-Permission is hereby granted, free of charge, to any person obtaining a copy +-*/ + #ifndef ZPP_BITS_H + #define ZPP_BITS_H + +@@ -2687,8 +2680,12 @@ private: + { + using type = std::remove_cvref_t<decltype(container)>; + using value_type = typename type::value_type; +- constexpr auto is_const = std::is_const_v< +- std::remove_reference_t<decltype(container[0])>>; ++ constexpr auto is_const = ++ std::is_const_v<std::remove_reference_t<value_type>> || ++ requires { ++ requires std::is_const_v< ++ std::remove_reference_t<decltype(container[0])>>; ++ }; + + if constexpr (!std::is_void_v<SizeType> && + (requires(type container) { container.resize(1); } || +@@ -2827,9 +2824,7 @@ private: + if constexpr (requires { typename type::mapped_type; }) { + using value_type = std::pair<typename type::key_type, + typename type::mapped_type>; +- std::aligned_storage_t<sizeof(value_type), +- alignof(value_type)> +- storage; ++ alignas(value_type) std::byte storage[sizeof(value_type)]; + + auto object = access::placement_new<value_type>( + std::addressof(storage)); +@@ -2843,9 +2838,7 @@ private: + } else { + using value_type = typename type::value_type; + +- std::aligned_storage_t<sizeof(value_type), +- alignof(value_type)> +- storage; ++ alignas(value_type) std::byte storage[sizeof(value_type)]; + + auto object = access::placement_new<value_type>( + std::addressof(storage)); +@@ -2903,8 +2896,7 @@ private: + return result; + } + } else { +- std::aligned_storage_t<sizeof(value_type), alignof(value_type)> +- storage; ++ alignas(value_type) std::byte storage[sizeof(value_type)]; + + auto object = + access::placement_new<value_type>(std::addressof(storage)); +@@ -2947,9 +2939,7 @@ private: + } + return serialize_one(*std::get_if<element_type>(&variant)); + } else { +- std::aligned_storage_t<sizeof(element_type), +- alignof(element_type)> +- storage; ++ alignas(element_type) std::byte storage[sizeof(element_type)]; + + auto object = access::placement_new<element_type>( + std::addressof(storage)); +@@ -2996,8 +2986,7 @@ private: + return self.serialize_one( + *std::get_if<Types>(&variant)); + } else { +- std::aligned_storage_t<sizeof(Types), alignof(Types)> +- storage; ++ alignas(Types) std::byte storage[sizeof(Types)]; + + auto object = access::placement_new<Types>( + std::addressof(storage)); +@@ -3008,6 +2997,7 @@ private: + return result; + } + variant = std::move(*object); ++ return errc{}; + } + }...}; + +@@ -3307,7 +3297,7 @@ struct known_dynamic_id_variant + ZPP_BITS_INLINE constexpr static auto serialize(auto & serializer, + auto & self) + { +- return serializer.template serialize_one(self.variant, self.id); ++ return serializer.serialize_one(self.variant, self.id); + } + + Variant & variant; +@@ -3448,7 +3438,8 @@ struct [[nodiscard]] value_or_errc + } + + constexpr explicit value_or_errc(error_type error) : +- m_error(std::forward<decltype(error)>(error)) ++ m_error(std::forward<decltype(error)>(error)), ++ m_failure(true) + { + } + +@@ -5029,9 +5020,7 @@ struct pb + serialize use(); + }; + +- std::aligned_storage_t<sizeof(value_type), +- alignof(value_type)> +- storage; ++ alignas(value_type) std::byte storage[sizeof(value_type)]; + + auto object = + access::placement_new<value_type>(std::addressof(storage)); +@@ -5111,9 +5100,7 @@ struct pb + return errc{}; + } + } else { +- std::aligned_storage_t<sizeof(value_type), +- alignof(value_type)> +- storage; ++ alignas(value_type) std::byte storage[sizeof(value_type)]; + + auto object = access::placement_new<value_type>( + std::addressof(storage)); +@@ -5382,47 +5369,47 @@ constexpr auto sha256() + }; + auto align = [](auto v, auto a) { return (v + (a - 1)) / a * a; }; + +- auto h0 = big_endian{0x6a09e667u}; +- auto h1 = big_endian{0xbb67ae85u}; +- auto h2 = big_endian{0x3c6ef372u}; +- auto h3 = big_endian{0xa54ff53au}; +- auto h4 = big_endian{0x510e527fu}; +- auto h5 = big_endian{0x9b05688cu}; +- auto h6 = big_endian{0x1f83d9abu}; +- auto h7 = big_endian{0x5be0cd19u}; +- +- std::array k{big_endian{0x428a2f98u}, big_endian{0x71374491u}, +- big_endian{0xb5c0fbcfu}, big_endian{0xe9b5dba5u}, +- big_endian{0x3956c25bu}, big_endian{0x59f111f1u}, +- big_endian{0x923f82a4u}, big_endian{0xab1c5ed5u}, +- big_endian{0xd807aa98u}, big_endian{0x12835b01u}, +- big_endian{0x243185beu}, big_endian{0x550c7dc3u}, +- big_endian{0x72be5d74u}, big_endian{0x80deb1feu}, +- big_endian{0x9bdc06a7u}, big_endian{0xc19bf174u}, +- big_endian{0xe49b69c1u}, big_endian{0xefbe4786u}, +- big_endian{0x0fc19dc6u}, big_endian{0x240ca1ccu}, +- big_endian{0x2de92c6fu}, big_endian{0x4a7484aau}, +- big_endian{0x5cb0a9dcu}, big_endian{0x76f988dau}, +- big_endian{0x983e5152u}, big_endian{0xa831c66du}, +- big_endian{0xb00327c8u}, big_endian{0xbf597fc7u}, +- big_endian{0xc6e00bf3u}, big_endian{0xd5a79147u}, +- big_endian{0x06ca6351u}, big_endian{0x14292967u}, +- big_endian{0x27b70a85u}, big_endian{0x2e1b2138u}, +- big_endian{0x4d2c6dfcu}, big_endian{0x53380d13u}, +- big_endian{0x650a7354u}, big_endian{0x766a0abbu}, +- big_endian{0x81c2c92eu}, big_endian{0x92722c85u}, +- big_endian{0xa2bfe8a1u}, big_endian{0xa81a664bu}, +- big_endian{0xc24b8b70u}, big_endian{0xc76c51a3u}, +- big_endian{0xd192e819u}, big_endian{0xd6990624u}, +- big_endian{0xf40e3585u}, big_endian{0x106aa070u}, +- big_endian{0x19a4c116u}, big_endian{0x1e376c08u}, +- big_endian{0x2748774cu}, big_endian{0x34b0bcb5u}, +- big_endian{0x391c0cb3u}, big_endian{0x4ed8aa4au}, +- big_endian{0x5b9cca4fu}, big_endian{0x682e6ff3u}, +- big_endian{0x748f82eeu}, big_endian{0x78a5636fu}, +- big_endian{0x84c87814u}, big_endian{0x8cc70208u}, +- big_endian{0x90befffau}, big_endian{0xa4506cebu}, +- big_endian{0xbef9a3f7u}, big_endian{0xc67178f2u}}; ++ auto h0 = big_endian{std::uint32_t{0x6a09e667u}}; ++ auto h1 = big_endian{std::uint32_t{0xbb67ae85u}}; ++ auto h2 = big_endian{std::uint32_t{0x3c6ef372u}}; ++ auto h3 = big_endian{std::uint32_t{0xa54ff53au}}; ++ auto h4 = big_endian{std::uint32_t{0x510e527fu}}; ++ auto h5 = big_endian{std::uint32_t{0x9b05688cu}}; ++ auto h6 = big_endian{std::uint32_t{0x1f83d9abu}}; ++ auto h7 = big_endian{std::uint32_t{0x5be0cd19u}}; ++ ++ std::array k{big_endian{std::uint32_t{0x428a2f98u}}, big_endian{std::uint32_t{0x71374491u}}, ++ big_endian{std::uint32_t{0xb5c0fbcfu}}, big_endian{std::uint32_t{0xe9b5dba5u}}, ++ big_endian{std::uint32_t{0x3956c25bu}}, big_endian{std::uint32_t{0x59f111f1u}}, ++ big_endian{std::uint32_t{0x923f82a4u}}, big_endian{std::uint32_t{0xab1c5ed5u}}, ++ big_endian{std::uint32_t{0xd807aa98u}}, big_endian{std::uint32_t{0x12835b01u}}, ++ big_endian{std::uint32_t{0x243185beu}}, big_endian{std::uint32_t{0x550c7dc3u}}, ++ big_endian{std::uint32_t{0x72be5d74u}}, big_endian{std::uint32_t{0x80deb1feu}}, ++ big_endian{std::uint32_t{0x9bdc06a7u}}, big_endian{std::uint32_t{0xc19bf174u}}, ++ big_endian{std::uint32_t{0xe49b69c1u}}, big_endian{std::uint32_t{0xefbe4786u}}, ++ big_endian{std::uint32_t{0x0fc19dc6u}}, big_endian{std::uint32_t{0x240ca1ccu}}, ++ big_endian{std::uint32_t{0x2de92c6fu}}, big_endian{std::uint32_t{0x4a7484aau}}, ++ big_endian{std::uint32_t{0x5cb0a9dcu}}, big_endian{std::uint32_t{0x76f988dau}}, ++ big_endian{std::uint32_t{0x983e5152u}}, big_endian{std::uint32_t{0xa831c66du}}, ++ big_endian{std::uint32_t{0xb00327c8u}}, big_endian{std::uint32_t{0xbf597fc7u}}, ++ big_endian{std::uint32_t{0xc6e00bf3u}}, big_endian{std::uint32_t{0xd5a79147u}}, ++ big_endian{std::uint32_t{0x06ca6351u}}, big_endian{std::uint32_t{0x14292967u}}, ++ big_endian{std::uint32_t{0x27b70a85u}}, big_endian{std::uint32_t{0x2e1b2138u}}, ++ big_endian{std::uint32_t{0x4d2c6dfcu}}, big_endian{std::uint32_t{0x53380d13u}}, ++ big_endian{std::uint32_t{0x650a7354u}}, big_endian{std::uint32_t{0x766a0abbu}}, ++ big_endian{std::uint32_t{0x81c2c92eu}}, big_endian{std::uint32_t{0x92722c85u}}, ++ big_endian{std::uint32_t{0xa2bfe8a1u}}, big_endian{std::uint32_t{0xa81a664bu}}, ++ big_endian{std::uint32_t{0xc24b8b70u}}, big_endian{std::uint32_t{0xc76c51a3u}}, ++ big_endian{std::uint32_t{0xd192e819u}}, big_endian{std::uint32_t{0xd6990624u}}, ++ big_endian{std::uint32_t{0xf40e3585u}}, big_endian{std::uint32_t{0x106aa070u}}, ++ big_endian{std::uint32_t{0x19a4c116u}}, big_endian{std::uint32_t{0x1e376c08u}}, ++ big_endian{std::uint32_t{0x2748774cu}}, big_endian{std::uint32_t{0x34b0bcb5u}}, ++ big_endian{std::uint32_t{0x391c0cb3u}}, big_endian{std::uint32_t{0x4ed8aa4au}}, ++ big_endian{std::uint32_t{0x5b9cca4fu}}, big_endian{std::uint32_t{0x682e6ff3u}}, ++ big_endian{std::uint32_t{0x748f82eeu}}, big_endian{std::uint32_t{0x78a5636fu}}, ++ big_endian{std::uint32_t{0x84c87814u}}, big_endian{std::uint32_t{0x8cc70208u}}, ++ big_endian{std::uint32_t{0x90befffau}}, big_endian{std::uint32_t{0xa4506cebu}}, ++ big_endian{std::uint32_t{0xbef9a3f7u}}, big_endian{std::uint32_t{0xc67178f2u}}}; + + constexpr auto original_message = to_bytes<Object>(); + constexpr auto chunk_size = 512 / CHAR_BIT; +-- +2.49.1 + diff --git a/sys-cluster/ceph/files/ceph-19.2.2-silent-unused-variable-warning.patch b/sys-cluster/ceph/files/ceph-19.2.2-silent-unused-variable-warning.patch new file mode 100644 index 000000000000..b0d2714715c1 --- /dev/null +++ b/sys-cluster/ceph/files/ceph-19.2.2-silent-unused-variable-warning.patch @@ -0,0 +1,48 @@ +https://github.com/intel/QATzip/pull/131 but the patch below is not merged +https://github.com/intel/QATzip/pull/119 using __attribute__((unused)) + +From d2a9a7694b4785f67d6f95b49c20f6b3984ffe99 Mon Sep 17 00:00:00 2001 +From: "Z. Liu" <zhixu.liu@gmail.com> +Date: Fri, 21 Mar 2025 03:01:53 +0000 +Subject: [PATCH] silent unused variable warning + +such as: +> error: variable 'sleep_cnt' set but not used [-Werror,-Wunused-but-set-variable] + +Signed-off-by: Z. Liu <zhixu.liu@gmail.com> + +diff --git a/src/qatzip/src/qatzip.c b/src/qatzip/src/qatzip.c +index 1a12973..ac73dcd 100755 +--- a/src/qatzip/src/qatzip.c ++++ b/src/qatzip/src/qatzip.c +@@ -1495,6 +1495,7 @@ static void *doCompressOut(void *in) + CpaDcRqResults *resl; + CpaStatus sts; + unsigned int sleep_cnt = 0; ++ (void)sleep_cnt; + QzSession_T *sess = (QzSession_T *) in; + QzSess_T *qz_sess = (QzSess_T *) sess->internal; + long dest_avail_len = (long)(*qz_sess->dest_sz - qz_sess->qz_out_len); +@@ -2124,6 +2125,7 @@ static void *__attribute__((cold)) doDecompressOut(void *in) + CpaDcRqResults *resl; + CpaStatus sts; + unsigned int sleep_cnt = 0; ++ (void)sleep_cnt; + unsigned int done = 0; + unsigned int src_send_sz; + unsigned int dest_avail_len; +diff --git a/src/qatzip/test/main.c b/src/qatzip/test/main.c +index 8ba3384..19ecacb 100755 +--- a/src/qatzip/test/main.c ++++ b/src/qatzip/test/main.c +@@ -209,6 +209,7 @@ QzBlock_T *parseFormatOption(char *buf) + char *saveptr, *sub_saveptr; + + int i, j, fmt_idx; ++ (void)j; + unsigned int fmt_found = 0; + QzBlock_T *blk = NULL; + QzBlock_T *head, *prev, *r; +-- +2.49.1 + diff --git a/sys-cluster/ceph/files/ceph-19.2.2-src-mgr-make-enum-statically-castable.patch b/sys-cluster/ceph/files/ceph-19.2.2-src-mgr-make-enum-statically-castable.patch new file mode 100644 index 000000000000..79f8cb1b6e31 --- /dev/null +++ b/sys-cluster/ceph/files/ceph-19.2.2-src-mgr-make-enum-statically-castable.patch @@ -0,0 +1,30 @@ +https://github.com/ceph/ceph/commit/856e550b37a0899e2fdda6b1f027093b6e205889 + +From 856e550b37a0899e2fdda6b1f027093b6e205889 Mon Sep 17 00:00:00 2001 +From: Dmitrii Sharshakov <d3dx12.xx@gmail.com> +Date: Thu, 1 Jan 2026 13:33:41 +0100 +Subject: [PATCH] src/mgr: make enum statically castable + +Fix the following compiler error: + +in-class initializer for static data member is not a constant expression + +Co-authored-by: Ilya Dryomov <idryomov@gmail.com> +Signed-off-by: Dmitrii Sharshakov <d3dx12.xx@gmail.com> + +diff --git a/src/mgr/MetricTypes.h b/src/mgr/MetricTypes.h +index 0f8ae16990f..37cafa2b92a 100644 +--- a/src/mgr/MetricTypes.h ++++ b/src/mgr/MetricTypes.h +@@ -193,7 +193,7 @@ WRITE_CLASS_ENCODER(MetricReportMessage); + + // variant for sending configure message to mgr clients + +-enum MetricConfigType { ++enum MetricConfigType : uint32_t { + METRIC_CONFIG_TYPE_OSD = 0, + METRIC_CONFIG_TYPE_MDS = 1, + }; +-- +2.49.1 + diff --git a/sys-cluster/ceph/files/ceph-20.1.0-opentelemetry.patch b/sys-cluster/ceph/files/ceph-20.1.0-opentelemetry.patch deleted file mode 100644 index 5b9dcd7d1b3e..000000000000 --- a/sys-cluster/ceph/files/ceph-20.1.0-opentelemetry.patch +++ /dev/null @@ -1,48 +0,0 @@ -From 8e0d3dc90ab7bafc59b86e9a66d08d1e2b6f3e0e Mon Sep 17 00:00:00 2001 -From: "Z. Liu" <zhixu.liu@gmail.com> -Date: Tue, 15 Apr 2025 21:48:10 +0800 -Subject: [PATCH] CMakeLists.txt: fix opentelemetry library - -otherwise, cmake failed with: - -> CMake Error at src/CMakeLists.txt:443 (target_link_libraries): -> The link interface of target "jaeger_base" contains: -> -> opentelemetry::libopentelemetry -> -> but the target was not found. Possible reasons include: -> -> * There is a typo in the target name. -> * A find_package call is missing for an IMPORTED target. -> * An ALIAS target is missing. - -See also: https://bugs.gentoo.org/930064 - -Signed-off-by: Z. Liu <zhixu.liu@gmail.com> ---- - src/CMakeLists.txt | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt -index 801086e1268a1..5d30cde9790d4 100644 ---- a/src/CMakeLists.txt -+++ b/src/CMakeLists.txt -@@ -330,7 +330,7 @@ if(WITH_JAEGER) - include(BuildOpentelemetry) - build_opentelemetry() - add_library(jaeger_base INTERFACE) -- target_link_libraries(jaeger_base INTERFACE opentelemetry::libopentelemetry -+ target_link_libraries(jaeger_base INTERFACE ${OPENTELEMETRY_CPP_LIBRARIES} - thrift::libthrift) - endif() - ---- a/src/CMakeLists.txt 2025-09-17 07:24:59.548258925 -0000 -+++ b/src/CMakeLists.txt 2025-09-17 07:28:31.449345268 -0000 -@@ -319,6 +319,7 @@ - - if(WITH_JAEGER) - find_package(thrift 0.13.0 REQUIRED) -+ find_package(prometheus-cpp REQUIRED) - find_package(opentelemetry-cpp REQUIRED) - set(jaeger_base - opentelemetry-cpp::common |
