diff --git a/ceph-14.1.0-559-gf1a72cff25.tar.bz2 b/ceph-14.1.0-559-gf1a72cff25.tar.bz2 index 9320d8c..e218156 100644 --- a/ceph-14.1.0-559-gf1a72cff25.tar.bz2 +++ b/ceph-14.1.0-559-gf1a72cff25.tar.bz2 @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:7b317bc63e1fe86e4db0e77b6613970bd6a495f28f9b01d2e9edd2189904df81 -size 96538856 +oid sha256:cd7b08ae1c7936b9f48bdcb7c2240602b78afdb42a35a9d0dd3db1eb40e6c3e9 +size 96591043 diff --git a/ceph-test.spec b/ceph-test.spec index 839bcd3..7cbec4d 100644 --- a/ceph-test.spec +++ b/ceph-test.spec @@ -1,24 +1,25 @@ # # spec file for package ceph # -# Copyright (c) 2019 SUSE LINUX GmbH, Nuernberg, Germany. # Copyright (C) 2004-2017 The Ceph Project Developers. See COPYING file # at the top-level directory of this distribution and at # https://github.com/ceph/ceph/blob/master/COPYING # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed -# upon. The license for this file, and modifications and additions to the -# file, is the same license as for the pristine package itself (unless the -# license for the pristine package is not an Open Source License, in which -# case the license is the MIT License). An "Open Source License" is a -# license that conforms to the Open Source Definition (Version 1.9) -# published by the Open Source Initiative. - -# Please submit bugfixes or comments via http://bugs.opensuse.org/ +# upon. +# +# This file is under the GNU Lesser General Public License, version 2.1 +# +# Please submit bugfixes or comments via http://tracker.ceph.com/ # - +################################################################################# +# conditional build section +# +# please read http://rpm.org/user_doc/conditional_builds.html for explanation of +# bcond syntax! +################################################################################# %bcond_without ocf %bcond_with make_check %ifarch s390 s390x @@ -99,16 +100,17 @@ Name: ceph-test Version: 14.1.0.559+gf1a72cff25 Release: 0%{?dist} %if 0%{?fedora} || 0%{?rhel} +Epoch: 2 %endif # define _epoch_prefix macro which will expand to the empty string if epoch is # undefined -%global _epoch_prefix %{?epoch:} +%global _epoch_prefix %{?epoch:%{epoch}:} Summary: Ceph benchmarks and test tools -License: LGPL-2.1-only AND CC-BY-SA-3.0 AND GPL-2.0-only AND BSL-1.0 AND BSD-3-Clause AND MIT -Group: System/Filesystems +License: LGPL-2.1 and CC-BY-SA-3.0 and GPL-2.0 and BSL-1.0 and BSD-3-Clause and MIT %if 0%{?suse_version} +Group: System/Filesystems %endif URL: http://ceph.com/ Source0: %{?_remote_tarball_prefix}ceph-14.1.0-559-gf1a72cff25.tar.bz2 @@ -128,88 +130,88 @@ ExclusiveArch: x86_64 aarch64 ppc64le Requires: ceph-common +Requires: xmlstarlet Requires: jq Requires: socat -Requires: xmlstarlet Requires(post): binutils %if 0%{with cephfs_java} -BuildRequires: java-devel -BuildRequires: sharutils +BuildRequires: java-devel +BuildRequires: sharutils %endif %if 0%{with selinux} -BuildRequires: checkpolicy -BuildRequires: selinux-policy-devel +BuildRequires: checkpolicy +BuildRequires: selinux-policy-devel %endif -BuildRequires: gperf +BuildRequires: gperf %if 0%{?rhel} == 7 BuildRequires: cmake3 > 3.5 %else BuildRequires: cmake > 3.5 %endif -BuildRequires: cryptsetup -BuildRequires: fuse-devel +BuildRequires: cryptsetup +BuildRequires: fuse-devel %if 0%{?rhel} == 7 # devtoolset offers newer make and valgrind-devel, but the old ones are good # enough. -BuildRequires: devtoolset-7-gcc-c++ >= 7.3.1-5.13 +BuildRequires: devtoolset-7-gcc-c++ >= 7.3.1-5.13 %else -BuildRequires: gcc-c++ +BuildRequires: gcc-c++ %endif -BuildRequires: gdbm +BuildRequires: gdbm %if 0%{with tcmalloc} %if 0%{?fedora} || 0%{?rhel} -BuildRequires: gperftools-devel >= 2.6.1 +BuildRequires: gperftools-devel >= 2.6.1 %endif %if 0%{?suse_version} -BuildRequires: gperftools-devel >= 2.4 +BuildRequires: gperftools-devel >= 2.4 %endif %endif -BuildRequires: leveldb-devel > 1.2 -BuildRequires: libaio-devel -BuildRequires: libblkid-devel >= 2.17 -BuildRequires: libcurl-devel -BuildRequires: liboath-devel -BuildRequires: libtool -BuildRequires: libudev-devel -BuildRequires: libuuid-devel -BuildRequires: libxml2-devel -BuildRequires: make -BuildRequires: ncurses-devel -BuildRequires: parted -BuildRequires: perl -BuildRequires: pkgconfig +BuildRequires: leveldb-devel > 1.2 +BuildRequires: libaio-devel +BuildRequires: libblkid-devel >= 2.17 +BuildRequires: libcurl-devel +BuildRequires: libudev-devel +BuildRequires: liboath-devel +BuildRequires: libtool +BuildRequires: libxml2-devel +BuildRequires: libuuid-devel +BuildRequires: make +BuildRequires: ncurses-devel +BuildRequires: parted +BuildRequires: perl +BuildRequires: pkgconfig BuildRequires: procps -BuildRequires: python%{_python_buildid} -BuildRequires: python%{_python_buildid}-devel -BuildRequires: snappy-devel -BuildRequires: sudo -BuildRequires: udev -BuildRequires: util-linux -BuildRequires: valgrind-devel -BuildRequires: which -BuildRequires: xfsprogs -BuildRequires: xfsprogs-devel -BuildRequires: xmlstarlet -BuildRequires: yasm +BuildRequires: python%{_python_buildid} +BuildRequires: python%{_python_buildid}-devel +BuildRequires: snappy-devel +BuildRequires: sudo +BuildRequires: udev +BuildRequires: util-linux +BuildRequires: valgrind-devel +BuildRequires: which +BuildRequires: xfsprogs +BuildRequires: xfsprogs-devel +BuildRequires: xmlstarlet +BuildRequires: yasm %if 0%{with amqp_endpoint} BuildRequires: librabbitmq-devel %endif %if 0%{with make_check} BuildRequires: jq -BuildRequires: python%{_python_buildid}-bcrypt -BuildRequires: python%{_python_buildid}-coverage -BuildRequires: python%{_python_buildid}-nose -BuildRequires: python%{_python_buildid}-pecan -BuildRequires: python%{_python_buildid}-requests -BuildRequires: python%{_python_buildid}-six -BuildRequires: python%{_python_buildid}-tox -BuildRequires: python%{_python_buildid}-virtualenv +BuildRequires: python%{_python_buildid}-bcrypt +BuildRequires: python%{_python_buildid}-coverage +BuildRequires: python%{_python_buildid}-nose +BuildRequires: python%{_python_buildid}-pecan +BuildRequires: python%{_python_buildid}-requests +BuildRequires: python%{_python_buildid}-six +BuildRequires: python%{_python_buildid}-tox +BuildRequires: python%{_python_buildid}-virtualenv %if 0%{?rhel} == 7 BuildRequires: pyOpenSSL%{_python_buildid} %else BuildRequires: python%{_python_buildid}-pyOpenSSL %endif -BuildRequires: socat +BuildRequires: socat %endif %if 0%{with seastar} BuildRequires: c-ares-devel @@ -226,88 +228,88 @@ BuildRequires: yaml-cpp-devel # distro-conditional dependencies ################################################################################# %if 0%{?suse_version} -BuildRequires: systemd -BuildRequires: systemd-rpm-macros BuildRequires: pkgconfig(systemd) +BuildRequires: systemd-rpm-macros +BuildRequires: systemd %{?systemd_requires} -PreReq: %fillup_prereq -BuildRequires: keyutils-devel -BuildRequires: libbz2-devel +PreReq: %fillup_prereq +BuildRequires: net-tools +BuildRequires: libbz2-devel +BuildRequires: mozilla-nss-devel +BuildRequires: keyutils-devel BuildRequires: libopenssl-devel BuildRequires: lsb-release -BuildRequires: mozilla-nss-devel -BuildRequires: net-tools BuildRequires: openldap2-devel #BuildRequires: krb5 #BuildRequires: krb5-devel BuildRequires: cunit-devel -BuildRequires: liblz4-devel >= 1.7 -BuildRequires: python%{_python_buildid}-Cython -BuildRequires: python%{_python_buildid}-PrettyTable -BuildRequires: python%{_python_buildid}-Sphinx -BuildRequires: python%{_python_buildid}-setuptools +BuildRequires: python%{_python_buildid}-setuptools +BuildRequires: python%{_python_buildid}-Cython +BuildRequires: python%{_python_buildid}-PrettyTable +BuildRequires: python%{_python_buildid}-Sphinx BuildRequires: rdma-core-devel +BuildRequires: liblz4-devel >= 1.7 %endif %if 0%{?fedora} || 0%{?rhel} BuildRequires: boost-random -BuildRequires: keyutils-libs-devel -BuildRequires: libibverbs-devel +BuildRequires: nss-devel +BuildRequires: keyutils-libs-devel +BuildRequires: libibverbs-devel BuildRequires: librdmacm-devel -BuildRequires: nss-devel BuildRequires: openldap-devel #BuildRequires: krb5-devel -BuildRequires: CUnit-devel BuildRequires: openssl-devel +BuildRequires: CUnit-devel BuildRequires: redhat-lsb-core %if 0%{?rhel} == 7 -BuildRequires: Cython -BuildRequires: python34-Cython -BuildRequires: python34-devel -BuildRequires: python34-setuptools +BuildRequires: Cython +BuildRequires: python34-devel +BuildRequires: python34-setuptools +BuildRequires: python34-Cython %else -BuildRequires: python3-Cython -BuildRequires: python3-devel -BuildRequires: python3-setuptools +BuildRequires: python3-devel +BuildRequires: python3-setuptools +BuildRequires: python3-Cython %endif -BuildRequires: lz4-devel >= 1.7 -BuildRequires: python%{_python_buildid}-prettytable -BuildRequires: python%{_python_buildid}-sphinx +BuildRequires: python%{_python_buildid}-prettytable +BuildRequires: python%{_python_buildid}-sphinx +BuildRequires: lz4-devel >= 1.7 %endif # distro-conditional make check dependencies %if 0%{with make_check} %if 0%{?fedora} || 0%{?rhel} -BuildRequires: python%{_python_buildid}-cherrypy -BuildRequires: python%{_python_buildid}-jwt -BuildRequires: python%{_python_buildid}-routes -BuildRequires: python%{_python_buildid}-werkzeug +BuildRequires: python%{_python_buildid}-cherrypy +BuildRequires: python%{_python_buildid}-jwt +BuildRequires: python%{_python_buildid}-routes +BuildRequires: python%{_python_buildid}-werkzeug BuildRequires: xmlsec1 %endif %if 0%{?suse_version} -BuildRequires: python%{_python_buildid}-CherryPy -BuildRequires: python%{_python_buildid}-PyJWT -BuildRequires: python%{_python_buildid}-Routes -BuildRequires: python%{_python_buildid}-Werkzeug -BuildRequires: python%{_python_buildid}-numpy-devel +BuildRequires: python%{_python_buildid}-CherryPy +BuildRequires: python%{_python_buildid}-PyJWT +BuildRequires: python%{_python_buildid}-Routes +BuildRequires: python%{_python_buildid}-Werkzeug +BuildRequires: python%{_python_buildid}-numpy-devel BuildRequires: xmlsec1-devel %endif %endif # lttng and babeltrace for rbd-replay-prep %if %{with lttng} %if 0%{?fedora} || 0%{?rhel} -BuildRequires: libbabeltrace-devel -BuildRequires: lttng-ust-devel +BuildRequires: lttng-ust-devel +BuildRequires: libbabeltrace-devel %endif %if 0%{?suse_version} +BuildRequires: lttng-ust-devel BuildRequires: babeltrace-devel -BuildRequires: lttng-ust-devel %endif %endif %if 0%{?suse_version} -BuildRequires: libexpat-devel +BuildRequires: libexpat-devel %endif %if 0%{?rhel} || 0%{?fedora} -BuildRequires: expat-devel +BuildRequires: expat-devel %endif #hardened-cc1 %if 0%{?fedora} || 0%{?rhel} @@ -610,6 +612,7 @@ ${CMAKE} .. \ make "$CEPH_MFLAGS_JOBS" + %if 0%{with make_check} %check # run in-tree unittests @@ -617,6 +620,7 @@ cd build ctest "$CEPH_MFLAGS_JOBS" %endif + %install pushd build make DESTDIR=%{buildroot} install @@ -1107,3 +1111,4 @@ rm -rf %{buildroot} %if 0%{?suse_version} %endif %changelog +# nospeccleaner diff --git a/ceph.spec b/ceph.spec index eee0d45..36639ac 100644 --- a/ceph.spec +++ b/ceph.spec @@ -1,24 +1,25 @@ # # spec file for package ceph # -# Copyright (c) 2019 SUSE LINUX GmbH, Nuernberg, Germany. # Copyright (C) 2004-2017 The Ceph Project Developers. See COPYING file # at the top-level directory of this distribution and at # https://github.com/ceph/ceph/blob/master/COPYING # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed -# upon. The license for this file, and modifications and additions to the -# file, is the same license as for the pristine package itself (unless the -# license for the pristine package is not an Open Source License, in which -# case the license is the MIT License). An "Open Source License" is a -# license that conforms to the Open Source Definition (Version 1.9) -# published by the Open Source Initiative. - -# Please submit bugfixes or comments via http://bugs.opensuse.org/ +# upon. +# +# This file is under the GNU Lesser General Public License, version 2.1 +# +# Please submit bugfixes or comments via http://tracker.ceph.com/ # - +################################################################################# +# conditional build section +# +# please read http://rpm.org/user_doc/conditional_builds.html for explanation of +# bcond syntax! +################################################################################# %bcond_without ocf %bcond_with make_check %ifarch s390 s390x @@ -95,23 +96,24 @@ ################################################################################# # main package definition ################################################################################# -Name: ceph -Version: 14.1.0.559+gf1a72cff25 -Release: 0%{?dist} +Name: ceph +Version: 14.1.0.559+gf1a72cff25 +Release: 0%{?dist} %if 0%{?fedora} || 0%{?rhel} +Epoch: 2 %endif # define _epoch_prefix macro which will expand to the empty string if epoch is # undefined -%global _epoch_prefix %{?epoch:} +%global _epoch_prefix %{?epoch:%{epoch}:} -Summary: User space components of the Ceph file system -License: LGPL-2.1-only AND CC-BY-SA-3.0 AND GPL-2.0-only AND BSL-1.0 AND BSD-3-Clause AND MIT -Group: System/Filesystems +Summary: User space components of the Ceph file system +License: LGPL-2.1 and CC-BY-SA-3.0 and GPL-2.0 and BSL-1.0 and BSD-3-Clause and MIT %if 0%{?suse_version} +Group: System/Filesystems %endif -URL: http://ceph.com/ -Source0: %{?_remote_tarball_prefix}ceph-14.1.0-559-gf1a72cff25.tar.bz2 +URL: http://ceph.com/ +Source0: %{?_remote_tarball_prefix}ceph-14.1.0-559-gf1a72cff25.tar.bz2 %if 0%{?suse_version} # _insert_obs_source_lines_here ExclusiveArch: x86_64 aarch64 ppc64le s390x @@ -119,89 +121,89 @@ ExclusiveArch: x86_64 aarch64 ppc64le s390x ################################################################################# # dependencies that apply across all distro families ################################################################################# +Requires: ceph-osd = %{_epoch_prefix}%{version}-%{release} Requires: ceph-mds = %{_epoch_prefix}%{version}-%{release} Requires: ceph-mgr = %{_epoch_prefix}%{version}-%{release} Requires: ceph-mon = %{_epoch_prefix}%{version}-%{release} -Requires: ceph-osd = %{_epoch_prefix}%{version}-%{release} Requires(post): binutils %if 0%{with cephfs_java} -BuildRequires: java-devel -BuildRequires: sharutils +BuildRequires: java-devel +BuildRequires: sharutils %endif %if 0%{with selinux} -BuildRequires: checkpolicy -BuildRequires: selinux-policy-devel +BuildRequires: checkpolicy +BuildRequires: selinux-policy-devel %endif -BuildRequires: gperf +BuildRequires: gperf %if 0%{?rhel} == 7 BuildRequires: cmake3 > 3.5 %else BuildRequires: cmake > 3.5 %endif -BuildRequires: cryptsetup -BuildRequires: fuse-devel +BuildRequires: cryptsetup +BuildRequires: fuse-devel %if 0%{?rhel} == 7 # devtoolset offers newer make and valgrind-devel, but the old ones are good # enough. -BuildRequires: devtoolset-7-gcc-c++ >= 7.3.1-5.13 +BuildRequires: devtoolset-7-gcc-c++ >= 7.3.1-5.13 %else -BuildRequires: gcc-c++ +BuildRequires: gcc-c++ %endif -BuildRequires: gdbm +BuildRequires: gdbm %if 0%{with tcmalloc} %if 0%{?fedora} || 0%{?rhel} -BuildRequires: gperftools-devel >= 2.6.1 +BuildRequires: gperftools-devel >= 2.6.1 %endif %if 0%{?suse_version} -BuildRequires: gperftools-devel >= 2.4 +BuildRequires: gperftools-devel >= 2.4 %endif %endif -BuildRequires: leveldb-devel > 1.2 -BuildRequires: libaio-devel -BuildRequires: libblkid-devel >= 2.17 -BuildRequires: libcurl-devel -BuildRequires: liboath-devel -BuildRequires: libtool -BuildRequires: libudev-devel -BuildRequires: libuuid-devel -BuildRequires: libxml2-devel -BuildRequires: make -BuildRequires: ncurses-devel -BuildRequires: parted -BuildRequires: perl -BuildRequires: pkgconfig +BuildRequires: leveldb-devel > 1.2 +BuildRequires: libaio-devel +BuildRequires: libblkid-devel >= 2.17 +BuildRequires: libcurl-devel +BuildRequires: libudev-devel +BuildRequires: liboath-devel +BuildRequires: libtool +BuildRequires: libxml2-devel +BuildRequires: libuuid-devel +BuildRequires: make +BuildRequires: ncurses-devel +BuildRequires: parted +BuildRequires: perl +BuildRequires: pkgconfig BuildRequires: procps -BuildRequires: python%{_python_buildid} -BuildRequires: python%{_python_buildid}-devel -BuildRequires: snappy-devel -BuildRequires: sudo -BuildRequires: udev -BuildRequires: util-linux -BuildRequires: valgrind-devel -BuildRequires: which -BuildRequires: xfsprogs -BuildRequires: xfsprogs-devel -BuildRequires: xmlstarlet -BuildRequires: yasm +BuildRequires: python%{_python_buildid} +BuildRequires: python%{_python_buildid}-devel +BuildRequires: snappy-devel +BuildRequires: sudo +BuildRequires: udev +BuildRequires: util-linux +BuildRequires: valgrind-devel +BuildRequires: which +BuildRequires: xfsprogs +BuildRequires: xfsprogs-devel +BuildRequires: xmlstarlet +BuildRequires: yasm %if 0%{with amqp_endpoint} BuildRequires: librabbitmq-devel %endif %if 0%{with make_check} BuildRequires: jq -BuildRequires: python%{_python_buildid}-bcrypt -BuildRequires: python%{_python_buildid}-coverage -BuildRequires: python%{_python_buildid}-nose -BuildRequires: python%{_python_buildid}-pecan -BuildRequires: python%{_python_buildid}-requests -BuildRequires: python%{_python_buildid}-six -BuildRequires: python%{_python_buildid}-tox -BuildRequires: python%{_python_buildid}-virtualenv +BuildRequires: python%{_python_buildid}-bcrypt +BuildRequires: python%{_python_buildid}-coverage +BuildRequires: python%{_python_buildid}-nose +BuildRequires: python%{_python_buildid}-pecan +BuildRequires: python%{_python_buildid}-requests +BuildRequires: python%{_python_buildid}-six +BuildRequires: python%{_python_buildid}-tox +BuildRequires: python%{_python_buildid}-virtualenv %if 0%{?rhel} == 7 BuildRequires: pyOpenSSL%{_python_buildid} %else BuildRequires: python%{_python_buildid}-pyOpenSSL %endif -BuildRequires: socat +BuildRequires: socat %endif %if 0%{with seastar} BuildRequires: c-ares-devel @@ -218,88 +220,88 @@ BuildRequires: yaml-cpp-devel # distro-conditional dependencies ################################################################################# %if 0%{?suse_version} -BuildRequires: systemd -BuildRequires: systemd-rpm-macros BuildRequires: pkgconfig(systemd) +BuildRequires: systemd-rpm-macros +BuildRequires: systemd %{?systemd_requires} -PreReq: %fillup_prereq -BuildRequires: keyutils-devel -BuildRequires: libbz2-devel +PreReq: %fillup_prereq +BuildRequires: net-tools +BuildRequires: libbz2-devel +BuildRequires: mozilla-nss-devel +BuildRequires: keyutils-devel BuildRequires: libopenssl-devel BuildRequires: lsb-release -BuildRequires: mozilla-nss-devel -BuildRequires: net-tools BuildRequires: openldap2-devel #BuildRequires: krb5 #BuildRequires: krb5-devel BuildRequires: cunit-devel -BuildRequires: liblz4-devel >= 1.7 -BuildRequires: python%{_python_buildid}-Cython -BuildRequires: python%{_python_buildid}-PrettyTable -BuildRequires: python%{_python_buildid}-Sphinx -BuildRequires: python%{_python_buildid}-setuptools +BuildRequires: python%{_python_buildid}-setuptools +BuildRequires: python%{_python_buildid}-Cython +BuildRequires: python%{_python_buildid}-PrettyTable +BuildRequires: python%{_python_buildid}-Sphinx BuildRequires: rdma-core-devel +BuildRequires: liblz4-devel >= 1.7 %endif %if 0%{?fedora} || 0%{?rhel} -Requires: systemd +Requires: systemd BuildRequires: boost-random -BuildRequires: keyutils-libs-devel -BuildRequires: libibverbs-devel +BuildRequires: nss-devel +BuildRequires: keyutils-libs-devel +BuildRequires: libibverbs-devel BuildRequires: librdmacm-devel -BuildRequires: nss-devel BuildRequires: openldap-devel #BuildRequires: krb5-devel -BuildRequires: CUnit-devel BuildRequires: openssl-devel +BuildRequires: CUnit-devel BuildRequires: redhat-lsb-core %if 0%{?rhel} == 7 -BuildRequires: Cython -BuildRequires: python34-Cython -BuildRequires: python34-devel -BuildRequires: python34-setuptools +BuildRequires: Cython +BuildRequires: python34-devel +BuildRequires: python34-setuptools +BuildRequires: python34-Cython %else -BuildRequires: python3-Cython -BuildRequires: python3-devel -BuildRequires: python3-setuptools +BuildRequires: python3-devel +BuildRequires: python3-setuptools +BuildRequires: python3-Cython %endif -BuildRequires: lz4-devel >= 1.7 -BuildRequires: python%{_python_buildid}-prettytable -BuildRequires: python%{_python_buildid}-sphinx +BuildRequires: python%{_python_buildid}-prettytable +BuildRequires: python%{_python_buildid}-sphinx +BuildRequires: lz4-devel >= 1.7 %endif # distro-conditional make check dependencies %if 0%{with make_check} %if 0%{?fedora} || 0%{?rhel} -BuildRequires: python%{_python_buildid}-cherrypy -BuildRequires: python%{_python_buildid}-jwt -BuildRequires: python%{_python_buildid}-routes -BuildRequires: python%{_python_buildid}-werkzeug +BuildRequires: python%{_python_buildid}-cherrypy +BuildRequires: python%{_python_buildid}-jwt +BuildRequires: python%{_python_buildid}-routes +BuildRequires: python%{_python_buildid}-werkzeug BuildRequires: xmlsec1 %endif %if 0%{?suse_version} -BuildRequires: python%{_python_buildid}-CherryPy -BuildRequires: python%{_python_buildid}-PyJWT -BuildRequires: python%{_python_buildid}-Routes -BuildRequires: python%{_python_buildid}-Werkzeug -BuildRequires: python%{_python_buildid}-numpy-devel +BuildRequires: python%{_python_buildid}-CherryPy +BuildRequires: python%{_python_buildid}-PyJWT +BuildRequires: python%{_python_buildid}-Routes +BuildRequires: python%{_python_buildid}-Werkzeug +BuildRequires: python%{_python_buildid}-numpy-devel BuildRequires: xmlsec1-devel %endif %endif # lttng and babeltrace for rbd-replay-prep %if %{with lttng} %if 0%{?fedora} || 0%{?rhel} -BuildRequires: libbabeltrace-devel -BuildRequires: lttng-ust-devel +BuildRequires: lttng-ust-devel +BuildRequires: libbabeltrace-devel %endif %if 0%{?suse_version} +BuildRequires: lttng-ust-devel BuildRequires: babeltrace-devel -BuildRequires: lttng-ust-devel %endif %endif %if 0%{?suse_version} -BuildRequires: libexpat-devel +BuildRequires: libexpat-devel %endif %if 0%{?rhel} || 0%{?fedora} -BuildRequires: expat-devel +BuildRequires: expat-devel %endif #hardened-cc1 %if 0%{?fedora} || 0%{?rhel} @@ -326,64 +328,64 @@ on commodity hardware and delivers object, block and file system storage. # subpackages ################################################################################# %package base -Summary: Ceph Base Package -Group: System/Filesystems +Summary: Ceph Base Package %if 0%{?suse_version} +Group: System/Filesystems %endif -Provides: ceph-test:/usr/bin/ceph-kvstore-tool -Requires: ceph-common = %{_epoch_prefix}%{version}-%{release} -Requires: libcephfs2 = %{_epoch_prefix}%{version}-%{release} -Requires: librados2 = %{_epoch_prefix}%{version}-%{release} -Requires: librbd1 = %{_epoch_prefix}%{version}-%{release} -Requires: librgw2 = %{_epoch_prefix}%{version}-%{release} +Provides: ceph-test:/usr/bin/ceph-kvstore-tool +Requires: ceph-common = %{_epoch_prefix}%{version}-%{release} +Requires: librbd1 = %{_epoch_prefix}%{version}-%{release} +Requires: librados2 = %{_epoch_prefix}%{version}-%{release} +Requires: libcephfs2 = %{_epoch_prefix}%{version}-%{release} +Requires: librgw2 = %{_epoch_prefix}%{version}-%{release} %if 0%{with selinux} -Requires: ceph-selinux = %{_epoch_prefix}%{version}-%{release} +Requires: ceph-selinux = %{_epoch_prefix}%{version}-%{release} %endif -Requires: cryptsetup -Requires: e2fsprogs -Requires: findutils -Requires: grep -Requires: logrotate -Requires: parted -Requires: psmisc -Requires: python%{_python_buildid}-requests -Requires: python%{_python_buildid}-setuptools -Requires: util-linux -Requires: which -Requires: xfsprogs +Requires: cryptsetup +Requires: e2fsprogs +Requires: findutils +Requires: grep +Requires: logrotate +Requires: parted +Requires: psmisc +Requires: python%{_python_buildid}-requests +Requires: python%{_python_buildid}-setuptools +Requires: util-linux +Requires: xfsprogs +Requires: which %if 0%{?fedora} || 0%{?rhel} # The following is necessary due to tracker 36508 and can be removed once the # associated upstream bugs are resolved. %if 0%{with tcmalloc} -Requires: gperftools-libs >= 2.6.1 +Requires: gperftools-libs >= 2.6.1 %endif %endif %if 0%{?suse_version} -Recommends: chrony -Requires: gptfdisk +Recommends: chrony +Requires: gptfdisk %endif %description base Base is the package that includes all the files shared amongst ceph servers %package -n ceph-common -Summary: Ceph Common -Group: System/Filesystems +Summary: Ceph Common %if 0%{?suse_version} +Group: System/Filesystems %endif -Requires: libcephfs2 = %{_epoch_prefix}%{version}-%{release} -Requires: librados2 = %{_epoch_prefix}%{version}-%{release} -Requires: librbd1 = %{_epoch_prefix}%{version}-%{release} -Requires: python%{_python_buildid}-ceph-argparse = %{_epoch_prefix}%{version}-%{release} -Requires: python%{_python_buildid}-cephfs = %{_epoch_prefix}%{version}-%{release} -Requires: python%{_python_buildid}-rados = %{_epoch_prefix}%{version}-%{release} -Requires: python%{_python_buildid}-rbd = %{_epoch_prefix}%{version}-%{release} -Requires: python%{_python_buildid}-requests -Requires: python%{_python_buildid}-rgw = %{_epoch_prefix}%{version}-%{release} +Requires: librbd1 = %{_epoch_prefix}%{version}-%{release} +Requires: librados2 = %{_epoch_prefix}%{version}-%{release} +Requires: libcephfs2 = %{_epoch_prefix}%{version}-%{release} +Requires: python%{_python_buildid}-rados = %{_epoch_prefix}%{version}-%{release} +Requires: python%{_python_buildid}-rbd = %{_epoch_prefix}%{version}-%{release} +Requires: python%{_python_buildid}-cephfs = %{_epoch_prefix}%{version}-%{release} +Requires: python%{_python_buildid}-rgw = %{_epoch_prefix}%{version}-%{release} +Requires: python%{_python_buildid}-ceph-argparse = %{_epoch_prefix}%{version}-%{release} +Requires: python%{_python_buildid}-requests %if 0%{?fedora} || 0%{?rhel} -Requires: python%{_python_buildid}-prettytable +Requires: python%{_python_buildid}-prettytable %endif %if 0%{?suse_version} -Requires: python%{_python_buildid}-PrettyTable +Requires: python%{_python_buildid}-PrettyTable Obsoletes: libxio <= 1.7 %endif %if 0%{with libradosstriper} @@ -401,25 +403,23 @@ Common utilities to mount and interact with a ceph storage cluster. Comprised of files that are common to Ceph clients and servers. %package mds -Summary: Ceph Metadata Server Daemon -Group: System/Filesystems +Summary: Ceph Metadata Server Daemon %if 0%{?suse_version} +Group: System/Filesystems %endif -Requires: ceph-base = %{_epoch_prefix}%{version}-%{release} - +Requires: ceph-base = %{_epoch_prefix}%{version}-%{release} %description mds ceph-mds is the metadata server daemon for the Ceph distributed file system. One or more instances of ceph-mds collectively manage the file system namespace, coordinating access to the shared OSD cluster. %package mon -Summary: Ceph Monitor Daemon -Group: System/Filesystems +Summary: Ceph Monitor Daemon %if 0%{?suse_version} +Group: System/Filesystems %endif -Provides: ceph-test:/usr/bin/ceph-monstore-tool -Requires: ceph-base = %{_epoch_prefix}%{version}-%{release} - +Provides: ceph-test:/usr/bin/ceph-monstore-tool +Requires: ceph-base = %{_epoch_prefix}%{version}-%{release} %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 @@ -428,8 +428,8 @@ of cluster membership, configuration, and state. %package mgr Summary: Ceph Manager Daemon -Group: System/Filesystems %if 0%{?suse_version} +Group: System/Filesystems %endif Requires: ceph-base = %{_epoch_prefix}%{version}-%{release} Requires: python%{_python_buildid}-bcrypt @@ -443,11 +443,11 @@ Requires: python%{_python_buildid}-werkzeug Requires: python%{_python_buildid}-CherryPy Requires: python%{_python_buildid}-Werkzeug Recommends: python%{_python_buildid}-influxdb -Recommends: ceph-mgr-dashboard = %{_epoch_prefix}%{version}-%{release} -Recommends: ceph-mgr-diskprediction-local = %{_epoch_prefix}%{version}-%{release} -Recommends: ceph-mgr-diskprediction-cloud = %{_epoch_prefix}%{version}-%{release} -Recommends: ceph-mgr-rook = %{_epoch_prefix}%{version}-%{release} -Recommends: ceph-mgr-ssh = %{_epoch_prefix}%{version}-%{release} +Recommends: ceph-mgr-dashboard = %{_epoch_prefix}%{version}-%{release} +Recommends: ceph-mgr-diskprediction-local = %{_epoch_prefix}%{version}-%{release} +Recommends: ceph-mgr-diskprediction-cloud = %{_epoch_prefix}%{version}-%{release} +Recommends: ceph-mgr-rook = %{_epoch_prefix}%{version}-%{release} +Recommends: ceph-mgr-ssh = %{_epoch_prefix}%{version}-%{release} %endif %if 0%{?rhel} == 7 Requires: pyOpenSSL @@ -462,9 +462,9 @@ exposes all these to the python modules. %package mgr-dashboard Summary: Ceph Dashboard -Group: System/Filesystems BuildArch: noarch %if 0%{?suse_version} +Group: System/Filesystems %endif Requires: ceph-mgr = %{_epoch_prefix}%{version}-%{release} %if 0%{?fedora} || 0%{?rhel} @@ -492,9 +492,9 @@ detailed feature overview. %package mgr-diskprediction-local Summary: ceph-mgr diskprediction_local plugin -Group: System/Filesystems BuildArch: noarch %if 0%{?suse_version} +Group: System/Filesystems %endif Requires: ceph-mgr = %{_epoch_prefix}%{version}-%{release} %if 0%{?fedora} || 0%{?rhel} @@ -511,12 +511,11 @@ disk failures using local algorithms and machine-learning databases. %package mgr-diskprediction-cloud Summary: ceph-mgr diskprediction_cloud plugin -Group: System/Filesystems BuildArch: noarch %if 0%{?suse_version} +Group: System/Filesystems %endif Requires: ceph-mgr = %{_epoch_prefix}%{version}-%{release} - %description mgr-diskprediction-cloud ceph-mgr-diskprediction-cloud is a ceph-mgr plugin that tries to predict disk failures using services in the Google cloud. @@ -524,88 +523,82 @@ disk failures using services in the Google cloud. %package mgr-rook BuildArch: noarch Summary: ceph-mgr rook plugin -Group: System/Filesystems %if 0%{?suse_version} +Group: System/Filesystems %endif Requires: ceph-mgr = %{_epoch_prefix}%{version}-%{release} Requires: python%{_python_buildid}-kubernetes - %description mgr-rook ceph-mgr-rook is a ceph-mgr plugin for orchestration functions using a Rook backend. %package mgr-ssh Summary: ceph-mgr ssh module -Group: System/Filesystems -BuildArch: noarch +BuildArch: noarch %if 0%{?suse_version} +Group: System/Filesystems %endif Requires: ceph-mgr = %{_epoch_prefix}%{version}-%{release} Requires: python%{_python_buildid}-remoto - %description mgr-ssh ceph-mgr-ssh is a ceph-mgr module for orchestration functions using direct SSH connections for management operations. %package fuse -Summary: Ceph fuse-based client -Group: System/Filesystems +Summary: Ceph fuse-based client %if 0%{?suse_version} +Group: System/Filesystems %endif Requires: fuse -Requires: python%{python3_pkgversion} - +Requires: python%{python3_pkgversion} %description fuse FUSE based client for Ceph distributed network file system %package -n rbd-fuse -Summary: Ceph fuse-based client -Group: System/Filesystems +Summary: Ceph fuse-based client %if 0%{?suse_version} +Group: System/Filesystems %endif -Requires: librados2 = %{_epoch_prefix}%{version}-%{release} -Requires: librbd1 = %{_epoch_prefix}%{version}-%{release} - +Requires: librados2 = %{_epoch_prefix}%{version}-%{release} +Requires: librbd1 = %{_epoch_prefix}%{version}-%{release} %description -n rbd-fuse FUSE based client to map Ceph rbd images to files %package -n rbd-mirror -Summary: Ceph daemon for mirroring RBD images -Group: System/Filesystems +Summary: Ceph daemon for mirroring RBD images %if 0%{?suse_version} +Group: System/Filesystems %endif -Requires: ceph-base = %{_epoch_prefix}%{version}-%{release} -Requires: librados2 = %{_epoch_prefix}%{version}-%{release} -Requires: librbd1 = %{_epoch_prefix}%{version}-%{release} - +Requires: ceph-base = %{_epoch_prefix}%{version}-%{release} +Requires: librados2 = %{_epoch_prefix}%{version}-%{release} +Requires: librbd1 = %{_epoch_prefix}%{version}-%{release} %description -n rbd-mirror Daemon for mirroring RBD images between Ceph clusters, streaming changes asynchronously. %package -n rbd-nbd -Summary: Ceph RBD client base on NBD -Group: System/Filesystems +Summary: Ceph RBD client base on NBD %if 0%{?suse_version} +Group: System/Filesystems %endif -Requires: librados2 = %{_epoch_prefix}%{version}-%{release} -Requires: librbd1 = %{_epoch_prefix}%{version}-%{release} - +Requires: librados2 = %{_epoch_prefix}%{version}-%{release} +Requires: librbd1 = %{_epoch_prefix}%{version}-%{release} %description -n rbd-nbd NBD based client to map Ceph rbd images to local device %package radosgw -Summary: Rados REST gateway -Group: System/Filesystems +Summary: Rados REST gateway %if 0%{?suse_version} +Group: System/Filesystems %endif -Requires: ceph-base = %{_epoch_prefix}%{version}-%{release} +Requires: ceph-base = %{_epoch_prefix}%{version}-%{release} %if 0%{with selinux} -Requires: ceph-selinux = %{_epoch_prefix}%{version}-%{release} +Requires: ceph-selinux = %{_epoch_prefix}%{version}-%{release} %endif -Requires: librados2 = %{_epoch_prefix}%{version}-%{release} -Requires: librgw2 = %{_epoch_prefix}%{version}-%{release} +Requires: librados2 = %{_epoch_prefix}%{version}-%{release} +Requires: librgw2 = %{_epoch_prefix}%{version}-%{release} %if 0%{?rhel} || 0%{?fedora} -Requires: mailcap +Requires: mailcap %endif %description radosgw RADOS is a distributed object store used by the Ceph distributed @@ -615,13 +608,12 @@ service as well as the OpenStack Object Storage ("Swift") API. %if %{with ocf} %package resource-agents -Summary: OCF-compliant resource agents for Ceph daemons -Group: System/Filesystems +Summary: OCF-compliant resource agents for Ceph daemons %if 0%{?suse_version} +Group: System/Filesystems %endif -Requires: ceph-base = %{_epoch_prefix}%{version} -Requires: resource-agents - +Requires: ceph-base = %{_epoch_prefix}%{version} +Requires: resource-agents %description resource-agents Resource agents for monitoring and managing Ceph daemons under Open Cluster Framework (OCF) compliant resource @@ -629,27 +621,26 @@ managers such as Pacemaker. %endif %package osd -Summary: Ceph Object Storage Daemon -Group: System/Filesystems +Summary: Ceph Object Storage Daemon %if 0%{?suse_version} +Group: System/Filesystems %endif -Provides: ceph-test:/usr/bin/ceph-osdomap-tool -Requires: ceph-base = %{_epoch_prefix}%{version}-%{release} -Requires: lvm2 -Requires: sudo - +Provides: ceph-test:/usr/bin/ceph-osdomap-tool +Requires: ceph-base = %{_epoch_prefix}%{version}-%{release} +Requires: lvm2 +Requires: sudo %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 and providing access to them over the network. %package -n librados2 -Summary: RADOS distributed object store client library -Group: System/Libraries +Summary: RADOS distributed object store client library %if 0%{?suse_version} +Group: System/Libraries %endif %if 0%{?rhel} || 0%{?fedora} -Obsoletes: ceph-libs < %{_epoch_prefix}%{version}-%{release} +Obsoletes: ceph-libs < %{_epoch_prefix}%{version}-%{release} %endif %description -n librados2 RADOS is a reliable, autonomic distributed object storage cluster @@ -658,150 +649,140 @@ shared library allowing applications to access the distributed object store using a simple file-like interface. %package -n librados-devel -Summary: RADOS headers -Group: Development/Libraries/C and C++ +Summary: RADOS headers %if 0%{?suse_version} +Group: Development/Libraries/C and C++ %endif -Requires: librados2 = %{_epoch_prefix}%{version}-%{release} -Obsoletes: ceph-devel < %{_epoch_prefix}%{version}-%{release} -Provides: librados2-devel = %{_epoch_prefix}%{version}-%{release} -Obsoletes: librados2-devel < %{_epoch_prefix}%{version}-%{release} - +Requires: librados2 = %{_epoch_prefix}%{version}-%{release} +Obsoletes: ceph-devel < %{_epoch_prefix}%{version}-%{release} +Provides: librados2-devel = %{_epoch_prefix}%{version}-%{release} +Obsoletes: librados2-devel < %{_epoch_prefix}%{version}-%{release} %description -n librados-devel This package contains C libraries and headers needed to develop programs that use RADOS object store. %package -n libradospp-devel -Summary: RADOS headers -Group: Development/Libraries/C and C++ +Summary: RADOS headers %if 0%{?suse_version} +Group: Development/Libraries/C and C++ %endif -Requires: librados-devel = %{_epoch_prefix}%{version}-%{release} -Requires: librados2 = %{_epoch_prefix}%{version}-%{release} - +Requires: librados2 = %{_epoch_prefix}%{version}-%{release} +Requires: librados-devel = %{_epoch_prefix}%{version}-%{release} %description -n libradospp-devel This package contains C++ libraries and headers needed to develop programs that use RADOS object store. %package -n librgw2 -Summary: RADOS gateway client library -Group: System/Libraries +Summary: RADOS gateway client library %if 0%{?suse_version} +Group: System/Libraries %endif -Requires: librados2 = %{_epoch_prefix}%{version}-%{release} - +Requires: librados2 = %{_epoch_prefix}%{version}-%{release} %description -n librgw2 This package provides a library implementation of the RADOS gateway (distributed object store with S3 and Swift personalities). %package -n librgw-devel -Summary: RADOS gateway client library -Group: Development/Libraries/C and C++ +Summary: RADOS gateway client library %if 0%{?suse_version} +Group: Development/Libraries/C and C++ %endif -Requires: librados-devel = %{_epoch_prefix}%{version}-%{release} -Requires: librgw2 = %{_epoch_prefix}%{version}-%{release} -Provides: librgw2-devel = %{_epoch_prefix}%{version}-%{release} -Obsoletes: librgw2-devel < %{_epoch_prefix}%{version}-%{release} - +Requires: librados-devel = %{_epoch_prefix}%{version}-%{release} +Requires: librgw2 = %{_epoch_prefix}%{version}-%{release} +Provides: librgw2-devel = %{_epoch_prefix}%{version}-%{release} +Obsoletes: librgw2-devel < %{_epoch_prefix}%{version}-%{release} %description -n librgw-devel This package contains libraries and headers needed to develop programs that use RADOS gateway client library. %if 0%{with python2} %package -n python-rgw -Summary: Python 2 libraries for the RADOS gateway -Group: Development/Libraries/Python +Summary: Python 2 libraries for the RADOS gateway %if 0%{?suse_version} +Group: Development/Libraries/Python %endif -Requires: librgw2 = %{_epoch_prefix}%{version}-%{release} -Requires: python-rados = %{_epoch_prefix}%{version}-%{release} -Obsoletes: python-ceph < %{_epoch_prefix}%{version}-%{release} - +Requires: librgw2 = %{_epoch_prefix}%{version}-%{release} +Requires: python-rados = %{_epoch_prefix}%{version}-%{release} +Obsoletes: python-ceph < %{_epoch_prefix}%{version}-%{release} %description -n python-rgw This package contains Python 2 libraries for interacting with Cephs RADOS gateway. %endif %package -n python%{python3_pkgversion}-rgw -Summary: Python 3 libraries for the RADOS gateway -Group: Development/Libraries/Python +Summary: Python 3 libraries for the RADOS gateway %if 0%{?suse_version} +Group: Development/Libraries/Python %endif -Requires: librgw2 = %{_epoch_prefix}%{version}-%{release} -Requires: python%{python3_pkgversion}-rados = %{_epoch_prefix}%{version}-%{release} - +Requires: librgw2 = %{_epoch_prefix}%{version}-%{release} +Requires: python%{python3_pkgversion}-rados = %{_epoch_prefix}%{version}-%{release} %description -n python%{python3_pkgversion}-rgw This package contains Python 3 libraries for interacting with Cephs RADOS gateway. %if 0%{with python2} %package -n python-rados -Summary: Python 2 libraries for the RADOS object store -Group: Development/Libraries/Python +Summary: Python 2 libraries for the RADOS object store %if 0%{?suse_version} +Group: Development/Libraries/Python %endif -Requires: librados2 = %{_epoch_prefix}%{version}-%{release} -Obsoletes: python-ceph < %{_epoch_prefix}%{version}-%{release} - +Requires: librados2 = %{_epoch_prefix}%{version}-%{release} +Obsoletes: python-ceph < %{_epoch_prefix}%{version}-%{release} %description -n python-rados This package contains Python 2 libraries for interacting with Cephs RADOS object store. %endif %package -n python%{python3_pkgversion}-rados -Summary: Python 3 libraries for the RADOS object store -Group: Development/Libraries/Python +Summary: Python 3 libraries for the RADOS object store %if 0%{?suse_version} +Group: Development/Libraries/Python %endif -Requires: librados2 = %{_epoch_prefix}%{version}-%{release} -Requires: python%{python3_pkgversion} - +Requires: python%{python3_pkgversion} +Requires: librados2 = %{_epoch_prefix}%{version}-%{release} %description -n python%{python3_pkgversion}-rados This package contains Python 3 libraries for interacting with Cephs RADOS object store. %if 0%{with libradosstriper} %package -n libradosstriper1 -Summary: RADOS striping interface -Group: System/Libraries +Summary: RADOS striping interface %if 0%{?suse_version} +Group: System/Libraries %endif -Requires: librados2 = %{_epoch_prefix}%{version}-%{release} - +Requires: librados2 = %{_epoch_prefix}%{version}-%{release} %description -n libradosstriper1 Striping interface built on top of the rados library, allowing to stripe bigger objects onto several standard rados objects using an interface very similar to the rados one. %package -n libradosstriper-devel -Summary: RADOS striping interface headers -Group: Development/Libraries/C and C++ +Summary: RADOS striping interface headers %if 0%{?suse_version} +Group: Development/Libraries/C and C++ %endif -Requires: librados-devel = %{_epoch_prefix}%{version}-%{release} -Requires: libradospp-devel = %{_epoch_prefix}%{version}-%{release} -Requires: libradosstriper1 = %{_epoch_prefix}%{version}-%{release} -Obsoletes: ceph-devel < %{_epoch_prefix}%{version}-%{release} -Provides: libradosstriper1-devel = %{_epoch_prefix}%{version}-%{release} -Obsoletes: libradosstriper1-devel < %{_epoch_prefix}%{version}-%{release} - +Requires: libradosstriper1 = %{_epoch_prefix}%{version}-%{release} +Requires: librados-devel = %{_epoch_prefix}%{version}-%{release} +Requires: libradospp-devel = %{_epoch_prefix}%{version}-%{release} +Obsoletes: ceph-devel < %{_epoch_prefix}%{version}-%{release} +Provides: libradosstriper1-devel = %{_epoch_prefix}%{version}-%{release} +Obsoletes: libradosstriper1-devel < %{_epoch_prefix}%{version}-%{release} %description -n libradosstriper-devel This package contains libraries and headers needed to develop programs that use RADOS striping interface. %endif %package -n librbd1 -Summary: RADOS block device client library -Group: System/Libraries +Summary: RADOS block device client library %if 0%{?suse_version} +Group: System/Libraries %endif -Requires: librados2 = %{_epoch_prefix}%{version}-%{release} +Requires: librados2 = %{_epoch_prefix}%{version}-%{release} %if 0%{?suse_version} Requires(post): coreutils %endif %if 0%{?rhel} || 0%{?fedora} -Obsoletes: ceph-libs < %{_epoch_prefix}%{version}-%{release} +Obsoletes: ceph-libs < %{_epoch_prefix}%{version}-%{release} %endif %description -n librbd1 RBD is a block device striped across multiple distributed objects in @@ -810,57 +791,54 @@ developed as part of the Ceph distributed storage system. This is a shared library allowing applications to manage these block devices. %package -n librbd-devel -Summary: RADOS block device headers -Group: Development/Libraries/C and C++ +Summary: RADOS block device headers %if 0%{?suse_version} +Group: Development/Libraries/C and C++ %endif -Requires: librados-devel = %{_epoch_prefix}%{version}-%{release} -Requires: libradospp-devel = %{_epoch_prefix}%{version}-%{release} -Requires: librbd1 = %{_epoch_prefix}%{version}-%{release} -Obsoletes: ceph-devel < %{_epoch_prefix}%{version}-%{release} -Provides: librbd1-devel = %{_epoch_prefix}%{version}-%{release} -Obsoletes: librbd1-devel < %{_epoch_prefix}%{version}-%{release} - +Requires: librbd1 = %{_epoch_prefix}%{version}-%{release} +Requires: librados-devel = %{_epoch_prefix}%{version}-%{release} +Requires: libradospp-devel = %{_epoch_prefix}%{version}-%{release} +Obsoletes: ceph-devel < %{_epoch_prefix}%{version}-%{release} +Provides: librbd1-devel = %{_epoch_prefix}%{version}-%{release} +Obsoletes: librbd1-devel < %{_epoch_prefix}%{version}-%{release} %description -n librbd-devel This package contains libraries and headers needed to develop programs that use RADOS block device. %if 0%{with python2} %package -n python-rbd -Summary: Python 2 libraries for the RADOS block device -Group: Development/Libraries/Python +Summary: Python 2 libraries for the RADOS block device %if 0%{?suse_version} +Group: Development/Libraries/Python %endif -Requires: librbd1 = %{_epoch_prefix}%{version}-%{release} -Requires: python-rados = %{_epoch_prefix}%{version}-%{release} -Obsoletes: python-ceph < %{_epoch_prefix}%{version}-%{release} - +Requires: librbd1 = %{_epoch_prefix}%{version}-%{release} +Requires: python-rados = %{_epoch_prefix}%{version}-%{release} +Obsoletes: python-ceph < %{_epoch_prefix}%{version}-%{release} %description -n python-rbd This package contains Python 2 libraries for interacting with Cephs RADOS block device. %endif %package -n python%{python3_pkgversion}-rbd -Summary: Python 3 libraries for the RADOS block device -Group: Development/Libraries/Python +Summary: Python 3 libraries for the RADOS block device %if 0%{?suse_version} +Group: Development/Libraries/Python %endif -Requires: librbd1 = %{_epoch_prefix}%{version}-%{release} -Requires: python%{python3_pkgversion}-rados = %{_epoch_prefix}%{version}-%{release} - +Requires: librbd1 = %{_epoch_prefix}%{version}-%{release} +Requires: python%{python3_pkgversion}-rados = %{_epoch_prefix}%{version}-%{release} %description -n python%{python3_pkgversion}-rbd This package contains Python 3 libraries for interacting with Cephs RADOS block device. %package -n libcephfs2 -Summary: Ceph distributed file system client library -Group: System/Libraries +Summary: Ceph distributed file system client library %if 0%{?suse_version} +Group: System/Libraries %endif -Obsoletes: libcephfs1 +Obsoletes: libcephfs1 %if 0%{?rhel} || 0%{?fedora} -Obsoletes: ceph-libcephfs -Obsoletes: ceph-libs < %{_epoch_prefix}%{version}-%{release} +Obsoletes: ceph-libs < %{_epoch_prefix}%{version}-%{release} +Obsoletes: ceph-libcephfs %endif %description -n libcephfs2 Ceph is a distributed network file system designed to provide excellent @@ -869,54 +847,51 @@ allowing applications to access a Ceph distributed file system via a POSIX-like interface. %package -n libcephfs-devel -Summary: Ceph distributed file system headers -Group: Development/Libraries/C and C++ +Summary: Ceph distributed file system headers %if 0%{?suse_version} +Group: Development/Libraries/C and C++ %endif -Requires: libcephfs2 = %{_epoch_prefix}%{version}-%{release} -Requires: librados-devel = %{_epoch_prefix}%{version}-%{release} -Obsoletes: ceph-devel < %{_epoch_prefix}%{version}-%{release} -Provides: libcephfs2-devel = %{_epoch_prefix}%{version}-%{release} -Obsoletes: libcephfs2-devel < %{_epoch_prefix}%{version}-%{release} - +Requires: libcephfs2 = %{_epoch_prefix}%{version}-%{release} +Requires: librados-devel = %{_epoch_prefix}%{version}-%{release} +Obsoletes: ceph-devel < %{_epoch_prefix}%{version}-%{release} +Provides: libcephfs2-devel = %{_epoch_prefix}%{version}-%{release} +Obsoletes: libcephfs2-devel < %{_epoch_prefix}%{version}-%{release} %description -n libcephfs-devel This package contains libraries and headers needed to develop programs that use Cephs distributed file system. %if 0%{with python2} %package -n python-cephfs -Summary: Python 2 libraries for Ceph distributed file system -Group: Development/Libraries/Python +Summary: Python 2 libraries for Ceph distributed file system %if 0%{?suse_version} +Group: Development/Libraries/Python %endif -Requires: libcephfs2 = %{_epoch_prefix}%{version}-%{release} -Requires: python-ceph-argparse = %{_epoch_prefix}%{version}-%{release} -Requires: python-rados = %{_epoch_prefix}%{version}-%{release} -Obsoletes: python-ceph < %{_epoch_prefix}%{version}-%{release} - +Requires: libcephfs2 = %{_epoch_prefix}%{version}-%{release} +Requires: python-rados = %{_epoch_prefix}%{version}-%{release} +Requires: python-ceph-argparse = %{_epoch_prefix}%{version}-%{release} +Obsoletes: python-ceph < %{_epoch_prefix}%{version}-%{release} %description -n python-cephfs This package contains Python 2 libraries for interacting with Cephs distributed file system. %endif %package -n python%{python3_pkgversion}-cephfs -Summary: Python 3 libraries for Ceph distributed file system -Group: Development/Libraries/Python +Summary: Python 3 libraries for Ceph distributed file system %if 0%{?suse_version} +Group: Development/Libraries/Python %endif -Requires: libcephfs2 = %{_epoch_prefix}%{version}-%{release} -Requires: python%{python3_pkgversion}-ceph-argparse = %{_epoch_prefix}%{version}-%{release} -Requires: python%{python3_pkgversion}-rados = %{_epoch_prefix}%{version}-%{release} - +Requires: libcephfs2 = %{_epoch_prefix}%{version}-%{release} +Requires: python%{python3_pkgversion}-rados = %{_epoch_prefix}%{version}-%{release} +Requires: python%{python3_pkgversion}-ceph-argparse = %{_epoch_prefix}%{version}-%{release} %description -n python%{python3_pkgversion}-cephfs This package contains Python 3 libraries for interacting with Cephs distributed file system. %if 0%{with python2} %package -n python-ceph-argparse -Summary: Python 2 utility libraries for Ceph CLI -Group: Development/Libraries/Python +Summary: Python 2 utility libraries for Ceph CLI %if 0%{?suse_version} +Group: Development/Libraries/Python %endif %description -n python-ceph-argparse This package contains types and routines for Python 2 used by the Ceph CLI as @@ -926,9 +901,9 @@ descriptions, and submitting the command to the appropriate daemon. %endif %package -n python%{python3_pkgversion}-ceph-argparse -Summary: Python 3 utility libraries for Ceph CLI -Group: Development/Libraries/Python +Summary: Python 3 utility libraries for Ceph CLI %if 0%{?suse_version} +Group: Development/Libraries/Python %endif %description -n python%{python3_pkgversion}-ceph-argparse This package contains types and routines for Python 3 used by the Ceph CLI as @@ -938,12 +913,10 @@ descriptions, and submitting the command to the appropriate daemon. %if 0%{with cephfs_shell} %package -n cephfs-shell -Summary: Interactive shell for Ceph file system -Group: System/Filesystems -Requires: python%{python3_pkgversion}-cephfs -Requires: python%{python3_pkgversion}-cmd2 -Requires: python%{python3_pkgversion}-colorama - +Summary: Interactive shell for Ceph file system +Requires: python%{python3_pkgversion}-cmd2 +Requires: python%{python3_pkgversion}-colorama +Requires: python%{python3_pkgversion}-cephfs %description -n cephfs-shell This package contains an interactive tool that allows accessing a Ceph file system without mounting it by providing a nice pseudo-shell which @@ -952,15 +925,14 @@ works like an FTP client. %if 0%{with ceph_test_package} %package -n ceph-test -Summary: Ceph benchmarks and test tools -Group: System/Benchmark +Summary: Ceph benchmarks and test tools %if 0%{?suse_version} +Group: System/Benchmark %endif -Requires: ceph-common -Requires: jq -Requires: socat -Requires: xmlstarlet - +Requires: ceph-common +Requires: xmlstarlet +Requires: jq +Requires: socat %description -n ceph-test This package contains Ceph benchmarks and test tools. %endif @@ -968,42 +940,39 @@ This package contains Ceph benchmarks and test tools. %if 0%{with cephfs_java} %package -n libcephfs_jni1 -Summary: Java Native Interface library for CephFS Java bindings -Group: System/Libraries +Summary: Java Native Interface library for CephFS Java bindings %if 0%{?suse_version} +Group: System/Libraries %endif -Requires: java -Requires: libcephfs2 = %{_epoch_prefix}%{version}-%{release} - +Requires: java +Requires: libcephfs2 = %{_epoch_prefix}%{version}-%{release} %description -n libcephfs_jni1 This package contains the Java Native Interface library for CephFS Java bindings. %package -n libcephfs_jni-devel -Summary: Development files for CephFS Java Native Interface library -Group: Development/Libraries/Java +Summary: Development files for CephFS Java Native Interface library %if 0%{?suse_version} +Group: Development/Libraries/Java %endif -Requires: java -Requires: libcephfs_jni1 = %{_epoch_prefix}%{version}-%{release} -Obsoletes: ceph-devel < %{_epoch_prefix}%{version}-%{release} -Provides: libcephfs_jni1-devel = %{_epoch_prefix}%{version}-%{release} -Obsoletes: libcephfs_jni1-devel < %{_epoch_prefix}%{version}-%{release} - +Requires: java +Requires: libcephfs_jni1 = %{_epoch_prefix}%{version}-%{release} +Obsoletes: ceph-devel < %{_epoch_prefix}%{version}-%{release} +Provides: libcephfs_jni1-devel = %{_epoch_prefix}%{version}-%{release} +Obsoletes: libcephfs_jni1-devel < %{_epoch_prefix}%{version}-%{release} %description -n libcephfs_jni-devel This package contains the development files for CephFS Java Native Interface library. %package -n cephfs-java -Summary: Java libraries for the Ceph File System -Group: System/Libraries +Summary: Java libraries for the Ceph File System %if 0%{?suse_version} +Group: System/Libraries %endif -Requires: java +Requires: java +Requires: libcephfs_jni1 = %{_epoch_prefix}%{version}-%{release} Requires: junit -Requires: libcephfs_jni1 = %{_epoch_prefix}%{version}-%{release} BuildRequires: junit - %description -n cephfs-java This package contains the Java libraries for the Ceph File System. @@ -1011,11 +980,10 @@ This package contains the Java libraries for the Ceph File System. %package -n rados-objclass-devel Summary: RADOS object class development kit -Group: Development/Libraries/C and C++ %if 0%{?suse_version} +Group: Development/Libraries/C and C++ %endif Requires: libradospp-devel = %{_epoch_prefix}%{version}-%{release} - %description -n rados-objclass-devel This package contains libraries and headers needed to develop RADOS object class plugins. @@ -1023,17 +991,15 @@ class plugins. %if 0%{with selinux} %package selinux -Summary: SELinux support for Ceph MON, OSD and MDS -Group: System/Filesystems +Summary: SELinux support for Ceph MON, OSD and MDS %if 0%{?suse_version} +Group: System/Filesystems %endif -Requires: ceph-base = %{_epoch_prefix}%{version}-%{release} -Requires: libselinux-utils -Requires: policycoreutils +Requires: ceph-base = %{_epoch_prefix}%{version}-%{release} +Requires: policycoreutils, libselinux-utils Requires(post): ceph-base = %{_epoch_prefix}%{version}-%{release} Requires(post): selinux-policy-base >= %{_selinux_policy_version}, policycoreutils, gawk Requires(postun): policycoreutils - %description selinux This package contains SELinux support for Ceph MON, OSD and MDS. The package also performs file-system relabelling which can take a long time on heavily @@ -1043,17 +1009,16 @@ populated file-systems. %if 0%{with python2} %package -n python-ceph-compat -Summary: Compatibility package for Cephs python libraries -Group: Development/Libraries/Python +Summary: Compatibility package for Cephs python libraries %if 0%{?suse_version} +Group: Development/Libraries/Python %endif -Obsoletes: python-ceph -Requires: python-cephfs = %{_epoch_prefix}%{version}-%{release} -Requires: python-rados = %{_epoch_prefix}%{version}-%{release} -Requires: python-rbd = %{_epoch_prefix}%{version}-%{release} -Requires: python-rgw = %{_epoch_prefix}%{version}-%{release} -Provides: python-ceph - +Obsoletes: python-ceph +Requires: python-rados = %{_epoch_prefix}%{version}-%{release} +Requires: python-rbd = %{_epoch_prefix}%{version}-%{release} +Requires: python-cephfs = %{_epoch_prefix}%{version}-%{release} +Requires: python-rgw = %{_epoch_prefix}%{version}-%{release} +Provides: python-ceph %description -n python-ceph-compat This is a compatibility package to accommodate python-ceph split into python-rados, python-rbd, python-rgw and python-cephfs. Packages still @@ -1062,10 +1027,10 @@ python-rbd, python-rgw or python-cephfs instead. %endif %package grafana-dashboards -Summary: The set of Grafana dashboards for monitoring purposes -Group: System/Filesystems -BuildArch: noarch +Summary: The set of Grafana dashboards for monitoring purposes +BuildArch: noarch %if 0%{?suse_version} +Group: System/Filesystems %endif %description grafana-dashboards This package provides a set of Grafana dashboards for monitoring of @@ -1196,6 +1161,7 @@ ${CMAKE} .. \ make "$CEPH_MFLAGS_JOBS" + %if 0%{with make_check} %check # run in-tree unittests @@ -1203,6 +1169,7 @@ cd build ctest "$CEPH_MFLAGS_JOBS" %endif + %install pushd build make DESTDIR=%{buildroot} install @@ -2214,6 +2181,6 @@ exit 0 %doc monitoring/grafana/dashboards/README %doc monitoring/grafana/README.md -# nospeccleaner %changelog +# nospeccleaner