diff --git a/0058-src-CMakeLists.txt.patch b/0058-src-CMakeLists.txt.patch index 41c5c7c..eba46fa 100644 --- a/0058-src-CMakeLists.txt.patch +++ b/0058-src-CMakeLists.txt.patch @@ -1,11 +1,13 @@ ---- ceph-20.0.0-2099-gc62cbb7d/src/CMakeLists.txt.orig 2025-06-09 21:24:59.142635736 -0400 -+++ ceph-20.0.0-2099-gc62cbb7d/src/CMakeLists.txt 2025-06-09 21:25:28.172137714 -0400 -@@ -849,7 +849,7 @@ - if(WITH_LIBCEPHFS) - set(libcephfs_srcs libcephfs.cc) - add_library(cephfs ${CEPH_SHARED} ${libcephfs_srcs}) -- target_link_libraries(cephfs PRIVATE client ceph-common -+ target_link_libraries(cephfs PRIVATE client ceph-common common - ${CRYPTO_LIBS} ${EXTRALIBS}) - if(ENABLE_SHARED) - set(libcephfs_version 2.0.0) +--- ceph-20.2.0/src/CMakeLists.txt.orig 2026-01-20 14:31:56.764231793 -0500 ++++ ceph-20.2.0/src/CMakeLists.txt 2026-01-20 14:35:21.258787691 -0500 +@@ -1051,8 +1051,8 @@ + if(WITH_RADOSGW) + if(WITH_RADOSGW_SELECT_PARQUET OR WITH_RADOSGW_ARROW_FLIGHT) + if(WITH_SYSTEM_ARROW) +- find_package(Arrow 4 REQUIRED QUIET) +- find_package(Parquet 4 REQUIRED QUIET) ++ find_package(Arrow REQUIRED QUIET) ++ find_package(Parquet REQUIRED QUIET) + else() + # find arrow's dependencies + if (WITH_SYSTEM_UTF8PROC) diff --git a/0061-gcc-16.patch b/0061-gcc-16.patch new file mode 100644 index 0000000..2ba7bad --- /dev/null +++ b/0061-gcc-16.patch @@ -0,0 +1,70 @@ +--- ceph-20.2.0/src/common/Formatter.h.orig 2026-01-06 17:47:18.437014517 -0500 ++++ ceph-20.2.0/src/common/Formatter.h 2026-01-06 17:47:53.015404074 -0500 +@@ -12,6 +12,7 @@ + #include + #include + #include ++#include + #include + #include + #include +--- ceph-20.2.0/src/mds/Locker.cc.orig 2026-01-07 10:34:12.731210930 -0500 ++++ ceph-20.2.0/src/mds/Locker.cc 2026-01-07 10:34:35.627823155 -0500 +@@ -4489,7 +4489,7 @@ + dout(7) << "handle_client_lease client." << client << " renew on " << *dn + << (!dn->lock.can_lease(client)?", revoking lease":"") << dendl; + if (dn->lock.can_lease(client)) { +- auto reply = make_message(*m); ++ auto reply = ceph::make_message(*m); + int pool = 1; // fixme.. do something smart! + reply->h.duration_ms = (int)(1000 * mdcache->client_lease_durations[pool]); + reply->h.seq = ++l->seq; +--- ceph-20.2.0/src/mds/Server.cc.orig 2026-01-07 11:27:13.532097596 -0500 ++++ ceph-20.2.0/src/mds/Server.cc 2026-01-07 11:28:42.411581266 -0500 +@@ -150,7 +150,7 @@ + } + } + batch_reqs.clear(); +- server->reply_client_request(mdr, make_message(*mdr->client_request, r)); ++ server->reply_client_request(mdr, ceph::make_message(*mdr->client_request, r)); + } + void print(std::ostream& o) const override { + o << "[batch front=" << *mdr << "]"; +@@ -2142,7 +2142,7 @@ + dout(20) << __func__ << ": batch head " << *mdr << dendl; + mdr->release_batch_op()->respond(r); + } else { +- reply_client_request(mdr, make_message(*mdr->client_request, r)); ++ reply_client_request(mdr, ceph::make_message(*mdr->client_request, r)); + } + } else if (mdr->internal_op > -1) { + dout(10) << __func__ << ": completing with result " << cpp_strerror(r) << " on internal " << *mdr << dendl; +@@ -2290,7 +2290,7 @@ + } + + +- auto reply = make_message(*req, 0); ++ auto reply = ceph::make_message(*req, 0); + reply->set_unsafe(); + + // mark xlocks "done", indicating that we are exposing uncommitted changes. +@@ -2632,7 +2632,7 @@ + req->get_op() != CEPH_MDS_OP_OPEN && + req->get_op() != CEPH_MDS_OP_CREATE)) { + dout(5) << "already completed " << req->get_reqid() << dendl; +- auto reply = make_message(*req, 0); ++ auto reply = ceph::make_message(*req, 0); + if (created != inodeno_t()) { + bufferlist extra; + set_reply_extra_bl(req, created, extra); +--- ceph-20.2.0/src/mds/MDCache.cc.orig 2026-01-07 11:28:48.882470871 -0500 ++++ ceph-20.2.0/src/mds/MDCache.cc 2026-01-07 11:29:12.405069562 -0500 +@@ -10535,7 +10535,7 @@ + + + CInode *cur = 0; +- auto reply = make_message(*dis); ++ auto reply = ceph::make_message(*dis); + + snapid_t snapid = dis->get_snapid(); + diff --git a/0062-src-rgw-driver-dbstore-CMakeLists.txt.patch b/0062-src-rgw-driver-dbstore-CMakeLists.txt.patch new file mode 100644 index 0000000..6759dd0 --- /dev/null +++ b/0062-src-rgw-driver-dbstore-CMakeLists.txt.patch @@ -0,0 +1,11 @@ +--- ceph-20.2.0/src/rgw/driver/dbstore/CMakeLists.txt.orig 2026-01-27 19:53:53.780108462 -0500 ++++ ceph-20.2.0/src/rgw/driver/dbstore/CMakeLists.txt 2026-01-28 07:30:04.861741687 -0500 +@@ -34,7 +34,7 @@ + list(APPEND link_targets jaeger_base) + endif() + list(APPEND link_targets rgw_common) +-target_link_libraries(dbstore_lib PUBLIC ${link_targets}) ++target_link_libraries(dbstore_lib PUBLIC ${link_targets} PRIVATE rgw_a) + + set (CMAKE_LINK_LIBRARIES ${CMAKE_LINK_LIBRARIES} dbstore_lib) + diff --git a/ceph.spec b/ceph.spec index 6caf4a6..af490e4 100644 --- a/ceph.spec +++ b/ceph.spec @@ -180,7 +180,7 @@ ################################################################################# Name: ceph Version: 20.2.0 -Release: 6%{?dist} +Release: 7%{?dist} %if 0%{?fedora} || 0%{?rhel} Epoch: 2 %endif @@ -219,6 +219,8 @@ Patch: 0056-libarrow-20.0.0.patch Patch: 0057-src-json_spirit-json_spirit_reader_template.h.patch Patch: 0058-src-CMakeLists.txt.patch Patch: 0059-iso646.patch +Patch: 0061-gcc-16.patch +Patch: 0062-src-rgw-driver-dbstore-CMakeLists.txt.patch # ceph 14.0.1 does not support 32-bit architectures, bugs #1727788, #1727787 ExcludeArch: i686 armv7hl @@ -256,11 +258,7 @@ BuildRequires: gcc-c++ %if 0%{?fedora} || 0%{?rhel} BuildRequires: libatomic %endif -%ifarch x86_64 aarch64 -%bcond_with ld_mold -%else -%bcond_with ld_mold -%endif +%bcond_without ld_mold %if 0%{with ld_mold} BuildRequires: mold %endif @@ -2742,6 +2740,9 @@ exit 0 %{python3_sitelib}/ceph_node_proxy-* %changelog +* Wed Jan 28 2026 Kaleb S. KEITHLEY - 2:20.2.0-7 +- ceph-20.2.0, rhbz#2433903 + * Fri Jan 16 2026 Fedora Release Engineering - 2:20.2.0-6 - Rebuilt for https://fedoraproject.org/wiki/Fedora_44_Mass_Rebuild