Compare commits

..

14 Commits

Author SHA1 Message Date
Boris Ranto 439eb70dcf Just bump the release... 2014-12-03 09:44:13 +01:00
Boris Ranto d8048b573b Sync-up with upstream -- formatting issues 2014-11-12 14:59:35 +01:00
Boris Ranto 7ebc469b21 Fix the removed path (missing RPM_BUILD_ROOT) 2014-11-03 17:38:23 +01:00
Boris Ranto 3b0b0e04e8 Rebase to latest major version (firefly -> giant) 2014-11-03 16:31:09 +01:00
Boris Ranto 290a036741 Rebase to latest upstream version 2014-10-16 12:38:49 +02:00
Boris Ranto a4d87e63c6 Fix the librados-devel vs librados2-devel problem 2014-10-11 15:58:58 +02:00
Boris Ranto 628a5cfe1f Provide empty file list for python-ceph-compat and ceph-devel-compat 2014-10-10 16:42:20 +02:00
Boris Ranto 7da3554afd Rebase and split ceph-devel, python-ceph packages 2014-10-10 15:44:05 +02:00
Dan Horák 34495d4d5f - update Requires for s390(x) 2014-09-09 10:12:07 +02:00
Boris Ranto 273aebea8d Fix bz 1136811 (incorrect symlink on fedora) 2014-09-03 15:30:38 +02:00
Boris Ranto ac3de9eccb Fix bogus dates 2014-08-22 01:56:50 +02:00
Boris Ranto e46d0f152b Second attempt to fix selinux issue (bz 1118504) 2014-08-22 01:53:25 +02:00
Boris Ranto b3185457ec Revert "Modify configure flags to get rid of selinux-related permission denied when loading libraries (bz 1118504)"
This reverts commit 7f6844291d.

The reason is that the commit did not fix the issue.
2014-08-22 01:14:20 +02:00
Boris Ranto 7f6844291d Modify configure flags to get rid of selinux-related permission denied when loading libraries (bz 1118504) 2014-08-21 17:42:17 +02:00
6 changed files with 93 additions and 124 deletions
@@ -1,27 +0,0 @@
From 6c280200b42758d3e84cfd1a5b256171cab132d1 Mon Sep 17 00:00:00 2001
From: Boris Ranto <branto@redhat.com>
Date: Wed, 14 Jan 2015 07:46:56 +0100
Subject: [PATCH 1/3] gperftools deprecated google/* includes
---
src/perfglue/heap_profiler.cc | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/src/perfglue/heap_profiler.cc b/src/perfglue/heap_profiler.cc
index 6b079b8..cdd5ccb 100644
--- a/src/perfglue/heap_profiler.cc
+++ b/src/perfglue/heap_profiler.cc
@@ -12,8 +12,8 @@
*
*/
-#include <google/heap-profiler.h>
-#include <google/malloc_extension.h>
+#include <gperftools/heap-profiler.h>
+#include <gperftools/malloc_extension.h>
#include "heap_profiler.h"
#include "common/environment.h"
#include "common/LogClient.h"
--
1.9.3
@@ -1,25 +0,0 @@
From 213613337d56bf1b1257f043c7b737ee86b0e1be Mon Sep 17 00:00:00 2001
From: Boris Ranto <branto@redhat.com>
Date: Wed, 14 Jan 2015 07:47:47 +0100
Subject: [PATCH 2/3] -Wno-format causes compiler options collision
---
src/test/Makefile.am | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/test/Makefile.am b/src/test/Makefile.am
index 69f9e84..9ede275 100644
--- a/src/test/Makefile.am
+++ b/src/test/Makefile.am
@@ -646,7 +646,7 @@ bin_DEBUGPROGRAMS += ceph_test_librbd
if LINUX
ceph_test_librbd_fsx_SOURCES = test/librbd/fsx.c
ceph_test_librbd_fsx_LDADD = $(LIBRBD) $(LIBRADOS) -lm
-ceph_test_librbd_fsx_CFLAGS = ${AM_CFLAGS} -Wno-format
+ceph_test_librbd_fsx_CFLAGS = ${AM_CFLAGS}
bin_DEBUGPROGRAMS += ceph_test_librbd_fsx
endif
--
1.9.3
@@ -1,27 +0,0 @@
From 149481ac6dc52a852fb53800384a99e3d69ad11a Mon Sep 17 00:00:00 2001
From: Boris Ranto <branto@redhat.com>
Date: Mon, 8 Dec 2014 08:36:37 +0100
Subject: [PATCH 3/3] Backport pull request #2937 to firefly
---
src/common/RWLock.h | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/src/common/RWLock.h b/src/common/RWLock.h
index f901ac0..f4d1937 100644
--- a/src/common/RWLock.h
+++ b/src/common/RWLock.h
@@ -36,7 +36,9 @@ public:
}
virtual ~RWLock() {
- pthread_rwlock_unlock(&L);
+ // The following check is racy but we are about to destroy
+ // the object and we assume that there are no other users.
+ //assert(!is_locked()); -- hacky backport, no is_locked in firefly
pthread_rwlock_destroy(&L);
}
--
1.9.3
+13
View File
@@ -0,0 +1,13 @@
--- ceph-0.80.5/src/perfglue/heap_profiler.cc.orig 2014-08-15 16:05:00.161794290 +0200
+++ ceph-0.80.5/src/perfglue/heap_profiler.cc 2014-08-15 16:05:04.691794305 +0200
@@ -12,8 +12,8 @@
*
*/
-#include <google/heap-profiler.h>
-#include <google/malloc_extension.h>
+#include <gperftools/heap-profiler.h>
+#include <gperftools/malloc_extension.h>
#include "heap_profiler.h"
#include "common/environment.h"
#include "common/LogClient.h"
+79 -44
View File
@@ -5,23 +5,19 @@
%{!?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.80.9
Release: 1%{?dist}
Version: 0.87
Release: 2%{?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
Patch1: 0001-gperftools-deprecated-google-includes.patch
Patch2: 0002-Wno-format-causes-compiler-options-collision.patch
Patch3: 0003-Backport-pull-request-2937-to-firefly.patch
Patch0: ceph-google-gperftools.patch
Requires: librbd1 = %{epoch}:%{version}-%{release}
Requires: librados2 = %{epoch}:%{version}-%{release}
Requires: libcephfs1 = %{epoch}:%{version}-%{release}
@@ -68,7 +64,8 @@ BuildRequires: leveldb-devel > 1.2
%if ! ( 0%{?rhel} && 0%{?rhel} <= 6 )
BuildRequires: xfsprogs-devel
%endif
BuildRequires: yasm
# No yasm dependency for now, it causes selinux issues
#BuildRequires: yasm
%if 0%{?rhel} || 0%{?centos} || 0%{?fedora}
BuildRequires: snappy-devel
%endif
@@ -184,7 +181,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 < 1:0.80.5
Obsoletes: ceph-libs < %{epoch}:%{version}-%{release}
%endif
%description -n librados2
RADOS is a reliable, autonomic distributed object storage cluster
@@ -208,17 +205,40 @@ 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 < 1:0.80.5
Obsoletes: ceph-libs < %{epoch}:%{version}-%{release}
%endif
%description -n librbd1
RBD is a block device striped across multiple distributed objects in
@@ -253,8 +273,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 < 1:0.80.5
Obsoletes: ceph-libcephfs < 1:0.80.5
Obsoletes: ceph-libs < %{epoch}:%{version}-%{release}
Obsoletes: ceph-libcephfs < %{epoch}:%{version}-%{release}
%endif
%description -n libcephfs1
Ceph is a distributed network file system designed to provide excellent
@@ -339,6 +359,7 @@ 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
@@ -347,7 +368,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 or libcephfs1 instead.
librbd1, libcephfs1 or libradosstriper1 instead.
%package devel-compat
Summary: Compatibility package for Ceph headers
@@ -356,6 +377,7 @@ 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}
@@ -363,8 +385,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
or libcephfs1-devel instead.
on ceph-devel should be fixed to depend on librados2-devel, librbd1-devel,
libcephfs1-devel or libradosstriper1-devel instead.
%package -n python-ceph-compat
Summary: Compatibility package for Cephs python libraries
@@ -390,9 +412,7 @@ python-cephfs instead.
#################################################################################
%prep
%setup -q
%patch1 -p1
%patch2 -p1
%patch3 -p1
%patch0 -p1
%build
# Find jni.h
@@ -457,6 +477,8 @@ 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
@@ -486,7 +508,6 @@ 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
@@ -556,6 +577,7 @@ 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
@@ -567,14 +589,13 @@ 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*
@@ -588,13 +609,7 @@ fi
%{_libdir}/rados-classes/libcls_user.so*
%{_libdir}/rados-classes/libcls_version.so*
%dir %{_libdir}/ceph/erasure-code
%{_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*
%{_libdir}/ceph/erasure-code/libec_*.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
@@ -608,7 +623,6 @@ fi
%{_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*
@@ -666,6 +680,7 @@ fi
# Package removal cleanup
if [ "$1" -eq "0" ] ; then
rm -rf /var/log/ceph
rm -rf /etc/ceph
fi
#################################################################################
@@ -760,6 +775,25 @@ 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,-)
@@ -772,6 +806,10 @@ 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
@@ -845,8 +883,7 @@ ln -sf %{_libdir}/librbd.so.1 /usr/lib64/qemu/librbd.so.1
%{_bindir}/ceph_smalliobenchdumb
%{_bindir}/ceph_smalliobenchfs
%{_bindir}/ceph_smalliobenchrbd
%{_bindir}/ceph_filestore_dump
%{_bindir}/ceph_filestore_tool
%{_bindir}/ceph_objectstore_tool
%{_bindir}/ceph_streamtest
%{_bindir}/ceph_test_*
%{_bindir}/ceph_tpbench
@@ -854,6 +891,12 @@ 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,-)
@@ -867,7 +910,8 @@ ln -sf %{_libdir}/librbd.so.1 /usr/lib64/qemu/librbd.so.1
%defattr(-,root,root,-)
%{_javadir}/libcephfs.jar
# We need to create these three for compatibility reasons
# 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.
%files libs-compat
%files devel-compat
@@ -875,18 +919,8 @@ ln -sf %{_libdir}/librbd.so.1 /usr/lib64/qemu/librbd.so.1
%files -n python-ceph-compat
%changelog
* 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 latest upstream firefly version
- Require yasm, the SELinux yasm issue was fixed in .8 release
* Mon Nov 3 2014 Boris Ranto <branto@redhat.com> - 1:0.87-1
- Rebase to latest major version (firefly -> giant)
* Thu Oct 16 2014 Boris Ranto <branto@redhat.com - 1:0.80.7-1
- Rebase to latest upstream version
@@ -910,6 +944,7 @@ 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)
+1 -1
View File
@@ -1 +1 @@
cdb6309db1e923ab291bee908cd33f16 ceph-0.80.9.tar.bz2
32159ac85d2c45862dab5b3ac901402c ceph-0.87.tar.bz2