diff --git a/0017-gcc-12-omnibus.patch b/0017-gcc-12-omnibus.patch new file mode 100644 index 0000000..8aef69f --- /dev/null +++ b/0017-gcc-12-omnibus.patch @@ -0,0 +1,83 @@ +--- ceph-16.2.7/src/include/buffer.h.orig 2022-01-17 12:17:19.193356237 -0500 ++++ ceph-16.2.7/src/include/buffer.h 2022-01-17 12:17:58.599639592 -0500 +@@ -38,6 +38,7 @@ + # include + #endif + ++#include + #include + #include + #include +--- ceph-16.2.7/src/common/LogEntry.cc.orig 2022-01-17 13:52:10.799134159 -0500 ++++ ceph-16.2.7/src/common/LogEntry.cc 2022-01-17 13:52:47.244469274 -0500 +@@ -183,7 +183,7 @@ + return "crit"; + default: + ceph_abort(); +- return 0; ++ return ""; + } + } + +--- ceph-16.2.7/src/common/dout.h.orig 2022-01-18 08:58:11.805226954 -0500 ++++ ceph-16.2.7/src/common/dout.h 2022-01-19 08:06:23.987388663 -0500 +@@ -99,11 +99,15 @@ + template + struct dynamic_marker_t { + T value; +- operator T() const { return value; } ++ // constexpr ctor isn't needed as it's an aggregate type ++ constexpr operator T() const { return value; } + }; + + template +-dynamic_marker_t need_dynamic(T&& t) { ++constexpr dynamic_marker_t need_dynamic(T&& t) { ++ // deprecated in C++17 but that's fine for testing ++ static_assert(std::is_literal_type_v); ++ static_assert(std::is_literal_type_v>); + return dynamic_marker_t{ std::forward(t) }; + } + +--- ceph-16.2.7/src/test/librados/tier_cxx.cc.orig 2022-01-19 09:30:47.209459506 -0500 ++++ ceph-16.2.7/src/test/librados/tier_cxx.cc 2022-01-19 10:02:47.783240298 -0500 +@@ -114,7 +114,7 @@ + #include "rgw/rgw_common.h" + + void check_fp_oid_refcount(librados::IoCtx& ioctx, std::string foid, uint64_t count, +- std::string fp_algo = NULL) ++ std::string fp_algo = "") + { + bufferlist t; + int size = foid.length(); +@@ -142,7 +142,7 @@ + ASSERT_LE(count, refs.count()); + } + +-string get_fp_oid(string oid, std::string fp_algo = NULL) ++string get_fp_oid(string oid, std::string fp_algo = "") + { + if (fp_algo == "sha1") { + unsigned char fingerprint[CEPH_CRYPTO_SHA1_DIGESTSIZE + 1]; +--- ceph-16.2.7/src/test/test_trans.cc.orig 2022-01-19 13:24:33.460008897 -0500 ++++ ceph-16.2.7/src/test/test_trans.cc 2022-01-19 13:24:58.211554005 -0500 +@@ -51,7 +51,7 @@ + cout << "#dev " << filename << std::endl; + cout << "#mb " << mb << std::endl; + +- ObjectStore *fs = new FileStore(cct.get(), filename, NULL); ++ ObjectStore *fs = new FileStore(cct.get(), filename, ""); + if (fs->mount() < 0) { + cout << "mount failed" << std::endl; + return -1; +--- ceph-16.2.7/src/s3select/include/s3select_functions.h.orig 2022-01-19 15:06:45.312783565 -0500 ++++ ceph-16.2.7/src/s3select/include/s3select_functions.h 2022-01-19 15:08:17.270087590 -0500 +@@ -142,7 +142,7 @@ + + virtual std::string print(int ident) + { +- return std::string(0); ++ return std::string(""); + } + + void push_argument(base_statement* arg) diff --git a/ceph.spec b/ceph.spec index e7ca90e..8d6ebcf 100644 --- a/ceph.spec +++ b/ceph.spec @@ -128,7 +128,7 @@ ################################################################################# Name: ceph Version: 16.2.7 -Release: 3%{?dist} +Release: 4%{?dist} %if 0%{?fedora} || 0%{?rhel} Epoch: 2 %endif @@ -152,6 +152,7 @@ Patch0008: 0008-cmake-modules-Finduring.cmake.patch Patch0014: 0014-rgw-Replace-boost-string_ref-view-with-std-string_vi.patch Patch0015: 0015-src-kv-rocksdb_cache.patch Patch0016: 0016-src-tracing-patch +Patch0017: 0017-gcc-12-omnibus.patch # Source1: cmake-modules-BuildBoost.cmake.noautopatch # ceph 14.0.1 does not support 32-bit architectures, bugs #1727788, #1727787 ExcludeArch: i686 armv7hl @@ -2516,6 +2517,9 @@ exit 0 %config %{_sysconfdir}/prometheus/ceph/ceph_default_alerts.yml %changelog +* Thu Jan 20 2022 Kaleb S. KEITHLEY - 2:16.2.7-4 +- 16.2.7, rebuild with gcc-12 + * Mon Jan 10 2022 Kaleb S. KEITHLEY - 2:16.2.7-3 - 16.2.7, rebuild with fmt-8.1.1