Accepting request 423609 from filesystems:ceph

1

OBS-URL: https://build.opensuse.org/request/show/423609
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/ceph?expand=0&rev=7
This commit is contained in:
Dominique Leuenberger 2016-08-30 22:10:38 +00:00 committed by Git OBS Bridge
commit e5481c6edd
11 changed files with 1180 additions and 4278 deletions

View File

@ -1,13 +1,13 @@
<services> <services>
<service name="tar_scm" mode="disabled"> <service name="tar_scm" mode="disabled">
<param name="versionformat">10.2.2+git.%ct.%h</param> <param name="versionformat">11.0.0+git.%ct.%h</param>
<param name="url">git://github.com/SUSE/ceph.git</param> <param name="url">git://github.com/SUSE/ceph.git</param>
<param name="revision">ses3</param> <param name="revision">ses5</param>
<param name="filename">ceph</param> <param name="filename">ceph</param>
<param name="scm">git</param> <param name="scm">git</param>
<param name="package-meta">no</param> <param name="package-meta">no</param>
<param name="changesgenerate">enable</param> <param name="changesgenerate">enable</param>
<param name="commandtorun">src/make_version -g src/.git_version</param> <param name="commandtorun">sh ../../../ceph_ver_hack.sh</param>
</service> </service>
<service name="extract_ceph_spec" mode="disabled" /> <service name="extract_ceph_spec" mode="disabled" />
<service name="recompress" mode="disabled"> <service name="recompress" mode="disabled">

View File

@ -1,5 +1,4 @@
<servicedata> <servicedata>
<service name="tar_scm"> <service name="tar_scm">
<param name="url">git://github.com/SUSE/ceph.git</param> <param name="url">git://github.com/SUSE/ceph.git</param>
<param name="changesrevision">b446b700df1cbdc2bddd72ae37f3e89fb84a262f</param></service> <param name="changesrevision">a17726c4326ee895bf40686e3340c04c6963c153</param></service></servicedata>
</servicedata>

View File

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

View File

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

View File

@ -1,2 +1,5 @@
# to be used as a last resort # to be used as a last resort
addFilter("shlib-fixed-dependency") addFilter("shlib-fixed-dependency")
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.*rados-classes")

File diff suppressed because it is too large Load Diff

View File

@ -20,7 +20,12 @@
%endif %endif
%bcond_with make_check %bcond_with make_check
%bcond_with xio %bcond_with xio
%ifnarch s390 s390x
%bcond_without tcmalloc %bcond_without tcmalloc
%else
# no gperftools/tcmalloc on s390(x)
%bcond_with tcmalloc
%endif
%bcond_with lowmem_builder %bcond_with lowmem_builder
%bcond_with minimal_debugging_information %bcond_with minimal_debugging_information
%if 0%{?fedora} || 0%{?rhel} %if 0%{?fedora} || 0%{?rhel}
@ -51,6 +56,7 @@
%{!?_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}
# unify libexec for all targets # unify libexec for all targets
%global _libexecdir %{_exec_prefix}/lib %global _libexecdir %{_exec_prefix}/lib
@ -60,7 +66,7 @@
# common # common
################################################################################# #################################################################################
Name: ceph-test Name: ceph-test
Version: 10.2.2+git.1471622341.b446b70 Version: 11.0.0+git.1472455009.a17726c
Release: 0 Release: 0
Summary: Ceph benchmarks and test tools Summary: Ceph benchmarks and test tools
License: LGPL-2.1 and CC-BY-SA-1.0 and GPL-2.0 and BSL-1.0 and GPL-2.0-with-autoconf-exception and BSD-3-Clause and MIT License: LGPL-2.1 and CC-BY-SA-1.0 and GPL-2.0 and BSL-1.0 and GPL-2.0-with-autoconf-exception and BSD-3-Clause and MIT
@ -69,11 +75,17 @@ Group: System/Filesystems
%endif %endif
URL: http://ceph.com/ URL: http://ceph.com/
Source0: ceph-%{version}.tar.bz2 Source0: ceph-%{version}.tar.bz2
Source97: ceph_ver_hack.sh
Source98: README-ceph-test.txt Source98: README-ceph-test.txt
Source99: ceph-rpmlintrc Source99: ceph-rpmlintrc
# _insert_obs_source_lines_here
%if 0%{?suse_version} %if 0%{?suse_version}
%if 0%{?is_opensuse}
ExclusiveArch: x86_64 aarch64 ppc64 ppc64le
%else
ExclusiveArch: x86_64 aarch64 ExclusiveArch: x86_64 aarch64
%endif %endif
%endif
################################################################################# #################################################################################
# dependencies that apply across all distro families # dependencies that apply across all distro families
################################################################################# #################################################################################
@ -98,9 +110,14 @@ BuildRequires: cryptsetup
BuildRequires: fuse-devel BuildRequires: fuse-devel
BuildRequires: gcc-c++ BuildRequires: gcc-c++
BuildRequires: gdbm BuildRequires: gdbm
%if 0%{with tcmalloc}
BuildRequires: gperftools-devel
%endif
BuildRequires: hdparm BuildRequires: hdparm
BuildRequires: jq
BuildRequires: leveldb-devel > 1.2 BuildRequires: leveldb-devel > 1.2
BuildRequires: libaio-devel BuildRequires: libaio-devel
BuildRequires: libatomic_ops-devel
BuildRequires: libblkid-devel >= 2.17 BuildRequires: libblkid-devel >= 2.17
BuildRequires: libcurl-devel BuildRequires: libcurl-devel
BuildRequires: libudev-devel BuildRequires: libudev-devel
@ -137,13 +154,9 @@ BuildRequires: systemd
PreReq: %fillup_prereq PreReq: %fillup_prereq
BuildRequires: net-tools BuildRequires: net-tools
BuildRequires: libbz2-devel BuildRequires: libbz2-devel
%if 0%{with tcmalloc}
BuildRequires: gperftools-devel
%endif
BuildRequires: btrfsprogs BuildRequires: btrfsprogs
BuildRequires: mozilla-nss-devel BuildRequires: mozilla-nss-devel
BuildRequires: keyutils-devel BuildRequires: keyutils-devel
BuildRequires: libatomic-ops-devel
BuildRequires: libopenssl-devel BuildRequires: libopenssl-devel
BuildRequires: lsb-release BuildRequires: lsb-release
BuildRequires: openldap2-devel BuildRequires: openldap2-devel
@ -155,13 +168,21 @@ BuildRequires: boost-random
BuildRequires: btrfs-progs BuildRequires: btrfs-progs
BuildRequires: nss-devel BuildRequires: nss-devel
BuildRequires: keyutils-libs-devel BuildRequires: keyutils-libs-devel
BuildRequires: libatomic_ops-devel
BuildRequires: gperftools-devel
BuildRequires: openldap-devel BuildRequires: openldap-devel
BuildRequires: openssl-devel BuildRequires: openssl-devel
BuildRequires: redhat-lsb-core BuildRequires: redhat-lsb-core
BuildRequires: Cython BuildRequires: Cython
%endif %endif
# python34-... for RHEL, python3-... for all other supported distros
%if 0%{?rhel}
BuildRequires: python34-devel
BuildRequires: python34-setuptools
BuildRequires: python34-Cython
%else
BuildRequires: python3-devel
BuildRequires: python3-setuptools
BuildRequires: python3-Cython
%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}
@ -217,8 +238,6 @@ This package contains Ceph benchmarks and test tools.
%endif %endif
%if 0%{?rhel} || 0%{?fedora} %if 0%{?rhel} || 0%{?fedora}
%endif %endif
%if 0%{?suse_version}
%endif
%if %{with ocf} %if %{with ocf}
%endif %endif
%if 0%{?fedora} || 0%{?rhel} %if 0%{?fedora} || 0%{?rhel}
@ -238,7 +257,7 @@ This package contains Ceph benchmarks and test tools.
%if 0%{with selinux} %if 0%{with selinux}
%endif %endif
%prep %prep
%setup -q -n ceph-%version %autosetup -p1 -n ceph-%version
%build %build
%if 0%{with cephfs_java} %if 0%{with cephfs_java}
@ -248,8 +267,6 @@ for i in /usr/{lib64,lib}/jvm/java/include{,/linux}; do
done done
%endif %endif
./autogen.sh
%if %{with lowmem_builder} %if %{with lowmem_builder}
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
@ -258,44 +275,48 @@ RPM_OPT_FLAGS="`echo $RPM_OPT_FLAGS | sed -e 's/^-g /-g1 /g' -e 's/ -g / -g1 /g'
%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/'`
%{configure} CPPFLAGS="$java_inc" \ export CPPFLAGS="$java_inc"
--prefix=/usr \ export CFLAGS="$RPM_OPT_FLAGS"
--libexecdir=%{_libexecdir} \ export CXXFLAGS="$RPM_OPT_FLAGS"
--localstatedir=%{_localstatedir} \
--sysconfdir=%{_sysconfdir} \ mkdir build
--disable-static \ cd build
cmake .. \
-DCMAKE_INSTALL_PREFIX=%{_prefix} \
-DCMAKE_INSTALL_LIBDIR=%{_libdir} \
-DCMAKE_INSTALL_LIBEXECDIR=%{_libexecdir} \
-DCMAKE_INSTALL_LOCALSTATEDIR=%{_localstatedir} \
-DCMAKE_INSTALL_SYSCONFDIR=%{_sysconfdir} \
-DCMAKE_INSTALL_MANDIR=%{_mandir} \
-DCMAKE_INSTALL_DOCDIR=%{_docdir}/ceph \
-DWITH_MANPAGE=ON \
-DWITH_SYSTEMD=ON \
%if 0%{?rhel} && ! 0%{?centos} %if 0%{?rhel} && ! 0%{?centos}
--enable-subman \ -DWITH_SUBMAN=ON \
%endif
--with-systemdsystemunitdir=%_unitdir \
--docdir=%{_docdir}/ceph \
--with-man-pages \
--mandir="%_mandir" \
--with-nss \
--without-cryptopp \
--with-debug \
%if 0%{without ceph_test_package}
--without-tests \
%endif
%if 0%{with cephfs_java}
--enable-cephfs-java \
%endif %endif
%if 0%{with xio} %if 0%{with xio}
--enable-xio \ -DWITH_XIO=ON \
%endif
%if 0%{without ceph_test_package}
-DWITH_TESTS=OFF \
%endif
%if 0%{with cephfs_java}
-DWITH_CEPHFS_JAVA=ON \
%endif %endif
%if 0%{with selinux} %if 0%{with selinux}
--with-selinux \ -DWITH_SELINUX=ON \
%endif %endif
--with-librocksdb-static=check \ %if %{with lttng}
--with-radosgw \ -DWITH_LTTNG=ON \
%if %{without lttng} -DHAVE_BABELTRACE=ON \
--without-lttng \ %else
--without-babeltrace \ -DWITH_LTTNG=OFF \
-DHAVE_BABELTRACE=OFF \
%endif
$CEPH_EXTRA_CMAKE_ARGS \
%if 0%{with ocf}
-DWITH_OCF=ON
%endif %endif
$CEPH_EXTRA_CONFIGURE_ARGS \
%{?_with_ocf} \
%{?_with_tcmalloc} \
CFLAGS="$RPM_OPT_FLAGS" CXXFLAGS="$RPM_OPT_FLAGS"
# Parallel build settings ... # Parallel build settings ...
PARALLEL_BUILD=%{?_smp_mflags} PARALLEL_BUILD=%{?_smp_mflags}
@ -326,16 +347,23 @@ fi
make "$PARALLEL_BUILD" make "$PARALLEL_BUILD"
%if 0%{with make_check} %if 0%{with make_check}
%check %check
# run in-tree unittests # run in-tree unittests
make CHECK_ULIMIT=false %{?_smp_mflags} check cd build
ctest %{?_smp_mflags}
%endif %endif
%install %install
pushd build
make DESTDIR=%{buildroot} install make DESTDIR=%{buildroot} install
find %{buildroot} -type f -name "*.la" -exec rm -f {} ';' # we have dropped sysvinit bits
find %{buildroot} -type f -name "*.a" -exec rm -f {} ';' rm -f %{buildroot}/%{_sysconfdir}/init.d/ceph
popd
install -D src/etc-rbdmap %{buildroot}%{_sysconfdir}/ceph/rbdmap install -D src/etc-rbdmap %{buildroot}%{_sysconfdir}/ceph/rbdmap
%if 0%{?fedora} || 0%{?rhel} %if 0%{?fedora} || 0%{?rhel}
install -m 0644 -D etc/sysconfig/ceph %{buildroot}%{_sysconfdir}/sysconfig/ceph install -m 0644 -D etc/sysconfig/ceph %{buildroot}%{_sysconfdir}/sysconfig/ceph
@ -361,6 +389,7 @@ ln -sf %{_sbindir}/mount.ceph %{buildroot}/sbin/mount.ceph
# udev rules # udev rules
install -m 0644 -D udev/50-rbd.rules %{buildroot}%{_udevrulesdir}/50-rbd.rules install -m 0644 -D udev/50-rbd.rules %{buildroot}%{_udevrulesdir}/50-rbd.rules
install -m 0644 -D udev/60-ceph-by-parttypeuuid.rules %{buildroot}%{_udevrulesdir}/60-ceph-by-parttypeuuid.rules
install -m 0644 -D udev/95-ceph-osd.rules %{buildroot}%{_udevrulesdir}/95-ceph-osd.rules install -m 0644 -D udev/95-ceph-osd.rules %{buildroot}%{_udevrulesdir}/95-ceph-osd.rules
#set up placeholder directories #set up placeholder directories
@ -376,184 +405,196 @@ mkdir -p %{buildroot}%{_localstatedir}/lib/ceph/bootstrap-osd
mkdir -p %{buildroot}%{_localstatedir}/lib/ceph/bootstrap-mds mkdir -p %{buildroot}%{_localstatedir}/lib/ceph/bootstrap-mds
mkdir -p %{buildroot}%{_localstatedir}/lib/ceph/bootstrap-rgw mkdir -p %{buildroot}%{_localstatedir}/lib/ceph/bootstrap-rgw
# hack to reduce disk space usage in OBS %if 0%{?suse_version}
%if 0%{?is_opensuse} # create __pycache__ directories and their contents
rm -rf .* * 2>/dev/null | : %py3_compile %{buildroot}%{python3_sitelib}
%endif %endif
rm -rf %{buildroot}/usr/share/doc/packages/ceph/sample.ceph.conf rm -rf %{buildroot}%{_docdir}/ceph/sample.ceph.conf
rm -rf %{buildroot}/usr/share/doc/packages/ceph/sample.fetch_config rm -rf %{buildroot}%{_docdir}/ceph/sample.fetch_config
rm -rf %{buildroot}/usr/bin/crushtool rm -rf %{buildroot}%{_bindir}/crushtool
rm -rf %{buildroot}/usr/bin/monmaptool rm -rf %{buildroot}%{_bindir}/monmaptool
rm -rf %{buildroot}/usr/bin/osdmaptool rm -rf %{buildroot}%{_bindir}/osdmaptool
rm -rf %{buildroot}/usr/bin/ceph-run rm -rf %{buildroot}%{_bindir}/ceph-run
rm -rf %{buildroot}/usr/bin/ceph-dencoder rm -rf %{buildroot}%{_bindir}/ceph-dencoder
rm -rf %{buildroot}/usr/bin/ceph-detect-init rm -rf %{buildroot}%{_bindir}/ceph-detect-init
rm -rf %{buildroot}/usr/bin/cephfs rm -rf %{buildroot}%{_unitdir}/ceph-create-keys@.service
rm -rf %{buildroot}/usr/bin/cephfs-data-scan rm -rf %{buildroot}%{_bindir}/cephfs-data-scan
rm -rf %{buildroot}/usr/bin/cephfs-journal-tool rm -rf %{buildroot}%{_bindir}/cephfs-journal-tool
rm -rf %{buildroot}/usr/bin/cephfs-table-tool rm -rf %{buildroot}%{_bindir}/cephfs-table-tool
rm -rf %{buildroot}/usr/lib/systemd/system-preset/50-ceph.preset rm -rf %{buildroot}%{_libexecdir}/systemd/system-preset/50-ceph.preset
rm -rf %{buildroot}/usr/sbin/ceph-create-keys rm -rf %{buildroot}%{_sbindir}/ceph-create-keys
rm -rf %{buildroot}/usr/sbin/rcceph rm -rf %{buildroot}%{_sbindir}/rcceph
rm -rf %{buildroot}/usr/sbin/mount.ceph rm -rf %{buildroot}%{_libexecdir}/ceph/ceph_common.sh
rm -rf %{buildroot}%{_libdir}/rados-classes/*
rm -rf %{buildroot}%{_libdir}/ceph/erasure-code/libec_*.so*
rm -rf %{buildroot}%{_libdir}/ceph/compressor/libceph_*.so*
rm -rf %{buildroot}%{_libdir}/libos_tp.so*
rm -rf %{buildroot}%{_libdir}/libosd_tp.so*
rm -rf %{buildroot}%{_sysconfdir}/bash_completion.d/ceph
rm -rf %{buildroot}%{_sysconfdir}/logrotate.d/ceph
rm -rf %{buildroot}%{_sysconfdir}/sysconfig/ceph
rm -rf %{buildroot}%{_localstatedir}/adm/fillup-templates/sysconfig.*
rm -rf %{buildroot}%{_sysconfdir}/sysconfig/SuSEfirewall2.d/services/ceph-mon
rm -rf %{buildroot}%{_sysconfdir}/sysconfig/SuSEfirewall2.d/services/ceph-osd-mds
rm -rf %{buildroot}%{_unitdir}/ceph.target
rm -rf %{buildroot}%{python_sitelib}/ceph_detect_init*
rm -rf %{buildroot}%{python_sitelib}/ceph_disk*
rm -rf %{buildroot}%{_mandir}/man8/ceph-deploy.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-run.8*
rm -rf %{buildroot}%{_mandir}/man8/crushtool.8*
rm -rf %{buildroot}%{_mandir}/man8/osdmaptool.8*
rm -rf %{buildroot}%{_mandir}/man8/monmaptool.8*
rm -rf %{buildroot}%{_bindir}/ceph
rm -rf %{buildroot}%{_bindir}/ceph-authtool
rm -rf %{buildroot}%{_bindir}/ceph-conf
rm -rf %{buildroot}%{_bindir}/ceph-rbdnamer
rm -rf %{buildroot}%{_bindir}/ceph-syn
rm -rf %{buildroot}%{_bindir}/ceph-crush-location
rm -rf %{buildroot}%{_bindir}/rados
rm -rf %{buildroot}%{_bindir}/rbd
rm -rf %{buildroot}%{_bindir}/rbd-replay
rm -rf %{buildroot}%{_bindir}/rbd-replay-many
rm -rf %{buildroot}%{_bindir}/rbdmap
rm -rf %{buildroot}%{_sbindir}/mount.ceph
rm -rf %{buildroot}/sbin/mount.ceph rm -rf %{buildroot}/sbin/mount.ceph
rm -rf %{buildroot}/usr/lib/ceph/ceph_common.sh rm -rf %{buildroot}%{_bindir}/rbd-replay-prep
rm -rf %{buildroot}/usr/lib64/rados-classes/* rm -rf %{buildroot}%{_bindir}/ceph-post-file
rm -rf %{buildroot}/usr/lib64/ceph/erasure-code/libec_*.so* rm -rf %{buildroot}%{_bindir}/ceph-brag
rm -rf %{buildroot}/usr/lib64/ceph/compressor/libceph_*.so* rm -rf %{buildroot}%{_tmpfilesdir}/ceph-common.conf
rm -rf %{buildroot}/usr/lib64/libos_tp.so* rm -rf %{buildroot}%{_mandir}/man8/ceph-authtool.8*
rm -rf %{buildroot}/usr/lib64/libosd_tp.so* rm -rf %{buildroot}%{_mandir}/man8/ceph-conf.8*
rm -rf %{buildroot}/etc/bash_completion.d/ceph rm -rf %{buildroot}%{_mandir}/man8/ceph-dencoder.8*
rm -rf %{buildroot}/etc/logrotate.d/ceph rm -rf %{buildroot}%{_mandir}/man8/ceph-rbdnamer.8*
rm -rf %{buildroot}/etc/sysconfig/ceph rm -rf %{buildroot}%{_mandir}/man8/ceph-syn.8*
rm -rf %{buildroot}/var/adm/fillup-templates/sysconfig.* rm -rf %{buildroot}%{_mandir}/man8/ceph-post-file.8*
rm -rf %{buildroot}/etc/sysconfig/SuSEfirewall2.d/services/ceph-mon rm -rf %{buildroot}%{_mandir}/man8/ceph.8*
rm -rf %{buildroot}/etc/sysconfig/SuSEfirewall2.d/services/ceph-osd-mds rm -rf %{buildroot}%{_mandir}/man8/mount.ceph.8*
rm -rf %{buildroot}/usr/lib/systemd/system/ceph.target rm -rf %{buildroot}%{_mandir}/man8/rados.8*
rm -rf %{buildroot}/usr/lib/python2.7/site-packages/ceph_detect_init* rm -rf %{buildroot}%{_mandir}/man8/rbd.8*
rm -rf %{buildroot}/usr/lib/python2.7/site-packages/ceph_disk* rm -rf %{buildroot}%{_mandir}/man8/rbdmap.8*
rm -rf %{buildroot}/usr/share/man/man8/ceph-deploy.8* rm -rf %{buildroot}%{_mandir}/man8/rbd-replay.8*
rm -rf %{buildroot}/usr/share/man/man8/ceph-detect-init.8* rm -rf %{buildroot}%{_mandir}/man8/rbd-replay-many.8*
rm -rf %{buildroot}/usr/share/man/man8/ceph-create-keys.8* rm -rf %{buildroot}%{_mandir}/man8/rbd-replay-prep.8*
rm -rf %{buildroot}/usr/share/man/man8/ceph-run.8* rm -rf %{buildroot}%{_datadir}/ceph/known_hosts_drop.ceph.com
rm -rf %{buildroot}/usr/share/man/man8/crushtool.8* rm -rf %{buildroot}%{_datadir}/ceph/id_rsa_drop.ceph.com
rm -rf %{buildroot}/usr/share/man/man8/osdmaptool.8* rm -rf %{buildroot}%{_datadir}/ceph/id_rsa_drop.ceph.com.pub
rm -rf %{buildroot}/usr/share/man/man8/monmaptool.8* rm -rf %{buildroot}%{_sysconfdir}/bash_completion.d/rados
rm -rf %{buildroot}/usr/share/man/man8/cephfs.8* rm -rf %{buildroot}%{_sysconfdir}/bash_completion.d/rbd
rm -rf %{buildroot}/usr/share/man/man8/mount.ceph.8* rm -rf %{buildroot}%{_sysconfdir}/ceph/rbdmap
rm -rf %{buildroot}/usr/bin/ceph rm -rf %{buildroot}%{_unitdir}/rbdmap.service
rm -rf %{buildroot}/usr/bin/ceph-authtool rm -rf %{buildroot}%{python_sitelib}/ceph_argparse.py*
rm -rf %{buildroot}/usr/bin/ceph-conf rm -rf %{buildroot}%{python_sitelib}/ceph_daemon.py*
rm -rf %{buildroot}/usr/bin/ceph-rbdnamer rm -rf %{buildroot}%{_udevrulesdir}/50-rbd.rules
rm -rf %{buildroot}/usr/bin/ceph-syn rm -rf %{buildroot}%{_bindir}/ceph-mds
rm -rf %{buildroot}/usr/bin/ceph-crush-location rm -rf %{buildroot}%{_mandir}/man8/ceph-mds.8*
rm -rf %{buildroot}/usr/bin/rados rm -rf %{buildroot}%{_unitdir}/ceph-mds@.service
rm -rf %{buildroot}/usr/bin/rbd rm -rf %{buildroot}%{_unitdir}/ceph-mds.target
rm -rf %{buildroot}/usr/bin/rbd-replay rm -rf %{buildroot}%{_bindir}/ceph-mon
rm -rf %{buildroot}/usr/bin/rbd-replay-many rm -rf %{buildroot}%{_bindir}/ceph-rest-api
rm -rf %{buildroot}/usr/bin/rbdmap rm -rf %{buildroot}%{_mandir}/man8/ceph-mon.8*
rm -rf %{buildroot}/usr/bin/rbd-replay-prep rm -rf %{buildroot}%{_mandir}/man8/ceph-rest-api.8*
rm -rf %{buildroot}/usr/bin/ceph-post-file rm -rf %{buildroot}%{python_sitelib}/ceph_rest_api.py*
rm -rf %{buildroot}/usr/bin/ceph-brag rm -rf %{buildroot}%{_unitdir}/ceph-mon@.service
rm -rf %{buildroot}/usr/lib/tmpfiles.d/ceph-common.conf rm -rf %{buildroot}%{_unitdir}/ceph-mon.target
rm -rf %{buildroot}/usr/share/man/man8/ceph-authtool.8* rm -rf %{buildroot}%{_bindir}/ceph-fuse
rm -rf %{buildroot}/usr/share/man/man8/ceph-conf.8* rm -rf %{buildroot}%{_mandir}/man8/ceph-fuse.8*
rm -rf %{buildroot}/usr/share/man/man8/ceph-dencoder.8* rm -rf %{buildroot}%{_sbindir}/mount.fuse.ceph
rm -rf %{buildroot}/usr/share/man/man8/ceph-rbdnamer.8* rm -rf %{buildroot}%{_bindir}/rbd-fuse
rm -rf %{buildroot}/usr/share/man/man8/ceph-syn.8* rm -rf %{buildroot}%{_mandir}/man8/rbd-fuse.8*
rm -rf %{buildroot}/usr/share/man/man8/ceph-post-file.8* rm -rf %{buildroot}%{_bindir}/rbd-mirror
rm -rf %{buildroot}/usr/share/man/man8/ceph.8* rm -rf %{buildroot}%{_mandir}/man8/rbd-mirror.8*
rm -rf %{buildroot}/usr/share/man/man8/rados.8* rm -rf %{buildroot}%{_unitdir}/ceph-rbd-mirror@.service
rm -rf %{buildroot}/usr/share/man/man8/rbd.8* rm -rf %{buildroot}%{_unitdir}/ceph-rbd-mirror.target
rm -rf %{buildroot}/usr/share/man/man8/rbdmap.8* rm -rf %{buildroot}%{_bindir}/rbd-nbd
rm -rf %{buildroot}/usr/share/man/man8/rbd-replay.8* rm -rf %{buildroot}%{_mandir}/man8/rbd-nbd.8*
rm -rf %{buildroot}/usr/share/man/man8/rbd-replay-many.8* rm -rf %{buildroot}%{_bindir}/radosgw
rm -rf %{buildroot}/usr/share/man/man8/rbd-replay-prep.8* rm -rf %{buildroot}%{_bindir}/radosgw-admin
rm -rf %{buildroot}/usr/share/ceph/known_hosts_drop.ceph.com rm -rf %{buildroot}%{_bindir}/radosgw-token
rm -rf %{buildroot}/usr/share/ceph/id_dsa_drop.ceph.com rm -rf %{buildroot}%{_bindir}/radosgw-object-expirer
rm -rf %{buildroot}/usr/share/ceph/id_dsa_drop.ceph.com.pub rm -rf %{buildroot}%{_mandir}/man8/radosgw.8*
rm -rf %{buildroot}/etc/bash_completion.d/rados rm -rf %{buildroot}%{_mandir}/man8/radosgw-admin.8*
rm -rf %{buildroot}/etc/bash_completion.d/rbd rm -rf %{buildroot}%{_sysconfdir}/bash_completion.d/radosgw-admin
rm -rf %{buildroot}/etc/ceph/rbdmap rm -rf %{buildroot}%{_unitdir}/ceph-radosgw@.service
rm -rf %{buildroot}/usr/lib/systemd/system/rbdmap.service rm -rf %{buildroot}%{_unitdir}/ceph-radosgw.target
rm -rf %{buildroot}/usr/lib/python2.7/site-packages/ceph_argparse.py* rm -rf %{buildroot}%{_bindir}/ceph-clsinfo
rm -rf %{buildroot}/usr/lib/python2.7/site-packages/ceph_daemon.py* rm -rf %{buildroot}%{_bindir}/ceph-bluefs-tool
rm -rf %{buildroot}/usr/lib/udev/rules.d/50-rbd.rules rm -rf %{buildroot}%{_bindir}/ceph-objectstore-tool
rm -rf %{buildroot}/usr/bin/ceph-mds rm -rf %{buildroot}%{_bindir}/ceph-osd
rm -rf %{buildroot}/usr/share/man/man8/ceph-mds.8* rm -rf %{buildroot}%{_sbindir}/ceph-disk
rm -rf %{buildroot}/usr/lib/systemd/system/ceph-mds@.service rm -rf %{buildroot}%{_sbindir}/ceph-disk-udev
rm -rf %{buildroot}/usr/lib/systemd/system/ceph-mds.target rm -rf %{buildroot}%{_libexecdir}/ceph/ceph-osd-prestart.sh
rm -rf %{buildroot}/usr/bin/ceph-mon rm -rf %{buildroot}%{_udevrulesdir}/60-ceph-by-parttypeuuid.rules
rm -rf %{buildroot}/usr/bin/ceph-rest-api rm -rf %{buildroot}%{_udevrulesdir}/95-ceph-osd.rules
rm -rf %{buildroot}/usr/share/man/man8/ceph-mon.8* rm -rf %{buildroot}%{_mandir}/man8/ceph-clsinfo.8*
rm -rf %{buildroot}/usr/share/man/man8/ceph-rest-api.8* rm -rf %{buildroot}%{_mandir}/man8/ceph-disk.8*
rm -rf %{buildroot}/usr/lib/python2.7/site-packages/ceph_rest_api.py* rm -rf %{buildroot}%{_mandir}/man8/ceph-osd.8*
rm -rf %{buildroot}/usr/lib/systemd/system/ceph-mon@.service rm -rf %{buildroot}%{_sysconfdir}/cron.hourly/subman
rm -rf %{buildroot}/usr/lib/systemd/system/ceph-mon.target rm -rf %{buildroot}%{_unitdir}/ceph-osd@.service
rm -rf %{buildroot}/usr/bin/ceph-fuse rm -rf %{buildroot}%{_unitdir}/ceph-osd.target
rm -rf %{buildroot}/usr/share/man/man8/ceph-fuse.8* rm -rf %{buildroot}%{_unitdir}/ceph-disk@.service
rm -rf %{buildroot}/usr/sbin/mount.fuse.ceph rm -rf %{buildroot}%{_prefix}/lib/ocf/resource.d/ceph/rbd
rm -rf %{buildroot}/usr/bin/rbd-fuse rm -rf %{buildroot}%{_libdir}/librados.so.*
rm -rf %{buildroot}/usr/share/man/man8/rbd-fuse.8* rm -rf %{buildroot}%{_libdir}/librados_tp.so.*
rm -rf %{buildroot}/usr/bin/rbd-mirror rm -rf %{buildroot}%{_includedir}/rados/librados.h
rm -rf %{buildroot}/usr/share/man/man8/rbd-mirror.8* rm -rf %{buildroot}%{_includedir}/rados/librados.hpp
rm -rf %{buildroot}/usr/lib/systemd/system/ceph-rbd-mirror@.service rm -rf %{buildroot}%{_includedir}/rados/buffer.h
rm -rf %{buildroot}/usr/lib/systemd/system/ceph-rbd-mirror.target rm -rf %{buildroot}%{_includedir}/rados/buffer_fwd.h
rm -rf %{buildroot}/usr/bin/rbd-nbd rm -rf %{buildroot}%{_includedir}/rados/page.h
rm -rf %{buildroot}/usr/share/man/man8/rbd-nbd.8* rm -rf %{buildroot}%{_includedir}/rados/crc32c.h
rm -rf %{buildroot}/usr/bin/radosgw rm -rf %{buildroot}%{_includedir}/rados/rados_types.h
rm -rf %{buildroot}/usr/bin/radosgw-admin rm -rf %{buildroot}%{_includedir}/rados/rados_types.hpp
rm -rf %{buildroot}/usr/bin/radosgw-token rm -rf %{buildroot}%{_includedir}/rados/memory.h
rm -rf %{buildroot}/usr/bin/radosgw-object-expirer rm -rf %{buildroot}%{_libdir}/librados.so
rm -rf %{buildroot}/usr/share/man/man8/radosgw.8* rm -rf %{buildroot}%{_libdir}/librados_tp.so
rm -rf %{buildroot}/usr/share/man/man8/radosgw-admin.8* rm -rf %{buildroot}%{_bindir}/librados-config
rm -rf %{buildroot}/etc/bash_completion.d/radosgw-admin rm -rf %{buildroot}%{_mandir}/man8/librados-config.8*
rm -rf %{buildroot}/usr/lib/systemd/system/ceph-radosgw@.service rm -rf %{buildroot}%{python_sitearch}/rados.so
rm -rf %{buildroot}/usr/lib/systemd/system/ceph-radosgw.target rm -rf %{buildroot}%{python_sitearch}/rados-*.egg-info
rm -rf %{buildroot}/usr/bin/ceph-clsinfo rm -rf %{buildroot}%{python3_sitearch}/rados.cpython*.so
rm -rf %{buildroot}/usr/bin/ceph-bluefs-tool rm -rf %{buildroot}%{python3_sitearch}/rados-*.egg-info
rm -rf %{buildroot}/usr/bin/ceph-objectstore-tool rm -rf %{buildroot}%{_libdir}/libradosstriper.so.*
rm -rf %{buildroot}/usr/bin/ceph-osd rm -rf %{buildroot}%{_includedir}/radosstriper/libradosstriper.h
rm -rf %{buildroot}/usr/sbin/ceph-disk rm -rf %{buildroot}%{_includedir}/radosstriper/libradosstriper.hpp
rm -rf %{buildroot}/usr/sbin/ceph-disk-udev rm -rf %{buildroot}%{_libdir}/libradosstriper.so
rm -rf %{buildroot}/usr/lib/ceph/ceph-osd-prestart.sh rm -rf %{buildroot}%{_libdir}/librbd.so.*
rm -rf %{buildroot}/usr/lib/udev/rules.d/95-ceph-osd.rules rm -rf %{buildroot}%{_libdir}/librbd_tp.so.*
rm -rf %{buildroot}/usr/share/man/man8/ceph-clsinfo.8* rm -rf %{buildroot}%{_includedir}/rbd/librbd.h
rm -rf %{buildroot}/usr/share/man/man8/ceph-disk.8* rm -rf %{buildroot}%{_includedir}/rbd/librbd.hpp
rm -rf %{buildroot}/usr/share/man/man8/ceph-osd.8* rm -rf %{buildroot}%{_includedir}/rbd/features.h
rm -rf %{buildroot}/etc/cron.hourly/subman rm -rf %{buildroot}%{_libdir}/librbd.so
rm -rf %{buildroot}/usr/lib/systemd/system/ceph-osd@.service rm -rf %{buildroot}%{_libdir}/librbd_tp.so
rm -rf %{buildroot}/usr/lib/systemd/system/ceph-osd.target rm -rf %{buildroot}%{_libdir}/librgw.so.*
rm -rf %{buildroot}/usr/lib/systemd/system/ceph-disk@.service rm -rf %{buildroot}%{_includedir}/rados/librgw.h
rm -rf %{buildroot}/usr/lib/ocf/resource.d/ceph/rbd rm -rf %{buildroot}%{_includedir}/rados/rgw_file.h
rm -rf %{buildroot}/usr/lib64/librados.so.* rm -rf %{buildroot}%{_libdir}/librgw.so
rm -rf %{buildroot}/usr/lib64/librados_tp.so.* rm -rf %{buildroot}%{python_sitearch}/rbd.so
rm -rf %{buildroot}/usr/include/rados/librados.h rm -rf %{buildroot}%{python_sitearch}/rbd-*.egg-info
rm -rf %{buildroot}/usr/include/rados/librados.hpp rm -rf %{buildroot}%{python3_sitearch}/rbd.cpython*.so
rm -rf %{buildroot}/usr/include/rados/buffer.h rm -rf %{buildroot}%{python3_sitearch}/rbd-*.egg-info
rm -rf %{buildroot}/usr/include/rados/buffer_fwd.h rm -rf %{buildroot}%{_libdir}/libcephfs.so.*
rm -rf %{buildroot}/usr/include/rados/page.h rm -rf %{buildroot}%{_includedir}/cephfs/libcephfs.h
rm -rf %{buildroot}/usr/include/rados/crc32c.h rm -rf %{buildroot}%{_libdir}/libcephfs.so
rm -rf %{buildroot}/usr/include/rados/rados_types.h rm -rf %{buildroot}%{python_sitearch}/cephfs.so
rm -rf %{buildroot}/usr/include/rados/rados_types.hpp rm -rf %{buildroot}%{python_sitearch}/cephfs-*.egg-info
rm -rf %{buildroot}/usr/include/rados/memory.h rm -rf %{buildroot}%{python_sitelib}/ceph_volume_client.py*
rm -rf %{buildroot}/usr/lib64/librados.so rm -rf %{buildroot}%{python3_sitearch}/cephfs.cpython*.so
rm -rf %{buildroot}/usr/lib64/librados_tp.so rm -rf %{buildroot}%{python3_sitearch}/cephfs-*.egg-info
rm -rf %{buildroot}/usr/bin/librados-config rm -rf %{buildroot}%{python3_sitelib}/ceph_volume_client.py
rm -rf %{buildroot}/usr/share/man/man8/librados-config.8* rm -rf %{buildroot}%{python3_sitelib}/__pycache__/ceph_volume_client.cpython*.py*
rm -rf %{buildroot}/usr/lib64/python2.7/site-packages/rados.so rm -rf %{buildroot}%{python3_sitelib}/ceph_argparse.py
rm -rf %{buildroot}/usr/lib64/python2.7/site-packages/rados-*.egg-info rm -rf %{buildroot}%{python3_sitelib}/__pycache__/ceph_argparse.cpython*.py*
rm -rf %{buildroot}/usr/lib64/libradosstriper.so.* rm -rf %{buildroot}%{python3_sitelib}/ceph_daemon.py
rm -rf %{buildroot}/usr/include/radosstriper/libradosstriper.h rm -rf %{buildroot}%{python3_sitelib}/__pycache__/ceph_daemon.cpython*.py*
rm -rf %{buildroot}/usr/include/radosstriper/libradosstriper.hpp rm -rf %{buildroot}%{_libdir}/libcephfs_jni.so.*
rm -rf %{buildroot}/usr/lib64/libradosstriper.so rm -rf %{buildroot}%{_libdir}/libcephfs_jni.so
rm -rf %{buildroot}/usr/lib64/librbd.so.* rm -rf %{buildroot}%{_javadir}/libcephfs.jar
rm -rf %{buildroot}/usr/lib64/librbd_tp.so.* rm -rf %{buildroot}%{_javadir}/libcephfs-test.jar
rm -rf %{buildroot}/usr/include/rbd/librbd.h rm -rf %{buildroot}%{_datadir}/selinux/packages/ceph.pp
rm -rf %{buildroot}/usr/include/rbd/librbd.hpp rm -rf %{buildroot}%{_datadir}/selinux/devel/include/contrib/ceph.if
rm -rf %{buildroot}/usr/include/rbd/features.h rm -rf %{buildroot}%{_mandir}/man8/ceph_selinux.8*
rm -rf %{buildroot}/usr/lib64/librbd.so
rm -rf %{buildroot}/usr/lib64/librbd_tp.so
rm -rf %{buildroot}/usr/lib64/librgw.so.*
rm -rf %{buildroot}/usr/include/rados/librgw.h
rm -rf %{buildroot}/usr/include/rados/rgw_file.h
rm -rf %{buildroot}/usr/lib64/librgw.so
rm -rf %{buildroot}/usr/lib64/python2.7/site-packages/rbd.so
rm -rf %{buildroot}/usr/lib64/python2.7/site-packages/rbd-*.egg-info
rm -rf %{buildroot}/usr/lib64/libcephfs.so.*
rm -rf %{buildroot}/usr/include/cephfs/libcephfs.h
rm -rf %{buildroot}/usr/lib64/libcephfs.so
rm -rf %{buildroot}/usr/lib64/python2.7/site-packages/cephfs.so
rm -rf %{buildroot}/usr/lib64/python2.7/site-packages/cephfs-*.egg-info
rm -rf %{buildroot}/usr/lib/python2.7/site-packages/ceph_volume_client.py*
rm -rf %{buildroot}/usr/lib64/libcephfs_jni.so.*
rm -rf %{buildroot}/usr/lib64/libcephfs_jni.so
rm -rf %{buildroot}/usr/share/java/libcephfs.jar
rm -rf %{buildroot}/usr/share/java/libcephfs-test.jar
rm -rf %{buildroot}/usr/share/selinux/packages/ceph.pp
rm -rf %{buildroot}/usr/share/selinux/devel/include/contrib/ceph.if
rm -rf %{buildroot}/usr/share/man/man8/ceph_selinux.8*
dirs=`find %{buildroot} -type d -empty` dirs=`find %{buildroot} -type d -empty`
while [[ -n $dirs ]]; do while [[ -n $dirs ]]; do
@ -571,8 +612,6 @@ rm -rf %{buildroot}
################################################################################# #################################################################################
%files %files
%if 0%{?suse_version}
%endif
%if %{with lttng} %if %{with lttng}
%endif %endif
%if 0%{?fedora} || 0%{?rhel} %if 0%{?fedora} || 0%{?rhel}
@ -591,6 +630,8 @@ rm -rf %{buildroot}
%endif %endif
%if 0%{?fedora} || 0%{?rhel} %if 0%{?fedora} || 0%{?rhel}
%endif %endif
%if 0%{?suse_version}
%endif
%if %{with lttng} %if %{with lttng}
%endif %endif
%if 0%{?rhel} || 0%{?fedora} %if 0%{?rhel} || 0%{?fedora}
@ -697,7 +738,6 @@ rm -rf %{buildroot}
%{_bindir}/ceph_smalliobenchfs %{_bindir}/ceph_smalliobenchfs
%{_bindir}/ceph_smalliobenchrbd %{_bindir}/ceph_smalliobenchrbd
%{_bindir}/ceph_test_* %{_bindir}/ceph_test_*
%{_bindir}/librgw_file*
%{_bindir}/ceph_tpbench %{_bindir}/ceph_tpbench
%{_bindir}/ceph_xattr_bench %{_bindir}/ceph_xattr_bench
%{_bindir}/ceph-coverage %{_bindir}/ceph-coverage
@ -710,7 +750,6 @@ rm -rf %{buildroot}
%{_libdir}/ceph/ceph-monstore-update-crush.sh %{_libdir}/ceph/ceph-monstore-update-crush.sh
%endif %endif
#################################################################################
%if 0%{with cephfs_java} %if 0%{with cephfs_java}
%endif %endif
%if 0%{with selinux} %if 0%{with selinux}

File diff suppressed because it is too large Load Diff

346
ceph.spec
View File

@ -20,7 +20,12 @@
%endif %endif
%bcond_with make_check %bcond_with make_check
%bcond_with xio %bcond_with xio
%ifnarch s390 s390x
%bcond_without tcmalloc %bcond_without tcmalloc
%else
# no gperftools/tcmalloc on s390(x)
%bcond_with tcmalloc
%endif
%bcond_with lowmem_builder %bcond_with lowmem_builder
%bcond_with minimal_debugging_information %bcond_with minimal_debugging_information
%if 0%{?fedora} || 0%{?rhel} %if 0%{?fedora} || 0%{?rhel}
@ -51,6 +56,7 @@
%{!?_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}
# unify libexec for all targets # unify libexec for all targets
%global _libexecdir %{_exec_prefix}/lib %global _libexecdir %{_exec_prefix}/lib
@ -60,7 +66,7 @@
# common # common
################################################################################# #################################################################################
Name: ceph Name: ceph
Version: 10.2.2+git.1471622341.b446b70 Version: 11.0.0+git.1472455009.a17726c
Release: 0 Release: 0
Summary: User space components of the Ceph file system Summary: User space components of the Ceph file system
License: LGPL-2.1 and CC-BY-SA-1.0 and GPL-2.0 and BSL-1.0 and GPL-2.0-with-autoconf-exception and BSD-3-Clause and MIT License: LGPL-2.1 and CC-BY-SA-1.0 and GPL-2.0 and BSL-1.0 and GPL-2.0-with-autoconf-exception and BSD-3-Clause and MIT
@ -69,10 +75,14 @@ Group: System/Filesystems
%endif %endif
URL: http://ceph.com/ URL: http://ceph.com/
Source0: %{name}-%{version}.tar.bz2 Source0: %{name}-%{version}.tar.bz2
Source99: ceph-rpmlintrc # _insert_obs_source_lines_here
%if 0%{?suse_version} %if 0%{?suse_version}
%if 0%{?is_opensuse}
ExclusiveArch: x86_64 aarch64 ppc64 ppc64le
%else
ExclusiveArch: x86_64 aarch64 ExclusiveArch: x86_64 aarch64
%endif %endif
%endif
################################################################################# #################################################################################
# dependencies that apply across all distro families # dependencies that apply across all distro families
################################################################################# #################################################################################
@ -95,9 +105,14 @@ BuildRequires: cryptsetup
BuildRequires: fuse-devel BuildRequires: fuse-devel
BuildRequires: gcc-c++ BuildRequires: gcc-c++
BuildRequires: gdbm BuildRequires: gdbm
%if 0%{with tcmalloc}
BuildRequires: gperftools-devel
%endif
BuildRequires: hdparm BuildRequires: hdparm
BuildRequires: jq
BuildRequires: leveldb-devel > 1.2 BuildRequires: leveldb-devel > 1.2
BuildRequires: libaio-devel BuildRequires: libaio-devel
BuildRequires: libatomic_ops-devel
BuildRequires: libblkid-devel >= 2.17 BuildRequires: libblkid-devel >= 2.17
BuildRequires: libcurl-devel BuildRequires: libcurl-devel
BuildRequires: libudev-devel BuildRequires: libudev-devel
@ -134,13 +149,9 @@ BuildRequires: systemd
PreReq: %fillup_prereq PreReq: %fillup_prereq
BuildRequires: net-tools BuildRequires: net-tools
BuildRequires: libbz2-devel BuildRequires: libbz2-devel
%if 0%{with tcmalloc}
BuildRequires: gperftools-devel
%endif
BuildRequires: btrfsprogs BuildRequires: btrfsprogs
BuildRequires: mozilla-nss-devel BuildRequires: mozilla-nss-devel
BuildRequires: keyutils-devel BuildRequires: keyutils-devel
BuildRequires: libatomic-ops-devel
BuildRequires: libopenssl-devel BuildRequires: libopenssl-devel
BuildRequires: lsb-release BuildRequires: lsb-release
BuildRequires: openldap2-devel BuildRequires: openldap2-devel
@ -152,13 +163,21 @@ BuildRequires: boost-random
BuildRequires: btrfs-progs BuildRequires: btrfs-progs
BuildRequires: nss-devel BuildRequires: nss-devel
BuildRequires: keyutils-libs-devel BuildRequires: keyutils-libs-devel
BuildRequires: libatomic_ops-devel
BuildRequires: gperftools-devel
BuildRequires: openldap-devel BuildRequires: openldap-devel
BuildRequires: openssl-devel BuildRequires: openssl-devel
BuildRequires: redhat-lsb-core BuildRequires: redhat-lsb-core
BuildRequires: Cython BuildRequires: Cython
%endif %endif
# python34-... for RHEL, python3-... for all other supported distros
%if 0%{?rhel}
BuildRequires: python34-devel
BuildRequires: python34-setuptools
BuildRequires: python34-Cython
%else
BuildRequires: python3-devel
BuildRequires: python3-setuptools
BuildRequires: python3-Cython
%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}
@ -213,7 +232,6 @@ Requires: python-setuptools
Requires: grep Requires: grep
Requires: xfsprogs Requires: xfsprogs
Requires: logrotate Requires: logrotate
Requires: parted
Requires: util-linux Requires: util-linux
Requires: hdparm Requires: hdparm
Requires: cryptsetup Requires: cryptsetup
@ -322,12 +340,6 @@ Requires: librados2 = %{version}-%{release}
Requires: librgw2 = %{version}-%{release} Requires: librgw2 = %{version}-%{release}
%if 0%{?rhel} || 0%{?fedora} %if 0%{?rhel} || 0%{?fedora}
Requires: mailcap Requires: mailcap
# python-flask for powerdns
Requires: python-flask
%endif
%if 0%{?suse_version}
# python-Flask for powerdns
Requires: python-Flask
%endif %endif
%description radosgw %description radosgw
RADOS is a distributed object store used by the Ceph distributed RADOS is a distributed object store used by the Ceph distributed
@ -359,6 +371,7 @@ Requires: gdisk
%if 0%{?suse_version} %if 0%{?suse_version}
Requires: gptfdisk Requires: gptfdisk
%endif %endif
Requires: parted
%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
@ -411,13 +424,23 @@ This package contains libraries and headers needed to develop programs
that use RADOS gateway client library. that use RADOS gateway client library.
%package -n python-rados %package -n python-rados
Summary: Python libraries for the RADOS object store Summary: Python 2 libraries for the RADOS object store
Group: System Environment/Libraries Group: System Environment/Libraries
License: LGPL-2.0 License: LGPL-2.0
Requires: librados2 = %{version}-%{release} Requires: librados2 = %{version}-%{release}
Obsoletes: python-ceph < %{version}-%{release} Obsoletes: python-ceph < %{version}-%{release}
%description -n python-rados %description -n python-rados
This package contains Python libraries for interacting with Cephs RADOS This package contains Python 2 libraries for interacting with Cephs RADOS
object store.
%package -n python%{python3_pkgversion}-rados
Summary: Python 3 libraries for the RADOS object store
Group: System Environment/Libraries
License: LGPL-2.0
Requires: python%{python3_pkgversion}
Requires: librados2 = %{version}-%{release}
%description -n python%{python3_pkgversion}-rados
This package contains Python 3 libraries for interacting with Cephs RADOS
object store. object store.
%package -n libradosstriper1 %package -n libradosstriper1
@ -471,14 +494,24 @@ This package contains libraries and headers needed to develop programs
that use RADOS block device. that use RADOS block device.
%package -n python-rbd %package -n python-rbd
Summary: Python libraries for the RADOS block device Summary: Python 2 libraries for the RADOS block device
Group: System Environment/Libraries Group: System Environment/Libraries
License: LGPL-2.0 License: LGPL-2.0
Requires: librbd1 = %{version}-%{release} Requires: librbd1 = %{version}-%{release}
Requires: python-rados = %{version}-%{release} Requires: python-rados = %{version}-%{release}
Obsoletes: python-ceph < %{version}-%{release} Obsoletes: python-ceph < %{version}-%{release}
%description -n python-rbd %description -n python-rbd
This package contains Python libraries for interacting with Cephs RADOS This package contains Python 2 libraries for interacting with Cephs RADOS
block device.
%package -n python%{python3_pkgversion}-rbd
Summary: Python 3 libraries for the RADOS block device
Group: System Environment/Libraries
License: LGPL-2.0
Requires: librbd1 = %{version}-%{release}
Requires: python%{python3_pkgversion}-rados = %{version}-%{release}
%description -n python%{python3_pkgversion}-rbd
This package contains Python 3 libraries for interacting with Cephs RADOS
block device. block device.
%package -n libcephfs1 %package -n libcephfs1
@ -509,16 +542,36 @@ This package contains libraries and headers needed to develop programs
that use Cephs distributed file system. that use Cephs distributed file system.
%package -n python-cephfs %package -n python-cephfs
Summary: Python libraries for Ceph distributed file system Summary: Python 2 libraries for Ceph distributed file system
Group: System Environment/Libraries Group: System Environment/Libraries
License: LGPL-2.0 License: LGPL-2.0
Requires: libcephfs1 = %{version}-%{release} Requires: libcephfs1 = %{version}-%{release}
Requires: python-rados = %{version}-%{release} Requires: python-rados = %{version}-%{release}
Obsoletes: python-ceph < %{version}-%{release} Obsoletes: python-ceph < %{version}-%{release}
%description -n python-cephfs %description -n python-cephfs
This package contains Python libraries for interacting with Cephs distributed This package contains Python 2 libraries for interacting with Cephs distributed
file system. file system.
%package -n python%{python3_pkgversion}-cephfs
Summary: Python 3 libraries for Ceph distributed file system
Group: System Environment/Libraries
License: LGPL-2.0
Requires: libcephfs1 = %{version}-%{release}
Requires: python%{python3_pkgversion}-rados = %{version}-%{release}
%description -n python%{python3_pkgversion}-cephfs
This package contains Python 3 libraries for interacting with Cephs distributed
file system.
%package -n python%{python3_pkgversion}-ceph-argparse
Summary: Python 3 utility libraries for Ceph CLI
Group: System Environment/Libraries
License: LGPL-2.0
%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
command-description information, validating user command input against those
descriptions, and submitting the command to the appropriate daemon.
%if 0%{with ceph_test_package} %if 0%{with ceph_test_package}
%package -n ceph-test %package -n ceph-test
Summary: Ceph benchmarks and test tools Summary: Ceph benchmarks and test tools
@ -584,11 +637,26 @@ populated file-systems.
%endif %endif
%package -n python-ceph-compat
Summary: Compatibility package for Cephs python libraries
Group: System Environment/Libraries
License: LGPL-2.0
Obsoletes: python-ceph
Requires: python-rados = %{version}-%{release}
Requires: python-rbd = %{version}-%{release}
Requires: python-cephfs = %{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 and python-cephfs. Packages still depending on
python-ceph should be fixed to depend on python-rados, python-rbd or
python-cephfs instead.
################################################################################# #################################################################################
# common # common
################################################################################# #################################################################################
%prep %prep
%setup -q %autosetup -p1
%build %build
%if 0%{with cephfs_java} %if 0%{with cephfs_java}
@ -598,8 +666,6 @@ for i in /usr/{lib64,lib}/jvm/java/include{,/linux}; do
done done
%endif %endif
./autogen.sh
%if %{with lowmem_builder} %if %{with lowmem_builder}
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
@ -608,44 +674,48 @@ RPM_OPT_FLAGS="`echo $RPM_OPT_FLAGS | sed -e 's/^-g /-g1 /g' -e 's/ -g / -g1 /g'
%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/'`
%{configure} CPPFLAGS="$java_inc" \ export CPPFLAGS="$java_inc"
--prefix=/usr \ export CFLAGS="$RPM_OPT_FLAGS"
--libexecdir=%{_libexecdir} \ export CXXFLAGS="$RPM_OPT_FLAGS"
--localstatedir=%{_localstatedir} \
--sysconfdir=%{_sysconfdir} \ mkdir build
--disable-static \ cd build
cmake .. \
-DCMAKE_INSTALL_PREFIX=%{_prefix} \
-DCMAKE_INSTALL_LIBDIR=%{_libdir} \
-DCMAKE_INSTALL_LIBEXECDIR=%{_libexecdir} \
-DCMAKE_INSTALL_LOCALSTATEDIR=%{_localstatedir} \
-DCMAKE_INSTALL_SYSCONFDIR=%{_sysconfdir} \
-DCMAKE_INSTALL_MANDIR=%{_mandir} \
-DCMAKE_INSTALL_DOCDIR=%{_docdir}/ceph \
-DWITH_MANPAGE=ON \
-DWITH_SYSTEMD=ON \
%if 0%{?rhel} && ! 0%{?centos} %if 0%{?rhel} && ! 0%{?centos}
--enable-subman \ -DWITH_SUBMAN=ON \
%endif
--with-systemdsystemunitdir=%_unitdir \
--docdir=%{_docdir}/ceph \
--with-man-pages \
--mandir="%_mandir" \
--with-nss \
--without-cryptopp \
--with-debug \
%if 0%{without ceph_test_package}
--without-tests \
%endif
%if 0%{with cephfs_java}
--enable-cephfs-java \
%endif %endif
%if 0%{with xio} %if 0%{with xio}
--enable-xio \ -DWITH_XIO=ON \
%endif
%if 0%{without ceph_test_package}
-DWITH_TESTS=OFF \
%endif
%if 0%{with cephfs_java}
-DWITH_CEPHFS_JAVA=ON \
%endif %endif
%if 0%{with selinux} %if 0%{with selinux}
--with-selinux \ -DWITH_SELINUX=ON \
%endif %endif
--with-librocksdb-static=check \ %if %{with lttng}
--with-radosgw \ -DWITH_LTTNG=ON \
%if %{without lttng} -DHAVE_BABELTRACE=ON \
--without-lttng \ %else
--without-babeltrace \ -DWITH_LTTNG=OFF \
-DHAVE_BABELTRACE=OFF \
%endif
$CEPH_EXTRA_CMAKE_ARGS \
%if 0%{with ocf}
-DWITH_OCF=ON
%endif %endif
$CEPH_EXTRA_CONFIGURE_ARGS \
%{?_with_ocf} \
%{?_with_tcmalloc} \
CFLAGS="$RPM_OPT_FLAGS" CXXFLAGS="$RPM_OPT_FLAGS"
# Parallel build settings ... # Parallel build settings ...
PARALLEL_BUILD=%{?_smp_mflags} PARALLEL_BUILD=%{?_smp_mflags}
@ -676,16 +746,23 @@ fi
make "$PARALLEL_BUILD" make "$PARALLEL_BUILD"
%if 0%{with make_check} %if 0%{with make_check}
%check %check
# run in-tree unittests # run in-tree unittests
make CHECK_ULIMIT=false %{?_smp_mflags} check cd build
ctest %{?_smp_mflags}
%endif %endif
%install %install
pushd build
make DESTDIR=%{buildroot} install make DESTDIR=%{buildroot} install
find %{buildroot} -type f -name "*.la" -exec rm -f {} ';' # we have dropped sysvinit bits
find %{buildroot} -type f -name "*.a" -exec rm -f {} ';' rm -f %{buildroot}/%{_sysconfdir}/init.d/ceph
popd
install -D src/etc-rbdmap %{buildroot}%{_sysconfdir}/ceph/rbdmap install -D src/etc-rbdmap %{buildroot}%{_sysconfdir}/ceph/rbdmap
%if 0%{?fedora} || 0%{?rhel} %if 0%{?fedora} || 0%{?rhel}
install -m 0644 -D etc/sysconfig/ceph %{buildroot}%{_sysconfdir}/sysconfig/ceph install -m 0644 -D etc/sysconfig/ceph %{buildroot}%{_sysconfdir}/sysconfig/ceph
@ -711,6 +788,7 @@ ln -sf %{_sbindir}/mount.ceph %{buildroot}/sbin/mount.ceph
# udev rules # udev rules
install -m 0644 -D udev/50-rbd.rules %{buildroot}%{_udevrulesdir}/50-rbd.rules install -m 0644 -D udev/50-rbd.rules %{buildroot}%{_udevrulesdir}/50-rbd.rules
install -m 0644 -D udev/60-ceph-by-parttypeuuid.rules %{buildroot}%{_udevrulesdir}/60-ceph-by-parttypeuuid.rules
install -m 0644 -D udev/95-ceph-osd.rules %{buildroot}%{_udevrulesdir}/95-ceph-osd.rules install -m 0644 -D udev/95-ceph-osd.rules %{buildroot}%{_udevrulesdir}/95-ceph-osd.rules
#set up placeholder directories #set up placeholder directories
@ -726,9 +804,9 @@ mkdir -p %{buildroot}%{_localstatedir}/lib/ceph/bootstrap-osd
mkdir -p %{buildroot}%{_localstatedir}/lib/ceph/bootstrap-mds mkdir -p %{buildroot}%{_localstatedir}/lib/ceph/bootstrap-mds
mkdir -p %{buildroot}%{_localstatedir}/lib/ceph/bootstrap-rgw mkdir -p %{buildroot}%{_localstatedir}/lib/ceph/bootstrap-rgw
# hack to reduce disk space usage in OBS %if 0%{?suse_version}
%if 0%{?is_opensuse} # create __pycache__ directories and their contents
rm -rf .* * 2>/dev/null | : %py3_compile %{buildroot}%{python3_sitelib}
%endif %endif
%clean %clean
@ -751,17 +829,13 @@ rm -rf %{buildroot}
%{_bindir}/ceph-run %{_bindir}/ceph-run
%{_bindir}/ceph-dencoder %{_bindir}/ceph-dencoder
%{_bindir}/ceph-detect-init %{_bindir}/ceph-detect-init
%{_bindir}/cephfs %{_unitdir}/ceph-create-keys@.service
%{_bindir}/cephfs-data-scan %{_bindir}/cephfs-data-scan
%{_bindir}/cephfs-journal-tool %{_bindir}/cephfs-journal-tool
%{_bindir}/cephfs-table-tool %{_bindir}/cephfs-table-tool
%{_libexecdir}/systemd/system-preset/50-ceph.preset %{_libexecdir}/systemd/system-preset/50-ceph.preset
%{_sbindir}/ceph-create-keys %{_sbindir}/ceph-create-keys
%{_sbindir}/rcceph %{_sbindir}/rcceph
%{_sbindir}/mount.ceph
%if 0%{?suse_version}
/sbin/mount.ceph
%endif
%dir %{_libexecdir}/ceph %dir %{_libexecdir}/ceph
%{_libexecdir}/ceph/ceph_common.sh %{_libexecdir}/ceph/ceph_common.sh
%dir %{_libdir}/rados-classes %dir %{_libdir}/rados-classes
@ -795,8 +869,6 @@ rm -rf %{buildroot}
%{_mandir}/man8/crushtool.8* %{_mandir}/man8/crushtool.8*
%{_mandir}/man8/osdmaptool.8* %{_mandir}/man8/osdmaptool.8*
%{_mandir}/man8/monmaptool.8* %{_mandir}/man8/monmaptool.8*
%{_mandir}/man8/cephfs.8*
%{_mandir}/man8/mount.ceph.8*
#set up placeholder directories #set up placeholder directories
%attr(750,ceph,ceph) %dir %{_localstatedir}/lib/ceph/tmp %attr(750,ceph,ceph) %dir %{_localstatedir}/lib/ceph/tmp
%attr(750,ceph,ceph) %dir %{_localstatedir}/lib/ceph/bootstrap-osd %attr(750,ceph,ceph) %dir %{_localstatedir}/lib/ceph/bootstrap-osd
@ -807,14 +879,16 @@ rm -rf %{buildroot}
/sbin/ldconfig /sbin/ldconfig
%if 0%{?suse_version} %if 0%{?suse_version}
%fillup_only %fillup_only
if [ $1 -ge 1 ] ; then if [ $1 -eq 1 ] ; then
/usr/bin/systemctl preset ceph.target >/dev/null 2>&1 || : /usr/bin/systemctl preset ceph.target >/dev/null 2>&1 || :
fi fi
%endif %endif
%if 0%{?fedora} || 0%{?rhel} %if 0%{?fedora} || 0%{?rhel}
%systemd_post ceph.target %systemd_post ceph.target
%endif %endif
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 || :
fi
%preun base %preun base
%if 0%{?suse_version} %if 0%{?suse_version}
@ -834,7 +908,6 @@ DISABLE_RESTART_ON_UPDATE="yes"
%systemd_postun ceph.target %systemd_postun ceph.target
%endif %endif
#################################################################################
%files common %files common
%defattr(-,root,root,-) %defattr(-,root,root,-)
%{_bindir}/ceph %{_bindir}/ceph
@ -848,6 +921,10 @@ DISABLE_RESTART_ON_UPDATE="yes"
%{_bindir}/rbd-replay %{_bindir}/rbd-replay
%{_bindir}/rbd-replay-many %{_bindir}/rbd-replay-many
%{_bindir}/rbdmap %{_bindir}/rbdmap
%{_sbindir}/mount.ceph
%if 0%{?suse_version}
/sbin/mount.ceph
%endif
%if %{with lttng} %if %{with lttng}
%{_bindir}/rbd-replay-prep %{_bindir}/rbd-replay-prep
%endif %endif
@ -861,6 +938,7 @@ DISABLE_RESTART_ON_UPDATE="yes"
%{_mandir}/man8/ceph-syn.8* %{_mandir}/man8/ceph-syn.8*
%{_mandir}/man8/ceph-post-file.8* %{_mandir}/man8/ceph-post-file.8*
%{_mandir}/man8/ceph.8* %{_mandir}/man8/ceph.8*
%{_mandir}/man8/mount.ceph.8*
%{_mandir}/man8/rados.8* %{_mandir}/man8/rados.8*
%{_mandir}/man8/rbd.8* %{_mandir}/man8/rbd.8*
%{_mandir}/man8/rbdmap.8* %{_mandir}/man8/rbdmap.8*
@ -869,8 +947,8 @@ DISABLE_RESTART_ON_UPDATE="yes"
%{_mandir}/man8/rbd-replay-prep.8* %{_mandir}/man8/rbd-replay-prep.8*
%dir %{_datadir}/ceph/ %dir %{_datadir}/ceph/
%{_datadir}/ceph/known_hosts_drop.ceph.com %{_datadir}/ceph/known_hosts_drop.ceph.com
%{_datadir}/ceph/id_dsa_drop.ceph.com %{_datadir}/ceph/id_rsa_drop.ceph.com
%{_datadir}/ceph/id_dsa_drop.ceph.com.pub %{_datadir}/ceph/id_rsa_drop.ceph.com.pub
%dir %{_sysconfdir}/ceph/ %dir %{_sysconfdir}/ceph/
%config %{_sysconfdir}/bash_completion.d/rados %config %{_sysconfdir}/bash_completion.d/rados
%config %{_sysconfdir}/bash_completion.d/rbd %config %{_sysconfdir}/bash_completion.d/rbd
@ -924,7 +1002,6 @@ if [ "$1" -eq "0" ] ; then
rm -rf %{_sysconfdir}/ceph rm -rf %{_sysconfdir}/ceph
fi fi
#################################################################################
%files mds %files mds
%{_bindir}/ceph-mds %{_bindir}/ceph-mds
%{_mandir}/man8/ceph-mds.8* %{_mandir}/man8/ceph-mds.8*
@ -934,14 +1011,16 @@ fi
%post mds %post mds
%if 0%{?suse_version} %if 0%{?suse_version}
if [ $1 -ge 1 ] ; then if [ $1 -eq 1 ] ; then
/usr/bin/systemctl preset ceph-mds@\*.service ceph-mds.target >/dev/null 2>&1 || : /usr/bin/systemctl preset ceph-mds@\*.service ceph-mds.target >/dev/null 2>&1 || :
fi fi
%endif %endif
%if 0%{?fedora} || 0%{?rhel} %if 0%{?fedora} || 0%{?rhel}
%systemd_post ceph-mds@\*.service ceph-mds.target %systemd_post ceph-mds@\*.service ceph-mds.target
%endif %endif
if [ $1 -eq 1 ] ; then
/usr/bin/systemctl start ceph-mds.target >/dev/null 2>&1 || : /usr/bin/systemctl start ceph-mds.target >/dev/null 2>&1 || :
fi
%preun mds %preun mds
%if 0%{?suse_version} %if 0%{?suse_version}
@ -972,7 +1051,6 @@ if [ $FIRST_ARG -ge 1 ] ; then
fi fi
fi fi
#################################################################################
%files mon %files mon
%{_bindir}/ceph-mon %{_bindir}/ceph-mon
%{_bindir}/ceph-rest-api %{_bindir}/ceph-rest-api
@ -985,31 +1063,33 @@ fi
%post mon %post mon
%if 0%{?suse_version} %if 0%{?suse_version}
if [ $1 -ge 1 ] ; then if [ $1 -eq 1 ] ; then
/usr/bin/systemctl preset ceph-mon@\*.service ceph-mon.target >/dev/null 2>&1 || : /usr/bin/systemctl preset ceph-create-keys@\*.service ceph-mon@\*.service ceph-mon.target >/dev/null 2>&1 || :
fi fi
%endif %endif
%if 0%{?fedora} || 0%{?rhel} %if 0%{?fedora} || 0%{?rhel}
%systemd_post ceph-mon@\*.service ceph-mon.target %systemd_post ceph-create-keys@\*.service ceph-mon@\*.service ceph-mon.target
%endif %endif
if [ $1 -eq 1 ] ; then
/usr/bin/systemctl start ceph-mon.target >/dev/null 2>&1 || : /usr/bin/systemctl start ceph-mon.target >/dev/null 2>&1 || :
fi
%preun mon %preun mon
%if 0%{?suse_version} %if 0%{?suse_version}
%service_del_preun ceph-mon@\*.service ceph-mon.target %service_del_preun ceph-create-keys@\*.service ceph-mon@\*.service ceph-mon.target
%endif %endif
%if 0%{?fedora} || 0%{?rhel} %if 0%{?fedora} || 0%{?rhel}
%systemd_preun ceph-mon@\*.service ceph-mon.target %systemd_preun ceph-create-keys@\*.service ceph-mon@\*.service ceph-mon.target
%endif %endif
%postun mon %postun mon
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-mon@\*.service ceph-mon.target %service_del_postun ceph-create-keys@\*.service ceph-mon@\*.service ceph-mon.target
%endif %endif
%if 0%{?fedora} || 0%{?rhel} %if 0%{?fedora} || 0%{?rhel}
%systemd_postun ceph-mon@\*.service ceph-mon.target %systemd_postun ceph-create-keys@\*.service ceph-mon@\*.service ceph-mon.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
@ -1019,24 +1099,21 @@ 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-mon@\*.service > /dev/null 2>&1 || : /usr/bin/systemctl try-restart ceph-create-keys@\*.service ceph-mon@\*.service > /dev/null 2>&1 || :
fi fi
fi fi
#################################################################################
%files fuse %files fuse
%defattr(-,root,root,-) %defattr(-,root,root,-)
%{_bindir}/ceph-fuse %{_bindir}/ceph-fuse
%{_mandir}/man8/ceph-fuse.8* %{_mandir}/man8/ceph-fuse.8*
%{_sbindir}/mount.fuse.ceph %{_sbindir}/mount.fuse.ceph
#################################################################################
%files -n rbd-fuse %files -n rbd-fuse
%defattr(-,root,root,-) %defattr(-,root,root,-)
%{_bindir}/rbd-fuse %{_bindir}/rbd-fuse
%{_mandir}/man8/rbd-fuse.8* %{_mandir}/man8/rbd-fuse.8*
#################################################################################
%files -n rbd-mirror %files -n rbd-mirror
%defattr(-,root,root,-) %defattr(-,root,root,-)
%{_bindir}/rbd-mirror %{_bindir}/rbd-mirror
@ -1046,14 +1123,16 @@ fi
%post -n rbd-mirror %post -n rbd-mirror
%if 0%{?suse_version} %if 0%{?suse_version}
if [ $1 -ge 1 ] ; then if [ $1 -eq 1 ] ; then
/usr/bin/systemctl preset ceph-rbd-mirror@\*.service ceph-rbd-mirror.target >/dev/null 2>&1 || : /usr/bin/systemctl preset ceph-rbd-mirror@\*.service ceph-rbd-mirror.target >/dev/null 2>&1 || :
fi fi
%endif %endif
%if 0%{?fedora} || 0%{?rhel} %if 0%{?fedora} || 0%{?rhel}
%systemd_post ceph-rbd-mirror@\*.service ceph-rbd-mirror.target %systemd_post ceph-rbd-mirror@\*.service ceph-rbd-mirror.target
%endif %endif
if [ $1 -eq 1 ] ; then
/usr/bin/systemctl start ceph-rbd-mirror.target >/dev/null 2>&1 || : /usr/bin/systemctl start ceph-rbd-mirror.target >/dev/null 2>&1 || :
fi
%preun -n rbd-mirror %preun -n rbd-mirror
%if 0%{?suse_version} %if 0%{?suse_version}
@ -1084,13 +1163,11 @@ if [ $FIRST_ARG -ge 1 ] ; then
fi fi
fi fi
#################################################################################
%files -n rbd-nbd %files -n rbd-nbd
%defattr(-,root,root,-) %defattr(-,root,root,-)
%{_bindir}/rbd-nbd %{_bindir}/rbd-nbd
%{_mandir}/man8/rbd-nbd.8* %{_mandir}/man8/rbd-nbd.8*
#################################################################################
%files radosgw %files radosgw
%defattr(-,root,root,-) %defattr(-,root,root,-)
%{_bindir}/radosgw %{_bindir}/radosgw
@ -1115,14 +1192,16 @@ chown ceph.ceph /var/log/ceph-radosgw
%post radosgw %post radosgw
%if 0%{?suse_version} %if 0%{?suse_version}
if [ $1 -ge 1 ] ; then if [ $1 -eq 1 ] ; then
/usr/bin/systemctl preset ceph-radosgw@\*.service ceph-radosgw.target >/dev/null 2>&1 || : /usr/bin/systemctl preset ceph-radosgw@\*.service ceph-radosgw.target >/dev/null 2>&1 || :
fi fi
%endif %endif
%if 0%{?fedora} || 0%{?rhel} %if 0%{?fedora} || 0%{?rhel}
%systemd_post ceph-radosgw@\*.service ceph-radosgw.target %systemd_post ceph-radosgw@\*.service ceph-radosgw.target
%endif %endif
if [ $1 -eq 1 ] ; then
/usr/bin/systemctl start ceph-radosgw.target >/dev/null 2>&1 || : /usr/bin/systemctl start ceph-radosgw.target >/dev/null 2>&1 || :
fi
%preun radosgw %preun radosgw
%if 0%{?suse_version} %if 0%{?suse_version}
@ -1153,7 +1232,6 @@ if [ $FIRST_ARG -ge 1 ] ; then
fi fi
fi fi
#################################################################################
%files osd %files osd
%{_bindir}/ceph-clsinfo %{_bindir}/ceph-clsinfo
%{_bindir}/ceph-bluefs-tool %{_bindir}/ceph-bluefs-tool
@ -1163,6 +1241,7 @@ fi
%{_sbindir}/ceph-disk-udev %{_sbindir}/ceph-disk-udev
%{_libexecdir}/ceph/ceph-osd-prestart.sh %{_libexecdir}/ceph/ceph-osd-prestart.sh
%dir %{_udevrulesdir} %dir %{_udevrulesdir}
%{_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-disk.8* %{_mandir}/man8/ceph-disk.8*
@ -1177,14 +1256,16 @@ fi
%post osd %post osd
%if 0%{?suse_version} %if 0%{?suse_version}
if [ $1 -ge 1 ] ; then if [ $1 -eq 1 ] ; then
/usr/bin/systemctl preset ceph-disk@\*.service ceph-osd@\*.service ceph-osd.target >/dev/null 2>&1 || : /usr/bin/systemctl preset ceph-disk@\*.service ceph-osd@\*.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-disk@\*.service ceph-osd@\*.service ceph-osd.target %systemd_post ceph-disk@\*.service ceph-osd@\*.service ceph-osd.target
%endif %endif
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 || :
fi
%preun osd %preun osd
%if 0%{?suse_version} %if 0%{?suse_version}
@ -1215,7 +1296,6 @@ if [ $FIRST_ARG -ge 1 ] ; then
fi fi
fi fi
#################################################################################
%if %{with ocf} %if %{with ocf}
%files resource-agents %files resource-agents
@ -1228,7 +1308,6 @@ fi
%endif %endif
#################################################################################
%files -n librados2 %files -n librados2
%defattr(-,root,root,-) %defattr(-,root,root,-)
%{_libdir}/librados.so.* %{_libdir}/librados.so.*
@ -1236,13 +1315,10 @@ fi
%{_libdir}/librados_tp.so.* %{_libdir}/librados_tp.so.*
%endif %endif
%post -n librados2 %post -n librados2 -p /sbin/ldconfig
/sbin/ldconfig
%postun -n librados2 %postun -n librados2 -p /sbin/ldconfig
/sbin/ldconfig
#################################################################################
%files -n librados-devel %files -n librados-devel
%defattr(-,root,root,-) %defattr(-,root,root,-)
%dir %{_includedir}/rados %dir %{_includedir}/rados
@ -1262,24 +1338,24 @@ fi
%{_bindir}/librados-config %{_bindir}/librados-config
%{_mandir}/man8/librados-config.8* %{_mandir}/man8/librados-config.8*
#################################################################################
%files -n python-rados %files -n python-rados
%defattr(-,root,root,-) %defattr(-,root,root,-)
%{python_sitearch}/rados.so %{python_sitearch}/rados.so
%{python_sitearch}/rados-*.egg-info %{python_sitearch}/rados-*.egg-info
################################################################################# %files -n python%{python3_pkgversion}-rados
%defattr(-,root,root,-)
%{python3_sitearch}/rados.cpython*.so
%{python3_sitearch}/rados-*.egg-info
%files -n libradosstriper1 %files -n libradosstriper1
%defattr(-,root,root,-) %defattr(-,root,root,-)
%{_libdir}/libradosstriper.so.* %{_libdir}/libradosstriper.so.*
%post -n libradosstriper1 %post -n libradosstriper1 -p /sbin/ldconfig
/sbin/ldconfig
%postun -n libradosstriper1 %postun -n libradosstriper1 -p /sbin/ldconfig
/sbin/ldconfig
#################################################################################
%files -n libradosstriper-devel %files -n libradosstriper-devel
%defattr(-,root,root,-) %defattr(-,root,root,-)
%dir %{_includedir}/radosstriper %dir %{_includedir}/radosstriper
@ -1287,7 +1363,6 @@ fi
%{_includedir}/radosstriper/libradosstriper.hpp %{_includedir}/radosstriper/libradosstriper.hpp
%{_libdir}/libradosstriper.so %{_libdir}/libradosstriper.so
#################################################################################
%files -n librbd1 %files -n librbd1
%defattr(-,root,root,-) %defattr(-,root,root,-)
%{_libdir}/librbd.so.* %{_libdir}/librbd.so.*
@ -1300,10 +1375,8 @@ fi
mkdir -p /usr/lib64/qemu/ mkdir -p /usr/lib64/qemu/
ln -sf %{_libdir}/librbd.so.1 /usr/lib64/qemu/librbd.so.1 ln -sf %{_libdir}/librbd.so.1 /usr/lib64/qemu/librbd.so.1
%postun -n librbd1 %postun -n librbd1 -p /sbin/ldconfig
/sbin/ldconfig
#################################################################################
%files -n librbd-devel %files -n librbd-devel
%defattr(-,root,root,-) %defattr(-,root,root,-)
%dir %{_includedir}/rbd %dir %{_includedir}/rbd
@ -1315,18 +1388,14 @@ ln -sf %{_libdir}/librbd.so.1 /usr/lib64/qemu/librbd.so.1
%{_libdir}/librbd_tp.so %{_libdir}/librbd_tp.so
%endif %endif
#################################################################################
%files -n librgw2 %files -n librgw2
%defattr(-,root,root,-) %defattr(-,root,root,-)
%{_libdir}/librgw.so.* %{_libdir}/librgw.so.*
%post -n librgw2 %post -n librgw2 -p /sbin/ldconfig
/sbin/ldconfig
%postun -n librgw2 %postun -n librgw2 -p /sbin/ldconfig
/sbin/ldconfig
#################################################################################
%files -n librgw-devel %files -n librgw-devel
%defattr(-,root,root,-) %defattr(-,root,root,-)
%dir %{_includedir}/rados %dir %{_includedir}/rados
@ -1334,38 +1403,50 @@ ln -sf %{_libdir}/librbd.so.1 /usr/lib64/qemu/librbd.so.1
%{_includedir}/rados/rgw_file.h %{_includedir}/rados/rgw_file.h
%{_libdir}/librgw.so %{_libdir}/librgw.so
#################################################################################
%files -n python-rbd %files -n python-rbd
%defattr(-,root,root,-) %defattr(-,root,root,-)
%{python_sitearch}/rbd.so %{python_sitearch}/rbd.so
%{python_sitearch}/rbd-*.egg-info %{python_sitearch}/rbd-*.egg-info
################################################################################# %files -n python%{python3_pkgversion}-rbd
%defattr(-,root,root,-)
%{python3_sitearch}/rbd.cpython*.so
%{python3_sitearch}/rbd-*.egg-info
%files -n libcephfs1 %files -n libcephfs1
%defattr(-,root,root,-) %defattr(-,root,root,-)
%{_libdir}/libcephfs.so.* %{_libdir}/libcephfs.so.*
%post -n libcephfs1 %post -n libcephfs1 -p /sbin/ldconfig
/sbin/ldconfig
%postun -n libcephfs1 %postun -n libcephfs1 -p /sbin/ldconfig
/sbin/ldconfig
#################################################################################
%files -n libcephfs-devel %files -n libcephfs-devel
%defattr(-,root,root,-) %defattr(-,root,root,-)
%dir %{_includedir}/cephfs %dir %{_includedir}/cephfs
%{_includedir}/cephfs/libcephfs.h %{_includedir}/cephfs/libcephfs.h
%{_libdir}/libcephfs.so %{_libdir}/libcephfs.so
#################################################################################
%files -n python-cephfs %files -n python-cephfs
%defattr(-,root,root,-) %defattr(-,root,root,-)
%{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*
################################################################################# %files -n python%{python3_pkgversion}-cephfs
%defattr(-,root,root,-)
%{python3_sitearch}/cephfs.cpython*.so
%{python3_sitearch}/cephfs-*.egg-info
%{python3_sitelib}/ceph_volume_client.py
%{python3_sitelib}/__pycache__/ceph_volume_client.cpython*.py*
%files -n python%{python3_pkgversion}-ceph-argparse
%defattr(-,root,root,-)
%{python3_sitelib}/ceph_argparse.py
%{python3_sitelib}/__pycache__/ceph_argparse.cpython*.py*
%{python3_sitelib}/ceph_daemon.py
%{python3_sitelib}/__pycache__/ceph_daemon.cpython*.py*
%if 0%{with ceph_test_package} %if 0%{with ceph_test_package}
%files -n ceph-test %files -n ceph-test
%defattr(-,root,root,-) %defattr(-,root,root,-)
@ -1392,7 +1473,6 @@ ln -sf %{_libdir}/librbd.so.1 /usr/lib64/qemu/librbd.so.1
%{_bindir}/ceph_smalliobenchfs %{_bindir}/ceph_smalliobenchfs
%{_bindir}/ceph_smalliobenchrbd %{_bindir}/ceph_smalliobenchrbd
%{_bindir}/ceph_test_* %{_bindir}/ceph_test_*
%{_bindir}/librgw_file*
%{_bindir}/ceph_tpbench %{_bindir}/ceph_tpbench
%{_bindir}/ceph_xattr_bench %{_bindir}/ceph_xattr_bench
%{_bindir}/ceph-coverage %{_bindir}/ceph-coverage
@ -1405,31 +1485,25 @@ ln -sf %{_libdir}/librbd.so.1 /usr/lib64/qemu/librbd.so.1
%{_libdir}/ceph/ceph-monstore-update-crush.sh %{_libdir}/ceph/ceph-monstore-update-crush.sh
%endif %endif
#################################################################################
%if 0%{with cephfs_java} %if 0%{with cephfs_java}
%files -n libcephfs_jni1 %files -n libcephfs_jni1
%defattr(-,root,root,-) %defattr(-,root,root,-)
%{_libdir}/libcephfs_jni.so.* %{_libdir}/libcephfs_jni.so.*
%post -n libcephfs_jni1 %post -n libcephfs_jni1 -p /sbin/ldconfig
/sbin/ldconfig
%postun -n libcephfs_jni1 %postun -n libcephfs_jni1 -p /sbin/ldconfig
/sbin/ldconfig
#################################################################################
%files -n libcephfs_jni-devel %files -n libcephfs_jni-devel
%defattr(-,root,root,-) %defattr(-,root,root,-)
%{_libdir}/libcephfs_jni.so %{_libdir}/libcephfs_jni.so
#################################################################################
%files -n cephfs-java %files -n cephfs-java
%defattr(-,root,root,-) %defattr(-,root,root,-)
%{_javadir}/libcephfs.jar %{_javadir}/libcephfs.jar
%{_javadir}/libcephfs-test.jar %{_javadir}/libcephfs-test.jar
%endif %endif
#################################################################################
%if 0%{with selinux} %if 0%{with selinux}
%files selinux %files selinux
%defattr(-,root,root,-) %defattr(-,root,root,-)
@ -1517,5 +1591,9 @@ exit 0
%endif # with selinux %endif # with selinux
%files -n python-ceph-compat
# We need an empty %%files list for python-ceph-compat, to tell rpmbuild to
# actually build this meta package.
%changelog %changelog

48
ceph_ver_hack.sh Normal file
View File

@ -0,0 +1,48 @@
# Don't run this manually. It's only here to be invoked inside the
# git checkout during `osc service dr`. Here's why:
#
# - cmake, when it runs to set up the build system, in turn invokes
# git to set CEPH_GIT_VER and CEPH_GIT_NICE_VER (src/CMakeLists.txt
# line 237+).
# - Those two variables are substituted into src/ceph_ver.h.in.cmake,
# generating build/src/include/ceph_ver.h.
# - When cmake is run inside OBS, it's working off a tarball, so
# there's no git repo information, so CEPH_GIT_VER ends up set to
# GITDIR-NOTFOUND, which breaks the build.
# - cmake *really* wants to be run from a git source checkout (at
# least insofar as getting the version stuff set up goes).
#
# This script uses the old src/make_version script to generate
# src/.git_version (which has the git commit hash on the first line
# and the pretty version on the second), then sed's these two values
# into src/ceph_ver.h.in.cmake in place of @CEPH_GIT_VER@ and
# @CEPH_GIT_NICE_VER@, so when cmake later runs as part of the build,
# it ends up (effectively) just copying that file to
# build/src/include/ceph_ver.h. It doesn't matter that cmake will
# still internally set CEPH_GIT_VER and CEPH_GIT_NICE_VER to bogus
# values, because we've already done the variable substitution.
#
# This script is invoked from the _service file via:
#
# <param name="commandtorun">sh ../../../ceph_ver_hack.sh</param>
#
# It works because the cloned git source ends up three directories
# under the OBS source checkout. I had previously tried to do the
# below three commands directly inside the "comandtorun" parameter,
# as follows:
#
# <param name="commandtorun">sh -c 'src/make_version -g src/.git_version ; sed -i \"s/@CEPH_GIT_VER@/$(head -n1 src/.git_version)/\" src/ceph_ver.h.in.cmake ; sed -i \"s/@CEPH_GIT_NICE_VER@/$(tail -n1 src/.git_version)/\" src/ceph_ver.h.in.cmake'</param>
#
# ...but that doesn't work, because obs-service-tar_scm runs
# str.split() on it, which splits on whitespace and thus totally
# breaks the big long string I'm trying to pass to `sh -c`.
#
# This is the nastiest hack I've written in recent memory. I'm
# very, very sorry.
#
# -- Tim Serong <tserong@suse.com>
#
src/make_version -g src/.git_version
sed -i "s/@CEPH_GIT_VER@/$(head -n1 src/.git_version)/" src/ceph_ver.h.in.cmake
sed -i "s/@CEPH_GIT_NICE_VER@/$(tail -n1 src/.git_version)/" src/ceph_ver.h.in.cmake

View File

@ -20,7 +20,7 @@ function packages_files {
in_files=true in_files=true
continue continue
;; ;;
"%post"* | "%pre"* | "%preun"* | "%postun"*) "%post"* | "%pre"* | "%preun"* | "%postun"* | "%changelog")
in_files=false in_files=false
continue continue
;; ;;
@ -50,31 +50,6 @@ function packages_files {
;; ;;
esac esac
# process path variables
result=`echo "$result" | sed -e 's!%{_bindir}!/usr/bin!g' \
-e 's!%{_docdir}!/usr/share/doc/packages!g' \
-e 's!%{_sbindir}!/usr/sbin!g' \
-e 's!%{_libdir}!/usr/lib64!g' \
-e 's!%{_mandir}!/usr/share/man!g' \
-e 's!%{_sysconfdir}!/etc!g' \
-e 's!%{_includedir}!/usr/include!g' \
-e 's!%{_unitdir}!/usr/lib/systemd/system!g' \
-e 's!%{python_sitelib}!/usr/lib/python2.7/site-packages!g' \
-e 's!%{_datadir}!/usr/share!g' \
-e 's!%{python_sitearch}!/usr/lib64/python2.7/site-packages!g' \
-e 's!%{_javadir}!/usr/share/java!g' \
-e 's!%{_libexecdir}!/usr/lib!g' \
-e 's!%{_prefix}!/usr!g' \
-e 's!%{_localstatedir}!/var!g' \
-e 's!%{_tmpfilesdir}!/usr/lib/tmpfiles.d!g' \
-e 's!%{_udevrulesdir}!/usr/lib/udev/rules.d!g'`
# sanity check
if [[ "$result" == "%"* ]]; then
echo "ERROR: unparsable file entry: $result"
exit 1
fi
echo "$result" echo "$result"
done done
done < $spec_file done < $spec_file
@ -194,7 +169,7 @@ function transform_spec_file {
"Source0:"*) "Source0:"*)
line=`echo $line | sed 's/%{name}/ceph/g'` line=`echo $line | sed 's/%{name}/ceph/g'`
;; ;;
"%setup -q") "%autosetup -p1")
line="$line -n ceph-%version" line="$line -n ceph-%version"
;; ;;
"Requires:"*) "Requires:"*)
@ -220,14 +195,8 @@ function transform_spec_file {
fi fi
;; ;;
"%package "*) "%package "*)
#pkg=`echo "$line" | sed 's/%package.* \(\w\+\)/\1/g'`
#if [[ $pkg == $include_pkg ]]; then
# in_package=false
#else
in_package=true in_package=true
continue continue
#fi
in_desc=false
;; ;;
"%prep"* | "%build"* | "%install"*) "%prep"* | "%build"* | "%install"*)
in_package=false in_package=false
@ -313,5 +282,7 @@ summ=`get_package_summary $SPEC_FILE $PACKAGE`
desc=`get_package_description $SPEC_FILE $PACKAGE` desc=`get_package_description $SPEC_FILE $PACKAGE`
reqs=`get_package_requires $SPEC_FILE $PACKAGE` reqs=`get_package_requires $SPEC_FILE $PACKAGE`
transform_spec_file $SPEC_FILE $PACKAGE "$rm_files" "$summ" "$desc" "$reqs" > $PACKAGE.spec transform_spec_file $SPEC_FILE $PACKAGE "$rm_files" "$summ" "$desc" "$reqs" > $PACKAGE.spec
insert_line_before "${PACKAGE}.spec" "Source99: ceph-rpmlintrc" "_insert_obs_source_lines_here"
insert_line_before "${PACKAGE}.spec" "Source98: README-ceph-test.txt" "^Source99:" insert_line_before "${PACKAGE}.spec" "Source98: README-ceph-test.txt" "^Source99:"
insert_line_before "${PACKAGE}.spec" "Source97: ceph_ver_hack.sh" "^Source98:"
copy_changes_file $PACKAGE copy_changes_file $PACKAGE