Rebase to latest upstream (0.94.1) and sync-up spec file

This commit is contained in:
Boris Ranto 2015-04-14 17:09:59 +02:00
parent a6871cb0d5
commit 2a379f1396
5 changed files with 106 additions and 160 deletions

View File

@ -1,27 +0,0 @@
From 586893408fa1c274844941c74757c3364c0f701e Mon Sep 17 00:00:00 2001
From: Boris Ranto <branto@redhat.com>
Date: Wed, 4 Mar 2015 15:23:53 +0100
Subject: [PATCH 1/2] Switch google/* includes to gperftools/* 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

View File

@ -1,62 +0,0 @@
From e77a5347aaeeb219512f77ae7a517906a51aca29 Mon Sep 17 00:00:00 2001
From: Federico Simoncelli <fsimonce@redhat.com>
Date: Sat, 15 Nov 2014 14:14:04 +0000
Subject: [PATCH 2/2] common: do not unlock rwlock on destruction
According to pthread_rwlock_unlock(3p):
Results are undefined if the read-write lock rwlock is not held
by the calling thread.
and:
https://sourceware.org/bugzilla/show_bug.cgi?id=17561
Calling pthread_rwlock_unlock on an rwlock which is not locked
is undefined.
calling pthread_rwlock_unlock on RWLock destruction could cause
an unknown behavior for two reasons:
- the lock is acquired by another thread (undefined)
- the lock is not acquired (undefined)
Moreover since glibc-2.20 calling pthread_rwlock_unlock on a
rwlock that is not locked results in a SIGILL that kills the
application.
This patch removes the pthread_rwlock_unlock call on destruction
and replaces it with an assertion to check that the RWLock is
not in use.
Any code that relied on the implicit release is now going to
break the assertion, e.g.:
{
RWLock l;
l.get(for_write);
} // implicit release, wrong.
Signed-off-by: Federico Simoncelli <fsimonce@redhat.com>
---
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 e647e17..6f0ab8e 100644
--- a/src/common/RWLock.h
+++ b/src/common/RWLock.h
@@ -46,7 +46,9 @@ public:
return (nwlock.read() > 0);
}
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());
pthread_rwlock_destroy(&L);
}
--
1.9.3

158
ceph.spec
View File

@ -11,16 +11,17 @@
# common # common
################################################################################# #################################################################################
Name: ceph Name: ceph
Version: 0.87.1 Version: 0.94.1
Release: 3%{?dist} Release: 1%{?dist}
Epoch: 1 Epoch: 1
Summary: User space components of the Ceph file system Summary: User space components of the Ceph file system
License: GPLv2 License: GPLv2
Group: System Environment/Base Group: System Environment/Base
URL: http://ceph.com/ URL: http://ceph.com/
Source0: http://ceph.com/download/%{name}-%{version}.tar.bz2 Source0: http://ceph.com/download/%{name}-%{version}.tar.bz2
Patch1: 0001-Switch-google-includes-to-gperftools-includes.patch %if 0%{?fedora} || 0%{?centos} || 0%{?rhel}
Patch2: 0002-common-do-not-unlock-rwlock-on-destruction.patch Patch0: init-ceph.in-fedora.patch
%endif
Requires: librbd1 = %{epoch}:%{version}-%{release} Requires: librbd1 = %{epoch}:%{version}-%{release}
Requires: librados2 = %{epoch}:%{version}-%{release} Requires: librados2 = %{epoch}:%{version}-%{release}
Requires: libcephfs1 = %{epoch}:%{version}-%{release} Requires: libcephfs1 = %{epoch}:%{version}-%{release}
@ -31,42 +32,41 @@ Requires: python-cephfs = %{epoch}:%{version}-%{release}
Requires: python Requires: python
Requires: python-argparse Requires: python-argparse
Requires: python-requests Requires: python-requests
# For ceph-rest-api
Requires: python-flask Requires: python-flask
%if ! ( 0%{?rhel} && 0%{?rhel} <= 6 )
Requires: xfsprogs Requires: xfsprogs
%endif
Requires: cryptsetup
Requires: parted Requires: parted
Requires: util-linux Requires: util-linux
%ifnarch s390 s390x
Requires: hdparm Requires: hdparm
%endif Requires: cryptsetup
# For initscript
Requires: redhat-lsb-core
Requires(post): binutils Requires(post): binutils
BuildRequires: make
BuildRequires: gcc-c++ BuildRequires: gcc-c++
BuildRequires: libtool
BuildRequires: boost-devel BuildRequires: boost-devel
BuildRequires: bzip2-devel BuildRequires: bzip2-devel
BuildRequires: libedit-devel BuildRequires: cryptsetup
BuildRequires: perl
BuildRequires: gdbm BuildRequires: gdbm
BuildRequires: pkgconfig BuildRequires: hdparm
BuildRequires: python
BuildRequires: python-nose
BuildRequires: python-argparse
BuildRequires: libaio-devel BuildRequires: libaio-devel
BuildRequires: libcurl-devel BuildRequires: libcurl-devel
BuildRequires: libedit-devel
BuildRequires: libxml2-devel BuildRequires: libxml2-devel
BuildRequires: libuuid-devel BuildRequires: libuuid-devel
BuildRequires: libblkid-devel >= 2.17 BuildRequires: libblkid-devel >= 2.17
BuildRequires: libudev-devel BuildRequires: libudev-devel
BuildRequires: libtool
BuildRequires: leveldb-devel > 1.2 BuildRequires: leveldb-devel > 1.2
%if ! ( 0%{?rhel} && 0%{?rhel} <= 6 ) BuildRequires: make
BuildRequires: perl
BuildRequires: parted
BuildRequires: pkgconfig
BuildRequires: python
BuildRequires: python-argparse
BuildRequires: python-nose
BuildRequires: python-requests
BuildRequires: python-virtualenv
BuildRequires: util-linux
BuildRequires: xfsprogs
BuildRequires: xfsprogs-devel BuildRequires: xfsprogs-devel
%endif BuildRequires: xmlstarlet
BuildRequires: yasm BuildRequires: yasm
%if 0%{?rhel} || 0%{?centos} || 0%{?fedora} %if 0%{?rhel} || 0%{?centos} || 0%{?fedora}
BuildRequires: snappy-devel BuildRequires: snappy-devel
@ -75,7 +75,7 @@ BuildRequires: snappy-devel
################################################################################# #################################################################################
# specific # specific
################################################################################# #################################################################################
%if ! 0%{?rhel} %if ! 0%{?rhel} || 0%{?fedora}
BuildRequires: sharutils BuildRequires: sharutils
%endif %endif
@ -102,10 +102,8 @@ Requires: gdisk
Requires(post): chkconfig Requires(post): chkconfig
Requires(preun):chkconfig Requires(preun):chkconfig
Requires(preun):initscripts Requires(preun):initscripts
%ifnarch ppc ppc64 s390 s390x
BuildRequires: gperftools-devel BuildRequires: gperftools-devel
%endif %endif
%endif
%description %description
Ceph is a massively scalable, open-source, distributed Ceph is a massively scalable, open-source, distributed
@ -127,7 +125,7 @@ Requires: python-cephfs = %{epoch}:%{version}-%{release}
Requires: python-requests Requires: python-requests
Requires: redhat-lsb-core Requires: redhat-lsb-core
%description -n ceph-common %description -n ceph-common
common utilities to mount and interact with a ceph storage cluster Common utilities to mount and interact with a ceph storage cluster.
%package fuse %package fuse
Summary: Ceph fuse-based client Summary: Ceph fuse-based client
@ -161,8 +159,8 @@ BuildRequires: expat-devel
BuildRequires: fcgi-devel BuildRequires: fcgi-devel
%endif %endif
%description radosgw %description radosgw
radosgw is an S3 HTTP REST gateway for the RADOS object store. It is This package is an S3 HTTP REST gateway for the RADOS object store. It
implemented as a FastCGI module using libfcgi, and can be used in is implemented as a FastCGI module using libfcgi, and can be used in
conjunction with any FastCGI capable web server. conjunction with any FastCGI capable web server.
%if %{with ocf} %if %{with ocf}
@ -196,7 +194,7 @@ Summary: RADOS headers
Group: Development/Libraries Group: Development/Libraries
License: LGPL-2.0 License: LGPL-2.0
Requires: librados2 = %{epoch}:%{version}-%{release} Requires: librados2 = %{epoch}:%{version}-%{release}
Obsoletes: ceph-devel < 1:0.80.6-1 Obsoletes: ceph-devel < %{epoch}:%{version}-%{release}
%description -n librados2-devel %description -n librados2-devel
This package contains libraries and headers needed to develop programs This package contains libraries and headers needed to develop programs
that use RADOS object store. that use RADOS object store.
@ -206,7 +204,7 @@ Summary: Python libraries for the RADOS object store
Group: System Environment/Libraries Group: System Environment/Libraries
License: LGPL-2.0 License: LGPL-2.0
Requires: librados2 = %{epoch}:%{version}-%{release} Requires: librados2 = %{epoch}:%{version}-%{release}
Obsoletes: python-ceph < 1:0.80.6-1 Obsoletes: python-ceph < %{epoch}:%{version}-%{release}
%if 0%{defined suse_version} %if 0%{defined suse_version}
%py_requires %py_requires
%endif %endif
@ -230,6 +228,7 @@ Group: Development/Libraries
License: LGPL-2.0 License: LGPL-2.0
Requires: libradosstriper1 = %{epoch}:%{version}-%{release} Requires: libradosstriper1 = %{epoch}:%{version}-%{release}
Requires: librados2-devel = %{epoch}:%{version}-%{release} Requires: librados2-devel = %{epoch}:%{version}-%{release}
Obsoletes: ceph-devel < %{epoch}:%{version}-%{release}
%description -n libradosstriper1-devel %description -n libradosstriper1-devel
This package contains libraries and headers needed to develop programs This package contains libraries and headers needed to develop programs
that use RADOS striping interface. that use RADOS striping interface.
@ -254,7 +253,7 @@ Group: Development/Libraries
License: LGPL-2.0 License: LGPL-2.0
Requires: librbd1 = %{epoch}:%{version}-%{release} Requires: librbd1 = %{epoch}:%{version}-%{release}
Requires: librados2-devel = %{epoch}:%{version}-%{release} Requires: librados2-devel = %{epoch}:%{version}-%{release}
Obsoletes: ceph-devel < 1:0.80.6-1 Obsoletes: ceph-devel < %{epoch}:%{version}-%{release}
%description -n librbd1-devel %description -n librbd1-devel
This package contains libraries and headers needed to develop programs This package contains libraries and headers needed to develop programs
that use RADOS block device. that use RADOS block device.
@ -265,7 +264,7 @@ Group: System Environment/Libraries
License: LGPL-2.0 License: LGPL-2.0
Requires: librbd1 = %{epoch}:%{version}-%{release} Requires: librbd1 = %{epoch}:%{version}-%{release}
Requires: python-rados = %{epoch}:%{version}-%{release} Requires: python-rados = %{epoch}:%{version}-%{release}
Obsoletes: python-ceph < 1:0.80.6-1 Obsoletes: python-ceph < %{epoch}:%{version}-%{release}
%description -n python-rbd %description -n python-rbd
This package contains Python libraries for interacting with Cephs RADOS This package contains Python libraries for interacting with Cephs RADOS
block device. block device.
@ -290,7 +289,7 @@ Group: Development/Libraries
License: LGPL-2.0 License: LGPL-2.0
Requires: libcephfs1 = %{epoch}:%{version}-%{release} Requires: libcephfs1 = %{epoch}:%{version}-%{release}
Requires: librados2-devel = %{epoch}:%{version}-%{release} Requires: librados2-devel = %{epoch}:%{version}-%{release}
Obsoletes: ceph-devel < 1:0.80.6-1 Obsoletes: ceph-devel < %{epoch}:%{version}-%{release}
%description -n libcephfs1-devel %description -n libcephfs1-devel
This package contains libraries and headers needed to develop programs This package contains libraries and headers needed to develop programs
that use Cephs distributed file system. that use Cephs distributed file system.
@ -301,7 +300,7 @@ Group: System Environment/Libraries
License: LGPL-2.0 License: LGPL-2.0
Requires: libcephfs1 = %{epoch}:%{version}-%{release} Requires: libcephfs1 = %{epoch}:%{version}-%{release}
Requires: python-rados = %{epoch}:%{version}-%{release} Requires: python-rados = %{epoch}:%{version}-%{release}
Obsoletes: python-ceph < 1:0.80.6-1 Obsoletes: python-ceph < %{epoch}:%{version}-%{release}
%description -n python-cephfs %description -n python-cephfs
This package contains Python libraries for interacting with Cephs distributed This package contains Python libraries for interacting with Cephs distributed
file system. file system.
@ -318,9 +317,11 @@ RESTful bencher that can be used to benchmark radosgw performance.
Summary: Ceph benchmarks and test tools Summary: Ceph benchmarks and test tools
Group: System Environment/Libraries Group: System Environment/Libraries
License: LGPL-2.0 License: LGPL-2.0
Requires: librados2 = %{epoch}:%{version}-%{release} Requires: ceph-common = %{epoch}:%{version}-%{release}
Requires: librbd1 = %{epoch}:%{version}-%{release} %if (0%{?fedora} >= 20 || 0%{?rhel} == 6)
Requires: libcephfs1 = %{epoch}:%{version}-%{release} BuildRequires: lttng-ust-devel
BuildRequires: libbabeltrace-devel
%endif
%description -n ceph-test %description -n ceph-test
This package contains Ceph benchmarks and test tools. This package contains Ceph benchmarks and test tools.
@ -341,6 +342,7 @@ Group: System Environment/Libraries
License: LGPL-2.0 License: LGPL-2.0
Requires: java Requires: java
Requires: libcephfs_jni1 = %{epoch}:%{version}-%{release} Requires: libcephfs_jni1 = %{epoch}:%{version}-%{release}
Obsoletes: ceph-devel < %{epoch}:%{version}-%{release}
%description -n libcephfs_jni1-devel %description -n libcephfs_jni1-devel
This package contains the development files for CephFS Java Native Interface This package contains the development files for CephFS Java Native Interface
library. library.
@ -352,6 +354,13 @@ License: LGPL-2.0
Requires: java Requires: java
Requires: libcephfs_jni1 = %{epoch}:%{version}-%{release} Requires: libcephfs_jni1 = %{epoch}:%{version}-%{release}
BuildRequires: java-devel BuildRequires: java-devel
%if 0%{?el6}
Requires: junit4
BuildRequires: junit4
%else
Requires: junit
BuildRequires: junit
%endif
%description -n cephfs-java %description -n cephfs-java
This package contains the Java libraries for the Ceph File System. This package contains the Java libraries for the Ceph File System.
@ -361,16 +370,16 @@ Group: System Environment/Libraries
License: LGPL-2.0 License: LGPL-2.0
Obsoletes: ceph-libs Obsoletes: ceph-libs
Requires: librados2 = %{epoch}:%{version}-%{release} Requires: librados2 = %{epoch}:%{version}-%{release}
Requires: libradosstriper1 = %{epoch}:%{version}-%{release}
Requires: librbd1 = %{epoch}:%{version}-%{release} Requires: librbd1 = %{epoch}:%{version}-%{release}
Requires: libcephfs1 = %{epoch}:%{version}-%{release} Requires: libcephfs1 = %{epoch}:%{version}-%{release}
Provides: ceph-libs Provides: ceph-libs
%description libs-compat %description libs-compat
This is a meta package, that pulls in librados2, librbd1 and libcephfs1. It This is a meta package, that pulls in librados2, librbd1 and libcephfs1. It
is included for backwards compatibility with distributions that depend on the is included for backwards compatibility with distributions that depend on the
former ceph-libs package, which is now split up into these three subpackages. 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, 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 %package devel-compat
Summary: Compatibility package for Ceph headers Summary: Compatibility package for Ceph headers
@ -414,8 +423,9 @@ python-cephfs instead.
################################################################################# #################################################################################
%prep %prep
%setup -q %setup -q
%patch1 -p1 %if 0%{?fedora} || 0%{?rhel} || 0%{?centos}
%patch2 -p1 %patch0 -p1 -b .init
%endif
%build %build
# Find jni.h # Find jni.h
@ -424,26 +434,12 @@ for i in /usr/{lib64,lib}/jvm/java/include{,/linux}; do
done done
./autogen.sh ./autogen.sh
%if ( 0%{?rhel} && 0%{?rhel} <= 6)
MY_CONF_OPT="--without-libxfs"
%else
MY_CONF_OPT="" MY_CONF_OPT=""
%endif
MY_CONF_OPT="$MY_CONF_OPT --with-radosgw" MY_CONF_OPT="$MY_CONF_OPT --with-radosgw"
# No gperftools on these architectures
%ifarch ppc ppc64 s390 s390x
MY_CONF_OPT="$MY_CONF_OPT --without-tcmalloc"
%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/'`
%ifarch armv5tel
# libatomic_ops does not have correct asm for ARMv5tel
EXTRA_CFLAGS="-DAO_USE_PTHREAD_DEFS"
%endif
%ifarch %{arm} %ifarch %{arm}
# libatomic_ops seems to fallback on some pthread implementation on ARM # libatomic_ops seems to fallback on some pthread implementation on ARM
EXTRA_LDFLAGS="-lpthread" EXTRA_LDFLAGS="-lpthread"
@ -459,6 +455,7 @@ EXTRA_LDFLAGS="-lpthread"
--with-rest-bench \ --with-rest-bench \
--with-debug \ --with-debug \
--enable-cephfs-java \ --enable-cephfs-java \
--with-librocksdb-static=check \
$MY_CONF_OPT \ $MY_CONF_OPT \
%{?_with_ocf} \ %{?_with_ocf} \
CFLAGS="$RPM_OPT_FLAGS $EXTRA_CFLAGS" \ CFLAGS="$RPM_OPT_FLAGS $EXTRA_CFLAGS" \
@ -480,8 +477,10 @@ make %{_smp_mflags}
make DESTDIR=$RPM_BUILD_ROOT install make DESTDIR=$RPM_BUILD_ROOT install
find $RPM_BUILD_ROOT -type f -name "*.la" -exec rm -f {} ';' find $RPM_BUILD_ROOT -type f -name "*.la" -exec rm -f {} ';'
find $RPM_BUILD_ROOT -type f -name "*.a" -exec rm -f {} ';' find $RPM_BUILD_ROOT -type f -name "*.a" -exec rm -f {} ';'
%if ! (0%{?fedora} == 20 || 0%{?rhel} == 6)
# do not package man page for binary that is not built # do not package man page for binary that is not built
rm -f $RPM_BUILD_ROOT%{_mandir}/man8/rbd-replay-prep.8* rm -f $RPM_BUILD_ROOT%{_mandir}/man8/rbd-replay-prep.8*
%endif
install -D src/init-ceph $RPM_BUILD_ROOT%{_initrddir}/ceph 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-radosgw.sysv $RPM_BUILD_ROOT%{_initrddir}/ceph-radosgw
install -D src/init-rbdmap $RPM_BUILD_ROOT%{_initrddir}/rbdmap install -D src/init-rbdmap $RPM_BUILD_ROOT%{_initrddir}/rbdmap
@ -577,13 +576,12 @@ fi
%{_bindir}/ceph-mon %{_bindir}/ceph-mon
%{_bindir}/ceph-mds %{_bindir}/ceph-mds
%{_bindir}/ceph-osd %{_bindir}/ceph-osd
%{_bindir}/ceph-rbdnamer
%{_bindir}/librados-config %{_bindir}/librados-config
%{_bindir}/ceph-client-debug %{_bindir}/ceph-client-debug
%{_bindir}/cephfs-journal-tool %{_bindir}/cephfs-journal-tool
%{_bindir}/cephfs-table-tool
%{_bindir}/ceph-debugpack %{_bindir}/ceph-debugpack
%{_bindir}/ceph-coverage %{_bindir}/ceph-coverage
%{_bindir}/ceph_mon_store_converter
%{_initrddir}/ceph %{_initrddir}/ceph
%{_sbindir}/ceph-disk %{_sbindir}/ceph-disk
%{_sbindir}/ceph-disk-activate %{_sbindir}/ceph-disk-activate
@ -622,7 +620,8 @@ fi
%endif %endif
%config %{_sysconfdir}/bash_completion.d/ceph %config %{_sysconfdir}/bash_completion.d/ceph
%config(noreplace) %{_sysconfdir}/logrotate.d/ceph %config(noreplace) %{_sysconfdir}/logrotate.d/ceph
%config(noreplace) %{_sysconfdir}/logrotate.d/radosgw %{_mandir}/man8/ceph-deploy.8*
%{_mandir}/man8/ceph-disk.8*
%{_mandir}/man8/ceph-mon.8* %{_mandir}/man8/ceph-mon.8*
%{_mandir}/man8/ceph-mds.8* %{_mandir}/man8/ceph-mds.8*
%{_mandir}/man8/ceph-osd.8* %{_mandir}/man8/ceph-osd.8*
@ -633,10 +632,9 @@ fi
%{_mandir}/man8/monmaptool.8* %{_mandir}/man8/monmaptool.8*
%{_mandir}/man8/cephfs.8* %{_mandir}/man8/cephfs.8*
%{_mandir}/man8/mount.ceph.8* %{_mandir}/man8/mount.ceph.8*
%{_mandir}/man8/ceph-rbdnamer.8*
%{_mandir}/man8/ceph-debugpack.8* %{_mandir}/man8/ceph-debugpack.8*
%{_mandir}/man8/ceph-clsinfo.8.gz %{_mandir}/man8/ceph-clsinfo.8*
%{_mandir}/man8/librados-config.8.gz %{_mandir}/man8/librados-config.8*
#set up placeholder directories #set up placeholder directories
%dir %{_localstatedir}/lib/ceph/ %dir %{_localstatedir}/lib/ceph/
%dir %{_localstatedir}/lib/ceph/tmp %dir %{_localstatedir}/lib/ceph/tmp
@ -654,6 +652,7 @@ fi
%{_bindir}/ceph-authtool %{_bindir}/ceph-authtool
%{_bindir}/ceph-conf %{_bindir}/ceph-conf
%{_bindir}/ceph-dencoder %{_bindir}/ceph-dencoder
%{_bindir}/ceph-rbdnamer
%{_bindir}/ceph-syn %{_bindir}/ceph-syn
%{_bindir}/ceph-crush-location %{_bindir}/ceph-crush-location
%{_bindir}/rados %{_bindir}/rados
@ -663,6 +662,7 @@ fi
%{_mandir}/man8/ceph-authtool.8* %{_mandir}/man8/ceph-authtool.8*
%{_mandir}/man8/ceph-conf.8* %{_mandir}/man8/ceph-conf.8*
%{_mandir}/man8/ceph-dencoder.8* %{_mandir}/man8/ceph-dencoder.8*
%{_mandir}/man8/ceph-rbdnamer.8*
%{_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*
@ -678,6 +678,11 @@ fi
%config(noreplace) %{_sysconfdir}/ceph/rbdmap %config(noreplace) %{_sysconfdir}/ceph/rbdmap
%{_initrddir}/rbdmap %{_initrddir}/rbdmap
%{python_sitelib}/ceph_argparse.py* %{python_sitelib}/ceph_argparse.py*
%if 0%{?rhel} >= 7 || 0%{?fedora}
/usr/lib/udev/rules.d/50-rbd.rules
%else
/lib/udev/rules.d/50-rbd.rules
%endif
%postun -n ceph-common %postun -n ceph-common
# Package removal cleanup # Package removal cleanup
@ -711,6 +716,7 @@ fi
%{_mandir}/man8/radosgw.8* %{_mandir}/man8/radosgw.8*
%{_mandir}/man8/radosgw-admin.8* %{_mandir}/man8/radosgw-admin.8*
%{_sbindir}/rcceph-radosgw %{_sbindir}/rcceph-radosgw
%config(noreplace) %{_sysconfdir}/logrotate.d/radosgw
%config %{_sysconfdir}/bash_completion.d/radosgw-admin %config %{_sysconfdir}/bash_completion.d/radosgw-admin
%dir %{_localstatedir}/log/radosgw/ %dir %{_localstatedir}/log/radosgw/
@ -800,11 +806,6 @@ fi
%files -n librbd1 %files -n librbd1
%defattr(-,root,root,-) %defattr(-,root,root,-)
%{_libdir}/librbd.so.* %{_libdir}/librbd.so.*
%if 0%{?rhel} >= 7 || 0%{?fedora}
/usr/lib/udev/rules.d/50-rbd.rules
%else
/lib/udev/rules.d/50-rbd.rules
%endif
%post -n librbd1 %post -n librbd1
/sbin/ldconfig /sbin/ldconfig
@ -865,7 +866,6 @@ ln -sf %{_libdir}/librbd.so.1 /usr/lib64/qemu/librbd.so.1
%files -n ceph-test %files -n ceph-test
%defattr(-,root,root,-) %defattr(-,root,root,-)
%{_bindir}/ceph_bench_log %{_bindir}/ceph_bench_log
%{_bindir}/ceph_dupstore
%{_bindir}/ceph_kvstorebench %{_bindir}/ceph_kvstorebench
%{_bindir}/ceph_multi_stress_watch %{_bindir}/ceph_multi_stress_watch
%{_bindir}/ceph_erasure_code %{_bindir}/ceph_erasure_code
@ -881,7 +881,7 @@ ln -sf %{_libdir}/librbd.so.1 /usr/lib64/qemu/librbd.so.1
%{_bindir}/ceph_smalliobenchdumb %{_bindir}/ceph_smalliobenchdumb
%{_bindir}/ceph_smalliobenchfs %{_bindir}/ceph_smalliobenchfs
%{_bindir}/ceph_smalliobenchrbd %{_bindir}/ceph_smalliobenchrbd
%{_bindir}/ceph_objectstore_tool %{_bindir}/ceph-objectstore-tool
%{_bindir}/ceph_streamtest %{_bindir}/ceph_streamtest
%{_bindir}/ceph_test_* %{_bindir}/ceph_test_*
%{_bindir}/ceph_tpbench %{_bindir}/ceph_tpbench
@ -890,33 +890,49 @@ ln -sf %{_libdir}/librbd.so.1 /usr/lib64/qemu/librbd.so.1
%{_bindir}/ceph-osdomap-tool %{_bindir}/ceph-osdomap-tool
%{_bindir}/ceph-kvstore-tool %{_bindir}/ceph-kvstore-tool
%{_mandir}/man8/rbd-replay.8* %{_mandir}/man8/rbd-replay.8*
%{_mandir}/man8/rbd-replay-many.8*
%{_bindir}/rbd-replay %{_bindir}/rbd-replay
%{_bindir}/rbd-replay-many
%if (0%{?fedora} == 20 || 0%{?rhel} == 6) %if (0%{?fedora} == 20 || 0%{?rhel} == 6)
%{_mandir}/man8/rbd-replay-prep.8* %{_mandir}/man8/rbd-replay-prep.8*
%{_bindir}/rbd-replay-prep %{_bindir}/rbd-replay-prep
%endif %endif
#################################################################################
%files -n libcephfs_jni1 %files -n libcephfs_jni1
%defattr(-,root,root,-) %defattr(-,root,root,-)
%{_libdir}/libcephfs_jni.so.* %{_libdir}/libcephfs_jni.so.*
#################################################################################
%files -n libcephfs_jni1-devel %files -n libcephfs_jni1-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
# 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 libs-compat
# We need an empty %%files list for ceph-libs-compat, to tell rpmbuild to actually
# build this meta package.
#################################################################################
%files devel-compat %files devel-compat
# We need an empty %%files list for ceph-devel-compat, to tell rpmbuild to
# actually build this meta package.
#################################################################################
%files -n python-ceph-compat %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
* Tue Apr 14 2015 Boris Ranto <branto@redhat.com> - 1:0.94.1-1
- Rebase to latest upstream version and sync-up the spec file
* Wed Apr 01 2015 Ken Dreyer <ktdreyer@ktdreyer.com> - 1:0.87.1-3 * Wed Apr 01 2015 Ken Dreyer <ktdreyer@ktdreyer.com> - 1:0.87.1-3
- add version numbers to Obsoletes (RHBZ #1193182) - add version numbers to Obsoletes (RHBZ #1193182)

18
init-ceph.in-fedora.patch Normal file
View File

@ -0,0 +1,18 @@
diff -up ceph-0.46/src/init-ceph.in.orig ceph-0.46/src/init-ceph.in
--- ceph-0.46/src/init-ceph.in.orig 2012-04-24 16:06:39.000000000 -0400
+++ ceph-0.46/src/init-ceph.in 2012-05-09 16:41:36.500004052 -0400
@@ -1,11 +1,11 @@
#!/bin/sh
# Start/stop ceph daemons
-# chkconfig: 2345 60 80
+# chkconfig: - 60 80
### BEGIN INIT INFO
# Provides: ceph
-# Default-Start: 2 3 4 5
-# Default-Stop: 0 1 6
+# Default-Start:
+# Default-Stop:
# Required-Start: $remote_fs $named $network $time
# Required-Stop: $remote_fs $named $network $time
# Short-Description: Start Ceph distributed file system daemons at boot time

View File

@ -1 +1,2 @@
00d910ac57529be846e31a04bc4ab84e ceph-0.87.1.tar.bz2 00d910ac57529be846e31a04bc4ab84e ceph-0.87.1.tar.bz2
e4a625aa2c91fe5d3f0c62faa4716ca2 ceph-0.94.1.tar.bz2