]> git.pld-linux.org Git - packages/ceph.git/blobdiff - ceph.spec
- requires gcc 11+ now
[packages/ceph.git] / ceph.spec
index 46bccf6822be3047c926c5c62bbf267e2f683bed..3786055971cde3831bb0089410fdb997493869e7 100644 (file)
--- a/ceph.spec
+++ b/ceph.spec
@@ -1,7 +1,8 @@
 # TODO:
-# - QATZIP? (WITH_QATZIP=ON, BR: QATzip-devel)
+# - thrift 0.13+ for jaeger
+# - Could NOT find dml (missing: DML_LIBRARIES DML_INCLUDE_DIR DML_HL_LIBRARIES)
+# - system arrow, parquet (WITH_SYSTEM_ARROW=ON, arrow>=4, parquet>=4)?
 # - brotli? (WITH_BROTLI=ON, uses internal brotli as downloaded subproject)
-# - seastar (WITH_SEASTAR=ON, BR: c-ares-devel >= 1.13.0)
 # - proper init scripts if non-systemd boot is to be supported
 #   (upstream scripts seem overcomplicated and hardly useful)
 # - run as non-root user
@@ -9,6 +10,7 @@
 # - package sphinx docs (from doc/)
 #
 # Note on versioning: http://docs.ceph.com/docs/master/releases/
+# Reef (18.1.2) is in RC stage currently
 #
 # Conditional build:
 %bcond_without java            # Java binding
@@ -19,6 +21,7 @@
 # src/rgw/rgw_fcgi_process.cc:92:53: error: 'class rgw::sal::RGWRadosStore' has no member named 'get_new_req_id'
 %bcond_with    fcgi            # RADOS Gateway FCGI frontend
 %bcond_with    fio             # FIO engines support (16.x: downloads fio as internal subproject)
+%bcond_with    jaeger          # jaegertracing support (NFY, BR: thrift >= 0.13)
 %bcond_with    kerberos        # GSSAPI/KRB5 support
 %bcond_without pmem            # PMDK (persistent memory) support
 %bcond_without qat             # QAT driver
 %ifnarch %{x8664} aarch64 mips64 ppc64 sparc64 s390x
 %undefine      with_seastar
 %endif
+
+%{?with_java:%{?use_default_jdk}}
 #
 Summary:       User space components of the Ceph file system
 Summary(pl.UTF-8):     Działające w przestrzeni użytkownika elementy systemu plików Ceph
 Name:          ceph
-Version:       17.2.3
+Version:       18.2.3
 Release:       1
 License:       LGPL v2.1 (libraries), GPL v2 (some programs)
 Group:         Base
 Source0:       http://download.ceph.com/tarballs/%{name}-%{version}.tar.gz
-# Source0-md5: 96f10fa942ec0db4008993cddaec88ec
+# Source0-md5: cfa96354e8cd5168c8c42ff9fafc49a4
 Source1:       ceph.sysconfig
 Source3:       ceph.tmpfiles
 Patch0:                %{name}-python.patch
@@ -68,17 +73,26 @@ Patch8:             ix86-no-asm.patch
 Patch9:                long-int-time_t.patch
 Patch10:       %{name}-qat.patch
 Patch11:       %{name}-liburing.patch
+Patch12:       %{name}-glibc.patch
+Patch13:       %{name}-libfmt.patch
+Patch14:       %{name}-system-rocksdb.patch
+# https://src.fedoraproject.org/rpms/ceph/blob/rawhide/f/0017-gcc-12-omnibus.patch
+Patch15:       %{name}-gcc12.patch
+# https://src.fedoraproject.org/rpms/ceph/blob/rawhide/f/0020-src-arrow-cpp-cmake_modules-ThirdpartyToolchain.cmake.patch
+Patch16:       %{name}-system-xsimd.patch
+Patch17:       boost1.81.patch
 URL:           https://ceph.io/
 %{?with_qatzip:BuildRequires:  QATzip-devel}
 %{?with_babeltrace:BuildRequires:      babeltrace-devel}
-BuildRequires: boost-devel >= 1.72
-BuildRequires: boost-python3-devel >= 1.72
+BuildRequires: boost-devel >= 1.79
+BuildRequires: boost-python3-devel >= 1.79
 %{?with_seastar:BuildRequires: c-ares-devel >= 1.13.0}
 BuildRequires: cmake >= 3.22.2
 %{?with_seastar:BuildRequires: cryptopp-devel >= 5.6.5}
 BuildRequires: cryptsetup-devel >= 2.0.5
-BuildRequires: curl-devel
-%if %{with dpdk} || %{with seastar} || %{with spdk}
+BuildRequires: curl-devel >= 7.32
+%if %{with dpdk} || %{with spdk}
+# also seastar with dpdk support
 BuildRequires: dpdk-devel
 %endif
 BuildRequires: doxygen
@@ -92,8 +106,8 @@ BuildRequires:       gperf
 %{?with_kerberos:BuildRequires:        heimdal-devel}
 %{?with_seastar:BuildRequires: hwloc-devel >= 1.11.2}
 %if %{with java}
-BuildRequires: jdk
-BuildRequires: jre-X11
+%buildrequires_jdk
+BuildRequires: %{?use_jdk:%{use_jdk}-jre-base-X11}%{!?use_jdk:jre-X11}
 %endif
 BuildRequires: keyutils-devel
 BuildRequires: leveldb-devel >= 1.23-2
@@ -111,10 +125,11 @@ BuildRequires:    libnl-devel >= 3.2
 BuildRequires: librdkafka-devel >= 0.9.2
 %{?with_rdma:BuildRequires:    librdmacm-devel}
 %{?with_seastar:BuildRequires: libsctp-devel}
-BuildRequires: libstdc++-devel >= 6:7
+BuildRequires: libstdc++-devel >= 6:11
 %{?with_tcmalloc:BuildRequires:        libtcmalloc-devel >= 2.6.2}
 BuildRequires: libtool >= 2:1.5
 BuildRequires: liburing-devel
+BuildRequires: libutf8proc-devel >= 2.2.0
 BuildRequires: libuuid-devel
 BuildRequires: libxml2-devel >= 2.0
 %{?with_zbd:BuildRequires:     libzbd-devel}
@@ -132,25 +147,27 @@ BuildRequires:    openssl-devel >= 1.1
 BuildRequires: perl-base
 BuildRequires: pkgconfig
 %{?with_pmem:BuildRequires:    pmdk-devel >= 1.10.0}
-BuildRequires: python3 >= 1:3.2
+BuildRequires: python3 >= 1:3.6.0
 BuildRequires: python3-Cython
 BuildRequires: python3-PyYAML
-BuildRequires: python3-devel >= 1:3.2
+BuildRequires: python3-devel >= 1:3.6.0
+BuildRequires: python3-modules >= 1:3.6.0
 %{?with_tests:BuildRequires:   python3-tox >= 2.9.1}
 BuildRequires: rabbitmq-c-devel
 %{?with_seastar:BuildRequires: ragel >= 6.10}
 %{?with_system_rocksdb:BuildRequires:  rocksdb-devel >= 5.14}
-BuildRequires: rpmbuild(macros) >= 1.671
+BuildRequires: rpmbuild(macros) >= 2.021
 %{?with_qat:BuildRequires:     qatlib-devel}
 BuildRequires: sed >= 4.0
 BuildRequires: snappy-devel
 BuildRequires: sphinx-pdg >= 4.4.0
 BuildRequires: sqlite3-devel >= 3
-# >= 0.13.0 wanted, but seems to build with 0.11.0
+# >= 0.13.0 wanted, but seems to build with 0.11.0 when jaeger is disabled
 BuildRequires: thrift-devel
 BuildRequires: udev-devel
 %{?with_dpdk:BuildRequires:    xorg-lib-libpciaccess-devel}
 BuildRequires: xfsprogs-devel
+BuildRequires: xsimd-devel
 %{?with_seastar:BuildRequires: yaml-cpp-devel >= 0.5.1}
 %ifarch %{x8664}
 BuildRequires: yasm
@@ -170,7 +187,7 @@ Obsoletes:  gcephtool < 0.51
 Obsoletes:     hadoop-cephfs < 0.71
 BuildRoot:     %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
 
-%define                skip_post_check_so      libceph_crypto_isal.so.* libceph_lz4.so.* libceph_snappy.so.* libceph_zlib.so.* libceph_zstd.so.* libcls_.*.so.* libec_.*.so.*
+%define                skip_post_check_so      libceph_crypto_isal.so.* libceph_crypto_qat.so.* libceph_lz4.so.* libceph_snappy.so.* libceph_zlib.so.* libceph_zstd.so.* libcls_.*.so.* libec_.*.so.*
 
 %description
 Ceph is a distributed network file system designed to provide
@@ -200,15 +217,15 @@ Summary(pl.UTF-8):        Pliki nagłówkowe bibliotek Cepha
 License:       LGPL v2.1
 Group:         Development/Libraries
 Requires:      %{name}-libs = %{version}-%{release}
-Requires:      boost-devel >= 1.72
-Requires:      curl-devel
+Requires:      boost-devel >= 1.79
+Requires:      curl-devel >= 7.32
 Requires:      expat-devel >= 1.95
 Requires:      fcgi-devel
 Requires:      nss-devel >= 3
 Requires:      leveldb-devel >= 1.23-2
 Requires:      libatomic_ops
 Requires:      libblkid-devel >= 2.17
-Requires:      libstdc++-devel >= 6:7
+Requires:      libstdc++-devel >= 6:11
 Requires:      libuuid-devel
 %{?with_lttng:Requires:        lttng-ust-devel}
 Requires:      openldap-devel
@@ -334,10 +351,16 @@ uruchamiania demonów.
 %endif
 %patch10 -p1
 %patch11 -p1
+%patch12 -p1
+%patch13 -p1
+%patch14 -p1
+%patch15 -p1
+%patch16 -p1
+%patch17 -p1
 
 %{__sed} -i -e '1s,/usr/bin/env bash,/bin/bash,' \
        src/{ceph-post-file.in,rbd-replay-many,rbdmap} \
-       src/rgw/rgw-{gap,orphan}-list
+       src/rgw/{rgw-gap-list,rgw-orphan-list,rgw-restore-bucket-index}
 
 %{__sed} -i -e '1s,/usr/bin/awk,/bin/awk,' \
        src/rgw/rgw-gap-list-comparator
@@ -384,6 +407,7 @@ cd build
        %{?with_dpdk:-DWITH_DPDK=ON} \
        %{?with_fio:-DWITH_FIO=ON} \
        %{?with_kerberos:-DWITH_GSSAPI=ON} \
+       %{!?with_jaeger:-DWITH_JAEGER=OFF} \
        %{!?with_lttng:-DWITH_LTTNG=OFF} \
        -DWITH_LZ4=ON \
        %{!?with_angular:-DWITH_MGR_DASHBOARD_FRONTEND=OFF} \
@@ -431,7 +455,6 @@ ln -sf /dev/null $RPM_BUILD_ROOT%{systemdunitdir}/ceph.service
 cp -p %{SOURCE3} $RPM_BUILD_ROOT%{systemdtmpfilesdir}/ceph.conf
 
 %if %{without tests}
-%{__rm} $RPM_BUILD_ROOT%{_javadir}/libcephfs-test.jar
 %{__rm} -r $RPM_BUILD_ROOT%{py3_sitescriptdir}/{ceph,ceph_volume}/tests
 %endif
 
@@ -482,6 +505,7 @@ fi
 %{systemdunitdir}/ceph.service
 %{systemdunitdir}/ceph.target
 %{systemdunitdir}/ceph-crash.service
+%{systemdunitdir}/ceph-exporter.service
 %{systemdunitdir}/ceph-fuse.target
 %{systemdunitdir}/ceph-fuse@.service
 %{systemdunitdir}/ceph-immutable-object-cache.target
@@ -511,6 +535,7 @@ fi
 %attr(755,root,root) %{_bindir}/ceph-dencoder
 %attr(755,root,root) %{_bindir}/ceph-diff-sorted
 %attr(755,root,root) %{_bindir}/ceph-erasure-code-tool
+%attr(755,root,root) %{_bindir}/ceph-exporter
 %attr(755,root,root) %{_bindir}/ceph-immutable-object-cache
 %attr(755,root,root) %{_bindir}/ceph-kvstore-tool
 %attr(755,root,root) %{_bindir}/ceph-mds
@@ -529,6 +554,10 @@ fi
 %attr(755,root,root) %{_bindir}/cephfs-mirror
 %attr(755,root,root) %{_bindir}/cephfs-table-tool
 %attr(755,root,root) %{_bindir}/cephfs-top
+%if %{with seastore}
+%attr(755,root,root) %{_bindir}/crimson-osd
+%attr(755,root,root) %{_bindir}/crimson-store-nbd
+%endif
 %attr(755,root,root) %{_bindir}/crushdiff
 %attr(755,root,root) %{_bindir}/crushtool
 %attr(755,root,root) %{_bindir}/librados-config
@@ -546,7 +575,10 @@ fi
 %attr(755,root,root) %{_bindir}/rgw-gap-list
 %attr(755,root,root) %{_bindir}/rgw-gap-list-comparator
 %attr(755,root,root) %{_bindir}/rgw-orphan-list
+%attr(755,root,root) %{_bindir}/rgw-restore-bucket-index
+%attr(755,root,root) %{_sbindir}/cephadm
 %attr(755,root,root) %{_sbindir}/ceph-create-keys
+%attr(755,root,root) %{_sbindir}/ceph-node-proxy
 %attr(755,root,root) %{_sbindir}/ceph-volume
 %attr(755,root,root) %{_sbindir}/ceph-volume-systemd
 %attr(755,root,root) /sbin/mount.ceph
@@ -566,6 +598,9 @@ fi
 %attr(755,root,root) %{_libdir}/ceph/crypto/libceph_crypto_isal.so*
 %endif
 %attr(755,root,root) %{_libdir}/ceph/crypto/libceph_crypto_openssl.so*
+%if %{with qat}
+%attr(755,root,root) %{_libdir}/ceph/crypto/libceph_crypto_qat.so*
+%endif
 %dir %{_libdir}/ceph/denc
 %attr(755,root,root) %{_libdir}/ceph/denc/denc-mod-cephfs.so
 %attr(755,root,root) %{_libdir}/ceph/denc/denc-mod-common.so
@@ -591,6 +626,8 @@ fi
 %attr(755,root,root) %{_libdir}/ceph/erasure-code/libec_lrc.so*
 %attr(755,root,root) %{_libdir}/ceph/erasure-code/libec_shec.so*
 %attr(755,root,root) %{_libdir}/ceph/erasure-code/libec_shec_generic.so*
+%dir %{_libdir}/ceph/extblkdev
+%attr(755,root,root) %{_libdir}/ceph/extblkdev/libceph_ebd_vdo.so*
 %dir %{_libdir}/ceph/librbd
 %attr(755,root,root) %{_libdir}/ceph/librbd/libceph_librbd_parent_cache.so*
 %dir %{_libdir}/rados-classes
@@ -690,8 +727,6 @@ fi
 %attr(755,root,root) %ghost %{_libdir}/librados.so.2
 %attr(755,root,root) %{_libdir}/librados_tp.so.*.*.*
 %attr(755,root,root) %ghost %{_libdir}/librados_tp.so.2
-%attr(755,root,root) %{_libdir}/libradosgw.so.*.*.*
-%attr(755,root,root) %ghost %{_libdir}/libradosgw.so.2
 %attr(755,root,root) %{_libdir}/libradosstriper.so.*.*.*
 %attr(755,root,root) %ghost %{_libdir}/libradosstriper.so.1
 %attr(755,root,root) %{_libdir}/librbd.so.*.*.*
@@ -715,7 +750,6 @@ fi
 %attr(755,root,root) %{_libdir}/libosd_tp.so
 %attr(755,root,root) %{_libdir}/librados.so
 %attr(755,root,root) %{_libdir}/librados_tp.so
-%attr(755,root,root) %{_libdir}/libradosgw.so
 %attr(755,root,root) %{_libdir}/libradosstriper.so
 %attr(755,root,root) %{_libdir}/librbd.so
 %attr(755,root,root) %{_libdir}/librbd_tp.so
@@ -741,8 +775,10 @@ fi
 %{py3_sitescriptdir}/ceph_*.py
 %{py3_sitescriptdir}/__pycache__/ceph_*.py*
 %{py3_sitescriptdir}/ceph
-%{py3_sitescriptdir}/ceph_volume
 %{py3_sitescriptdir}/ceph-1.0.0-py*.egg-info
+%{py3_sitescriptdir}/ceph_node_proxy
+%{py3_sitescriptdir}/ceph_node_proxy-1.0.0-py*.egg-info
+%{py3_sitescriptdir}/ceph_volume
 %{py3_sitescriptdir}/ceph_volume-1.0.0-py*.egg-info
 %{py3_sitescriptdir}/cephfs_top-0.0.1-py*.egg-info
 
@@ -767,12 +803,14 @@ fi
 %attr(755,root,root) %{_bindir}/radosgw-es
 %attr(755,root,root) %{_bindir}/radosgw-object-expirer
 %attr(755,root,root) %{_bindir}/radosgw-token
+%attr(755,root,root) %{_bindir}/rgw-policy-check
 %{systemdunitdir}/ceph-radosgw.target
 %{systemdunitdir}/ceph-radosgw@.service
 %{_sysconfdir}/bash_completion.d/radosgw-admin
 %dir %{_localstatedir}/lib/ceph/radosgw
 %{_mandir}/man8/radosgw.8*
 %{_mandir}/man8/radosgw-admin.8*
+%{_mandir}/man8/rgw-policy-check.8*
 
 %files resource-agents
 %defattr(644,root,root,755)
This page took 0.099172 seconds and 4 git commands to generate.