Compare commits

..

8 Commits

Author SHA1 Message Date
Boris Ranto bfa0c90c28 Rebase to 0.80.9 2015-03-11 17:17:27 +01:00
Boris Ranto 512f758b63 Fix several issues with spec file
- Perform a hardened build
- Use git-formatted patches
- Do not remove conf files on uninstall
- Remove the cleanup post-script function
2015-03-04 19:42:21 +01:00
Boris Ranto 40c0183c51 Rebase to 0.80.8 2015-02-23 19:21:51 +01:00
Boris Ranto edc2f5729d Rebase to latest upstream version 2014-11-11 13:11:09 +01:00
Boris Ranto b8c05a8d14 Rebase and split ceph-devel, python-ceph packages. provide empty file list for python-ceph-compat and ceph-devel-compat, fix the librados-devel vs librados2-devel problem 2014-11-11 13:11:09 +01:00
Dan Horák fee6eea17b - update Requires for s390(x) 2014-09-09 10:15:31 +02:00
Boris Ranto fec89844e3 Fix bz 1136811 (incorrect symlink on fedora) 2014-09-03 15:31:05 +02:00
Boris Ranto b24854c0a7 Second attempt to fix selinux issue (bz 1118504) 2014-08-22 02:03:45 +02:00
10 changed files with 173 additions and 389 deletions
@@ -1,29 +0,0 @@
From 8ac49f54ad774324c1de344cd18620df7fa52256 Mon Sep 17 00:00:00 2001
From: Boris Ranto <branto@redhat.com>
Date: Wed, 15 Apr 2015 14:06:24 +0200
Subject: [PATCH] Disable erasure_codelib neon build
---
src/erasure-code/jerasure/Makefile.am | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/erasure-code/jerasure/Makefile.am b/src/erasure-code/jerasure/Makefile.am
index 9ca4fbb..147d57e 100644
--- a/src/erasure-code/jerasure/Makefile.am
+++ b/src/erasure-code/jerasure/Makefile.am
@@ -75,9 +75,9 @@ if LINUX
libec_jerasure_neon_la_LDFLAGS += -export-symbols-regex '.*__erasure_code_.*'
endif
-if HAVE_NEON
-erasure_codelib_LTLIBRARIES += libec_jerasure_neon.la
-endif
+#if HAVE_NEON
+#erasure_codelib_LTLIBRARIES += libec_jerasure_neon.la
+#endif
libec_jerasure_sse3_la_SOURCES = ${jerasure_sources}
libec_jerasure_sse3_la_CFLAGS = ${AM_CFLAGS} \
--
2.5.5
@@ -0,0 +1,27 @@
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
@@ -0,0 +1,25 @@
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,37 +0,0 @@
From 726127dbd6d51c97495e73c3216c27dd38a31ed3 Mon Sep 17 00:00:00 2001
From: Anthony Alba <ascanio.alba7@gmail.com>
Date: Mon, 30 Nov 2015 16:44:31 +0800
Subject: [PATCH] init-ceph.in: Allow custom cluster names during startup.
Signed-off-by: Richard Chan <richard@treeboxsolutions.com>
---
src/init-ceph.in | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/init-ceph.in b/src/init-ceph.in
index e4cea7e..1f19ffa 100644
--- a/src/init-ceph.in
+++ b/src/init-ceph.in
@@ -288,7 +288,7 @@ for name in $what; do
lockfile=""
fi
- get_conf asok "$run_dir/ceph-$type.$id.asok" "admin socket"
+ get_conf asok "$run_dir/$cluster-$type.$id.asok" "admin socket"
case "$command" in
start)
@@ -404,8 +404,8 @@ for name in $what; do
# these keys. it's also true for legacy installs
# via mkcephfs, which is fine too; there is no harm
# in creating these keys.
- get_conf mon_data "/var/lib/ceph/mon/ceph-$id" "mon data"
- if [ "$mon_data" = "/var/lib/ceph/mon/ceph-$id" -a "$asok" = "/var/run/ceph/ceph-mon.$id.asok" ]; then
+ get_conf mon_data "/var/lib/ceph/mon/$cluster-$id" "mon data"
+ if [ "$mon_data" = "/var/lib/ceph/mon/$cluster-$id" -a "$asok" = "/var/run/ceph/$cluster-mon.$id.asok" ]; then
echo Starting ceph-create-keys on $host...
cmd2="$SBINDIR/ceph-create-keys --cluster $cluster -i $id 2> /dev/null &"
do_cmd "$cmd2"
--
2.5.5
@@ -1,26 +0,0 @@
From ebff005e9998122c9e89052fbca06f4962180240 Mon Sep 17 00:00:00 2001
From: Boris Ranto <branto@redhat.com>
Date: Mon, 16 May 2016 15:47:20 +0200
Subject: [PATCH] Apply 'ceph-0.94.1-tcmalloc.patch'
Signed-off-by: Boris Ranto <branto@redhat.com>
---
src/rocksdb/configure.ac | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/rocksdb/configure.ac b/src/rocksdb/configure.ac
index 855c6a8..fe914aa 100644
--- a/src/rocksdb/configure.ac
+++ b/src/rocksdb/configure.ac
@@ -19,7 +19,7 @@ AC_CHECK_LIB([snappy], [snappy_compress], [HAVE_LIBSNAPPY=yes], [AC_MSG_FAILURE(
AC_CHECK_LIB([z], [gzread], [HAVE_LIBZ=yes], [AC_MSG_FAILURE([libz not found])])
AC_CHECK_LIB([bz2], [BZ2_bzCompressInit], [HAVE_LIBBZ2=yes], [AC_MSG_FAILURE([libbz2 not found])])
AC_CHECK_LIB([rt], [clock_gettime], [HAVE_LIBRT=yes], [AC_MSG_FAILURE([librt not found])])
-AC_CHECK_LIB([tcmalloc], [malloc], [HAVE_LIBTCMALLOC=yes],[AC_MSG_FAILURE([no tcmalloc found ])])
+AC_CHECK_LIB([tcmalloc], [malloc], [HAVE_LIBTCMALLOC=yes],[AC_MSG_RESULT([no tcmalloc found ])])
OLD_CXXFLAGS="$CXXFLAGS"
CXXFLAGS="$CXXFLAGS -std=c++11"
--
2.5.5
@@ -0,0 +1,27 @@
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
@@ -1,32 +0,0 @@
From ecc0e801e378310dbb0e60ae7eb1f19179bd3e9e Mon Sep 17 00:00:00 2001
From: Boris Ranto <branto@redhat.com>
Date: Mon, 16 May 2016 15:48:23 +0200
Subject: [PATCH] Apply 'init-ceph.in-fedora.patch'
Signed-off-by: Boris Ranto <branto@redhat.com>
---
src/init-ceph.in | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/init-ceph.in b/src/init-ceph.in
index 1f19ffa..78eaf97 100644
--- a/src/init-ceph.in
+++ b/src/init-ceph.in
@@ -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
--
2.5.5
-36
View File
@@ -1,36 +0,0 @@
From d02ac8fd60e692da2257a1d963279091ef47e312 Mon Sep 17 00:00:00 2001
From: Boris Ranto <branto@redhat.com>
Date: Mon, 16 May 2016 20:53:28 +0200
Subject: [PATCH] Workaround xfs.h check
The check for <xfs/xfs.h> in fedora 23 is broken. See e.g.:
http://www.spinics.net/lists/ceph-devel/msg29467.html
This should not be too critical and the package should build just fine
anyway. Commenting out the bits that check for xfs.h should help us,
here.
Signed-off-by: Boris Ranto <branto@redhat.com>
---
configure.ac | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/configure.ac b/configure.ac
index d1f98aa..e068fdb 100644
--- a/configure.ac
+++ b/configure.ac
@@ -814,8 +814,8 @@ AC_ARG_WITH([libxfs],
[with_libxfs=yes])
AS_IF([test "x$with_libxfs" != "xno"], [
# xfs/xfs.h presence and XFS_XFLAG_EXTSIZE define
- AC_CHECK_HEADER([xfs/xfs.h], [], AC_MSG_ERROR(
- [xfs/xfs.h not found (--without-libxfs to disable)]))
+ #AC_CHECK_HEADER([xfs/xfs.h], [], AC_MSG_ERROR(
+ # [xfs/xfs.h not found (--without-libxfs to disable)]))
AC_MSG_CHECKING([for XFS_XFLAG_EXTSIZE in xfs/xfs.h])
AC_EGREP_CPP([yes_have_xfs_xflag_extsize], [
#include <xfs/xfs.h>
--
2.5.5
+93 -226
View File
@@ -11,23 +11,17 @@
# common
#################################################################################
Name: ceph
Version: 0.94.7
Release: 2%{?dist}
Version: 0.80.9
Release: 1%{?dist}
Epoch: 1
Summary: User space components of the Ceph file system
License: GPLv2
Group: System Environment/Base
URL: http://ceph.com/
Source0: http://ceph.com/download/%{name}-%{version}.tar.gz
Patch1: 0001-Disable-erasure_codelib-neon-build.patch
Patch2: 0002-init-ceph.in-Allow-custom-cluster-names-during-start.patch
Patch3: 0003-Apply-ceph-0.94.1-tcmalloc.patch.patch
Patch4: 0004-Apply-init-ceph.in-fedora.patch.patch
Patch5: 0005-Workaround-xfs.h-check.patch
%if 0%{?fedora} || 0%{?centos} || 0%{?rhel}
%endif
# fix build without tcmalloc
# https://github.com/ceph/rocksdb/pull/5
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
Requires: librbd1 = %{epoch}:%{version}-%{release}
Requires: librados2 = %{epoch}:%{version}-%{release}
Requires: libcephfs1 = %{epoch}:%{version}-%{release}
@@ -38,41 +32,42 @@ Requires: python-cephfs = %{epoch}:%{version}-%{release}
Requires: python
Requires: python-argparse
Requires: python-requests
# For ceph-rest-api
Requires: python-flask
%if ! ( 0%{?rhel} && 0%{?rhel} <= 6 )
Requires: xfsprogs
%endif
Requires: cryptsetup
Requires: parted
Requires: util-linux
%ifnarch s390 s390x
Requires: hdparm
Requires: cryptsetup
%endif
# For initscript
Requires: redhat-lsb-core
Requires(post): binutils
BuildRequires: make
BuildRequires: gcc-c++
BuildRequires: libtool
BuildRequires: boost-devel
BuildRequires: bzip2-devel
BuildRequires: cryptsetup
BuildRequires: bzip2-devel
BuildRequires: libedit-devel
BuildRequires: perl
BuildRequires: gdbm
BuildRequires: hdparm
BuildRequires: pkgconfig
BuildRequires: python
BuildRequires: python-nose
BuildRequires: python-argparse
BuildRequires: libaio-devel
BuildRequires: libcurl-devel
BuildRequires: libedit-devel
BuildRequires: libxml2-devel
BuildRequires: libuuid-devel
BuildRequires: libblkid-devel >= 2.17
BuildRequires: libudev-devel
BuildRequires: libtool
BuildRequires: leveldb-devel > 1.2
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
%if ! ( 0%{?rhel} && 0%{?rhel} <= 6 )
BuildRequires: xfsprogs-devel
BuildRequires: xmlstarlet
%endif
BuildRequires: yasm
%if 0%{?rhel} || 0%{?centos} || 0%{?fedora}
BuildRequires: snappy-devel
@@ -81,7 +76,7 @@ BuildRequires: snappy-devel
#################################################################################
# specific
#################################################################################
%if ! 0%{?rhel} || 0%{?fedora}
%if ! 0%{?rhel}
BuildRequires: sharutils
%endif
@@ -108,7 +103,7 @@ Requires: gdisk
Requires(post): chkconfig
Requires(preun):chkconfig
Requires(preun):initscripts
%ifnarch s390 s390x
%ifnarch ppc ppc64 s390 s390x
BuildRequires: gperftools-devel
%endif
%endif
@@ -133,7 +128,7 @@ Requires: python-cephfs = %{epoch}:%{version}-%{release}
Requires: python-requests
Requires: redhat-lsb-core
%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
Summary: Ceph fuse-based client
@@ -167,8 +162,8 @@ BuildRequires: expat-devel
BuildRequires: fcgi-devel
%endif
%description radosgw
This package is an S3 HTTP REST gateway for the RADOS object store. It
is implemented as a FastCGI module using libfcgi, and can be used in
radosgw is an S3 HTTP REST gateway for the RADOS object store. It is
implemented as a FastCGI module using libfcgi, and can be used in
conjunction with any FastCGI capable web server.
%if %{with ocf}
@@ -189,7 +184,7 @@ Summary: RADOS distributed object store client library
Group: System Environment/Libraries
License: LGPL-2.0
%if 0%{?rhel} || 0%{?centos} || 0%{?fedora}
Obsoletes: ceph-libs < %{epoch}:%{version}-%{release}
Obsoletes: ceph-libs < 1:0.80.5
%endif
%description -n librados2
RADOS is a reliable, autonomic distributed object storage cluster
@@ -202,7 +197,7 @@ Summary: RADOS headers
Group: Development/Libraries
License: LGPL-2.0
Requires: librados2 = %{epoch}:%{version}-%{release}
Obsoletes: ceph-devel < %{epoch}:%{version}-%{release}
Obsoletes: ceph-devel
%description -n librados2-devel
This package contains libraries and headers needed to develop programs
that use RADOS object store.
@@ -212,42 +207,18 @@ Summary: Python libraries for the RADOS object store
Group: System Environment/Libraries
License: LGPL-2.0
Requires: librados2 = %{epoch}:%{version}-%{release}
Obsoletes: python-ceph < %{epoch}:%{version}-%{release}
%if 0%{defined suse_version}
%py_requires
%endif
Obsoletes: python-ceph
%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}
Obsoletes: ceph-devel < %{epoch}:%{version}-%{release}
%description -n libradosstriper1-devel
This package contains libraries and headers needed to develop programs
that use RADOS striping interface.
%package -n librbd1
Summary: RADOS block device client library
Group: System Environment/Libraries
License: LGPL-2.0
Requires: librados2 = %{epoch}:%{version}-%{release}
%if 0%{?rhel} || 0%{?centos} || 0%{?fedora}
Obsoletes: ceph-libs < %{epoch}:%{version}-%{release}
Obsoletes: ceph-libs < 1:0.80.5
%endif
%description -n librbd1
RBD is a block device striped across multiple distributed objects in
@@ -261,7 +232,7 @@ Group: Development/Libraries
License: LGPL-2.0
Requires: librbd1 = %{epoch}:%{version}-%{release}
Requires: librados2-devel = %{epoch}:%{version}-%{release}
Obsoletes: ceph-devel < %{epoch}:%{version}-%{release}
Obsoletes: ceph-devel
%description -n librbd1-devel
This package contains libraries and headers needed to develop programs
that use RADOS block device.
@@ -272,7 +243,7 @@ Group: System Environment/Libraries
License: LGPL-2.0
Requires: librbd1 = %{epoch}:%{version}-%{release}
Requires: python-rados = %{epoch}:%{version}-%{release}
Obsoletes: python-ceph < %{epoch}:%{version}-%{release}
Obsoletes: python-ceph
%description -n python-rbd
This package contains Python libraries for interacting with Cephs RADOS
block device.
@@ -282,8 +253,8 @@ Summary: Ceph distributed file system client library
Group: System Environment/Libraries
License: LGPL-2.0
%if 0%{?rhel} || 0%{?centos} || 0%{?fedora}
Obsoletes: ceph-libs < %{epoch}:%{version}-%{release}
Obsoletes: ceph-libcephfs < %{epoch}:%{version}-%{release}
Obsoletes: ceph-libs < 1:0.80.5
Obsoletes: ceph-libcephfs < 1:0.80.5
%endif
%description -n libcephfs1
Ceph is a distributed network file system designed to provide excellent
@@ -297,7 +268,7 @@ Group: Development/Libraries
License: LGPL-2.0
Requires: libcephfs1 = %{epoch}:%{version}-%{release}
Requires: librados2-devel = %{epoch}:%{version}-%{release}
Obsoletes: ceph-devel < %{epoch}:%{version}-%{release}
Obsoletes: ceph-devel
%description -n libcephfs1-devel
This package contains libraries and headers needed to develop programs
that use Cephs distributed file system.
@@ -308,7 +279,7 @@ Group: System Environment/Libraries
License: LGPL-2.0
Requires: libcephfs1 = %{epoch}:%{version}-%{release}
Requires: python-rados = %{epoch}:%{version}-%{release}
Obsoletes: python-ceph < %{epoch}:%{version}-%{release}
Obsoletes: python-ceph
%description -n python-cephfs
This package contains Python libraries for interacting with Cephs distributed
file system.
@@ -325,7 +296,9 @@ RESTful bencher that can be used to benchmark radosgw performance.
Summary: Ceph benchmarks and test tools
Group: System Environment/Libraries
License: LGPL-2.0
Requires: ceph-common = %{epoch}:%{version}-%{release}
Requires: librados2 = %{epoch}:%{version}-%{release}
Requires: librbd1 = %{epoch}:%{version}-%{release}
Requires: libcephfs1 = %{epoch}:%{version}-%{release}
%description -n ceph-test
This package contains Ceph benchmarks and test tools.
@@ -346,7 +319,6 @@ Group: System Environment/Libraries
License: LGPL-2.0
Requires: java
Requires: libcephfs_jni1 = %{epoch}:%{version}-%{release}
Obsoletes: ceph-devel < %{epoch}:%{version}-%{release}
%description -n libcephfs_jni1-devel
This package contains the development files for CephFS Java Native Interface
library.
@@ -358,13 +330,6 @@ License: LGPL-2.0
Requires: java
Requires: libcephfs_jni1 = %{epoch}:%{version}-%{release}
BuildRequires: java-devel
%if 0%{?el6}
Requires: junit4
BuildRequires: junit4
%else
Requires: junit
BuildRequires: junit
%endif
%description -n cephfs-java
This package contains the Java libraries for the Ceph File System.
@@ -377,7 +342,6 @@ Requires: librados2 = %{epoch}:%{version}-%{release}
Requires: librbd1 = %{epoch}:%{version}-%{release}
Requires: libcephfs1 = %{epoch}:%{version}-%{release}
Provides: ceph-libs
%description libs-compat
This is a meta package, that pulls in librados2, librbd1 and libcephfs1. It
is included for backwards compatibility with distributions that depend on the
@@ -392,7 +356,6 @@ License: LGPL-2.0
Obsoletes: ceph-devel
Requires: %{name} = %{epoch}:%{version}-%{release}
Requires: librados2-devel = %{epoch}:%{version}-%{release}
Requires: libradosstriper1-devel = %{epoch}:%{version}-%{release}
Requires: librbd1-devel = %{epoch}:%{version}-%{release}
Requires: libcephfs1-devel = %{epoch}:%{version}-%{release}
Requires: libcephfs_jni1-devel = %{epoch}:%{version}-%{release}
@@ -400,8 +363,8 @@ Provides: ceph-devel
%description devel-compat
This is a compatibility package to accommodate ceph-devel split into
librados2-devel, librbd1-devel and libcephfs1-devel. Packages still depending
on ceph-devel should be fixed to depend on librados2-devel, librbd1-devel,
libcephfs1-devel or libradosstriper1-devel instead.
on ceph-devel should be fixed to depend on librados2-devel, librbd1-devel
or libcephfs1-devel instead.
%package -n python-ceph-compat
Summary: Compatibility package for Cephs python libraries
@@ -430,10 +393,6 @@ python-cephfs instead.
%patch1 -p1
%patch2 -p1
%patch3 -p1
%patch4 -p1
%patch5 -p1
%if 0%{?fedora} || 0%{?rhel} || 0%{?centos}
%endif
%build
# Find jni.h
@@ -442,12 +401,26 @@ for i in /usr/{lib64,lib}/jvm/java/include{,/linux}; do
done
./autogen.sh
%if ( 0%{?rhel} && 0%{?rhel} <= 6)
MY_CONF_OPT="--without-libxfs"
%else
MY_CONF_OPT=""
%endif
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/'`
%ifarch armv5tel
# libatomic_ops does not have correct asm for ARMv5tel
EXTRA_CFLAGS="-DAO_USE_PTHREAD_DEFS"
%endif
%ifarch %{arm}
# libatomic_ops seems to fallback on some pthread implementation on ARM
EXTRA_LDFLAGS="-lpthread"
@@ -463,10 +436,6 @@ EXTRA_LDFLAGS="-lpthread"
--with-rest-bench \
--with-debug \
--enable-cephfs-java \
--with-librocksdb-static=check \
%ifarch s390 s390x
--without-tcmalloc \
%endif
$MY_CONF_OPT \
%{?_with_ocf} \
CFLAGS="$RPM_OPT_FLAGS $EXTRA_CFLAGS" \
@@ -488,11 +457,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 shipped
rm -f $RPM_BUILD_ROOT/%{_mandir}/man8/rbd-replay-prep.8*
# Install init scripts and other files
install -D src/init-ceph $RPM_BUILD_ROOT%{_initrddir}/ceph
install -D src/init-radosgw $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/rbdmap $RPM_BUILD_ROOT%{_sysconfdir}/ceph/rbdmap
mkdir -p $RPM_BUILD_ROOT%{_sbindir}
@@ -520,6 +486,7 @@ install -m 0644 -D udev/95-ceph-osd.rules $RPM_BUILD_ROOT/lib/udev/rules.d/95-ce
%if 0%{?rhel} >= 7 || 0%{?fedora}
mv $RPM_BUILD_ROOT/lib/udev/rules.d/95-ceph-osd.rules $RPM_BUILD_ROOT/usr/lib/udev/rules.d/95-ceph-osd.rules
mv $RPM_BUILD_ROOT/sbin/mkcephfs $RPM_BUILD_ROOT/usr/sbin/mkcephfs
mv $RPM_BUILD_ROOT/sbin/mount.ceph $RPM_BUILD_ROOT/usr/sbin/mount.ceph
mv $RPM_BUILD_ROOT/sbin/mount.fuse.ceph $RPM_BUILD_ROOT/usr/sbin/mount.fuse.ceph
%endif
@@ -586,12 +553,12 @@ fi
%{_bindir}/ceph-mon
%{_bindir}/ceph-mds
%{_bindir}/ceph-osd
%{_bindir}/ceph-rbdnamer
%{_bindir}/librados-config
%{_bindir}/ceph-client-debug
%{_bindir}/cephfs-journal-tool
%{_bindir}/cephfs-table-tool
%{_bindir}/ceph-debugpack
%{_bindir}/ceph-coverage
%{_bindir}/ceph_mon_store_converter
%{_initrddir}/ceph
%{_sbindir}/ceph-disk
%{_sbindir}/ceph-disk-activate
@@ -600,13 +567,14 @@ fi
%{_sbindir}/ceph-create-keys
%{_sbindir}/rcceph
%if 0%{?rhel} >= 7 || 0%{?fedora}
%{_sbindir}/mkcephfs
%{_sbindir}/mount.ceph
%else
/sbin/mkcephfs
/sbin/mount.ceph
%endif
%dir %{_libdir}/ceph
%{_libdir}/ceph/ceph_common.sh
%{_libexecdir}/ceph/ceph-osd-prestart.sh
%dir %{_libdir}/rados-classes
%{_libdir}/rados-classes/libcls_rbd.so*
%{_libdir}/rados-classes/libcls_hello.so*
@@ -620,7 +588,13 @@ fi
%{_libdir}/rados-classes/libcls_user.so*
%{_libdir}/rados-classes/libcls_version.so*
%dir %{_libdir}/ceph/erasure-code
%{_libdir}/ceph/erasure-code/libec_*.so*
%{_libdir}/ceph/erasure-code/libec_example.so*
%{_libdir}/ceph/erasure-code/libec_fail_to_initialize.so*
%{_libdir}/ceph/erasure-code/libec_fail_to_register.so*
%{_libdir}/ceph/erasure-code/libec_hangs.so*
%{_libdir}/ceph/erasure-code/libec_jerasure*.so*
%{_libdir}/ceph/erasure-code/libec_test_jerasure*.so*
%{_libdir}/ceph/erasure-code/libec_missing_entry_point.so*
%if 0%{?rhel} >= 7 || 0%{?fedora}
/usr/lib/udev/rules.d/60-ceph-partuuid-workaround.rules
/usr/lib/udev/rules.d/95-ceph-osd.rules
@@ -630,12 +604,11 @@ fi
%endif
%config %{_sysconfdir}/bash_completion.d/ceph
%config(noreplace) %{_sysconfdir}/logrotate.d/ceph
%{_mandir}/man8/ceph-deploy.8*
%{_mandir}/man8/ceph-disk.8*
%{_mandir}/man8/ceph-create-keys.8*
%config(noreplace) %{_sysconfdir}/logrotate.d/radosgw
%{_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*
@@ -643,9 +616,10 @@ fi
%{_mandir}/man8/monmaptool.8*
%{_mandir}/man8/cephfs.8*
%{_mandir}/man8/mount.ceph.8*
%{_mandir}/man8/ceph-rbdnamer.8*
%{_mandir}/man8/ceph-debugpack.8*
%{_mandir}/man8/ceph-clsinfo.8*
%{_mandir}/man8/librados-config.8*
%{_mandir}/man8/ceph-clsinfo.8.gz
%{_mandir}/man8/librados-config.8.gz
#set up placeholder directories
%dir %{_localstatedir}/lib/ceph/
%dir %{_localstatedir}/lib/ceph/tmp
@@ -663,7 +637,6 @@ fi
%{_bindir}/ceph-authtool
%{_bindir}/ceph-conf
%{_bindir}/ceph-dencoder
%{_bindir}/ceph-rbdnamer
%{_bindir}/ceph-syn
%{_bindir}/ceph-crush-location
%{_bindir}/rados
@@ -673,7 +646,6 @@ fi
%{_mandir}/man8/ceph-authtool.8*
%{_mandir}/man8/ceph-conf.8*
%{_mandir}/man8/ceph-dencoder.8*
%{_mandir}/man8/ceph-rbdnamer.8*
%{_mandir}/man8/ceph-syn.8*
%{_mandir}/man8/ceph-post-file.8*
%{_mandir}/man8/ceph.8*
@@ -689,11 +661,6 @@ fi
%config(noreplace) %{_sysconfdir}/ceph/rbdmap
%{_initrddir}/rbdmap
%{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
# Package removal cleanup
@@ -727,7 +694,6 @@ fi
%{_mandir}/man8/radosgw.8*
%{_mandir}/man8/radosgw-admin.8*
%{_sbindir}/rcceph-radosgw
%config(noreplace) %{_sysconfdir}/logrotate.d/radosgw
%config %{_sysconfdir}/bash_completion.d/radosgw-admin
%dir %{_localstatedir}/log/radosgw/
@@ -794,29 +760,15 @@ 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,-)
%{_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
/sbin/ldconfig
@@ -877,6 +829,7 @@ ln -sf %{_libdir}/librbd.so.1 /usr/lib64/qemu/librbd.so.1
%files -n ceph-test
%defattr(-,root,root,-)
%{_bindir}/ceph_bench_log
%{_bindir}/ceph_dupstore
%{_bindir}/ceph_kvstorebench
%{_bindir}/ceph_multi_stress_watch
%{_bindir}/ceph_erasure_code
@@ -892,7 +845,8 @@ 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_filestore_dump
%{_bindir}/ceph_filestore_tool
%{_bindir}/ceph_streamtest
%{_bindir}/ceph_test_*
%{_bindir}/ceph_tpbench
@@ -900,125 +854,39 @@ 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*
%{_mandir}/man8/rbd-replay-many.8*
%{_bindir}/rbd-replay
%{_bindir}/rbd-replay-many
%{_bindir}/ceph_perf_objectstore
#################################################################################
%files -n libcephfs_jni1
%defattr(-,root,root,-)
%{_libdir}/libcephfs_jni.so.*
#################################################################################
%files -n libcephfs_jni1-devel
%defattr(-,root,root,-)
%{_libdir}/libcephfs_jni.so
#################################################################################
%files -n cephfs-java
%defattr(-,root,root,-)
%{_javadir}/libcephfs.jar
#################################################################################
# We need to create these three for compatibility reasons
%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
# We need an empty %%files list for ceph-devel-compat, to tell rpmbuild to
# actually build this meta package.
#################################################################################
%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
* Mon May 16 2016 Boris Ranto <branto@redhat.com> - 1:0.94.7-2
- New release (1:0.94.7-2)
- Workaround xfs.h check
* Wed Mar 11 2015 Boris Ranto <branto@redhat.com> - 1:0.80.9-1
- Rebase to 0.80.9, .8 contained a regression
* Mon May 16 2016 Boris Ranto <branto@redhat.com> - 1:0.94.7-1
- New version (1:0.94.7-1)
- Disable erasure_codelib neon build
- init-ceph.in: Allow custom cluster names during startup.
- Apply 'ceph-0.94.1-tcmalloc.patch'
- Apply 'init-ceph.in-fedora.patch'
* Tue Feb 23 2016 Boris Ranto <branto@redhat.com> - 0.94.6-1
- Rebase to version 0.94.6
* Wed Dec 09 2015 Boris Ranto <branto@redhat.com> - 1:0.94.5-2
- Allow setting custom cluster names in init script (#1269436)
* Tue Oct 27 2015 Boris Ranto <branto@redhat.com> - 1:0.94.5-1
- Rebase to latest upstream version
* Tue Oct 20 2015 Boris Ranto <branto@redhat.com> - 1:0.94.4-1
- Rebase to latest upstream version
- The rtdsc patch got merged upstream and is already present in the release
* Thu Aug 27 2015 Jonathan Wakely <jwakely@redhat.com> - 1:0.94.3-2
- Rebuilt for Boost 1.59
* Thu Aug 27 2015 Boris Ranto <branto@redhat.com> - 1:0.94.3-1
- Rebase to latest upstream version
- The boost patch got merged upstream and is already present in the release
* Fri Jul 31 2015 Richard W.M. Jones <rjones@redhat.com> - 1:0.94.2-4
- Fix build against boost 1.58 (http://tracker.ceph.com/issues/11576).
* Wed Jul 29 2015 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1:0.94.2-3
- Rebuilt for https://fedoraproject.org/wiki/Changes/F23Boost159
* Thu Jul 23 2015 David Tardon <dtardon@redhat.com> - 1:0.94.2-2
- rebuild for Boost 1.58
* Thu Jul 16 2015 Boris Ranto <branto@redhat.com> - 1:0.94.2-1
- Rebase to latest upstream version
* Wed Jun 17 2015 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1:0.94.1-5
- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild
* Mon Jun 08 2015 Dan Horák <dan[at]danny.cz> - 1:0.94.1-4
- fix build on s390(x) - no gperftools there
* Thu May 21 2015 Boris Ranto <branto@redhat.com> - 1:0.94.1-3
- Disable lttng support (rhbz#1223319)
* Mon May 18 2015 Boris Ranto <branto@redhat.com> - 1:0.94.1-2
- Fix arm linking issue (rhbz#1222286)
* 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
- Add arm compilation patches
* Wed Apr 01 2015 Ken Dreyer <ktdreyer@ktdreyer.com> - 1:0.87.1-3
- add version numbers to Obsoletes (RHBZ #1193182)
* Wed Mar 4 2015 Boris Ranto <branto@redhat.com> - 1:0.87.1-2
* Wed Mar 4 2015 Boris Ranto <branto@redhat.com> - 1:0.80.8-2
- Perform a hardened build
- Use git-formatted patches
- Add patch for pthreads rwlock unlock problem
- Do not remove conf files on uninstall
- Remove the cleanup function, it is only necessary for f20 and f21
- Remove the cleanup post-script function
* Wed Feb 25 2015 Boris Ranto <branto@redhat.com> - 1:0.87.1-1
- Rebase to latest upstream
- Remove boost patch, it is in upstream tarball
- Build with yasm, tarball contains fix for the SELinux issue
* Thu Jan 29 2015 Petr Machata <pmachata@redhat.com> - 1:0.87-2
- Rebuild for boost 1.57.0
- Include <boost/optional/optional_io.hpp> instead of
<boost/optional.hpp>. Keep the old dumping behavior in
osd/ECBackend.cc (ceph-0.87-boost157.patch)
* Mon Nov 3 2014 Boris Ranto <branto@redhat.com> - 1:0.87-1
- Rebase to latest major version (firefly -> giant)
* 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
* Thu Oct 16 2014 Boris Ranto <branto@redhat.com - 1:0.80.7-1
- Rebase to latest upstream version
@@ -1042,7 +910,6 @@ ln -sf %{_libdir}/librbd.so.1 /usr/lib64/qemu/librbd.so.1
* Thu Aug 21 2014 Boris Ranto <branto@redhat.com> - 1:0.80.5-8
- Revert the previous change
- Fix bz 1118504, second attempt (yasm appears to be the package that caused this
- Fix bogus dates
* Wed Aug 20 2014 Boris Ranto <branto@redhat.com> - 1:0.80.5-7
- Several more merges from file to try to fix the selinux issue (1118504)
+1 -3
View File
@@ -1,3 +1 @@
e7c35581f8d36d34f7cde16a862e54fb ceph-0.94.5.tar.bz2
566cdeae80ee639dcb265ac284a59b48 ceph-0.94.6.tar.gz
a8fd1046805551e301cb835f418ade72 ceph-0.94.7.tar.gz
cdb6309db1e923ab291bee908cd33f16 ceph-0.80.9.tar.bz2