diff options
author | Marius Bakke <mbakke@fastmail.com> | 2019-12-21 15:18:13 +0100 |
---|---|---|
committer | Marius Bakke <mbakke@fastmail.com> | 2020-01-07 18:18:11 +0100 |
commit | be23ce2c7cdb696ff20f65750f939f316991e92f (patch) | |
tree | 05c0d5f90e9a9d32ef2e923fbb4aa01db4c2bfb7 /gnu/packages/patches | |
parent | 2316f027f806965062fc842f0ad5be28582c54c5 (diff) | |
download | guix-be23ce2c7cdb696ff20f65750f939f316991e92f.tar guix-be23ce2c7cdb696ff20f65750f939f316991e92f.tar.gz |
gnu: Ceph: Update to 14.2.5.
This also removes test-specific code to ease the Python 3 transition, and
because it is mostly obsolete.
* gnu/packages/patches/ceph-detect-rocksdb.patch,
gnu/packages/patches/ceph-skip-unittest_blockdev.patch,
gnu/packages/patches/ceph-skip-collect-sys-info-test.patch: Delete files.
* gnu/packages/patches/ceph-boost-compat.patch: New file.
* gnu/local.mk (dist_patch_DATA): Adjust accordingly.
* gnu/packages/storage.scm (ceph): Update to 14.2.5.
[source](patches): Adjust as above.
[source](snippet): Remove bundled "fmt", "c-ares" and "googletest".
[arguments]: Add "-DCMAKE_INSTALL_DATADIR" and "-DWITH_RADOSGW_AMQP_ENDPOINT"
and "-DWITH_TESTS" in #:configure-flags; remove "-DWITH_XIO". Remove obsolete
substitutions. Don't install 'ceph-disk' and 'ceph-detect-init', which no
longer exists. Remove test-specific substitutions and phases. Adjust for
Python 2->3 in inputs.
[native-inputs]: Remove INETUTILS, JQ, PERL, XMLSTARLET, PYTHON2-CRAM,
PYTHON2-VIRTUALENV, PYTHON2-CONFIGOBJ, PYTHON2-COVERAGE, PYTHON2-DISCOVER,
PYTHON2-FLAKE8, PYTHON2-MOCK, PYTHON2-NOSE, PYTHON2-PIP, PYTHON2-PYTEST,
PYTHON2-SUBUNIT PYTHON2-TESTREPOSITORY, PYTHON2-TESTTOOLS, and PYTHON2-TOX.
[inputs]: Change from BOOST to BOOST-WITH-PYTHON3. Remove GPTFDISK, PARTED,
PYTHON-2, PYTHON2-SIX, PYTHON2-PRETTYTABLE, and PYTHON-3. Add PYTHON-SIX,
PYTHON-PRETTYTABLE, PYTHON-WRAPPER, LIBCAP-NG, LIBNL, NCURSES, and RDMA-CORE.
Diffstat (limited to 'gnu/packages/patches')
-rw-r--r-- | gnu/packages/patches/ceph-boost-compat.patch | 81 | ||||
-rw-r--r-- | gnu/packages/patches/ceph-detect-rocksdb.patch | 24 | ||||
-rw-r--r-- | gnu/packages/patches/ceph-skip-collect-sys-info-test.patch | 24 | ||||
-rw-r--r-- | gnu/packages/patches/ceph-skip-unittest_blockdev.patch | 24 |
4 files changed, 81 insertions, 72 deletions
diff --git a/gnu/packages/patches/ceph-boost-compat.patch b/gnu/packages/patches/ceph-boost-compat.patch new file mode 100644 index 0000000000..b3df659d6b --- /dev/null +++ b/gnu/packages/patches/ceph-boost-compat.patch @@ -0,0 +1,81 @@ +Fix compatibility with Boost 1.70. + +Adapted for 14.2.5 from these upstream commits: +https://github.com/ceph/ceph/commit/064f142746ae97f54865069cdacf5aae2b1b14f6 +https://github.com/ceph/ceph/commit/f1651b8c509d60787d10c4115e29fecfd2da237c + +diff --git a/src/rgw/rgw_asio_frontend.cc b/src/rgw/rgw_asio_frontend.cc +--- a/src/rgw/rgw_asio_frontend.cc ++++ b/src/rgw/rgw_asio_frontend.cc +@@ -83,7 +83,8 @@ + using SharedMutex = ceph::async::SharedMutex<boost::asio::io_context::executor_type>; + + template <typename Stream> +-void handle_connection(RGWProcessEnv& env, Stream& stream, ++void handle_connection(boost::asio::io_context& context, ++ RGWProcessEnv& env, Stream& stream, + parse_buffer& buffer, bool is_ssl, + SharedMutex& pause_mutex, + rgw::dmclock::Scheduler *scheduler, +@@ -160,7 +161,7 @@ + rgw::io::add_conlen_controlling( + &real_client)))); + RGWRestfulIO client(cct, &real_client_io); +- auto y = optional_yield{socket.get_io_context(), yield}; ++ auto y = optional_yield{context, yield}; + process_request(env.store, env.rest, &req, env.uri_prefix, + *env.auth_registry, &client, env.olog, y, scheduler); + } +@@ -604,7 +605,7 @@ + return; + } + buffer->consume(bytes); +- handle_connection(env, stream, *buffer, true, pause_mutex, ++ handle_connection(context, env, stream, *buffer, true, pause_mutex, + scheduler.get(), ec, yield); + if (!ec) { + // ssl shutdown (ignoring errors) +@@ -622,7 +623,7 @@ + auto c = connections.add(conn); + auto buffer = std::make_unique<parse_buffer>(); + boost::system::error_code ec; +- handle_connection(env, s, *buffer, false, pause_mutex, ++ handle_connection(context, env, s, *buffer, false, pause_mutex, + scheduler.get(), ec, yield); + s.shutdown(tcp::socket::shutdown_both, ec); + }); +diff --git a/src/rgw/rgw_dmclock_async_scheduler.h b/src/rgw/rgw_dmclock_async_scheduler.h +--- a/src/rgw/rgw_dmclock_async_scheduler.h ++++ b/src/rgw/rgw_dmclock_async_scheduler.h +@@ -82,7 +82,12 @@ class AsyncScheduler : public md_config_obs_t, public Scheduler { + using Completion = async::Completion<Signature, async::AsBase<Request>>; + + using Clock = ceph::coarse_real_clock; ++#if BOOST_VERSION < 107000 + using Timer = boost::asio::basic_waitable_timer<Clock>; ++#else ++ using Timer = boost::asio::basic_waitable_timer<Clock, ++ boost::asio::wait_traits<Clock>, executor_type>; ++#endif + Timer timer; //< timer for the next scheduled request + + CephContext *const cct; +diff --git a/src/rgw/rgw_reshard.h b/src/rgw/rgw_reshard.h +--- a/src/rgw/rgw_reshard.h ++++ b/src/rgw/rgw_reshard.h +@@ -183,7 +183,14 @@ class RGWReshardWait { + ceph::condition_variable cond; + + struct Waiter : boost::intrusive::list_base_hook<> { +- boost::asio::basic_waitable_timer<Clock> timer; ++#if BOOST_VERSION < 107000 ++ using Timer = boost::asio::basic_waitable_timer<Clock>; ++#else ++ using Executor = boost::asio::io_context::executor_type; ++ using Timer = boost::asio::basic_waitable_timer<Clock, ++ boost::asio::wait_traits<Clock>, Executor>; ++#endif ++ Timer timer; + explicit Waiter(boost::asio::io_context& ioc) : timer(ioc) {} + }; + boost::intrusive::list<Waiter> waiters; diff --git a/gnu/packages/patches/ceph-detect-rocksdb.patch b/gnu/packages/patches/ceph-detect-rocksdb.patch deleted file mode 100644 index badad6d1b9..0000000000 --- a/gnu/packages/patches/ceph-detect-rocksdb.patch +++ /dev/null @@ -1,24 +0,0 @@ -Help the build system find system RocksDB. - -Taken from this upstream commit: -https://github.com/ceph/ceph/commit/2ac26bd0e01fd6c82bd59936cf25c25173f7775a - -diff --git a/cmake/modules/Findrocksdb.cmake b/cmake/modules/Findrocksdb.cmake -index f8369f73fc..5926647348 100644 ---- a/cmake/modules/Findrocksdb.cmake -+++ b/cmake/modules/Findrocksdb.cmake -@@ -15,11 +15,11 @@ find_library(ROCKSDB_LIBRARIES rocksdb) - - if(ROCKSDB_INCLUDE_DIR AND EXISTS "${ROCKSDB_INCLUDE_DIR}/rocksdb/version.h") - foreach(ver "MAJOR" "MINOR" "PATCH") -- file(STRINGS "${ROCKSDB_INCLUDE_DIR}/version.h" ROCKSDB_VER_${ver}_LINE -+ file(STRINGS "${ROCKSDB_INCLUDE_DIR}/rocksdb/version.h" ROCKSDB_VER_${ver}_LINE - REGEX "^#define[ \t]+ROCKSDB_${ver}[ \t]+[0-9]+$") - string(REGEX REPLACE "^#define[ \t]+ROCKSDB_${ver}[ \t]+([0-9]+)$" -- "\\1" ROCKSDB_VERSION_${ver} "${ROCKDB_VER_${ver}_LINE}") -- unset(${ROCKDB_VER_${ver}_LINE}) -+ "\\1" ROCKSDB_VERSION_${ver} "${ROCKSDB_VER_${ver}_LINE}") -+ unset(${ROCKSDB_VER_${ver}_LINE}) - endforeach() - set(ROCKSDB_VERSION_STRING - "${ROCKSDB_VERSION_MAJOR}.${ROCKSDB_VERSION_MINOR}.${ROCKSDB_VERSION_PATCH}") diff --git a/gnu/packages/patches/ceph-skip-collect-sys-info-test.patch b/gnu/packages/patches/ceph-skip-collect-sys-info-test.patch deleted file mode 100644 index 429087c661..0000000000 --- a/gnu/packages/patches/ceph-skip-collect-sys-info-test.patch +++ /dev/null @@ -1,24 +0,0 @@ -This test fails because /etc/os-release is not available. - -diff --git a/src/test/common/test_util.cc b/src/test/common/test_util.cc -index 64eace923c..6daf4aa514 100644 ---- a/src/test/common/test_util.cc -+++ b/src/test/common/test_util.cc -@@ -32,17 +32,3 @@ TEST(util, unit_to_bytesize) - ASSERT_EQ(65536ll, unit_to_bytesize(" 64K", &cerr)); - } - --#if defined(__linux__) --TEST(util, collect_sys_info) --{ -- map<string, string> sys_info; -- -- CephContext *cct = (new CephContext(CEPH_ENTITY_TYPE_CLIENT))->get(); -- collect_sys_info(&sys_info, cct); -- -- ASSERT_TRUE(sys_info.find("distro") != sys_info.end()); -- ASSERT_TRUE(sys_info.find("distro_description") != sys_info.end()); -- -- cct->put(); --} --#endif diff --git a/gnu/packages/patches/ceph-skip-unittest_blockdev.patch b/gnu/packages/patches/ceph-skip-unittest_blockdev.patch deleted file mode 100644 index 407bd93278..0000000000 --- a/gnu/packages/patches/ceph-skip-unittest_blockdev.patch +++ /dev/null @@ -1,24 +0,0 @@ -This test tries to walk a sysfs path and hits a null pointer exception. - -/tmp/guix-build-ceph-12.0.0.drv-0/ceph-12.0.0/src/test/common/test_blkdev.cc:32: Failure -Expected: (dir) != (nullptr), actual: NULL vs 8-byte object <00-00 00-00 00-00 00-00> - -diff --git a/src/test/common/CMakeLists.txt b/src/test/common/CMakeLists.txt ---- a/src/test/common/CMakeLists.txt -+++ b/src/test/common/CMakeLists.txt -@@ -12,15 +12,6 @@ - ${CMAKE_DL_LIBS} - ) - --if(HAVE_BLKID) -- # unittest_blkdev -- add_executable(unittest_blkdev -- test_blkdev.cc -- ) -- add_ceph_unittest(unittest_blkdev) -- target_link_libraries(unittest_blkdev ceph-common ${BLKID_LIBRARIES}) --endif() -- - # unittest_bloom_filter - add_executable(unittest_bloom_filter - test_bloom_filter.cc |