[packages/ceph/DEVEL-17] - added gcc12 patch from Fedora

qboosh qboosh at pld-linux.org
Thu Sep 15 21:45:05 CEST 2022


commit a74f78a4478a6cbf9c5695637a994b4e43254157
Author: Jakub Bogusz <qboosh at pld-linux.org>
Date:   Thu Sep 15 21:45:14 2022 +0200

    - added gcc12 patch from Fedora

 ceph-gcc12.patch | 83 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 ceph.spec        |  3 ++
 2 files changed, 86 insertions(+)
---
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} \
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 <sys/mman.h>
+ #endif
+ 
++#include <memory>
+ #include <iosfwd>
+ #include <iomanip>
+ #include <list>
+--- 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<typename T>
+ 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<typename T>
+-dynamic_marker_t<T> need_dynamic(T&& t) {
++constexpr dynamic_marker_t<T> need_dynamic(T&& t) {
++  // deprecated in C++17 but that's fine for testing
++  static_assert(std::is_literal_type_v<T>);
++  static_assert(std::is_literal_type_v<dynamic_marker_t<T>>);
+   return dynamic_marker_t<T>{ std::forward<T>(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)
================================================================

---- gitweb:

http://git.pld-linux.org/gitweb.cgi/packages/ceph.git/commitdiff/a74f78a4478a6cbf9c5695637a994b4e43254157



More information about the pld-cvs-commit mailing list