summaryrefslogtreecommitdiff
path: root/sys-cluster/ceph/files
diff options
context:
space:
mode:
authorV3n3RiX <venerix@koprulu.sector>2022-06-29 12:04:12 +0100
committerV3n3RiX <venerix@koprulu.sector>2022-06-29 12:04:12 +0100
commit0f558761aa2dee1017b4751e4017205e015a9560 (patch)
tree037df795519468a25d9362b4e95cdaeb84eb1cf9 /sys-cluster/ceph/files
parent752d6256e5204b958b0ef7905675a940b5e9172f (diff)
gentoo resync : 29.12.2022
Diffstat (limited to 'sys-cluster/ceph/files')
-rw-r--r--sys-cluster/ceph/files/ceph-14.2.0-mgr-python-version.patch17
-rw-r--r--sys-cluster/ceph/files/ceph-14.2.11-systemd-unit-fix.patch27
-rw-r--r--sys-cluster/ceph/files/ceph-14.2.22-build-without-mgr.patch32
-rw-r--r--sys-cluster/ceph/files/ceph-14.2.22-cflags.patch25
-rw-r--r--sys-cluster/ceph/files/ceph-14.2.22-no-virtualenvs.patch39
-rw-r--r--sys-cluster/ceph/files/ceph-14.2.22-snappy-uint32.patch13
-rw-r--r--sys-cluster/ceph/files/ceph-14.2.3-dpdk-compile-fix-1.patch111
-rw-r--r--sys-cluster/ceph/files/ceph-14.2.4-python-executable.patch29
-rw-r--r--sys-cluster/ceph/files/ceph-14.2.4-undefined-behaviour.patch76
-rw-r--r--sys-cluster/ceph/files/ceph-16.2.8-no-virtualenvs.patch82
-rw-r--r--sys-cluster/ceph/files/ceph-17.2.1-no-virtualenvs.patch68
11 files changed, 150 insertions, 369 deletions
diff --git a/sys-cluster/ceph/files/ceph-14.2.0-mgr-python-version.patch b/sys-cluster/ceph/files/ceph-14.2.0-mgr-python-version.patch
deleted file mode 100644
index e4502a608ec2..000000000000
--- a/sys-cluster/ceph/files/ceph-14.2.0-mgr-python-version.patch
+++ /dev/null
@@ -1,17 +0,0 @@
-diff --git a/src/pybind/CMakeLists.txt b/src/pybind/CMakeLists.txt
-index 664543172a..e74d73c084 100644
---- a/src/pybind/CMakeLists.txt
-+++ b/src/pybind/CMakeLists.txt
-@@ -62,12 +62,6 @@ foreach(python_version ${py_vers})
- endforeach()
-
- if(WITH_MGR)
-- if(NOT WITH_PYTHON2 AND MGR_PYTHON_VERSION_MAJOR EQUAL 2)
-- message(FATAL_ERROR "mgr plugins require python2 binding")
-- elseif(NOT WITH_PYTHON3 AND MGR_PYTHON_VERSION_MAJOR EQUAL 3)
-- message(FATAL_ERROR "mgr plugins require python3 binding")
-- endif()
--
- if(USE_OPENSSL)
- execute_process(
- COMMAND ${PYTHON${PYTHON_VERSION}_EXECUTABLE} -c "import ssl; print('.'.join(map(str,ssl.OPENSSL_VERSION_INFO[0:3])))"
diff --git a/sys-cluster/ceph/files/ceph-14.2.11-systemd-unit-fix.patch b/sys-cluster/ceph/files/ceph-14.2.11-systemd-unit-fix.patch
deleted file mode 100644
index 7309fea029e1..000000000000
--- a/sys-cluster/ceph/files/ceph-14.2.11-systemd-unit-fix.patch
+++ /dev/null
@@ -1,27 +0,0 @@
-From bd8b8540f6b67a25585ca9cf140d6de760bc2a43 Mon Sep 17 00:00:00 2001
-From: Jan Fajerski <jfajerski@suse.com>
-Date: Fri, 12 Jun 2020 09:27:36 +0200
-Subject: [PATCH] systemd/ceph-osd: ceph-osd-prestart.sh now lives in
- /usr/libexec
-
-Fixes: https://tracker.ceph.com/issues/45984
-Fixes: ed6552d5067c9f1d34c426f9ae18b0c37f2a9d29
-
-Signed-off-by: Jan Fajerski <jfajerski@suse.com>
----
- systemd/ceph-osd@.service.in | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/systemd/ceph-osd@.service.in b/systemd/ceph-osd@.service.in
-index a0067d347220..4a2254e99478 100644
---- a/systemd/ceph-osd@.service.in
-+++ b/systemd/ceph-osd@.service.in
-@@ -9,7 +9,7 @@ Environment=CLUSTER=ceph
- EnvironmentFile=-@SYSTEMD_ENV_FILE@
- Environment=CLUSTER=ceph
- ExecStart=/usr/bin/ceph-osd -f --cluster ${CLUSTER} --id %i --setuser ceph --setgroup ceph
--ExecStartPre=/usr/lib/ceph/ceph-osd-prestart.sh --cluster ${CLUSTER} --id %i
-+ExecStartPre=@CMAKE_INSTALL_FULL_LIBEXECDIR@/ceph/ceph-osd-prestart.sh --cluster ${CLUSTER} --id %i
- ExecReload=/bin/kill -HUP $MAINPID
- LockPersonality=true
- MemoryDenyWriteExecute=true
diff --git a/sys-cluster/ceph/files/ceph-14.2.22-build-without-mgr.patch b/sys-cluster/ceph/files/ceph-14.2.22-build-without-mgr.patch
deleted file mode 100644
index f3ba34cc165c..000000000000
--- a/sys-cluster/ceph/files/ceph-14.2.22-build-without-mgr.patch
+++ /dev/null
@@ -1,32 +0,0 @@
-diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
-index ed4bbc75d44..5f5e72918d2 100644
---- a/src/CMakeLists.txt
-+++ b/src/CMakeLists.txt
-@@ -451,9 +451,7 @@ if(WITH_LIBRADOSSTRIPER)
- add_subdirectory(libradosstriper)
- endif()
-
--if(WITH_MGR)
-- add_subdirectory(mgr)
--endif()
-+add_subdirectory(mgr)
-
- set(librados_config_srcs
- librados-config.cc)
-diff --git a/src/mgr/CMakeLists.txt b/src/mgr/CMakeLists.txt
-index e7caaeff099..b4f13c05184 100644
---- a/src/mgr/CMakeLists.txt
-+++ b/src/mgr/CMakeLists.txt
-@@ -1,6 +1,7 @@
- add_library(mgr_cap_obj OBJECT
- MgrCap.cc)
-
-+if(WITH_MGR)
- set(mgr_srcs
- ${CMAKE_SOURCE_DIR}/src/ceph_mgr.cc
- ${CMAKE_SOURCE_DIR}/src/mon/PGMap.cc
-@@ -36,3 +37,4 @@ target_link_libraries(ceph-mgr
- set_target_properties(ceph-mgr PROPERTIES
- POSITION_INDEPENDENT_CODE ${EXE_LINKER_USE_PIE})
- install(TARGETS ceph-mgr DESTINATION bin)
-+endif()
diff --git a/sys-cluster/ceph/files/ceph-14.2.22-cflags.patch b/sys-cluster/ceph/files/ceph-14.2.22-cflags.patch
deleted file mode 100644
index 5c9f17098616..000000000000
--- a/sys-cluster/ceph/files/ceph-14.2.22-cflags.patch
+++ /dev/null
@@ -1,25 +0,0 @@
-diff --git a/cmake/modules/BuildBoost.cmake b/cmake/modules/BuildBoost.cmake
-index eaab331413b..4ee3f1b0768 100644
---- a/cmake/modules/BuildBoost.cmake
-+++ b/cmake/modules/BuildBoost.cmake
-@@ -62,7 +62,7 @@ function(do_build_boost version)
- else()
- list(APPEND boost_features "address-model=32")
- endif()
-- set(BOOST_CXXFLAGS "-fPIC -w") # check on arm, etc <---XXX
-+ set(BOOST_CXXFLAGS "${CMAKE_CXX_FLAGS} -fPIC -w") # check on arm, etc <---XXX
- list(APPEND boost_features "cxxflags=${BOOST_CXXFLAGS}")
-
- set(boost_with_libs)
-diff --git a/cmake/modules/BuildZstd.cmake b/cmake/modules/BuildZstd.cmake
-index 799b14b281d..9b4b5ee8dcf 100644
---- a/cmake/modules/BuildZstd.cmake
-+++ b/cmake/modules/BuildZstd.cmake
-@@ -1,6 +1,6 @@
- # libzstd - build it statically
- function(build_Zstd)
-- set(ZSTD_C_FLAGS "-fPIC -Wno-unused-variable -O3")
-+ set(ZSTD_C_FLAGS "-fPIC -Wno-unused-variable $ENV{CFLAGS} -O3")
-
- include(ExternalProject)
- ExternalProject_Add(zstd_ext
diff --git a/sys-cluster/ceph/files/ceph-14.2.22-no-virtualenvs.patch b/sys-cluster/ceph/files/ceph-14.2.22-no-virtualenvs.patch
deleted file mode 100644
index 534133122f99..000000000000
--- a/sys-cluster/ceph/files/ceph-14.2.22-no-virtualenvs.patch
+++ /dev/null
@@ -1,39 +0,0 @@
-diff --git a/src/pybind/mgr/dashboard/CMakeLists.txt b/src/pybind/mgr/dashboard/CMakeLists.txt
-index 7c9cc4abd56..9f84b0c2b26 100644
---- a/src/pybind/mgr/dashboard/CMakeLists.txt
-+++ b/src/pybind/mgr/dashboard/CMakeLists.txt
-@@ -2,7 +2,7 @@ set(MGR_DASHBOARD_VIRTUALENV ${CEPH_BUILD_VIRTUALENV}/mgr-dashboard-virtualenv)
-
- add_custom_target(mgr-dashboard-test-venv
- COMMAND
-- ${CMAKE_SOURCE_DIR}/src/tools/setup-virtualenv.sh --python=${MGR_PYTHON_EXECUTABLE} ${MGR_DASHBOARD_VIRTUALENV}
-+ #${CMAKE_SOURCE_DIR}/src/tools/setup-virtualenv.sh --python=${MGR_PYTHON_EXECUTABLE} ${MGR_DASHBOARD_VIRTUALENV}
- WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}/src/pybind/mgr/dashboard
- COMMENT "dashboard tests virtualenv is being created")
- add_dependencies(tests mgr-dashboard-test-venv)
-@@ -14,9 +14,9 @@ function(add_npm_command)
- set(multi_kw COMMAND DEPENDS)
- cmake_parse_arguments(NC "${options}" "${single_kw}" "${multi_kw}" ${ARGN})
- string(REPLACE ";" " " command "${NC_COMMAND}")
-- if(NC_NODEENV)
-- string(REGEX REPLACE "^(.*(npm|npx) .*)$" ". ${mgr-dashboard-nodeenv-dir}/bin/activate && \\1 && deactivate" command ${command})
-- endif()
-+ #if(NC_NODEENV)
-+ # string(REGEX REPLACE "^(.*(npm|npx) .*)$" ". ${mgr-dashboard-nodeenv-dir}/bin/activate && \\1 && deactivate" command ${command})
-+ #endif()
- string(REPLACE " " ";" command "${command}")
- add_custom_command(
- OUTPUT "${NC_OUTPUT}"
-@@ -41,9 +41,9 @@ else()
-
- add_custom_command(
- OUTPUT "${mgr-dashboard-nodeenv-dir}/bin/npm"
-- COMMAND ${CMAKE_SOURCE_DIR}/src/tools/setup-virtualenv.sh --python=${MGR_PYTHON_EXECUTABLE} ${mgr-dashboard-nodeenv-dir}
-- COMMAND ${mgr-dashboard-nodeenv-dir}/bin/pip install nodeenv
-- COMMAND ${mgr-dashboard-nodeenv-dir}/bin/nodeenv --verbose -p --node=10.13.0
-+ #COMMAND ${CMAKE_SOURCE_DIR}/src/tools/setup-virtualenv.sh --python=${MGR_PYTHON_EXECUTABLE} ${mgr-dashboard-nodeenv-dir}
-+ #COMMAND ${mgr-dashboard-nodeenv-dir}/bin/pip install nodeenv
-+ #COMMAND ${mgr-dashboard-nodeenv-dir}/bin/nodeenv --verbose -p --node=10.13.0
- WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
- COMMENT "dashboard nodeenv is being installed"
- )
diff --git a/sys-cluster/ceph/files/ceph-14.2.22-snappy-uint32.patch b/sys-cluster/ceph/files/ceph-14.2.22-snappy-uint32.patch
deleted file mode 100644
index c783558a1758..000000000000
--- a/sys-cluster/ceph/files/ceph-14.2.22-snappy-uint32.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-diff --git a/src/compressor/snappy/SnappyCompressor.h b/src/compressor/snappy/SnappyCompressor.h
-index 0291a923112..352ab9a9bcf 100644
---- a/src/compressor/snappy/SnappyCompressor.h
-+++ b/src/compressor/snappy/SnappyCompressor.h
-@@ -96,7 +96,7 @@ class SnappyCompressor : public Compressor {
- if (qat_enabled)
- return qat_accel.decompress(p, compressed_len, dst);
- #endif
-- snappy::uint32 res_len = 0;
-+ uint32_t res_len = 0;
- BufferlistSource source_1(p, compressed_len);
- if (!snappy::GetUncompressedLength(&source_1, &res_len)) {
- return -1;
diff --git a/sys-cluster/ceph/files/ceph-14.2.3-dpdk-compile-fix-1.patch b/sys-cluster/ceph/files/ceph-14.2.3-dpdk-compile-fix-1.patch
deleted file mode 100644
index ef06758326e9..000000000000
--- a/sys-cluster/ceph/files/ceph-14.2.3-dpdk-compile-fix-1.patch
+++ /dev/null
@@ -1,111 +0,0 @@
-diff --git a/src/msg/async/dpdk/DPDKStack.cc b/src/msg/async/dpdk/DPDKStack.cc
-index 3101ae57ac..1db97c289a 100644
---- a/src/msg/async/dpdk/DPDKStack.cc
-+++ b/src/msg/async/dpdk/DPDKStack.cc
-@@ -203,7 +203,9 @@ DPDKWorker::Impl::~Impl()
- _dev->unset_local_queue(id);
- }
-
--int DPDKWorker::listen(entity_addr_t &sa, const SocketOptions &opt,
-+int DPDKWorker::listen(entity_addr_t &sa,
-+ unsigned addr_slot,
-+ const SocketOptions &opt,
- ServerSocket *sock)
- {
- ceph_assert(sa.get_family() == AF_INET);
-diff --git a/src/msg/async/dpdk/DPDKStack.h b/src/msg/async/dpdk/DPDKStack.h
-index a44ae38367..622ff8a3c6 100644
---- a/src/msg/async/dpdk/DPDKStack.h
-+++ b/src/msg/async/dpdk/DPDKStack.h
-@@ -37,7 +37,7 @@ class DPDKServerSocketImpl : public ServerSocketImpl {
- typename Protocol::listener _listener;
- public:
- DPDKServerSocketImpl(Protocol& proto, uint16_t port, const SocketOptions &opt,
-- int type);
-+ int type, unsigned addr_slot);
- int listen() {
- return _listener.listen();
- }
-@@ -184,8 +184,9 @@ class NativeConnectedSocketImpl : public ConnectedSocketImpl {
-
- template <typename Protocol>
- DPDKServerSocketImpl<Protocol>::DPDKServerSocketImpl(
-- Protocol& proto, uint16_t port, const SocketOptions &opt, int type)
-- : ServerSocketImpl(type), _listener(proto.listen(port)) {}
-+ Protocol& proto, uint16_t port, const SocketOptions &opt,
-+ int type, unsigned addr_slot)
-+ : ServerSocketImpl(type, addr_slot), _listener(proto.listen(port)) {}
-
- template <typename Protocol>
- int DPDKServerSocketImpl<Protocol>::accept(ConnectedSocket *s, const SocketOptions &options, entity_addr_t *out, Worker *w) {
-@@ -229,7 +230,8 @@ class DPDKWorker : public Worker {
-
- public:
- explicit DPDKWorker(CephContext *c, unsigned i): Worker(c, i) {}
-- virtual int listen(entity_addr_t &addr, const SocketOptions &opts, ServerSocket *) override;
-+ virtual int listen(entity_addr_t &addr, unsigned addr_slot,
-+ const SocketOptions &opts, ServerSocket *) override;
- virtual int connect(const entity_addr_t &addr, const SocketOptions &opts, ConnectedSocket *socket) override;
- void arp_learn(ethernet_address l2, ipv4_address l3) {
- _impl->_inet.learn(l2, l3);
-diff --git a/src/msg/async/dpdk/TCP.cc b/src/msg/async/dpdk/TCP.cc
-index c6397709b1..26f29e10f7 100644
---- a/src/msg/async/dpdk/TCP.cc
-+++ b/src/msg/async/dpdk/TCP.cc
-@@ -153,9 +153,10 @@ bool ipv4_tcp::forward(forward_hash& out_hash_data, Packet& p, size_t off)
- }
-
- int tcpv4_listen(tcp<ipv4_traits>& tcpv4, uint16_t port, const SocketOptions &opts,
-- int type, ServerSocket *sock)
-+ int type, unsigned addr_slot, ServerSocket *sock)
- {
-- auto p = new DPDKServerSocketImpl<tcp<ipv4_traits>>(tcpv4, port, opts, type);
-+ auto p = new DPDKServerSocketImpl<tcp<ipv4_traits>>(tcpv4, port, opts,
-+ type, addr_slot);
- int r = p->listen();
- if (r < 0) {
- delete p;
-diff --git a/src/msg/async/dpdk/DPDK.h b/src/msg/async/dpdk/DPDK.h
-index fa12af6b27..6bb52973e0 100644
---- a/src/msg/async/dpdk/DPDK.h
-+++ b/src/msg/async/dpdk/DPDK.h
-@@ -833,7 +833,7 @@ class DPDKDevice {
- subscription<Packet> receive(unsigned cpuid, std::function<int (Packet)> next_packet) {
- auto sub = _queues[cpuid]->_rx_stream.listen(std::move(next_packet));
- _queues[cpuid]->rx_start();
-- return std::move(sub);
-+ return sub;
- }
- ethernet_address hw_address() {
- struct ether_addr mac;
-@@ -849,7 +849,7 @@ class DPDKDevice {
- std::unique_ptr<DPDKQueuePair> init_local_queue(CephContext *c, EventCenter *center, string hugepages, uint16_t qid) {
- std::unique_ptr<DPDKQueuePair> qp;
- qp = std::unique_ptr<DPDKQueuePair>(new DPDKQueuePair(c, center, this, qid));
-- return std::move(qp);
-+ return qp;
- }
- unsigned hash2qid(uint32_t hash) {
- // return hash % hw_queues_count();
-diff --git a/src/msg/async/dpdk/Packet.h b/src/msg/async/dpdk/Packet.h
-index db9cd2a764..f929da3178 100644
---- a/src/msg/async/dpdk/Packet.h
-+++ b/src/msg/async/dpdk/Packet.h
-@@ -125,7 +125,7 @@ class Packet {
- n->rss_hash.construct(old->rss_hash);
- std::copy(old->frags, old->frags + old->_nr_frags, n->frags);
- old->copy_internal_fragment_to(n.get());
-- return std::move(n);
-+ return n;
- }
-
- static std::unique_ptr<impl> copy(impl* old) {
-@@ -134,7 +134,7 @@ class Packet {
-
- static std::unique_ptr<impl> allocate_if_needed(std::unique_ptr<impl> old, size_t extra_frags) {
- if (old->_allocated_frags >= old->_nr_frags + extra_frags) {
-- return std::move(old);
-+ return old;
- }
- return copy(old.get(), std::max<size_t>(old->_nr_frags + extra_frags, 2 * old->_nr_frags));
- }
diff --git a/sys-cluster/ceph/files/ceph-14.2.4-python-executable.patch b/sys-cluster/ceph/files/ceph-14.2.4-python-executable.patch
deleted file mode 100644
index 40feaf11ad39..000000000000
--- a/sys-cluster/ceph/files/ceph-14.2.4-python-executable.patch
+++ /dev/null
@@ -1,29 +0,0 @@
-diff --git a/src/ceph-crash.in b/src/ceph-crash.in
-index 5bfb50c474..d53c4eeb6a 100755
---- a/src/ceph-crash.in
-+++ b/src/ceph-crash.in
-@@ -1,4 +1,4 @@
--#!@PYTHON_EXECUTABLE@
-+#!@PYTHON3_EXECUTABLE@
- # -*- mode:python -*-
- # vim: ts=4 sw=4 smarttab expandtab
-
-diff --git a/src/ceph.in b/src/ceph.in
-index f060023f57..3a84263ccc 100755
---- a/src/ceph.in
-+++ b/src/ceph.in
-@@ -1,4 +1,4 @@
--#!@PYTHON_EXECUTABLE@
-+#!@PYTHON3_EXECUTABLE@
- # -*- mode:python -*-
- # vim: ts=4 sw=4 smarttab expandtab
- #
-@@ -66,7 +66,7 @@ DEVMODEMSG = '*** DEVELOPER MODE: setting PATH, PYTHONPATH and LD_LIBRARY_PATH *
- def respawn_in_path(lib_path, pybind_path, pythonlib_path, asan_lib_path):
- execv_cmd = []
- if 'CEPH_DBG' in os.environ:
-- execv_cmd += ['@PYTHON_EXECUTABLE@', '-mpdb']
-+ execv_cmd += ['@PYTHON3_EXECUTABLE@', '-mpdb']
-
- if platform.system() == "Darwin":
- lib_path_var = "DYLD_LIBRARY_PATH"
diff --git a/sys-cluster/ceph/files/ceph-14.2.4-undefined-behaviour.patch b/sys-cluster/ceph/files/ceph-14.2.4-undefined-behaviour.patch
deleted file mode 100644
index 99249fb01a0c..000000000000
--- a/sys-cluster/ceph/files/ceph-14.2.4-undefined-behaviour.patch
+++ /dev/null
@@ -1,76 +0,0 @@
-diff --git a/src/include/blobhash.h b/src/include/blobhash.h
-index 597884e4c9..97f2065ce3 100644
---- a/src/include/blobhash.h
-+++ b/src/include/blobhash.h
-@@ -14,33 +14,40 @@
- #ifndef CEPH_BLOBHASH_H
- #define CEPH_BLOBHASH_H
-
-+#include <cstdint>
- #include "hash.h"
-
--/*
--- this is to make some of the STL types work with 64 bit values, string hash keys, etc.
--- added when i was using an old STL.. maybe try taking these out and see if things
-- compile now?
--*/
--
- class blobhash {
- public:
-- uint32_t operator()(const char *p, unsigned len) {
-- static rjhash<uint32_t> H;
-- uint32_t acc = 0;
-+ uint32_t operator()(const void* p, size_t len) {
-+ static rjhash<std::uint32_t> H;
-+ std::uint32_t acc = 0;
-+ auto buf = static_cast<const unsigned char*>(p);
- while (len >= sizeof(acc)) {
-- acc ^= *(uint32_t*)p;
-- p += sizeof(uint32_t);
-- len -= sizeof(uint32_t);
-+ acc ^= unaligned_load(buf);
-+ buf += sizeof(std::uint32_t);
-+ len -= sizeof(std::uint32_t);
- }
-- int sh = 0;
-- while (len) {
-- acc ^= (uint32_t)*p << sh;
-- sh += 8;
-- len--;
-- p++;
-+ // handle the last few bytes of p[-(len % 4):]
-+ switch (len) {
-+ case 3:
-+ acc ^= buf[2] << 16;
-+ [[fallthrough]];
-+ case 2:
-+ acc ^= buf[1] << 8;
-+ [[fallthrough]];
-+ case 1:
-+ acc ^= buf[0];
-+ [[fallthrough]];
- }
- return H(acc);
- }
-+private:
-+ static inline std::uint32_t unaligned_load(const unsigned char* p) {
-+ std::uint32_t result;
-+ __builtin_memcpy(&result, p, sizeof(result));
-+ return result;
-+ }
- };
-
-
-diff --git a/src/msg/msg_types.h b/src/msg/msg_types.h
-index b6952ca498..576b7d6b8a 100644
---- a/src/msg/msg_types.h
-+++ b/src/msg/msg_types.h
-@@ -566,7 +566,7 @@ namespace std {
- size_t operator()( const entity_addr_t& x ) const
- {
- static blobhash H;
-- return H((const char*)&x, sizeof(x));
-+ return H(&x, sizeof(x));
- }
- };
- } // namespace std
diff --git a/sys-cluster/ceph/files/ceph-16.2.8-no-virtualenvs.patch b/sys-cluster/ceph/files/ceph-16.2.8-no-virtualenvs.patch
new file mode 100644
index 000000000000..79aee882c2a4
--- /dev/null
+++ b/sys-cluster/ceph/files/ceph-16.2.8-no-virtualenvs.patch
@@ -0,0 +1,82 @@
+diff --git a/cmake/modules/AddCephTest.cmake b/cmake/modules/AddCephTest.cmake
+index cd661be16c9..7183c2f2138 100644
+--- a/cmake/modules/AddCephTest.cmake
++++ b/cmake/modules/AddCephTest.cmake
+@@ -55,7 +55,6 @@ endfunction()
+
+ function(add_tox_test name)
+ set(test_name run-tox-${name})
+- set(venv_path ${CEPH_BUILD_VIRTUALENV}/${name}-virtualenv)
+ cmake_parse_arguments(TOXTEST "" "TOX_PATH" "TOX_ENVS" ${ARGN})
+ if(DEFINED TOXTEST_TOX_PATH)
+ set(tox_path ${TOXTEST_TOX_PATH})
+@@ -68,14 +67,6 @@ function(add_tox_test name)
+ list(APPEND tox_envs py3)
+ endif()
+ string(REPLACE ";" "," tox_envs "${tox_envs}")
+- add_custom_command(
+- OUTPUT ${venv_path}/bin/activate
+- COMMAND ${CMAKE_SOURCE_DIR}/src/tools/setup-virtualenv.sh --python="${Python3_EXECUTABLE}" ${venv_path}
+- WORKING_DIRECTORY ${tox_path}
+- COMMENT "preparing venv for ${name}")
+- add_custom_target(${name}-venv
+- DEPENDS ${venv_path}/bin/activate)
+- add_dependencies(tests ${name}-venv)
+ add_test(
+ NAME ${test_name}
+ COMMAND ${CMAKE_SOURCE_DIR}/src/script/run_tox.sh
+diff --git a/src/ceph-volume/CMakeLists.txt b/src/ceph-volume/CMakeLists.txt
+index 9166553dc73..9a6c87595b9 100644
+--- a/src/ceph-volume/CMakeLists.txt
++++ b/src/ceph-volume/CMakeLists.txt
+@@ -8,22 +8,6 @@ if(FREEBSD)
+ add_subdirectory(plugin/zfs)
+ endif()
+
+-# Required for running ceph-volume inventory in a vstart environment
+-set(CEPH_VOLUME_VIRTUALENV ${CEPH_BUILD_VIRTUALENV}/ceph-volume-virtualenv)
+-
+-add_custom_command(
+- OUTPUT ${CEPH_VOLUME_VIRTUALENV}/bin/python
+- COMMAND ${CMAKE_SOURCE_DIR}/src/tools/setup-virtualenv.sh --python=${Python3_EXECUTABLE} ${CEPH_VOLUME_VIRTUALENV}
+- WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}/src/ceph-volume
+- COMMENT "ceph-volume venv is being created")
+-
+-add_custom_command(
+- OUTPUT ${CEPH_VOLUME_VIRTUALENV}/bin/ceph-volume
+- DEPENDS ${CEPH_VOLUME_VIRTUALENV}/bin/python
+- COMMAND . ${CEPH_VOLUME_VIRTUALENV}/bin/activate && ${CEPH_VOLUME_VIRTUALENV}/bin/python setup.py develop && deactivate
+- WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}/src/ceph-volume
+- COMMENT "${CMAKE_SOURCE_DIR}/src/ceph-volume")
+-
+ add_custom_target(ceph-volume-venv-setup
+ DEPENDS ${CEPH_VOLUME_VIRTUALENV}/bin/ceph-volume)
+
+diff --git a/src/pybind/mgr/dashboard/CMakeLists.txt b/src/pybind/mgr/dashboard/CMakeLists.txt
+index 0c8d46d65ee..67a618f95aa 100644
+--- a/src/pybind/mgr/dashboard/CMakeLists.txt
++++ b/src/pybind/mgr/dashboard/CMakeLists.txt
+@@ -5,9 +5,6 @@ function(add_npm_command)
+ set(multi_kw COMMAND DEPENDS)
+ cmake_parse_arguments(NC "${options}" "${single_kw}" "${multi_kw}" ${ARGN})
+ string(REPLACE ";" " " command "${NC_COMMAND}")
+- if(NC_NODEENV)
+- string(REGEX REPLACE "^(.*(npm|npx) .*)$" ". ${mgr-dashboard-nodeenv-dir}/bin/activate && \\1 && deactivate" command ${command})
+- endif()
+ string(REPLACE " " ";" command "${command}")
+ add_custom_command(
+ OUTPUT "${NC_OUTPUT}"
+@@ -51,11 +48,8 @@ else(WITH_SYSTEM_NPM)
+ set(node_mirror_opt "--mirror=$ENV{NODE_MIRROR}")
+ endif()
+ add_custom_command(
+- OUTPUT "${mgr-dashboard-nodeenv-dir}/bin/npm"
+- COMMAND ${CMAKE_SOURCE_DIR}/src/tools/setup-virtualenv.sh --python=${MGR_PYTHON_EXECUTABLE} ${mgr-dashboard-nodeenv-dir}
+- COMMAND ${mgr-dashboard-nodeenv-dir}/bin/pip install nodeenv
+- COMMAND ${mgr-dashboard-nodeenv-dir}/bin/nodeenv --verbose ${node_mirror_opt} -p --node=12.18.2
+- COMMAND mkdir ${mgr-dashboard-nodeenv-dir}/.npm
++ OUTPUT "/bin/npm"
++ COMMAND /bin/nodeenv ${node_mirror_opt} -p --node=12.18.2
+ WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
+ COMMENT "dashboard nodeenv is being installed"
+ )
diff --git a/sys-cluster/ceph/files/ceph-17.2.1-no-virtualenvs.patch b/sys-cluster/ceph/files/ceph-17.2.1-no-virtualenvs.patch
new file mode 100644
index 000000000000..b0112dff9242
--- /dev/null
+++ b/sys-cluster/ceph/files/ceph-17.2.1-no-virtualenvs.patch
@@ -0,0 +1,68 @@
+diff --git a/cmake/modules/AddCephTest.cmake b/cmake/modules/AddCephTest.cmake
+index 46d3a1b4cb8..b05490e1224 100644
+--- a/cmake/modules/AddCephTest.cmake
++++ b/cmake/modules/AddCephTest.cmake
+@@ -56,7 +56,6 @@ endfunction()
+
+ function(add_tox_test name)
+ set(test_name run-tox-${name})
+- set(venv_path ${CEPH_BUILD_VIRTUALENV}/${name}-virtualenv)
+ cmake_parse_arguments(TOXTEST "" "TOX_PATH" "TOX_ENVS" ${ARGN})
+ if(DEFINED TOXTEST_TOX_PATH)
+ set(tox_path ${TOXTEST_TOX_PATH})
+@@ -69,27 +68,13 @@ function(add_tox_test name)
+ list(APPEND tox_envs py3)
+ endif()
+ string(REPLACE ";" "," tox_envs "${tox_envs}")
+- add_test(
+- NAME setup-venv-for-${name}
+- COMMAND ${CMAKE_SOURCE_DIR}/src/tools/setup-virtualenv.sh --python=${Python3_EXECUTABLE} ${venv_path}
+- WORKING_DIRECTORY ${tox_path})
+- set_tests_properties(setup-venv-for-${name} PROPERTIES
+- FIXTURES_SETUP venv-for-${name})
+- add_test(
+- NAME teardown-venv-for-${name}
+- COMMAND ${CMAKE_COMMAND} -E remove_directory ${venv_path})
+- set_tests_properties(teardown-venv-for-${name} PROPERTIES
+- FIXTURES_CLEANUP venv-for-${name})
+ add_test(
+ NAME ${test_name}
+ COMMAND ${CMAKE_SOURCE_DIR}/src/script/run_tox.sh
+ --source-dir ${CMAKE_SOURCE_DIR}
+ --build-dir ${CMAKE_BINARY_DIR}
+ --tox-path ${tox_path}
+- --tox-envs ${tox_envs}
+- --venv-path ${venv_path})
+- set_tests_properties(${test_name} PROPERTIES
+- FIXTURES_REQUIRED venv-for-${name})
++ --tox-envs ${tox_envs})
+ set_property(
+ TEST ${test_name}
+ PROPERTY ENVIRONMENT
+diff --git a/src/ceph-volume/CMakeLists.txt b/src/ceph-volume/CMakeLists.txt
+index 9166553dc73..9a6c87595b9 100644
+--- a/src/ceph-volume/CMakeLists.txt
++++ b/src/ceph-volume/CMakeLists.txt
+@@ -8,22 +8,6 @@ if(FREEBSD)
+ add_subdirectory(plugin/zfs)
+ endif()
+
+-# Required for running ceph-volume inventory in a vstart environment
+-set(CEPH_VOLUME_VIRTUALENV ${CEPH_BUILD_VIRTUALENV}/ceph-volume-virtualenv)
+-
+-add_custom_command(
+- OUTPUT ${CEPH_VOLUME_VIRTUALENV}/bin/python
+- COMMAND ${CMAKE_SOURCE_DIR}/src/tools/setup-virtualenv.sh --python=${Python3_EXECUTABLE} ${CEPH_VOLUME_VIRTUALENV}
+- WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}/src/ceph-volume
+- COMMENT "ceph-volume venv is being created")
+-
+-add_custom_command(
+- OUTPUT ${CEPH_VOLUME_VIRTUALENV}/bin/ceph-volume
+- DEPENDS ${CEPH_VOLUME_VIRTUALENV}/bin/python
+- COMMAND . ${CEPH_VOLUME_VIRTUALENV}/bin/activate && ${CEPH_VOLUME_VIRTUALENV}/bin/python setup.py develop && deactivate
+- WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}/src/ceph-volume
+- COMMENT "${CMAKE_SOURCE_DIR}/src/ceph-volume")
+-
+ add_custom_target(ceph-volume-venv-setup
+ DEPENDS ${CEPH_VOLUME_VIRTUALENV}/bin/ceph-volume)
+