Compare commits

..

21 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
Kalev Lember 25b47f32a9 Obsolete ceph-libcephfs
Correct the name of the obsoleted package. It used to be called
"ceph-libcephfs" and not "libcephfs".

Transaction check error:
file /usr/lib64/libcephfs.so.1.0.0 from install of
libcephfs1-1:0.80.5-5.fc21.x86_64 conflicts with file from package
ceph-libcephfs-0.81.0-6.fc21.x86_64
2014-08-16 23:38:39 +02:00
Boris Ranto e44806fede Various fixes:
- Do not require xfsprogs/xfsprogs-devel for el6
- Require gperftools-devel for non-ppc*/s390* architectures only
- Do not require junit -- no need to build libcephfs-test.jar
- Build without libxfs for el6
- Build without tcmalloc for ppc*/s390* architectures
- Location of mkcephfs must depend on a rhel release
- Use epoch in the Requires fields [1130700]
2014-08-16 16:00:20 +02:00
Boris Ranto 830e99f484 Use the proper version name in Obsoletes, the previous one did not obsolete all the packages that it should 2014-08-16 10:32:16 +02:00
Boris Ranto a236dbbbe2 Fix the date in changelog 2014-08-16 03:50:05 +02:00
Peter Robinson c81d313d7c - Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild 2014-08-15 23:54:45 +00:00
Boris Ranto 5311ad2942 Add the arm pthread hack 2014-08-16 01:11:30 +02:00
Boris Ranto 08b7207d61 Bump the Epoch, we need to keep the latest stable, not development, ceph version in fedora
- Use the upstream spec file with the ceph-libs split
- Add libs-compat subpackage
- Use fedora in rhel 7 checks
- Obsolete libcephfs
- Depend on redhat-lsb-core for the initscript
2014-08-15 23:07:34 +02:00
6 changed files with 94 additions and 134 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"
+80 -54
View File
@@ -5,22 +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.10
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
Patch0: ceph-google-gperftools.patch
Requires: librbd1 = %{epoch}:%{version}-%{release}
Requires: librados2 = %{epoch}:%{version}-%{release}
Requires: libcephfs1 = %{epoch}:%{version}-%{release}
@@ -67,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
@@ -183,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
@@ -207,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
@@ -252,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
@@ -338,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
@@ -346,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
@@ -355,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}
@@ -362,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
@@ -389,8 +412,7 @@ python-cephfs instead.
#################################################################################
%prep
%setup -q
%patch1 -p1
%patch2 -p1
%patch0 -p1
%build
# Find jni.h
@@ -455,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
@@ -484,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
@@ -554,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
@@ -565,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*
@@ -586,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
@@ -603,11 +620,9 @@ 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*
@@ -665,6 +680,7 @@ fi
# Package removal cleanup
if [ "$1" -eq "0" ] ; then
rm -rf /var/log/ceph
rm -rf /etc/ceph
fi
#################################################################################
@@ -759,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,-)
@@ -771,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
@@ -844,7 +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-objectstore-tool
%{_bindir}/ceph_objectstore_tool
%{_bindir}/ceph_streamtest
%{_bindir}/ceph_test_*
%{_bindir}/ceph_tpbench
@@ -852,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,-)
@@ -865,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
@@ -873,31 +919,10 @@ ln -sf %{_libdir}/librbd.so.1 /usr/lib64/qemu/librbd.so.1
%files -n python-ceph-compat
%changelog
* 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
* Mon Nov 3 2014 Boris Ranto <branto@redhat.com> - 1:0.87-1
- Rebase to latest major version (firefly -> giant)
* 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
* 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
@@ -919,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 @@
0bb1d511f39d648035c412c41fd5b8a5 ceph-0.80.10.tar.bz2
32159ac85d2c45862dab5b3ac901402c ceph-0.87.tar.bz2