From 0434611ff3132bf4a073b0172a48770c5599a58b Mon Sep 17 00:00:00 2001 From: "Kaleb S. KEITHLEY" Date: Thu, 23 Jun 2022 17:13:37 -0400 Subject: [PATCH] ceph-17.2.1 GA Signed-off-by: Kaleb S. KEITHLEY --- 0019-cmake-modules-CheckCxxAtomic.cmake.patch | 45 +++++++++-- 0021-src-rgw-CMakeLists.txt.patch | 11 --- 0022-src-kv-RocksDBStore.cc.patch | 79 ------------------- ceph.spec | 31 +++++--- sources | 2 +- 5 files changed, 62 insertions(+), 106 deletions(-) delete mode 100644 0021-src-rgw-CMakeLists.txt.patch delete mode 100644 0022-src-kv-RocksDBStore.cc.patch diff --git a/0019-cmake-modules-CheckCxxAtomic.cmake.patch b/0019-cmake-modules-CheckCxxAtomic.cmake.patch index b8c0186..f353e3c 100644 --- a/0019-cmake-modules-CheckCxxAtomic.cmake.patch +++ b/0019-cmake-modules-CheckCxxAtomic.cmake.patch @@ -1,10 +1,43 @@ ---- ceph-17.1.0/cmake/modules/CheckCxxAtomic.cmake.orig 2022-03-07 15:01:49.809505648 -0500 -+++ ceph-17.1.0/cmake/modules/CheckCxxAtomic.cmake 2022-03-09 12:47:31.018446185 -0500 -@@ -21,6 +21,7 @@ +--- ceph-17.2.0-359-gb2fe9ec8/cmake/modules/CheckCxxAtomic.cmake.orig 2022-06-03 08:45:32.341075140 -0400 ++++ ceph-17.2.0-359-gb2fe9ec8/cmake/modules/CheckCxxAtomic.cmake 2022-06-03 08:46:47.195775813 -0400 +@@ -10,8 +10,9 @@ + check_cxx_source_compiles(" + #include + #include ++#include + +-#if defined(__s390x__) || defined(__mips__) ++#if defined(__SIZEOF_INT128__) + // Boost needs 16-byte atomics for tagged pointers. + // These are implemented via inline instructions on the platform + // if 16-byte alignment can be proven, and are delegated to libatomic +@@ -21,13 +22,27 @@ // We specifically test access via an otherwise unknown pointer here // to ensure we get the most complex case. If this access can be // done without libatomic, then all accesses can be done. -+bool atomic16(std::atomic *ptr) __attribute__ ((used)); - bool atomic16(std::atomic *ptr) +-bool atomic16(std::atomic *ptr) ++struct tagged_ptr { ++ int* ptr; ++ std::size_t tag; ++}; ++ ++void atomic16(std::atomic *ptr) __attribute__ ((used)); ++void atomic16(std::atomic *ptr) { - return *ptr != 0; +- return *ptr != 0; ++ tagged_ptr p{nullptr, 1}; ++ ptr->store(p); ++ tagged_ptr f = ptr->load(); ++ tagged_ptr new_tag{nullptr, 0}; ++ ptr->compare_exchange_strong(f, new_tag); + } + #endif + + int main() { ++#if defined(__SIZEOF_INT128__) ++ std::atomic ptr; ++ atomic16(&ptr); ++#endif + std::atomic w1; + std::atomic w2; + std::atomic w4; diff --git a/0021-src-rgw-CMakeLists.txt.patch b/0021-src-rgw-CMakeLists.txt.patch deleted file mode 100644 index 48e7ed3..0000000 --- a/0021-src-rgw-CMakeLists.txt.patch +++ /dev/null @@ -1,11 +0,0 @@ ---- ceph-17.2.0/src/rgw/CMakeLists.txt.orig 2022-04-28 13:44:40.547580835 -0400 -+++ ceph-17.2.0/src/rgw/CMakeLists.txt 2022-04-28 13:45:05.040153926 -0400 -@@ -4,7 +4,7 @@ - endif() - - if(WITH_RADOSGW_SELECT_PARQUET) -- set(ARROW_LIBRARIES Arrow::Parquet) -+ set(ARROW_LIBRARIES Arrow::Arrow Arrow::Parquet) - add_definitions(-D_ARROW_EXIST) - message("-- arrow is installed, radosgw/s3select-op is able to process parquet objects") - endif(WITH_RADOSGW_SELECT_PARQUET) diff --git a/0022-src-kv-RocksDBStore.cc.patch b/0022-src-kv-RocksDBStore.cc.patch deleted file mode 100644 index a17d341..0000000 --- a/0022-src-kv-RocksDBStore.cc.patch +++ /dev/null @@ -1,79 +0,0 @@ ---- ceph-17.2.0/src/kv/RocksDBStore.cc.orig 2022-05-19 10:02:04.949165746 -0400 -+++ ceph-17.2.0/src/kv/RocksDBStore.cc 2022-05-19 11:04:30.647668997 -0400 -@@ -1353,9 +1353,7 @@ - const string& key_prefix) - { - uint64_t size = 0; -- uint8_t flags = -- //rocksdb::DB::INCLUDE_MEMTABLES | // do not include memtables... -- rocksdb::DB::INCLUDE_FILES; -+ // uint8_t flags = SizeApproximationFlags::INCLUDE_FILES; - auto p_iter = cf_handles.find(prefix); - if (p_iter != cf_handles.end()) { - for (auto cf : p_iter->second.handles) { -@@ -1363,14 +1361,14 @@ - string start = key_prefix + string(1, '\x00'); - string limit = key_prefix + string("\xff\xff\xff\xff"); - rocksdb::Range r(start, limit); -- db->GetApproximateSizes(cf, &r, 1, &s, flags); -+ db->GetApproximateSizes(cf, &r, 1, &s); - size += s; - } - } else { - string start = combine_strings(prefix , key_prefix); - string limit = combine_strings(prefix , key_prefix + "\xff\xff\xff\xff"); - rocksdb::Range r(start, limit); -- db->GetApproximateSizes(default_cf, &r, 1, &size, flags); -+ db->GetApproximateSizes(default_cf, &r, 1, &size); - } - return size; - } ---- ceph-17.2.0/src/kv/rocksdb_cache/BinnedLRUCache.cc.orig 2022-05-19 14:13:10.079111406 -0400 -+++ ceph-17.2.0/src/kv/rocksdb_cache/BinnedLRUCache.cc 2022-05-19 14:13:38.023627506 -0400 -@@ -570,7 +570,7 @@ - #endif // !__SANITIZE_ADDRESS__ - } - --#if (ROCKSDB_MAJOR >= 6 && ROCKSDB_MINOR >= 22) -+#if (ROCKSDB_MAJOR >= 7 || (ROCKSDB_MAJOR == 6 && ROCKSDB_MINOR >= 22)) - DeleterFn BinnedLRUCache::GetDeleter(Handle* handle) const - { - return reinterpret_cast(handle)->deleter; ---- ceph-17.2.0/src/kv/rocksdb_cache/BinnedLRUCache.h.orig 2022-05-19 13:09:33.549473929 -0400 -+++ ceph-17.2.0/src/kv/rocksdb_cache/BinnedLRUCache.h 2022-05-19 13:10:26.990543898 -0400 -@@ -327,7 +327,7 @@ - virtual size_t GetCharge(Handle* handle) const override; - virtual uint32_t GetHash(Handle* handle) const override; - virtual void DisownData() override; --#if (ROCKSDB_MAJOR >= 6 && ROCKSDB_MINOR >= 22) -+#if (ROCKSDB_MAJOR >= 7 || (ROCKSDB_MAJOR == 6 && ROCKSDB_MINOR >= 22)) - virtual DeleterFn GetDeleter(Handle* handle) const override; - #endif - // Retrieves number of elements in LRU, for unit test purpose only ---- ceph-17.2.0/src/kv/rocksdb_cache/ShardedCache.cc.orig 2022-05-19 14:14:49.379391874 -0400 -+++ ceph-17.2.0/src/kv/rocksdb_cache/ShardedCache.cc 2022-05-19 14:15:09.797038318 -0400 -@@ -109,7 +109,7 @@ - return usage; - } - --#if (ROCKSDB_MAJOR >= 6 && ROCKSDB_MINOR >= 22) -+#if (ROCKSDB_MAJOR >= 7 || (ROCKSDB_MAJOR == 6 && ROCKSDB_MINOR >= 22)) - DeleterFn ShardedCache::GetDeleter(Handle* handle) const - { - uint32_t hash = GetHash(handle); ---- ceph-17.2.0/src/kv/rocksdb_cache/ShardedCache.h.orig 2022-05-19 14:13:53.251363817 -0400 -+++ ceph-17.2.0/src/kv/rocksdb_cache/ShardedCache.h 2022-05-19 14:14:29.749731795 -0400 -@@ -83,11 +83,11 @@ - virtual size_t GetUsage(rocksdb::Cache::Handle* handle) const override; - virtual size_t GetPinnedUsage() const override; - virtual size_t GetCharge(Handle* handle) const = 0; --#if (ROCKSDB_MAJOR >= 6 && ROCKSDB_MINOR >= 22) -+#if (ROCKSDB_MAJOR >= 7 || (ROCKSDB_MAJOR == 6 && ROCKSDB_MINOR >= 22)) - virtual DeleterFn GetDeleter(Handle* handle) const override; - #endif - virtual void DisownData() override = 0; --#if (ROCKSDB_MAJOR >= 6 && ROCKSDB_MINOR >= 22) -+#if (ROCKSDB_MAJOR >= 7 || (ROCKSDB_MAJOR == 6 && ROCKSDB_MINOR >= 22)) - virtual void ApplyToAllEntries( - const std::function& callback, diff --git a/ceph.spec b/ceph.spec index 4cfa5e1..3ac3204 100644 --- a/ceph.spec +++ b/ceph.spec @@ -36,7 +36,6 @@ %bcond_without rbd_rwl_cache %else %bcond_with rbd_rwl_cache -%global _system_pmdk 1 %endif %if 0%{?fedora} || 0%{?rhel} %ifarch s390x %{arm64} @@ -148,12 +147,19 @@ %endif %endif +%if 0%{with seastar} +# disable -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1, as gcc-toolset-{9,10}-annobin +# do not provide gcc-annobin.so anymore, despite that they provide annobin.so. but +# redhat-rpm-config still passes -fplugin=gcc-annobin to the compiler. +%undefine _annotated_build +%endif + ################################################################################# # main package definition ################################################################################# Name: ceph -Version: 17.2.0 -Release: 7%{?dist} +Version: 17.2.1 +Release: 1%{?dist} %if 0%{?fedora} || 0%{?rhel} Epoch: 2 %endif @@ -182,8 +188,6 @@ Patch0017: 0017-gcc-12-omnibus.patch Patch0018: 0018-src-rgw-store-dbstore-CMakeLists.txt.patch Patch0019: 0019-cmake-modules-CheckCxxAtomic.cmake.patch Patch0020: 0020-src-arrow-cpp-cmake_modules-ThirdpartyToolchain.cmake.patch -Patch0021: 0021-src-rgw-CMakeLists.txt.patch -Patch0022: 0022-src-kv-RocksDBStore.cc.patch # ceph 14.0.1 does not support 32-bit architectures, bugs #1727788, #1727787 ExcludeArch: i686 armv7hl %if 0%{?suse_version} @@ -286,7 +290,6 @@ BuildRequires: hostname BuildRequires: jq BuildRequires: libuuid-devel BuildRequires: python%{python3_pkgversion}-bcrypt -BuildRequires: python%{python3_pkgversion}-nose BuildRequires: python%{python3_pkgversion}-pecan BuildRequires: python%{python3_pkgversion}-requests BuildRequires: python%{python3_pkgversion}-dateutil @@ -297,7 +300,11 @@ BuildRequires: socat %if 0%{with zbd} BuildRequires: libzbd-devel %endif +%if 0%{?suse_version} +BuildRequires: libthrift-devel >= 0.13.0 +%else BuildRequires: thrift-devel >= 0.13.0 +%endif BuildRequires: re2-devel %if 0%{with jaeger} BuildRequires: bison @@ -358,6 +365,7 @@ BuildRequires: libbz2-devel BuildRequires: mozilla-nss-devel BuildRequires: keyutils-devel BuildRequires: libopenssl-devel +BuildRequires: ninja BuildRequires: lsb-release BuildRequires: openldap2-devel #BuildRequires: krb5 @@ -379,6 +387,7 @@ BuildRequires: nss-devel BuildRequires: keyutils-libs-devel BuildRequires: libibverbs-devel BuildRequires: librdmacm-devel +BuildRequires: ninja-build BuildRequires: openldap-devel #BuildRequires: krb5-devel BuildRequires: openssl-devel @@ -710,6 +719,7 @@ Group: System/Filesystems %endif Requires: ceph-mgr = %{_epoch_prefix}%{version}-%{release} Requires: python%{python3_pkgversion}-asyncssh +Requires: python%{python3_pkgversion}-natsort Requires: cephadm = %{_epoch_prefix}%{version}-%{release} %if 0%{?suse_version} Requires: openssh @@ -1599,8 +1609,7 @@ exit 0 %if ! 0%{?suse_version} %postun -n cephadm -userdel -r cephadm || true -exit 0 +[ $1 -ne 0 ] || userdel cephadm || : %endif %files -n cephadm @@ -1608,7 +1617,7 @@ exit 0 %{_mandir}/man8/cephadm.8* %attr(0700,cephadm,cephadm) %dir %{_sharedstatedir}/cephadm %attr(0700,cephadm,cephadm) %dir %{_sharedstatedir}/cephadm/.ssh -%attr(0600,cephadm,cephadm) %{_sharedstatedir}/cephadm/.ssh/authorized_keys +%config(noreplace) %attr(0600,cephadm,cephadm) %{_sharedstatedir}/cephadm/.ssh/authorized_keys %files common %dir %{_docdir}/ceph @@ -1757,6 +1766,7 @@ fi %dir %{_datadir}/ceph/mgr %{_datadir}/ceph/mgr/mgr_module.* %{_datadir}/ceph/mgr/mgr_util.* +%{_datadir}/ceph/mgr/object_format.* %{_unitdir}/ceph-mgr@.service %{_unitdir}/ceph-mgr.target %attr(750,ceph,ceph) %dir %{_localstatedir}/lib/ceph/mgr @@ -2570,6 +2580,9 @@ exit 0 %config %{_sysconfdir}/prometheus/ceph/ceph_default_alerts.yml %changelog +* Thu Jun 23 2022 Kaleb S. KEITHLEY - 2:17.2.1-1 +- ceph-17.2.1 GA + * Fri Jun 17 2022 Robert-André Mauchin - 2:17.2.0-7 - Rebuilt for CVE-2022-1996, CVE-2022-24675, CVE-2022-28327, CVE-2022-27191, CVE-2022-29526, CVE-2022-30629 diff --git a/sources b/sources index 1c1ead3..d3b369e 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (ceph-17.2.0.tar.gz) = 70b96e709f153f16069bec8346ea73812d699eaab91a012351d02addb3fd176b84fce32c3dae84fdf91d0ffe49f2bb258410b47caeee81d81a672b4dbd04cc7e +SHA512 (ceph-17.2.1.tar.gz) = cb88a3feff67ce41c575cb6c0067a32de51fcbf36d8f9f7273cccd54a3413ee890f473e83fcc1429a86b858b05c412fca8b2cfc24871c5adf612e3d224227cf0