diff --git a/README.md b/README.md index 256f4c3..3bfff32 100644 --- a/README.md +++ b/README.md @@ -18,7 +18,7 @@ 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 .el9s" SPECS/ceph.spec Get the lookaside uploader script from ssh://git@git.centos.org/centos-git-common.git @@ -40,9 +40,9 @@ e9c6a6a482b8e46117c2a6c37b50c569bd62d92e SOURCES/ceph-16.5.tar.gz commit 29f19456be12986e86392652331e3a56ff0a88a0 5. build - $ cbs build storage8-ceph-pacific-el8 git+https://git.centos.org/rpms/ceph.git#29f19456be12986e86392652331e3a56ff0a88a0 + $ cbs build storage9s-ceph-pacific-el9s 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] storage9s-ceph-pacific-el9s ceph-16.2.5-1.el9s.src.rpm diff --git a/SOURCES/0013-src-common-Formatter.cc.patch b/SOURCES/0013-src-common-Formatter.cc.patch new file mode 100644 index 0000000..c31fc1a --- /dev/null +++ b/SOURCES/0013-src-common-Formatter.cc.patch @@ -0,0 +1,10 @@ +--- ceph-16.2.4/src/common/Formatter.cc.orig 2021-07-07 09:32:25.513818420 -0400 ++++ ceph-16.2.4/src/common/Formatter.cc 2021-07-07 09:44:42.007373294 -0400 +@@ -21,6 +21,7 @@ + #include + #include + #include ++#include + + // ----------------------- + namespace ceph { diff --git a/SPECS/ceph.spec b/SPECS/ceph.spec index 42a2a15..15137d4 100644 --- a/SPECS/ceph.spec +++ b/SPECS/ceph.spec @@ -22,7 +22,6 @@ ################################################################################# %global _hardened_build 1 -%bcond_with cephadm %bcond_with make_check %bcond_with zbd %bcond_with cmake_verbose_logging @@ -34,7 +33,7 @@ %endif %if 0%{?fedora} || 0%{?rhel} %bcond_without selinux -%ifarch x86_64 +%ifarch x86_64 ppc64le %bcond_without rbd_rwl_cache %bcond_without rbd_ssd_cache %global _system_pmdk 1 @@ -127,7 +126,7 @@ ################################################################################# Name: ceph Version: 16.2.5 -Release: 2%{?dist} +Release: 1%{?dist} %if 0%{?fedora} || 0%{?rhel} Epoch: 2 %endif @@ -151,7 +150,8 @@ Patch0006: 0006-src-blk-CMakeLists.txt.patch Patch0007: 0007-src-test-neorados-CMakeLists.txt.patch Patch0008: 0008-cmake-modules-Finduring.cmake.patch Patch0009: 0009-librgw-notifications-initialize-kafka-and-amqp.patch -Source1: cmake-modules-BuildBoost.cmake.noautopatch +Patch0013: 0013-src-common-Formatter.cc.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} @@ -178,14 +178,11 @@ 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} +BuildRequires: gcc-toolset-9-gcc-c++ >= 9.2.1-2.3 +%else BuildRequires: gcc-c++ -# %%endif +%endif BuildRequires: gdbm %if 0%{with tcmalloc} # libprofiler did not build on ppc64le until 2.7.90 @@ -210,7 +207,7 @@ BuildRequires: fmt-devel >= 5.2.1 BuildRequires: rocksdb-devel Requires: rocksdb %endif -BuildRequires: liburing-devel +# BuildRequires: liburing-devel BuildRequires: pkgconfig(libudev) BuildRequires: libnl3-devel BuildRequires: liboath-devel @@ -288,19 +285,17 @@ BuildRequires: protobuf-devel BuildRequires: ragel BuildRequires: systemtap-sdt-devel BuildRequires: yaml-cpp-devel +%if 0%{?fedora} +BuildRequires: libubsan +BuildRequires: libasan +BuildRequires: libatomic +%endif +%if 0%{?rhel} +BuildRequires: gcc-toolset-9-annobin BuildRequires: gcc-toolset-9-libubsan-devel BuildRequires: gcc-toolset-9-libasan-devel BuildRequires: gcc-toolset-9-libatomic-devel -# %%if 0%%{?fedora} -# BuildRequires: libubsan -# BuildRequires: libasan -# BuildRequires: libatomic -# %%endif -# %%if 0%%{?rhel} -# BuildRequires: gcc-toolset-9-libubsan-devel -# BuildRequires: gcc-toolset-9-libasan-devel -# BuildRequires: gcc-toolset-9-libatomic-devel -# %%endif +%endif %endif ################################################################################# # distro-conditional dependencies @@ -465,7 +460,6 @@ Recommends: chrony %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 @@ -477,7 +471,6 @@ Recommends: podman >= 2.0.2 %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 @@ -677,7 +670,7 @@ 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: cephadm = %{_epoch_prefix}%{version}-%{release} %if 0%{?suse_version} Requires: openssh Requires: python%{python3_pkgversion}-Jinja2 @@ -1134,8 +1127,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 @@ -1237,19 +1228,18 @@ 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} -# . /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 @@ -1344,7 +1334,7 @@ cd build -DWITH_SYSTEM_ROCKSDB=ON \ %endif -DWITH_SYSTEM_LIBURING=OFF \ - -DWITH_SYSTEM_BOOST=OFF \ + -DWITH_SYSTEM_BOOST=ON \ %if 0%{with cephfs_shell} -DWITH_CEPHFS_SHELL=ON \ %endif @@ -1394,7 +1384,8 @@ cat ./CMakeFiles/CMakeError.log export VERBOSE=1 export V=1 -make "$CEPH_MFLAGS_JOBS" +export GCC_COLORS= +%cmake_build %if 0%{with make_check} @@ -1407,7 +1398,7 @@ make "$CEPH_MFLAGS_JOBS" %install pushd build -make DESTDIR=%{buildroot} install +%cmake_install # we have dropped sysvinit bits rm -f %{buildroot}/%{_sysconfdir}/init.d/ceph popd @@ -1432,7 +1423,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 @@ -1440,7 +1430,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} @@ -1492,10 +1481,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 ################################################################################# @@ -1582,7 +1567,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 @@ -1600,7 +1584,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 @@ -2046,8 +2029,9 @@ fi %endif %postun immutable-object-cache +test -n "$FIRST_ARG" || FIRST_ARG=$1 %systemd_postun ceph-immutable-object-cache@\*.service ceph-immutable-object-cache.target -if [ $1 -ge 1 ] ; then +if [ $FIRST_ARG -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 @@ -2516,21 +2500,9 @@ exit 0 %config %{_sysconfdir}/prometheus/ceph/ceph_default_alerts.yml %changelog -* Thu Jul 22 2021 Kaleb S. KEITHLEY - 2:16.2.5-2 -- https://tracker.ceph.com/issues/51797 - -* 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 - * 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 @@ -2540,30 +2512,46 @@ 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 - -* 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