SHA256
1
0
forked from pool/ceph

Accepting request 570169 from filesystems:ceph:mimic

bsc#1076403

OBS-URL: https://build.opensuse.org/request/show/570169
OBS-URL: https://build.opensuse.org/package/show/filesystems:ceph/ceph?expand=0&rev=154
This commit is contained in:
Nathan Cutler 2018-01-27 06:05:44 +00:00 committed by Git OBS Bridge
parent 997c2c272d
commit 7139902c9a
7 changed files with 358 additions and 203 deletions

View File

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:13cf2325f95e99d5c187a7a39bb13be76410bcef4d829b1a46117db47d0a7e6c
size 64163067

View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:4cf48e6900eabcde136c82626aaedf7f2cefb0ccc964304bf7ac3f05afbcec35
size 66005356

View File

@ -3,3 +3,7 @@ addFilter("shlib-fixed-dependency")
addFilter("ceph-base.*devel-file-in-non-devel-package.*erasure-code") addFilter("ceph-base.*devel-file-in-non-devel-package.*erasure-code")
addFilter("ceph-base.*devel-file-in-non-devel-package.*compressor") addFilter("ceph-base.*devel-file-in-non-devel-package.*compressor")
addFilter("ceph-base.*devel-file-in-non-devel-package.*rados-classes") addFilter("ceph-base.*devel-file-in-non-devel-package.*rados-classes")
addFilter("ceph-base.*devel-file-in-non-devel-package.*libceph_crypto")
addFilter("ceph-base.*devel-file-in-non-devel-package.*libos_tp")
addFilter("ceph-base.*devel-file-in-non-devel-package.*libosd_tp")
addFilter("librados2.*devel-file-in-non-devel-package.*libceph-common")

View File

@ -1,3 +1,19 @@
-------------------------------------------------------------------
Fri Jan 26 19:03:21 UTC 2018 - ncutler@suse.com
- Update to version 13.0.0-5168-g80cf1407d9:
+ rebase to latest upstream master
+ eliminate Python 2 dependencies (bsc#1076403)
-------------------------------------------------------------------
Mon Nov 27 13:49:47 UTC 2017 - ncutler@suse.com
- ceph-rpmlintrc: add lines to quash RPMLINT warnings
+ ceph-base.x86_64: E: devel-file-in-non-devel-package (Badness: 50) /usr/lib64/ceph/crypto/libceph_crypto_isal.so
+ librados2.x86_64: E: devel-file-in-non-devel-package (Badness: 50) /usr/lib64/ceph/libceph-common.so
+ ceph-base.x86_64: E: devel-file-in-non-devel-package (Badness: 50) /usr/lib64/libos_tp.so
+ ceph-base.x86_64: E: devel-file-in-non-devel-package (Badness: 50) /usr/lib64/libosd_tp.so
------------------------------------------------------------------- -------------------------------------------------------------------
Sat Nov 25 21:33:23 UTC 2017 - ncutler@suse.com Sat Nov 25 21:33:23 UTC 2017 - ncutler@suse.com

View File

@ -21,18 +21,16 @@
%bcond_without tcmalloc %bcond_without tcmalloc
%endif %endif
%if 0%{?fedora} || 0%{?rhel} %if 0%{?fedora} || 0%{?rhel}
%bcond_without lttng
%bcond_without selinux %bcond_without selinux
%bcond_without ceph_test_package %bcond_without ceph_test_package
%bcond_without cephfs_java %bcond_without cephfs_java
%bcond_with lowmem_builder %bcond_without lttng
%global _remote_tarball_prefix https://download.ceph.com/tarballs/ %global _remote_tarball_prefix https://download.ceph.com/tarballs/
%endif %endif
%if 0%{?suse_version} %if 0%{?suse_version}
%bcond_with selinux %bcond_with selinux
%bcond_without ceph_test_package %bcond_without ceph_test_package
%bcond_with cephfs_java %bcond_with cephfs_java
%bcond_without lowmem_builder
#Compat macro for new _fillupdir macro introduced in Nov 2017 #Compat macro for new _fillupdir macro introduced in Nov 2017
%if ! %{defined _fillupdir} %if ! %{defined _fillupdir}
%global _fillupdir /var/adm/fillup-templates %global _fillupdir /var/adm/fillup-templates
@ -47,6 +45,12 @@
%endif %endif
%endif %endif
%endif %endif
%if 0%{?suse_version} >= 1500
%bcond_with python2
%global _defined_if_python2_absent 1
%else
%bcond_without python2
%endif
%if %{with selinux} %if %{with selinux}
# get selinux policy version # get selinux policy version
@ -56,6 +60,9 @@
%{!?_udevrulesdir: %global _udevrulesdir /lib/udev/rules.d} %{!?_udevrulesdir: %global _udevrulesdir /lib/udev/rules.d}
%{!?tmpfiles_create: %global tmpfiles_create systemd-tmpfiles --create} %{!?tmpfiles_create: %global tmpfiles_create systemd-tmpfiles --create}
%{!?python3_pkgversion: %global python3_pkgversion 3} %{!?python3_pkgversion: %global python3_pkgversion 3}
# 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 # unify libexec for all targets
%global _libexecdir %{_exec_prefix}/lib %global _libexecdir %{_exec_prefix}/lib
@ -68,7 +75,7 @@
################################################################################# #################################################################################
Name: ceph-test Name: ceph-test
Version: 13.0.0 Version: 13.0.0
Release: 3535.g8b10d08c04%{?dist} Release: 5168.g80cf1407d9%{?dist}.<B_CNT>
%if 0%{?fedora} || 0%{?rhel} %if 0%{?fedora} || 0%{?rhel}
Epoch: 2 Epoch: 2
%endif %endif
@ -83,7 +90,7 @@ License: LGPL-2.1 and CC-BY-SA-1.0 and GPL-2.0 and BSL-1.0 and BSD-3-Clause and
Group: System/Filesystems Group: System/Filesystems
%endif %endif
URL: http://ceph.com/ URL: http://ceph.com/
Source0: %{?_remote_tarball_prefix}ceph-13.0.0-3535-g8b10d08c04.tar.bz2 Source0: %{?_remote_tarball_prefix}ceph-13.0.0-5168-g80cf1407d9.tar.bz2
%if 0%{?suse_version} %if 0%{?suse_version}
Source96: checkin.sh Source96: checkin.sh
Source97: README-checkin.txt Source97: README-checkin.txt
@ -103,7 +110,7 @@ ExclusiveArch: x86_64 aarch64 ppc64le
Requires: ceph-common Requires: ceph-common = %{_epoch_prefix}%{version}-%{release}
Requires: xmlstarlet Requires: xmlstarlet
Requires: jq Requires: jq
Requires: socat Requires: socat
@ -116,25 +123,18 @@ BuildRequires: sharutils
BuildRequires: checkpolicy BuildRequires: checkpolicy
BuildRequires: selinux-policy-devel BuildRequires: selinux-policy-devel
%endif %endif
%if 0%{with make_check}
%if 0%{?fedora} || 0%{?rhel}
BuildRequires: python-cherrypy
BuildRequires: python-werkzeug
%endif
%if 0%{?suse_version}
BuildRequires: python-CherryPy
BuildRequires: python-Werkzeug
BuildRequires: python-numpy-devel
%endif
BuildRequires: python-pecan
BuildRequires: socat
%endif
BuildRequires: bc BuildRequires: bc
BuildRequires: gperf BuildRequires: gperf
BuildRequires: cmake BuildRequires: cmake
BuildRequires: cryptsetup BuildRequires: cryptsetup
BuildRequires: fuse-devel 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++
%else
BuildRequires: gcc-c++ BuildRequires: gcc-c++
%endif
BuildRequires: gdbm BuildRequires: gdbm
%if 0%{with tcmalloc} %if 0%{with tcmalloc}
BuildRequires: gperftools-devel >= 2.4 BuildRequires: gperftools-devel >= 2.4
@ -147,19 +147,21 @@ BuildRequires: libcurl-devel
BuildRequires: libudev-devel BuildRequires: libudev-devel
BuildRequires: libtool BuildRequires: libtool
BuildRequires: libxml2-devel BuildRequires: libxml2-devel
BuildRequires: libuuid-devel
BuildRequires: make BuildRequires: make
BuildRequires: parted BuildRequires: parted
BuildRequires: perl BuildRequires: perl
BuildRequires: pkgconfig BuildRequires: pkgconfig
%if %{with lowmem_builder}
BuildRequires: procps BuildRequires: procps
%endif BuildRequires: python%{_python_buildid}
BuildRequires: python BuildRequires: python%{_python_buildid}-devel
BuildRequires: python-devel BuildRequires: python%{_python_buildid}-nose
BuildRequires: python-nose BuildRequires: python%{_python_buildid}-requests
BuildRequires: python-requests BuildRequires: python%{_python_buildid}-virtualenv
BuildRequires: python-virtualenv
BuildRequires: snappy-devel BuildRequires: snappy-devel
%if 0%{with make_check}
BuildRequires: socat
%endif
BuildRequires: udev BuildRequires: udev
BuildRequires: util-linux BuildRequires: util-linux
BuildRequires: valgrind-devel BuildRequires: valgrind-devel
@ -187,9 +189,10 @@ BuildRequires: libopenssl-devel
BuildRequires: lsb-release BuildRequires: lsb-release
BuildRequires: openldap2-devel BuildRequires: openldap2-devel
BuildRequires: cunit-devel BuildRequires: cunit-devel
BuildRequires: python-Cython BuildRequires: python%{_python_buildid}-base
BuildRequires: python-PrettyTable BuildRequires: python%{_python_buildid}-Cython
BuildRequires: python-Sphinx BuildRequires: python%{_python_buildid}-PrettyTable
BuildRequires: python%{_python_buildid}-Sphinx
BuildRequires: rdma-core-devel BuildRequires: rdma-core-devel
%endif %endif
%if 0%{?fedora} || 0%{?rhel} %if 0%{?fedora} || 0%{?rhel}
@ -203,9 +206,9 @@ BuildRequires: openldap-devel
BuildRequires: openssl-devel BuildRequires: openssl-devel
BuildRequires: CUnit-devel BuildRequires: CUnit-devel
BuildRequires: redhat-lsb-core BuildRequires: redhat-lsb-core
BuildRequires: Cython BuildRequires: Cython%{_python_buildid}
BuildRequires: python-prettytable BuildRequires: python%{_python_buildid}-prettytable
BuildRequires: python-sphinx BuildRequires: python%{_python_buildid}-sphinx
%endif %endif
# python34-... for RHEL, python3-... for all other supported distros # python34-... for RHEL, python3-... for all other supported distros
%if 0%{?rhel} %if 0%{?rhel}
@ -217,6 +220,20 @@ BuildRequires: python3-devel
BuildRequires: python3-setuptools BuildRequires: python3-setuptools
BuildRequires: python3-Cython BuildRequires: python3-Cython
%endif %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}-pecan
BuildRequires: python%{_python_buildid}-werkzeug
%endif
%if 0%{?suse_version}
BuildRequires: python%{_python_buildid}-CherryPy
BuildRequires: python%{_python_buildid}-Werkzeug
BuildRequires: python%{_python_buildid}-pecan
BuildRequires: python%{_python_buildid}-numpy-devel
%endif
%endif
# lttng and babeltrace for rbd-replay-prep # lttng and babeltrace for rbd-replay-prep
%if %{with lttng} %if %{with lttng}
%if 0%{?fedora} || 0%{?rhel} %if 0%{?fedora} || 0%{?rhel}
@ -307,12 +324,16 @@ This package contains Ceph benchmarks and test tools.
%endif %endif
%if 0%{?suse_version} %if 0%{?suse_version}
%endif %endif
%if 0%{with python2}
%if 0%{?suse_version} %if 0%{?suse_version}
%endif %endif
%endif
%if 0%{?suse_version} %if 0%{?suse_version}
%endif %endif
%if 0%{with python2}
%if 0%{?suse_version} %if 0%{?suse_version}
%endif %endif
%endif
%if 0%{?suse_version} %if 0%{?suse_version}
%endif %endif
%if 0%{?suse_version} %if 0%{?suse_version}
@ -327,8 +348,10 @@ This package contains Ceph benchmarks and test tools.
%endif %endif
%if 0%{?suse_version} %if 0%{?suse_version}
%endif %endif
%if 0%{with python2}
%if 0%{?suse_version} %if 0%{?suse_version}
%endif %endif
%endif
%if 0%{?suse_version} %if 0%{?suse_version}
%endif %endif
%if 0%{?suse_version} %if 0%{?suse_version}
@ -337,14 +360,18 @@ This package contains Ceph benchmarks and test tools.
%endif %endif
%if 0%{?suse_version} %if 0%{?suse_version}
%endif %endif
%if 0%{with python2}
%if 0%{?suse_version} %if 0%{?suse_version}
%endif %endif
%if 0%{?suse_version} %if 0%{?suse_version}
%endif %endif
%if 0%{?suse_version}
%endif %endif
%if 0%{?suse_version} %if 0%{?suse_version}
%endif %endif
%if 0%{with python2}
%if 0%{?suse_version}
%endif
%endif
%if 0%{with ceph_test_package} %if 0%{with ceph_test_package}
%if 0%{?suse_version} %if 0%{?suse_version}
%endif %endif
@ -357,16 +384,25 @@ This package contains Ceph benchmarks and test tools.
%if 0%{?suse_version} %if 0%{?suse_version}
%endif %endif
%endif %endif
%if 0%{?suse_version}
%endif
%if 0%{with selinux} %if 0%{with selinux}
%if 0%{?suse_version} %if 0%{?suse_version}
%endif %endif
%endif %endif
%if 0%{with python2}
%if 0%{?suse_version} %if 0%{?suse_version}
%endif %endif
%endif
%prep %prep
%autosetup -p1 -n ceph-13.0.0-3535-g8b10d08c04 %autosetup -p1 -n ceph-13.0.0-5168-g80cf1407d9
%build %build
%if 0%{?rhel} == 7
. /opt/rh/devtoolset-7/enable
%endif
%if 0%{with cephfs_java} %if 0%{with cephfs_java}
# Find jni.h # Find jni.h
for i in /usr/{lib64,lib}/jvm/java/include{,/linux}; do for i in /usr/{lib64,lib}/jvm/java/include{,/linux}; do
@ -374,7 +410,8 @@ for i in /usr/{lib64,lib}/jvm/java/include{,/linux}; do
done done
%endif %endif
%if %{with lowmem_builder} %if 0%{?suse_version}
# the following setting fixed an OOM condition we once encountered in the OBS
RPM_OPT_FLAGS="$RPM_OPT_FLAGS --param ggc-min-expand=20 --param ggc-min-heapsize=32768" RPM_OPT_FLAGS="$RPM_OPT_FLAGS --param ggc-min-expand=20 --param ggc-min-heapsize=32768"
%endif %endif
export RPM_OPT_FLAGS=`echo $RPM_OPT_FLAGS | sed -e 's/i386/i486/'` export RPM_OPT_FLAGS=`echo $RPM_OPT_FLAGS | sed -e 's/i386/i486/'`
@ -384,39 +421,26 @@ export CFLAGS="$RPM_OPT_FLAGS"
export CXXFLAGS="$RPM_OPT_FLAGS" export CXXFLAGS="$RPM_OPT_FLAGS"
# Parallel build settings ... # Parallel build settings ...
# unlimit _smp_mflags in system macro CEPH_MFLAGS_JOBS="%{?_smp_mflags}"
%global _smp_ncpus_max 0 CEPH_SMP_NCPUS=$(echo "$CEPH_MFLAGS_JOBS" | sed 's/-j//')
CEPH_PARALLEL_BUILD="%{?_smp_mflags}" %if 0%{?__isa_bits} == 32
%if %{with lowmem_builder} # 32-bit builds can use 3G memory max, which is not enough even for -j2
lo_jobs="%{?jobs:%{jobs}}" CEPH_SMP_NCPUS="1"
%if 0%{?suse_version}
%ifarch %arm
%if ! 0%{?qemu_user_space_build:1}
# native hardware is not that powerful
lo_jobs="1"
%endif
%endif
%endif %endif
# do not eat all memory # do not eat all memory
echo "Available memory:" echo "Available memory:"
free free -h
echo "System limits:" echo "System limits:"
ulimit -a ulimit -a
lo_jobs_reduced= if test -n "$CEPH_SMP_NCPUS" -a "$CEPH_SMP_NCPUS" -gt 1 ; then
if test -n "$lo_jobs" -a "$lo_jobs" -gt 1 ; then mem_per_process=1800
mem_per_process=1600 max_mem=$(LANG=C free -m | sed -n "s|^Mem: *\([0-9]*\).*$|\1|p")
max_mem=$(LANG=C free -t -m | sed -n "s|^Mem: *\([0-9]*\).*$|\1|p")
max_jobs="$(($max_mem / $mem_per_process))" max_jobs="$(($max_mem / $mem_per_process))"
test "$lo_jobs" -gt "$max_jobs" && lo_jobs="$max_jobs" && lo_jobs_reduced="yes" && echo "Warning: Reducing build parallelism to -j$max_jobs because of memory limits" 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"
test "$lo_jobs" -le 0 && lo_jobs=1 && echo "Warning: Not using parallel build at all because of memory limits" test "$CEPH_SMP_NCPUS" -le 0 && CEPH_SMP_NCPUS="1" && echo "Warning: Not using parallel build at all because of memory limits"
fi fi
# run make export CEPH_SMP_NCPUS
if test -n "$lo_jobs" ; then export CEPH_MFLAGS_JOBS="-j$CEPH_SMP_NCPUS"
CEPH_PARALLEL_BUILD="-j$lo_jobs"
fi
%endif
export CEPH_PARALLEL_BUILD
export CEPH_SMP_NCPUS=$(echo "$CEPH_PARALLEL_BUILD" | sed 's/-j//')
env | sort env | sort
@ -434,6 +458,12 @@ cmake .. \
-DWITH_EMBEDDED=OFF \ -DWITH_EMBEDDED=OFF \
-DWITH_MANPAGE=ON \ -DWITH_MANPAGE=ON \
-DWITH_PYTHON3=ON \ -DWITH_PYTHON3=ON \
%if %{with python2}
-DWITH_PYTHON2=ON \
%else
-DWITH_PYTHON2=OFF \
-DMGR_PYTHON_VERSION=3 \
%endif
-DWITH_SYSTEMD=ON \ -DWITH_SYSTEMD=ON \
%if 0%{?rhel} && ! 0%{?centos} %if 0%{?rhel} && ! 0%{?centos}
-DWITH_SUBMAN=ON \ -DWITH_SUBMAN=ON \
@ -459,25 +489,23 @@ cmake .. \
-DWITH_OCF=ON \ -DWITH_OCF=ON \
%endif %endif
%ifarch aarch64 armv7hl mips mipsel ppc ppc64 ppc64le %{ix86} x86_64 %ifarch aarch64 armv7hl mips mipsel ppc ppc64 ppc64le %{ix86} x86_64
-DWITH_RADOSGW_BEAST_FRONTEND=ON \ -DWITH_BOOST_CONTEXT=ON \
%else %else
-DWITH_RADOSGW_BEAST_FRONTEND=OFF \ -DWITH_BOOST_CONTEXT=OFF \
%endif %endif
-DBOOST_J=$CEPH_SMP_NCPUS -DBOOST_J=$CEPH_SMP_NCPUS
make "$CEPH_PARALLEL_BUILD" make "$CEPH_MFLAGS_JOBS"
%if 0%{with make_check} %if 0%{with make_check}
%check %check
# run in-tree unittests # run in-tree unittests
cd build cd build
ctest %{?_smp_mflags} ctest "$CEPH_MFLAGS_JOBS"
%endif %endif
%install %install
pushd build pushd build
make DESTDIR=%{buildroot} install make DESTDIR=%{buildroot} install
@ -492,7 +520,6 @@ install -m 0644 -D etc/sysconfig/ceph %{buildroot}%{_sysconfdir}/sysconfig/ceph
install -m 0644 -D etc/sysconfig/ceph %{buildroot}%{_fillupdir}/sysconfig.%{name} install -m 0644 -D etc/sysconfig/ceph %{buildroot}%{_fillupdir}/sysconfig.%{name}
%endif %endif
install -m 0644 -D systemd/ceph.tmpfiles.d %{buildroot}%{_tmpfilesdir}/ceph-common.conf install -m 0644 -D systemd/ceph.tmpfiles.d %{buildroot}%{_tmpfilesdir}/ceph-common.conf
install -m 0755 -D systemd/ceph %{buildroot}%{_sbindir}/rcceph
install -m 0644 -D systemd/50-ceph.preset %{buildroot}%{_libexecdir}/systemd/system-preset/50-ceph.preset install -m 0644 -D systemd/50-ceph.preset %{buildroot}%{_libexecdir}/systemd/system-preset/50-ceph.preset
mkdir -p %{buildroot}%{_sbindir} mkdir -p %{buildroot}%{_sbindir}
install -m 0644 -D src/logrotate.conf %{buildroot}%{_sysconfdir}/logrotate.d/ceph install -m 0644 -D src/logrotate.conf %{buildroot}%{_sysconfdir}/logrotate.d/ceph
@ -547,9 +574,6 @@ rm -rf %{buildroot}%{_bindir}/cephfs-table-tool
rm -rf %{buildroot}%{_libexecdir}/systemd/system-preset/50-ceph.preset rm -rf %{buildroot}%{_libexecdir}/systemd/system-preset/50-ceph.preset
rm -rf %{buildroot}%{_sbindir}/ceph-create-keys rm -rf %{buildroot}%{_sbindir}/ceph-create-keys
rm -rf %{buildroot}%{_sbindir}/ceph-disk rm -rf %{buildroot}%{_sbindir}/ceph-disk
rm -rf %{buildroot}%{_sbindir}/ceph-volume
rm -rf %{buildroot}%{_sbindir}/ceph-volume-systemd
rm -rf %{buildroot}%{_sbindir}/rcceph
rm -rf %{buildroot}%{_libexecdir}/ceph/ceph_common.sh rm -rf %{buildroot}%{_libexecdir}/ceph/ceph_common.sh
rm -rf %{buildroot}%{_libdir}/rados-classes/* rm -rf %{buildroot}%{_libdir}/rados-classes/*
rm -rf %{buildroot}%{_libdir}/ceph/erasure-code/libec_*.so* rm -rf %{buildroot}%{_libdir}/ceph/erasure-code/libec_*.so*
@ -563,18 +587,19 @@ rm -rf %{buildroot}%{_fillupdir}/sysconfig.*
rm -rf %{buildroot}%{_sysconfdir}/sysconfig/SuSEfirewall2.d/services/ceph-mon rm -rf %{buildroot}%{_sysconfdir}/sysconfig/SuSEfirewall2.d/services/ceph-mon
rm -rf %{buildroot}%{_sysconfdir}/sysconfig/SuSEfirewall2.d/services/ceph-osd-mds rm -rf %{buildroot}%{_sysconfdir}/sysconfig/SuSEfirewall2.d/services/ceph-osd-mds
rm -rf %{buildroot}%{_unitdir}/ceph-disk@.service rm -rf %{buildroot}%{_unitdir}/ceph-disk@.service
rm -rf %{buildroot}%{_unitdir}/ceph-volume@.service
rm -rf %{buildroot}%{_unitdir}/ceph.target rm -rf %{buildroot}%{_unitdir}/ceph.target
rm -rf %{buildroot}%{python_sitelib}/ceph_detect_init* rm -rf %{buildroot}%{python_sitelib}/ceph_detect_init*
rm -rf %{buildroot}%{python_sitelib}/ceph_disk* rm -rf %{buildroot}%{python_sitelib}/ceph_disk*
rm -rf %{buildroot}%{python3_sitelib}/ceph_detect_init*
rm -rf %{buildroot}%{python3_sitelib}/ceph_disk*
rm -rf %{buildroot}%{python_sitelib}/ceph_volume/* rm -rf %{buildroot}%{python_sitelib}/ceph_volume/*
rm -rf %{buildroot}%{python_sitelib}/ceph_volume-* rm -rf %{buildroot}%{python_sitelib}/ceph_volume-*
rm -rf %{buildroot}%{python3_sitelib}/ceph_volume/*
rm -rf %{buildroot}%{python3_sitelib}/ceph_volume-*
rm -rf %{buildroot}%{_mandir}/man8/ceph-deploy.8* rm -rf %{buildroot}%{_mandir}/man8/ceph-deploy.8*
rm -rf %{buildroot}%{_mandir}/man8/ceph-detect-init.8* rm -rf %{buildroot}%{_mandir}/man8/ceph-detect-init.8*
rm -rf %{buildroot}%{_mandir}/man8/ceph-create-keys.8* rm -rf %{buildroot}%{_mandir}/man8/ceph-create-keys.8*
rm -rf %{buildroot}%{_mandir}/man8/ceph-disk.8* rm -rf %{buildroot}%{_mandir}/man8/ceph-disk.8*
rm -rf %{buildroot}%{_mandir}/man8/ceph-volume.8*
rm -rf %{buildroot}%{_mandir}/man8/ceph-volume-systemd.8*
rm -rf %{buildroot}%{_mandir}/man8/ceph-run.8* rm -rf %{buildroot}%{_mandir}/man8/ceph-run.8*
rm -rf %{buildroot}%{_mandir}/man8/crushtool.8* rm -rf %{buildroot}%{_mandir}/man8/crushtool.8*
rm -rf %{buildroot}%{_mandir}/man8/osdmaptool.8* rm -rf %{buildroot}%{_mandir}/man8/osdmaptool.8*
@ -589,7 +614,6 @@ rm -rf %{buildroot}%{_bindir}/ceph-authtool
rm -rf %{buildroot}%{_bindir}/ceph-conf rm -rf %{buildroot}%{_bindir}/ceph-conf
rm -rf %{buildroot}%{_bindir}/ceph-rbdnamer rm -rf %{buildroot}%{_bindir}/ceph-rbdnamer
rm -rf %{buildroot}%{_bindir}/ceph-syn rm -rf %{buildroot}%{_bindir}/ceph-syn
rm -rf %{buildroot}%{_bindir}/ceph-crush-location
rm -rf %{buildroot}%{_bindir}/rados rm -rf %{buildroot}%{_bindir}/rados
rm -rf %{buildroot}%{_bindir}/radosgw-admin rm -rf %{buildroot}%{_bindir}/radosgw-admin
rm -rf %{buildroot}%{_bindir}/rbd rm -rf %{buildroot}%{_bindir}/rbd
@ -628,6 +652,10 @@ rm -rf %{buildroot}%{_sysconfdir}/ceph/rbdmap
rm -rf %{buildroot}%{_unitdir}/rbdmap.service rm -rf %{buildroot}%{_unitdir}/rbdmap.service
rm -rf %{buildroot}%{python_sitelib}/ceph_argparse.py* rm -rf %{buildroot}%{python_sitelib}/ceph_argparse.py*
rm -rf %{buildroot}%{python_sitelib}/ceph_daemon.py* rm -rf %{buildroot}%{python_sitelib}/ceph_daemon.py*
rm -rf %{buildroot}%{python3_sitelib}/ceph_argparse.py
rm -rf %{buildroot}%{python3_sitelib}/__pycache__/ceph_argparse.cpython*.py*
rm -rf %{buildroot}%{python3_sitelib}/ceph_daemon.py
rm -rf %{buildroot}%{python3_sitelib}/__pycache__/ceph_daemon.cpython*.py*
rm -rf %{buildroot}%{_udevrulesdir}/50-rbd.rules rm -rf %{buildroot}%{_udevrulesdir}/50-rbd.rules
rm -rf %{buildroot}%{_bindir}/ceph-mds rm -rf %{buildroot}%{_bindir}/ceph-mds
rm -rf %{buildroot}%{_mandir}/man8/ceph-mds.8* rm -rf %{buildroot}%{_mandir}/man8/ceph-mds.8*
@ -643,6 +671,8 @@ rm -rf %{buildroot}%{_bindir}/ceph-monstore-tool
rm -rf %{buildroot}%{_mandir}/man8/ceph-mon.8* rm -rf %{buildroot}%{_mandir}/man8/ceph-mon.8*
rm -rf %{buildroot}%{_mandir}/man8/ceph-rest-api.8* rm -rf %{buildroot}%{_mandir}/man8/ceph-rest-api.8*
rm -rf %{buildroot}%{python_sitelib}/ceph_rest_api.py* rm -rf %{buildroot}%{python_sitelib}/ceph_rest_api.py*
rm -rf %{buildroot}%{python3_sitelib}/ceph_rest_api.py
rm -rf %{buildroot}%{python3_sitelib}/__pycache__/ceph_rest_api.cpython*.py*
rm -rf %{buildroot}%{_unitdir}/ceph-mon@.service rm -rf %{buildroot}%{_unitdir}/ceph-mon@.service
rm -rf %{buildroot}%{_unitdir}/ceph-mon.target rm -rf %{buildroot}%{_unitdir}/ceph-mon.target
rm -rf %{buildroot}%{_bindir}/ceph-fuse rm -rf %{buildroot}%{_bindir}/ceph-fuse
@ -671,14 +701,19 @@ rm -rf %{buildroot}%{_bindir}/ceph-objectstore-tool
rm -rf %{buildroot}%{_bindir}/ceph-osdomap-tool rm -rf %{buildroot}%{_bindir}/ceph-osdomap-tool
rm -rf %{buildroot}%{_bindir}/ceph-osd rm -rf %{buildroot}%{_bindir}/ceph-osd
rm -rf %{buildroot}%{_libexecdir}/ceph/ceph-osd-prestart.sh rm -rf %{buildroot}%{_libexecdir}/ceph/ceph-osd-prestart.sh
rm -rf %{buildroot}%{_sbindir}/ceph-volume
rm -rf %{buildroot}%{_sbindir}/ceph-volume-systemd
rm -rf %{buildroot}%{_udevrulesdir}/60-ceph-by-parttypeuuid.rules rm -rf %{buildroot}%{_udevrulesdir}/60-ceph-by-parttypeuuid.rules
rm -rf %{buildroot}%{_udevrulesdir}/95-ceph-osd.rules rm -rf %{buildroot}%{_udevrulesdir}/95-ceph-osd.rules
rm -rf %{buildroot}%{_mandir}/man8/ceph-clsinfo.8* rm -rf %{buildroot}%{_mandir}/man8/ceph-clsinfo.8*
rm -rf %{buildroot}%{_mandir}/man8/ceph-osd.8* rm -rf %{buildroot}%{_mandir}/man8/ceph-osd.8*
rm -rf %{buildroot}%{_mandir}/man8/ceph-bluestore-tool.8* rm -rf %{buildroot}%{_mandir}/man8/ceph-bluestore-tool.8*
rm -rf %{buildroot}%{_mandir}/man8/ceph-volume.8*
rm -rf %{buildroot}%{_mandir}/man8/ceph-volume-systemd.8*
rm -rf %{buildroot}%{_sysconfdir}/cron.hourly/subman rm -rf %{buildroot}%{_sysconfdir}/cron.hourly/subman
rm -rf %{buildroot}%{_unitdir}/ceph-osd@.service rm -rf %{buildroot}%{_unitdir}/ceph-osd@.service
rm -rf %{buildroot}%{_unitdir}/ceph-osd.target rm -rf %{buildroot}%{_unitdir}/ceph-osd.target
rm -rf %{buildroot}%{_unitdir}/ceph-volume@.service
rm -rf %{buildroot}%{_sysctldir}/90-ceph-osd.conf rm -rf %{buildroot}%{_sysctldir}/90-ceph-osd.conf
rm -rf %{buildroot}%{_prefix}/lib/ocf/resource.d/ceph/rbd rm -rf %{buildroot}%{_prefix}/lib/ocf/resource.d/ceph/rbd
rm -rf %{buildroot}%{_libdir}/librados.so.* rm -rf %{buildroot}%{_libdir}/librados.so.*
@ -773,6 +808,10 @@ rm -rf %{buildroot}
%endif %endif
%if 0%{?suse_version} %if 0%{?suse_version}
%endif %endif
%if 0%{with python2}
%endif
%if 0%{with python2}
%endif
%if 0%{?suse_version} %if 0%{?suse_version}
%endif %endif
%if 0%{?fedora} || 0%{?rhel} %if 0%{?fedora} || 0%{?rhel}
@ -789,6 +828,8 @@ rm -rf %{buildroot}
%endif %endif
%if %{with lttng} %if %{with lttng}
%endif %endif
%if 0%{with python2}
%endif
%if 0%{?rhel} || 0%{?fedora} %if 0%{?rhel} || 0%{?fedora}
%endif %endif
%if 0%{?suse_version} %if 0%{?suse_version}
@ -817,6 +858,8 @@ rm -rf %{buildroot}
%endif %endif
%if 0%{?fedora} || 0%{?rhel} %if 0%{?fedora} || 0%{?rhel}
%endif %endif
%if 0%{with python2}
%endif
%if 0%{?suse_version} %if 0%{?suse_version}
%endif %endif
%if 0%{?fedora} || 0%{?rhel} %if 0%{?fedora} || 0%{?rhel}
@ -875,10 +918,20 @@ rm -rf %{buildroot}
%endif %endif
%if %{with lttng} %if %{with lttng}
%endif %endif
%if 0%{with python2}
%endif
%if %{with lttng} %if %{with lttng}
%endif %endif
%if %{with lttng} %if %{with lttng}
%endif %endif
%if 0%{with python2}
%endif
%if 0%{with python2}
%endif
%if 0%{with python2}
%endif
%if 0%{with python2}
%endif
%if 0%{with ceph_test_package} %if 0%{with ceph_test_package}
%files -n ceph-test %files -n ceph-test
%{_bindir}/ceph-client-debug %{_bindir}/ceph-client-debug
@ -917,5 +970,7 @@ rm -rf %{buildroot}
%endif %endif
%if 0%{with selinux} %if 0%{with selinux}
%endif # with selinux %endif # with selinux
%if 0%{with python2}
%endif
%changelog %changelog
# nospeccleaner # nospeccleaner

View File

@ -1,3 +1,19 @@
-------------------------------------------------------------------
Fri Jan 26 19:03:21 UTC 2018 - ncutler@suse.com
- Update to version 13.0.0-5168-g80cf1407d9:
+ rebase to latest upstream master
+ eliminate Python 2 dependencies (bsc#1076403)
-------------------------------------------------------------------
Mon Nov 27 13:49:47 UTC 2017 - ncutler@suse.com
- ceph-rpmlintrc: add lines to quash RPMLINT warnings
+ ceph-base.x86_64: E: devel-file-in-non-devel-package (Badness: 50) /usr/lib64/ceph/crypto/libceph_crypto_isal.so
+ librados2.x86_64: E: devel-file-in-non-devel-package (Badness: 50) /usr/lib64/ceph/libceph-common.so
+ ceph-base.x86_64: E: devel-file-in-non-devel-package (Badness: 50) /usr/lib64/libos_tp.so
+ ceph-base.x86_64: E: devel-file-in-non-devel-package (Badness: 50) /usr/lib64/libosd_tp.so
------------------------------------------------------------------- -------------------------------------------------------------------
Sat Nov 25 21:33:23 UTC 2017 - ncutler@suse.com Sat Nov 25 21:33:23 UTC 2017 - ncutler@suse.com

314
ceph.spec
View File

@ -21,18 +21,16 @@
%bcond_without tcmalloc %bcond_without tcmalloc
%endif %endif
%if 0%{?fedora} || 0%{?rhel} %if 0%{?fedora} || 0%{?rhel}
%bcond_without lttng
%bcond_without selinux %bcond_without selinux
%bcond_without ceph_test_package %bcond_without ceph_test_package
%bcond_without cephfs_java %bcond_without cephfs_java
%bcond_with lowmem_builder %bcond_without lttng
%global _remote_tarball_prefix https://download.ceph.com/tarballs/ %global _remote_tarball_prefix https://download.ceph.com/tarballs/
%endif %endif
%if 0%{?suse_version} %if 0%{?suse_version}
%bcond_with selinux %bcond_with selinux
%bcond_with ceph_test_package %bcond_with ceph_test_package
%bcond_with cephfs_java %bcond_with cephfs_java
%bcond_without lowmem_builder
#Compat macro for new _fillupdir macro introduced in Nov 2017 #Compat macro for new _fillupdir macro introduced in Nov 2017
%if ! %{defined _fillupdir} %if ! %{defined _fillupdir}
%global _fillupdir /var/adm/fillup-templates %global _fillupdir /var/adm/fillup-templates
@ -47,6 +45,12 @@
%endif %endif
%endif %endif
%endif %endif
%if 0%{?suse_version} >= 1500
%bcond_with python2
%global _defined_if_python2_absent 1
%else
%bcond_without python2
%endif
%if %{with selinux} %if %{with selinux}
# get selinux policy version # get selinux policy version
@ -56,6 +60,9 @@
%{!?_udevrulesdir: %global _udevrulesdir /lib/udev/rules.d} %{!?_udevrulesdir: %global _udevrulesdir /lib/udev/rules.d}
%{!?tmpfiles_create: %global tmpfiles_create systemd-tmpfiles --create} %{!?tmpfiles_create: %global tmpfiles_create systemd-tmpfiles --create}
%{!?python3_pkgversion: %global python3_pkgversion 3} %{!?python3_pkgversion: %global python3_pkgversion 3}
# 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 # unify libexec for all targets
%global _libexecdir %{_exec_prefix}/lib %global _libexecdir %{_exec_prefix}/lib
@ -68,7 +75,7 @@
################################################################################# #################################################################################
Name: ceph Name: ceph
Version: 13.0.0 Version: 13.0.0
Release: 3535.g8b10d08c04%{?dist} Release: 5168.g80cf1407d9%{?dist}.<B_CNT>
%if 0%{?fedora} || 0%{?rhel} %if 0%{?fedora} || 0%{?rhel}
Epoch: 2 Epoch: 2
%endif %endif
@ -83,7 +90,7 @@ License: LGPL-2.1 and CC-BY-SA-1.0 and GPL-2.0 and BSL-1.0 and BSD-3-Clause and
Group: System/Filesystems Group: System/Filesystems
%endif %endif
URL: http://ceph.com/ URL: http://ceph.com/
Source0: %{?_remote_tarball_prefix}ceph-13.0.0-3535-g8b10d08c04.tar.bz2 Source0: %{?_remote_tarball_prefix}ceph-13.0.0-5168-g80cf1407d9.tar.bz2
%if 0%{?suse_version} %if 0%{?suse_version}
# _insert_obs_source_lines_here # _insert_obs_source_lines_here
%if 0%{?is_opensuse} %if 0%{?is_opensuse}
@ -108,25 +115,18 @@ BuildRequires: sharutils
BuildRequires: checkpolicy BuildRequires: checkpolicy
BuildRequires: selinux-policy-devel BuildRequires: selinux-policy-devel
%endif %endif
%if 0%{with make_check}
%if 0%{?fedora} || 0%{?rhel}
BuildRequires: python-cherrypy
BuildRequires: python-werkzeug
%endif
%if 0%{?suse_version}
BuildRequires: python-CherryPy
BuildRequires: python-Werkzeug
BuildRequires: python-numpy-devel
%endif
BuildRequires: python-pecan
BuildRequires: socat
%endif
BuildRequires: bc BuildRequires: bc
BuildRequires: gperf BuildRequires: gperf
BuildRequires: cmake BuildRequires: cmake
BuildRequires: cryptsetup BuildRequires: cryptsetup
BuildRequires: fuse-devel 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++
%else
BuildRequires: gcc-c++ BuildRequires: gcc-c++
%endif
BuildRequires: gdbm BuildRequires: gdbm
%if 0%{with tcmalloc} %if 0%{with tcmalloc}
BuildRequires: gperftools-devel >= 2.4 BuildRequires: gperftools-devel >= 2.4
@ -139,19 +139,21 @@ BuildRequires: libcurl-devel
BuildRequires: libudev-devel BuildRequires: libudev-devel
BuildRequires: libtool BuildRequires: libtool
BuildRequires: libxml2-devel BuildRequires: libxml2-devel
BuildRequires: libuuid-devel
BuildRequires: make BuildRequires: make
BuildRequires: parted BuildRequires: parted
BuildRequires: perl BuildRequires: perl
BuildRequires: pkgconfig BuildRequires: pkgconfig
%if %{with lowmem_builder}
BuildRequires: procps BuildRequires: procps
%endif BuildRequires: python%{_python_buildid}
BuildRequires: python BuildRequires: python%{_python_buildid}-devel
BuildRequires: python-devel BuildRequires: python%{_python_buildid}-nose
BuildRequires: python-nose BuildRequires: python%{_python_buildid}-requests
BuildRequires: python-requests BuildRequires: python%{_python_buildid}-virtualenv
BuildRequires: python-virtualenv
BuildRequires: snappy-devel BuildRequires: snappy-devel
%if 0%{with make_check}
BuildRequires: socat
%endif
BuildRequires: udev BuildRequires: udev
BuildRequires: util-linux BuildRequires: util-linux
BuildRequires: valgrind-devel BuildRequires: valgrind-devel
@ -179,9 +181,10 @@ BuildRequires: libopenssl-devel
BuildRequires: lsb-release BuildRequires: lsb-release
BuildRequires: openldap2-devel BuildRequires: openldap2-devel
BuildRequires: cunit-devel BuildRequires: cunit-devel
BuildRequires: python-Cython BuildRequires: python%{_python_buildid}-base
BuildRequires: python-PrettyTable BuildRequires: python%{_python_buildid}-Cython
BuildRequires: python-Sphinx BuildRequires: python%{_python_buildid}-PrettyTable
BuildRequires: python%{_python_buildid}-Sphinx
BuildRequires: rdma-core-devel BuildRequires: rdma-core-devel
%endif %endif
%if 0%{?fedora} || 0%{?rhel} %if 0%{?fedora} || 0%{?rhel}
@ -195,9 +198,9 @@ BuildRequires: openldap-devel
BuildRequires: openssl-devel BuildRequires: openssl-devel
BuildRequires: CUnit-devel BuildRequires: CUnit-devel
BuildRequires: redhat-lsb-core BuildRequires: redhat-lsb-core
BuildRequires: Cython BuildRequires: Cython%{_python_buildid}
BuildRequires: python-prettytable BuildRequires: python%{_python_buildid}-prettytable
BuildRequires: python-sphinx BuildRequires: python%{_python_buildid}-sphinx
%endif %endif
# python34-... for RHEL, python3-... for all other supported distros # python34-... for RHEL, python3-... for all other supported distros
%if 0%{?rhel} %if 0%{?rhel}
@ -209,6 +212,20 @@ BuildRequires: python3-devel
BuildRequires: python3-setuptools BuildRequires: python3-setuptools
BuildRequires: python3-Cython BuildRequires: python3-Cython
%endif %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}-pecan
BuildRequires: python%{_python_buildid}-werkzeug
%endif
%if 0%{?suse_version}
BuildRequires: python%{_python_buildid}-CherryPy
BuildRequires: python%{_python_buildid}-Werkzeug
BuildRequires: python%{_python_buildid}-pecan
BuildRequires: python%{_python_buildid}-numpy-devel
%endif
%endif
# lttng and babeltrace for rbd-replay-prep # lttng and babeltrace for rbd-replay-prep
%if %{with lttng} %if %{with lttng}
%if 0%{?fedora} || 0%{?rhel} %if 0%{?fedora} || 0%{?rhel}
@ -252,16 +269,15 @@ Requires: librgw2 = %{_epoch_prefix}%{version}-%{release}
%if 0%{with selinux} %if 0%{with selinux}
Requires: ceph-selinux = %{_epoch_prefix}%{version}-%{release} Requires: ceph-selinux = %{_epoch_prefix}%{version}-%{release}
%endif %endif
Requires: python
Requires: python-requests
Requires: python-setuptools
Requires: grep
Requires: xfsprogs
Requires: logrotate
Requires: util-linux
Requires: cryptsetup Requires: cryptsetup
Requires: findutils Requires: findutils
Requires: grep
Requires: logrotate
Requires: psmisc Requires: psmisc
Requires: python%{_python_buildid}-requests
Requires: python%{_python_buildid}-setuptools
Requires: util-linux
Requires: xfsprogs
Requires: which Requires: which
%if 0%{?suse_version} %if 0%{?suse_version}
Recommends: ntp-daemon Recommends: ntp-daemon
@ -279,19 +295,20 @@ Group: System/Filesystems
Requires: librbd1 = %{_epoch_prefix}%{version}-%{release} Requires: librbd1 = %{_epoch_prefix}%{version}-%{release}
Requires: librados2 = %{_epoch_prefix}%{version}-%{release} Requires: librados2 = %{_epoch_prefix}%{version}-%{release}
Requires: libcephfs2 = %{_epoch_prefix}%{version}-%{release} Requires: libcephfs2 = %{_epoch_prefix}%{version}-%{release}
Requires: python-rados = %{_epoch_prefix}%{version}-%{release} Requires: python%{_python_buildid}-rados = %{_epoch_prefix}%{version}-%{release}
Requires: python-rbd = %{_epoch_prefix}%{version}-%{release} Requires: python%{_python_buildid}-rbd = %{_epoch_prefix}%{version}-%{release}
Requires: python-cephfs = %{_epoch_prefix}%{version}-%{release} Requires: python%{_python_buildid}-cephfs = %{_epoch_prefix}%{version}-%{release}
Requires: python-rgw = %{_epoch_prefix}%{version}-%{release} Requires: python%{_python_buildid}-rgw = %{_epoch_prefix}%{version}-%{release}
%if 0%{?fedora} || 0%{?rhel} %if 0%{?fedora} || 0%{?rhel}
Requires: python-prettytable Requires: python%{_python_buildid}-prettytable
Requires: python%{_python_buildid}-requests
%endif %endif
%if 0%{?suse_version} %if 0%{?suse_version}
Requires: python-PrettyTable Requires: python%{_python_buildid}-PrettyTable
Requires: python%{_python_buildid}-requests
Provides: libxio = 1.7 Provides: libxio = 1.7
Obsoletes: libxio <= 1.7 Obsoletes: libxio <= 1.7
%endif %endif
Requires: python-requests
%{?systemd_requires} %{?systemd_requires}
%if 0%{?suse_version} %if 0%{?suse_version}
PreReq: permissions PreReq: permissions
@ -320,10 +337,10 @@ Group: System/Filesystems
Requires: ceph-base = %{_epoch_prefix}%{version}-%{release} Requires: ceph-base = %{_epoch_prefix}%{version}-%{release}
# For ceph-rest-api # For ceph-rest-api
%if 0%{?fedora} || 0%{?rhel} %if 0%{?fedora} || 0%{?rhel}
Requires: python-flask Requires: python%{_python_buildid}-flask
%endif %endif
%if 0%{?suse_version} %if 0%{?suse_version}
Requires: python-Flask Requires: python%{_python_buildid}-Flask
%endif %endif
%description mon %description mon
ceph-mon is the cluster monitor daemon for the Ceph distributed file ceph-mon is the cluster monitor daemon for the Ceph distributed file
@ -338,17 +355,20 @@ Group: System/Filesystems
%endif %endif
Requires: ceph-base = %{_epoch_prefix}%{version}-%{release} Requires: ceph-base = %{_epoch_prefix}%{version}-%{release}
%if 0%{?fedora} || 0%{?rhel} %if 0%{?fedora} || 0%{?rhel}
Requires: python-cherrypy Requires: python%{_python_buildid}-cherrypy
Requires: python-werkzeug Requires: python%{_python_buildid}-jinja2
Requires: pyOpenSSL Requires: python%{_python_buildid}-pecan
Requires: python%{_python_buildid}-werkzeug
Requires: pyOpenSSL%{_python_buildid}
%endif %endif
%if 0%{?suse_version} %if 0%{?suse_version}
Requires: python-CherryPy Requires: python%{_python_buildid}-CherryPy
Requires: python-Werkzeug Requires: python%{_python_buildid}-Jinja2
Requires: python-pyOpenSSL Requires: python%{_python_buildid}-Werkzeug
Recommends: python-influxdb Requires: python%{_python_buildid}-pecan
Requires: python%{_python_buildid}-pyOpenSSL
Recommends: python%{_python_buildid}-influxdb
%endif %endif
Requires: python-pecan
%description mgr %description mgr
ceph-mgr enables python modules that provide services (such as the REST ceph-mgr enables python modules that provide services (such as the REST
module derived from Calamari) and expose CLI hooks. ceph-mgr gathers module derived from Calamari) and expose CLI hooks. ceph-mgr gathers
@ -442,7 +462,8 @@ Requires: gdisk
%if 0%{?suse_version} %if 0%{?suse_version}
Requires: gptfdisk Requires: gptfdisk
%endif %endif
Requires: parted Requires: parted
Requires: lvm2
%description osd %description osd
ceph-osd is the object storage daemon for the Ceph distributed file ceph-osd is the object storage daemon for the Ceph distributed file
system. It is responsible for storing objects on a local file system system. It is responsible for storing objects on a local file system
@ -498,10 +519,11 @@ Obsoletes: librgw2-devel < %{_epoch_prefix}%{version}-%{release}
This package contains libraries and headers needed to develop programs This package contains libraries and headers needed to develop programs
that use RADOS gateway client library. that use RADOS gateway client library.
%if 0%{with python2}
%package -n python-rgw %package -n python-rgw
Summary: Python 2 libraries for the RADOS gateway Summary: Python 2 libraries for the RADOS gateway
%if 0%{?suse_version} %if 0%{?suse_version}
Group: Development/Languages/Python Group: Development/Libraries/Python
%endif %endif
Requires: librgw2 = %{_epoch_prefix}%{version}-%{release} Requires: librgw2 = %{_epoch_prefix}%{version}-%{release}
Requires: python-rados = %{_epoch_prefix}%{version}-%{release} Requires: python-rados = %{_epoch_prefix}%{version}-%{release}
@ -509,11 +531,12 @@ Obsoletes: python-ceph < %{_epoch_prefix}%{version}-%{release}
%description -n python-rgw %description -n python-rgw
This package contains Python 2 libraries for interacting with Cephs RADOS This package contains Python 2 libraries for interacting with Cephs RADOS
gateway. gateway.
%endif
%package -n python%{python3_pkgversion}-rgw %package -n python%{python3_pkgversion}-rgw
Summary: Python 3 libraries for the RADOS gateway Summary: Python 3 libraries for the RADOS gateway
%if 0%{?suse_version} %if 0%{?suse_version}
Group: Development/Languages/Python Group: Development/Libraries/Python
%endif %endif
Requires: librgw2 = %{_epoch_prefix}%{version}-%{release} Requires: librgw2 = %{_epoch_prefix}%{version}-%{release}
Requires: python%{python3_pkgversion}-rados = %{_epoch_prefix}%{version}-%{release} Requires: python%{python3_pkgversion}-rados = %{_epoch_prefix}%{version}-%{release}
@ -521,21 +544,23 @@ Requires: python%{python3_pkgversion}-rados = %{_epoch_prefix}%{version}-%{relea
This package contains Python 3 libraries for interacting with Cephs RADOS This package contains Python 3 libraries for interacting with Cephs RADOS
gateway. gateway.
%if 0%{with python2}
%package -n python-rados %package -n python-rados
Summary: Python 2 libraries for the RADOS object store Summary: Python 2 libraries for the RADOS object store
%if 0%{?suse_version} %if 0%{?suse_version}
Group: Development/Languages/Python Group: Development/Libraries/Python
%endif %endif
Requires: librados2 = %{_epoch_prefix}%{version}-%{release} Requires: librados2 = %{_epoch_prefix}%{version}-%{release}
Obsoletes: python-ceph < %{_epoch_prefix}%{version}-%{release} Obsoletes: python-ceph < %{_epoch_prefix}%{version}-%{release}
%description -n python-rados %description -n python-rados
This package contains Python 2 libraries for interacting with Cephs RADOS This package contains Python 2 libraries for interacting with Cephs RADOS
object store. object store.
%endif
%package -n python%{python3_pkgversion}-rados %package -n python%{python3_pkgversion}-rados
Summary: Python 3 libraries for the RADOS object store Summary: Python 3 libraries for the RADOS object store
%if 0%{?suse_version} %if 0%{?suse_version}
Group: Development/Languages/Python Group: Development/Libraries/Python
%endif %endif
Requires: python%{python3_pkgversion} Requires: python%{python3_pkgversion}
Requires: librados2 = %{_epoch_prefix}%{version}-%{release} Requires: librados2 = %{_epoch_prefix}%{version}-%{release}
@ -600,10 +625,11 @@ Obsoletes: librbd1-devel < %{_epoch_prefix}%{version}-%{release}
This package contains libraries and headers needed to develop programs This package contains libraries and headers needed to develop programs
that use RADOS block device. that use RADOS block device.
%if 0%{with python2}
%package -n python-rbd %package -n python-rbd
Summary: Python 2 libraries for the RADOS block device Summary: Python 2 libraries for the RADOS block device
%if 0%{?suse_version} %if 0%{?suse_version}
Group: Development/Languages/Python Group: Development/Libraries/Python
%endif %endif
Requires: librbd1 = %{_epoch_prefix}%{version}-%{release} Requires: librbd1 = %{_epoch_prefix}%{version}-%{release}
Requires: python-rados = %{_epoch_prefix}%{version}-%{release} Requires: python-rados = %{_epoch_prefix}%{version}-%{release}
@ -611,11 +637,12 @@ Obsoletes: python-ceph < %{_epoch_prefix}%{version}-%{release}
%description -n python-rbd %description -n python-rbd
This package contains Python 2 libraries for interacting with Cephs RADOS This package contains Python 2 libraries for interacting with Cephs RADOS
block device. block device.
%endif
%package -n python%{python3_pkgversion}-rbd %package -n python%{python3_pkgversion}-rbd
Summary: Python 3 libraries for the RADOS block device Summary: Python 3 libraries for the RADOS block device
%if 0%{?suse_version} %if 0%{?suse_version}
Group: Development/Languages/Python Group: Development/Libraries/Python
%endif %endif
Requires: librbd1 = %{_epoch_prefix}%{version}-%{release} Requires: librbd1 = %{_epoch_prefix}%{version}-%{release}
Requires: python%{python3_pkgversion}-rados = %{_epoch_prefix}%{version}-%{release} Requires: python%{python3_pkgversion}-rados = %{_epoch_prefix}%{version}-%{release}
@ -653,10 +680,11 @@ Obsoletes: libcephfs2-devel < %{_epoch_prefix}%{version}-%{release}
This package contains libraries and headers needed to develop programs This package contains libraries and headers needed to develop programs
that use Cephs distributed file system. that use Cephs distributed file system.
%if 0%{with python2}
%package -n python-cephfs %package -n python-cephfs
Summary: Python 2 libraries for Ceph distributed file system Summary: Python 2 libraries for Ceph distributed file system
%if 0%{?suse_version} %if 0%{?suse_version}
Group: Development/Languages/Python Group: Development/Libraries/Python
%endif %endif
Requires: libcephfs2 = %{_epoch_prefix}%{version}-%{release} Requires: libcephfs2 = %{_epoch_prefix}%{version}-%{release}
%if 0%{?suse_version} %if 0%{?suse_version}
@ -666,11 +694,12 @@ Obsoletes: python-ceph < %{_epoch_prefix}%{version}-%{release}
%description -n python-cephfs %description -n python-cephfs
This package contains Python 2 libraries for interacting with Cephs distributed This package contains Python 2 libraries for interacting with Cephs distributed
file system. file system.
%endif
%package -n python%{python3_pkgversion}-cephfs %package -n python%{python3_pkgversion}-cephfs
Summary: Python 3 libraries for Ceph distributed file system Summary: Python 3 libraries for Ceph distributed file system
%if 0%{?suse_version} %if 0%{?suse_version}
Group: Development/Languages/Python Group: Development/Libraries/Python
%endif %endif
Requires: libcephfs2 = %{_epoch_prefix}%{version}-%{release} Requires: libcephfs2 = %{_epoch_prefix}%{version}-%{release}
Requires: python%{python3_pkgversion}-rados = %{_epoch_prefix}%{version}-%{release} Requires: python%{python3_pkgversion}-rados = %{_epoch_prefix}%{version}-%{release}
@ -678,16 +707,18 @@ Requires: python%{python3_pkgversion}-rados = %{_epoch_prefix}%{version}-%{relea
This package contains Python 3 libraries for interacting with Cephs distributed This package contains Python 3 libraries for interacting with Cephs distributed
file system. file system.
%if 0%{with python2}
%package -n python%{python3_pkgversion}-ceph-argparse %package -n python%{python3_pkgversion}-ceph-argparse
Summary: Python 3 utility libraries for Ceph CLI Summary: Python 3 utility libraries for Ceph CLI
%if 0%{?suse_version} %if 0%{?suse_version}
Group: Development/Languages/Python Group: Development/Libraries/Python
%endif %endif
%description -n 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 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 well as the RESTful interface. These have to do with querying the daemons for
command-description information, validating user command input against those command-description information, validating user command input against those
descriptions, and submitting the command to the appropriate daemon. descriptions, and submitting the command to the appropriate daemon.
%endif
%if 0%{with ceph_test_package} %if 0%{with ceph_test_package}
%package -n ceph-test %package -n ceph-test
@ -695,7 +726,7 @@ Summary: Ceph benchmarks and test tools
%if 0%{?suse_version} %if 0%{?suse_version}
Group: System/Benchmark Group: System/Benchmark
%endif %endif
Requires: ceph-common Requires: ceph-common = %{_epoch_prefix}%{version}-%{release}
Requires: xmlstarlet Requires: xmlstarlet
Requires: jq Requires: jq
Requires: socat Requires: socat
@ -746,7 +777,9 @@ This package contains the Java libraries for the Ceph File System.
%package -n rados-objclass-devel %package -n rados-objclass-devel
Summary: RADOS object class development kit Summary: RADOS object class development kit
Group: Development/Libraries %if 0%{?suse_version}
Group: Development/Libraries/C and C++
%endif
Requires: librados2-devel = %{_epoch_prefix}%{version}-%{release} Requires: librados2-devel = %{_epoch_prefix}%{version}-%{release}
%description -n rados-objclass-devel %description -n rados-objclass-devel
This package contains libraries and headers needed to develop RADOS object This package contains libraries and headers needed to develop RADOS object
@ -771,10 +804,11 @@ populated file-systems.
%endif %endif
%if 0%{with python2}
%package -n python-ceph-compat %package -n python-ceph-compat
Summary: Compatibility package for Cephs python libraries Summary: Compatibility package for Cephs python libraries
%if 0%{?suse_version} %if 0%{?suse_version}
Group: Development/Languages/Python Group: Development/Libraries/Python
%endif %endif
Obsoletes: python-ceph Obsoletes: python-ceph
Requires: python-rados = %{_epoch_prefix}%{version}-%{release} Requires: python-rados = %{_epoch_prefix}%{version}-%{release}
@ -787,14 +821,20 @@ This is a compatibility package to accommodate python-ceph split into
python-rados, python-rbd, python-rgw and python-cephfs. Packages still python-rados, python-rbd, python-rgw and python-cephfs. Packages still
depending on python-ceph should be fixed to depend on python-rados, depending on python-ceph should be fixed to depend on python-rados,
python-rbd, python-rgw or python-cephfs instead. python-rbd, python-rgw or python-cephfs instead.
%endif
################################################################################# #################################################################################
# common # common
################################################################################# #################################################################################
%prep %prep
%autosetup -p1 -n ceph-13.0.0-3535-g8b10d08c04 %autosetup -p1 -n ceph-13.0.0-5168-g80cf1407d9
%build %build
%if 0%{?rhel} == 7
. /opt/rh/devtoolset-7/enable
%endif
%if 0%{with cephfs_java} %if 0%{with cephfs_java}
# Find jni.h # Find jni.h
for i in /usr/{lib64,lib}/jvm/java/include{,/linux}; do for i in /usr/{lib64,lib}/jvm/java/include{,/linux}; do
@ -802,7 +842,8 @@ for i in /usr/{lib64,lib}/jvm/java/include{,/linux}; do
done done
%endif %endif
%if %{with lowmem_builder} %if 0%{?suse_version}
# the following setting fixed an OOM condition we once encountered in the OBS
RPM_OPT_FLAGS="$RPM_OPT_FLAGS --param ggc-min-expand=20 --param ggc-min-heapsize=32768" RPM_OPT_FLAGS="$RPM_OPT_FLAGS --param ggc-min-expand=20 --param ggc-min-heapsize=32768"
%endif %endif
export RPM_OPT_FLAGS=`echo $RPM_OPT_FLAGS | sed -e 's/i386/i486/'` export RPM_OPT_FLAGS=`echo $RPM_OPT_FLAGS | sed -e 's/i386/i486/'`
@ -812,39 +853,26 @@ export CFLAGS="$RPM_OPT_FLAGS"
export CXXFLAGS="$RPM_OPT_FLAGS" export CXXFLAGS="$RPM_OPT_FLAGS"
# Parallel build settings ... # Parallel build settings ...
# unlimit _smp_mflags in system macro CEPH_MFLAGS_JOBS="%{?_smp_mflags}"
%global _smp_ncpus_max 0 CEPH_SMP_NCPUS=$(echo "$CEPH_MFLAGS_JOBS" | sed 's/-j//')
CEPH_PARALLEL_BUILD="%{?_smp_mflags}" %if 0%{?__isa_bits} == 32
%if %{with lowmem_builder} # 32-bit builds can use 3G memory max, which is not enough even for -j2
lo_jobs="%{?jobs:%{jobs}}" CEPH_SMP_NCPUS="1"
%if 0%{?suse_version}
%ifarch %arm
%if ! 0%{?qemu_user_space_build:1}
# native hardware is not that powerful
lo_jobs="1"
%endif
%endif
%endif %endif
# do not eat all memory # do not eat all memory
echo "Available memory:" echo "Available memory:"
free free -h
echo "System limits:" echo "System limits:"
ulimit -a ulimit -a
lo_jobs_reduced= if test -n "$CEPH_SMP_NCPUS" -a "$CEPH_SMP_NCPUS" -gt 1 ; then
if test -n "$lo_jobs" -a "$lo_jobs" -gt 1 ; then mem_per_process=1800
mem_per_process=1600 max_mem=$(LANG=C free -m | sed -n "s|^Mem: *\([0-9]*\).*$|\1|p")
max_mem=$(LANG=C free -t -m | sed -n "s|^Mem: *\([0-9]*\).*$|\1|p")
max_jobs="$(($max_mem / $mem_per_process))" max_jobs="$(($max_mem / $mem_per_process))"
test "$lo_jobs" -gt "$max_jobs" && lo_jobs="$max_jobs" && lo_jobs_reduced="yes" && echo "Warning: Reducing build parallelism to -j$max_jobs because of memory limits" 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"
test "$lo_jobs" -le 0 && lo_jobs=1 && echo "Warning: Not using parallel build at all because of memory limits" test "$CEPH_SMP_NCPUS" -le 0 && CEPH_SMP_NCPUS="1" && echo "Warning: Not using parallel build at all because of memory limits"
fi fi
# run make export CEPH_SMP_NCPUS
if test -n "$lo_jobs" ; then export CEPH_MFLAGS_JOBS="-j$CEPH_SMP_NCPUS"
CEPH_PARALLEL_BUILD="-j$lo_jobs"
fi
%endif
export CEPH_PARALLEL_BUILD
export CEPH_SMP_NCPUS=$(echo "$CEPH_PARALLEL_BUILD" | sed 's/-j//')
env | sort env | sort
@ -862,6 +890,12 @@ cmake .. \
-DWITH_EMBEDDED=OFF \ -DWITH_EMBEDDED=OFF \
-DWITH_MANPAGE=ON \ -DWITH_MANPAGE=ON \
-DWITH_PYTHON3=ON \ -DWITH_PYTHON3=ON \
%if %{with python2}
-DWITH_PYTHON2=ON \
%else
-DWITH_PYTHON2=OFF \
-DMGR_PYTHON_VERSION=3 \
%endif
-DWITH_SYSTEMD=ON \ -DWITH_SYSTEMD=ON \
%if 0%{?rhel} && ! 0%{?centos} %if 0%{?rhel} && ! 0%{?centos}
-DWITH_SUBMAN=ON \ -DWITH_SUBMAN=ON \
@ -887,25 +921,23 @@ cmake .. \
-DWITH_OCF=ON \ -DWITH_OCF=ON \
%endif %endif
%ifarch aarch64 armv7hl mips mipsel ppc ppc64 ppc64le %{ix86} x86_64 %ifarch aarch64 armv7hl mips mipsel ppc ppc64 ppc64le %{ix86} x86_64
-DWITH_RADOSGW_BEAST_FRONTEND=ON \ -DWITH_BOOST_CONTEXT=ON \
%else %else
-DWITH_RADOSGW_BEAST_FRONTEND=OFF \ -DWITH_BOOST_CONTEXT=OFF \
%endif %endif
-DBOOST_J=$CEPH_SMP_NCPUS -DBOOST_J=$CEPH_SMP_NCPUS
make "$CEPH_PARALLEL_BUILD" make "$CEPH_MFLAGS_JOBS"
%if 0%{with make_check} %if 0%{with make_check}
%check %check
# run in-tree unittests # run in-tree unittests
cd build cd build
ctest %{?_smp_mflags} ctest "$CEPH_MFLAGS_JOBS"
%endif %endif
%install %install
pushd build pushd build
make DESTDIR=%{buildroot} install make DESTDIR=%{buildroot} install
@ -920,7 +952,6 @@ install -m 0644 -D etc/sysconfig/ceph %{buildroot}%{_sysconfdir}/sysconfig/ceph
install -m 0644 -D etc/sysconfig/ceph %{buildroot}%{_fillupdir}/sysconfig.%{name} install -m 0644 -D etc/sysconfig/ceph %{buildroot}%{_fillupdir}/sysconfig.%{name}
%endif %endif
install -m 0644 -D systemd/ceph.tmpfiles.d %{buildroot}%{_tmpfilesdir}/ceph-common.conf install -m 0644 -D systemd/ceph.tmpfiles.d %{buildroot}%{_tmpfilesdir}/ceph-common.conf
install -m 0755 -D systemd/ceph %{buildroot}%{_sbindir}/rcceph
install -m 0644 -D systemd/50-ceph.preset %{buildroot}%{_libexecdir}/systemd/system-preset/50-ceph.preset install -m 0644 -D systemd/50-ceph.preset %{buildroot}%{_libexecdir}/systemd/system-preset/50-ceph.preset
mkdir -p %{buildroot}%{_sbindir} mkdir -p %{buildroot}%{_sbindir}
install -m 0644 -D src/logrotate.conf %{buildroot}%{_sysconfdir}/logrotate.d/ceph install -m 0644 -D src/logrotate.conf %{buildroot}%{_sysconfdir}/logrotate.d/ceph
@ -984,9 +1015,6 @@ rm -rf %{buildroot}
%{_libexecdir}/systemd/system-preset/50-ceph.preset %{_libexecdir}/systemd/system-preset/50-ceph.preset
%{_sbindir}/ceph-create-keys %{_sbindir}/ceph-create-keys
%{_sbindir}/ceph-disk %{_sbindir}/ceph-disk
%{_sbindir}/ceph-volume
%{_sbindir}/ceph-volume-systemd
%{_sbindir}/rcceph
%dir %{_libexecdir}/ceph %dir %{_libexecdir}/ceph
%{_libexecdir}/ceph/ceph_common.sh %{_libexecdir}/ceph/ceph_common.sh
%dir %{_libdir}/rados-classes %dir %{_libdir}/rados-classes
@ -1014,19 +1042,27 @@ rm -rf %{buildroot}
%config %{_sysconfdir}/sysconfig/SuSEfirewall2.d/services/ceph-osd-mds %config %{_sysconfdir}/sysconfig/SuSEfirewall2.d/services/ceph-osd-mds
%endif %endif
%{_unitdir}/ceph-disk@.service %{_unitdir}/ceph-disk@.service
%{_unitdir}/ceph-volume@.service
%{_unitdir}/ceph.target %{_unitdir}/ceph.target
%if 0%{with python2}
%{python_sitelib}/ceph_detect_init* %{python_sitelib}/ceph_detect_init*
%{python_sitelib}/ceph_disk* %{python_sitelib}/ceph_disk*
%else
%{python3_sitelib}/ceph_detect_init*
%{python3_sitelib}/ceph_disk*
%endif
%if 0%{with python2}
%dir %{python_sitelib}/ceph_volume %dir %{python_sitelib}/ceph_volume
%{python_sitelib}/ceph_volume/* %{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-deploy.8*
%{_mandir}/man8/ceph-detect-init.8* %{_mandir}/man8/ceph-detect-init.8*
%{_mandir}/man8/ceph-create-keys.8* %{_mandir}/man8/ceph-create-keys.8*
%{_mandir}/man8/ceph-disk.8* %{_mandir}/man8/ceph-disk.8*
%{_mandir}/man8/ceph-volume.8*
%{_mandir}/man8/ceph-volume-systemd.8*
%{_mandir}/man8/ceph-run.8* %{_mandir}/man8/ceph-run.8*
%{_mandir}/man8/crushtool.8* %{_mandir}/man8/crushtool.8*
%{_mandir}/man8/osdmaptool.8* %{_mandir}/man8/osdmaptool.8*
@ -1045,11 +1081,11 @@ rm -rf %{buildroot}
%if 0%{?suse_version} %if 0%{?suse_version}
%fillup_only %fillup_only
if [ $1 -eq 1 ] ; then if [ $1 -eq 1 ] ; then
/usr/bin/systemctl preset ceph-disk@\*.service ceph-volume@\*.service ceph.target >/dev/null 2>&1 || : /usr/bin/systemctl preset ceph-disk@\*.service ceph.target >/dev/null 2>&1 || :
fi fi
%endif %endif
%if 0%{?fedora} || 0%{?rhel} %if 0%{?fedora} || 0%{?rhel}
%systemd_post ceph-disk@\*.service ceph-volume@\*.service ceph.target %systemd_post ceph-disk@\*.service ceph.target
%endif %endif
if [ $1 -eq 1 ] ; then if [ $1 -eq 1 ] ; then
/usr/bin/systemctl start ceph.target >/dev/null 2>&1 || : /usr/bin/systemctl start ceph.target >/dev/null 2>&1 || :
@ -1057,10 +1093,10 @@ fi
%preun base %preun base
%if 0%{?suse_version} %if 0%{?suse_version}
%service_del_preun ceph-disk@\*.service ceph-volume@\*.service ceph.target %service_del_preun ceph-disk@\*.service ceph.target
%endif %endif
%if 0%{?fedora} || 0%{?rhel} %if 0%{?fedora} || 0%{?rhel}
%systemd_preun ceph-disk@\*.service ceph-volume@\*.service ceph.target %systemd_preun ceph-disk@\*.service ceph.target
%endif %endif
%postun base %postun base
@ -1068,10 +1104,10 @@ fi
test -n "$FIRST_ARG" || FIRST_ARG=$1 test -n "$FIRST_ARG" || FIRST_ARG=$1
%if 0%{?suse_version} %if 0%{?suse_version}
DISABLE_RESTART_ON_UPDATE="yes" DISABLE_RESTART_ON_UPDATE="yes"
%service_del_postun ceph-disk@\*.service ceph-volume@\*.service ceph.target %service_del_postun ceph-disk@\*.service ceph.target
%endif %endif
%if 0%{?fedora} || 0%{?rhel} %if 0%{?fedora} || 0%{?rhel}
%systemd_postun ceph-disk@\*.service ceph-volume@\*.service ceph.target %systemd_postun ceph-disk@\*.service ceph.target
%endif %endif
if [ $FIRST_ARG -ge 1 ] ; then if [ $FIRST_ARG -ge 1 ] ; then
# Restart on upgrade, but only if "CEPH_AUTO_RESTART_ON_UPGRADE" is set to # Restart on upgrade, but only if "CEPH_AUTO_RESTART_ON_UPGRADE" is set to
@ -1081,7 +1117,7 @@ if [ $FIRST_ARG -ge 1 ] ; then
source $SYSCONF_CEPH source $SYSCONF_CEPH
fi fi
if [ "X$CEPH_AUTO_RESTART_ON_UPGRADE" = "Xyes" ] ; then if [ "X$CEPH_AUTO_RESTART_ON_UPGRADE" = "Xyes" ] ; then
/usr/bin/systemctl try-restart ceph-disk@\*.service ceph-volume@\*.service > /dev/null 2>&1 || : /usr/bin/systemctl try-restart ceph-disk@\*.service > /dev/null 2>&1 || :
fi fi
fi fi
@ -1094,7 +1130,6 @@ fi
%{_bindir}/ceph-conf %{_bindir}/ceph-conf
%{_bindir}/ceph-rbdnamer %{_bindir}/ceph-rbdnamer
%{_bindir}/ceph-syn %{_bindir}/ceph-syn
%{_bindir}/ceph-crush-location
%{_bindir}/rados %{_bindir}/rados
%{_bindir}/radosgw-admin %{_bindir}/radosgw-admin
%{_bindir}/rbd %{_bindir}/rbd
@ -1137,8 +1172,15 @@ fi
%config %{_sysconfdir}/bash_completion.d/radosgw-admin %config %{_sysconfdir}/bash_completion.d/radosgw-admin
%config(noreplace) %{_sysconfdir}/ceph/rbdmap %config(noreplace) %{_sysconfdir}/ceph/rbdmap
%{_unitdir}/rbdmap.service %{_unitdir}/rbdmap.service
%if 0%{with python2}
%{python_sitelib}/ceph_argparse.py* %{python_sitelib}/ceph_argparse.py*
%{python_sitelib}/ceph_daemon.py* %{python_sitelib}/ceph_daemon.py*
%else
%{python3_sitelib}/ceph_argparse.py
%{python3_sitelib}/__pycache__/ceph_argparse.cpython*.py*
%{python3_sitelib}/ceph_daemon.py
%{python3_sitelib}/__pycache__/ceph_daemon.cpython*.py*
%endif
%dir %{_udevrulesdir} %dir %{_udevrulesdir}
%{_udevrulesdir}/50-rbd.rules %{_udevrulesdir}/50-rbd.rules
%attr(3770,ceph,ceph) %dir %{_localstatedir}/log/ceph/ %attr(3770,ceph,ceph) %dir %{_localstatedir}/log/ceph/
@ -1284,7 +1326,12 @@ fi
%{_bindir}/ceph-monstore-tool %{_bindir}/ceph-monstore-tool
%{_mandir}/man8/ceph-mon.8* %{_mandir}/man8/ceph-mon.8*
%{_mandir}/man8/ceph-rest-api.8* %{_mandir}/man8/ceph-rest-api.8*
%if 0%{with python2}
%{python_sitelib}/ceph_rest_api.py* %{python_sitelib}/ceph_rest_api.py*
%else
%{python3_sitelib}/ceph_rest_api.py
%{python3_sitelib}/__pycache__/ceph_rest_api.cpython*.py*
%endif
%{_unitdir}/ceph-mon@.service %{_unitdir}/ceph-mon@.service
%{_unitdir}/ceph-mon.target %{_unitdir}/ceph-mon.target
%attr(750,ceph,ceph) %dir %{_localstatedir}/lib/ceph/mon %attr(750,ceph,ceph) %dir %{_localstatedir}/lib/ceph/mon
@ -1453,28 +1500,33 @@ fi
%{_bindir}/ceph-osdomap-tool %{_bindir}/ceph-osdomap-tool
%{_bindir}/ceph-osd %{_bindir}/ceph-osd
%{_libexecdir}/ceph/ceph-osd-prestart.sh %{_libexecdir}/ceph/ceph-osd-prestart.sh
%{_sbindir}/ceph-volume
%{_sbindir}/ceph-volume-systemd
%dir %{_udevrulesdir} %dir %{_udevrulesdir}
%{_udevrulesdir}/60-ceph-by-parttypeuuid.rules %{_udevrulesdir}/60-ceph-by-parttypeuuid.rules
%{_udevrulesdir}/95-ceph-osd.rules %{_udevrulesdir}/95-ceph-osd.rules
%{_mandir}/man8/ceph-clsinfo.8* %{_mandir}/man8/ceph-clsinfo.8*
%{_mandir}/man8/ceph-osd.8* %{_mandir}/man8/ceph-osd.8*
%{_mandir}/man8/ceph-bluestore-tool.8* %{_mandir}/man8/ceph-bluestore-tool.8*
%{_mandir}/man8/ceph-volume.8*
%{_mandir}/man8/ceph-volume-systemd.8*
%if 0%{?rhel} && ! 0%{?centos} %if 0%{?rhel} && ! 0%{?centos}
%attr(0755,-,-) %{_sysconfdir}/cron.hourly/subman %attr(0755,-,-) %{_sysconfdir}/cron.hourly/subman
%endif %endif
%{_unitdir}/ceph-osd@.service %{_unitdir}/ceph-osd@.service
%{_unitdir}/ceph-osd.target %{_unitdir}/ceph-osd.target
%{_unitdir}/ceph-volume@.service
%attr(750,ceph,ceph) %dir %{_localstatedir}/lib/ceph/osd %attr(750,ceph,ceph) %dir %{_localstatedir}/lib/ceph/osd
%config(noreplace) %{_sysctldir}/90-ceph-osd.conf %config(noreplace) %{_sysctldir}/90-ceph-osd.conf
%post osd %post osd
%if 0%{?suse_version} %if 0%{?suse_version}
if [ $1 -eq 1 ] ; then if [ $1 -eq 1 ] ; then
/usr/bin/systemctl preset ceph-osd@\*.service ceph-osd.target >/dev/null 2>&1 || : /usr/bin/systemctl preset ceph-osd@\*.service ceph-volume@\*.service ceph-osd.target >/dev/null 2>&1 || :
fi fi
%endif %endif
%if 0%{?fedora} || 0%{?rhel} %if 0%{?fedora} || 0%{?rhel}
%systemd_post ceph-osd@\*.service ceph-osd.target %systemd_post ceph-osd@\*.service ceph-volume@\*.service ceph-osd.target
%endif %endif
if [ $1 -eq 1 ] ; then if [ $1 -eq 1 ] ; then
/usr/bin/systemctl start ceph-osd.target >/dev/null 2>&1 || : /usr/bin/systemctl start ceph-osd.target >/dev/null 2>&1 || :
@ -1487,20 +1539,20 @@ fi
%preun osd %preun osd
%if 0%{?suse_version} %if 0%{?suse_version}
%service_del_preun ceph-osd@\*.service ceph-osd.target %service_del_preun ceph-osd@\*.service ceph-volume@\*.service ceph-osd.target
%endif %endif
%if 0%{?fedora} || 0%{?rhel} %if 0%{?fedora} || 0%{?rhel}
%systemd_preun ceph-osd@\*.service ceph-osd.target %systemd_preun ceph-osd@\*.service ceph-volume@\*.service ceph-osd.target
%endif %endif
%postun osd %postun osd
test -n "$FIRST_ARG" || FIRST_ARG=$1 test -n "$FIRST_ARG" || FIRST_ARG=$1
%if 0%{?suse_version} %if 0%{?suse_version}
DISABLE_RESTART_ON_UPDATE="yes" DISABLE_RESTART_ON_UPDATE="yes"
%service_del_postun ceph-osd@\*.service ceph-osd.target %service_del_postun ceph-osd@\*.service ceph-volume@\*.service ceph-osd.target
%endif %endif
%if 0%{?fedora} || 0%{?rhel} %if 0%{?fedora} || 0%{?rhel}
%systemd_postun ceph-osd@\*.service ceph-osd.target %systemd_postun ceph-osd@\*.service ceph-volume@\*.service ceph-osd.target
%endif %endif
if [ $FIRST_ARG -ge 1 ] ; then if [ $FIRST_ARG -ge 1 ] ; then
# Restart on upgrade, but only if "CEPH_AUTO_RESTART_ON_UPGRADE" is set to # Restart on upgrade, but only if "CEPH_AUTO_RESTART_ON_UPGRADE" is set to
@ -1510,7 +1562,7 @@ if [ $FIRST_ARG -ge 1 ] ; then
source $SYSCONF_CEPH source $SYSCONF_CEPH
fi fi
if [ "X$CEPH_AUTO_RESTART_ON_UPGRADE" = "Xyes" ] ; then if [ "X$CEPH_AUTO_RESTART_ON_UPGRADE" = "Xyes" ] ; then
/usr/bin/systemctl try-restart ceph-osd@\*.service > /dev/null 2>&1 || : /usr/bin/systemctl try-restart ceph-osd@\*.service ceph-volume@\*.service > /dev/null 2>&1 || :
fi fi
fi fi
@ -1520,7 +1572,7 @@ fi
%dir %{_prefix}/lib/ocf %dir %{_prefix}/lib/ocf
%dir %{_prefix}/lib/ocf/resource.d %dir %{_prefix}/lib/ocf/resource.d
%dir %{_prefix}/lib/ocf/resource.d/ceph %dir %{_prefix}/lib/ocf/resource.d/ceph
%{_prefix}/lib/ocf/resource.d/ceph/rbd %attr(0755,-,-) %{_prefix}/lib/ocf/resource.d/ceph/rbd
%endif %endif
@ -1555,9 +1607,11 @@ fi
%{_bindir}/librados-config %{_bindir}/librados-config
%{_mandir}/man8/librados-config.8* %{_mandir}/man8/librados-config.8*
%if 0%{with python2}
%files -n python-rados %files -n python-rados
%{python_sitearch}/rados.so %{python_sitearch}/rados.so
%{python_sitearch}/rados-*.egg-info %{python_sitearch}/rados-*.egg-info
%endif
%files -n python%{python3_pkgversion}-rados %files -n python%{python3_pkgversion}-rados
%{python3_sitearch}/rados.cpython*.so %{python3_sitearch}/rados.cpython*.so
@ -1609,17 +1663,21 @@ fi
%{_includedir}/rados/rgw_file.h %{_includedir}/rados/rgw_file.h
%{_libdir}/librgw.so %{_libdir}/librgw.so
%if 0%{with python2}
%files -n python-rgw %files -n python-rgw
%{python_sitearch}/rgw.so %{python_sitearch}/rgw.so
%{python_sitearch}/rgw-*.egg-info %{python_sitearch}/rgw-*.egg-info
%endif
%files -n python%{python3_pkgversion}-rgw %files -n python%{python3_pkgversion}-rgw
%{python3_sitearch}/rgw.cpython*.so %{python3_sitearch}/rgw.cpython*.so
%{python3_sitearch}/rgw-*.egg-info %{python3_sitearch}/rgw-*.egg-info
%if 0%{with python2}
%files -n python-rbd %files -n python-rbd
%{python_sitearch}/rbd.so %{python_sitearch}/rbd.so
%{python_sitearch}/rbd-*.egg-info %{python_sitearch}/rbd-*.egg-info
%endif
%files -n python%{python3_pkgversion}-rbd %files -n python%{python3_pkgversion}-rbd
%{python3_sitearch}/rbd.cpython*.so %{python3_sitearch}/rbd.cpython*.so
@ -1638,10 +1696,12 @@ fi
%{_includedir}/cephfs/ceph_statx.h %{_includedir}/cephfs/ceph_statx.h
%{_libdir}/libcephfs.so %{_libdir}/libcephfs.so
%if 0%{with python2}
%files -n python-cephfs %files -n python-cephfs
%{python_sitearch}/cephfs.so %{python_sitearch}/cephfs.so
%{python_sitearch}/cephfs-*.egg-info %{python_sitearch}/cephfs-*.egg-info
%{python_sitelib}/ceph_volume_client.py* %{python_sitelib}/ceph_volume_client.py*
%endif
%files -n python%{python3_pkgversion}-cephfs %files -n python%{python3_pkgversion}-cephfs
%{python3_sitearch}/cephfs.cpython*.so %{python3_sitearch}/cephfs.cpython*.so
@ -1649,11 +1709,13 @@ fi
%{python3_sitelib}/ceph_volume_client.py %{python3_sitelib}/ceph_volume_client.py
%{python3_sitelib}/__pycache__/ceph_volume_client.cpython*.py* %{python3_sitelib}/__pycache__/ceph_volume_client.cpython*.py*
%if 0%{with python2}
%files -n python%{python3_pkgversion}-ceph-argparse %files -n python%{python3_pkgversion}-ceph-argparse
%{python3_sitelib}/ceph_argparse.py %{python3_sitelib}/ceph_argparse.py
%{python3_sitelib}/__pycache__/ceph_argparse.cpython*.py* %{python3_sitelib}/__pycache__/ceph_argparse.cpython*.py*
%{python3_sitelib}/ceph_daemon.py %{python3_sitelib}/ceph_daemon.py
%{python3_sitelib}/__pycache__/ceph_daemon.cpython*.py* %{python3_sitelib}/__pycache__/ceph_daemon.cpython*.py*
%endif
%if 0%{with ceph_test_package} %if 0%{with ceph_test_package}
%files -n ceph-test %files -n ceph-test
@ -1801,9 +1863,11 @@ exit 0
%endif # with selinux %endif # with selinux
%if 0%{with python2}
%files -n python-ceph-compat %files -n python-ceph-compat
# We need an empty %%files list for python-ceph-compat, to tell rpmbuild to # We need an empty %%files list for python-ceph-compat, to tell rpmbuild to
# actually build this meta package. # actually build this meta package.
%endif
%changelog %changelog