From 5b80a7fa400a4ad92ee73c3d8d07840293ae8e30 Mon Sep 17 00:00:00 2001 From: Michael Mair-Keimberger Date: Wed, 15 Oct 2025 18:06:46 +0200 Subject: [PATCH] sys-cluster/ceph: remove unused patches Signed-off-by: Michael Mair-Keimberger --- ...ceph-12.2.4-boost-build-none-options.patch | 26 -- .../ceph/files/ceph-17.2.5-boost-1.81.patch | 49 ---- .../ceph-17.2.6-link-boost-context.patch | 13 - .../ceph/files/ceph-18.2.1-gcc14-2.patch | 253 ------------------ .../ceph/files/ceph-18.2.1-gcc14.patch | 141 ---------- .../ceph/files/ceph-18.2.7-boost-build.patch | 13 - .../ceph/files/ceph-18.2.7-numpy-build.patch | 19 -- 7 files changed, 514 deletions(-) delete mode 100644 sys-cluster/ceph/files/ceph-12.2.4-boost-build-none-options.patch delete mode 100644 sys-cluster/ceph/files/ceph-17.2.5-boost-1.81.patch delete mode 100644 sys-cluster/ceph/files/ceph-17.2.6-link-boost-context.patch delete mode 100644 sys-cluster/ceph/files/ceph-18.2.1-gcc14-2.patch delete mode 100644 sys-cluster/ceph/files/ceph-18.2.1-gcc14.patch delete mode 100644 sys-cluster/ceph/files/ceph-18.2.7-boost-build.patch delete mode 100644 sys-cluster/ceph/files/ceph-18.2.7-numpy-build.patch diff --git a/sys-cluster/ceph/files/ceph-12.2.4-boost-build-none-options.patch b/sys-cluster/ceph/files/ceph-12.2.4-boost-build-none-options.patch deleted file mode 100644 index 6e3ad413e99d..000000000000 --- a/sys-cluster/ceph/files/ceph-12.2.4-boost-build-none-options.patch +++ /dev/null @@ -1,26 +0,0 @@ -diff --git a/src/boost/tools/build/src/tools/features/debug-feature.jam b/src/boost/tools/build/src/tools/features/debug-feature.jam -index 04958f9a..38b6acf1 100644 ---- a/src/boost/tools/build/src/tools/features/debug-feature.jam -+++ b/src/boost/tools/build/src/tools/features/debug-feature.jam -@@ -8,7 +8,7 @@ - import feature ; - - feature.feature debug-symbols -- : on off -+ : on off none - : propagated ; - - feature.feature profiling -diff --git a/src/boost/tools/build/src/tools/features/optimization-feature.jam b/src/boost/tools/build/src/tools/features/optimization-feature.jam -index 761f76f1..fb2a5dec 100644 ---- a/src/boost/tools/build/src/tools/features/optimization-feature.jam -+++ b/src/boost/tools/build/src/tools/features/optimization-feature.jam -@@ -8,7 +8,7 @@ - import feature ; - - feature.feature optimization -- : off speed space -+ : off none speed space - : propagated ; - - feature.feature inlining diff --git a/sys-cluster/ceph/files/ceph-17.2.5-boost-1.81.patch b/sys-cluster/ceph/files/ceph-17.2.5-boost-1.81.patch deleted file mode 100644 index 2dd06edb312f..000000000000 --- a/sys-cluster/ceph/files/ceph-17.2.5-boost-1.81.patch +++ /dev/null @@ -1,49 +0,0 @@ -https://bugs.gentoo.org/887481 ---- a/src/rgw/rgw_asio_client.cc -+++ b/src/rgw/rgw_asio_client.cc -@@ -39,11 +39,11 @@ - const auto& value = header->value(); - - if (field == beast::http::field::content_length) { -- env.set("CONTENT_LENGTH", value.to_string()); -+ env.set("CONTENT_LENGTH", value); - continue; - } - if (field == beast::http::field::content_type) { -- env.set("CONTENT_TYPE", value.to_string()); -+ env.set("CONTENT_TYPE", value); - continue; - } - -@@ -62,26 +62,26 @@ - } - *dest = '\0'; - -- env.set(buf, value.to_string()); -+ env.set(buf, value); - } - - int major = request.version() / 10; - int minor = request.version() % 10; - env.set("HTTP_VERSION", std::to_string(major) + '.' + std::to_string(minor)); - -- env.set("REQUEST_METHOD", request.method_string().to_string()); -+ env.set("REQUEST_METHOD", request.method_string()); - - // split uri from query - auto uri = request.target(); - auto pos = uri.find('?'); - if (pos != uri.npos) { - auto query = uri.substr(pos + 1); -- env.set("QUERY_STRING", query.to_string()); -+ env.set("QUERY_STRING", query); - uri = uri.substr(0, pos); - } -- env.set("SCRIPT_URI", uri.to_string()); -+ env.set("SCRIPT_URI", uri); - -- env.set("REQUEST_URI", request.target().to_string()); -+ env.set("REQUEST_URI", request.target()); - - char port_buf[16]; - snprintf(port_buf, sizeof(port_buf), "%d", local_endpoint.port()); diff --git a/sys-cluster/ceph/files/ceph-17.2.6-link-boost-context.patch b/sys-cluster/ceph/files/ceph-17.2.6-link-boost-context.patch deleted file mode 100644 index 24f3fe796aac..000000000000 --- a/sys-cluster/ceph/files/ceph-17.2.6-link-boost-context.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/src/neorados/CMakeLists.txt b/src/neorados/CMakeLists.txt -index c66043ac9f9..4b1013d26b7 100644 ---- a/src/neorados/CMakeLists.txt -+++ b/src/neorados/CMakeLists.txt -@@ -11,7 +11,7 @@ add_library(libneorados STATIC - $ - $) - target_link_libraries(libneorados PRIVATE -- osdc ceph-common cls_lock_client fmt::fmt -+ osdc ceph-common cls_lock_client fmt::fmt Boost::context - ${BLKID_LIBRARIES} ${CRYPTO_LIBS} ${EXTRALIBS}) - - # if(ENABLE_SHARED) diff --git a/sys-cluster/ceph/files/ceph-18.2.1-gcc14-2.patch b/sys-cluster/ceph/files/ceph-18.2.1-gcc14-2.patch deleted file mode 100644 index 334de92fec08..000000000000 --- a/sys-cluster/ceph/files/ceph-18.2.1-gcc14-2.patch +++ /dev/null @@ -1,253 +0,0 @@ -From f9aea9105b6c1a8d7bff0ec0675f84f2ffb1db6f Mon Sep 17 00:00:00 2001 -From: Florian Weimer -Date: Wed, 20 Dec 2023 14:16:19 +0100 -Subject: [PATCH 1/2] tracing: Fix C type errors in librados tracing -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -This fixes type errors like this: - -In file included from /usr/include/lttng/tracepoint-event.h:69, - from …-build/include/tracing/librados.h:4143, - from …/src/tracing/librados.c:6 -: -…-build/include/tracing/librados.h: - In function ‘lttng_ust__event_probe__librados___rados_mon_command_exit’: -…-build/include/tracing/librados.h:477:9: error: initialization of ‘size_t’ {aka ‘long unsigned int’} from ‘size_t *’ {aka ‘long unsigned int *’} makes integer from pointer without a cast - 477 | ceph_ctf_integerp(size_t, outslen, outslen) - | ^~~~~~~~~~~~~~~~~ - -GCC 14 will likely treat these type mismatches as an error -and fail the build. - -Signed-off-by: Florian Weimer ---- - src/tracing/librados.tp | 4 ++-- - src/tracing/tracing-common.h | 2 +- - 2 files changed, 3 insertions(+), 3 deletions(-) - -diff --git a/src/tracing/librados.tp b/src/tracing/librados.tp -index 8b5e78ef15d65..8e116124b83d5 100644 ---- a/src/tracing/librados.tp -+++ b/src/tracing/librados.tp -@@ -2628,7 +2628,7 @@ TRACEPOINT_EVENT(librados, rados_watch3_enter, - TP_FIELDS( - ctf_integer_hex(rados_ioctx_t, ioctx, ioctx) - ctf_string(oid, oid) -- ctf_integer_hex(uint64_t, phandle, phandle) -+ ctf_integer_hex(uint64_t*, phandle, phandle) - ctf_integer_hex(rados_watchcb2_t, callback, callback) - ctf_integer(uint32_t, timeout, timeout) - ctf_integer_hex(void*, arg, arg) -@@ -2658,7 +2658,7 @@ TRACEPOINT_EVENT(librados, rados_aio_watch2_enter, - ctf_integer_hex(rados_ioctx_t, ioctx, ioctx) - ctf_string(oid, oid) - ctf_integer_hex(rados_completion_t, completion, completion) -- ctf_integer_hex(uint64_t, phandle, phandle) -+ ctf_integer_hex(uint64_t*, phandle, phandle) - ctf_integer_hex(rados_watchcb2_t, callback, callback) - ctf_integer(uint32_t, timeout, timeout) - ctf_integer_hex(void*, arg, arg) -diff --git a/src/tracing/tracing-common.h b/src/tracing/tracing-common.h -index 3e07f9de8e85c..03449ab588615 100644 ---- a/src/tracing/tracing-common.h -+++ b/src/tracing/tracing-common.h -@@ -21,7 +21,7 @@ - // type should be an integer type - // val should have type type* - #define ceph_ctf_integerp(type, field, val) \ -- ctf_integer(type, field, (val) == NULL ? 0 : (val)) \ -+ ctf_integer(type, field, (val) == NULL ? 0 : *(val)) \ - ctf_integer(uint8_t, field##_isnull, (val) == NULL) - - // val should have type char* - -From a49d154f4a8e493baf2296a15c7b5c56cd25e993 Mon Sep 17 00:00:00 2001 -From: Florian Weimer -Date: Wed, 20 Dec 2023 14:59:19 +0100 -Subject: [PATCH 2/2] pybind: Fix C type errors in Cython-generated Python - bindings -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -Several Ceph APIs use bool * types, which correspond to -libcpp.bool * types in Cython. The bint type has an incorrect -size 4 and cannot be used as a replacement. - -This prevents a compilation failure with future compilers: - -…-build/src/pybind/rbd/rbd.c: In function ‘__pyx_pf_3rbd_3RBD_104namespace_exists’: -…-build/src/pybind/rbd/rbd.c:42165:76: error: passing argument 3 of ‘rbd_namespace_exists’ from incompatible pointer type -42165 | __pyx_v_ret = rbd_namespace_exists(__pyx_v__ioctx, __pyx_v__name, (&__pyx_v__exists)); - | ~^~~~~~~~~~~~~~~~~ - | | - | int * -In file included from …-build/src/pybind/rbd/rbd.c:1268: -…/src/include/rbd/librbd.h:1496:45: note: expected ‘_Bool *’ but argument is of type ‘int *’ - 1496 | bool *exists); - | ^ - -Signed-off-by: Florian Weimer ---- - src/pybind/rbd/c_rbd.pxd | 5 +++-- - src/pybind/rbd/mock_rbd.pxi | 9 +++++++-- - src/pybind/rbd/rbd.pyx | 9 +++++---- - src/pybind/rgw/mock_rgw.pxi | 9 +++++++-- - src/pybind/rgw/rgw.pyx | 3 ++- - 5 files changed, 24 insertions(+), 11 deletions(-) - -diff --git a/src/pybind/rbd/c_rbd.pxd b/src/pybind/rbd/c_rbd.pxd -index 885f7bd46abde..bda23bbc4735f 100644 ---- a/src/pybind/rbd/c_rbd.pxd -+++ b/src/pybind/rbd/c_rbd.pxd -@@ -2,6 +2,7 @@ - - from libc.stdint cimport * - from ctime cimport time_t, timespec -+cimport libcpp - - cdef extern from "rados/librados.h": - enum: -@@ -525,7 +526,7 @@ cdef extern from "rbd/librbd.h" nogil: - int rbd_snap_unprotect(rbd_image_t image, const char *snap_name) - int rbd_snap_is_protected(rbd_image_t image, const char *snap_name, - int *is_protected) -- int rbd_snap_exists(rbd_image_t image, const char *snapname, bint *exists) -+ int rbd_snap_exists(rbd_image_t image, const char *snapname, libcpp.bool *exists) - int rbd_snap_get_limit(rbd_image_t image, uint64_t *limit) - int rbd_snap_set_limit(rbd_image_t image, uint64_t limit) - int rbd_snap_get_timestamp(rbd_image_t image, uint64_t snap_id, timespec *timestamp) -@@ -711,7 +712,7 @@ cdef extern from "rbd/librbd.h" nogil: - int rbd_namespace_list(rados_ioctx_t io, char *namespace_names, - size_t *size) - int rbd_namespace_exists(rados_ioctx_t io, const char *namespace_name, -- bint *exists) -+ libcpp.bool *exists) - - int rbd_pool_init(rados_ioctx_t, bint force) - -diff --git a/src/pybind/rbd/mock_rbd.pxi b/src/pybind/rbd/mock_rbd.pxi -index 11872bd8146de..364f965fbad43 100644 ---- a/src/pybind/rbd/mock_rbd.pxi -+++ b/src/pybind/rbd/mock_rbd.pxi -@@ -3,6 +3,11 @@ - from libc.stdint cimport * - from ctime cimport time_t, timespec - -+# Make the bool type available as libcpp.bool, for both C and C++. -+cimport libcpp -+cdef extern from "": -+ pass -+ - cdef nogil: - enum: - _LIBRADOS_SNAP_HEAD "LIBRADOS_SNAP_HEAD" -@@ -637,7 +642,7 @@ cdef nogil: - int rbd_snap_is_protected(rbd_image_t image, const char *snap_name, - int *is_protected): - pass -- int rbd_snap_exists(rbd_image_t image, const char *snapname, bint *exists): -+ int rbd_snap_exists(rbd_image_t image, const char *snapname, libcpp.bool *exists): - pass - int rbd_snap_get_limit(rbd_image_t image, uint64_t *limit): - pass -@@ -896,7 +901,7 @@ cdef nogil: - size_t *size): - pass - int rbd_namespace_exists(rados_ioctx_t io, const char *namespace_name, -- bint *exists): -+ libcpp.bool *exists): - pass - int rbd_pool_init(rados_ioctx_t io, bint force): - pass -diff --git a/src/pybind/rbd/rbd.pyx b/src/pybind/rbd/rbd.pyx -index fcb2fb3470600..f59ba23f0fe21 100644 ---- a/src/pybind/rbd/rbd.pyx -+++ b/src/pybind/rbd/rbd.pyx -@@ -23,6 +23,7 @@ from libc cimport errno - from libc.stdint cimport * - from libc.stdlib cimport malloc, realloc, free - from libc.string cimport strdup, memset -+cimport libcpp - - try: - from collections.abc import Iterable -@@ -1935,12 +1936,12 @@ class RBD(object): - cdef: - rados_ioctx_t _ioctx = convert_ioctx(ioctx) - const char *_name = name -- bint _exists = False -+ libcpp.bool _exists = False - with nogil: - ret = rbd_namespace_exists(_ioctx, _name, &_exists) - if ret != 0: - raise make_ex(ret, 'error verifying namespace') -- return bool(_exists != 0) -+ return _exists - - def namespace_list(self, ioctx): - """ -@@ -3679,12 +3680,12 @@ cdef class Image(object): - name = cstr(name, 'name') - cdef: - char *_name = name -- bint _exists = False -+ libcpp.bool _exists = False - with nogil: - ret = rbd_snap_exists(self.image, _name, &_exists) - if ret != 0: - raise make_ex(ret, 'error getting snapshot exists for %s' % self.name) -- return bool(_exists != 0) -+ return _exists - - @requires_not_closed - def get_snap_limit(self): -diff --git a/src/pybind/rgw/mock_rgw.pxi b/src/pybind/rgw/mock_rgw.pxi -index ca893a5bb8a16..806d4df75de05 100644 ---- a/src/pybind/rgw/mock_rgw.pxi -+++ b/src/pybind/rgw/mock_rgw.pxi -@@ -1,5 +1,10 @@ - # cython: embedsignature=True - -+# Make the bool type available as libcpp.bool, for both C and C++. -+cimport libcpp -+cdef extern from "": -+ pass -+ - cdef nogil: - ctypedef void* librgw_t - -@@ -111,8 +116,8 @@ cdef nogil: - - int rgw_readdir(rgw_fs *fs, - rgw_file_handle *parent_fh, uint64_t *offset, -- bint (*cb)(const char *name, void *arg, uint64_t offset, stat *st, uint32_t st_mask, uint32_t flags) nogil except? -9000, -- void *cb_arg, bint *eof, uint32_t flags) except? -9000: -+ libcpp.bool (*cb)(const char *name, void *arg, uint64_t offset, stat *st, uint32_t st_mask, uint32_t flags) nogil except? -9000, -+ void *cb_arg, libcpp.bool *eof, uint32_t flags) except? -9000: - pass - - int rgw_getattr(rgw_fs *fs, -diff --git a/src/pybind/rgw/rgw.pyx b/src/pybind/rgw/rgw.pyx -index 9bbcdfff586a8..d210a70bbb8e3 100644 ---- a/src/pybind/rgw/rgw.pyx -+++ b/src/pybind/rgw/rgw.pyx -@@ -7,6 +7,7 @@ from cpython cimport PyObject, ref, exc, array - from libc.stdint cimport * - from libc.stdlib cimport malloc, realloc, free - from cstat cimport stat -+cimport libcpp - - IF BUILD_DOC: - include "mock_rgw.pxi" -@@ -373,7 +374,7 @@ cdef class LibRGWFS(object): - cdef: - rgw_file_handle *_dir_handler = dir_handler.handler - uint64_t _offset = offset -- bint _eof -+ libcpp.bool _eof - uint32_t _flags = flags - with nogil: - ret = rgw_readdir(self.fs, _dir_handler, &_offset, &readdir_cb, diff --git a/sys-cluster/ceph/files/ceph-18.2.1-gcc14.patch b/sys-cluster/ceph/files/ceph-18.2.1-gcc14.patch deleted file mode 100644 index 129f50e2857b..000000000000 --- a/sys-cluster/ceph/files/ceph-18.2.1-gcc14.patch +++ /dev/null @@ -1,141 +0,0 @@ -From 0eace4ea9ea42412d4d6a16d24a8660642e41173 Mon Sep 17 00:00:00 2001 -From: Radoslaw Zarzynski -Date: Wed, 24 Jan 2024 17:22:44 +0000 -Subject: [PATCH] common/dout: fix FTBFS on GCC 14 -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -The following problem has been reported by Kaleb Keithley: - -``` -/builddir/build/BUILD/ceph-18.2.1/src/osd/osd_types.h: In lambda function: -/builddir/build/BUILD/ceph-18.2.1/src/common/dout.h:184:73: error: call to non-‘constexpr’ function ‘virtual unsigned int DoutPrefixProvider::get_subsys() const’ - 184 | dout_impl(pdpp->get_cct(), ceph::dout::need_dynamic(pdpp->get_subsys()), v) \ - | ~~~~~~~~~~~~~~~~^~ -/builddir/build/BUILD/ceph-18.2.1/src/common/dout.h:155:58: note: in definition of macro ‘dout_impl’ - 155 | return (cctX->_conf->subsys.template should_gather()); \ - | ^~~ -/builddir/build/BUILD/ceph-18.2.1/src/osd/osd_types.h:3617:3: note: in expansion of macro ‘ldpp_dout’ - 3617 | ldpp_dout(dpp, 10) << "build_prior all_probe " << all_probe << dendl; - | ^~~~~~~~~ -``` - -For details of the problem and the idea behind the fix, -please refer to the comment this commit brings to `dout.h`. - -The minimized replicator that the facilitated Goldbot-based -investigation: - -```cpp -namespace ceph::dout { - -template -struct dynamic_marker_t { - T value; - // constexpr ctor isn't needed as it's an aggregate type - constexpr operator T() const { return value; } -}; - -template -constexpr dynamic_marker_t need_dynamic(T&& t) { - return dynamic_marker_t{ std::forward(t) }; -} - -template -struct is_dynamic : public std::false_type {}; - -template -struct is_dynamic> : public std::true_type {}; - -} // ceph::dout - -struct subsys_t { - template - bool should_gather() const { - return true; - } - bool should_gather(const unsigned sub, int level) const { - return false; - } -}; - -static subsys_t subsys; - - do { \ - const bool should_gather = [&](const auto cctX) { \ - if constexpr (ceph::dout::is_dynamic::value || \ - ceph::dout::is_dynamic::value) { \ - std::cout << "the dynamic path" << std::endl; \ - return subsys.should_gather(sub, v); \ - } else { \ - /* The parentheses are **essential** because commas in angle \ - * brackets are NOT ignored on macro expansion! A language's \ - * limitation, sorry. */ \ - std::cout << "the static path" << std::endl; \ - /*return subsys.should_gather(sub, v);*/ \ - return (subsys.template should_gather()); \ - } \ - }(cct); \ - } while (0) - - if (decltype(auto) pdpp = (dpp); pdpp) /* workaround -Wnonnull-compare for 'this' */ \ - dout_impl(42, sub, v) - - if (decltype(auto) pdpp = (dpp); pdpp) /* workaround -Wnonnull-compare for 'this' */ \ - dout_impl(42, ceph::dout::need_dynamic(42), v) - -int main() { - std::random_device dev; - std::mt19937 rng(dev()); - std::uniform_int_distribution dist6(1,6); // distribution in range [1, 6] - - int sub = dist6(rng); - ldpp_dout("mocked out", sub); - //ldpp_subdout("mocked out", 4, 3); -} -``` - -Fixes: https://tracker.ceph.com/issues/64050 -Signed-off-by: Radoslaw Zarzynski ---- - src/common/dout.h | 20 +++++++++++++++----- - 1 file changed, 15 insertions(+), 5 deletions(-) - -diff --git a/src/common/dout.h b/src/common/dout.h -index 4cd60efff8fef..6516060c5438e 100644 ---- a/src/common/dout.h -+++ b/src/common/dout.h -@@ -144,17 +144,27 @@ struct is_dynamic> : public std::true_type {}; - #else - #define dout_impl(cct, sub, v) \ - do { \ -- const bool should_gather = [&](const auto cctX) { \ -- if constexpr (ceph::dout::is_dynamic::value || \ -- ceph::dout::is_dynamic::value) { \ -+ const bool should_gather = [&](const auto cctX, auto sub_, auto v_) { \ -+ /* The check is performed on `sub_` and `v_` to leverage the C++'s \ -+ * guarantee on _discarding_ one of blocks of `if constexpr`, which \ -+ * includes also the checks for ill-formed code (`should_gather<>` \ -+ * must not be feed with non-const expresions), BUT ONLY within \ -+ * a template (thus the generic lambda) and under the restriction \ -+ * it's dependant on a parameter of this template). \ -+ * GCC prior to v14 was not enforcing these restrictions. */ \ -+ if constexpr (ceph::dout::is_dynamic::value || \ -+ ceph::dout::is_dynamic::value) { \ - return cctX->_conf->subsys.should_gather(sub, v); \ - } else { \ -+ constexpr auto sub_helper = static_cast(sub); \ -+ constexpr auto v_helper = static_cast(v); \ - /* The parentheses are **essential** because commas in angle \ - * brackets are NOT ignored on macro expansion! A language's \ - * limitation, sorry. */ \ -- return (cctX->_conf->subsys.template should_gather()); \ -+ return (cctX->_conf->subsys.template should_gather()); \ - } \ -- }(cct); \ -+ }(cct, sub, v); \ - \ - if (should_gather) { \ - ceph::logging::MutableEntry _dout_e(v, sub); \ diff --git a/sys-cluster/ceph/files/ceph-18.2.7-boost-build.patch b/sys-cluster/ceph/files/ceph-18.2.7-boost-build.patch deleted file mode 100644 index 5ecb50b6a20a..000000000000 --- a/sys-cluster/ceph/files/ceph-18.2.7-boost-build.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/cmake/modules/BuildBoost.cmake b/cmake/modules/BuildBoost.cmake -index 1d793fb442e..89e4d40c282 100644 ---- a/cmake/modules/BuildBoost.cmake -+++ b/cmake/modules/BuildBoost.cmake -@@ -108,7 +108,7 @@ function(do_build_boost root_dir version) - "using ${toolset}" - " : " - " : ${CMAKE_CXX_COMPILER}" -- " : -fPIC -w -Wno-everything" -+ " : -fPIC -w " - " ;\n") - if(with_python_version) - find_package(Python3 ${with_python_version} QUIET REQUIRED diff --git a/sys-cluster/ceph/files/ceph-18.2.7-numpy-build.patch b/sys-cluster/ceph/files/ceph-18.2.7-numpy-build.patch deleted file mode 100644 index b5086f1f0c8c..000000000000 --- a/sys-cluster/ceph/files/ceph-18.2.7-numpy-build.patch +++ /dev/null @@ -1,19 +0,0 @@ -diff --git a/src/boost/libs/python/src/numpy/dtype.cpp b/src/boost/libs/python/src/numpy/dtype.cpp -index 88a20a27b5..da30d1927b 100644 ---- a/src/boost/libs/python/src/numpy/dtype.cpp -+++ b/src/boost/libs/python/src/numpy/dtype.cpp -@@ -98,7 +98,13 @@ python::detail::new_reference dtype::convert(object const & arg, bool align) - return python::detail::new_reference(reinterpret_cast(obj)); - } - --int dtype::get_itemsize() const { return reinterpret_cast(ptr())->elsize;} -+int dtype::get_itemsize() const { -+#if NPY_ABI_VERSION < 0x02000000 -+ return reinterpret_cast(ptr())->elsize; -+#else -+ return PyDataType_ELSIZE(reinterpret_cast(ptr())); -+#endif -+} - - bool equivalent(dtype const & a, dtype const & b) { - // On Windows x64, the behaviour described on