diff --git a/ceph.spec b/ceph.spec index 85925e0..aea5e00 100644 --- a/ceph.spec +++ b/ceph.spec @@ -27,6 +27,7 @@ %bcond_without ocf %bcond_with make_check +%bcond_without ceph_test_package %ifarch s390 s390x %bcond_with tcmalloc %else @@ -44,7 +45,6 @@ %endif %if 0%{?suse_version} %bcond_with selinux -%bcond_with ceph_test_package %bcond_with cephfs_java %bcond_with amqp_endpoint #Compat macro for new _fillupdir macro introduced in Nov 2017 @@ -92,6 +92,7 @@ %{!?_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} # define _python_buildid macro which will expand to the empty string when # building with python2 @@ -107,8 +108,8 @@ # main package definition ################################################################################# Name: ceph -Version: 14.2.4 -Release: 3%{?dist} +Version: 14.2.5 +Release: 1%{?dist} %if 0%{?fedora} || 0%{?rhel} Epoch: 2 %endif @@ -124,7 +125,6 @@ Group: System/Filesystems %endif URL: http://ceph.com/ Source0: %{?_remote_tarball_prefix}ceph-%{version}.tar.gz -Patch001: 0001-s390x-A-compile-hack.patch Patch002: 0002-src-common-CMakeLists.txt.patch # ceph ≥ 14.0.1 does not support 32-bit architectures, bugs #1727788, #1727787 ExcludeArch: i686 armv7hl @@ -155,7 +155,11 @@ BuildRequires: fuse-devel %if 0%{?rhel} == 7 # devtoolset offers newer make and valgrind-devel, but the old ones are good # enough. +%ifarch x86_64 +BuildRequires: devtoolset-8-gcc-c++ >= 8.2.1 +%else BuildRequires: devtoolset-7-gcc-c++ >= 7.3.1-5.13 +%endif %else BuildRequires: gcc-c++ %endif @@ -172,14 +176,16 @@ BuildRequires: leveldb-devel > 1.2 BuildRequires: libaio-devel BuildRequires: libblkid-devel >= 2.17 BuildRequires: libcurl-devel +BuildRequires: libcap-ng-devel BuildRequires: libudev-devel +BuildRequires: libnl3-devel BuildRequires: liboath-devel BuildRequires: libtool BuildRequires: libxml2-devel -BuildRequires: libuuid-devel BuildRequires: make BuildRequires: ncurses-devel BuildRequires: parted +BuildRequires: patch BuildRequires: perl BuildRequires: pkgconfig BuildRequires: procps @@ -198,6 +204,7 @@ BuildRequires: yasm BuildRequires: librabbitmq-devel %if 0%{with make_check} BuildRequires: jq +BuildRequires: libuuid-devel BuildRequires: python%{_python_buildid}-bcrypt BuildRequires: python%{_python_buildid}-coverage BuildRequires: python%{_python_buildid}-nose @@ -228,6 +235,7 @@ BuildRequires: pkgconfig(systemd) BuildRequires: systemd-rpm-macros %{?systemd_requires} PreReq: %fillup_prereq +BuildRequires: fdupes BuildRequires: net-tools BuildRequires: libbz2-devel BuildRequires: mozilla-nss-devel @@ -261,7 +269,11 @@ BuildRequires: CUnit-devel BuildRequires: redhat-lsb-core BuildRequires: python%{python3_pkgversion}-devel BuildRequires: python%{python3_pkgversion}-setuptools +%if 0%{?rhel} +BuildRequires: python%{python3_version_nodots}-Cython +%else BuildRequires: python%{python3_pkgversion}-Cython +%endif BuildRequires: python%{_python_buildid}-prettytable BuildRequires: python%{_python_buildid}-sphinx BuildRequires: lz4-devel >= 1.7 @@ -442,6 +454,7 @@ 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-ssh = %{_epoch_prefix}%{version}-%{release} %endif %description mgr @@ -516,6 +529,18 @@ Requires: ceph-mgr = %{_epoch_prefix}%{version}-%{release} ceph-mgr-rook is a ceph-mgr plugin for orchestration functions using a Rook backend. +%package mgr-k8sevents +BuildArch: noarch +Summary: Ceph Manager plugin to orchestrate ceph-events to kubernetes' events API +%if 0%{?suse_version} +Group: System/Filesystems +%endif +Requires: ceph-mgr = %{_epoch_prefix}%{version}-%{release} +Requires: python%{_python_buildid}-kubernetes +%description mgr-k8sevents +ceph-mgr-k8sevents is a ceph-mgr plugin that sends every ceph-events +to kubernetes' events API + %package mgr-ssh Summary: ceph-mgr ssh module BuildArch: noarch @@ -688,6 +713,7 @@ 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} Provides: python3-rgw = %{_epoch_prefix}%{version}-%{release} %if 0%{without python2} @@ -706,6 +732,11 @@ Group: Development/Libraries/Python %endif 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. @@ -717,6 +748,7 @@ Summary: Python 2 libraries for the RADOS object store 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 @@ -730,7 +762,7 @@ Group: Development/Libraries/Python %endif Requires: python%{python3_pkgversion} Requires: librados2 = %{_epoch_prefix}%{version}-%{release} -Provides: python3-rados = %{_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} @@ -808,6 +840,7 @@ 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 @@ -821,6 +854,7 @@ Group: Development/Libraries/Python %endif Requires: librbd1 = %{_epoch_prefix}%{version}-%{release} Requires: python%{python3_pkgversion}-rados = %{_epoch_prefix}%{version}-%{release} +%{?python_provide:%python_provide python%{python3_pkgversion}-rbd} %if 0%{without python2} Provides: python-rbd = %{_epoch_prefix}%{version}-%{release} Obsoletes: python-rbd < %{_epoch_prefix}%{version}-%{release} @@ -868,6 +902,7 @@ Group: Development/Libraries/Python 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 @@ -882,7 +917,7 @@ Group: Development/Libraries/Python 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} -Provides: python3-cephfs = %{_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} @@ -909,7 +944,7 @@ Summary: Python 3 utility libraries for Ceph CLI %if 0%{?suse_version} Group: Development/Libraries/Python %endif -Provides: python3-ceph-argparse = %{_epoch_prefix}%{version}-%{release} +%{?python_provide:%python_provide python%{python3_pkgversion}-ceph-argparse} %description -n python%{python3_pkgversion}-ceph-argparse This package contains types and routines for Python 3 used by the Ceph CLI as well as the RESTful interface. These have to do with querying the daemons for @@ -1065,7 +1100,7 @@ This package provides Ceph’s default alerts for Prometheus. %define _lto_cflags %{nil} %if 0%{?rhel} == 7 -. /opt/rh/devtoolset-7/enable +. /opt/rh/devtoolset-8/enable %endif %if 0%{with cephfs_java} @@ -1245,6 +1280,8 @@ mkdir -p %{buildroot}%{_localstatedir}/lib/ceph/bootstrap-rbd-mirror %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 %if 0%{?rhel} == 8 %py_byte_compile %{__python3} %{buildroot}%{python3_sitelib} @@ -1628,6 +1665,19 @@ if [ $1 -eq 1 ] ; then /usr/bin/systemctl try-restart ceph-mgr.target >/dev/null 2>&1 || : fi +%files mgr-k8sevents +%{_datadir}/ceph/mgr/k8sevents + +%post mgr-k8sevents +if [ $1 -eq 1 ] ; then + /usr/bin/systemctl try-restart ceph-mgr.target >/dev/null 2>&1 || : +fi + +%postun mgr-k8sevents +if [ $1 -eq 1 ] ; then + /usr/bin/systemctl try-restart ceph-mgr.target >/dev/null 2>&1 || : +fi + %files mgr-ssh %{_datadir}/ceph/mgr/ssh @@ -1891,6 +1941,7 @@ fi %if %{with lttng} %{_libdir}/librados_tp.so.* %endif +%dir %{_sysconfdir}/ceph %post -n librados2 -p /sbin/ldconfig @@ -1967,8 +2018,8 @@ fi %{_libdir}/librgw.so.* %{_libdir}/librgw_admin_user.so.* %if %{with lttng} -%{_libdir}/librgw_op_tp.so* -%{_libdir}/librgw_rados_tp.so* +%{_libdir}/librgw_op_tp.so.* +%{_libdir}/librgw_rados_tp.so.* %endif %post -n librgw2 -p /sbin/ldconfig @@ -1982,6 +2033,10 @@ fi %{_includedir}/rados/rgw_file.h %{_libdir}/librgw.so %{_libdir}/librgw_admin_user.so +%if %{with lttng} +%{_libdir}/librgw_op_tp.so +%{_libdir}/librgw_rados_tp.so +%endif %if 0%{with python2} %files -n python-rgw @@ -2005,6 +2060,7 @@ fi %files -n libcephfs2 %{_libdir}/libcephfs.so.* +%dir %{_sysconfdir}/ceph %post -n libcephfs2 -p /sbin/ldconfig @@ -2209,6 +2265,9 @@ exit 0 %endif %changelog +* 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 diff --git a/sources b/sources index c0d9443..3c8c5c7 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (ceph-14.2.4.tar.gz) = dc60321ed4dcaccacca711ab70c35011b5dfc6b8369016fb413a9976199ed4ba22c7dc87ba1ebaf1118513dee1a0c263c99ab137f27fc03c55e8a0625a3bdcc0 +SHA512 (ceph-14.2.5.tar.gz) = 38da62a38960d3618e2689f0e882785d4d95358b4a3b3b5b83e54e227cff9e69f4cca0b63d2d55d69e3916055818e6cf9067f2c2eddeb221ef4bc64a13cfa22b