Merge ~athos-ribeiro/ubuntu/+source/ceph:resource-agents-split into ubuntu/+source/ceph:ubuntu/devel

Proposed by Athos Ribeiro
Status: Merged
Approved by: Andreas Hasenack
Approved revision: 9c1d4da30dce6e68dec85278988ffe487fe67fb6
Merge reported by: Andreas Hasenack
Merged at revision: 9c1d4da30dce6e68dec85278988ffe487fe67fb6
Proposed branch: ~athos-ribeiro/ubuntu/+source/ceph:resource-agents-split
Merge into: ubuntu/+source/ceph:ubuntu/devel
Diff against target: 516 lines (+208/-255)
6 files modified
debian/changelog (+14/-0)
debian/control (+2/-2)
debian/patches/cmake-allow-empty-submodules.patch (+23/-0)
debian/patches/fix-boost-1.82-build.patch (+167/-0)
debian/patches/series (+2/-1)
dev/null (+0/-252)
Reviewer Review Type Date Requested Status
Luciano Lo Giudice (community) Approve
Canonical Server packageset reviewers Pending
Canonical Server Reporter Pending
git-ubuntu import Pending
Review via email: mp+459090@code.launchpad.net

Description of the change

We removed the resource-agents transition package for noble. This should now depend on resource-agents-common.

Since the package was FTBFS, I am also providing a fix for that here.

PPA: https://launchpad.net/~athos-ribeiro/+archive/ubuntu/ceph-resource-agents-split/+packages

To post a comment you must log in.
Revision history for this message
Luciano Lo Giudice (lmlogiudice) wrote :

lgtm, thanks!

review: Approve
Revision history for this message
Athos Ribeiro (athos-ribeiro) wrote :

Thanks, Luciano!

Uploaded.

Uploading to ubuntu (via ftp to upload.ubuntu.com):
  Uploading ceph_18.2.0-0ubuntu5.dsc: done.
  Uploading ceph_18.2.0-0ubuntu5.debian.tar.xz: done.
  Uploading ceph_18.2.0-0ubuntu5_source.buildinfo: done.
  Uploading ceph_18.2.0-0ubuntu5_source.changes: done.
Successfully uploaded packages.

Revision history for this message
Andreas Hasenack (ahasenack) wrote :

This was uploaded and is in noble-proposed already. Marking this MP as merged.

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1diff --git a/debian/changelog b/debian/changelog
2index 7e73163..e482308 100644
3--- a/debian/changelog
4+++ b/debian/changelog
5@@ -1,3 +1,17 @@
6+ceph (18.2.0-0ubuntu5) noble; urgency=medium
7+
8+ * d/control: depend on resource-agents-common. The transitional
9+ resource-agents package has been removed.
10+ * d/p/cmake-allow-empty-submodules.patch: use quotes to allow empty
11+ submodules variable during the cmake build configuration. This is
12+ a FTBFS fix for noble.
13+ * d/control: switch to cython3-legacy. Thanks to Bas Couwenberg.
14+ (Closes: #1056793)
15+ * d/p/fix-boost-reef.patch: drop boost 1.74 changes.
16+ * d/p/fix-boost-1.82-build.patch: fix build for boost >= 1.82.
17+
18+ -- Athos Ribeiro <athos.ribeiro@canonical.com> Fri, 19 Jan 2024 16:36:49 -0300
19+
20 ceph (18.2.0-0ubuntu4) noble; urgency=medium
21
22 * No-change rebuild for ICU soname change.
23diff --git a/debian/control b/debian/control
24index 18350c8..683ad2d 100644
25--- a/debian/control
26+++ b/debian/control
27@@ -13,7 +13,7 @@ Vcs-Browser: https://salsa.debian.org/ceph-team/ceph
28 Build-Depends:
29 clang [armhf mipsel armel m68k sh4],
30 cmake,
31- cython3,
32+ cython3-legacy,
33 debhelper (>= 10~),
34 default-jdk,
35 dh-exec,
36@@ -467,7 +467,7 @@ Recommends:
37 pacemaker,
38 Depends:
39 ceph (>= ${binary:Version}),
40- resource-agents,
41+ resource-agents-common,
42 ${misc:Depends},
43 Description: OCF-compliant resource agents for Ceph
44 Ceph is a distributed storage and network file system designed to provide
45diff --git a/debian/patches/cmake-allow-empty-submodules.patch b/debian/patches/cmake-allow-empty-submodules.patch
46new file mode 100644
47index 0000000..827b6dc
48--- /dev/null
49+++ b/debian/patches/cmake-allow-empty-submodules.patch
50@@ -0,0 +1,23 @@
51+Description: Quote variable in cmake file to allow empy values
52+ Use quotes to allow empty submodules variable during the cmake build
53+ configuration, fixing a FTBFS issue started in noble.
54+Author: Athos Ribeiro <athos.ribeiro@canonical.com>
55+Forwarded: no
56+Last-Update: 2024-01-20
57+---
58+This patch header follows DEP-3: http://dep.debian.net/deps/dep3/
59+--- a/cmake/modules/CTags.cmake
60++++ b/cmake/modules/CTags.cmake
61+@@ -16,10 +16,10 @@
62+ OUTPUT_VARIABLE submodules
63+ OUTPUT_STRIP_TRAILING_WHITESPACE)
64+ if(${result_code} EQUAL 0)
65+- string(REPLACE "${TAGS_SRC_DIR}/" "" submodules ${submodules})
66++ string(REPLACE "${TAGS_SRC_DIR}/" "" submodules "${submodules}")
67+ # cmake list uses ";" as the delimiter, so split the string manually
68+ # before iterating in it.
69+- string(REPLACE "\n" ";" submodules ${submodules})
70++ string(REPLACE "\n" ";" submodules "${submodules}")
71+ list(APPEND excludes ${submodules})
72+ endif()
73+ endif()
74diff --git a/debian/patches/fix-boost-1.82-build.patch b/debian/patches/fix-boost-1.82-build.patch
75new file mode 100644
76index 0000000..3ec3525
77--- /dev/null
78+++ b/debian/patches/fix-boost-1.82-build.patch
79@@ -0,0 +1,167 @@
80+From 244c5ebbd4d5683da7f57612cc02e946aae7fd73 Mon Sep 17 00:00:00 2001
81+From: "Adam C. Emerson" <aemerson@redhat.com>
82+Date: Mon, 15 May 2023 18:31:38 -0400
83+Subject: [PATCH] build: Bump boost to 1.82
84+
85+Needed to fix coroutine detection under Clang
86+
87+Signed-off-by: Adam C. Emerson <aemerson@redhat.com>
88+---
89+ CMakeLists.txt | 9 +++++++--
90+ cmake/modules/BuildBoost.cmake | 6 +++---
91+ cmake/modules/FindBoost.cmake | 2 +-
92+ install-deps.sh | 4 ++--
93+ make-dist | 4 ++--
94+ src/rgw/rgw_asio_client.cc | 14 +++++++-------
95+ win32_deps_build.sh | 4 ++--
96+ 7 files changed, 24 insertions(+), 19 deletions(-)
97+
98+diff --git a/CMakeLists.txt b/CMakeLists.txt
99+index 8ac7b5c953b..2852a7488ac 100644
100+--- a/CMakeLists.txt
101++++ b/CMakeLists.txt
102+@@ -661,7 +661,7 @@ if(WITH_SYSTEM_BOOST)
103+ if(BOOST_ROOT AND CMAKE_LIBRARY_ARCHITECTURE)
104+ set(BOOST_LIBRARYDIR "${BOOST_ROOT}/lib/${CMAKE_LIBRARY_ARCHITECTURE}")
105+ endif()
106+- find_package(Boost 1.79 COMPONENTS ${BOOST_COMPONENTS} REQUIRED)
107++ find_package(Boost 1.82 COMPONENTS ${BOOST_COMPONENTS} REQUIRED)
108+ if(NOT ENABLE_SHARED)
109+ set_property(TARGET Boost::iostreams APPEND PROPERTY
110+ INTERFACE_LINK_LIBRARIES ZLIB::ZLIB)
111+@@ -675,11 +675,16 @@ else()
112+ set(BOOST_J ${DEFAULT_BOOST_J} CACHE STRING "max jobs for Boost build") # override w/-DBOOST_J=<n>
113+ set(Boost_USE_STATIC_LIBS ON)
114+ include(BuildBoost)
115+- build_boost(1.79
116++ build_boost(1.82
117+ COMPONENTS ${BOOST_COMPONENTS} ${BOOST_HEADER_COMPONENTS})
118+ endif()
119+ include_directories(BEFORE SYSTEM ${Boost_INCLUDE_DIRS})
120+
121++if(Boost_VERSION VERSION_EQUAL 1.81 OR Boost_VERSION VERSION_EQUAL 1.82)
122++ # This is a workaround for https://github.com/boostorg/phoenix/issues/111
123++ add_compile_options($<$<COMPILE_LANGUAGE:CXX>:-DBOOST_PHOENIX_STL_TUPLE_H_>)
124++endif()
125++
126+ # dashboard angular2 frontend
127+ option(WITH_MGR_DASHBOARD_FRONTEND "Build the mgr/dashboard frontend using `npm`" ON)
128+ option(WITH_SYSTEM_NPM "Assume that dashboard build tools already installed through packages" OFF)
129+diff --git a/cmake/modules/BuildBoost.cmake b/cmake/modules/BuildBoost.cmake
130+index 8cccecd144b..a2257879590 100644
131+--- a/cmake/modules/BuildBoost.cmake
132++++ b/cmake/modules/BuildBoost.cmake
133+@@ -149,14 +149,14 @@ function(do_build_boost root_dir version)
134+ check_boost_version("${PROJECT_SOURCE_DIR}/src/boost" ${version})
135+ set(source_dir
136+ SOURCE_DIR "${PROJECT_SOURCE_DIR}/src/boost")
137+- elseif(version VERSION_GREATER 1.79)
138++ elseif(version VERSION_GREATER 1.82)
139+ message(FATAL_ERROR "Unknown BOOST_REQUESTED_VERSION: ${version}")
140+ else()
141+ message(STATUS "boost will be downloaded...")
142+ # NOTE: If you change this version number make sure the package is available
143+ # at the three URLs below (may involve uploading to download.ceph.com)
144+- set(boost_version 1.79.0)
145+- set(boost_sha256 475d589d51a7f8b3ba2ba4eda022b170e562ca3b760ee922c146b6c65856ef39)
146++ set(boost_version 1.82.0)
147++ set(boost_sha256 a6e1ab9b0860e6a2881dd7b21fe9f737a095e5f33a3a874afc6a345228597ee6)
148+ string(REPLACE "." "_" boost_version_underscore ${boost_version} )
149+ string(JOIN " " boost_url
150+ https://boostorg.jfrog.io/artifactory/main/release/${boost_version}/source/boost_${boost_version_underscore}.tar.bz2
151+diff --git a/cmake/modules/FindBoost.cmake b/cmake/modules/FindBoost.cmake
152+index cf0326a1eda..d47c4862dd0 100644
153+--- a/cmake/modules/FindBoost.cmake
154++++ b/cmake/modules/FindBoost.cmake
155+@@ -1653,7 +1653,7 @@ else()
156+ # _Boost_COMPONENT_HEADERS. See the instructions at the top of
157+ # _Boost_COMPONENT_DEPENDENCIES.
158+ set(_Boost_KNOWN_VERSIONS ${Boost_ADDITIONAL_VERSIONS}
159+- "1.80.0" "1.80" "1.79.0" "1.79"
160++ "1.82.0" "1.82" "1.81.0" "1.81" "1.80.0" "1.80" "1.79.0" "1.79"
161+ "1.78.0" "1.78" "1.77.0" "1.77" "1.76.0" "1.76" "1.75.0" "1.75" "1.74.0" "1.74"
162+ "1.73.0" "1.73" "1.72.0" "1.72" "1.71.0" "1.71" "1.70.0" "1.70" "1.69.0" "1.69"
163+ "1.68.0" "1.68" "1.67.0" "1.67" "1.66.0" "1.66" "1.65.1" "1.65.0" "1.65"
164+diff --git a/make-dist b/make-dist
165+index 22bf2c98c00..dfe56cef64f 100755
166+--- a/make-dist
167++++ b/make-dist
168+@@ -191,8 +191,8 @@ ln -s . $outfile
169+ tar cvf $outfile.version.tar $outfile/src/.git_version $outfile/ceph.spec
170+ # NOTE: If you change this version number make sure the package is available
171+ # at the three URLs referenced below (may involve uploading to download.ceph.com)
172+-boost_version=1.79.0
173+-download_boost $boost_version 475d589d51a7f8b3ba2ba4eda022b170e562ca3b760ee922c146b6c65856ef39 \
174++boost_version=1.82.0
175++download_boost $boost_version a6e1ab9b0860e6a2881dd7b21fe9f737a095e5f33a3a874afc6a345228597ee6 \
176+ https://boostorg.jfrog.io/artifactory/main/release/$boost_version/source \
177+ https://download.ceph.com/qa
178+ download_liburing 0.7 8e2842cfe947f3a443af301bdd6d034455536c38a455c7a700d0c1ad165a7543 \
179+diff --git a/src/rgw/rgw_asio_client.cc b/src/rgw/rgw_asio_client.cc
180+index a0ec0bf5c06..51d43140ba5 100644
181+--- a/src/rgw/rgw_asio_client.cc
182++++ b/src/rgw/rgw_asio_client.cc
183+@@ -39,11 +39,11 @@ int ClientIO::init_env(CephContext *cct)
184+ const auto& value = header->value();
185+
186+ if (field == beast::http::field::content_length) {
187+- env.set("CONTENT_LENGTH", value.to_string());
188++ env.set("CONTENT_LENGTH", std::string(value));
189+ continue;
190+ }
191+ if (field == beast::http::field::content_type) {
192+- env.set("CONTENT_TYPE", value.to_string());
193++ env.set("CONTENT_TYPE", std::string(value));
194+ continue;
195+ }
196+
197+@@ -62,26 +62,26 @@ int ClientIO::init_env(CephContext *cct)
198+ }
199+ *dest = '\0';
200+
201+- env.set(buf, value.to_string());
202++ env.set(buf, std::string(value));
203+ }
204+
205+ int major = request.version() / 10;
206+ int minor = request.version() % 10;
207+ env.set("HTTP_VERSION", std::to_string(major) + '.' + std::to_string(minor));
208+
209+- env.set("REQUEST_METHOD", request.method_string().to_string());
210++ env.set("REQUEST_METHOD", std::string(request.method_string()));
211+
212+ // split uri from query
213+ auto uri = request.target();
214+ auto pos = uri.find('?');
215+ if (pos != uri.npos) {
216+ auto query = uri.substr(pos + 1);
217+- env.set("QUERY_STRING", query.to_string());
218++ env.set("QUERY_STRING", std::string(query));
219+ uri = uri.substr(0, pos);
220+ }
221+- env.set("SCRIPT_URI", uri.to_string());
222++ env.set("SCRIPT_URI", std::string(uri));
223+
224+- env.set("REQUEST_URI", request.target().to_string());
225++ env.set("REQUEST_URI", std::string(request.target()));
226+
227+ char port_buf[16];
228+ snprintf(port_buf, sizeof(port_buf), "%d", local_endpoint.port());
229+diff --git a/win32_deps_build.sh b/win32_deps_build.sh
230+index 8535339e7bc..7e6b1e0aa14 100755
231+--- a/win32_deps_build.sh
232++++ b/win32_deps_build.sh
233+@@ -20,8 +20,8 @@ sslDir="${depsToolsetDir}/openssl"
234+ sslSrcDir="${depsSrcDir}/openssl"
235+
236+ # For now, we'll keep the version number within the file path when not using git.
237+-boostUrl="https://boostorg.jfrog.io/artifactory/main/release/1.79.0/source/boost_1_79_0.tar.gz"
238+-boostSrcDir="${depsSrcDir}/boost_1_79_0"
239++boostUrl="https://boostorg.jfrog.io/artifactory/main/release/1.82.0/source/boost_1_82_0.tar.gz"
240++boostSrcDir="${depsSrcDir}/boost_1_82_0"
241+ boostDir="${depsToolsetDir}/boost"
242+ zlibDir="${depsToolsetDir}/zlib"
243+ zlibSrcDir="${depsSrcDir}/zlib"
244+--
245+2.43.0
246+
247diff --git a/debian/patches/fix-boost-reef.patch b/debian/patches/fix-boost-reef.patch
248deleted file mode 100644
249index d63190e..0000000
250--- a/debian/patches/fix-boost-reef.patch
251+++ /dev/null
252@@ -1,252 +0,0 @@
253-Description: Build Reef with Boost 1.74
254-Author: Luciano Lo Giudice <luciano.logiudice@canonical.com>
255-Forwarded: no
256-
257-diff --git a/CMakeLists.txt b/CMakeLists.txt
258-index 1bf0ce095d..11eb88d282 100644
259---- a/CMakeLists.txt
260-+++ b/CMakeLists.txt
261-@@ -651,7 +651,7 @@ if(WITH_SYSTEM_BOOST)
262- if(BOOST_ROOT AND CMAKE_LIBRARY_ARCHITECTURE)
263- set(BOOST_LIBRARYDIR "${BOOST_ROOT}/lib/${CMAKE_LIBRARY_ARCHITECTURE}")
264- endif()
265-- find_package(Boost 1.79 COMPONENTS ${BOOST_COMPONENTS} REQUIRED)
266-+ find_package(Boost 1.74 COMPONENTS ${BOOST_COMPONENTS} REQUIRED)
267- if(NOT ENABLE_SHARED)
268- set_property(TARGET Boost::iostreams APPEND PROPERTY
269- INTERFACE_LINK_LIBRARIES ZLIB::ZLIB)
270-diff --git a/src/common/Graylog.h b/src/common/Graylog.h
271-index c8c5013199..7788ca4065 100644
272---- a/src/common/Graylog.h
273-+++ b/src/common/Graylog.h
274-@@ -4,6 +4,8 @@
275- #ifndef __CEPH_LOG_GRAYLOG_H
276- #define __CEPH_LOG_GRAYLOG_H
277-
278-+#include <utility>
279-+
280- #include <boost/asio.hpp>
281- #include <boost/iostreams/filtering_stream.hpp>
282- #include <boost/iostreams/filter/zlib.hpp>
283-diff --git a/src/rgw/rgw_dmclock_async_scheduler.cc b/src/rgw/rgw_dmclock_async_scheduler.cc
284-index 28738e9f3a..38d7dd0af3 100644
285---- a/src/rgw/rgw_dmclock_async_scheduler.cc
286-+++ b/src/rgw/rgw_dmclock_async_scheduler.cc
287-@@ -1,6 +1,8 @@
288- // -*- mode:C++; tab-width:8; c-basic-offset:2; indent-tabs-mode:t -*-
289- // vim: ts=8 sw=2 smarttab ft=cpp
290-
291-+#include <utility>
292-+
293- #include "common/async/completion.h"
294- #include "rgw_dmclock_async_scheduler.h"
295- #include "rgw_dmclock_scheduler.h"
296-diff --git a/src/common/error_code.cc b/src/common/error_code.cc
297-index 60086c550a..ef748adb42 100644
298---- a/src/common/error_code.cc
299-+++ b/src/common/error_code.cc
300-@@ -14,6 +14,7 @@
301- */
302-
303- #include <exception>
304-+#include <utility>
305-
306- #include "common/error_code.h"
307-
308-diff --git a/src/mgr/Mgr.cc b/src/mgr/Mgr.cc
309-index 7dc158fe15..a5e919ac6f 100644
310---- a/src/mgr/Mgr.cc
311-+++ b/src/mgr/Mgr.cc
312-@@ -11,6 +11,8 @@
313- * Foundation. See file COPYING.
314- */
315-
316-+#include <utility>
317-+
318- #include <Python.h>
319-
320- #include "osdc/Objecter.h"
321-diff --git a/src/mon/error_code.cc b/src/mon/error_code.cc
322-index a2cd392999..ed471c7249 100644
323---- a/src/mon/error_code.cc
324-+++ b/src/mon/error_code.cc
325-@@ -14,6 +14,7 @@
326- */
327-
328- #include <string>
329-+#include <utility>
330-
331- #include "common/error_code.h"
332- #include "common/errno.h"
333-diff --git a/src/osd/error_code.cc b/src/osd/error_code.cc
334-index 97f0012fdb..bbcc97f371 100644
335---- a/src/osd/error_code.cc
336-+++ b/src/osd/error_code.cc
337-@@ -14,6 +14,7 @@
338- */
339-
340- #include <string>
341-+#include <utility>
342-
343- #include "common/error_code.h"
344- #include "common/errno.h"
345-diff --git a/src/osdc/Objecter.cc b/src/osdc/Objecter.cc
346-index f006597e82..6414325188 100644
347---- a/src/osdc/Objecter.cc
348-+++ b/src/osdc/Objecter.cc
349-@@ -14,6 +14,7 @@
350-
351- #include <algorithm>
352- #include <cerrno>
353-+#include <utility>
354-
355- #include "Objecter.h"
356- #include "osd/OSDMap.h"
357-diff --git a/src/osdc/error_code.cc b/src/osdc/error_code.cc
358-index 7823e8b088..c6d3400aa1 100644
359---- a/src/osdc/error_code.cc
360-+++ b/src/osdc/error_code.cc
361-@@ -14,6 +14,7 @@
362- */
363-
364- #include <string>
365-+#include <utility>
366-
367- #include "common/error_code.h"
368- #include "error_code.h"
369-diff --git a/src/rgw/services/svc_mdlog.cc b/src/rgw/services/svc_mdlog.cc
370-index 09a68d3d71..17b11c4d60 100644
371---- a/src/rgw/services/svc_mdlog.cc
372-+++ b/src/rgw/services/svc_mdlog.cc
373-@@ -137,7 +137,7 @@ public:
374- ~SysObjReadCR() override {
375- try {
376- request_cleanup();
377-- } catch (const boost::container::length_error_t& e) {
378-+ } catch (const std::length_error& e) {
379- ldpp_dout(dpp, 0) << "ERROR: " << __func__ <<
380- ": reference counted object mismatched, \"" << e.what() <<
381- "\"" << dendl;
382-@@ -218,7 +218,7 @@ public:
383- ~SysObjWriteCR() override {
384- try {
385- request_cleanup();
386-- } catch (const boost::container::length_error_t& e) {
387-+ } catch (const std::length_error& e) {
388- ldpp_dout(dpp, 0) << "ERROR: " << __func__ <<
389- ": reference counted object mismatched, \"" << e.what() <<
390- "\"" << dendl;
391-diff --git a/src/rgw/rgw_cr_rest.cc b/src/rgw/rgw_cr_rest.cc
392-index 04920a1551..d0c4fde31d 100644
393---- a/src/rgw/rgw_cr_rest.cc
394-+++ b/src/rgw/rgw_cr_rest.cc
395-@@ -1,6 +1,8 @@
396- // -*- mode:C++; tab-width:8; c-basic-offset:2; indent-tabs-mode:t -*-
397- // vim: ts=8 sw=2 smarttab ft=cpp
398-
399-+#include <utility>
400-+
401- #include "rgw_cr_rest.h"
402-
403- #include "rgw_coroutine.h"
404-diff --git a/src/rgw/driver/rados/rgw_cr_tools.cc b/src/rgw/driver/rados/rgw_cr_tools.cc
405-index 94665a35aa..231c89b59c 100644
406---- a/src/rgw/driver/rados/rgw_cr_tools.cc
407-+++ b/src/rgw/driver/rados/rgw_cr_tools.cc
408-@@ -1,6 +1,8 @@
409- // -*- mode:C++; tab-width:8; c-basic-offset:2; indent-tabs-mode:t -*-
410- // vim: ts=8 sw=2 smarttab ft=cpp
411-
412-+#include <utility>
413-+
414- #include "common/errno.h"
415-
416- #include "rgw_cr_tools.h"
417-diff --git a/src/rgw/driver/rados/rgw_sync_error_repo.cc b/src/rgw/driver/rados/rgw_sync_error_repo.cc
418-index 44305b60b6..1f8edf2560 100644
419---- a/src/rgw/driver/rados/rgw_sync_error_repo.cc
420-+++ b/src/rgw/driver/rados/rgw_sync_error_repo.cc
421-@@ -12,6 +12,8 @@
422- * Foundation. See file COPYING.
423- */
424-
425-+#include <utility>
426-+
427- #include "rgw_sync_error_repo.h"
428- #include "rgw_coroutine.h"
429- #include "rgw_sal.h"
430-diff --git a/src/rgw/rgw_asio_frontend.cc b/src/rgw/rgw_asio_frontend.cc
431-index 633a296330..3aec2a6932 100644
432---- a/src/rgw/rgw_asio_frontend.cc
433-+++ b/src/rgw/rgw_asio_frontend.cc
434-@@ -4,6 +4,7 @@
435- #include <atomic>
436- #include <ctime>
437- #include <thread>
438-+#include <utility>
439- #include <vector>
440-
441- #include <boost/asio.hpp>
442-diff --git a/src/librbd/io/ObjectRequest.cc b/src/librbd/io/ObjectRequest.cc
443-index 6d246cdf33..a29078727c 100644
444---- a/src/librbd/io/ObjectRequest.cc
445-+++ b/src/librbd/io/ObjectRequest.cc
446-@@ -1,6 +1,8 @@
447- // -*- mode:C++; tab-width:8; c-basic-offset:2; indent-tabs-mode:t -*-
448- // vim: ts=8 sw=2 smarttab
449-
450-+#include <utility>
451-+
452- #include "librbd/io/ObjectRequest.h"
453- #include "common/ceph_context.h"
454- #include "common/dout.h"
455-diff --git a/src/tools/neorados.cc b/src/tools/neorados.cc
456-index 24966d2aee..7327764701 100644
457---- a/src/tools/neorados.cc
458-+++ b/src/tools/neorados.cc
459-@@ -21,6 +21,7 @@
460- #include <string>
461- #include <string_view>
462- #include <tuple>
463-+#include <utility>
464- #include <vector>
465-
466- #include <boost/asio.hpp>
467-diff --git a/src/tools/cephfs/Resetter.cc b/src/tools/cephfs/Resetter.cc
468-index 7c0aa30ab6..130376db36 100644
469---- a/src/tools/cephfs/Resetter.cc
470-+++ b/src/tools/cephfs/Resetter.cc
471-@@ -12,6 +12,7 @@
472- *
473- */
474- #include <memory>
475-+#include <utility>
476- #include "common/errno.h"
477- #include "osdc/Journaler.h"
478- #include "mds/JournalPointer.h"
479-diff --git a/src/tools/cephfs/MDSUtility.cc b/src/tools/cephfs/MDSUtility.cc
480-index 54386d2199..231e42988b 100644
481---- a/src/tools/cephfs/MDSUtility.cc
482-+++ b/src/tools/cephfs/MDSUtility.cc
483-@@ -11,6 +11,8 @@
484- * Foundation. See file COPYING.
485- */
486-
487-+#include <utility>
488-+
489- #include "MDSUtility.h"
490- #include "mon/MonClient.h"
491-
492-diff --git a/src/librbd/cache/ParentCacheObjectDispatch.cc b/src/librbd/cache/ParentCacheObjectDispatch.cc
493-index d5ef373abc..4e9eef6777 100644
494---- a/src/librbd/cache/ParentCacheObjectDispatch.cc
495-+++ b/src/librbd/cache/ParentCacheObjectDispatch.cc
496-@@ -1,6 +1,8 @@
497- // -*- mode:C++; tab-width:8; c-basic-offset:2; indent-tabs-mode:t -*-
498- // vim: ts=8 sw=2 smarttab
499-
500-+#include <utility>
501-+
502- #include "common/errno.h"
503- #include "include/neorados/RADOS.hpp"
504- #include "librbd/ImageCtx.h"
505diff --git a/debian/patches/series b/debian/patches/series
506index d6f865c..608f0eb 100644
507--- a/debian/patches/series
508+++ b/debian/patches/series
509@@ -14,5 +14,6 @@ spdk_top-string-format.patch
510 spdk-fix-make-exe.patch
511 fix-CheckCxxAtomic-riscv64.patch
512 patch-out-exporter.patch
513-fix-boost-reef.patch
514 fix-mantic-misc.patch
515+cmake-allow-empty-submodules.patch
516+fix-boost-1.82-build.patch

Subscribers

People subscribed via source and target branches