Rebase to latest upstream (0.94.1) and sync-up spec file
This commit is contained in:
parent
a6871cb0d5
commit
2a379f1396
@ -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
|
|
||||||
|
|
@ -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
158
ceph.spec
@ -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
18
init-ceph.in-fedora.patch
Normal 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
|
Loading…
Reference in New Issue
Block a user