# # spec file for package ceph # # Copyright (C) 2004-2017 The Ceph Project Developers. See COPYING file # at the top-level directory of this distribution and at # https://github.com/ceph/ceph/blob/master/COPYING # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed # upon. # # This file is under the GNU Lesser General Public License, version 2.1 # # Please submit bugfixes or comments via http://tracker.ceph.com/ # %bcond_without ocf %bcond_with make_check %ifarch s390 s390x %bcond_with tcmalloc %else %bcond_without tcmalloc %endif %if 0%{?fedora} || 0%{?rhel} %bcond_without lttng %bcond_without selinux %bcond_without ceph_test_package %bcond_without cephfs_java %bcond_with lowmem_builder %endif %if 0%{?suse_version} %bcond_with selinux %bcond_without ceph_test_package %bcond_with cephfs_java %bcond_without lowmem_builder %if 0%{?is_opensuse} %bcond_without lttng %else %ifarch x86_64 aarch64 %bcond_without lttng %else %bcond_with lttng %endif %endif %endif %if %{with selinux} # get selinux policy version %{!?_selinux_policy_version: %global _selinux_policy_version 0.0.0} %endif %{!?_udevrulesdir: %global _udevrulesdir /lib/udev/rules.d} %{!?tmpfiles_create: %global tmpfiles_create systemd-tmpfiles --create} %{!?python3_pkgversion: %global python3_pkgversion 3} # unify libexec for all targets %global _libexecdir %{_exec_prefix}/lib # disable dwz which compresses the debuginfo %global _find_debuginfo_dwz_opts %{nil} ################################################################################# # main package definition ################################################################################# Name: ceph-test Version: 13.0.0 Release: 3531.g3692e00bab%{?dist} %if 0%{?fedora} || 0%{?rhel} Epoch: 2 %endif # define _epoch_prefix macro which will expand to the empty string if epoch is # undefined %global _epoch_prefix %{?epoch:%{epoch}:} 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 BSD-3-Clause and MIT %if 0%{?suse_version} Group: System/Filesystems %endif URL: http://ceph.com/ %if 0%{?fedora} || 0%{?rhel} Source0: https://download.ceph.com/tarballs/ceph-13.0.0-3531-g3692e00bab.tar.bz2 %endif %if 0%{?suse_version} Source0: ceph-13.0.0-3531-g3692e00bab.tar.bz2 Source96: checkin.sh Source97: README-checkin.txt Source98: README-ceph-test.txt Source99: ceph-rpmlintrc # _insert_obs_source_lines_here %if 0%{?is_opensuse} ExclusiveArch: x86_64 aarch64 ppc64 ppc64le %else ExclusiveArch: x86_64 aarch64 ppc64le %endif %endif ################################################################################# # dependencies that apply across all distro families ################################################################################# Requires: ceph-common Requires: xmlstarlet Requires: jq Requires: socat Requires(post): binutils %if 0%{with cephfs_java} BuildRequires: java-devel BuildRequires: sharutils %endif %if 0%{with selinux} BuildRequires: checkpolicy BuildRequires: selinux-policy-devel %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: gperf BuildRequires: cmake BuildRequires: cryptsetup BuildRequires: fuse-devel BuildRequires: gcc-c++ BuildRequires: gdbm %if 0%{with tcmalloc} BuildRequires: gperftools-devel >= 2.4 %endif BuildRequires: jq BuildRequires: leveldb-devel > 1.2 BuildRequires: libaio-devel BuildRequires: libblkid-devel >= 2.17 BuildRequires: libcurl-devel BuildRequires: libudev-devel BuildRequires: libtool BuildRequires: libxml2-devel BuildRequires: make BuildRequires: parted BuildRequires: perl BuildRequires: pkgconfig %if %{with lowmem_builder} BuildRequires: procps %endif BuildRequires: python BuildRequires: python-devel BuildRequires: python-nose BuildRequires: python-requests BuildRequires: python-virtualenv BuildRequires: snappy-devel BuildRequires: udev BuildRequires: util-linux BuildRequires: valgrind-devel BuildRequires: which BuildRequires: xfsprogs BuildRequires: xfsprogs-devel BuildRequires: xmlstarlet BuildRequires: yasm ################################################################################# # distro-conditional dependencies ################################################################################# %if 0%{?suse_version} BuildRequires: pkgconfig(systemd) BuildRequires: systemd-rpm-macros BuildRequires: systemd %{?systemd_requires} PreReq: %fillup_prereq BuildRequires: net-tools BuildRequires: libbz2-devel BuildRequires: btrfsprogs BuildRequires: mozilla-nss-devel BuildRequires: keyutils-devel BuildRequires: libopenssl-devel BuildRequires: lsb-release BuildRequires: openldap2-devel BuildRequires: cunit-devel BuildRequires: python-Cython BuildRequires: python-PrettyTable BuildRequires: python-Sphinx BuildRequires: rdma-core-devel %endif %if 0%{?fedora} || 0%{?rhel} BuildRequires: boost-random BuildRequires: btrfs-progs BuildRequires: nss-devel BuildRequires: keyutils-libs-devel BuildRequires: libibverbs-devel BuildRequires: openldap-devel BuildRequires: openssl-devel BuildRequires: CUnit-devel BuildRequires: redhat-lsb-core BuildRequires: Cython BuildRequires: python-prettytable BuildRequires: python-sphinx %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 %if %{with lttng} %if 0%{?fedora} || 0%{?rhel} BuildRequires: lttng-ust-devel BuildRequires: libbabeltrace-devel %endif %if 0%{?suse_version} BuildRequires: lttng-ust-devel BuildRequires: babeltrace-devel %endif %endif %if 0%{?suse_version} BuildRequires: libexpat-devel %endif %if 0%{?rhel} || 0%{?fedora} BuildRequires: expat-devel %endif #hardened-cc1 %if 0%{?fedora} || 0%{?rhel} BuildRequires: redhat-rpm-config %endif %description This package contains Ceph benchmarks and test tools. ################################################################################# # subpackages ################################################################################# %if 0%{?suse_version} %endif %if 0%{with selinux} %endif %if 0%{?suse_version} %endif %if 0%{?suse_version} %endif %if 0%{?fedora} || 0%{?rhel} %endif %if 0%{?suse_version} %endif %if 0%{?suse_version} %endif %if 0%{?suse_version} %endif %if 0%{?suse_version} %endif %if 0%{?fedora} || 0%{?rhel} %endif %if 0%{?suse_version} %endif %if 0%{?suse_version} %endif %if 0%{?fedora} || 0%{?rhel} %endif %if 0%{?suse_version} %endif %if 0%{?suse_version} %endif %if 0%{?suse_version} %endif %if 0%{?suse_version} %endif %if 0%{?suse_version} %endif %if 0%{?suse_version} %endif %if 0%{with selinux} %endif %if 0%{?rhel} || 0%{?fedora} %endif %if %{with ocf} %if 0%{?suse_version} %endif %endif %if 0%{?suse_version} %endif %if 0%{?fedora} || 0%{?rhel} %endif %if 0%{?suse_version} %endif %if 0%{?suse_version} %endif %if 0%{?rhel} || 0%{?fedora} %endif %if 0%{?suse_version} %endif %if 0%{?suse_version} %endif %if 0%{?suse_version} %endif %if 0%{?suse_version} %endif %if 0%{?suse_version} %endif %if 0%{?suse_version} %endif %if 0%{?suse_version} %endif %if 0%{?suse_version} %endif %if 0%{?suse_version} %endif %if 0%{?suse_version} %endif %if 0%{?suse_version} %endif %if 0%{?rhel} || 0%{?fedora} %endif %if 0%{?suse_version} %endif %if 0%{?suse_version} %endif %if 0%{?suse_version} %endif %if 0%{?suse_version} %endif %if 0%{?rhel} || 0%{?fedora} %endif %if 0%{?suse_version} %endif %if 0%{?suse_version} %endif %if 0%{?suse_version} %endif %if 0%{?suse_version} %endif %if 0%{?suse_version} %endif %if 0%{with ceph_test_package} %if 0%{?suse_version} %endif %endif %if 0%{with cephfs_java} %if 0%{?suse_version} %endif %if 0%{?suse_version} %endif %if 0%{?suse_version} %endif %endif %if 0%{with selinux} %if 0%{?suse_version} %endif %endif %if 0%{?suse_version} %endif %prep %autosetup -p1 -n ceph-13.0.0-3531-g3692e00bab %build %if 0%{with cephfs_java} # Find jni.h for i in /usr/{lib64,lib}/jvm/java/include{,/linux}; do [ -d $i ] && java_inc="$java_inc -I$i" done %endif %if %{with lowmem_builder} RPM_OPT_FLAGS="$RPM_OPT_FLAGS --param ggc-min-expand=20 --param ggc-min-heapsize=32768" %endif export RPM_OPT_FLAGS=`echo $RPM_OPT_FLAGS | sed -e 's/i386/i486/'` export CPPFLAGS="$java_inc" export CFLAGS="$RPM_OPT_FLAGS" export CXXFLAGS="$RPM_OPT_FLAGS" # Parallel build settings ... # unlimit _smp_mflags in system macro %global _smp_ncpus_max 0 CEPH_PARALLEL_BUILD="%{?_smp_mflags}" %if %{with lowmem_builder} lo_jobs="%{?jobs:%{jobs}}" %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 # do not eat all memory echo "Available memory:" free echo "System limits:" ulimit -a lo_jobs_reduced= if test -n "$lo_jobs" -a "$lo_jobs" -gt 1 ; then mem_per_process=1600 max_mem=$(LANG=C free -t -m | sed -n "s|^Mem: *\([0-9]*\).*$|\1|p") 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 "$lo_jobs" -le 0 && lo_jobs=1 && echo "Warning: Not using parallel build at all because of memory limits" fi # run make if test -n "$lo_jobs" ; then 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 mkdir build 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 \ -DCMAKE_INSTALL_INCLUDEDIR=%{_includedir} \ -DWITH_EMBEDDED=OFF \ -DWITH_MANPAGE=ON \ -DWITH_PYTHON3=ON \ -DWITH_SYSTEMD=ON \ %if 0%{?rhel} && ! 0%{?centos} -DWITH_SUBMAN=ON \ %endif %if 0%{without ceph_test_package} -DWITH_TESTS=OFF \ %endif %if 0%{with cephfs_java} -DWITH_CEPHFS_JAVA=ON \ %endif %if 0%{with selinux} -DWITH_SELINUX=ON \ %endif %if %{with lttng} -DWITH_LTTNG=ON \ -DWITH_BABELTRACE=ON \ %else -DWITH_LTTNG=OFF \ -DWITH_BABELTRACE=OFF \ %endif $CEPH_EXTRA_CMAKE_ARGS \ %if 0%{with ocf} -DWITH_OCF=ON \ %endif %ifarch aarch64 armv7hl mips mipsel ppc ppc64 ppc64le %{ix86} x86_64 -DWITH_RADOSGW_BEAST_FRONTEND=ON \ %else -DWITH_RADOSGW_BEAST_FRONTEND=OFF \ %endif -DBOOST_J=$CEPH_SMP_NCPUS make "$CEPH_PARALLEL_BUILD" %if 0%{with make_check} %check # run in-tree unittests cd build ctest %{?_smp_mflags} %endif %install pushd build make DESTDIR=%{buildroot} install # we have dropped sysvinit bits rm -f %{buildroot}/%{_sysconfdir}/init.d/ceph popd install -m 0644 -D src/etc-rbdmap %{buildroot}%{_sysconfdir}/ceph/rbdmap %if 0%{?fedora} || 0%{?rhel} install -m 0644 -D etc/sysconfig/ceph %{buildroot}%{_sysconfdir}/sysconfig/ceph %endif %if 0%{?suse_version} install -m 0644 -D etc/sysconfig/ceph %{buildroot}%{_localstatedir}/adm/fillup-templates/sysconfig.%{name} %endif 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 mkdir -p %{buildroot}%{_sbindir} install -m 0644 -D src/logrotate.conf %{buildroot}%{_sysconfdir}/logrotate.d/ceph chmod 0644 %{buildroot}%{_docdir}/ceph/sample.ceph.conf install -m 0644 -D COPYING %{buildroot}%{_docdir}/ceph/COPYING install -m 0644 -D etc/sysctl/90-ceph-osd.conf %{buildroot}%{_sysctldir}/90-ceph-osd.conf # firewall templates and /sbin/mount.ceph symlink %if 0%{?suse_version} install -m 0644 -D etc/sysconfig/SuSEfirewall2.d/services/ceph-mon %{buildroot}%{_sysconfdir}/sysconfig/SuSEfirewall2.d/services/ceph-mon install -m 0644 -D etc/sysconfig/SuSEfirewall2.d/services/ceph-osd-mds %{buildroot}%{_sysconfdir}/sysconfig/SuSEfirewall2.d/services/ceph-osd-mds mkdir -p %{buildroot}/sbin ln -sf %{_sbindir}/mount.ceph %{buildroot}/sbin/mount.ceph %endif # udev 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 #set up placeholder directories mkdir -p %{buildroot}%{_sysconfdir}/ceph mkdir -p %{buildroot}%{_localstatedir}/run/ceph mkdir -p %{buildroot}%{_localstatedir}/log/ceph mkdir -p %{buildroot}%{_localstatedir}/lib/ceph/tmp mkdir -p %{buildroot}%{_localstatedir}/lib/ceph/mon mkdir -p %{buildroot}%{_localstatedir}/lib/ceph/osd mkdir -p %{buildroot}%{_localstatedir}/lib/ceph/mds mkdir -p %{buildroot}%{_localstatedir}/lib/ceph/mgr mkdir -p %{buildroot}%{_localstatedir}/lib/ceph/radosgw mkdir -p %{buildroot}%{_localstatedir}/lib/ceph/bootstrap-osd mkdir -p %{buildroot}%{_localstatedir}/lib/ceph/bootstrap-mds mkdir -p %{buildroot}%{_localstatedir}/lib/ceph/bootstrap-rgw mkdir -p %{buildroot}%{_localstatedir}/lib/ceph/bootstrap-mgr mkdir -p %{buildroot}%{_localstatedir}/lib/ceph/bootstrap-rbd %if 0%{?suse_version} # create __pycache__ directories and their contents %py3_compile %{buildroot}%{python3_sitelib} %endif rm -rf %{buildroot}%{_bindir}/crushtool rm -rf %{buildroot}%{_bindir}/monmaptool rm -rf %{buildroot}%{_bindir}/osdmaptool rm -rf %{buildroot}%{_bindir}/ceph-kvstore-tool rm -rf %{buildroot}%{_bindir}/ceph-run rm -rf %{buildroot}%{_bindir}/ceph-dencoder rm -rf %{buildroot}%{_bindir}/ceph-detect-init rm -rf %{buildroot}%{_bindir}/cephfs-data-scan rm -rf %{buildroot}%{_bindir}/cephfs-journal-tool rm -rf %{buildroot}%{_bindir}/cephfs-table-tool rm -rf %{buildroot}%{_libexecdir}/systemd/system-preset/50-ceph.preset rm -rf %{buildroot}%{_sbindir}/ceph-create-keys 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}%{_libdir}/rados-classes/* rm -rf %{buildroot}%{_libdir}/ceph/erasure-code/libec_*.so* rm -rf %{buildroot}%{_libdir}/ceph/compressor/libceph_*.so* rm -rf %{buildroot}%{_libdir}/ceph/crypto/libceph_*.so* rm -rf %{buildroot}%{_libdir}/libos_tp.so* rm -rf %{buildroot}%{_libdir}/libosd_tp.so* 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-disk@.service rm -rf %{buildroot}%{_unitdir}/ceph-volume@.service rm -rf %{buildroot}%{_unitdir}/ceph.target rm -rf %{buildroot}%{python_sitelib}/ceph_detect_init* rm -rf %{buildroot}%{python_sitelib}/ceph_disk* rm -rf %{buildroot}%{python_sitelib}/ceph_volume/* rm -rf %{buildroot}%{python_sitelib}/ceph_volume-* 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-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/crushtool.8* rm -rf %{buildroot}%{_mandir}/man8/osdmaptool.8* rm -rf %{buildroot}%{_mandir}/man8/monmaptool.8* rm -rf %{buildroot}%{_mandir}/man8/ceph-kvstore-tool.8* rm -rf %{buildroot}%doc rm -rf %{buildroot}%{_docdir}/ceph/sample.ceph.conf rm -rf %{buildroot}%doc rm -rf %{buildroot}%{_docdir}/ceph/COPYING 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}/radosgw-admin 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}%{_bindir}/rbd-replay-prep rm -rf %{buildroot}%{_bindir}/ceph-post-file rm -rf %{buildroot}%{_bindir}/ceph-brag rm -rf %{buildroot}%{_tmpfilesdir}/ceph-common.conf rm -rf %{buildroot}%{_mandir}/man8/ceph-authtool.8* rm -rf %{buildroot}%{_mandir}/man8/ceph-conf.8* rm -rf %{buildroot}%{_mandir}/man8/ceph-dencoder.8* rm -rf %{buildroot}%{_mandir}/man8/ceph-rbdnamer.8* rm -rf %{buildroot}%{_mandir}/man8/ceph-syn.8* rm -rf %{buildroot}%{_mandir}/man8/ceph-post-file.8* rm -rf %{buildroot}%{_mandir}/man8/ceph.8* rm -rf %{buildroot}%{_mandir}/man8/mount.ceph.8* rm -rf %{buildroot}%{_mandir}/man8/rados.8* rm -rf %{buildroot}%{_mandir}/man8/radosgw-admin.8* rm -rf %{buildroot}%{_mandir}/man8/rbd.8* rm -rf %{buildroot}%{_mandir}/man8/rbdmap.8* rm -rf %{buildroot}%{_mandir}/man8/rbd-replay.8* rm -rf %{buildroot}%{_mandir}/man8/rbd-replay-many.8* rm -rf %{buildroot}%{_mandir}/man8/rbd-replay-prep.8* rm -rf %{buildroot}%{_datadir}/ceph/known_hosts_drop.ceph.com rm -rf %{buildroot}%{_datadir}/ceph/id_rsa_drop.ceph.com rm -rf %{buildroot}%{_datadir}/ceph/id_rsa_drop.ceph.com.pub rm -rf %{buildroot}%{_sysconfdir}/bash_completion.d/ceph rm -rf %{buildroot}%{_sysconfdir}/bash_completion.d/rados rm -rf %{buildroot}%{_sysconfdir}/bash_completion.d/rbd rm -rf %{buildroot}%{_sysconfdir}/bash_completion.d/radosgw-admin rm -rf %{buildroot}%{_sysconfdir}/ceph/rbdmap rm -rf %{buildroot}%{_unitdir}/rbdmap.service rm -rf %{buildroot}%{python_sitelib}/ceph_argparse.py* rm -rf %{buildroot}%{python_sitelib}/ceph_daemon.py* rm -rf %{buildroot}%{_udevrulesdir}/50-rbd.rules rm -rf %{buildroot}%{_bindir}/ceph-mds rm -rf %{buildroot}%{_mandir}/man8/ceph-mds.8* rm -rf %{buildroot}%{_unitdir}/ceph-mds@.service rm -rf %{buildroot}%{_unitdir}/ceph-mds.target rm -rf %{buildroot}%{_bindir}/ceph-mgr rm -rf %{buildroot}%{_libdir}/ceph/mgr rm -rf %{buildroot}%{_unitdir}/ceph-mgr@.service rm -rf %{buildroot}%{_unitdir}/ceph-mgr.target rm -rf %{buildroot}%{_bindir}/ceph-mon rm -rf %{buildroot}%{_bindir}/ceph-rest-api rm -rf %{buildroot}%{_bindir}/ceph-monstore-tool rm -rf %{buildroot}%{_mandir}/man8/ceph-mon.8* rm -rf %{buildroot}%{_mandir}/man8/ceph-rest-api.8* rm -rf %{buildroot}%{python_sitelib}/ceph_rest_api.py* rm -rf %{buildroot}%{_unitdir}/ceph-mon@.service rm -rf %{buildroot}%{_unitdir}/ceph-mon.target rm -rf %{buildroot}%{_bindir}/ceph-fuse rm -rf %{buildroot}%{_mandir}/man8/ceph-fuse.8* rm -rf %{buildroot}%{_sbindir}/mount.fuse.ceph rm -rf %{buildroot}%{_unitdir}/ceph-fuse@.service rm -rf %{buildroot}%{_unitdir}/ceph-fuse.target rm -rf %{buildroot}%{_bindir}/rbd-fuse rm -rf %{buildroot}%{_mandir}/man8/rbd-fuse.8* rm -rf %{buildroot}%{_bindir}/rbd-mirror rm -rf %{buildroot}%{_mandir}/man8/rbd-mirror.8* rm -rf %{buildroot}%{_unitdir}/ceph-rbd-mirror@.service rm -rf %{buildroot}%{_unitdir}/ceph-rbd-mirror.target rm -rf %{buildroot}%{_bindir}/rbd-nbd rm -rf %{buildroot}%{_mandir}/man8/rbd-nbd.8* rm -rf %{buildroot}%{_bindir}/radosgw rm -rf %{buildroot}%{_bindir}/radosgw-token rm -rf %{buildroot}%{_bindir}/radosgw-es rm -rf %{buildroot}%{_bindir}/radosgw-object-expirer rm -rf %{buildroot}%{_mandir}/man8/radosgw.8* rm -rf %{buildroot}%{_unitdir}/ceph-radosgw@.service rm -rf %{buildroot}%{_unitdir}/ceph-radosgw.target rm -rf %{buildroot}%{_bindir}/ceph-clsinfo rm -rf %{buildroot}%{_bindir}/ceph-bluestore-tool rm -rf %{buildroot}%{_bindir}/ceph-objectstore-tool rm -rf %{buildroot}%{_bindir}/ceph-osdomap-tool rm -rf %{buildroot}%{_bindir}/ceph-osd rm -rf %{buildroot}%{_libexecdir}/ceph/ceph-osd-prestart.sh rm -rf %{buildroot}%{_udevrulesdir}/60-ceph-by-parttypeuuid.rules rm -rf %{buildroot}%{_udevrulesdir}/95-ceph-osd.rules rm -rf %{buildroot}%{_mandir}/man8/ceph-clsinfo.8* rm -rf %{buildroot}%{_mandir}/man8/ceph-osd.8* rm -rf %{buildroot}%{_mandir}/man8/ceph-bluestore-tool.8* rm -rf %{buildroot}%{_sysconfdir}/cron.hourly/subman rm -rf %{buildroot}%{_unitdir}/ceph-osd@.service rm -rf %{buildroot}%{_unitdir}/ceph-osd.target rm -rf %{buildroot}%{_sysctldir}/90-ceph-osd.conf rm -rf %{buildroot}%{_prefix}/lib/ocf/resource.d/ceph/rbd rm -rf %{buildroot}%{_libdir}/librados.so.* rm -rf %{buildroot}%{_libdir}/ceph/libceph-common.so* rm -rf %{buildroot}%{_libdir}/librados_tp.so.* rm -rf %{buildroot}%{_includedir}/rados/librados.h rm -rf %{buildroot}%{_includedir}/rados/librados.hpp rm -rf %{buildroot}%{_includedir}/rados/buffer.h rm -rf %{buildroot}%{_includedir}/rados/buffer_fwd.h rm -rf %{buildroot}%{_includedir}/rados/inline_memory.h rm -rf %{buildroot}%{_includedir}/rados/page.h rm -rf %{buildroot}%{_includedir}/rados/crc32c.h rm -rf %{buildroot}%{_includedir}/rados/rados_types.h rm -rf %{buildroot}%{_includedir}/rados/rados_types.hpp rm -rf %{buildroot}%{_includedir}/rados/memory.h rm -rf %{buildroot}%{_libdir}/librados.so rm -rf %{buildroot}%{_libdir}/librados_tp.so rm -rf %{buildroot}%{_bindir}/librados-config rm -rf %{buildroot}%{_mandir}/man8/librados-config.8* rm -rf %{buildroot}%{python_sitearch}/rados.so rm -rf %{buildroot}%{python_sitearch}/rados-*.egg-info rm -rf %{buildroot}%{python3_sitearch}/rados.cpython*.so rm -rf %{buildroot}%{python3_sitearch}/rados-*.egg-info rm -rf %{buildroot}%{_libdir}/libradosstriper.so.* rm -rf %{buildroot}%{_includedir}/radosstriper/libradosstriper.h rm -rf %{buildroot}%{_includedir}/radosstriper/libradosstriper.hpp rm -rf %{buildroot}%{_libdir}/libradosstriper.so rm -rf %{buildroot}%{_libdir}/librbd.so.* rm -rf %{buildroot}%{_libdir}/librbd_tp.so.* rm -rf %{buildroot}%{_includedir}/rbd/librbd.h rm -rf %{buildroot}%{_includedir}/rbd/librbd.hpp rm -rf %{buildroot}%{_includedir}/rbd/features.h rm -rf %{buildroot}%{_libdir}/librbd.so rm -rf %{buildroot}%{_libdir}/librbd_tp.so rm -rf %{buildroot}%{_libdir}/librgw.so.* rm -rf %{buildroot}%{_includedir}/rados/librgw.h rm -rf %{buildroot}%{_includedir}/rados/rgw_file.h rm -rf %{buildroot}%{_libdir}/librgw.so rm -rf %{buildroot}%{python_sitearch}/rgw.so rm -rf %{buildroot}%{python_sitearch}/rgw-*.egg-info rm -rf %{buildroot}%{python3_sitearch}/rgw.cpython*.so rm -rf %{buildroot}%{python3_sitearch}/rgw-*.egg-info rm -rf %{buildroot}%{python_sitearch}/rbd.so rm -rf %{buildroot}%{python_sitearch}/rbd-*.egg-info rm -rf %{buildroot}%{python3_sitearch}/rbd.cpython*.so rm -rf %{buildroot}%{python3_sitearch}/rbd-*.egg-info rm -rf %{buildroot}%{_libdir}/libcephfs.so.* rm -rf %{buildroot}%{_includedir}/cephfs/libcephfs.h rm -rf %{buildroot}%{_includedir}/cephfs/ceph_statx.h rm -rf %{buildroot}%{_libdir}/libcephfs.so rm -rf %{buildroot}%{python_sitearch}/cephfs.so rm -rf %{buildroot}%{python_sitearch}/cephfs-*.egg-info rm -rf %{buildroot}%{python_sitelib}/ceph_volume_client.py* rm -rf %{buildroot}%{python3_sitearch}/cephfs.cpython*.so rm -rf %{buildroot}%{python3_sitearch}/cephfs-*.egg-info rm -rf %{buildroot}%{python3_sitelib}/ceph_volume_client.py rm -rf %{buildroot}%{python3_sitelib}/__pycache__/ceph_volume_client.cpython*.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}%{_libdir}/libcephfs_jni.so.* rm -rf %{buildroot}%{_libdir}/libcephfs_jni.so rm -rf %{buildroot}%{_javadir}/libcephfs.jar rm -rf %{buildroot}%{_javadir}/libcephfs-test.jar rm -rf %{buildroot}%{_includedir}/rados/objclass.h rm -rf %{buildroot}%{_datadir}/selinux/packages/ceph.pp rm -rf %{buildroot}%{_datadir}/selinux/devel/include/contrib/ceph.if rm -rf %{buildroot}%{_mandir}/man8/ceph_selinux.8* dirs=`find %{buildroot} -type d -empty` while [[ -n $dirs ]]; do for d in $dirs; do rm -rf $d done dirs=`find %{buildroot} -type d -empty` done %clean rm -rf %{buildroot} ################################################################################# # files and systemd scriptlets ################################################################################# %files %ifarch x86_64 %endif %if %{with lttng} %endif %if 0%{?fedora} || 0%{?rhel} %endif %if 0%{?suse_version} %endif %if 0%{?suse_version} %endif %if 0%{?fedora} || 0%{?rhel} %endif %if 0%{?suse_version} %endif %if 0%{?fedora} || 0%{?rhel} %endif %if 0%{?suse_version} %endif %if 0%{?fedora} || 0%{?rhel} %endif %if 0%{?suse_version} %endif %if %{with lttng} %endif %if 0%{?rhel} || 0%{?fedora} %endif %if 0%{?suse_version} %endif %if 0%{?suse_version} %endif %if 0%{?fedora} || 0%{?rhel} %endif %if 0%{?suse_version} %endif %if 0%{?fedora} || 0%{?rhel} %endif %if 0%{?suse_version} %endif %if 0%{?fedora} || 0%{?rhel} %endif %if 0%{?suse_version} %endif %if 0%{?fedora} || 0%{?rhel} %endif %if 0%{?suse_version} %endif %if 0%{?fedora} || 0%{?rhel} %endif %if 0%{?suse_version} %endif %if 0%{?fedora} || 0%{?rhel} %endif %if 0%{?suse_version} %endif %if 0%{?fedora} || 0%{?rhel} %endif %if 0%{?suse_version} %endif %if 0%{?fedora} || 0%{?rhel} %endif %if 0%{?suse_version} %endif %if 0%{?fedora} || 0%{?rhel} %endif %if 0%{?suse_version} %endif %if 0%{?fedora} || 0%{?rhel} %endif %if 0%{?suse_version} %endif %if 0%{?fedora} || 0%{?rhel} %endif %if 0%{?suse_version} %endif %if 0%{?fedora} || 0%{?rhel} %endif %if 0%{?suse_version} %endif %if 0%{?fedora} || 0%{?rhel} %endif %if 0%{?suse_version} %endif %if 0%{?fedora} || 0%{?rhel} %endif %if 0%{?suse_version} %endif %if 0%{?fedora} || 0%{?rhel} %endif %if 0%{?rhel} && ! 0%{?centos} %endif %if 0%{?suse_version} %endif %if 0%{?fedora} || 0%{?rhel} %endif %if 0%{?sysctl_apply} %endif %if 0%{?suse_version} %endif %if 0%{?fedora} || 0%{?rhel} %endif %if 0%{?suse_version} %endif %if 0%{?fedora} || 0%{?rhel} %endif %if %{with ocf} %endif %if %{with lttng} %endif %if %{with lttng} %endif %if %{with lttng} %endif %if %{with lttng} %endif %if 0%{with ceph_test_package} %files -n ceph-test %{_bindir}/ceph-client-debug %{_bindir}/ceph_bench_log %{_bindir}/ceph_kvstorebench %{_bindir}/ceph_multi_stress_watch %{_bindir}/ceph_erasure_code %{_bindir}/ceph_erasure_code_benchmark %{_bindir}/ceph_omapbench %{_bindir}/ceph_objectstore_bench %{_bindir}/ceph_perf_objectstore %{_bindir}/ceph_perf_local %{_bindir}/ceph_perf_msgr_client %{_bindir}/ceph_perf_msgr_server %{_bindir}/ceph_psim %{_bindir}/ceph_radosacl %{_bindir}/ceph_rgw_jsonparser %{_bindir}/ceph_rgw_multiparser %{_bindir}/ceph_scratchtool %{_bindir}/ceph_scratchtoolpp %{_bindir}/ceph_smalliobench %{_bindir}/ceph_smalliobenchdumb %{_bindir}/ceph_smalliobenchfs %{_bindir}/ceph_smalliobenchrbd %{_bindir}/ceph_test_* %{_bindir}/ceph_tpbench %{_bindir}/ceph_xattr_bench %{_bindir}/ceph-coverage %{_bindir}/ceph-debugpack %{_mandir}/man8/ceph-debugpack.8* %dir %{_libdir}/ceph %{_libdir}/ceph/ceph-monstore-update-crush.sh %endif %if 0%{with cephfs_java} %endif %if 0%{with selinux} %endif # with selinux %changelog # nospeccleaner