]> git.pld-linux.org Git - packages/ceph.git/blobdiff - ceph.spec
- updated dependencies
[packages/ceph.git] / ceph.spec
index b43d74e64dd54631807f303b02dda5861558393f..334b4c64afcafe8d7886aeb820bc616d3206fe6b 100644 (file)
--- a/ceph.spec
+++ b/ceph.spec
@@ -2,16 +2,19 @@
 # - proper init scripts if non-systemd boot is too be supported
 #   (upstream scripts seem overcomplicated and hardly useful)
 # - run as non-root user
+# - build selinux policy (-DWITH_SELINUX=ON)
+# - package sphinx docs (from doc/)
 #
 # Note on versioning: http://docs.ceph.com/docs/master/releases/
 #
 # Conditional build:
 %bcond_without java            # Java binding
 %bcond_with    accelio         # Accelio transport support [needs update for internal API changes]
+%bcond_with    angular         # Angular-based mgr/dashboard frontend (built using npm, too outdated currently)
 %bcond_with    cryptopp        # use cryptopp instead of NSS crypto/SSL
 %bcond_with    dpdk            # DPDK messaging (requires cryptopp instead of nss)
 %bcond_without fcgi            # RADOS Gateway FCGI frontend
-%bcond_without fio             # FIO engines support
+%bcond_with    fio             # FIO engines support
 %bcond_without pmem            # PMDK (persistent memory) support
 %bcond_with    spdk            # Ceph SPDK support (DPDK based)
 %bcond_without system_rocksdb  # system RocksDB storage support
@@ -19,6 +22,7 @@
 %bcond_without lttng           # LTTng tracing
 %bcond_without babeltrace      # Babeltrace traces support
 %bcond_without tcmalloc        # tcmalloc allocator
+%bcond_with    tests           # build tests
 
 %ifarch x32
 %undefine      with_tcmalloc
 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:       12.2.13
-Release:       3
+Version:       13.2.10
+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: 38bd01cf8224c9ca081298e19ab6e5a1
+# Source0-md5: 4dfcd8bf2cbbc90ac3bc70cbb2992fa9
 Source1:       ceph.sysconfig
 Source3:       ceph.tmpfiles
 Patch0:                %{name}-init-fix.patch
@@ -54,9 +58,9 @@ Patch10:      %{name}-includes.patch
 URL:           https://ceph.io/
 %{?with_accelio:BuildRequires: accelio-devel}
 %{?with_babeltrace:BuildRequires:      babeltrace-devel}
-BuildRequires: boost-devel >= 1.66
-BuildRequires: boost-python-devel >= 1.66
-BuildRequires: cmake >= 2.8.11
+BuildRequires: boost-devel >= 1.67
+BuildRequires: boost-python-devel >= 1.67
+BuildRequires: cmake >= 2.8.12
 %{?with_cryptopp:BuildRequires:        cryptopp-devel}
 BuildRequires: curl-devel
 %if %{with dpdk} || %{with spdk}
@@ -80,13 +84,14 @@ BuildRequires:      libfuse-devel
 %{?with_accelio:BuildRequires: libibverbs-devel}
 BuildRequires: libltdl-devel
 %{?with_accelio:BuildRequires: librdmacm-devel}
-BuildRequires: libstdc++-devel >= 6:4.7
+BuildRequires: libstdc++-devel >= 6:7
 %{?with_tcmalloc:BuildRequires:        libtcmalloc-devel}
 BuildRequires: libtool >= 2:1.5
 BuildRequires: libuuid-devel
 BuildRequires: libxml2-devel >= 2.0
 %{?with_lttng:BuildRequires:   lttng-ust-devel}
 BuildRequires: lz4-devel >= 1:1.7
+%{?with_angular:BuildRequires: npm}
 %{!?with_cryptopp:BuildRequires:       nss-devel >= 3}
 BuildRequires: openldap-devel
 BuildRequires: openssl-devel
@@ -98,8 +103,7 @@ BuildRequires:       python-devel >= 1:2.7
 BuildRequires: python-Cython
 BuildRequires: python3-devel >= 1:3.2
 BuildRequires: python3-Cython
-# upstream uses 3.0.0, rocksdb patch adjusts for 5.6.0 API change
-%{?with_system_rocksdb:BuildRequires:  rocksdb-devel >= 5.6.0}
+%{?with_system_rocksdb:BuildRequires:  rocksdb-devel >= 5.8}
 BuildRequires: rpmbuild(macros) >= 1.671
 BuildRequires: sed >= 4.0
 BuildRequires: snappy-devel
@@ -119,8 +123,8 @@ Requires(preun):    rc-scripts
 Requires:      %{name}-libs = %{version}-%{release}
 Requires:      python-%{name} = %{version}-%{release}
 Requires:      systemd-units >= 38
-Obsoletes:     gcephtool
-Obsoletes:     hadoop-cephfs
+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.*
@@ -150,7 +154,7 @@ 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.66
+Requires:      boost-devel >= 1.67
 Requires:      curl-devel
 Requires:      expat-devel
 Requires:      fcgi-devel
@@ -158,7 +162,7 @@ Requires:   nss-devel >= 3
 Requires:      leveldb-devel
 Requires:      libatomic_ops
 Requires:      libblkid-devel >= 2.17
-Requires:      libstdc++-devel >= 6:4.7
+Requires:      libstdc++-devel >= 6:7
 Requires:      libuuid-devel
 %{?with_lttng:Requires:        lttng-ust-devel}
 Requires:      openldap-devel
@@ -249,6 +253,18 @@ OCF Resource Agents for Ceph processes.
 %description resource-agents -l pl.UTF-8
 Agenci OCF do monitorowania procesów Cepha.
 
+%package test
+Summary:       Ceph benchmarks and test tools
+Summary(pl.UTF-8):     Narzędzia testowe oraz do mierzenia wydajności dla Ceph
+Group:         Applications/System
+Requires:      %{name} = %{version}-%{release}
+
+%description test
+Ceph benchmarks and test tools.
+
+%description test -l pl.UTF-8
+Narzędzia testowe oraz do mierzenia wydajności dla Ceph.
+
 %package -n fio-ceph-objectstore
 Summary:       FIO engine module for Ceph ObjectStore
 Summary(pl.UTF-8):     Moduł silnika FIO do używania Ceph ObjectStore
@@ -281,10 +297,25 @@ uruchamiania demonów.
 %patch10 -p1
 
 %{__sed} -i -e '1s,/usr/bin/env python$,%{__python},' \
-       src/{ceph-create-keys,ceph-rest-api,mount.fuse.ceph} \
-       src/brag/client/ceph-brag \
+       src/{ceph-create-keys,mount.fuse.ceph} \
        src/ceph-disk/ceph_disk/main.py
 
+%{__sed} -i -e '1s,/usr/bin/env bash,/bin/bash,' \
+       src/{ceph-post-file.in,rbd-replay-many,rbdmap}
+
+%if %{with angular}
+# stub virtualenv with npm for src/pybind/mgr/dashboard bootstrapping
+install -d build/src/pybind/mgr/dashboard/node-env/bin
+ln -sf /usr/bin/npm build/src/pybind/mgr/dashboard/node-env/bin/npm
+cat >build/src/pybind/mgr/dashboard/node-env/bin/activate <<EOF
+deactivate() {
+    unset -f deactivate
+}
+EOF
+# 4.11.0 no longer downloadable, adjust to nearest existing
+%{__sed} -i -e '/"node-sass"/ s/4\.11\.0/4.13.1/' src/pybind/mgr/dashboard/frontend/package-lock.json
+%endif
+
 %build
 install -d build
 cd build
@@ -299,6 +330,7 @@ cd build
        %{?with_fio:-DWITH_FIO=ON} \
        %{!?with_lttng:-DWITH_LTTNG=OFF} \
        -DWITH_LZ4=ON \
+       %{!?with_angular:-DWITH_MGR_DASHBOARD_FRONTEND=OFF} \
        %{?with_cryptopp:-DWITH_NSS=OFF} \
        -DWITH_OCF=ON \
        %{?with_pmem:-DWITH_PMEM=ON} \
@@ -308,7 +340,16 @@ cd build
        %{?with_system_rocksdb:-DWITH_SYSTEM_ROCKSDB=ON} \
        -DWITH_SYSTEMD=ON \
        %{?with_accelio:-DWITH_XIO=ON} \
-       %{?with_zfs:-DWITH_ZFS=ON}
+       %{?with_zfs:-DWITH_ZFS=ON} \
+       -DWITH_REENTRANT_STRSIGNAL=ON \
+       %{!?with_tests:-DWITH_TESTS=OFF}
+#      -DWITH_MANPAGE=ON \
+#      -DWITH_PYTHON2=ON \
+#      -DWITH_PYTHON3=ON \
+
+# required by xfs headers (for off64_t)
+#CPPFLAGS="%{rpmcppflags} -D_FILE_OFFSET_BITS=64"
+
 
 %{__make}
 
@@ -339,12 +380,17 @@ cp -p %{SOURCE3} $RPM_BUILD_ROOT%{systemdtmpfilesdir}/ceph.conf
 %py3_comp $RPM_BUILD_ROOT%{py3_sitescriptdir}
 %py3_ocomp $RPM_BUILD_ROOT%{py3_sitescriptdir}
 
+%if %{with tests}
 # tests
 %{__rm} $RPM_BUILD_ROOT%{_bindir}/ceph_test_*
+%endif
 # packaged as %doc
 %{__rm} $RPM_BUILD_ROOT%{_docdir}/sample.ceph.conf
 # cleanup
-%{__rm} $RPM_BUILD_ROOT%{_libdir}/ceph/mgr/{.gitignore,dashboard/HACKING.rst,dashboard/static/AdminLTE-2.3.7/{.gitignore,.jshintrc,README.md}}
+%{__rm} $RPM_BUILD_ROOT%{_libdir}/ceph/mgr/dashboard/HACKING.rst
+%if %{with angular}
+%{__rm} $RPM_BUILD_ROOT%{_libdir}/ceph/mgr/{.gitignore,dashboard/static/AdminLTE-2.3.7/{.gitignore,.jshintrc,README.md}}
+%endif
 
 %clean
 rm -rf $RPM_BUILD_ROOT
@@ -375,12 +421,13 @@ fi
 %files
 %defattr(644,root,root,755)
 # COPYING specifies licenses of individual parts
-%doc AUTHORS COPYING PendingReleaseNotes README.md src/sample.ceph.conf doc/{release-notes,releases}.rst
+%doc AUTHORS COPYING PendingReleaseNotes README.md src/sample.ceph.conf doc/releases
 %attr(754,root,root) /etc/rc.d/init.d/ceph
 %config(noreplace) /etc/sysconfig/ceph
 %dir /etc/systemd/system/ceph.target.wants
 %{systemdunitdir}/ceph.service
 %{systemdunitdir}/ceph.target
+%{systemdunitdir}/ceph-crash.service
 %{systemdunitdir}/ceph-disk@.service
 %{systemdunitdir}/ceph-fuse.target
 %{systemdunitdir}/ceph-fuse@.service
@@ -401,13 +448,9 @@ fi
 %attr(755,root,root) %{_bindir}/ceph
 %attr(755,root,root) %{_bindir}/ceph-authtool
 %attr(755,root,root) %{_bindir}/ceph-bluestore-tool
-%attr(755,root,root) %{_bindir}/ceph-brag
-%attr(755,root,root) %{_bindir}/ceph-client-debug
 %attr(755,root,root) %{_bindir}/ceph-clsinfo
 %attr(755,root,root) %{_bindir}/ceph-conf
-%attr(755,root,root) %{_bindir}/ceph-coverage
-%attr(755,root,root) %{_bindir}/ceph-crush-location
-%attr(755,root,root) %{_bindir}/ceph-debugpack
+%attr(755,root,root) %{_bindir}/ceph-crash
 %attr(755,root,root) %{_bindir}/ceph-dencoder
 %attr(755,root,root) %{_bindir}/ceph-detect-init
 %attr(755,root,root) %{_bindir}/ceph-kvstore-tool
@@ -420,32 +463,8 @@ fi
 %attr(755,root,root) %{_bindir}/ceph-osdomap-tool
 %attr(755,root,root) %{_bindir}/ceph-post-file
 %attr(755,root,root) %{_bindir}/ceph-rbdnamer
-%attr(755,root,root) %{_bindir}/ceph-rest-api
 %attr(755,root,root) %{_bindir}/ceph-run
 %attr(755,root,root) %{_bindir}/ceph-syn
-%attr(755,root,root) %{_bindir}/ceph_bench_log
-%attr(755,root,root) %{_bindir}/ceph_erasure_code
-%attr(755,root,root) %{_bindir}/ceph_erasure_code_benchmark
-%attr(755,root,root) %{_bindir}/ceph_kvstorebench
-%attr(755,root,root) %{_bindir}/ceph_multi_stress_watch
-%attr(755,root,root) %{_bindir}/ceph_objectstore_bench
-%attr(755,root,root) %{_bindir}/ceph_omapbench
-%attr(755,root,root) %{_bindir}/ceph_perf_local
-%attr(755,root,root) %{_bindir}/ceph_perf_msgr_client
-%attr(755,root,root) %{_bindir}/ceph_perf_msgr_server
-%attr(755,root,root) %{_bindir}/ceph_perf_objectstore
-%attr(755,root,root) %{_bindir}/ceph_psim
-%attr(755,root,root) %{_bindir}/ceph_radosacl
-%attr(755,root,root) %{_bindir}/ceph_rgw_jsonparser
-%attr(755,root,root) %{_bindir}/ceph_rgw_multiparser
-%attr(755,root,root) %{_bindir}/ceph_scratchtool
-%attr(755,root,root) %{_bindir}/ceph_scratchtoolpp
-%attr(755,root,root) %{_bindir}/ceph_smalliobench
-%attr(755,root,root) %{_bindir}/ceph_smalliobenchdumb
-%attr(755,root,root) %{_bindir}/ceph_smalliobenchfs
-%attr(755,root,root) %{_bindir}/ceph_smalliobenchrbd
-%attr(755,root,root) %{_bindir}/ceph_tpbench
-%attr(755,root,root) %{_bindir}/ceph_xattr_bench
 %attr(755,root,root) %{_bindir}/cephfs-data-scan
 %attr(755,root,root) %{_bindir}/cephfs-journal-tool
 %attr(755,root,root) %{_bindir}/cephfs-table-tool
@@ -473,7 +492,6 @@ fi
 %endif
 %{_libexecdir}/ceph/ceph_common.sh
 %attr(755,root,root) %{_libexecdir}/ceph/ceph-osd-prestart.sh
-%attr(755,root,root) %{_libdir}/ceph/ceph-monstore-update-crush.sh
 %{_libdir}/ceph/mgr
 %dir %{_libdir}/ceph/compressor
 %attr(755,root,root) %{_libdir}/ceph/compressor/libceph_lz4.so*
@@ -513,6 +531,7 @@ fi
 %attr(755,root,root) %{_libdir}/rados-classes/libcls_log.so*
 %attr(755,root,root) %{_libdir}/rados-classes/libcls_lua.so*
 %attr(755,root,root) %{_libdir}/rados-classes/libcls_numops.so*
+%attr(755,root,root) %{_libdir}/rados-classes/libcls_otp.so*
 %attr(755,root,root) %{_libdir}/rados-classes/libcls_rbd.so*
 %attr(755,root,root) %{_libdir}/rados-classes/libcls_refcount.so*
 %attr(755,root,root) %{_libdir}/rados-classes/libcls_replica_log.so*
@@ -533,7 +552,6 @@ fi
 %{_mandir}/man8/ceph-clsinfo.8*
 %{_mandir}/man8/ceph-conf.8*
 %{_mandir}/man8/ceph-create-keys.8*
-%{_mandir}/man8/ceph-debugpack.8*
 %{_mandir}/man8/ceph-dencoder.8*
 %{_mandir}/man8/ceph-deploy.8*
 %{_mandir}/man8/ceph-detect-init.8*
@@ -544,7 +562,6 @@ fi
 %{_mandir}/man8/ceph-osd.8*
 %{_mandir}/man8/ceph-post-file.8*
 %{_mandir}/man8/ceph-rbdnamer.8*
-%{_mandir}/man8/ceph-rest-api.8*
 %{_mandir}/man8/ceph-run.8*
 %{_mandir}/man8/ceph-syn.8*
 %{_mandir}/man8/ceph-volume.8*
@@ -598,6 +615,10 @@ fi
 %attr(755,root,root) %ghost %{_libdir}/librbd_tp.so.1
 %attr(755,root,root) %{_libdir}/librgw.so.*.*.*
 %attr(755,root,root) %ghost %{_libdir}/librgw.so.2
+%attr(755,root,root) %{_libdir}/librgw_op_tp.so.*.*.*
+%attr(755,root,root) %ghost %{_libdir}/librgw_op_tp.so.1
+%attr(755,root,root) %{_libdir}/librgw_rados_tp.so.*.*.*
+%attr(755,root,root) %ghost %{_libdir}/librgw_rados_tp.so.1
 %dir %{_libdir}/ceph
 %attr(755,root,root) %{_libdir}/ceph/libceph-common.so.0
 
@@ -612,6 +633,8 @@ fi
 %attr(755,root,root) %{_libdir}/librbd.so
 %attr(755,root,root) %{_libdir}/librbd_tp.so
 %attr(755,root,root) %{_libdir}/librgw.so
+%attr(755,root,root) %{_libdir}/librgw_op_tp.so
+%attr(755,root,root) %{_libdir}/librgw_rados_tp.so
 %attr(755,root,root) %{_libdir}/ceph/libceph-common.so
 %{_includedir}/cephfs
 %{_includedir}/rados
@@ -636,9 +659,9 @@ fi
 %{py_sitedir}/rgw-2.0.0-py*.egg-info
 %{py_sitescriptdir}/ceph_argparse.py[co]
 %{py_sitescriptdir}/ceph_daemon.py[co]
-%{py_sitescriptdir}/ceph_rest_api.py[co]
 %{py_sitescriptdir}/ceph_volume_client.py[co]
 
+%if 0
 %files -n python3-ceph
 %defattr(644,root,root,755)
 %attr(755,root,root) %{py3_sitedir}/cephfs.cpython-*.so
@@ -655,6 +678,7 @@ fi
 %{py3_sitescriptdir}/__pycache__/ceph_argparse.cpython-*.py[co]
 %{py3_sitescriptdir}/__pycache__/ceph_daemon.cpython-*.py[co]
 %{py3_sitescriptdir}/__pycache__/ceph_volume_client.cpython-*.py[co]
+%endif
 
 %if %{with java}
 %files -n java-cephfs
@@ -690,6 +714,44 @@ fi
 %dir %{_prefix}/lib/ocf/resource.d/ceph
 %attr(755,root,root) %{_prefix}/lib/ocf/resource.d/ceph/rbd
 
+%if %{with test}
+%files test
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_bindir}/ceph-client-debug
+%attr(755,root,root) %{_bindir}/ceph-coverage
+%attr(755,root,root) %{_bindir}/ceph-debugpack
+%attr(755,root,root) %{_bindir}/ceph-kvstore-tool
+%attr(755,root,root) %{_bindir}/ceph-monstore-tool
+%attr(755,root,root) %{_bindir}/ceph-osdomap-tool
+%attr(755,root,root) %{_bindir}/ceph_bench_log
+%attr(755,root,root) %{_bindir}/ceph_erasure_code
+%attr(755,root,root) %{_bindir}/ceph_erasure_code_benchmark
+%attr(755,root,root) %{_bindir}/ceph_kvstorebench
+%attr(755,root,root) %{_bindir}/ceph_multi_stress_watch
+%attr(755,root,root) %{_bindir}/ceph_objectstore_bench
+%attr(755,root,root) %{_bindir}/ceph_omapbench
+%attr(755,root,root) %{_bindir}/ceph_perf_local
+%attr(755,root,root) %{_bindir}/ceph_perf_msgr_client
+%attr(755,root,root) %{_bindir}/ceph_perf_msgr_server
+%attr(755,root,root) %{_bindir}/ceph_perf_objectstore
+%attr(755,root,root) %{_bindir}/ceph_psim
+%attr(755,root,root) %{_bindir}/ceph_radosacl
+%attr(755,root,root) %{_bindir}/ceph_rgw_jsonparser
+%attr(755,root,root) %{_bindir}/ceph_rgw_multiparser
+%attr(755,root,root) %{_bindir}/ceph_scratchtool
+%attr(755,root,root) %{_bindir}/ceph_scratchtoolpp
+%attr(755,root,root) %{_bindir}/ceph_smalliobench
+%attr(755,root,root) %{_bindir}/ceph_smalliobenchdumb
+%attr(755,root,root) %{_bindir}/ceph_smalliobenchfs
+%attr(755,root,root) %{_bindir}/ceph_smalliobenchrbd
+%attr(755,root,root) %{_bindir}/ceph_test_*
+%attr(755,root,root) %{_bindir}/ceph_tpbench
+%attr(755,root,root) %{_bindir}/ceph_xattr_bench
+%attr(755,root,root) %{_libdir}/ceph/ceph-monstore-update-crush.sh
+%{_mandir}/man8/ceph-debugpack.8*
+%{_mandir}/man8/ceph-kvstore-tool.8*
+%endif
+
 %if %{with fio}
 %files -n fio-ceph-objectstore
 %defattr(644,root,root,755)
This page took 0.05348 seconds and 4 git commands to generate.