From: Jakub Bogusz Date: Thu, 15 Sep 2022 19:45:14 +0000 (+0200) Subject: - added gcc12 patch from Fedora X-Git-Tag: auto/th/ceph-17.2.3-1~1 X-Git-Url: http://git.pld-linux.org/?p=packages%2Fceph.git;a=commitdiff_plain;h=a74f78a - added gcc12 patch from Fedora --- diff --git a/ceph-gcc12.patch b/ceph-gcc12.patch new file mode 100644 index 0000000..7e4f116 --- /dev/null +++ b/ceph-gcc12.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-17.0.0-10335-gfd206722/src/s3select/include/s3select_functions.h.orig 2022-02-11 17:21:40.268627997 -0500 ++++ ceph-17.0.0-10335-gfd206722/src/s3select/include/s3select_functions.h 2022-02-11 17:21:57.155325437 -0500 +@@ -466,7 +466,7 @@ + + std::string print(int ident) override + { +- return std::string(0); ++ return std::string(""); + } + + void push_argument(base_statement* arg) diff --git a/ceph.spec b/ceph.spec index bb26505..e94231a 100644 --- a/ceph.spec +++ b/ceph.spec @@ -71,6 +71,8 @@ Patch11: %{name}-liburing.patch Patch12: %{name}-glibc.patch Patch13: %{name}-libfmt.patch Patch14: %{name}-system-rocksdb.patch +# https://src.fedoraproject.org/rpms/ceph/blob/rawhide/f/0017-gcc-12-omnibus.patch +Patch15: %{name}-gcc12.patch URL: https://ceph.io/ %{?with_qatzip:BuildRequires: QATzip-devel} %{?with_babeltrace:BuildRequires: babeltrace-devel} @@ -341,6 +343,7 @@ uruchamiania demonów. %patch12 -p1 %patch13 -p1 %patch14 -p1 +%patch15 -p1 %{__sed} -i -e '1s,/usr/bin/env bash,/bin/bash,' \ src/{ceph-post-file.in,rbd-replay-many,rbdmap} \