|
|
|
@@ -5,19 +5,22 @@
|
|
|
|
|
%{!?python_sitearch: %global python_sitearch %(%{__python} -c "from distutils.sysconfig import get_python_lib; print(get_python_lib(1))")}
|
|
|
|
|
%endif
|
|
|
|
|
|
|
|
|
|
%global _hardened_build 1
|
|
|
|
|
|
|
|
|
|
#################################################################################
|
|
|
|
|
# common
|
|
|
|
|
#################################################################################
|
|
|
|
|
Name: ceph
|
|
|
|
|
Version: 0.87
|
|
|
|
|
Release: 2%{?dist}
|
|
|
|
|
Version: 0.80.10
|
|
|
|
|
Release: 1%{?dist}
|
|
|
|
|
Epoch: 1
|
|
|
|
|
Summary: User space components of the Ceph file system
|
|
|
|
|
License: GPLv2
|
|
|
|
|
Group: System Environment/Base
|
|
|
|
|
URL: http://ceph.com/
|
|
|
|
|
Source0: http://ceph.com/download/%{name}-%{version}.tar.bz2
|
|
|
|
|
Patch0: ceph-google-gperftools.patch
|
|
|
|
|
Patch1: 0001-gperftools-deprecated-google-includes.patch
|
|
|
|
|
Patch2: 0002-Wno-format-causes-compiler-options-collision.patch
|
|
|
|
|
Requires: librbd1 = %{epoch}:%{version}-%{release}
|
|
|
|
|
Requires: librados2 = %{epoch}:%{version}-%{release}
|
|
|
|
|
Requires: libcephfs1 = %{epoch}:%{version}-%{release}
|
|
|
|
@@ -64,8 +67,7 @@ BuildRequires: leveldb-devel > 1.2
|
|
|
|
|
%if ! ( 0%{?rhel} && 0%{?rhel} <= 6 )
|
|
|
|
|
BuildRequires: xfsprogs-devel
|
|
|
|
|
%endif
|
|
|
|
|
# No yasm dependency for now, it causes selinux issues
|
|
|
|
|
#BuildRequires: yasm
|
|
|
|
|
BuildRequires: yasm
|
|
|
|
|
%if 0%{?rhel} || 0%{?centos} || 0%{?fedora}
|
|
|
|
|
BuildRequires: snappy-devel
|
|
|
|
|
%endif
|
|
|
|
@@ -181,7 +183,7 @@ Summary: RADOS distributed object store client library
|
|
|
|
|
Group: System Environment/Libraries
|
|
|
|
|
License: LGPL-2.0
|
|
|
|
|
%if 0%{?rhel} || 0%{?centos} || 0%{?fedora}
|
|
|
|
|
Obsoletes: ceph-libs < %{epoch}:%{version}-%{release}
|
|
|
|
|
Obsoletes: ceph-libs < 1:0.80.5
|
|
|
|
|
%endif
|
|
|
|
|
%description -n librados2
|
|
|
|
|
RADOS is a reliable, autonomic distributed object storage cluster
|
|
|
|
@@ -205,40 +207,17 @@ Group: System Environment/Libraries
|
|
|
|
|
License: LGPL-2.0
|
|
|
|
|
Requires: librados2 = %{epoch}:%{version}-%{release}
|
|
|
|
|
Obsoletes: python-ceph
|
|
|
|
|
%if 0%{defined suse_version}
|
|
|
|
|
%py_requires
|
|
|
|
|
%endif
|
|
|
|
|
%description -n python-rados
|
|
|
|
|
This package contains Python libraries for interacting with Cephs RADOS
|
|
|
|
|
object store.
|
|
|
|
|
|
|
|
|
|
%package -n libradosstriper1
|
|
|
|
|
Summary: RADOS striping interface
|
|
|
|
|
Group: System Environment/Libraries
|
|
|
|
|
License: LGPL-2.0
|
|
|
|
|
Requires: librados2 = %{epoch}:%{version}-%{release}
|
|
|
|
|
%description -n libradosstriper1
|
|
|
|
|
Striping interface built on top of the rados library, allowing
|
|
|
|
|
to stripe bigger objects onto several standard rados objects using
|
|
|
|
|
an interface very similar to the rados one.
|
|
|
|
|
|
|
|
|
|
%package -n libradosstriper1-devel
|
|
|
|
|
Summary: RADOS striping interface headers
|
|
|
|
|
Group: Development/Libraries
|
|
|
|
|
License: LGPL-2.0
|
|
|
|
|
Requires: libradosstriper1 = %{epoch}:%{version}-%{release}
|
|
|
|
|
Requires: librados2-devel = %{epoch}:%{version}-%{release}
|
|
|
|
|
%description -n libradosstriper1-devel
|
|
|
|
|
This package contains libraries and headers needed to develop programs
|
|
|
|
|
that use RADOS striping interface.
|
|
|
|
|
|
|
|
|
|
%package -n librbd1
|
|
|
|
|
Summary: RADOS block device client library
|
|
|
|
|
Group: System Environment/Libraries
|
|
|
|
|
License: LGPL-2.0
|
|
|
|
|
Requires: librados2 = %{epoch}:%{version}-%{release}
|
|
|
|
|
%if 0%{?rhel} || 0%{?centos} || 0%{?fedora}
|
|
|
|
|
Obsoletes: ceph-libs < %{epoch}:%{version}-%{release}
|
|
|
|
|
Obsoletes: ceph-libs < 1:0.80.5
|
|
|
|
|
%endif
|
|
|
|
|
%description -n librbd1
|
|
|
|
|
RBD is a block device striped across multiple distributed objects in
|
|
|
|
@@ -273,8 +252,8 @@ Summary: Ceph distributed file system client library
|
|
|
|
|
Group: System Environment/Libraries
|
|
|
|
|
License: LGPL-2.0
|
|
|
|
|
%if 0%{?rhel} || 0%{?centos} || 0%{?fedora}
|
|
|
|
|
Obsoletes: ceph-libs < %{epoch}:%{version}-%{release}
|
|
|
|
|
Obsoletes: ceph-libcephfs < %{epoch}:%{version}-%{release}
|
|
|
|
|
Obsoletes: ceph-libs < 1:0.80.5
|
|
|
|
|
Obsoletes: ceph-libcephfs < 1:0.80.5
|
|
|
|
|
%endif
|
|
|
|
|
%description -n libcephfs1
|
|
|
|
|
Ceph is a distributed network file system designed to provide excellent
|
|
|
|
@@ -359,7 +338,6 @@ Group: System Environment/Libraries
|
|
|
|
|
License: LGPL-2.0
|
|
|
|
|
Obsoletes: ceph-libs
|
|
|
|
|
Requires: librados2 = %{epoch}:%{version}-%{release}
|
|
|
|
|
Requires: libradosstriper1 = %{epoch}:%{version}-%{release}
|
|
|
|
|
Requires: librbd1 = %{epoch}:%{version}-%{release}
|
|
|
|
|
Requires: libcephfs1 = %{epoch}:%{version}-%{release}
|
|
|
|
|
Provides: ceph-libs
|
|
|
|
@@ -368,7 +346,7 @@ This is a meta package, that pulls in librados2, librbd1 and libcephfs1. It
|
|
|
|
|
is included for backwards compatibility with distributions that depend on the
|
|
|
|
|
former ceph-libs package, which is now split up into these three subpackages.
|
|
|
|
|
Packages still depending on ceph-libs should be fixed to depend on librados2,
|
|
|
|
|
librbd1, libcephfs1 or libradosstriper1 instead.
|
|
|
|
|
librbd1 or libcephfs1 instead.
|
|
|
|
|
|
|
|
|
|
%package devel-compat
|
|
|
|
|
Summary: Compatibility package for Ceph headers
|
|
|
|
@@ -377,7 +355,6 @@ License: LGPL-2.0
|
|
|
|
|
Obsoletes: ceph-devel
|
|
|
|
|
Requires: %{name} = %{epoch}:%{version}-%{release}
|
|
|
|
|
Requires: librados2-devel = %{epoch}:%{version}-%{release}
|
|
|
|
|
Requires: libradosstriper1-devel = %{epoch}:%{version}-%{release}
|
|
|
|
|
Requires: librbd1-devel = %{epoch}:%{version}-%{release}
|
|
|
|
|
Requires: libcephfs1-devel = %{epoch}:%{version}-%{release}
|
|
|
|
|
Requires: libcephfs_jni1-devel = %{epoch}:%{version}-%{release}
|
|
|
|
@@ -385,8 +362,8 @@ Provides: ceph-devel
|
|
|
|
|
%description devel-compat
|
|
|
|
|
This is a compatibility package to accommodate ceph-devel split into
|
|
|
|
|
librados2-devel, librbd1-devel and libcephfs1-devel. Packages still depending
|
|
|
|
|
on ceph-devel should be fixed to depend on librados2-devel, librbd1-devel,
|
|
|
|
|
libcephfs1-devel or libradosstriper1-devel instead.
|
|
|
|
|
on ceph-devel should be fixed to depend on librados2-devel, librbd1-devel
|
|
|
|
|
or libcephfs1-devel instead.
|
|
|
|
|
|
|
|
|
|
%package -n python-ceph-compat
|
|
|
|
|
Summary: Compatibility package for Cephs python libraries
|
|
|
|
@@ -412,7 +389,8 @@ python-cephfs instead.
|
|
|
|
|
#################################################################################
|
|
|
|
|
%prep
|
|
|
|
|
%setup -q
|
|
|
|
|
%patch0 -p1
|
|
|
|
|
%patch1 -p1
|
|
|
|
|
%patch2 -p1
|
|
|
|
|
|
|
|
|
|
%build
|
|
|
|
|
# Find jni.h
|
|
|
|
@@ -477,8 +455,6 @@ make %{_smp_mflags}
|
|
|
|
|
make DESTDIR=$RPM_BUILD_ROOT install
|
|
|
|
|
find $RPM_BUILD_ROOT -type f -name "*.la" -exec rm -f {} ';'
|
|
|
|
|
find $RPM_BUILD_ROOT -type f -name "*.a" -exec rm -f {} ';'
|
|
|
|
|
# do not package man page for binary that is not built
|
|
|
|
|
rm -f $RPM_BUILD_ROOT%{_mandir}/man8/rbd-replay-prep.8*
|
|
|
|
|
install -D src/init-ceph $RPM_BUILD_ROOT%{_initrddir}/ceph
|
|
|
|
|
install -D src/init-radosgw.sysv $RPM_BUILD_ROOT%{_initrddir}/ceph-radosgw
|
|
|
|
|
install -D src/init-rbdmap $RPM_BUILD_ROOT%{_initrddir}/rbdmap
|
|
|
|
@@ -508,6 +484,7 @@ install -m 0644 -D udev/95-ceph-osd.rules $RPM_BUILD_ROOT/lib/udev/rules.d/95-ce
|
|
|
|
|
|
|
|
|
|
%if 0%{?rhel} >= 7 || 0%{?fedora}
|
|
|
|
|
mv $RPM_BUILD_ROOT/lib/udev/rules.d/95-ceph-osd.rules $RPM_BUILD_ROOT/usr/lib/udev/rules.d/95-ceph-osd.rules
|
|
|
|
|
mv $RPM_BUILD_ROOT/sbin/mkcephfs $RPM_BUILD_ROOT/usr/sbin/mkcephfs
|
|
|
|
|
mv $RPM_BUILD_ROOT/sbin/mount.ceph $RPM_BUILD_ROOT/usr/sbin/mount.ceph
|
|
|
|
|
mv $RPM_BUILD_ROOT/sbin/mount.fuse.ceph $RPM_BUILD_ROOT/usr/sbin/mount.fuse.ceph
|
|
|
|
|
%endif
|
|
|
|
@@ -577,7 +554,6 @@ fi
|
|
|
|
|
%{_bindir}/ceph-rbdnamer
|
|
|
|
|
%{_bindir}/librados-config
|
|
|
|
|
%{_bindir}/ceph-client-debug
|
|
|
|
|
%{_bindir}/cephfs-journal-tool
|
|
|
|
|
%{_bindir}/ceph-debugpack
|
|
|
|
|
%{_bindir}/ceph-coverage
|
|
|
|
|
%{_bindir}/ceph_mon_store_converter
|
|
|
|
@@ -589,13 +565,14 @@ fi
|
|
|
|
|
%{_sbindir}/ceph-create-keys
|
|
|
|
|
%{_sbindir}/rcceph
|
|
|
|
|
%if 0%{?rhel} >= 7 || 0%{?fedora}
|
|
|
|
|
%{_sbindir}/mkcephfs
|
|
|
|
|
%{_sbindir}/mount.ceph
|
|
|
|
|
%else
|
|
|
|
|
/sbin/mkcephfs
|
|
|
|
|
/sbin/mount.ceph
|
|
|
|
|
%endif
|
|
|
|
|
%dir %{_libdir}/ceph
|
|
|
|
|
%{_libdir}/ceph/ceph_common.sh
|
|
|
|
|
%{_libexecdir}/ceph/ceph-osd-prestart.sh
|
|
|
|
|
%dir %{_libdir}/rados-classes
|
|
|
|
|
%{_libdir}/rados-classes/libcls_rbd.so*
|
|
|
|
|
%{_libdir}/rados-classes/libcls_hello.so*
|
|
|
|
@@ -609,7 +586,13 @@ fi
|
|
|
|
|
%{_libdir}/rados-classes/libcls_user.so*
|
|
|
|
|
%{_libdir}/rados-classes/libcls_version.so*
|
|
|
|
|
%dir %{_libdir}/ceph/erasure-code
|
|
|
|
|
%{_libdir}/ceph/erasure-code/libec_*.so*
|
|
|
|
|
%{_libdir}/ceph/erasure-code/libec_example.so*
|
|
|
|
|
%{_libdir}/ceph/erasure-code/libec_fail_to_initialize.so*
|
|
|
|
|
%{_libdir}/ceph/erasure-code/libec_fail_to_register.so*
|
|
|
|
|
%{_libdir}/ceph/erasure-code/libec_hangs.so*
|
|
|
|
|
%{_libdir}/ceph/erasure-code/libec_jerasure*.so*
|
|
|
|
|
%{_libdir}/ceph/erasure-code/libec_test_jerasure*.so*
|
|
|
|
|
%{_libdir}/ceph/erasure-code/libec_missing_entry_point.so*
|
|
|
|
|
%if 0%{?rhel} >= 7 || 0%{?fedora}
|
|
|
|
|
/usr/lib/udev/rules.d/60-ceph-partuuid-workaround.rules
|
|
|
|
|
/usr/lib/udev/rules.d/95-ceph-osd.rules
|
|
|
|
@@ -620,9 +603,11 @@ fi
|
|
|
|
|
%config %{_sysconfdir}/bash_completion.d/ceph
|
|
|
|
|
%config(noreplace) %{_sysconfdir}/logrotate.d/ceph
|
|
|
|
|
%config(noreplace) %{_sysconfdir}/logrotate.d/radosgw
|
|
|
|
|
%{_mandir}/man8/ceph-disk.8*
|
|
|
|
|
%{_mandir}/man8/ceph-mon.8*
|
|
|
|
|
%{_mandir}/man8/ceph-mds.8*
|
|
|
|
|
%{_mandir}/man8/ceph-osd.8*
|
|
|
|
|
%{_mandir}/man8/mkcephfs.8*
|
|
|
|
|
%{_mandir}/man8/ceph-run.8*
|
|
|
|
|
%{_mandir}/man8/ceph-rest-api.8*
|
|
|
|
|
%{_mandir}/man8/crushtool.8*
|
|
|
|
@@ -680,7 +665,6 @@ fi
|
|
|
|
|
# Package removal cleanup
|
|
|
|
|
if [ "$1" -eq "0" ] ; then
|
|
|
|
|
rm -rf /var/log/ceph
|
|
|
|
|
rm -rf /etc/ceph
|
|
|
|
|
fi
|
|
|
|
|
|
|
|
|
|
#################################################################################
|
|
|
|
@@ -775,25 +759,6 @@ fi
|
|
|
|
|
%defattr(-,root,root,-)
|
|
|
|
|
%{python_sitelib}/rados.py*
|
|
|
|
|
|
|
|
|
|
#################################################################################
|
|
|
|
|
%files -n libradosstriper1
|
|
|
|
|
%defattr(-,root,root,-)
|
|
|
|
|
%{_libdir}/libradosstriper.so.*
|
|
|
|
|
|
|
|
|
|
%post -n libradosstriper1
|
|
|
|
|
/sbin/ldconfig
|
|
|
|
|
|
|
|
|
|
%postun -n libradosstriper1
|
|
|
|
|
/sbin/ldconfig
|
|
|
|
|
|
|
|
|
|
#################################################################################
|
|
|
|
|
%files -n libradosstriper1-devel
|
|
|
|
|
%defattr(-,root,root,-)
|
|
|
|
|
%dir %{_includedir}/radosstriper
|
|
|
|
|
%{_includedir}/radosstriper/libradosstriper.h
|
|
|
|
|
%{_includedir}/radosstriper/libradosstriper.hpp
|
|
|
|
|
%{_libdir}/libradosstriper.so
|
|
|
|
|
|
|
|
|
|
#################################################################################
|
|
|
|
|
%files -n librbd1
|
|
|
|
|
%defattr(-,root,root,-)
|
|
|
|
@@ -806,10 +771,6 @@ fi
|
|
|
|
|
|
|
|
|
|
%post -n librbd1
|
|
|
|
|
/sbin/ldconfig
|
|
|
|
|
# First, cleanup
|
|
|
|
|
rm -f /usr/lib64/qemu/librbd.so.1
|
|
|
|
|
rmdir /usr/lib64/qemu 2>/dev/null || true
|
|
|
|
|
rmdir /usr/lib64/ 2>/dev/null || true
|
|
|
|
|
# If x86_64 and rhel6+, link the library to /usr/lib64/qemu -- rhel hack
|
|
|
|
|
%ifarch x86_64
|
|
|
|
|
%if 0%{?rhel} >= 6
|
|
|
|
@@ -883,7 +844,7 @@ ln -sf %{_libdir}/librbd.so.1 /usr/lib64/qemu/librbd.so.1
|
|
|
|
|
%{_bindir}/ceph_smalliobenchdumb
|
|
|
|
|
%{_bindir}/ceph_smalliobenchfs
|
|
|
|
|
%{_bindir}/ceph_smalliobenchrbd
|
|
|
|
|
%{_bindir}/ceph_objectstore_tool
|
|
|
|
|
%{_bindir}/ceph-objectstore-tool
|
|
|
|
|
%{_bindir}/ceph_streamtest
|
|
|
|
|
%{_bindir}/ceph_test_*
|
|
|
|
|
%{_bindir}/ceph_tpbench
|
|
|
|
@@ -891,12 +852,6 @@ ln -sf %{_libdir}/librbd.so.1 /usr/lib64/qemu/librbd.so.1
|
|
|
|
|
%{_bindir}/ceph-monstore-tool
|
|
|
|
|
%{_bindir}/ceph-osdomap-tool
|
|
|
|
|
%{_bindir}/ceph-kvstore-tool
|
|
|
|
|
%{_mandir}/man8/rbd-replay.8*
|
|
|
|
|
%{_bindir}/rbd-replay
|
|
|
|
|
%if (0%{?fedora} == 20 || 0%{?rhel} == 6)
|
|
|
|
|
%{_mandir}/man8/rbd-replay-prep.8*
|
|
|
|
|
%{_bindir}/rbd-replay-prep
|
|
|
|
|
%endif
|
|
|
|
|
|
|
|
|
|
%files -n libcephfs_jni1
|
|
|
|
|
%defattr(-,root,root,-)
|
|
|
|
@@ -910,8 +865,7 @@ ln -sf %{_libdir}/librbd.so.1 /usr/lib64/qemu/librbd.so.1
|
|
|
|
|
%defattr(-,root,root,-)
|
|
|
|
|
%{_javadir}/libcephfs.jar
|
|
|
|
|
|
|
|
|
|
# We need an empty %files list for ceph-libs-compat, ceph-devel-compat and
|
|
|
|
|
# python-ceph-compat to tell rpmbuild to actually build these meta packages.
|
|
|
|
|
# We need to create these three for compatibility reasons
|
|
|
|
|
%files libs-compat
|
|
|
|
|
|
|
|
|
|
%files devel-compat
|
|
|
|
@@ -919,10 +873,31 @@ ln -sf %{_libdir}/librbd.so.1 /usr/lib64/qemu/librbd.so.1
|
|
|
|
|
%files -n python-ceph-compat
|
|
|
|
|
|
|
|
|
|
%changelog
|
|
|
|
|
* Mon Nov 3 2014 Boris Ranto <branto@redhat.com> - 1:0.87-1
|
|
|
|
|
- Rebase to latest major version (firefly -> giant)
|
|
|
|
|
* Wed Jul 22 2015 Boris Ranto <branto@redhat.com> - 1:0.80.10-1
|
|
|
|
|
- Rebase to 0.80.10
|
|
|
|
|
- Remove hacky 3rd patch, it was back-ported properly to .10
|
|
|
|
|
|
|
|
|
|
* Thu Oct 16 2014 Boris Ranto <branto@redhat.com - 1:0.80.7-1
|
|
|
|
|
* Wed Mar 11 2015 Boris Ranto <branto@redhat.com> - 1:0.80.9-1
|
|
|
|
|
- Rebase to 0.80.9, .8 contained a regression
|
|
|
|
|
|
|
|
|
|
* Wed Mar 4 2015 Boris Ranto <branto@redhat.com> - 1:0.80.8-2
|
|
|
|
|
- Perform a hardened build
|
|
|
|
|
- Use git-formatted patches
|
|
|
|
|
- Do not remove conf files on uninstall
|
|
|
|
|
- Remove the cleanup post-script function
|
|
|
|
|
|
|
|
|
|
* Mon Feb 23 2015 Boris Ranto <branto@redhat.com> - 1:0.80.8-1
|
|
|
|
|
- Rebase to 0.80.8 release
|
|
|
|
|
- Require yasm, the yasm-related selinux issue was fixed in .8 release
|
|
|
|
|
- Patch 3 and 4 are now part of the release
|
|
|
|
|
|
|
|
|
|
* Wed Jan 14 2015 Boris Ranto <branto@redhat.com> - 1:0.80.7-3
|
|
|
|
|
- Fix rhbz#1155335 -- /usr/bin/ceph hangs indefinitely
|
|
|
|
|
|
|
|
|
|
* Mon Dec 8 2014 Boris Ranto <branto@redhat.com> - 1:0.80.7-2
|
|
|
|
|
- Fix rhbz#1144794
|
|
|
|
|
|
|
|
|
|
* Thu Oct 16 2014 Boris Ranto <branto@redhat.com> - 1:0.80.7-1
|
|
|
|
|
- Rebase to latest upstream version
|
|
|
|
|
|
|
|
|
|
* Sat Oct 11 2014 Boris Ranto <branto@redhat.com> - 1:0.80.6-3
|
|
|
|
@@ -944,7 +919,6 @@ ln -sf %{_libdir}/librbd.so.1 /usr/lib64/qemu/librbd.so.1
|
|
|
|
|
* Thu Aug 21 2014 Boris Ranto <branto@redhat.com> - 1:0.80.5-8
|
|
|
|
|
- Revert the previous change
|
|
|
|
|
- Fix bz 1118504, second attempt (yasm appears to be the package that caused this
|
|
|
|
|
- Fix bogus dates
|
|
|
|
|
|
|
|
|
|
* Wed Aug 20 2014 Boris Ranto <branto@redhat.com> - 1:0.80.5-7
|
|
|
|
|
- Several more merges from file to try to fix the selinux issue (1118504)
|
|
|
|
|