diff --git a/.ceph.metadata b/.ceph.metadata index cb4918b..7d10768 100644 --- a/.ceph.metadata +++ b/.ceph.metadata @@ -1 +1 @@ -94e58f4c16cd86d255a6a306181dd5050a3246fe SOURCES/ceph-16.2.7.tar.gz +2eb3d38288df77154e7515b28b8eb27cb267a190 SOURCES/ceph-17.1.0.tar.gz diff --git a/README.md b/README.md index 256f4c3..2696ca0 100644 --- a/README.md +++ b/README.md @@ -5,7 +5,7 @@ Branch names follow convention like `c-sig-storage-ceph-VERSION>` as descibed on [Naming and Patterns for Mapping Git Branches to Koji Tags] (https://wiki.centos.org/BrianStinson/GitBranchesandKojiTags) -* c8-sig-storage-ceph-pacific: CentOS-8 +* c8s-sig-storage-ceph-quincy: CentOS-8 * ... Instructions for building the ceph package for the CentOS Storage SIG @@ -18,31 +18,31 @@ can be found in the following places: E.g. build a src.rpm with: $ rpmbuild -bs \ --define "_sourcedir $PWD/SOURCES" --define "_srcrpmdir $PWD" \ - --define "dist .el8" SPECS/ceph.spec + --define "dist .el8s" SPECS/ceph.spec Get the lookaside uploader script from ssh://git@git.centos.org/centos-git-common.git To build: 1. Upload the source tar file to the lookaside cache, e.g.: - $ lookaside_upload -f SOURCES/ceph-16.2.5.tar.gz -n ceph -b c8-sig-storage-ceph-pacific + $ lookaside_upload -f SOURCES/ceph-17.1.0.tar.gz -n ceph -b c8s-sig-storage-ceph-quincy 2. update the .glusterfs.metadata with the hash from step 1: $ cat .ceph.metadata -e9c6a6a482b8e46117c2a6c37b50c569bd62d92e SOURCES/ceph-16.5.tar.gz +e9c6a6a482b8e46117c2a6c37b50c569bd62d92e SOURCES/ceph-17.1.0.tar.gz 3. commit and push SPECS/ceph.spec and .ceph.metadata, e.g.: $ git add SPECS/ceph.spec .ceph.metadata - $ git push origin c8-sig-storage-ceph-pacific + $ git push origin c8s-sig-storage-ceph-quincy 4. retrieve the commit for step 3: $ git log|head -n 1 commit 29f19456be12986e86392652331e3a56ff0a88a0 5. build - $ cbs build storage8-ceph-pacific-el8 git+https://git.centos.org/rpms/ceph.git#29f19456be12986e86392652331e3a56ff0a88a0 + $ cbs build storage8s-ceph-quincy-el8s git+https://git.centos.org/rpms/ceph.git#29f19456be12986e86392652331e3a56ff0a88a0 - $ cbs build [--scratch] storage8-ceph-pacific-el8 ceph-16.2.5-1.el8.src.rpm + $ cbs build [--scratch] storage8s-ceph-quincy-el8s ceph-17.1.0-1.el8s.src.rpm diff --git a/SOURCES/0003-src-common-bitstr.h.patch b/SOURCES/0003-src-common-bitstr.h.patch index ed2b0ce..3c7a516 100644 --- a/SOURCES/0003-src-common-bitstr.h.patch +++ b/SOURCES/0003-src-common-bitstr.h.patch @@ -8,14 +8,3 @@ namespace ceph { class Formatter; ---- ceph-15.2.4/src/global/signal_handler.h.orig 2020-07-17 12:57:54.763628429 -0400 -+++ ceph-15.2.4/src/global/signal_handler.h 2020-07-17 12:58:10.610628429 -0400 -@@ -16,6 +16,8 @@ - #define CEPH_GLOBAL_SIGNAL_HANDLER_H - - #include -+#include -+ - #include "acconfig.h" - - typedef void (*signal_handler_t)(int); diff --git a/SOURCES/0010-CET-Add-CET-marker-to-crc32c_intel_fast_zero_asm.s.patch b/SOURCES/0010-CET-Add-CET-marker-to-crc32c_intel_fast_zero_asm.s.patch new file mode 100644 index 0000000..7b3e34b --- /dev/null +++ b/SOURCES/0010-CET-Add-CET-marker-to-crc32c_intel_fast_zero_asm.s.patch @@ -0,0 +1,27 @@ +From 1999108aeb1f6f93a19ea7bb64c6ae8b87d1b264 Mon Sep 17 00:00:00 2001 +From: "H.J. Lu" +Date: Thu, 20 Jan 2022 05:33:13 -0800 +Subject: [PATCH] CET: Add CET marker to crc32c_intel_fast_zero_asm.s + +Add .note.gnu.property section to crc32c_intel_fast_zero_asm.s to mark +for IBT and SHSTK compatibility. +--- + src/common/crc32c_intel_fast_zero_asm.s | 4 ++++ + 1 file changed, 4 insertions(+) + +diff --git a/src/common/crc32c_intel_fast_zero_asm.s b/src/common/crc32c_intel_fast_zero_asm.s +index 216ecf639f3..2e291d858f3 100644 +--- a/src/common/crc32c_intel_fast_zero_asm.s ++++ b/src/common/crc32c_intel_fast_zero_asm.s +@@ -654,4 +654,8 @@ slversion crc32_iscsi_zero_00, 00, 02, 0014 + %ifidn __OUTPUT_FORMAT__, elf64 + ; inform linker that this doesn't require executable stack + section .note.GNU-stack noalloc noexec nowrite progbits ++; inform linker that this is compatible with IBT and SHSTK ++section .note.gnu.property note alloc noexec align=8 ++DD 0x00000004,0x00000010,0x00000005,0x00554e47 ++DD 0xc0000002,0x00000004,0x00000003,0x00000000 + %endif +-- +2.34.1 + diff --git a/SOURCES/0011-isa-l-CET-Add-CET-marker-to-x86-64-crc32-assembly-co.patch b/SOURCES/0011-isa-l-CET-Add-CET-marker-to-x86-64-crc32-assembly-co.patch new file mode 100644 index 0000000..9cf4e6b --- /dev/null +++ b/SOURCES/0011-isa-l-CET-Add-CET-marker-to-x86-64-crc32-assembly-co.patch @@ -0,0 +1,172 @@ +From bbcc1a69f787881f16156f3c789052942a564103 Mon Sep 17 00:00:00 2001 +From: "H.J. Lu" +Date: Thu, 20 Jan 2022 05:35:49 -0800 +Subject: [PATCH] isa-l/CET: Add CET marker to x86-64 crc32 assembly codes + +Add .note.gnu.property section to x86-64 crc32 assembly codes to mark +for IBT and SHSTK compatibility. +--- + crc/crc32_gzip_refl_by16_10.asm | 9 +++++++++ + crc/crc32_gzip_refl_by8.asm | 9 +++++++++ + crc/crc32_gzip_refl_by8_02.asm | 9 +++++++++ + crc/crc32_ieee_01.asm | 8 ++++++++ + crc/crc32_ieee_02.asm | 9 +++++++++ + crc/crc32_ieee_by16_10.asm | 9 +++++++++ + crc/crc32_ieee_by4.asm | 9 +++++++++ + crc/crc32_iscsi_00.asm | 8 ++++++++ + crc/crc32_iscsi_01.asm | 8 ++++++++ + 9 files changed, 78 insertions(+) + +diff --git a/src/isa-l/crc/crc32_gzip_refl_by16_10.asm b/src/isa-l/crc/crc32_gzip_refl_by16_10.asm +index 40236f6..b16874d 100644 +--- a/src/isa-l/crc/crc32_gzip_refl_by16_10.asm ++++ b/src/isa-l/crc/crc32_gzip_refl_by16_10.asm +@@ -566,3 +566,12 @@ global no_ %+ FUNCTION_NAME + no_ %+ FUNCTION_NAME %+ : + %endif + %endif ; (AS_FEATURE_LEVEL) >= 10 ++ ++%ifidn __OUTPUT_FORMAT__, elf64 ++; inform linker that this doesn't require executable stack ++section .note.GNU-stack noalloc noexec nowrite progbits ++; inform linker that this is compatible with IBT and SHSTK ++section .note.gnu.property note alloc noexec align=8 ++DD 0x00000004,0x00000010,0x00000005,0x00554e47 ++DD 0xc0000002,0x00000004,0x00000003,0x00000000 ++%endif +diff --git a/src/isa-l/crc/crc32_gzip_refl_by8.asm b/src/isa-l/crc/crc32_gzip_refl_by8.asm +index 62f7e7d..97b0c4a 100644 +--- a/src/isa-l/crc/crc32_gzip_refl_by8.asm ++++ b/src/isa-l/crc/crc32_gzip_refl_by8.asm +@@ -622,3 +622,12 @@ dq 0x0706050403020100, 0x000e0d0c0b0a0908 + + ;;; func core, ver, snum + slversion crc32_gzip_refl_by8, 01, 00, 002c ++ ++%ifidn __OUTPUT_FORMAT__, elf64 ++; inform linker that this doesn't require executable stack ++section .note.GNU-stack noalloc noexec nowrite progbits ++; inform linker that this is compatible with IBT and SHSTK ++section .note.gnu.property note alloc noexec align=8 ++DD 0x00000004,0x00000010,0x00000005,0x00554e47 ++DD 0xc0000002,0x00000004,0x00000003,0x00000000 ++%endif +diff --git a/src/isa-l/crc/crc32_gzip_refl_by8_02.asm b/src/isa-l/crc/crc32_gzip_refl_by8_02.asm +index 80d849e..1d5a75f 100644 +--- a/src/isa-l/crc/crc32_gzip_refl_by8_02.asm ++++ b/src/isa-l/crc/crc32_gzip_refl_by8_02.asm +@@ -553,3 +553,12 @@ pshufb_shf_table: + ; dq 0x060504030201008f, 0x0e0d0c0b0a090807 ; shl 1 (16-15) / shr15 + dq 0x8786858483828100, 0x8f8e8d8c8b8a8988 + dq 0x0706050403020100, 0x000e0d0c0b0a0908 ++ ++%ifidn __OUTPUT_FORMAT__, elf64 ++; inform linker that this doesn't require executable stack ++section .note.GNU-stack noalloc noexec nowrite progbits ++; inform linker that this is compatible with IBT and SHSTK ++section .note.gnu.property note alloc noexec align=8 ++DD 0x00000004,0x00000010,0x00000005,0x00554e47 ++DD 0xc0000002,0x00000004,0x00000003,0x00000000 ++%endif +diff --git a/src/isa-l/crc/crc32_ieee_01.asm b/src/isa-l/crc/crc32_ieee_01.asm +index 32495ed..cfc443b 100644 +--- a/src/isa-l/crc/crc32_ieee_01.asm ++++ b/src/isa-l/crc/crc32_ieee_01.asm +@@ -653,3 +653,11 @@ dq 0x0706050403020100, 0x000e0d0c0b0a0908 + ;;; func core, ver, snum + slversion crc32_ieee_01, 01, 06, 0011 + ++%ifidn __OUTPUT_FORMAT__, elf64 ++; inform linker that this doesn't require executable stack ++section .note.GNU-stack noalloc noexec nowrite progbits ++; inform linker that this is compatible with IBT and SHSTK ++section .note.gnu.property note alloc noexec align=8 ++DD 0x00000004,0x00000010,0x00000005,0x00554e47 ++DD 0xc0000002,0x00000004,0x00000003,0x00000000 ++%endif +diff --git a/src/isa-l/crc/crc32_ieee_02.asm b/src/isa-l/crc/crc32_ieee_02.asm +index 8a472b0..dd7096a 100644 +--- a/src/isa-l/crc/crc32_ieee_02.asm ++++ b/src/isa-l/crc/crc32_ieee_02.asm +@@ -649,3 +649,12 @@ pshufb_shf_table: + ; dq 0x060504030201008f, 0x0e0d0c0b0a090807 ; shl 1 (16-15) / shr15 + dq 0x8786858483828100, 0x8f8e8d8c8b8a8988 + dq 0x0706050403020100, 0x000e0d0c0b0a0908 ++ ++%ifidn __OUTPUT_FORMAT__, elf64 ++; inform linker that this doesn't require executable stack ++section .note.GNU-stack noalloc noexec nowrite progbits ++; inform linker that this is compatible with IBT and SHSTK ++section .note.gnu.property note alloc noexec align=8 ++DD 0x00000004,0x00000010,0x00000005,0x00554e47 ++DD 0xc0000002,0x00000004,0x00000003,0x00000000 ++%endif +diff --git a/src/isa-l/crc/crc32_ieee_by16_10.asm b/src/isa-l/crc/crc32_ieee_by16_10.asm +index 200fd93..2afd597 100644 +--- a/src/isa-l/crc/crc32_ieee_by16_10.asm ++++ b/src/isa-l/crc/crc32_ieee_by16_10.asm +@@ -582,3 +582,12 @@ global no_ %+ FUNCTION_NAME + no_ %+ FUNCTION_NAME %+ : + %endif + %endif ; (AS_FEATURE_LEVEL) >= 10 ++ ++%ifidn __OUTPUT_FORMAT__, elf64 ++; inform linker that this doesn't require executable stack ++section .note.GNU-stack noalloc noexec nowrite progbits ++; inform linker that this is compatible with IBT and SHSTK ++section .note.gnu.property note alloc noexec align=8 ++DD 0x00000004,0x00000010,0x00000005,0x00554e47 ++DD 0xc0000002,0x00000004,0x00000003,0x00000000 ++%endif +diff --git a/src/isa-l/crc/crc32_ieee_by4.asm b/src/isa-l/crc/crc32_ieee_by4.asm +index 39bed5a..847d0bd 100644 +--- a/src/isa-l/crc/crc32_ieee_by4.asm ++++ b/src/isa-l/crc/crc32_ieee_by4.asm +@@ -563,3 +563,12 @@ SHUF_MASK dq 0x08090A0B0C0D0E0F, 0x0001020304050607 + + ;;; func core, ver, snum + slversion crc32_ieee_by4, 05, 02, 0017 ++ ++%ifidn __OUTPUT_FORMAT__, elf64 ++; inform linker that this doesn't require executable stack ++section .note.GNU-stack noalloc noexec nowrite progbits ++; inform linker that this is compatible with IBT and SHSTK ++section .note.gnu.property note alloc noexec align=8 ++DD 0x00000004,0x00000010,0x00000005,0x00554e47 ++DD 0xc0000002,0x00000004,0x00000003,0x00000000 ++%endif +diff --git a/src/isa-l/crc/crc32_iscsi_00.asm b/src/isa-l/crc/crc32_iscsi_00.asm +index 4f81e3a..3d6b2d1 100644 +--- a/src/isa-l/crc/crc32_iscsi_00.asm ++++ b/src/isa-l/crc/crc32_iscsi_00.asm +@@ -669,3 +669,11 @@ DD 0x54851c7f,0x89e3d7c4,0xeba4fdf8,0x36c23643 + ;;; func core, ver, snum + slversion crc32_iscsi_00, 00, 04, 0014 + ++%ifidn __OUTPUT_FORMAT__, elf64 ++; inform linker that this doesn't require executable stack ++section .note.GNU-stack noalloc noexec nowrite progbits ++; inform linker that this is compatible with IBT and SHSTK ++section .note.gnu.property note alloc noexec align=8 ++DD 0x00000004,0x00000010,0x00000005,0x00554e47 ++DD 0xc0000002,0x00000004,0x00000003,0x00000000 ++%endif +diff --git a/src/isa-l/crc/crc32_iscsi_01.asm b/src/isa-l/crc/crc32_iscsi_01.asm +index 2a81517..c048413 100644 +--- a/src/isa-l/crc/crc32_iscsi_01.asm ++++ b/src/isa-l/crc/crc32_iscsi_01.asm +@@ -588,3 +588,11 @@ K_table: + ;;; func core, ver, snum + slversion crc32_iscsi_01, 01, 04, 0015 + ++%ifidn __OUTPUT_FORMAT__, elf64 ++; inform linker that this doesn't require executable stack ++section .note.GNU-stack noalloc noexec nowrite progbits ++; inform linker that this is compatible with IBT and SHSTK ++section .note.gnu.property note alloc noexec align=8 ++DD 0x00000004,0x00000010,0x00000005,0x00554e47 ++DD 0xc0000002,0x00000004,0x00000003,0x00000000 ++%endif +-- +2.34.1 + diff --git a/SOURCES/0012-spdk-isa-l-CET-Add-CET-marker-to-x86-64-crc32-assemb.patch b/SOURCES/0012-spdk-isa-l-CET-Add-CET-marker-to-x86-64-crc32-assemb.patch new file mode 100644 index 0000000..baa9154 --- /dev/null +++ b/SOURCES/0012-spdk-isa-l-CET-Add-CET-marker-to-x86-64-crc32-assemb.patch @@ -0,0 +1,100 @@ +From 72e6d27e08c86c16e8931739a5e6ecbc06b102d5 Mon Sep 17 00:00:00 2001 +From: "H.J. Lu" +Date: Thu, 20 Jan 2022 05:40:56 -0800 +Subject: [PATCH] spdk/isa-l/CET: Add CET marker to x86-64 crc32 assembly codes + +Add .note.gnu.property section to x86-64 crc32 assembly codes to mark +for IBT and SHSTK compatibility. +--- + crc/crc32_gzip_refl_by8.asm | 9 +++++++++ + crc/crc32_ieee_01.asm | 8 ++++++++ + crc/crc32_ieee_by4.asm | 9 +++++++++ + crc/crc32_iscsi_00.asm | 8 ++++++++ + crc/crc32_iscsi_01.asm | 8 ++++++++ + 5 files changed, 42 insertions(+) + +diff --git a/src/spdk/isa-l/crc/crc32_gzip_refl_by8.asm b/src/spdk/isa-l/crc/crc32_gzip_refl_by8.asm +index 62f7e7d..97b0c4a 100644 +--- a/src/spdk/isa-l/crc/crc32_gzip_refl_by8.asm ++++ b/src/spdk/isa-l/crc/crc32_gzip_refl_by8.asm +@@ -622,3 +622,12 @@ dq 0x0706050403020100, 0x000e0d0c0b0a0908 + + ;;; func core, ver, snum + slversion crc32_gzip_refl_by8, 01, 00, 002c ++ ++%ifidn __OUTPUT_FORMAT__, elf64 ++; inform linker that this doesn't require executable stack ++section .note.GNU-stack noalloc noexec nowrite progbits ++; inform linker that this is compatible with IBT and SHSTK ++section .note.gnu.property note alloc noexec align=8 ++DD 0x00000004,0x00000010,0x00000005,0x00554e47 ++DD 0xc0000002,0x00000004,0x00000003,0x00000000 ++%endif +diff --git a/src/spdk/isa-l/crc/crc32_ieee_01.asm b/src/spdk/isa-l/crc/crc32_ieee_01.asm +index 32495ed..cfc443b 100644 +--- a/src/spdk/isa-l/crc/crc32_ieee_01.asm ++++ b/src/spdk/isa-l/crc/crc32_ieee_01.asm +@@ -653,3 +653,11 @@ dq 0x0706050403020100, 0x000e0d0c0b0a0908 + ;;; func core, ver, snum + slversion crc32_ieee_01, 01, 06, 0011 + ++%ifidn __OUTPUT_FORMAT__, elf64 ++; inform linker that this doesn't require executable stack ++section .note.GNU-stack noalloc noexec nowrite progbits ++; inform linker that this is compatible with IBT and SHSTK ++section .note.gnu.property note alloc noexec align=8 ++DD 0x00000004,0x00000010,0x00000005,0x00554e47 ++DD 0xc0000002,0x00000004,0x00000003,0x00000000 ++%endif +diff --git a/src/spdk/isa-l/crc/crc32_ieee_by4.asm b/src/spdk/isa-l/crc/crc32_ieee_by4.asm +index 39bed5a..847d0bd 100644 +--- a/src/spdk/isa-l/crc/crc32_ieee_by4.asm ++++ b/src/spdk/isa-l/crc/crc32_ieee_by4.asm +@@ -563,3 +563,12 @@ SHUF_MASK dq 0x08090A0B0C0D0E0F, 0x0001020304050607 + + ;;; func core, ver, snum + slversion crc32_ieee_by4, 05, 02, 0017 ++ ++%ifidn __OUTPUT_FORMAT__, elf64 ++; inform linker that this doesn't require executable stack ++section .note.GNU-stack noalloc noexec nowrite progbits ++; inform linker that this is compatible with IBT and SHSTK ++section .note.gnu.property note alloc noexec align=8 ++DD 0x00000004,0x00000010,0x00000005,0x00554e47 ++DD 0xc0000002,0x00000004,0x00000003,0x00000000 ++%endif +diff --git a/src/spdk/isa-l/crc/crc32_iscsi_00.asm b/src/spdk/isa-l/crc/crc32_iscsi_00.asm +index 4f81e3a..3d6b2d1 100644 +--- a/src/spdk/isa-l/crc/crc32_iscsi_00.asm ++++ b/src/spdk/isa-l/crc/crc32_iscsi_00.asm +@@ -669,3 +669,11 @@ DD 0x54851c7f,0x89e3d7c4,0xeba4fdf8,0x36c23643 + ;;; func core, ver, snum + slversion crc32_iscsi_00, 00, 04, 0014 + ++%ifidn __OUTPUT_FORMAT__, elf64 ++; inform linker that this doesn't require executable stack ++section .note.GNU-stack noalloc noexec nowrite progbits ++; inform linker that this is compatible with IBT and SHSTK ++section .note.gnu.property note alloc noexec align=8 ++DD 0x00000004,0x00000010,0x00000005,0x00554e47 ++DD 0xc0000002,0x00000004,0x00000003,0x00000000 ++%endif +diff --git a/src/spdk/isa-l/crc/crc32_iscsi_01.asm b/src/spdk/isa-l/crc/crc32_iscsi_01.asm +index 2a81517..c048413 100644 +--- a/src/spdk/isa-l/crc/crc32_iscsi_01.asm ++++ b/src/spdk/isa-l/crc/crc32_iscsi_01.asm +@@ -588,3 +588,11 @@ K_table: + ;;; func core, ver, snum + slversion crc32_iscsi_01, 01, 04, 0015 + ++%ifidn __OUTPUT_FORMAT__, elf64 ++; inform linker that this doesn't require executable stack ++section .note.GNU-stack noalloc noexec nowrite progbits ++; inform linker that this is compatible with IBT and SHSTK ++section .note.gnu.property note alloc noexec align=8 ++DD 0x00000004,0x00000010,0x00000005,0x00554e47 ++DD 0xc0000002,0x00000004,0x00000003,0x00000000 ++%endif +-- +2.34.1 + diff --git a/SOURCES/0016-src-tracing-patch b/SOURCES/0016-src-tracing-patch index 2090800..228d93f 100644 --- a/SOURCES/0016-src-tracing-patch +++ b/SOURCES/0016-src-tracing-patch @@ -21,37 +21,3 @@ #include "tracing/tracing-common.h" #include "include/rbd/librbd.h" #include "include/int_types.h" ---- ceph-16.2.7/src/tracing/objectstore.tp.orig 2021-12-08 18:38:03.393320159 -0500 -+++ ceph-16.2.7/src/tracing/objectstore.tp 2021-12-08 18:38:37.300716838 -0500 -@@ -1,3 +1,8 @@ -+#ifdef __x86_64__ -+#undef STAP_SDT_ARG_CONSTRAINT -+#define STAP_SDT_ARG_CONSTRAINT norx -+#endif -+ - #include "include/int_types.h" - - TRACEPOINT_EVENT(objectstore, exists_enter, ---- ceph-16.2.7/src/tracing/librados.tp.orig 2021-12-08 19:31:01.921758876 -0500 -+++ ceph-16.2.7/src/tracing/librados.tp 2021-12-08 19:32:18.493394738 -0500 -@@ -1,3 +1,9 @@ -+ -+#ifdef __x86_64__ -+#undef STAP_SDT_ARG_CONSTRAINT -+#define STAP_SDT_ARG_CONSTRAINT norx -+#endif -+ - #include "tracing/tracing-common.h" - #include "include/rados/librados.h" - #include "include/int_types.h" ---- ceph-16.2.7/src/tracing/osd.tp.orig 2021-12-09 07:16:53.866135497 -0500 -+++ ceph-16.2.7/src/tracing/osd.tp 2021-12-09 07:17:12.088809036 -0500 -@@ -1,3 +1,8 @@ -+#ifdef __x86_64__ -+#undef STAP_SDT_ARG_CONSTRAINT -+#define STAP_SDT_ARG_CONSTRAINT norx -+#endif -+# - #include "include/int_types.h" - - TRACEPOINT_EVENT(osd, prepare_tx_enter, diff --git a/SOURCES/0017-gcc-12-omnibus.patch b/SOURCES/0017-gcc-12-omnibus.patch new file mode 100644 index 0000000..7e4f116 --- /dev/null +++ b/SOURCES/0017-gcc-12-omnibus.patch @@ -0,0 +1,83 @@ +--- ceph-16.2.7/src/include/buffer.h.orig 2022-01-17 12:17:19.193356237 -0500 ++++ ceph-16.2.7/src/include/buffer.h 2022-01-17 12:17:58.599639592 -0500 +@@ -38,6 +38,7 @@ + # include + #endif + ++#include + #include + #include + #include +--- ceph-16.2.7/src/common/LogEntry.cc.orig 2022-01-17 13:52:10.799134159 -0500 ++++ ceph-16.2.7/src/common/LogEntry.cc 2022-01-17 13:52:47.244469274 -0500 +@@ -183,7 +183,7 @@ + return "crit"; + default: + ceph_abort(); +- return 0; ++ return ""; + } + } + +--- ceph-16.2.7/src/common/dout.h.orig 2022-01-18 08:58:11.805226954 -0500 ++++ ceph-16.2.7/src/common/dout.h 2022-01-19 08:06:23.987388663 -0500 +@@ -99,11 +99,15 @@ + template + struct dynamic_marker_t { + T value; +- operator T() const { return value; } ++ // constexpr ctor isn't needed as it's an aggregate type ++ constexpr operator T() const { return value; } + }; + + template +-dynamic_marker_t need_dynamic(T&& t) { ++constexpr dynamic_marker_t need_dynamic(T&& t) { ++ // deprecated in C++17 but that's fine for testing ++ static_assert(std::is_literal_type_v); ++ static_assert(std::is_literal_type_v>); + return dynamic_marker_t{ std::forward(t) }; + } + +--- ceph-16.2.7/src/test/librados/tier_cxx.cc.orig 2022-01-19 09:30:47.209459506 -0500 ++++ ceph-16.2.7/src/test/librados/tier_cxx.cc 2022-01-19 10:02:47.783240298 -0500 +@@ -114,7 +114,7 @@ + #include "rgw/rgw_common.h" + + void check_fp_oid_refcount(librados::IoCtx& ioctx, std::string foid, uint64_t count, +- std::string fp_algo = NULL) ++ std::string fp_algo = "") + { + bufferlist t; + int size = foid.length(); +@@ -142,7 +142,7 @@ + ASSERT_LE(count, refs.count()); + } + +-string get_fp_oid(string oid, std::string fp_algo = NULL) ++string get_fp_oid(string oid, std::string fp_algo = "") + { + if (fp_algo == "sha1") { + unsigned char fingerprint[CEPH_CRYPTO_SHA1_DIGESTSIZE + 1]; +--- ceph-16.2.7/src/test/test_trans.cc.orig 2022-01-19 13:24:33.460008897 -0500 ++++ ceph-16.2.7/src/test/test_trans.cc 2022-01-19 13:24:58.211554005 -0500 +@@ -51,7 +51,7 @@ + cout << "#dev " << filename << std::endl; + cout << "#mb " << mb << std::endl; + +- ObjectStore *fs = new FileStore(cct.get(), filename, NULL); ++ ObjectStore *fs = new FileStore(cct.get(), filename, ""); + if (fs->mount() < 0) { + cout << "mount failed" << std::endl; + return -1; +--- ceph-17.0.0-10335-gfd206722/src/s3select/include/s3select_functions.h.orig 2022-02-11 17:21:40.268627997 -0500 ++++ ceph-17.0.0-10335-gfd206722/src/s3select/include/s3select_functions.h 2022-02-11 17:21:57.155325437 -0500 +@@ -466,7 +466,7 @@ + + std::string print(int ident) override + { +- return std::string(0); ++ return std::string(""); + } + + void push_argument(base_statement* arg) diff --git a/SOURCES/0018-src-rgw-store-dbstore-CMakeLists.txt.patch b/SOURCES/0018-src-rgw-store-dbstore-CMakeLists.txt.patch new file mode 100644 index 0000000..99510da --- /dev/null +++ b/SOURCES/0018-src-rgw-store-dbstore-CMakeLists.txt.patch @@ -0,0 +1,20 @@ +--- ceph-17.0.0-10335-gfd206722/src/rgw/store/dbstore/CMakeLists.txt.orig 2022-02-12 08:17:16.038116513 -0500 ++++ ceph-17.0.0-10335-gfd206722/src/rgw/store/dbstore/CMakeLists.txt 2022-02-12 08:40:43.564440428 -0500 +@@ -47,7 +47,7 @@ + endif() + + include_directories(${CMAKE_INCLUDE_DIR}) +-add_library(dbstore ${dbstore_mgr_srcs}) ++add_library(dbstore STATIC ${dbstore_mgr_srcs}) + target_link_libraries(dbstore ${CMAKE_LINK_LIBRARIES}) + + # testing purpose +--- ceph-17.0.0-10335-gfd206722/src/rgw/store/dbstore/sqlite/CMakeLists.txt.orig 2022-02-12 08:18:04.843227147 -0500 ++++ ceph-17.0.0-10335-gfd206722/src/rgw/store/dbstore/sqlite/CMakeLists.txt 2022-02-12 08:18:17.871989500 -0500 +@@ -12,5 +12,5 @@ + set(SQLITE_COMPILE_FLAGS "-DSQLITE_THREADSAFE=1") + set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${SQLITE_COMPILE_FLAGS}") + +-add_library(sqlite_db ${sqlite_db_srcs}) ++add_library(sqlite_db STATIC ${sqlite_db_srcs}) + target_link_libraries(sqlite_db sqlite3 dbstore_lib rgw_common) diff --git a/SPECS/ceph.spec b/SPECS/ceph.spec index 9f2ff7b..ea3b251 100644 --- a/SPECS/ceph.spec +++ b/SPECS/ceph.spec @@ -17,12 +17,13 @@ ################################################################################# # conditional build section # -# please read http://rpm.org/user_doc/conditional_builds.html for explanation of -# bcond syntax! +# please read this for explanation of bcond syntax: +# https://rpm-software-management.github.io/rpm/manual/conditionalbuilds.html ################################################################################# %global _hardened_build 1 -%bcond_with cephadm +%undefine __cmake_in_source_build + %bcond_with make_check %bcond_with zbd %bcond_with cmake_verbose_logging @@ -32,17 +33,19 @@ %else %bcond_without tcmalloc %endif -%bcond_with system_pmdk -%if 0%{?fedora} || 0%{?rhel} -%bcond_without selinux %ifarch x86_64 ppc64le -%bcond_without rbd_rwl_cache +%bcond_without system_pmdk +%else +%bcond_with system_pmdk +%endif %bcond_without rbd_ssd_cache +%ifarch x86_64 +%bcond_without rbd_rwl_cache %else %bcond_with rbd_rwl_cache -%bcond_with rbd_ssd_cache -%global _system_pmdk 0 %endif +%if 0%{?fedora} || 0%{?rhel} +%bcond_without selinux %if 0%{?rhel} >= 8 %bcond_with cephfs_java %else @@ -58,18 +61,15 @@ %global _remote_tarball_prefix https://download.ceph.com/tarballs/ %endif %if 0%{?suse_version} +%bcond_without system_pmdk %bcond_with amqp_endpoint %bcond_with cephfs_java %bcond_with kafka_endpoint %bcond_with libradosstriper %ifarch x86_64 aarch64 ppc64le %bcond_without lttng -%bcond_without rbd_rwl_cache -%bcond_without rbd_ssd_cache %else %bcond_with lttng -%bcond_with rbd_rwl_cache -%bcond_with rbd_ssd_cache %endif %bcond_with ocf %bcond_with selinux @@ -121,15 +121,38 @@ %{!?python3_version_nodots: %global python3_version_nodots 3} %{!?python3_version: %global python3_version 3} -# disable dwz which compresses the debuginfo -%global _find_debuginfo_dwz_opts %{nil} +%if ! 0%{?suse_version} +# use multi-threaded xz compression: xz level 7 using ncpus threads +%global _source_payload w7T%{_smp_build_ncpus}.xzdio +%global _binary_payload w7T%{_smp_build_ncpus}.xzdio +%endif + +%define smp_limit_mem_per_job() %( \ + kb_per_job=%1 \ + kb_total=$(head -3 /proc/meminfo | sed -n 's/MemAvailable:\\s*\\(.*\\) kB.*/\\1/p') \ + jobs=$(( $kb_total / $kb_per_job )) \ + [ $jobs -lt 1 ] && jobs=1 \ + echo $jobs ) + +%if 0%{?_smp_ncpus_max} == 0 +%if 0%{?__isa_bits} == 32 +# 32-bit builds can use 3G memory max, which is not enough even for -j2 +%global _smp_ncpus_max 1 +%else +# 3.0 GiB mem per job +# SUSE distros use limit_build in the place of smp_limit_mem_per_job, please +# be sure to update it (in the build section, below) as well when changing this +# number. +%global _smp_ncpus_max %{smp_limit_mem_per_job 3000000} +%endif +%endif ################################################################################# # main package definition ################################################################################# Name: ceph -Version: 16.2.7 -Release: 1%{?dist} +Version: 17.1.0 +Release: 0.1.rc1%{?dist} %if 0%{?fedora} || 0%{?rhel} Epoch: 2 %endif @@ -140,20 +163,22 @@ Epoch: 2 Summary: User space components of the Ceph file system #License: LGPL-2.1 and LGPL-3.0 and CC-BY-SA-3.0 and GPL-2.0 and BSL-1.0 and BSD-3-Clause and MIT -License: (LGPLv2.1 or LGPLv3) and CC-BY-SA-3.0 and GPLv2 and Boost-1.0 and BSD and MIT +License: (LGPLv2+ or LGPLv3) and CC-BY-SA-3.0 and GPLv2 and Boost-1.0 and BSD and MIT %if 0%{?suse_version} Group: System/Filesystems %endif URL: http://ceph.com/ -Source0: %{?_remote_tarball_prefix}ceph-%{version}.tar.gz +Source0: ceph-17.1.0.tar.gz Patch0001: 0001-src-common-crc32c_intel_fast.patch Patch0003: 0003-src-common-bitstr.h.patch -Patch0007: 0007-src-test-neorados-CMakeLists.txt.patch Patch0008: 0008-cmake-modules-Finduring.cmake.patch -Patch0014: 0014-rgw-Replace-boost-string_ref-view-with-std-string_vi.patch -Patch0015: 0015-src-kv-rocksdb_cache.patch +Patch0010: 0010-CET-Add-CET-marker-to-crc32c_intel_fast_zero_asm.s.patch +Patch0011: 0011-isa-l-CET-Add-CET-marker-to-x86-64-crc32-assembly-co.patch +Patch0012: 0012-spdk-isa-l-CET-Add-CET-marker-to-x86-64-crc32-assemb.patch Patch0016: 0016-src-tracing-patch -Source1: cmake-modules-BuildBoost.cmake.noautopatch +Patch0017: 0017-gcc-12-omnibus.patch +Patch0018: 0018-src-rgw-store-dbstore-CMakeLists.txt.patch +# Source1: cmake-modules-BuildBoost.cmake.noautopatch # ceph 14.0.1 does not support 32-bit architectures, bugs #1727788, #1727787 ExcludeArch: i686 armv7hl %if 0%{?suse_version} @@ -168,7 +193,6 @@ Requires: ceph-mds = %{_epoch_prefix}%{version}-%{release} Requires: ceph-mgr = %{_epoch_prefix}%{version}-%{release} Requires: ceph-mon = %{_epoch_prefix}%{version}-%{release} Requires(post): binutils -BuildRequires: coreutils %if 0%{with cephfs_java} BuildRequires: java-devel BuildRequires: sharutils @@ -179,16 +203,12 @@ BuildRequires: selinux-policy-devel %endif BuildRequires: gperf BuildRequires: cmake > 3.5 -BuildRequires: cryptsetup BuildRequires: fuse3-devel -# BuildRequires: gcc-toolset-9-gcc-c++ -# BuildRequires: gcc-toolset-9-annobin -# BuildRequires: gcc-toolset-9-libstdc++-devel -# %%if 0%%{with seastar} -# BuildRequires: gcc-toolset-9-gcc-c++ >= 9.2.1-2.3 -# %%else +%if 0%{with seastar} && 0%{?rhel} +BuildRequires: gcc-toolset-9-gcc-c++ >= 9.2.1-2.3 +%else BuildRequires: gcc-c++ -# %%endif +%endif %if 0%{with tcmalloc} # libprofiler did not build on ppc64le until 2.7.90 %if 0%{?fedora} || 0%{?rhel} >= 8 @@ -201,13 +221,12 @@ BuildRequires: gperftools-devel >= 2.6.1 BuildRequires: gperftools-devel >= 2.4 %endif %endif -BuildRequires: leveldb-devel > 1.2 BuildRequires: libaio-devel BuildRequires: libblkid-devel >= 2.17 BuildRequires: cryptsetup-devel BuildRequires: libcurl-devel BuildRequires: libcap-ng-devel -BuildRequires: fmt-devel >= 5.2.1 +BuildRequires: fmt-devel >= 6.2.1 %if 0%{?fedora} BuildRequires: rocksdb-devel Requires: rocksdb @@ -218,29 +237,31 @@ BuildRequires: libnl3-devel BuildRequires: liboath-devel BuildRequires: libtool BuildRequires: libxml2-devel -BuildRequires: make BuildRequires: libzstd-devel +BuildRequires: ninja-build BuildRequires: ncurses-devel BuildRequires: libicu-devel -BuildRequires: parted BuildRequires: patch BuildRequires: perl BuildRequires: pkgconfig BuildRequires: procps BuildRequires: python%{python3_pkgversion} BuildRequires: python%{python3_pkgversion}-devel +BuildRequires: python%{python3_pkgversion}-setuptools +BuildRequires: python%{python3_pkgversion}-Cython BuildRequires: snappy-devel BuildRequires: sqlite-devel BuildRequires: sudo BuildRequires: pkgconfig(udev) -BuildRequires: util-linux BuildRequires: valgrind-devel BuildRequires: which -BuildRequires: xfsprogs BuildRequires: xfsprogs-devel BuildRequires: xmlstarlet BuildRequires: nasm BuildRequires: lua-devel +%if 0%{with seastar} || 0%{with jaeger} +BuildRequires: yaml-cpp-devel >= 0.6 +%endif %if 0%{with amqp_endpoint} BuildRequires: librabbitmq-devel %endif @@ -248,9 +269,10 @@ BuildRequires: librabbitmq-devel BuildRequires: librdkafka-devel %endif %if 0%{with lua_packages} -BuildRequires: %{luarocks_package_name} +BuildRequires: %{luarocks_package_name} %endif %if 0%{with make_check} +BuildRequires: hostname BuildRequires: jq BuildRequires: libuuid-devel BuildRequires: python%{python3_pkgversion}-bcrypt @@ -263,11 +285,12 @@ BuildRequires: python%{python3_pkgversion}-pyOpenSSL BuildRequires: socat %endif %if 0%{with zbd} -BuildRequires: libzbd-devel +BuildRequires: libzbd-devel %endif %if 0%{with jaeger} BuildRequires: bison BuildRequires: flex +BuildRequires: thrift-devel >= 0.13.0 %if 0%{?fedora} || 0%{?rhel} BuildRequires: json-devel %endif @@ -275,7 +298,6 @@ BuildRequires: json-devel BuildRequires: nlohmann_json-devel %endif BuildRequires: libevent-devel -BuildRequires: yaml-cpp-devel %endif %if 0%{with system_pmdk} BuildRequires: libpmem-devel @@ -287,10 +309,8 @@ BuildRequires: gnutls-devel BuildRequires: hwloc-devel BuildRequires: libpciaccess-devel BuildRequires: lksctp-tools-devel -BuildRequires: protobuf-devel BuildRequires: ragel BuildRequires: systemtap-sdt-devel -BuildRequires: yaml-cpp-devel %if 0%{?fedora} BuildRequires: libubsan BuildRequires: libasan @@ -312,6 +332,7 @@ BuildRequires: systemd-rpm-macros %{?systemd_requires} PreReq: %fillup_prereq BuildRequires: fdupes +BuildRequires: memory-constraints BuildRequires: net-tools BuildRequires: libbz2-devel BuildRequires: mozilla-nss-devel @@ -322,9 +343,8 @@ BuildRequires: openldap2-devel #BuildRequires: krb5 #BuildRequires: krb5-devel BuildRequires: cunit-devel -BuildRequires: python%{python3_pkgversion}-setuptools -BuildRequires: python%{python3_pkgversion}-Cython BuildRequires: python%{python3_pkgversion}-PrettyTable +BuildRequires: python%{python3_pkgversion}-PyYAML BuildRequires: python%{python3_pkgversion}-Sphinx BuildRequires: rdma-core-devel BuildRequires: liblz4-devel >= 1.7 @@ -344,17 +364,17 @@ BuildRequires: openldap-devel BuildRequires: openssl-devel BuildRequires: CUnit-devel BuildRequires: python%{python3_pkgversion}-devel -BuildRequires: python%{python3_pkgversion}-setuptools -BuildRequires: python%{python3_pkgversion}-Cython BuildRequires: python%{python3_pkgversion}-prettytable +BuildRequires: python%{python3_pkgversion}-pyyaml BuildRequires: python%{python3_pkgversion}-sphinx BuildRequires: lz4-devel >= 1.7 %endif # distro-conditional make check dependencies +BuildRequires: golang %if 0%{with make_check} +BuildRequires: golang %if 0%{?fedora} || 0%{?rhel} BuildRequires: golang-github-prometheus -BuildRequires: jsonnet BuildRequires: libtool-ltdl-devel BuildRequires: xmlsec1 BuildRequires: xmlsec1-devel @@ -372,7 +392,6 @@ BuildRequires: python%{python3_pkgversion}-pyOpenSSL %endif %if 0%{?suse_version} BuildRequires: golang-github-prometheus-prometheus -BuildRequires: jsonnet BuildRequires: libxmlsec1-1 BuildRequires: libxmlsec1-nss1 BuildRequires: libxmlsec1-openssl1 @@ -443,16 +462,12 @@ Requires: librgw2 = %{_epoch_prefix}%{version}-%{release} %if 0%{with selinux} Requires: ceph-selinux = %{_epoch_prefix}%{version}-%{release} %endif -Requires: cryptsetup -Requires: e2fsprogs Requires: findutils Requires: grep Requires: logrotate Requires: parted Requires: psmisc -Requires: python%{python3_pkgversion}-setuptools Requires: util-linux -Requires: xfsprogs Requires: which %if 0%{?rhel} && 0%{?rhel} < 8 # The following is necessary due to tracker 36508 and can be removed once the @@ -473,19 +488,19 @@ Recommends: smartmontools %description base Base is the package that includes all the files shared amongst ceph servers -%if 0%{with cephadm} %package -n cephadm Summary: Utility to bootstrap Ceph clusters BuildArch: noarch Requires: lvm2 Requires: python%{python3_pkgversion} +Requires: openssh-server +Requires: which %if 0%{?weak_deps} Recommends: podman >= 2.0.2 %endif %description -n cephadm Utility to bootstrap a Ceph cluster and manage Ceph daemons deployed with systemd and podman. -%endif %package -n ceph-common Summary: Ceph Common @@ -540,9 +555,6 @@ Group: System/Filesystems %endif Provides: ceph-test:/usr/bin/ceph-monstore-tool Requires: ceph-base = %{_epoch_prefix}%{version}-%{release} -%if 0%{with jaeger} -Requires: libjaeger = %{_epoch_prefix}%{version}-%{release} -%endif %description mon ceph-mon is the cluster monitor daemon for the Ceph distributed file system. One or more instances of ceph-mon form a Paxos part-time @@ -677,14 +689,16 @@ BuildArch: noarch Group: System/Filesystems %endif Requires: ceph-mgr = %{_epoch_prefix}%{version}-%{release} -Requires: python%{python3_pkgversion}-remoto -Requires: cephadm >= %{_epoch_prefix}16.1.0-0 +Requires: python%{python3_pkgversion}-asyncssh +Requires: cephadm = %{_epoch_prefix}%{version}-%{release} %if 0%{?suse_version} Requires: openssh +Requires: python%{python3_pkgversion}-CherryPy Requires: python%{python3_pkgversion}-Jinja2 %endif %if 0%{?rhel} || 0%{?fedora} Requires: openssh-clients +Requires: python%{python3_pkgversion}-cherrypy Requires: python%{python3_pkgversion}-jinja2 %endif %description mgr-cephadm @@ -788,6 +802,7 @@ in realtime. %if %{with ocf} %package resource-agents Summary: OCF-compliant resource agents for Ceph daemons +BuildArch: noarch %if 0%{?suse_version} Group: System/Filesystems %endif @@ -806,10 +821,11 @@ Group: System/Filesystems %endif Provides: ceph-test:/usr/bin/ceph-osdomap-tool Requires: ceph-base = %{_epoch_prefix}%{version}-%{release} -Requires: lvm2 Requires: sudo Requires: libstoragemgmt -Requires: python%{python3_pkgversion}-ceph-common = %{_epoch_prefix}%{version}-%{release} +%if 0%{?weak_deps} +Recommends: ceph-volume = %{_epoch_prefix}%{version}-%{release} +%endif %description osd ceph-osd is the object storage daemon for the Ceph distributed file system. It is responsible for storing objects on a local file system @@ -822,12 +838,33 @@ Summary: Ceph Object Storage Daemon (crimson) Group: System/Filesystems %endif Requires: ceph-osd = %{_epoch_prefix}%{version}-%{release} +Requires: binutils %description crimson-osd crimson-osd is the object storage daemon for the Ceph distributed file system. It is responsible for storing objects on a local file system and providing access to them over the network. %endif +%package volume +Summary: Ceph OSD deployment and inspection tool +BuildArch: noarch +%if 0%{?suse_version} +Group: System/Filesystems +%endif +Requires: ceph-osd = %{_epoch_prefix}%{version}-%{release} +Requires: cryptsetup +Requires: e2fsprogs +Requires: lvm2 +Requires: parted +Requires: util-linux +Requires: xfsprogs +Requires: python%{python3_pkgversion}-setuptools +Requires: python%{python3_pkgversion}-ceph-common = %{_epoch_prefix}%{version}-%{release} +%description volume +This package contains a tool to deploy OSD with different devices like +lvm or physical disks, and trying to follow a predictable, and robust +way of preparing, activating, and starting the deployed OSD. + %package -n librados2 Summary: RADOS distributed object store client library %if 0%{?suse_version} @@ -1048,20 +1085,6 @@ Obsoletes: libcephfs2-devel < %{_epoch_prefix}%{version}-%{release} This package contains libraries and headers needed to develop programs that use Ceph distributed file system. -%if 0%{with jaeger} -%package -n libjaeger -Summary: Ceph distributed file system tracing library -%if 0%{?suse_version} -Group: System/Libraries -%endif -Provides: libjaegertracing.so.0()(64bit) -Provides: libopentracing.so.1()(64bit) -Provides: libthrift.so.0.13.0()(64bit) -%description -n libjaeger -This package contains libraries needed to provide distributed -tracing for Ceph. -%endif - %package -n python%{python3_pkgversion}-cephfs Summary: Python 3 libraries for Ceph distributed file system %if 0%{?suse_version} @@ -1127,8 +1150,6 @@ Requires: ceph-common = %{_epoch_prefix}%{version}-%{release} Requires: xmlstarlet Requires: jq Requires: socat -Requires: gtest-devel -Requires: gmock-devel BuildRequires: gtest-devel BuildRequires: gmock-devel %description -n ceph-test @@ -1230,19 +1251,21 @@ This package provides Ceph default alerts for Prometheus. ################################################################################# %prep %autosetup -p1 -%ifarch x86_64 -patch -p1 < %{SOURCE1} -%endif +# %%ifarch x86_64 +# patch -p1 < %{SOURCE1} +# %%endif %build -# LTO can be enabled as soon as the following GCC bug is fixed: -# https://gcc.gnu.org/bugzilla/show_bug.cgi?id=48200 -%define _lto_cflags %{nil} +# Disable lto on systems that do not support symver attribute +# See https://gcc.gnu.org/bugzilla/show_bug.cgi?id=48200 for details +%if ( 0%{?rhel} && 0%{?rhel} < 9 ) || ( 0%{?suse_version} && 0%{?suse_version} <= 1500 ) + %define _lto_cflags %{nil} +%endif -# . /opt/rh/gcc-toolset-9/enable -# %%if 0%%{with seastar} && 0%%{?rhel} -# . /opt/rh/gcc-toolset-9/enable -# %%endif + +%if 0%{with seastar} && 0%{?rhel} +. /opt/rh/gcc-toolset-9/enable +%endif %if 0%{with cephfs_java} # Find jni.h @@ -1252,8 +1275,7 @@ done %endif %if 0%{?suse_version} -# the following setting fixed an OOM condition we once encountered in the OBS -RPM_OPT_FLAGS="$RPM_OPT_FLAGS --param ggc-min-expand=20 --param ggc-min-heapsize=32768" +%limit_build -m 3000 %endif export CPPFLAGS="$java_inc" @@ -1266,72 +1288,48 @@ export LDFLAGS="$RPM_LD_FLAGS" export CXXFLAGS=$(echo $RPM_OPT_FLAGS | sed -e 's/-Wp,-D_FORTIFY_SOURCE=2//g') %endif -# Parallel build settings ... -%ifarch s390 s390x -CEPH_MFLAGS_JOBS="-j1" -CEPH_SMP_NCPUS="1" -%else -CEPH_MFLAGS_JOBS="%{?_smp_mflags}" -CEPH_SMP_NCPUS=$(echo "$CEPH_MFLAGS_JOBS" | sed 's/-j//') -%endif -%if 0%{?__isa_bits} == 32 -# 32-bit builds can use 3G memory max, which is not enough even for -j2 -CEPH_SMP_NCPUS="1" -%endif -# do not eat all memory -echo "Available memory:" -free -h -echo "System limits:" -ulimit -a -if test -n "$CEPH_SMP_NCPUS" -a "$CEPH_SMP_NCPUS" -gt 1 ; then - mem_per_process=2500 - max_mem=$(LANG=C free -m | sed -n "s|^Mem: *\([0-9]*\).*$|\1|p") - max_jobs="$(($max_mem / $mem_per_process))" - test "$CEPH_SMP_NCPUS" -gt "$max_jobs" && CEPH_SMP_NCPUS="$max_jobs" && echo "Warning: Reducing build parallelism to -j$max_jobs because of memory limits" - test "$CEPH_SMP_NCPUS" -le 0 && CEPH_SMP_NCPUS="1" && echo "Warning: Not using parallel build at all because of memory limits" -fi -export CEPH_SMP_NCPUS -export CEPH_MFLAGS_JOBS="-j$CEPH_SMP_NCPUS" - env | sort -mkdir build -cd build -%{cmake} .. \ +%{?!_vpath_builddir:%global _vpath_builddir %{_target_platform}} + +# TODO: drop this step once we can use `cmake -B` +mkdir -p %{_vpath_builddir} +%{cmake} . \ + -GNinja \ -DCMAKE_BUILD_TYPE=RelWithDebInfo \ -DCMAKE_COLOR_MAKEFILE:BOOL=OFF \ -DBUILD_CONFIG=rpmbuild \ -DCMAKE_INSTALL_PREFIX=%{_prefix} \ - -DCMAKE_INSTALL_LIBDIR=%{_libdir} \ - -DCMAKE_INSTALL_LIBEXECDIR=%{_libexecdir} \ - -DCMAKE_INSTALL_LOCALSTATEDIR=%{_localstatedir} \ - -DCMAKE_INSTALL_SYSCONFDIR=%{_sysconfdir} \ - -DCMAKE_INSTALL_MANDIR=%{_mandir} \ - -DCMAKE_INSTALL_DOCDIR=%{_docdir}/ceph \ - -DCMAKE_INSTALL_INCLUDEDIR=%{_includedir} \ - -DCMAKE_INSTALL_SYSTEMD_SERVICEDIR=%{_unitdir} \ - -DWITH_MANPAGE=ON \ - -DWITH_PYTHON3=%{python3_version} \ - -DWITH_MGR_DASHBOARD_FRONTEND=OFF \ + -DCMAKE_INSTALL_LIBDIR:PATH=%{_libdir} \ + -DCMAKE_INSTALL_LIBEXECDIR:PATH=%{_libexecdir} \ + -DCMAKE_INSTALL_LOCALSTATEDIR:PATH=%{_localstatedir} \ + -DCMAKE_INSTALL_SYSCONFDIR:PATH=%{_sysconfdir} \ + -DCMAKE_INSTALL_MANDIR:PATH=%{_mandir} \ + -DCMAKE_INSTALL_DOCDIR:PATH=%{_docdir}/ceph \ + -DCMAKE_INSTALL_INCLUDEDIR:PATH=%{_includedir} \ + -DSYSTEMD_SYSTEM_UNIT_DIR:PATH=%{_unitdir} \ + -DWITH_MANPAGE:BOOL=ON \ + -DWITH_PYTHON3:STRING=%{python3_version} \ + -DWITH_MGR_DASHBOARD_FRONTEND:BOOL=OFF \ %if 0%{without ceph_test_package} - -DWITH_TESTS=OFF \ + -DWITH_TESTS:BOOL=OFF \ %endif %if 0%{with cephfs_java} - -DWITH_CEPHFS_JAVA=ON \ + -DWITH_CEPHFS_JAVA:BOOL=ON \ %endif %if 0%{with selinux} - -DWITH_SELINUX=ON \ + -DWITH_SELINUX:BOOL=ON \ %endif %if %{with lttng} - -DWITH_LTTNG=ON \ - -DWITH_BABELTRACE=ON \ + -DWITH_LTTNG:BOOL=ON \ + -DWITH_BABELTRACE:BOOL=ON \ %else - -DWITH_LTTNG=OFF \ - -DWITH_BABELTRACE=OFF \ + -DWITH_LTTNG:BOOL=OFF \ + -DWITH_BABELTRACE:BOOL=OFF \ %endif $CEPH_EXTRA_CMAKE_ARGS \ %if 0%{with ocf} - -DWITH_OCF=ON \ + -DWITH_OCF:BOOL=ON \ %endif %if 0%{?fedora} -DWITH_SYSTEM_ROCKSDB:BOOL=ON \ @@ -1339,50 +1337,57 @@ cd build -DWITH_SYSTEM_LIBURING:BOOL=OFF \ -DWITH_SYSTEM_BOOST:BOOL=OFF \ %if 0%{with cephfs_shell} - -DWITH_CEPHFS_SHELL=ON \ + -DWITH_CEPHFS_SHELL:BOOL=ON \ %endif %if 0%{with libradosstriper} - -DWITH_LIBRADOSSTRIPER=ON \ + -DWITH_LIBRADOSSTRIPER:BOOL=ON \ %else - -DWITH_LIBRADOSSTRIPER=OFF \ + -DWITH_LIBRADOSSTRIPER:BOOL=OFF \ %endif %if 0%{with amqp_endpoint} - -DWITH_RADOSGW_AMQP_ENDPOINT=ON \ + -DWITH_RADOSGW_AMQP_ENDPOINT:BOOL=ON \ %else - -DWITH_RADOSGW_AMQP_ENDPOINT=OFF \ + -DWITH_RADOSGW_AMQP_ENDPOINT:BOOL=OFF \ %endif %if 0%{with kafka_endpoint} - -DWITH_RADOSGW_KAFKA_ENDPOINT=ON \ + -DWITH_RADOSGW_KAFKA_ENDPOINT:BOOL=ON \ %else - -DWITH_RADOSGW_KAFKA_ENDPOINT=OFF \ + -DWITH_RADOSGW_KAFKA_ENDPOINT:BOOL=OFF \ %endif %if 0%{without lua_packages} - -DWITH_RADOSGW_LUA_PACKAGES=OFF \ + -DWITH_RADOSGW_LUA_PACKAGES:BOOL=OFF \ %endif %if 0%{with zbd} - -DWITH_ZBD=ON \ + -DWITH_ZBD:BOOL=ON \ %endif %if 0%{with cmake_verbose_logging} - -DCMAKE_VERBOSE_MAKEFILE=ON \ + -DCMAKE_VERBOSE_MAKEFILE:BOOL=ON \ %endif %if 0%{with rbd_rwl_cache} - -DWITH_RBD_RWL=ON \ + -DWITH_RBD_RWL:BOOL=ON \ %endif %if 0%{with rbd_ssd_cache} - -DWITH_RBD_SSD_CACHE=ON \ -%endif - -DBOOST_J=$CEPH_SMP_NCPUS \ -%if 0%{with ceph_test_package} - -DWITH_SYSTEM_GTEST:BOOL=ON \ + -DWITH_RBD_SSD_CACHE:BOOL=ON \ %endif %if 0%{with system_pmdk} -DWITH_SYSTEM_PMDK:BOOL=ON \ %endif +%if 0%{with jaeger} + -DWITH_JAEGER:BOOL=ON \ +%endif +%if 0%{?suse_version} + -DBOOST_J:STRING=%{jobs} \ +%else + -DBOOST_J:STRING=%{_smp_build_ncpus} \ +%endif +%if 0%{with ceph_test_package} + -DWITH_SYSTEM_GTEST:BOOL=ON \ +%endif -DWITH_SYSTEM_ZSTD:BOOL=ON \ %if 0%{?rhel} -DWITH_FMT_HEADER_ONLY:BOOL=ON \ %endif - -DWITH_GRAFANA=ON + -DWITH_GRAFANA:BOOL=ON %if %{with cmake_verbose_logging} cat ./CMakeFiles/CMakeOutput.log @@ -1392,22 +1397,19 @@ cat ./CMakeFiles/CMakeError.log export VERBOSE=1 export V=1 export GCC_COLORS= -make "$CEPH_MFLAGS_JOBS" || (tar cjf - /tmp/cc*.out | base64 ; exit 1) +%cmake_build %if 0%{with make_check} %check # run in-tree unittests -# cd build +# cd %{_vpath_builddir} # ctest "$CEPH_MFLAGS_JOBS" %endif - %install -pushd build -make DESTDIR=%{buildroot} install +%cmake_install # we have dropped sysvinit bits rm -f %{buildroot}/%{_sysconfdir}/init.d/ceph -popd %if 0%{with seastar} # package crimson-osd with the name of ceph-osd install -m 0755 %{buildroot}%{_bindir}/crimson-osd %{buildroot}%{_bindir}/ceph-osd @@ -1429,7 +1431,6 @@ install -m 0644 -D COPYING %{buildroot}%{_docdir}/ceph/COPYING install -m 0644 -D etc/sysctl/90-ceph-osd.conf %{buildroot}%{_sysctldir}/90-ceph-osd.conf install -m 0755 -D src/tools/rbd_nbd/rbd-nbd_quiesce %{buildroot}%{_libexecdir}/rbd-nbd/rbd-nbd_quiesce -%if 0%{with cephadm} install -m 0755 src/cephadm/cephadm %{buildroot}%{_sbindir}/cephadm mkdir -p %{buildroot}%{_sharedstatedir}/cephadm chmod 0700 %{buildroot}%{_sharedstatedir}/cephadm @@ -1437,7 +1438,6 @@ mkdir -p %{buildroot}%{_sharedstatedir}/cephadm/.ssh chmod 0700 %{buildroot}%{_sharedstatedir}/cephadm/.ssh touch %{buildroot}%{_sharedstatedir}/cephadm/.ssh/authorized_keys chmod 0600 %{buildroot}%{_sharedstatedir}/cephadm/.ssh/authorized_keys -%endif # firewall templates and /sbin/mount.ceph symlink %if 0%{?suse_version} && !0%{?usrmerged} @@ -1476,7 +1476,7 @@ mkdir -p %{buildroot}%{_localstatedir}/lib/ceph/bootstrap-rbd mkdir -p %{buildroot}%{_localstatedir}/lib/ceph/bootstrap-rbd-mirror # prometheus alerts -install -m 644 -D monitoring/prometheus/alerts/ceph_default_alerts.yml %{buildroot}/etc/prometheus/ceph/ceph_default_alerts.yml +install -m 644 -D monitoring/ceph-mixin/prometheus_alerts.yml %{buildroot}/etc/prometheus/ceph/ceph_default_alerts.yml %if 0%{?suse_version} # create __pycache__ directories and their contents @@ -1489,10 +1489,6 @@ install -m 644 -D monitoring/prometheus/alerts/ceph_default_alerts.yml %{buildro %py_byte_compile %{__python3} %{buildroot}%{python3_sitelib} %endif -%if 0%{without cephadm} -rm -f %{buildroot}%{_mandir}/man8/cephadm.8* -%endif - ################################################################################# # files and systemd scriptlets ################################################################################# @@ -1531,10 +1527,6 @@ rm -f %{buildroot}%{_mandir}/man8/cephadm.8* %{_fillupdir}/sysconfig.* %endif %{_unitdir}/ceph.target -%dir %{python3_sitelib}/ceph_volume -%{python3_sitelib}/ceph_volume/* -%{python3_sitelib}/ceph_volume-* -%{_mandir}/man8/ceph-deploy.8* %{_mandir}/man8/ceph-create-keys.8* %{_mandir}/man8/ceph-run.8* %{_mandir}/man8/crushtool.8* @@ -1580,7 +1572,6 @@ fi /sbin/ldconfig %systemd_postun ceph.target -%if 0%{with cephadm} %pre -n cephadm getent group cephadm >/dev/null || groupadd -r cephadm getent passwd cephadm >/dev/null || useradd -r -g cephadm -s /bin/bash -c "cephadm user for mgr/cephadm" -d %{_sharedstatedir}/cephadm cephadm @@ -1598,7 +1589,6 @@ exit 0 %attr(0700,cephadm,cephadm) %dir %{_sharedstatedir}/cephadm %attr(0700,cephadm,cephadm) %dir %{_sharedstatedir}/cephadm/.ssh %attr(0600,cephadm,cephadm) %{_sharedstatedir}/cephadm/.ssh/authorized_keys -%endif %files common %dir %{_docdir}/ceph @@ -1613,6 +1603,7 @@ exit 0 %{_bindir}/cephfs-data-scan %{_bindir}/cephfs-journal-tool %{_bindir}/cephfs-table-tool +%{_bindir}/crushdiff %{_bindir}/rados %{_bindir}/radosgw-admin %{_bindir}/rbd @@ -1627,6 +1618,8 @@ exit 0 %{_bindir}/rbd-replay-prep %endif %{_bindir}/ceph-post-file +%dir %{_libdir}/ceph/denc +%{_libdir}/ceph/denc/denc-mod-*.so %{_tmpfilesdir}/ceph-common.conf %{_mandir}/man8/ceph-authtool.8* %{_mandir}/man8/ceph-conf.8* @@ -1636,6 +1629,7 @@ exit 0 %{_mandir}/man8/ceph-syn.8* %{_mandir}/man8/ceph-post-file.8* %{_mandir}/man8/ceph.8* +%{_mandir}/man8/crushdiff.8* %{_mandir}/man8/mount.ceph.8* %{_mandir}/man8/rados.8* %{_mandir}/man8/radosgw-admin.8* @@ -1656,7 +1650,6 @@ exit 0 %config %{_sysconfdir}/bash_completion.d/radosgw-admin %config(noreplace) %{_sysconfdir}/ceph/rbdmap %{_unitdir}/rbdmap.service -%dir %{_udevrulesdir} %{_udevrulesdir}/50-rbd.rules %attr(3770,ceph,ceph) %dir %{_localstatedir}/log/ceph/ %attr(750,ceph,ceph) %dir %{_localstatedir}/lib/ceph/ @@ -2123,23 +2116,18 @@ fi %{_bindir}/ceph-osdomap-tool %{_bindir}/ceph-osd %{_libexecdir}/ceph/ceph-osd-prestart.sh -%{_sbindir}/ceph-volume -%{_sbindir}/ceph-volume-systemd %{_mandir}/man8/ceph-clsinfo.8* %{_mandir}/man8/ceph-osd.8* %{_mandir}/man8/ceph-bluestore-tool.8* -%{_mandir}/man8/ceph-volume.8* -%{_mandir}/man8/ceph-volume-systemd.8* %{_unitdir}/ceph-osd@.service %{_unitdir}/ceph-osd.target -%{_unitdir}/ceph-volume@.service %attr(750,ceph,ceph) %dir %{_localstatedir}/lib/ceph/osd %config(noreplace) %{_sysctldir}/90-ceph-osd.conf %post osd %if 0%{?suse_version} if [ $1 -eq 1 ] ; then - /usr/bin/systemctl preset ceph-osd@\*.service ceph-volume@\*.service ceph-osd.target >/dev/null 2>&1 || : + /usr/bin/systemctl preset ceph-osd@\*.service ceph-osd.target >/dev/null 2>&1 || : fi %endif %if 0%{?fedora} || 0%{?rhel} @@ -2156,10 +2144,10 @@ fi %preun osd %if 0%{?suse_version} -%service_del_preun ceph-osd@\*.service ceph-volume@\*.service ceph-osd.target +%service_del_preun ceph-osd@\*.service ceph-osd.target %endif %if 0%{?fedora} || 0%{?rhel} -%systemd_preun ceph-osd@\*.service ceph-volume@\*.service ceph-osd.target +%systemd_preun ceph-osd@\*.service ceph-osd.target %endif %postun osd @@ -2181,6 +2169,48 @@ fi %{_bindir}/crimson-osd %endif +%files volume +%{_sbindir}/ceph-volume +%{_sbindir}/ceph-volume-systemd +%dir %{python3_sitelib}/ceph_volume +%{python3_sitelib}/ceph_volume/* +%{python3_sitelib}/ceph_volume-* +%{_mandir}/man8/ceph-volume.8* +%{_mandir}/man8/ceph-volume-systemd.8* +%{_unitdir}/ceph-volume@.service + +%post volume +%if 0%{?suse_version} +if [ $1 -eq 1 ] ; then + /usr/bin/systemctl preset ceph-volume@\*.service >/dev/null 2>&1 || : +fi +%endif +%if 0%{?fedora} || 0%{?rhel} +%systemd_post ceph-volume@\*.service +%endif + +%preun volume +%if 0%{?suse_version} +%service_del_preun ceph-volume@\*.service +%endif +%if 0%{?fedora} || 0%{?rhel} +%systemd_preun ceph-volume@\*.service +%endif + +%postun volume +%systemd_postun ceph-volume@\*.service +if [ $1 -ge 1 ] ; then + # Restart on upgrade, but only if "CEPH_AUTO_RESTART_ON_UPGRADE" is set to + # "yes". In any case: if units are not running, do not touch them. + SYSCONF_CEPH=%{_sysconfdir}/sysconfig/ceph + if [ -f $SYSCONF_CEPH -a -r $SYSCONF_CEPH ] ; then + source $SYSCONF_CEPH + fi + if [ "X$CEPH_AUTO_RESTART_ON_UPGRADE" = "Xyes" ] ; then + /usr/bin/systemctl try-restart ceph-volume@\*.service > /dev/null 2>&1 || : + fi +fi + %if %{with ocf} %files resource-agents @@ -2322,20 +2352,9 @@ fi %{_includedir}/cephfs/metrics/Types.h %{_libdir}/libcephfs.so -%if %{with jaeger} -%files -n libjaeger -%{_libdir}/libopentracing.so.* -%{_libdir}/libthrift.so.* -%{_libdir}/libjaegertracing.so.* -%post -n libjaeger -p /sbin/ldconfig -%postun -n libjaeger -p /sbin/ldconfig -%endif - %files -n python%{python3_pkgversion}-cephfs %{python3_sitearch}/cephfs.cpython*.so %{python3_sitearch}/cephfs-*.egg-info -%{python3_sitelib}/ceph_volume_client.py -%{python3_sitelib}/__pycache__/ceph_volume_client.cpython*.py* %files -n python%{python3_pkgversion}-ceph-argparse %{python3_sitelib}/ceph_argparse.py @@ -2351,6 +2370,7 @@ fi %files -n cephfs-shell %{python3_sitelib}/cephfs_shell-*.egg-info %{_bindir}/cephfs-shell +%{_mandir}/man8/cephfs-shell.8* %endif %files -n cephfs-top @@ -2362,7 +2382,6 @@ fi %files -n ceph-test %{_bindir}/ceph-client-debug %{_bindir}/ceph_bench_log -%{_bindir}/ceph_kvstorebench %{_bindir}/ceph_multi_stress_watch %{_bindir}/ceph_erasure_code_benchmark %{_bindir}/ceph_omapbench @@ -2522,8 +2541,6 @@ exit 0 %endif %attr(0755,root,root) %dir %{_sysconfdir}/grafana/dashboards/ceph-dashboard %config %{_sysconfdir}/grafana/dashboards/ceph-dashboard/* -%doc monitoring/grafana/dashboards/README -%doc monitoring/grafana/README.md %files prometheus-alerts %if 0%{?suse_version} @@ -2533,27 +2550,100 @@ exit 0 %config %{_sysconfdir}/prometheus/ceph/ceph_default_alerts.yml %changelog +* Mon Feb 28 2022 Kaleb S. KEITHLEY - 2:17.1.0-0.1.rc1 +- 17.1.0 RC1 + +* Sat Feb 05 2022 Jiri Vanek - 2:16.2.7-10 +- Rebuilt for java-17-openjdk as system jdk + +* Wed Feb 2 2022 Kaleb S. KEITHLEY - 2:16.2.7-9 +- 16.2.7, python3.10 w/ __CHAR_UNSIGNED__ fix + +* Thu Jan 27 2022 Kaleb S. KEITHLEY - 2:16.2.7-8 +- 16.2.7, w/ modern linker (mold), x86_64 and aarch64, this time for real + +* Wed Jan 26 2022 Kaleb S. KEITHLEY - 2:16.2.7-7 +- 16.2.7, build with modern linker (mold), x86_64 and aarch64 +- reenable ppc64le + +* Tue Jan 25 2022 Kaleb S. KEITHLEY - 2:16.2.7-6 +- 16.2.7, more CET enablement, rhbz#2040091 + +* Thu Jan 20 2022 Kaleb S. KEITHLEY - 2:16.2.7-5 +- 16.2.7, rebuild with gcc-12, exclude ppc64le until fmt on ppc64le is fixed + +* Wed Jan 19 2022 Fedora Release Engineering - 2:16.2.7-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild + +* Mon Jan 10 2022 Kaleb S. KEITHLEY - 2:16.2.7-3 +- 16.2.7, rebuild with fmt-8.1.1 + +* Wed Dec 29 2021 Kaleb S. KEITHLEY - 2:16.2.7-2 +- 16.2.7, LGPLv2.1 -> LGPLv2+, rhbz#2036035 + * Tue Dec 7 2021 Kaleb S. KEITHLEY - 2:16.2.7-1 - 16.2.7 GA +* Tue Nov 02 2021 Mamoru TASAKA - 2:16.2.6-3 +- rebuild against new liblttng-ust + +* Tue Oct 19 2021 Kaleb S. KEITHLEY - 2:16.2.6-2 +- 16.2.6, rebuild with rocksdb 6.25 + * Fri Sep 17 2021 Kaleb S. KEITHLEY - 2:16.2.6-1 - 16.2.6 GA -* Thu Jul 22 2021 Kaleb S. KEITHLEY - 2:16.2.5-2 -- https://tracker.ceph.com/issues/51797 +* Tue Sep 14 2021 Sahana Prasad - 2:16.2.5-11 +- Rebuilt with OpenSSL 3.0.0 + +* Mon Sep 6 2021 Kaleb S. KEITHLEY - 2:16.2.5-10 +- Rebuilt for gtest 1.11.0 + +* Thu Aug 26 2021 Kaleb S. KEITHLEY - 2:16.2.5-9 +- Rebuilt for rocksdb 6.22 + +* Tue Aug 17 2021 Kaleb S. KEITHLEY - 2:16.2.5-8 +- build with ninja, -DWITH_SYSTEM_ZSTD, without gdbm + +* Sun Aug 8 2021 Kaleb S. KEITHLEY - 2:16.2.5-7 +- Rebuild for Boost 1.76 again + +* Fri Aug 06 2021 Jonathan Wakely - 2:16.2.5-6 +- Rebuilt for Boost 1.76 + +* Thu Aug 5 2021 Kaleb S. KEITHLEY - 2:16.2.5-5 +- Rebuild for leveldb-1.23-3 w/ reverted -fno-rtti + +* Tue Aug 3 2021 Kaleb S. KEITHLEY - 2:16.2.5-4 +- Rebuild for leveldb-1.23 + +* Wed Jul 21 2021 Fedora Release Engineering - 2:16.2.5-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild + +* Thu Jul 8 2021 Kaleb S. KEITHLEY - 2:16.2.5-2 +- Rebuild for new fmt version. * Thu Jul 8 2021 Kaleb S. KEITHLEY - 2:16.2.5-1 - 16.2.5 GA -* Thu Jul 1 2021 Kaleb S. KEITHLEY - 2:16.2.4-2 -- 16.2.4 build from lookaside +* Mon Jul 05 2021 Richard Shaw - 2:16.2.4-6 +- Rebuild for new fmt version. + +* Fri Jun 11 2021 Kaleb S. KEITHLEY - 2:16.2.4-5 +- https://src.fedoraproject.org/rpms/ceph/pull-request/3# + +* Fri Jun 04 2021 Python Maint - 2:16.2.4-4 +- Rebuilt for Python 3.10 + +* Wed May 26 2021 Kaleb S. KEITHLEY - 2:16.2.4-3 +- 16.2.4, bz 1964858, snappy::uint32 + +* Wed May 19 2021 Pete Walter - 2:16.2.4-2 +- Rebuild for ICU 69 * Thu May 13 2021 Kaleb S. KEITHLEY - 2:16.2.4-1 - 16.2.4 GA -* Thu May 13 2021 Kaleb S. KEITHLEY - 2:16.2.3-2 -- 16.2.3, w/ unbundled cephadm, for OSP CI. - * Thu May 6 2021 Kaleb S. KEITHLEY - 2:16.2.3-1 - 16.2.3 GA @@ -2563,30 +2653,49 @@ exit 0 * Tue Apr 20 2021 Kaleb S. KEITHLEY - 2:16.2.1-1 - 16.2.1 GA -* Thu Apr 15 2021 Kaleb S. KEITHLEY - 2:16.2.0-5 -- 16.2.0, python3-{remoto,routes,kubernetes}, Requires:{gmock,gtest}-devel - -* Wed Apr 14 2021 Kaleb S. KEITHLEY - 2:16.2.0-4 -- 16.2.0, python3-{cherrypy,bcrypt,pecan} - -* Tue Apr 13 2021 Kaleb S. KEITHLEY - 2:16.2.0-3 -- 16.2.0, rgw fix +* Wed Apr 14 2021 Richard W.M. Jones - 2:16.2.0-3 +- Rebuild for updated liburing. -* Thu Apr 1 2021 Kaleb S. KEITHLEY - 2:16.2.0-2 -- 16.2.0, cephadm +* Sat Apr 10 2021 Kaleb S. KEITHLEY - 2:16.2.0-2 +- 16.2.0, libamqp_mock fix (FTBFS, #1947281), rgw fix * Wed Mar 31 2021 Kaleb S. KEITHLEY - 2:16.2.0-1 - 16.2.0 GA -* Sat Mar 27 2021 Kaleb S. KEITHLEY - 2:16.1.0-2 -- 16.1.0 RC, misc python3-* -> python-* +* Tue Mar 30 2021 Jonathan Wakely - 2:16.1.0-2 +- Rebuilt for removed libstdc++ symbol (#1937698) * Thu Mar 25 2021 Kaleb S. KEITHLEY - 2:16.1.0-1 - 16.1.0 RC -* Tue Mar 23 2021 Kaleb S. KEITHLEY - 2:16.1.0-0.1.snapshot +* Tue Mar 23 2021 Kaleb S. KEITHLEY - 2:16.1.0-0.8.snapshot - 16.1.0 RC (ceph-16.1.0-944-ge53ee8bd plus fix trailing slash bluestore) +* Sat Mar 20 2021 Kaleb S. KEITHLEY - 2:16.1.0-0.7.snapshot +- 16.1.0 RC (ceph-16.1.0-944-ge53ee8bd) + +* Fri Mar 19 2021 Kaleb S. KEITHLEY - 2:16.1.0-0.6.snapshot +- 16.1.0 RC (ceph-16.1.0-308-gabe639eb) + +* Fri Mar 5 2021 Kaleb S. KEITHLEY - 2:16.1.0-0.5.snapshot +- ceph 16.1.0 RC (ceph-16.1.0-308-gabe639eb) +- rpmbuild apparently unable to automatically derive 'Requires: rocksdb' from 'BuildRequires: rocksdb-devel' for librocksdb.so.6.13 + +* Sat Feb 20 2021 Kaleb S. KEITHLEY - 2:16.1.0-0.4.snapshot +- ceph 16.1.0 RC (ceph-16.1.0-308-gabe639eb) + +* Thu Feb 4 2021 Kaleb S. KEITHLEY - 2:16.1.0-0.3.snapshot +- rocksdb not available in el8+, use bundled rocksdb + +* Mon Feb 1 2021 Kaleb S. KEITHLEY - 2:16.1.0-0.2.snapshot +- libblk.so -> libblk.a +- libneoradostest-support.so -> libneoradostest-support.a +- w/ liburing-devel, -DWITH_SYSTEM_LIBURING=ON +- w/ rocksdb-devel, -DWITH_SYSTEM_ROCKSDB=ON + +* Fri Jan 29 2021 Kaleb S. KEITHLEY - 2:16.1.0-0.1.snapshot +- ceph 16.1.0 RC (ceph-16.1.0-43-g6b74fb5c) + * Wed Sep 16 2020 Kaleb S. KEITHLEY - 2:15.2.5-1 - ceph 15.2.5 GA