From 802ed57878cdfed146a70152b4e63eff53c6f34e Mon Sep 17 00:00:00 2001
From: "Kaleb S. KEITHLEY" <kkeithle@redhat.com>
Date: Wed, 26 Mar 2025 09:38:51 -0400
Subject: [PATCH] rocky9 reef

---
 README.md                                     |  6 ++
 .../0046-src-include-rados-rgw_file.h.patch   | 11 +++
 SPECS/ceph.spec                               | 68 ++++++++++---------
 3 files changed, 53 insertions(+), 32 deletions(-)
 create mode 100644 SOURCES/0046-src-include-rados-rgw_file.h.patch

diff --git a/README.md b/README.md
index e69de29..5718488 100644
--- a/README.md
+++ b/README.md
@@ -0,0 +1,6 @@
+
+peridot: https://mirror.potato.shrug.pw/peridot-cli-0.2.3-2.x86_64.rpm
+
+upload to lookaside
+	peridot lookaside upload ceph-18.2.4.tar.gz
+
diff --git a/SOURCES/0046-src-include-rados-rgw_file.h.patch b/SOURCES/0046-src-include-rados-rgw_file.h.patch
new file mode 100644
index 0000000..a2eb4fa
--- /dev/null
+++ b/SOURCES/0046-src-include-rados-rgw_file.h.patch
@@ -0,0 +1,11 @@
+--- ceph-18.2.4/src/include/rados/rgw_file.h.orig	2024-09-23 12:05:39.942703570 -0400
++++ ceph-18.2.4/src/include/rados/rgw_file.h	2024-09-23 12:05:55.800441732 -0400
+@@ -27,7 +27,7 @@
+ 
+ #define LIBRGW_FILE_VER_MAJOR 1
+ #define LIBRGW_FILE_VER_MINOR 2
+-#define LIBRGW_FILE_VER_EXTRA 0
++#define LIBRGW_FILE_VER_EXTRA 1
+ 
+ #define LIBRGW_FILE_VERSION(maj, min, extra) ((maj << 16) + (min << 8) + extra)
+ #define LIBRGW_FILE_VERSION_CODE LIBRGW_FILE_VERSION(LIBRGW_FILE_VER_MAJOR, LIBRGW_FILE_VER_MINOR, LIBRGW_FILE_VER_EXTRA)
diff --git a/SPECS/ceph.spec b/SPECS/ceph.spec
index 2abb2df..7ee055a 100644
--- a/SPECS/ceph.spec
+++ b/SPECS/ceph.spec
@@ -100,15 +100,23 @@
 %else
 %bcond_without jaeger
 %endif
-%if 0%{?fedora} || 0%{?suse_version} >= 1500
+%bcond_with jaeger
+%if 0%{?fedora} || 0%{?suse_version} >= 1500 || 0%{?rhel} >= 10
 # distros that ship cmd2 and/or colorama
 %bcond_without cephfs_shell
 %else
 # distros that do _not_ ship cmd2/colorama
 %bcond_with cephfs_shell
 %endif
+%if 0%{?fedora} || 0%{?rhel} >= 9
 %bcond_without system_arrow
 %bcond_without system_utf8proc
+%else
+# for centos 8, utf8proc-devel comes from the subversion-devel module which isn't available in EPEL8
+# this is tracked in https://bugzilla.redhat.com/2152265
+%bcond_with system_arrow
+%bcond_with system_utf8proc
+%endif
 %if 0%{?fedora} || 0%{?suse_version} || 0%{?rhel} >= 8
 %global weak_deps 1
 %endif
@@ -168,7 +176,7 @@
 #################################################################################
 Name:		ceph
 Version:	18.2.4
-Release:	1%{?dist}
+Release:	2%{?dist}
 %if 0%{?fedora} || 0%{?rhel}
 Epoch:		2
 %endif
@@ -197,6 +205,8 @@ Patch0018:	0018-src-rgw-store-dbstore-CMakeLists.txt.patch
 Patch0020:	0020-src-arrow-cpp-cmake_modules-ThirdpartyToolchain.cmake.patch
 Patch0032:	0032-cmake-modules-BuildBoost.cmake.patch
 Patch0033:	0033-boost-asm.patch
+Patch0046:	0046-src-include-rados-rgw_file.h.patch
+
 # ceph 14.0.1 does not support 32-bit architectures, bugs #1727788, #1727787
 ExcludeArch:	i686 armv7hl
 %if 0%{?suse_version}
@@ -223,7 +233,7 @@ BuildRequires:	selinux-policy-devel
 BuildRequires:	gperf
 BuildRequires:	cmake > 3.5
 BuildRequires:	fuse3-devel
-%if 0%{?fedora} || 0%{?suse_version} > 1500 || 0%{?rhel} == 9
+%if 0%{?fedora} || 0%{?suse_version} > 1500 || 0%{?rhel} >= 9
 BuildRequires: gcc-c++ >= 11
 %endif
 %if 0%{?suse_version} == 1500
@@ -234,12 +244,12 @@ BuildRequires: %{gts_prefix}-gcc-c++
 BuildRequires: %{gts_prefix}-build
 BuildRequires: %{gts_prefix}-libatomic-devel
 %endif
-%if 0%{?fedora} || 0%{?rhel} == 9
+%if 0%{?fedora} || 0%{?rhel} >= 9
 BuildRequires:	libatomic
 BuildRequires:	gcc-c++
 %endif
 %ifarch x86_64 aarch64
-BuildRequires:	mold
+BuildRequires: mold
 %endif
 %if 0%{with tcmalloc}
 # libprofiler did not build on ppc64le until 2.7.90
@@ -261,7 +271,7 @@ BuildRequires:	libcurl-devel
 BuildRequires:	libcap-devel
 BuildRequires:	libcap-ng-devel
 BuildRequires:	fmt-devel >= 6.2.1
-%if 0%{?fedora}
+%if 0%{?fedora} || 0%{?rhel} >= 10
 BuildRequires:	rocksdb-devel
 Requires:	rocksdb
 %endif
@@ -279,8 +289,8 @@ BuildRequires:	patch
 BuildRequires:	perl
 BuildRequires:	pkgconfig
 BuildRequires:	procps
-BuildRequires:	python%{python3_pkgversion}-rpm-macros
 BuildRequires:	python%{python3_pkgversion}
+BuildRequires:	python%{python3_pkgversion}-rpm-macros
 BuildRequires:	python%{python3_pkgversion}-devel
 BuildRequires:	python%{python3_pkgversion}-setuptools
 BuildRequires:	python%{python3_pkgversion}-Cython
@@ -355,10 +365,6 @@ BuildRequires:	libpmemobj-devel >= 1.8
 %if 0%{with system_arrow}
 BuildRequires:	libarrow-devel
 BuildRequires:	parquet-libs-devel
-%else
-BuildRequires:	xsimd-devel
-%endif
-%if 0%{with system_utf8proc}
 BuildRequires:	utf8proc-devel
 %endif
 %if 0%{with seastar}
@@ -369,7 +375,7 @@ BuildRequires:	libpciaccess-devel
 BuildRequires:	lksctp-tools-devel
 BuildRequires:	ragel
 BuildRequires:	systemtap-sdt-devel
-%if 0%{?fedora}
+%if 0%{?fedora} || 0%{?rhel} >= 10
 BuildRequires:	libubsan
 BuildRequires:	libasan
 %endif
@@ -671,7 +677,7 @@ Group:		System/Filesystems
 %endif
 Requires:	ceph-mgr = %{_epoch_prefix}%{version}-%{release}
 Requires:	python%{python3_pkgversion}-numpy
-%if 0%{?fedora} || 0%{?suse_version}
+%if 0%{?fedora} || 0%{?suse_version} || 0%{?rhel} >= 10
 Requires:	python%{python3_pkgversion}-scikit-learn
 %endif
 Requires:	python3-scipy
@@ -690,6 +696,7 @@ Requires:	python%{python3_pkgversion}-pecan
 Requires:	python%{python3_pkgversion}-pyOpenSSL
 Requires:	python%{python3_pkgversion}-requests
 Requires:	python%{python3_pkgversion}-dateutil
+Requires:	python%{python3_pkgversion}-setuptools
 %if 0%{?fedora} || 0%{?rhel} >= 8
 Requires:	python%{python3_pkgversion}-cherrypy
 Requires:	python%{python3_pkgversion}-pyyaml
@@ -1354,12 +1361,6 @@ export CFLAGS="$RPM_OPT_FLAGS"
 export CXXFLAGS="$RPM_OPT_FLAGS"
 export LDFLAGS="$RPM_LD_FLAGS"
 
-# Workaround to https://tracker.ceph.com/issues/56610
-%if 0%{?fedora} >= 37
-export CFLAGS="$RPM_OPT_FLAGS -DFMT_DEPRECATED_OSTREAM"
-export CXXFLAGS="$RPM_OPT_FLAGS -DFMT_DEPRECATED_OSTREAM"
-%endif
-
 %if 0%{with seastar}
 # seastar uses longjmp() to implement coroutine. and this annoys longjmp_chk()
 export CXXFLAGS=$(echo $RPM_OPT_FLAGS | sed -e 's/-Wp,-D_FORTIFY_SOURCE=2//g')
@@ -1407,7 +1408,7 @@ env | sort
 %if 0%{with ocf}
     -DWITH_OCF:BOOL=ON \
 %endif
-%if 0%{?fedora}
+%if 0%{?fedora} || 0%{?rhel} >= 10
     -DWITH_SYSTEM_ROCKSDB:BOOL=ON \
 %endif
     -DWITH_SYSTEM_LIBURING:BOOL=ON \
@@ -1457,16 +1458,14 @@ env | sort
     -DBOOST_J:STRING=%{_smp_build_ncpus} \
 %endif
 %if 0%{with ceph_test_package}
-    -DWITH_SYSTEM_GTEST:BOOL=OFF \
+    -DWITH_SYSTEM_GTEST:BOOL=ON \
 %endif
     -DWITH_SYSTEM_ZSTD:BOOL=ON \
-%if 0%{?rhel}
+%if 0%{?fedora} || 0%{?rhel}
     -DWITH_FMT_HEADER_ONLY:BOOL=ON \
 %endif
 %if 0%{with system_arrow}
     -DWITH_SYSTEM_ARROW:BOOL=ON \
-%endif
-%if 0%{with system_utf8proc}
     -DWITH_SYSTEM_UTF8PROC:BOOL=ON \
 %endif
 %ifarch x86_64 aarch64
@@ -1497,9 +1496,9 @@ export GCC_COLORS=
 
 %install
 %cmake_install
+
 # we have dropped sysvinit bits
 rm -f %{buildroot}/%{_sysconfdir}/init.d/ceph
-
 %if 0%{with seastar}
 # package crimson-osd with the name of ceph-osd
 install -m 0755 %{buildroot}%{_bindir}/crimson-osd %{buildroot}%{_bindir}/ceph-osd
@@ -1529,7 +1528,7 @@ touch %{buildroot}%{_sharedstatedir}/cephadm/.ssh/authorized_keys
 chmod 0600 %{buildroot}%{_sharedstatedir}/cephadm/.ssh/authorized_keys
 
 # firewall templates and /sbin/mount.ceph symlink
-%if 0%{?suse_version} && !0%{?usrmerged}
+%if 0%{?suse_version} && 0%{?suse_version} < 1550
 mkdir -p %{buildroot}/sbin
 ln -sf %{_sbindir}/mount.ceph %{buildroot}/sbin/mount.ceph
 %endif
@@ -1708,7 +1707,7 @@ exit 0
 %{_bindir}/rgw-orphan-list
 %{_bindir}/rgw-restore-bucket-index
 %{_sbindir}/mount.ceph
-%if 0%{?suse_version} && !0%{?usrmerged}
+%if 0%{?suse_version} && 0%{?suse_version} < 1550
 /sbin/mount.ceph
 %endif
 %if %{with lttng}
@@ -2661,10 +2660,12 @@ exit 0
 %dir %{python3_sitelib}/ceph_node_proxy
 %{python3_sitelib}/ceph_node_proxy/*
 %{python3_sitelib}/ceph_node_proxy-*
-#%{_mandir}/man8/ceph-node-proxy.8*
 
 %changelog
-* Mon Feb 10 2025 Kaleb S. KEITHLEY <kkeithle[at]redhat.com> - 2:18.2.4-1
+* Mon Sep 23 2024 Kaleb S. KEITHLEY <kkeithle[at]redhat.com> - 2:18.2.4-2
+- ceph-18.2.4, missing backport to .../include/rados/rgw_file.h
+
+* Mon Jul 15 2024 Kaleb S. KEITHLEY <kkeithle[at]redhat.com> - 2:18.2.4-1
 - ceph-18.2.4 GA
 
 * Mon Apr 29 2024 Kaleb S. KEITHLEY <kkeithle[at]redhat.com> - 2:18.2.3-1
@@ -2673,8 +2674,8 @@ exit 0
 * Thu Mar 7 2024 Kaleb S. KEITHLEY <kkeithle[at]redhat.com> - 2:18.2.2-1
 - ceph-18.2.2 GA
 
-* Wed Dec 20 2023 Kaleb S. KEITHLEY <kkeithle[at]redhat.com> - 2:18.2.1-1
-- ceph-18.2.1 incorporate changes from *final* 18.2.1 release from
+* Tue Dec 19 2023 Kaleb S. KEITHLEY <kkeithle[at]redhat.com> - 2:18.2.1-1
+- ceph-18.2.1, incorporate changes from *final* 18.2.1 release from
   https://download.ceph.com/rpm-18.2.1/el9/SRPMS/ceph-18.2.1-0.el9.src.rpm
 
 * Wed Nov 15 2023 Kaleb S. KEITHLEY <kkeithle[at]redhat.com> - 2:18.2.1-1
@@ -2689,7 +2690,10 @@ exit 0
 * Wed Jul 26 2023 Kaleb S. KEITHLEY <kkeithle[at]redhat.com> - 2:18.1.3-0.1
 - ceph-18.1.3 RC4
 
-* Fri Jun 30 2023 Kaleb S. KEITHLEY <kkeithle[at]redhat.com> - 2:18.1.2-0.1
+* Mon Jul 10 2023 Kaleb S. KEITHLEY <kkeithle[at]redhat.com> - 2:18.1.2-0.2
+- ceph-18.1.2 RC3, rebuild with libarrow->thrift
+
+* Thu Jun 29 2023 Kaleb S. KEITHLEY <kkeithle[at]redhat.com> - 2:18.1.2-0.1
 - ceph-18.1.2 RC3
 
 * Sun Jun 18 2023 Kaleb S. KEITHLEY <kkeithle[at]redhat.com> - 2:18.1.1-0.1
-- 
GitLab