From fefe1d8097aedf1fbbb01e7736a7cf9580a95b80 Mon Sep 17 00:00:00 2001 From: Kaleb S. KEITHLEY Date: Jun 07 2020 13:28:27 +0000 Subject: ceph 14.2.9 GA --- diff --git a/README.md b/README.md index 7bfe858..35f1800 100644 --- a/README.md +++ b/README.md @@ -5,7 +5,8 @@ Branch names follow convention like `c-sig-storage-ceph-VERSION>` as descibed on [Naming and Patterns for Mapping Git Branches to Koji Tags] (https://wiki.centos.org/BrianStinson/GitBranchesandKojiTags) -* c8-sig-storage-ceph-octopus: CentOS-8 +* c7-sig-storage-ceph-nautilus: CentOS-8 +* c8-sig-storage-ceph-nautilus: CentOS-8 * ... Instructions for building the ceph package for the CentOS Storage SIG @@ -22,6 +23,6 @@ E.g. build the src.rpm with: To build: - $ `cbs build [--scratch] storage8-ceph-octopus-el8 ceph-15.2.1-1.el8.src.rpm` + $ `cbs build [--scratch] storage8-ceph-nautilus-el8 ceph-14.2.9-1.el8.src.rpm` diff --git a/SPECS/ceph.spec b/SPECS/ceph.spec index ab05030..d9a2466 100644 --- a/SPECS/ceph.spec +++ b/SPECS/ceph.spec @@ -1,3 +1,4 @@ +# vim: set noexpandtab ts=8 sw=8 : # # spec file for package ceph # @@ -26,45 +27,50 @@ %global _hardened_build 1 %bcond_with make_check -%bcond_with cmake_verbose_logging %bcond_without ceph_test_package %ifarch s390 s390x %bcond_with tcmalloc %else %bcond_without tcmalloc %endif - %if 0%{?fedora} || 0%{?rhel} %bcond_without selinux -%if 0%{?rhel} >= 8 -%bcond_with cephfs_java -%else %bcond_without cephfs_java -%endif -%bcond_without amqp_endpoint -%bcond_without kafka_endpoint %bcond_without lttng %bcond_without libradosstriper %bcond_without ocf +%bcond_without amqp_endpoint %global _remote_tarball_prefix https://download.ceph.com/tarballs/ %endif %if 0%{?suse_version} -%bcond_with amqp_endpoint +%bcond_with selinux %bcond_with cephfs_java -%bcond_with kafka_endpoint +%bcond_with amqp_endpoint +#Compat macro for new _fillupdir macro introduced in Nov 2017 +%if ! %{defined _fillupdir} +%global _fillupdir /var/adm/fillup-templates +%endif +%if 0%{?is_opensuse} +%bcond_without libradosstriper +%bcond_without ocf +%else +%bcond_with libradosstriper +%bcond_with ocf +%endif %ifarch x86_64 aarch64 ppc64le %bcond_without lttng %else %bcond_with lttng %endif -%bcond_with ocf -%bcond_with selinux -#Compat macro for _fillupdir macro introduced in Nov 2017 -%if ! %{defined _fillupdir} -%global _fillupdir /var/adm/fillup-templates -%endif %endif %bcond_with seastar +%if 0%{?fedora} >= 29 || 0%{?suse_version} >= 1500 || 0%{?rhel} >= 8 +# distros that need a py3 Ceph build +%bcond_with python2 +%else +# distros that need a py2 Ceph build +%bcond_without python2 +%endif %if 0%{?fedora} || 0%{?suse_version} >= 1500 # distros that ship cmd2 and/or colorama %bcond_without cephfs_shell @@ -72,27 +78,24 @@ # distros that do _not_ ship cmd2/colorama %bcond_with cephfs_shell %endif -%if 0%{?fedora} || 0%{?suse_version} || 0%{?rhel} >= 8 -%global weak_deps 1 +%if 0%{without python2} +%global _defined_if_python2_absent 1 %endif + %if %{with selinux} # get selinux policy version -# Force 0.0.0 policy version for centos builds to avoid repository sync issues between rhel and centos -%if 0%{?centos} -%global _selinux_policy_version 0.0.0 -%else %{!?_selinux_policy_version: %global _selinux_policy_version 0.0.0} %endif -%endif %{!?_udevrulesdir: %global _udevrulesdir /lib/udev/rules.d} %{!?tmpfiles_create: %global tmpfiles_create systemd-tmpfiles --create} %{!?python3_pkgversion: %global python3_pkgversion 3} %{!?python3_version_nodots: %global python3_version_nodots 3} %{!?python3_version: %global python3_version 3} -%if 0%{?rhel} == 7 -%define __python %{__python3} -%endif +# define _python_buildid macro which will expand to the empty string when +# building with python2 +%global _python_buildid %{?_defined_if_python2_absent:%{python3_pkgversion}} + # unify libexec for all targets %global _libexecdir %{_exec_prefix}/lib @@ -103,10 +106,10 @@ # main package definition ################################################################################# Name: ceph -Version: 15.2.3 +Version: 14.2.9 Release: 1%{?dist} %if 0%{?fedora} || 0%{?rhel} -Epoch: 1 +Epoch: 2 %endif # define _epoch_prefix macro which will expand to the empty string if epoch is @@ -114,30 +117,23 @@ Epoch: 1 %global _epoch_prefix %{?epoch:%{epoch}:} Summary: User space components of the Ceph file system -#License: LGPL-2.1 and LGPL-3.0 and CC-BY-SA-3.0 and GPL-2.0 and BSL-1.0 and BSD-3-Clause and MIT -License: (LGPLv2.1 or LGPLv3) and CC-BY-SA-3.0 and GPLv2 and Boost-1.0 and BSD and MIT +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-%{version}.tar.gz -Patch0001: 0001-src-common-crc32c_intel_fast.patch -Patch0002: 0002-src-common-CMakeLists.txt.patch -Patch0003: 0003-src-common-bitstr.h.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} # _insert_obs_source_lines_here -ExclusiveArch: x86_64 aarch64 ppc64le s390x +ExclusiveArch: x86_64 aarch64 ppc64le s390x %endif ################################################################################# # 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: ceph-mds = %{_epoch_prefix}%{version}-%{release} +Requires: ceph-mgr = %{_epoch_prefix}%{version}-%{release} +Requires: ceph-mon = %{_epoch_prefix}%{version}-%{release} Requires(post): binutils %if 0%{with cephfs_java} BuildRequires: java-devel @@ -149,17 +145,16 @@ BuildRequires: selinux-policy-devel %endif BuildRequires: gperf %if 0%{?rhel} == 7 -BuildRequires: cmake3 > 3.5 +BuildRequires: cmake3 > 3.5 %else -BuildRequires: cmake > 3.5 +BuildRequires: cmake > 3.5 %endif BuildRequires: cryptsetup BuildRequires: fuse-devel -BuildRequires: fmt-devel %if 0%{?rhel} == 7 # devtoolset offers newer make and valgrind-devel, but the old ones are good # enough. -BuildRequires: devtoolset-8-gcc-c++ >= 8.3.1-3.1 +BuildRequires: devtoolset-8-gcc-c++ >= 8.2.1 %else BuildRequires: gcc-c++ %endif @@ -177,7 +172,7 @@ BuildRequires: libaio-devel BuildRequires: libblkid-devel >= 2.17 BuildRequires: libcurl-devel BuildRequires: libcap-ng-devel -BuildRequires: pkgconfig(libudev) +BuildRequires: libudev-devel BuildRequires: libnl3-devel BuildRequires: liboath-devel BuildRequires: libtool @@ -188,12 +183,12 @@ BuildRequires: parted BuildRequires: patch BuildRequires: perl BuildRequires: pkgconfig -BuildRequires: procps -BuildRequires: python%{python3_pkgversion} -BuildRequires: python%{python3_pkgversion}-devel +BuildRequires: procps +BuildRequires: python%{_python_buildid} +BuildRequires: python%{_python_buildid}-devel BuildRequires: snappy-devel BuildRequires: sudo -BuildRequires: pkgconfig(udev) +BuildRequires: udev BuildRequires: util-linux BuildRequires: valgrind-devel BuildRequires: which @@ -202,61 +197,42 @@ BuildRequires: xfsprogs-devel BuildRequires: xmlstarlet BuildRequires: yasm %if 0%{with amqp_endpoint} -BuildRequires: librabbitmq-devel -%endif -%if 0%{with kafka_endpoint} -BuildRequires: librdkafka-devel +BuildRequires: librabbitmq-devel %endif %if 0%{with make_check} -BuildRequires: jq +BuildRequires: jq BuildRequires: libuuid-devel +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: python%{python3_version_nodots}-bcrypt -BuildRequires: python%{python3_version_nodots}-nose -BuildRequires: python%{python3_version_nodots}-requests -BuildRequires: python%{python3_version_nodots}-dateutil +BuildRequires: pyOpenSSL%{_python_buildid} %else -BuildRequires: python%{python3_pkgversion}-bcrypt -BuildRequires: python%{python3_pkgversion}-nose -BuildRequires: python%{python3_pkgversion}-pecan -BuildRequires: python%{python3_pkgversion}-requests -BuildRequires: python%{python3_pkgversion}-dateutil -%endif -%if 0%{?rhel} == 7 -BuildRequires: python%{python3_version_nodots}-six -BuildRequires: python%{python3_version_nodots}-virtualenv -%else -BuildRequires: python%{python3_pkgversion}-six -BuildRequires: python%{python3_pkgversion}-virtualenv -%endif -%if 0%{?rhel} == 7 -BuildRequires: python%{python3_version_nodots}-coverage -%else -BuildRequires: python%{python3_pkgversion}-coverage -%endif -%if 0%{?rhel} == 7 -BuildRequires: python%{python3_version_nodots}-pyOpenSSL -%else -BuildRequires: python%{python3_pkgversion}-pyOpenSSL +BuildRequires: python%{_python_buildid}-pyOpenSSL %endif BuildRequires: socat %endif %if 0%{with seastar} -BuildRequires: c-ares-devel -BuildRequires: gnutls-devel -BuildRequires: hwloc-devel -BuildRequires: libpciaccess-devel -BuildRequires: lksctp-tools-devel -BuildRequires: protobuf-devel -BuildRequires: ragel -BuildRequires: systemtap-sdt-devel -BuildRequires: yaml-cpp-devel +BuildRequires: c-ares-devel +BuildRequires: gnutls-devel +BuildRequires: hwloc-devel +BuildRequires: libpciaccess-devel +BuildRequires: lksctp-tools-devel +BuildRequires: protobuf-devel +BuildRequires: ragel +BuildRequires: systemtap-sdt-devel +BuildRequires: yaml-cpp-devel %endif ################################################################################# # distro-conditional dependencies ################################################################################# %if 0%{?suse_version} -BuildRequires: pkgconfig(systemd) +BuildRequires: pkgconfig(systemd) BuildRequires: systemd-rpm-macros %{?systemd_requires} PreReq: %fillup_prereq @@ -265,82 +241,60 @@ BuildRequires: net-tools BuildRequires: libbz2-devel BuildRequires: mozilla-nss-devel BuildRequires: keyutils-devel -BuildRequires: libopenssl-devel -BuildRequires: lsb-release -BuildRequires: openldap2-devel -#BuildRequires: krb5 -#BuildRequires: krb5-devel -BuildRequires: cunit-devel -BuildRequires: python%{python3_pkgversion}-setuptools -BuildRequires: python%{python3_pkgversion}-Cython -BuildRequires: python%{python3_pkgversion}-PrettyTable -BuildRequires: python%{python3_pkgversion}-Sphinx -BuildRequires: rdma-core-devel +BuildRequires: libopenssl-devel +BuildRequires: lsb-release +BuildRequires: openldap2-devel +#BuildRequires: krb5 +#BuildRequires: krb5-devel +BuildRequires: cunit-devel +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 # for prometheus-alerts -BuildRequires: golang-github-prometheus-prometheus +BuildRequires: golang-github-prometheus-prometheus %endif %if 0%{?fedora} || 0%{?rhel} Requires: systemd -BuildRequires: boost-random +BuildRequires: boost-random BuildRequires: nss-devel BuildRequires: keyutils-libs-devel BuildRequires: libibverbs-devel -BuildRequires: librdmacm-devel -BuildRequires: openldap-devel -#BuildRequires: krb5-devel -BuildRequires: openssl-devel -BuildRequires: CUnit-devel -BuildRequires: redhat-lsb-core +BuildRequires: librdmacm-devel +BuildRequires: openldap-devel +#BuildRequires: krb5-devel +BuildRequires: openssl-devel +BuildRequires: CUnit-devel +BuildRequires: redhat-lsb-core +%if 0%{with python2} +BuildRequires: python2-Cython +%endif BuildRequires: python%{python3_pkgversion}-devel BuildRequires: python%{python3_pkgversion}-setuptools -%if 0%{?rhel} == 7 -BuildRequires: python%{python3_version_nodots}-Cython -%else BuildRequires: python%{python3_pkgversion}-Cython -%endif -BuildRequires: python%{python3_pkgversion}-prettytable -BuildRequires: python%{python3_pkgversion}-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: libtool-ltdl-devel -BuildRequires: xmlsec1 -BuildRequires: xmlsec1-devel -%ifarch x86_64 -BuildRequires: xmlsec1-nss -%endif -BuildRequires: xmlsec1-openssl -BuildRequires: xmlsec1-openssl-devel -%if 0%{?rhel} == 7 -BuildRequires: python%{python3_version_nodots}-jwt -BuildRequires: python%{python3_version_nodots}-scipy -%else -BuildRequires: python%{python3_pkgversion}-cherrypy -BuildRequires: python%{python3_pkgversion}-jwt -BuildRequires: python%{python3_pkgversion}-routes -BuildRequires: python%{python3_pkgversion}-scipy -BuildRequires: python%{python3_pkgversion}-werkzeug -%endif -%if 0%{?rhel} == 7 -BuildRequires: python%{python3_version_nodots}-pyOpenSSL -%else -BuildRequires: python%{python3_pkgversion}-pyOpenSSL -%endif +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: libxmlsec1-1 -BuildRequires: libxmlsec1-nss1 -BuildRequires: libxmlsec1-openssl1 -BuildRequires: python%{python3_pkgversion}-CherryPy -BuildRequires: python%{python3_pkgversion}-PyJWT -BuildRequires: python%{python3_pkgversion}-Routes -BuildRequires: python%{python3_pkgversion}-Werkzeug -BuildRequires: python%{python3_pkgversion}-numpy-devel -BuildRequires: xmlsec1-devel -BuildRequires: xmlsec1-openssl-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: rpm-build +BuildRequires: xmlsec1-devel %endif %endif # lttng and babeltrace for rbd-replay-prep @@ -351,7 +305,7 @@ BuildRequires: libbabeltrace-devel %endif %if 0%{?suse_version} BuildRequires: lttng-ust-devel -BuildRequires: babeltrace-devel +BuildRequires: babeltrace-devel %endif %endif %if 0%{?suse_version} @@ -362,21 +316,18 @@ BuildRequires: expat-devel %endif #hardened-cc1 %if 0%{?fedora} || 0%{?rhel} -BuildRequires: redhat-rpm-config +BuildRequires: redhat-rpm-config %endif %if 0%{with seastar} %if 0%{?fedora} || 0%{?rhel} -BuildRequires: cryptopp-devel -BuildRequires: numactl-devel -BuildRequires: protobuf-compiler +BuildRequires: cryptopp-devel +BuildRequires: numactl-devel +BuildRequires: protobuf-compiler %endif %if 0%{?suse_version} -BuildRequires: libcryptopp-devel -BuildRequires: libnuma-devel -%endif +BuildRequires: libcryptopp-devel +BuildRequires: libnuma-devel %endif -%if 0%{?rhel} >= 8 -BuildRequires: /usr/bin/pathfix.py %endif %description @@ -388,57 +339,44 @@ on commodity hardware and delivers object, block and file system storage. # subpackages ################################################################################# %package base -Summary: Ceph Base Package +Summary: Ceph Base Package %if 0%{?suse_version} -Group: System/Filesystems +Group: System/Filesystems %endif -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} +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} -%endif -Requires: cryptsetup -Requires: e2fsprogs -Requires: findutils -Requires: grep -Requires: logrotate -Requires: parted -Requires: psmisc -Requires: python%{python3_pkgversion}-setuptools -Requires: util-linux -Requires: xfsprogs -Requires: which +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: 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%{?weak_deps} -Recommends: chrony +%if 0%{?suse_version} +Recommends: chrony %endif %description base Base is the package that includes all the files shared amongst ceph servers -%package -n cephadm -Summary: Utility to bootstrap Ceph clusters -Requires: lvm2 -%if 0%{?suse_version} -Requires: apparmor-abstractions -%endif -Requires: python%{python3_pkgversion} -%if 0%{?weak_deps} -Recommends: podman -%endif -%description -n cephadm -Utility to bootstrap a Ceph cluster and manage Ceph daemons deployed -with systemd and podman. - %package -n ceph-common Summary: Ceph Common %if 0%{?suse_version} @@ -447,17 +385,17 @@ Group: System/Filesystems Requires: librbd1 = %{_epoch_prefix}%{version}-%{release} Requires: librados2 = %{_epoch_prefix}%{version}-%{release} Requires: libcephfs2 = %{_epoch_prefix}%{version}-%{release} -Requires: python%{python3_pkgversion}-rados = %{_epoch_prefix}%{version}-%{release} -Requires: python%{python3_pkgversion}-rbd = %{_epoch_prefix}%{version}-%{release} -Requires: python%{python3_pkgversion}-cephfs = %{_epoch_prefix}%{version}-%{release} -Requires: python%{python3_pkgversion}-rgw = %{_epoch_prefix}%{version}-%{release} -Requires: python%{python3_pkgversion}-ceph-argparse = %{_epoch_prefix}%{version}-%{release} -Requires: python%{python3_pkgversion}-ceph-common = %{_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%{python3_pkgversion}-prettytable +Requires: python%{_python_buildid}-prettytable %endif %if 0%{?suse_version} -Requires: python%{python3_pkgversion}-PrettyTable +Requires: python%{_python_buildid}-PrettyTable %endif %if 0%{with libradosstriper} Requires: libradosstriper1 = %{_epoch_prefix}%{version}-%{release} @@ -495,24 +433,33 @@ parliament cluster that provides extremely reliable and durable storage of cluster membership, configuration, and state. %package mgr -Summary: Ceph Manager Daemon +Summary: Ceph Manager Daemon %if 0%{?suse_version} -Group: System/Filesystems +Group: System/Filesystems %endif -Requires: ceph-base = %{_epoch_prefix}%{version}-%{release} -Requires: ceph-mgr-modules-core = %{_epoch_prefix}%{version}-%{release} -%if 0%{?rhel} == 7 -Requires: python%{python3_version_nodots}-six -%else -Requires: python%{python3_pkgversion}-six +Requires: ceph-base = %{_epoch_prefix}%{version}-%{release} +Requires: python%{_python_buildid}-bcrypt +Requires: python%{_python_buildid}-pecan +Requires: python%{_python_buildid}-six +%if 0%{?fedora} || 0%{?rhel} +Requires: python%{_python_buildid}-cherrypy +Requires: python%{_python_buildid}-werkzeug %endif -%if 0%{?weak_deps} +%if 0%{?suse_version} +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-k8sevents = %{_epoch_prefix}%{version}-%{release} -Recommends: ceph-mgr-cephadm = %{_epoch_prefix}%{version}-%{release} -Recommends: python%{python3_pkgversion}-influxdb +Recommends: ceph-mgr-ssh = %{_epoch_prefix}%{version}-%{release} +%endif +%if 0%{?rhel} == 7 +Requires: pyOpenSSL +%else +Requires: python%{_python_buildid}-pyOpenSSL %endif %description mgr ceph-mgr enables python modules that provide services (such as the REST @@ -521,152 +468,112 @@ the cluster maps, the daemon metadata, and performance counters, and exposes all these to the python modules. %package mgr-dashboard -Summary: Ceph Dashboard -BuildArch: noarch +Summary: Ceph Dashboard +BuildArch: noarch %if 0%{?suse_version} -Group: System/Filesystems +Group: System/Filesystems %endif -Requires: ceph-mgr = %{_epoch_prefix}%{version}-%{release} -Requires: ceph-grafana-dashboards = %{_epoch_prefix}%{version}-%{release} -Requires: ceph-prometheus-alerts = %{_epoch_prefix}%{version}-%{release} +Requires: ceph-mgr = %{_epoch_prefix}%{version}-%{release} +Requires: ceph-grafana-dashboards = %{_epoch_prefix}%{version}-%{release} %if 0%{?fedora} || 0%{?rhel} -Requires: python%{python3_pkgversion}-cherrypy -Requires: python%{python3_pkgversion}-jwt -Requires: python%{python3_pkgversion}-routes -Requires: python%{python3_pkgversion}-werkzeug -%if 0%{?weak_deps} -Recommends: python%{python3_pkgversion}-saml -%endif +Requires: python%{_python_buildid}-cherrypy +Requires: python%{_python_buildid}-jwt +Requires: python%{_python_buildid}-routes +Requires: python%{_python_buildid}-werkzeug %endif %if 0%{?suse_version} -Requires: python%{python3_pkgversion}-CherryPy -Requires: python%{python3_pkgversion}-PyJWT -Requires: python%{python3_pkgversion}-Routes -Requires: python%{python3_pkgversion}-Werkzeug -Recommends: python%{python3_pkgversion}-python3-saml +Requires: python%{_python_buildid}-CherryPy +Requires: python%{_python_buildid}-PyJWT +Requires: python%{_python_buildid}-Routes +Requires: python%{_python_buildid}-Werkzeug +%endif +%if 0%{?rhel} == 7 +Requires: pyOpenSSL +%else +Requires: python%{_python_buildid}-pyOpenSSL %endif %description mgr-dashboard -ceph-mgr-dashboard is a manager module, providing a web-based application +ceph-mgr-dashboard is a manager plugin, providing a web-based application to monitor and manage many aspects of a Ceph cluster and related components. See the Dashboard documentation at http://docs.ceph.com/ for details and a detailed feature overview. %package mgr-diskprediction-local -Summary: Ceph Manager module for predicting disk failures -BuildArch: noarch +Summary: ceph-mgr diskprediction_local plugin +BuildArch: noarch %if 0%{?suse_version} -Group: System/Filesystems +Group: System/Filesystems +%endif +Requires: ceph-mgr = %{_epoch_prefix}%{version}-%{release} +%if 0%{?fedora} || 0%{?rhel} > 7 || 0%{?suse_version} +Requires: python%{_python_buildid}-numpy +%if 0%{without python2} +Requires: python3-scipy +%else +Requires: python2-scipy +%endif %endif -Requires: ceph-mgr = %{_epoch_prefix}%{version}-%{release} -Requires: python%{python3_pkgversion}-numpy -Requires: python%{python3_pkgversion}-scipy %if 0%{?rhel} == 7 -Requires: numpy -Requires: scipy +Requires: numpy +Requires: scipy %endif %description mgr-diskprediction-local -ceph-mgr-diskprediction-local is a ceph-mgr module that tries to predict +ceph-mgr-diskprediction-local is a ceph-mgr plugin that tries to predict disk failures using local algorithms and machine-learning databases. %package mgr-diskprediction-cloud -Summary: Ceph Manager module for cloud-based disk failure prediction -BuildArch: noarch +Summary: ceph-mgr diskprediction_cloud plugin +BuildArch: noarch %if 0%{?suse_version} -Group: System/Filesystems +Group: System/Filesystems %endif -Requires: ceph-mgr = %{_epoch_prefix}%{version}-%{release} -Requires: python%{python3_pkgversion}-grpcio -Requires: python%{python3_pkgversion}-protobuf +Requires: ceph-mgr = %{_epoch_prefix}%{version}-%{release} %description mgr-diskprediction-cloud -ceph-mgr-diskprediction-cloud is a ceph-mgr module that tries to predict +ceph-mgr-diskprediction-cloud is a ceph-mgr plugin that tries to predict disk failures using services in the Google cloud. -%package mgr-modules-core -Summary: Ceph Manager modules which are always enabled -BuildArch: noarch -%if 0%{?suse_version} -Group: System/Filesystems -%endif -%if 0%{?rhel} == 7 -Requires: python%{python3_version_nodots}-bcrypt -Requires: python%{python3_version_nodots}-pyOpenSSL -Requires: python%{python3_version_nodots}-requests -Requires: python%{python3_version_nodots}-PyYAML -Requires: python%{python3_version_nodots}-dateutil -%else -Requires: python%{python3_pkgversion}-bcrypt -Requires: python%{python3_pkgversion}-pecan -Requires: python%{python3_pkgversion}-pyOpenSSL -Requires: python%{python3_pkgversion}-requests -Requires: python%{python3_pkgversion}-dateutil -%endif -%if 0%{?fedora} || 0%{?rhel} >= 8 -Requires: python%{python3_pkgversion}-cherrypy -Requires: python%{python3_pkgversion}-pyyaml -Requires: python%{python3_pkgversion}-werkzeug -%endif -%if 0%{?suse_version} -Requires: python%{python3_pkgversion}-CherryPy -Requires: python%{python3_pkgversion}-PyYAML -Requires: python%{python3_pkgversion}-Werkzeug -%endif -%if 0%{?weak_deps} -Recommends: ceph-mgr-rook = %{_epoch_prefix}%{version}-%{release} -%endif -%description mgr-modules-core -ceph-mgr-modules-core provides a set of modules which are always -enabled by ceph-mgr. - %package mgr-rook -BuildArch: noarch -Summary: Ceph Manager module for Rook-based orchestration +BuildArch: noarch +Summary: ceph-mgr rook plugin %if 0%{?suse_version} -Group: System/Filesystems +Group: System/Filesystems %endif -Requires: ceph-mgr = %{_epoch_prefix}%{version}-%{release} -Requires: python%{python3_pkgversion}-kubernetes -Requires: python%{python3_pkgversion}-jsonpatch +Requires: ceph-mgr = %{_epoch_prefix}%{version}-%{release} +Requires: python%{_python_buildid}-kubernetes %description mgr-rook -ceph-mgr-rook is a ceph-mgr module for orchestration functions using +ceph-mgr-rook is a ceph-mgr plugin for orchestration functions using a Rook backend. %package mgr-k8sevents -BuildArch: noarch -Summary: Ceph Manager module to orchestrate ceph-events to kubernetes' events API +BuildArch: noarch +Summary: Ceph Manager plugin to orchestrate ceph-events to kubernetes' events API %if 0%{?suse_version} -Group: System/Filesystems +Group: System/Filesystems %endif -Requires: ceph-mgr = %{_epoch_prefix}%{version}-%{release} -Requires: python%{python3_pkgversion}-kubernetes +Requires: ceph-mgr = %{_epoch_prefix}%{version}-%{release} +Requires: python%{_python_buildid}-kubernetes %description mgr-k8sevents -ceph-mgr-k8sevents is a ceph-mgr module that sends every ceph-events +ceph-mgr-k8sevents is a ceph-mgr plugin that sends every ceph-events to kubernetes' events API -%package mgr-cephadm -Summary: Ceph Manager module for cephadm-based orchestration +%package mgr-ssh +Summary: ceph-mgr ssh module BuildArch: noarch %if 0%{?suse_version} -Group: System/Filesystems -%endif -Requires: ceph-mgr = %{_epoch_prefix}%{version}-%{release} -Requires: python%{python3_pkgversion}-remoto -Requires: cephadm = %{_epoch_prefix}%{version}-%{release} -%if 0%{?suse_version} -Requires: openssh -%endif -%if 0%{?rhel} || 0%{?fedora} -Requires: openssh-clients +Group: System/Filesystems %endif -%description mgr-cephadm -ceph-mgr-cephadm is a ceph-mgr module for orchestration functions using -the integrated cephadm deployment tool management operations. +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 %if 0%{?suse_version} Group: System/Filesystems %endif -Requires: fuse +Requires: fuse Requires: python%{python3_pkgversion} %description fuse FUSE based client for Ceph distributed network file system @@ -693,15 +600,6 @@ Requires: librbd1 = %{_epoch_prefix}%{version}-%{release} Daemon for mirroring RBD images between Ceph clusters, streaming changes asynchronously. -%package immutable-object-cache -Summary: Ceph daemon for immutable object cache -%if 0%{?suse_version} -Group: System/Filesystems -%endif -Requires: librados2 = %{_epoch_prefix}%{version}-%{release} -%description immutable-object-cache -Daemon for immutable object cache. - %package -n rbd-nbd Summary: Ceph RBD client base on NBD %if 0%{?suse_version} @@ -755,25 +653,12 @@ Provides: ceph-test:/usr/bin/ceph-osdomap-tool Requires: ceph-base = %{_epoch_prefix}%{version}-%{release} Requires: lvm2 Requires: sudo -Requires: libstoragemgmt +Requires: libstoragemgmt %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. -%if 0%{with seastar} -%package crimson-osd -Summary: Ceph Object Storage Daemon (crimson) -%if 0%{?suse_version} -Group: System/Filesystems -%endif -Requires: ceph-osd = %{_epoch_prefix}%{version}-%{release} -%description crimson-osd -crimson-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. -%endif - %package -n librados2 Summary: RADOS distributed object store client library %if 0%{?suse_version} @@ -835,6 +720,21 @@ Obsoletes: librgw2-devel < %{_epoch_prefix}%{version}-%{release} 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 +%if 0%{?suse_version} +Group: Development/Libraries/Python +%endif +Requires: librgw2 = %{_epoch_prefix}%{version}-%{release} +Requires: python-rados = %{_epoch_prefix}%{version}-%{release} +%{?python_provide:%python_provide python-rgw} +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 %if 0%{?suse_version} @@ -843,12 +743,28 @@ Group: Development/Libraries/Python Requires: librgw2 = %{_epoch_prefix}%{version}-%{release} Requires: python%{python3_pkgversion}-rados = %{_epoch_prefix}%{version}-%{release} %{?python_provide:%python_provide python%{python3_pkgversion}-rgw} +%if 0%{without python2} Provides: python-rgw = %{_epoch_prefix}%{version}-%{release} Obsoletes: python-rgw < %{_epoch_prefix}%{version}-%{release} +%endif %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 +%if 0%{?suse_version} +Group: Development/Libraries/Python +%endif +Requires: librados2 = %{_epoch_prefix}%{version}-%{release} +%{?python_provide:%python_provide python-rados} +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 %if 0%{?suse_version} @@ -857,8 +773,10 @@ Group: Development/Libraries/Python Requires: python%{python3_pkgversion} Requires: librados2 = %{_epoch_prefix}%{version}-%{release} %{?python_provide:%python_provide python%{python3_pkgversion}-rados} +%if 0%{without python2} Provides: python-rados = %{_epoch_prefix}%{version}-%{release} -Obsoletes: python-rados < %{_epoch_prefix}%{version}-%{release} +Obsoletes: python-rados < %{_epoch_prefix}%{version}-%{release} +%endif %description -n python%{python3_pkgversion}-rados This package contains Python 3 libraries for interacting with Cephs RADOS object store. @@ -924,6 +842,21 @@ Obsoletes: librbd1-devel < %{_epoch_prefix}%{version}-%{release} 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 +%if 0%{?suse_version} +Group: Development/Libraries/Python +%endif +Requires: librbd1 = %{_epoch_prefix}%{version}-%{release} +Requires: python-rados = %{_epoch_prefix}%{version}-%{release} +%{?python_provide:%python_provide python-rbd} +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 %if 0%{?suse_version} @@ -932,8 +865,11 @@ Group: Development/Libraries/Python Requires: librbd1 = %{_epoch_prefix}%{version}-%{release} Requires: python%{python3_pkgversion}-rados = %{_epoch_prefix}%{version}-%{release} %{?python_provide:%python_provide python%{python3_pkgversion}-rbd} +Provides: python3-rbd = %{_epoch_prefix}%{version}-%{release} +%if 0%{without python2} Provides: python-rbd = %{_epoch_prefix}%{version}-%{release} Obsoletes: python-rbd < %{_epoch_prefix}%{version}-%{release} +%endif %description -n python%{python3_pkgversion}-rbd This package contains Python 3 libraries for interacting with Cephs RADOS block device. @@ -968,6 +904,22 @@ Obsoletes: libcephfs2-devel < %{_epoch_prefix}%{version}-%{release} 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 +%if 0%{?suse_version} +Group: Development/Libraries/Python +%endif +Requires: libcephfs2 = %{_epoch_prefix}%{version}-%{release} +Requires: python-rados = %{_epoch_prefix}%{version}-%{release} +Requires: python-ceph-argparse = %{_epoch_prefix}%{version}-%{release} +%{?python_provide:%python_provide python-cephfs} +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 %if 0%{?suse_version} @@ -977,12 +929,27 @@ 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} %{?python_provide:%python_provide python%{python3_pkgversion}-cephfs} +%if 0%{without python2} Provides: python-cephfs = %{_epoch_prefix}%{version}-%{release} Obsoletes: python-cephfs < %{_epoch_prefix}%{version}-%{release} +%endif %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 +%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 +well as the RESTful interface. These have to do with querying the daemons for +command-description information, validating user command input against those +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 %if 0%{?suse_version} @@ -995,22 +962,12 @@ well as the RESTful interface. These have to do with querying the daemons for command-description information, validating user command input against those descriptions, and submitting the command to the appropriate daemon. -%package -n python%{python3_pkgversion}-ceph-common -Summary: Python 3 utility libraries for Ceph -%if 0%{?suse_version} -Group: Development/Libraries/Python -%endif -%{?python_provide:%python_provide python%{python3_pkgversion}-ceph-common} -%description -n python%{python3_pkgversion}-ceph-common -This package contains data structures, classes and functions used by Ceph. -It also contains utilities used for the cephadm orchestrator. - %if 0%{with cephfs_shell} %package -n cephfs-shell -Summary: Interactive shell for Ceph file system -Requires: python%{python3_pkgversion}-cmd2 -Requires: python%{python3_pkgversion}-colorama -Requires: python%{python3_pkgversion}-cephfs +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 @@ -1027,8 +984,8 @@ Requires: ceph-common = %{_epoch_prefix}%{version}-%{release} Requires: xmlstarlet Requires: jq Requires: socat -Requires: gtest -Requires: gmock +BuildRequires: gtest-devel +BuildRequires: gmock-devel %description -n ceph-test This package contains Ceph benchmarks and test tools. %endif @@ -1067,19 +1024,19 @@ Group: System/Libraries %endif Requires: java Requires: libcephfs_jni1 = %{_epoch_prefix}%{version}-%{release} -Requires: junit -BuildRequires: junit +Requires: junit +BuildRequires: junit %description -n cephfs-java This package contains the Java libraries for the Ceph File System. %endif %package -n rados-objclass-devel -Summary: RADOS object class development kit +Summary: RADOS object class development kit %if 0%{?suse_version} Group: Development/Libraries/C and C++ %endif -Requires: libradospp-devel = %{_epoch_prefix}%{version}-%{release} +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. @@ -1103,6 +1060,25 @@ populated file-systems. %endif +%if 0%{with python2} +%package -n python-ceph-compat +Summary: Compatibility package for Cephs python libraries +%if 0%{?suse_version} +Group: Development/Libraries/Python +%endif +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 +depending on python-ceph should be fixed to depend on python-rados, +python-rbd, python-rgw or python-cephfs instead. +%endif + %package grafana-dashboards Summary: The set of Grafana dashboards for monitoring purposes BuildArch: noarch @@ -1116,21 +1092,20 @@ collecting data from Ceph Manager "prometheus" module and Prometheus project "node_exporter" module. The dashboards are designed to be integrated with the Ceph Manager Dashboard web UI. +%if 0%{?suse_version} %package prometheus-alerts -Summary: Prometheus alerts for a Ceph deplyoment -BuildArch: noarch -Group: System/Monitoring +Summary: Prometheus alerts for a Ceph deplyoment +BuildArch: noarch +Group: System/Monitoring %description prometheus-alerts This package provides Ceph’s default alerts for Prometheus. +%endif ################################################################################# # common ################################################################################# %prep %autosetup -p1 -%ifarch x86_64 -patch -p1 < %{SOURCE1} -%endif %build # LTO can be enabled as soon as the following GCC bug is fixed: @@ -1171,7 +1146,7 @@ free -h echo "System limits:" ulimit -a if test -n "$CEPH_SMP_NCPUS" -a "$CEPH_SMP_NCPUS" -gt 1 ; then - mem_per_process=2700 + mem_per_process=2500 max_mem=$(LANG=C free -m | sed -n "s|^Mem: *\([0-9]*\).*$|\1|p") max_jobs="$(($max_mem / $mem_per_process))" test "$CEPH_SMP_NCPUS" -gt "$max_jobs" && CEPH_SMP_NCPUS="$max_jobs" && echo "Warning: Reducing build parallelism to -j$max_jobs because of memory limits" @@ -1185,9 +1160,11 @@ env | sort mkdir build cd build %if 0%{?rhel} == 7 -%global cmake cmake3 +CMAKE=cmake3 +%else +CMAKE=cmake %endif -%{cmake} .. \ +${CMAKE} .. \ -DCMAKE_BUILD_TYPE=RelWithDebInfo \ -DBUILD_CONFIG=rpmbuild \ -DCMAKE_INSTALL_PREFIX=%{_prefix} \ @@ -1201,6 +1178,12 @@ cd build -DWITH_MANPAGE=ON \ -DWITH_PYTHON3=%{python3_version} \ -DWITH_MGR_DASHBOARD_FRONTEND=OFF \ +%if %{with python2} + -DWITH_PYTHON2=ON \ +%else + -DWITH_PYTHON2=OFF \ + -DMGR_PYTHON_VERSION=3 \ +%endif %if 0%{without ceph_test_package} -DWITH_TESTS=OFF \ %endif @@ -1221,7 +1204,6 @@ cd build %if 0%{with ocf} -DWITH_OCF=ON \ %endif - -DWITH_SYSTEM_BOOST=OFF \ %ifarch aarch64 armv7hl mips mipsel ppc ppc64 ppc64le %{ix86} x86_64 -DWITH_BOOST_CONTEXT=ON \ %else @@ -1240,21 +1222,11 @@ cd build %else -DWITH_RADOSGW_AMQP_ENDPOINT=OFF \ %endif -%if 0%{with kafka_endpoint} - -DWITH_RADOSGW_KAFKA_ENDPOINT=ON \ -%else - -DWITH_RADOSGW_KAFKA_ENDPOINT=OFF \ -%endif -%if 0%{with cmake_verbose_logging} - -DCMAKE_VERBOSE_MAKEFILE=ON \ -%endif -DBOOST_J=$CEPH_SMP_NCPUS \ - -DWITH_GRAFANA=ON - -%if %{with cmake_verbose_logging} -cat ./CMakeFiles/CMakeOutput.log -cat ./CMakeFiles/CMakeError.log +%if 0%{with ceph_test_package} + -DWITH_SYSTEM_GTEST=ON \ %endif + -DWITH_GRAFANA=ON export VERBOSE=1 export V=1 @@ -1264,8 +1236,8 @@ make "$CEPH_MFLAGS_JOBS" %if 0%{with make_check} %check # run in-tree unittests -# cd build -# ctest "$CEPH_MFLAGS_JOBS" +cd build +ctest "$CEPH_MFLAGS_JOBS" %endif @@ -1290,14 +1262,6 @@ chmod 0644 %{buildroot}%{_docdir}/ceph/sample.ceph.conf 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 src/cephadm/cephadm %{buildroot}%{_sbindir}/cephadm -mkdir -p %{buildroot}%{_sharedstatedir}/cephadm -chmod 0700 %{buildroot}%{_sharedstatedir}/cephadm -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 - # firewall templates and /sbin/mount.ceph symlink %if 0%{?suse_version} mkdir -p %{buildroot}/sbin @@ -1309,12 +1273,6 @@ install -m 0644 -D udev/50-rbd.rules %{buildroot}%{_udevrulesdir}/50-rbd.rules # sudoers.d install -m 0600 -D sudoers.d/ceph-osd-smartctl %{buildroot}%{_sysconfdir}/sudoers.d/ceph-osd-smartctl -install -m 0600 -D sudoers.d/cephadm %{buildroot}%{_sysconfdir}/sudoers.d/cephadm - -%if 0%{?rhel} >= 8 -pathfix.py -pni "%{__python3} %{py3_shbang_opts}" %{buildroot}%{_bindir}/* -pathfix.py -pni "%{__python3} %{py3_shbang_opts}" %{buildroot}%{_sbindir}/* -%endif #set up placeholder directories mkdir -p %{buildroot}%{_sysconfdir}/ceph @@ -1335,12 +1293,11 @@ mkdir -p %{buildroot}%{_localstatedir}/lib/ceph/bootstrap-mgr mkdir -p %{buildroot}%{_localstatedir}/lib/ceph/bootstrap-rbd mkdir -p %{buildroot}%{_localstatedir}/lib/ceph/bootstrap-rbd-mirror -# prometheus alerts -install -m 644 -D monitoring/prometheus/alerts/ceph_default_alerts.yml %{buildroot}/etc/prometheus/ceph/ceph_default_alerts.yml - %if 0%{?suse_version} # create __pycache__ directories and their contents %py3_compile %{buildroot}%{python3_sitelib} +# prometheus alerts +install -m 644 -D monitoring/prometheus/alerts/ceph_default_alerts.yml %{buildroot}/etc/prometheus/SUSE/default_rules/ceph_default_alerts.yml # hardlink duplicate files under /usr to save space %fdupes %{buildroot}%{_prefix} %endif @@ -1387,9 +1344,15 @@ install -m 644 -D monitoring/prometheus/alerts/ceph_default_alerts.yml %{buildro %{_fillupdir}/sysconfig.* %endif %{_unitdir}/ceph.target +%if 0%{with python2} +%dir %{python_sitelib}/ceph_volume +%{python_sitelib}/ceph_volume/* +%{python_sitelib}/ceph_volume-* +%else %dir %{python3_sitelib}/ceph_volume %{python3_sitelib}/ceph_volume/* %{python3_sitelib}/ceph_volume-* +%endif %{_mandir}/man8/ceph-deploy.8* %{_mandir}/man8/ceph-create-keys.8* %{_mandir}/man8/ceph-run.8* @@ -1449,25 +1412,6 @@ if [ $1 -ge 1 ] ; then fi fi -%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 -exit 0 - -%if ! 0%{?suse_version} -%postun -n cephadm -userdel -r cephadm || true -exit 0 -%endif - -%files -n cephadm -%{_sbindir}/cephadm -%{_mandir}/man8/cephadm.8* -%{_sysconfdir}/sudoers.d/cephadm -%attr(0700,cephadm,cephadm) %dir %{_sharedstatedir}/cephadm -%attr(0700,cephadm,cephadm) %dir %{_sharedstatedir}/cephadm/.ssh -%attr(0600,cephadm,cephadm) %{_sharedstatedir}/cephadm/.ssh/authorized_keys - %files common %dir %{_docdir}/ceph %doc %{_docdir}/ceph/sample.ceph.conf @@ -1614,11 +1558,33 @@ fi %files mgr %{_bindir}/ceph-mgr %dir %{_datadir}/ceph/mgr +%{_datadir}/ceph/mgr/alerts +%{_datadir}/ceph/mgr/ansible +%{_datadir}/ceph/mgr/balancer +%{_datadir}/ceph/mgr/crash +%{_datadir}/ceph/mgr/deepsea +%{_datadir}/ceph/mgr/devicehealth +%{_datadir}/ceph/mgr/influx +%{_datadir}/ceph/mgr/insights +%{_datadir}/ceph/mgr/iostat +%{_datadir}/ceph/mgr/localpool %{_datadir}/ceph/mgr/mgr_module.* %{_datadir}/ceph/mgr/mgr_util.* -%if 0%{?rhel} == 7 -%{_datadir}/ceph/mgr/__pycache__ -%endif +%{_datadir}/ceph/mgr/orchestrator_cli +%{_datadir}/ceph/mgr/orchestrator.* +%{_datadir}/ceph/mgr/osd_perf_query +%{_datadir}/ceph/mgr/pg_autoscaler +%{_datadir}/ceph/mgr/progress +%{_datadir}/ceph/mgr/prometheus +%{_datadir}/ceph/mgr/rbd_support +%{_datadir}/ceph/mgr/restful +%{_datadir}/ceph/mgr/selftest +%{_datadir}/ceph/mgr/status +%{_datadir}/ceph/mgr/telegraf +%{_datadir}/ceph/mgr/telemetry +%{_datadir}/ceph/mgr/test_orchestrator +%{_datadir}/ceph/mgr/volumes +%{_datadir}/ceph/mgr/zabbix %{_unitdir}/ceph-mgr@.service %{_unitdir}/ceph-mgr.target %attr(750,ceph,ceph) %dir %{_localstatedir}/lib/ceph/mgr @@ -1703,32 +1669,6 @@ if [ $1 -eq 1 ] ; then /usr/bin/systemctl try-restart ceph-mgr.target >/dev/null 2>&1 || : fi -%files mgr-modules-core -%dir %{_datadir}/ceph/mgr -%{_datadir}/ceph/mgr/alerts -%{_datadir}/ceph/mgr/balancer -%{_datadir}/ceph/mgr/crash -%{_datadir}/ceph/mgr/devicehealth -%{_datadir}/ceph/mgr/influx -%{_datadir}/ceph/mgr/insights -%{_datadir}/ceph/mgr/iostat -%{_datadir}/ceph/mgr/localpool -%{_datadir}/ceph/mgr/orchestrator -%{_datadir}/ceph/mgr/osd_perf_query -%{_datadir}/ceph/mgr/osd_support -%{_datadir}/ceph/mgr/pg_autoscaler -%{_datadir}/ceph/mgr/progress -%{_datadir}/ceph/mgr/prometheus -%{_datadir}/ceph/mgr/rbd_support -%{_datadir}/ceph/mgr/restful -%{_datadir}/ceph/mgr/selftest -%{_datadir}/ceph/mgr/status -%{_datadir}/ceph/mgr/telegraf -%{_datadir}/ceph/mgr/telemetry -%{_datadir}/ceph/mgr/test_orchestrator -%{_datadir}/ceph/mgr/volumes -%{_datadir}/ceph/mgr/zabbix - %files mgr-rook %{_datadir}/ceph/mgr/rook @@ -1755,15 +1695,15 @@ if [ $1 -eq 1 ] ; then /usr/bin/systemctl try-restart ceph-mgr.target >/dev/null 2>&1 || : fi -%files mgr-cephadm -%{_datadir}/ceph/mgr/cephadm +%files mgr-ssh +%{_datadir}/ceph/mgr/ssh -%post mgr-cephadm +%post mgr-ssh if [ $1 -eq 1 ] ; then /usr/bin/systemctl try-restart ceph-mgr.target >/dev/null 2>&1 || : fi -%postun mgr-cephadm +%postun mgr-ssh if [ $1 -eq 1 ] ; then /usr/bin/systemctl try-restart ceph-mgr.target >/dev/null 2>&1 || : fi @@ -1875,54 +1815,6 @@ if [ $1 -ge 1 ] ; then fi fi -%files immutable-object-cache -%{_bindir}/ceph-immutable-object-cache -%{_mandir}/man8/ceph-immutable-object-cache.8* -%{_unitdir}/ceph-immutable-object-cache@.service -%{_unitdir}/ceph-immutable-object-cache.target - -%post immutable-object-cache -%if 0%{?suse_version} -if [ $1 -eq 1 ] ; then - /usr/bin/systemctl preset ceph-immutable-object-cache@\*.service ceph-immutable-object-cache.target >/dev/null 2>&1 || : -fi -%endif -%if 0%{?fedora} || 0%{?rhel} -%systemd_post ceph-immutable-object-cache@\*.service ceph-immutable-object-cache.target -%endif -if [ $1 -eq 1 ] ; then -/usr/bin/systemctl start ceph-immutable-object-cache.target >/dev/null 2>&1 || : -fi - -%preun immutable-object-cache -%if 0%{?suse_version} -%service_del_preun ceph-immutable-object-cache@\*.service ceph-immutable-object-cache.target -%endif -%if 0%{?fedora} || 0%{?rhel} -%systemd_preun ceph-immutable-object-cache@\*.service ceph-immutable-object-cache.target -%endif - -%postun immutable-object-cache -test -n "$FIRST_ARG" || FIRST_ARG=$1 -%if 0%{?suse_version} -DISABLE_RESTART_ON_UPDATE="yes" -%service_del_postun ceph-immutable-object-cache@\*.service ceph-immutable-object-cache.target -%endif -%if 0%{?fedora} || 0%{?rhel} -%systemd_postun ceph-immutable-object-cache@\*.service ceph-immutable-object-cache.target -%endif -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 - if [ -f $SYSCONF_CEPH -a -r $SYSCONF_CEPH ] ; then - source $SYSCONF_CEPH - fi - if [ "X$CEPH_AUTO_RESTART_ON_UPGRADE" = "Xyes" ] ; then - /usr/bin/systemctl try-restart ceph-immutable-object-cache@\*.service > /dev/null 2>&1 || : - fi -fi - %files -n rbd-nbd %{_bindir}/rbd-nbd %{_mandir}/man8/rbd-nbd.8* @@ -1932,14 +1824,12 @@ fi %{_bindir}/radosgw-token %{_bindir}/radosgw-es %{_bindir}/radosgw-object-expirer -%{_libdir}/libradosgw.so* %{_mandir}/man8/radosgw.8* %dir %{_localstatedir}/lib/ceph/radosgw %{_unitdir}/ceph-radosgw@.service %{_unitdir}/ceph-radosgw.target %post radosgw -/sbin/ldconfig %if 0%{?suse_version} if [ $1 -eq 1 ] ; then /usr/bin/systemctl preset ceph-radosgw@\*.service ceph-radosgw.target >/dev/null 2>&1 || : @@ -1961,7 +1851,6 @@ fi %endif %postun radosgw -/sbin/ldconfig %if 0%{?suse_version} DISABLE_RESTART_ON_UPDATE="yes" %service_del_postun ceph-radosgw@\*.service ceph-radosgw.target @@ -2048,11 +1937,6 @@ if [ $1 -ge 1 ] ; then fi fi -%if 0%{with seastar} -%files crimson-osd -%{_bindir}/crimson-osd -%endif - %if %{with ocf} %files resource-agents @@ -2098,6 +1982,12 @@ fi %{_includedir}/rados/page.h %{_includedir}/rados/rados_types.hpp +%if 0%{with python2} +%files -n python-rados +%{python_sitearch}/rados.so +%{python_sitearch}/rados-*.egg-info +%endif + %files -n python%{python3_pkgversion}-rados %{python3_sitearch}/rados.cpython*.so %{python3_sitearch}/rados-*.egg-info @@ -2161,10 +2051,22 @@ fi %{_libdir}/librgw_rados_tp.so %endif +%if 0%{with python2} +%files -n python-rgw +%{python_sitearch}/rgw.so +%{python_sitearch}/rgw-*.egg-info +%endif + %files -n python%{python3_pkgversion}-rgw %{python3_sitearch}/rgw.cpython*.so %{python3_sitearch}/rgw-*.egg-info +%if 0%{with python2} +%files -n python-rbd +%{python_sitearch}/rbd.so +%{python_sitearch}/rbd-*.egg-info +%endif + %files -n python%{python3_pkgversion}-rbd %{python3_sitearch}/rbd.cpython*.so %{python3_sitearch}/rbd-*.egg-info @@ -2183,22 +2085,31 @@ fi %{_includedir}/cephfs/ceph_statx.h %{_libdir}/libcephfs.so +%if 0%{with python2} +%files -n python-cephfs +%{python_sitearch}/cephfs.so +%{python_sitearch}/cephfs-*.egg-info +%{python_sitelib}/ceph_volume_client.py* +%endif + %files -n python%{python3_pkgversion}-cephfs %{python3_sitearch}/cephfs.cpython*.so %{python3_sitearch}/cephfs-*.egg-info %{python3_sitelib}/ceph_volume_client.py %{python3_sitelib}/__pycache__/ceph_volume_client.cpython*.py* +%if 0%{with python2} +%files -n python-ceph-argparse +%{python_sitelib}/ceph_argparse.py* +%{python_sitelib}/ceph_daemon.py* +%endif + %files -n python%{python3_pkgversion}-ceph-argparse %{python3_sitelib}/ceph_argparse.py %{python3_sitelib}/__pycache__/ceph_argparse.cpython*.py* %{python3_sitelib}/ceph_daemon.py %{python3_sitelib}/__pycache__/ceph_daemon.cpython*.py* -%files -n python%{python3_pkgversion}-ceph-common -%{python3_sitelib}/ceph -%{python3_sitelib}/ceph-*.egg-info - %if 0%{with cephfs_shell} %files -n cephfs-shell %{python3_sitelib}/cephfs_shell-*.egg-info @@ -2228,7 +2139,7 @@ fi %{_bindir}/ceph_test_* %{_bindir}/ceph-coverage %{_bindir}/ceph-debugpack -%{_bindir}/ceph-dedup-tool +%{_bindir}/cephdeduptool %{_mandir}/man8/ceph-debugpack.8* %dir %{_libdir}/ceph %{_libdir}/ceph/ceph-monstore-update-crush.sh @@ -2339,710 +2250,32 @@ if [ $1 -eq 0 ]; then fi exit 0 +%endif # with selinux + +%if 0%{with python2} +%files -n python-ceph-compat +# We need an empty %%files list for python-ceph-compat, to tell rpmbuild to +# actually build this meta package. %endif %files grafana-dashboards %if 0%{?suse_version} %attr(0755,root,root) %dir %{_sysconfdir}/grafana %attr(0755,root,root) %dir %{_sysconfdir}/grafana/dashboards -%endif %attr(0755,root,root) %dir %{_sysconfdir}/grafana/dashboards/ceph-dashboard +%else +%attr(0755,root,root) %dir %{_sysconfdir}/grafana/dashboards/ceph-dashboard +%endif %config %{_sysconfdir}/grafana/dashboards/ceph-dashboard/* %doc monitoring/grafana/dashboards/README %doc monitoring/grafana/README.md -%files prometheus-alerts %if 0%{?suse_version} -%attr(0755,root,root) %dir %{_sysconfdir}/prometheus +%files prometheus-alerts +%dir /etc/prometheus/SUSE/ +%dir /etc/prometheus/SUSE/default_rules/ +%config /etc/prometheus/SUSE/default_rules/ceph_default_alerts.yml %endif -%attr(0755,root,root) %dir %{_sysconfdir}/prometheus/ceph -%config %{_sysconfdir}/prometheus/ceph/ceph_default_alerts.yml - -%changelog -* Mon Jun 1 2020 Kaleb S. KEITHLEY - 2:15.2.3-1 -- ceph 15.2.3 GA - -* Mon May 18 2020 Kaleb S. KEITHLEY - 2:15.2.2-1 -- ceph 15.2.2 GA - -* Mon May 18 2020 Kaleb S. KEITHLEY - 2:15.2.1-2 -- ceph 15.2.1, gmock and gtest. (although gmock last built for f27) - -* Fri Apr 10 2020 Kaleb S. KEITHLEY - 2:15.2.1-1 -- ceph 15.2.1 GA - -* Mon Mar 23 2020 Kaleb S. KEITHLEY - 2:15.2.0-1 -- ceph 15.2.0 GA - -* Mon Mar 16 2020 Kaleb S. KEITHLEY - 2:15.1.1-2 -- ceph 15.1.1 fmt, rhbz#1805422 again - -* Mon Mar 16 2020 Kaleb S. KEITHLEY - 2:15.1.1-1 -- ceph 15.1.1 RC - -* Thu Mar 5 2020 Kaleb S. KEITHLEY - 2:15.1.0-3 -- ceph 15.1.0, rhbz#1809799 - -* Thu Feb 20 2020 Kaleb S. KEITHLEY - 2:15.1.0-2 -- ceph 15.1.0, fmt, rhbz#1805422 - -* Tue Feb 11 2020 Kaleb S. KEITHLEY - 2:15.1.0-1 -- ceph 15.1.0 RC - -* Mon Feb 3 2020 Kaleb S. KEITHLEY - 2:14.2.7-2 -- ceph 14.2.7 python3-remoto #1784216 - -* Sat Feb 1 2020 Kaleb S. KEITHLEY - 2:14.2.7-1 -- ceph 14.2.7 GA - -* Wed Jan 29 2020 Kaleb S. KEITHLEY - 2:14.2.6-4 -- ceph 14.2.6, https://tracker.ceph.com/issues/43649 - -* Mon Jan 27 2020 Kaleb S. KEITHLEY - 2:14.2.6-3 -- ceph 14.2.6, (temporarily) disable unit tests - -* Fri Jan 24 2020 Kaleb S. KEITHLEY -- ceph 14.2.6, gcc-10, missing includes - -* Thu Jan 9 2020 Kaleb S. KEITHLEY - 2:14.2.6-2 -- ceph 14.2.6 - -* Thu Jan 9 2020 Kaleb S. KEITHLEY - 2:14.2.6-1 -- ceph 14.2.6 GA - -* Tue Dec 10 2019 Kaleb S. KEITHLEY - 2:14.2.5-1 -- ceph 14.2.5 GA - -* Mon Nov 11 2019 Kaleb S. KEITHLEY - 2:14.2.4-3 -- ceph 14.2.4, fix typo - -* Tue Nov 5 2019 Kaleb S. KEITHLEY - 2:14.2.4-2 -- ceph 14.2.4, partial fix for bz#1768017 - -* Tue Sep 17 2019 Kaleb S. KEITHLEY - 2:14.2.4-1 -- ceph 14.2.4 GA - -* Wed Sep 4 2019 Kaleb S. KEITHLEY - 2:14.2.3-1 -- ceph 14.2.3 GA - -* Mon Aug 19 2019 Miro Hrončok - 2:14.2.2-3 -- Rebuilt for Python 3.8 - -* Wed Jul 24 2019 Fedora Release Engineering - 2:14.2.2-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild - -* Fri Jul 19 2019 Kaleb S. KEITHLEY - 2:14.2.2-1 -- ceph 14.2.2 GA - -* Tue May 28 2019 Kaleb S. KEITHLEY - 2:14.2.0-2 -- numpy -> python3-numpy, bz#1712203 (and why I like to keep upstream - and fedora .spec files in sync) - -* Wed May 8 2019 Kaleb S. KEITHLEY -- sync w/ upstream to minimize diffs/drift - -* Mon Apr 29 2019 Boris Ranto - 2:14.2.1-1 -- Rebase to latest upstream version (14.2.1) - -* Tue Mar 19 2019 Kaleb S. KEITHLEY - 2:14.2.0-1 -- ceph 14.2.0 GA - -* Wed Mar 13 2019 Boris Ranto - 2:14.1.1-1 -- Rebase to latest upstream version - -* Thu Mar 07 2019 Adam Williamson - 2:14.1.0-3 -- Return epoch to 2, epochs cannot ever go backwards - -* Wed Mar 6 2019 Kaleb S. KEITHLEY - 1:14.1.0-2 -- ceph 14.1.0 w/ static libcrc32 - -* Wed Feb 27 2019 Boris Ranto - 1:14.1.0-1 -- Rebase to v14.1.0 (updated for fixes in upstream nautilus branch) - -* Thu Feb 21 2019 Kaleb S. KEITHLEY - 1:14.0.1-2 -- Eliminate redundant CMAKE_* macros when using %%cmake global -- Add CMAKE_BUILD_TYPE=RelWithDeb(ug)Info and BUILD_CONFIG=rpmbuild - -* Wed Feb 20 2019 Kaleb S. KEITHLEY - 1:14.0.1-1 -- rebuild for f31/rawhide, including: -- use the %%{cmake} %%global to get all the extra Fedora cmake options. - (This is Fedora, so don't care so much about rhel/rhel7 cmake3.) -- reset epoch to 1. Note we use (have been using) epoch=1 in Fedora since - forever. I presume this is so that people can install Ceph RPMs from - ceph.com if they prefer those, which use epoch=2, and not run into issues - when updating. - -* Thu Feb 7 2019 Kaleb S. KEITHLEY - 2:14.0.1-4 -- w/ fixes for gcc9 - -* Thu Jan 31 2019 Fedora Release Engineering - 2:14.0.1-3 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild - -* Sat Dec 08 2018 Boris Ranto - 2:14.0.1-2 -- fix pyOpenSSL depemdency - -* Tue Dec 04 2018 Boris Ranto - 2:14.0.1-1 -- New release (2:14.0.1-1) -- Sync with upstream -- Drop 32-bit support - -* Wed Nov 21 2018 Boris Ranto - 2:13.2.2-1 -- New release (2:13.2.2-1) -- Sync with upstream - -* Mon Oct 29 2018 Kaleb S. KEITHLEY - 1:12.2.9-1 -- New release (1:12.2.9-1) - -* Wed Sep 12 2018 Kaleb S. KEITHLEY - 1:12.2.8-2 -- Fedora 30 python3. Note ceph-mgr subpackage, ceph-detect-init, ceph-disk, - ceph-volume, and ceph-volume-systemd are missing in this build - -* Fri Aug 31 2018 Kaleb S. KEITHLEY - 1:12.2.8-1 -- New release (1:12.2.8-1) - -* Wed Jul 18 2018 Kaleb S. KEITHLEY - 1:12.2.7-1 -- New release (1:12.2.7-1) - -* Thu Jul 12 2018 Fedora Release Engineering - 1:12.2.6-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild - -* Wed Jul 11 2018 Kaleb S. KEITHLEY - 1:12.2.6-1 -- New release (1:12.2.6-1) - -* Mon Jul 2 2018 Kaleb S. KEITHLEY - 1:12.2.5-3 -- New release (1:12.2.5-3) w/ python-3.7 - -* Fri Jun 29 2018 Kaleb S. KEITHLEY - 1:12.2.5-2 -- New release (1:12.2.5-2) - -* Fri Apr 27 2018 Kaleb S. KEITHLEY - 1:12.2.5-1 -- New release (1:12.2.5-1) - -* Fri Apr 13 2018 Rafael dos Santos - 1:12.2.4-2 -- Use standard Fedora linker flags (bug #1547552) - -* Fri Mar 2 2018 Kaleb S. KEITHLEY - 1:12.2.4-1 -- New release (1:12.2.4-1) -- rhbz#1446610, rhbz#1546611, cephbz#23039 - -* Wed Feb 21 2018 Kaleb S. KEITHLEY - 1:12.2.3-1 -- New release (1:12.2.3-1) - -* Thu Feb 15 2018 Kaleb S. KEITHLEY - 1:12.2.2-3 -- no ldconfig in F28 - -* Wed Feb 07 2018 Fedora Release Engineering - 1:12.2.2-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild - -* Tue Dec 5 2017 Kaleb S. KEITHLEY - 1:12.2.2-1 -- New release (1:12.2.2-1) -- Fix build error on arm - -* Thu Oct 05 2017 Boris Ranto - 1:12.2.1-2 -- Obsolete ceph-libs-compat package - -* Wed Sep 27 2017 Kaleb S. KEITHLEY - 1:12.2.1-1 -- New release (1:12.2.1-1) - -* Tue Aug 29 2017 Kaleb S. KEITHLEY - 1:12.2.0-1 -- New release (1:12.2.0-1) - -* Thu Aug 24 2017 Kaleb S. KEITHLEY - 1:12.1.4-5 -- libibverbs(-devel) is superceded by rdma-core(-devel), again - -* Thu Aug 24 2017 Kaleb S. KEITHLEY - 1:12.1.4-4 -- libibverbs(-devel) is superceded by rdma-core(-devel) - -* Tue Aug 22 2017 Adam Williamson - 1:12.1.4-3 -- Disable RDMA support on 32-bit ARM (#1484155) - -* Thu Aug 17 2017 Kaleb S. KEITHLEY - 1:12.1.4-2 -- fix %%epoch in comment, ppc64le lowmem_builder - -* Wed Aug 16 2017 Kaleb S. KEITHLEY - 1:12.1.4-1 -- New release (1:12.1.4-1) - -* Sat Aug 12 2017 Kaleb S. KEITHLEY - 1:12.1.3-1 -- New release (1:12.1.3-1) - -* Fri Aug 11 2017 Kaleb S. KEITHLEY - 1:12.1.2-3 -- rebuild with librpm.so.7 - -* Thu Aug 10 2017 Kaleb S. KEITHLEY - 1:12.1.2-2 -- Fix 32-bit alignment - -* Thu Aug 3 2017 Kaleb S. KEITHLEY - 1:12.1.2-1 -- New release (1:12.1.2-1) - -* Tue Aug 1 2017 Boris Ranto - 1:12.1.1-8 -- Fix ppc64 build - -* Tue Aug 1 2017 Kaleb S. KEITHLEY - 1:12.1.1-7 -- python34 and other nits -- still no fix for ppc64 -* Sun Jul 30 2017 Florian Weimer - 1:12.1.1-6 -- Reenable ppc64le, with binutils fix for ppc64le (#1475636) -* Fri Jul 28 2017 Kaleb S. KEITHLEY - 1:12.1.1-5 -- ppc64le disabled until bz #1475636 resolution - -* Fri Jul 28 2017 Kaleb S. KEITHLEY - 1:12.1.1-4 -- 12.1.1 w/ hacks for armv7hl: low mem, no java jni -- WTIH_BABELTRACE -> WITH_BABELTRACE for all archs -- still no fix for ppc64 - -* Wed Jul 26 2017 Fedora Release Engineering - 1:12.1.1-3 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild - -* Sat Jul 22 2017 Kaleb S. KEITHLEY - 1:12.1.1-2 -- 12.1.1 w/ rocksdb patch (i686) - -* Sat Jul 22 2017 Kaleb S. KEITHLEY - 1:12.1.1-1 -- New release (1:12.1.1-1) - -* Fri Jul 21 2017 Kaleb S. KEITHLEY - 1:12.1.1-0 -- New release (1:12.1.1-0) - -* Fri Jul 21 2017 Kalev Lember - 1:10.2.7-3 -- Rebuilt for Boost 1.64 - -* Mon May 15 2017 Fedora Release Engineering - 1:10.2.7-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_27_Mass_Rebuild - -* Mon Apr 17 2017 Kaleb S. KEITHLEY - 1:10.2.7-1 -- New release (1:10.2.7-1) - -* Wed Feb 08 2017 Boris Ranto - 1:10.2.5-2 -- New release (1:10.2.5-2) - -* Fri Jan 13 2017 Boris Ranto - 1:10.2.5-1 -- New release (1:10.2.5-1) -- hack: do not test for libxfs, assume it is present - -* Wed Dec 14 2016 Boris Ranto - 1:10.2.4-2 -- New version (1:10.2.4-2) -- This syncs up with the upstream 10.2.5 -- Doing it this way because of broken lookaside cache -- Fix the -devel obsoletes - -* Thu Dec 08 2016 Boris Ranto - 1:10.2.4-1 -- New version (1:10.2.4-1) -- Disable erasure_codelib neon build -- Use newer -devel package format -- Sync up the spec file - -* Wed Oct 26 2016 Ken Dreyer - 1:10.2.3-4 -- librgw: add API version defines for librgw and rgw_file - -* Wed Oct 26 2016 Ken Dreyer - 1:10.2.3-3 -- update patches style for rdopkg - -* Thu Sep 29 2016 Boris Ranto - 1:10.2.3-2 -- New release (1:10.2.3-2) -- common: instantiate strict_si_cast not - -* Thu Sep 29 2016 Boris Ranto - 1:10.2.3-1 -- New version (1:10.2.3-1) -- Disable erasure_codelib neon build - -* Sun Aug 07 2016 Igor Gnatenko - 1:10.2.2-4 -- Rebuild for LevelDB 1.18 - -* Tue Jul 19 2016 Fedora Release Engineering - 1:10.2.2-3 -- https://fedoraproject.org/wiki/Changes/Automatic_Provides_for_Python_RPM_Packages - -* Tue Jun 21 2016 Boris Ranto - 1:10.2.2-2 -- New release (1:10.2.2-2) -- fix tcmalloc handling in spec file - -* Mon Jun 20 2016 Boris Ranto - 1:10.2.2-1 -- New version (1:10.2.2-1) -- Disable erasure_codelib neon build -- Do not use -momit-leaf-frame-pointer flag - -* Mon May 16 2016 Boris Ranto - 1:10.2.1-1 -- New version (1:10.2.1-1) -- Disable erasure_codelib neon build -- Do not use -momit-leaf-frame-pointer flag - -* Fri May 06 2016 Dan Horák - 10.2.0-3 -- fix build on s390(x) - gperftools/tcmalloc not available there - -* Fri Apr 22 2016 Boris Ranto - 10.2.0-2 -- Do not use -momit-leaf-frame-pointer flag - -* Fri Apr 22 2016 Boris Ranto - - -- Rebase to version 10.2.0 -- Disable erasure_codelib neon build - -* Mon Apr 11 2016 Richard W.M. Jones - 1:9.2.0-5 -- Fix large startup times of processes linking to -lrbd. - Backport upstream commit 1c2831a2, fixes RHBZ#1319483. -- Add workaround for XFS header brokenness. - -* Wed Feb 03 2016 Fedora Release Engineering - 1:9.2.0-4 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild - -* Thu Jan 14 2016 Jonathan Wakely - 1:9.2.0-3 -- Rebuilt for Boost 1.60 - -* Mon Dec 14 2015 Dan Horák - 1:9.2.0-2 -- fix build on s390(x) - gperftools/tcmalloc not available there - -* Tue Nov 10 2015 Boris Ranto - 1:9.2.0-1 -- Rebase to latest stable upstream version (9.2.0 - infernalis) -- Use upstream spec file - -* Tue Oct 27 2015 Boris Ranto - 1:0.94.5-1 -- Rebase to latest upstream version - -* Tue Oct 20 2015 Boris Ranto - 1:0.94.4-1 -- Rebase to latest upstream version -- The rtdsc patch got merged upstream and is already present in the release - -* Thu Aug 27 2015 Jonathan Wakely - 1:0.94.3-2 -- Rebuilt for Boost 1.59 - -* Thu Aug 27 2015 Boris Ranto - 1:0.94.3-1 -- Rebase to latest upstream version -- The boost patch got merged upstream and is already present in the release - -* Fri Jul 31 2015 Richard W.M. Jones - 1:0.94.2-4 -- Fix build against boost 1.58 (http://tracker.ceph.com/issues/11576). - -* Wed Jul 29 2015 Fedora Release Engineering - 1:0.94.2-3 -- Rebuilt for https://fedoraproject.org/wiki/Changes/F23Boost159 - -* Wed Jul 22 2015 David Tardon - 1:0.94.2-2 -- rebuild for Boost 1.58 - -* Thu Jul 16 2015 Boris Ranto - 1:0.94.2-1 -- Rebase to latest upstream version - -* Wed Jun 17 2015 Fedora Release Engineering - 1:0.94.1-5 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild - -* Mon Jun 08 2015 Dan Horák - 1:0.94.1-4 -- fix build on s390(x) - no gperftools there - -* Thu May 21 2015 Boris Ranto - 1:0.94.1-3 -- Disable lttng support (rhbz#1223319) - -* Mon May 18 2015 Boris Ranto - 1:0.94.1-2 -- Fix arm linking issue (rhbz#1222286) - -* Tue Apr 14 2015 Boris Ranto - 1:0.94.1-1 -- Rebase to latest upstream version and sync-up the spec file -- Add arm compilation patches - -* Wed Apr 01 2015 Ken Dreyer - 1:0.87.1-3 -- add version numbers to Obsoletes (RHBZ #1193182) - -* Wed Mar 4 2015 Boris Ranto - 1:0.87.1-2 -- Perform a hardened build -- Use git-formatted patches -- Add patch for pthreads rwlock unlock problem -- Do not remove conf files on uninstall -- Remove the cleanup function, it is only necessary for f20 and f21 - -* Wed Feb 25 2015 Boris Ranto - 1:0.87.1-1 -- Rebase to latest upstream -- Remove boost patch, it is in upstream tarball -- Build with yasm, tarball contains fix for the SELinux issue - -* Thu Jan 29 2015 Petr Machata - 1:0.87-2 -- Rebuild for boost 1.57.0 -- Include instead of - . Keep the old dumping behavior in - osd/ECBackend.cc (ceph-0.87-boost157.patch) - -* Mon Nov 3 2014 Boris Ranto - 1:0.87-1 -- Rebase to latest major version (firefly -> giant) - -* Thu Oct 16 2014 Boris Ranto - 1:0.80.6-3 -- Fix a typo in librados-devel vs librados2-devel dependency - -* Fri Oct 10 2014 Boris Ranto - 1:0.80.6-2 -- Provide empty file list for python-ceph-compat and ceph-devel-compat - -* Fri Oct 10 2014 Boris Ranto - 1:0.80.6-1 -- Rebase to 0.80.6 -- Split ceph-devel and python-ceph packages - -* Tue Sep 9 2014 Dan Horák - 1:0.80.5-10 -- update Requires for s390(x) - -* Wed Sep 3 2014 Boris Ranto - 1:0.80.5-9 -- Symlink librd.so.1 to /usr/lib64/qemu only on rhel6+ x86_64 (1136811) - -* Thu Aug 21 2014 Boris Ranto - 1:0.80.5-8 -- Revert the previous change -- Fix bz 1118504, second attempt (yasm appears to be the package that caused this -- Fix bogus dates - -* Wed Aug 20 2014 Boris Ranto - 1:0.80.5-7 -- Several more merges from file to try to fix the selinux issue (1118504) - -* Sun Aug 17 2014 Kalev Lember - 1:0.80.5-6 -- Obsolete ceph-libcephfs - -* Sat Aug 16 2014 Boris Ranto - 1:0.80.5-5 -- Do not require xfsprogs/xfsprogs-devel for el6 -- Require gperftools-devel for non-ppc*/s390* architectures only -- Do not require junit -- no need to build libcephfs-test.jar -- Build without libxfs for el6 -- Build without tcmalloc for ppc*/s390* architectures -- Location of mkcephfs must depend on a rhel release -- Use epoch in the Requires fields [1130700] - -* Sat Aug 16 2014 Boris Ranto - 1:0.80.5-4 -- Use the proper version name in Obsoletes - -* Fri Aug 15 2014 Fedora Release Engineering - 1:0.80.5-3 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild - -* Fri Aug 15 2014 Boris Ranto - 1:0.80.5-2 -- Add the arm pthread hack - -* Fri Aug 15 2014 Boris Ranto - 1:0.80.5-1 -- Bump the Epoch, we need to keep the latest stable, not development, ceph version in fedora -- Use the upstream spec file with the ceph-libs split -- Add libs-compat subpackage [1116546] -- use fedora in rhel 7 checks -- obsolete libcephfs [1116614] -- depend on redhat-lsb-core for the initscript [1108696] - -* Wed Aug 13 2014 Kalev Lember - 0.81.0-6 -- Add obsoletes to keep the upgrade path working (#1118510) - -* Mon Jul 7 2014 Kaleb S. KEITHLEY - 0.81.0-5 -- revert to old spec until after f21 branch - -* Fri Jul 4 2014 Kaleb S. KEITHLEY -- temporary exclude f21/armv7hl. N.B. it builds fine on f20/armv7hl. - -* Fri Jul 4 2014 Kaleb S. KEITHLEY - 0.81.0-4 -- upstream ceph.spec file - -* Tue Jul 1 2014 Kaleb S. KEITHLEY - 0.81.0-3 -- upstream ceph.spec file - -* Sat Jun 07 2014 Fedora Release Engineering - 0.81.0-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild - -* Thu Jun 5 2014 Kaleb S. KEITHLEY -- el6 ppc64 likewise for tcmalloc, merge from origin/el6 - -* Thu Jun 5 2014 Kaleb S. KEITHLEY -- el6 ppc64 does not have gperftools, merge from origin/el6 - -* Thu Jun 5 2014 Kaleb S. KEITHLEY - 0.81.0-1 -- ceph-0.81.0 - -* Wed Jun 4 2014 Peter Robinson 0.80.1-5 -- gperftools now available on aarch64/ppc64 - -* Fri May 23 2014 Petr Machata - 0.80.1-4 -- Rebuild for boost 1.55.0 - -* Fri May 23 2014 David Tardon - 0.80.1-3 -- rebuild for boost 1.55.0 - -* Wed May 14 2014 Kaleb S. KEITHLEY - 0.80.1-2 -- build epel-6 -- exclude %%{_libdir}/ceph/erasure-code in base package - -* Tue May 13 2014 Kaleb S. KEITHLEY - 0.80.1-1 -- Update to latest stable upstream release, BZ 1095201 -- PIE, _hardened_build, BZ 955174 - -* Thu Feb 06 2014 Ken Dreyer - 0.72.2-2 -- Move plugins from -devel into -libs package (#891993). Thanks Michael - Schwendt. - -* Mon Jan 06 2014 Ken Dreyer 0.72.2-1 -- Update to latest stable upstream release -- Use HTTPS for URLs -- Submit Automake 1.12 patch upstream -- Move unversioned shared libs from ceph-libs into ceph-devel - -* Wed Dec 18 2013 Marcin Juszkiewicz 0.67.3-4 -- build without tcmalloc on aarch64 (no gperftools) - -* Sat Nov 30 2013 Peter Robinson 0.67.3-3 -- gperftools not currently available on aarch64 - -* Mon Oct 07 2013 Dan Horák - 0.67.3-2 -- fix build on non-x86_64 64-bit arches - -* Wed Sep 11 2013 Josef Bacik - 0.67.3-1 -- update to 0.67.3 - -* Wed Sep 11 2013 Michael Schwendt - 0.61.7-3 -- let base package include all its documentation files via %%doc magic, - so for Fedora 20 Unversioned Docdirs no files are included accidentally -- include the sample config files again (instead of just an empty docdir - that has been added for #846735) -- don't include librbd.so.1 also in -devel package (#1003202) -- move one misplaced rados plugin from -devel into -libs package (#891993) -- include missing directories in -devel and -libs packages -- move librados-config into the -devel pkg where its manual page is, too -- add %%_isa to subpackage dependencies -- don't use %%defattr anymore -- add V=1 to make invocation for verbose build output - -* Wed Jul 31 2013 Peter Robinson 0.61.7-2 -- re-enable tmalloc on arm now gperftools is fixed - -* Mon Jul 29 2013 Josef Bacik - 0.61.7-1 -- Update to 0.61.7 - -* Sat Jul 27 2013 pmachata@redhat.com - 0.56.4-2 -- Rebuild for boost 1.54.0 - -* Fri Mar 29 2013 Josef Bacik - 0.56.4-1 -- Update to 0.56.4 -- Add upstream d02340d90c9d30d44c962bea7171db3fe3bfba8e to fix logrotate - -* Wed Feb 20 2013 Josef Bacik - 0.56.3-1 -- Update to 0.56.3 - -* Mon Feb 11 2013 Richard W.M. Jones - 0.53-2 -- Rebuilt to try to fix boost dependency problem in Rawhide. - -* Thu Nov 1 2012 Josef Bacik - 0.53-1 -- Update to 0.53 - -* Mon Sep 24 2012 Jonathan Dieter - 0.51-3 -- Fix automake 1.12 error -- Rebuild after buildroot was messed up - -* Tue Sep 18 2012 Jonathan Dieter - 0.51-2 -- Use system leveldb - -* Fri Sep 07 2012 David Nalley - 0.51-1 -- Updating to 0.51 -- Updated url and source url. - -* Wed Jul 18 2012 Fedora Release Engineering - 0.46-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild - -* Wed May 9 2012 Josef Bacik - 0.46-1 -- updated to upstream 0.46 -- broke out libcephfs (rhbz# 812975) - -* Mon Apr 23 2012 Dan Horák - 0.45-2 -- fix detection of C++11 atomic header - -* Thu Apr 12 2012 Josef Bacik - 0.45-1 -- updating to upstream 0.45 - -* Wed Apr 4 2012 Niels de Vos - 0.44-5 -- Add LDFLAGS=-lpthread on any ARM architecture -- Add CFLAGS=-DAO_USE_PTHREAD_DEFS on ARMv5tel - -* Mon Mar 26 2012 Dan Horák 0.44-4 -- gperftools not available also on ppc - -* Mon Mar 26 2012 Jonathan Dieter - 0.44-3 -- Remove unneeded patch - -* Sun Mar 25 2012 Jonathan Dieter - 0.44-2 -- Update to 0.44 -- Fix build problems - -* Mon Mar 5 2012 Jonathan Dieter - 0.43-1 -- Update to 0.43 -- Remove upstreamed compile fixes patch -- Remove obsoleted dump_pop patch - -* Tue Feb 28 2012 Fedora Release Engineering - 0.41-2 -- Rebuilt for c++ ABI breakage - -* Thu Feb 16 2012 Tom Callaway 0.41-1 -- update to 0.41 -- fix issues preventing build -- rebuild against gperftools - -* Sat Dec 03 2011 David Nalley 0.38-1 -- updating to upstream 0.39 - -* Sat Nov 05 2011 David Nalley 0.37-1 -- create /etc/ceph - bug 745462 -- upgrading to 0.37, fixing 745460, 691033 -- fixing various logrotate bugs 748930, 747101 - -* Fri Aug 19 2011 Dan Horák 0.31-4 -- google-perftools not available also on s390(x) - -* Mon Jul 25 2011 Karsten Hopp 0.31-3 -- build without tcmalloc on ppc64, BR google-perftools is not available there - -* Tue Jul 12 2011 Josef Bacik 0.31-2 -- Remove curl/types.h include since we don't use it anymore - -* Tue Jul 12 2011 Josef Bacik 0.31-1 -- Update to 0.31 - -* Tue Apr 5 2011 Josef Bacik 0.26-2 -- Add the compile fix patch - -* Tue Apr 5 2011 Josef Bacik 0.26 -- Update to 0.26 - -* Tue Mar 22 2011 Josef Bacik 0.25.1-1 -- Update to 0.25.1 - -* Tue Feb 08 2011 Fedora Release Engineering - 0.21.3-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild - -* Wed Sep 29 2010 Steven Pritchard 0.21.3-1 -- Update to 0.21.3. - -* Mon Aug 30 2010 Steven Pritchard 0.21.2-1 -- Update to 0.21.2. - -* Thu Aug 26 2010 Steven Pritchard 0.21.1-1 -- Update to 0.21.1. -- Sample configs moved to /usr/share/doc/ceph/. -- Added cclass, rbd, and cclsinfo. -- Dropped mkmonfs and rbdtool. -- mkcephfs moved to /sbin. -- Add libcls_rbd.so. - -* Tue Jul 6 2010 Josef Bacik 0.20.2-1 -- update to 0.20.2 - -* Wed May 5 2010 Josef Bacik 0.20-1 -- update to 0.20 -- disable hadoop building -- remove all the test binaries properly - -* Fri Apr 30 2010 Sage Weil 0.19.1-5 -- Remove java deps (no need to build hadoop by default) -- Include all required librados helpers -- Include fetch_config sample -- Include rbdtool -- Remove misc debugging, test binaries - -* Fri Apr 30 2010 Josef Bacik 0.19.1-4 -- Add java-devel and java tricks to get hadoop to build - -* Mon Apr 26 2010 Josef Bacik 0.19.1-3 -- Move the rados and cauthtool man pages into the base package - -* Sun Apr 25 2010 Jonathan Dieter 0.19.1-2 -- Add missing libhadoopcephfs.so* to file list -- Add COPYING to all subpackages -- Fix ownership of /usr/lib[64]/ceph -- Enhance description of fuse client - -* Tue Apr 20 2010 Josef Bacik 0.19.1-1 -- Update to 0.19.1 - -* Mon Feb 8 2010 Josef Bacik 0.18-1 -- Initial spec file creation, based on the template provided in the ceph src +%changelog