Compare commits

...

22 Commits
master ... f22

Author SHA1 Message Date
Boris Ranto 94b937a7b4 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'
2016-05-16 15:54:25 +02:00
Boris Ranto 109b076cb0 Rebase to version 0.94.6 2016-02-23 20:19:04 +01:00
Boris Ranto 3bd965f1b9 Allow setting custom cluster names in init script
Also, remove unused patch file.

Resolves: rhbz#1269436
2015-12-09 13:50:04 +01:00
Boris Ranto 5d0f0722ed Rebase to latest upstream version (0.94.5) 2015-10-27 16:06:00 +01:00
Boris Ranto c5765fadbd Post-rebase fix-up
The init-radosgw.sysv file was renamed to init-radosgw file in 0.94.4.
2015-10-20 14:50:41 +02:00
Boris Ranto a402d0ab0e Rebase to latest upstream version (0.94.4)
The rtdsc patch got merged upstream and is already present in the release
2015-10-20 14:50:33 +02:00
Jonathan Wakely f07c72f3c4 Rebuilt for Boost 1.59 2015-10-20 14:50:23 +02:00
Boris Ranto b08d960589 Fix file list after rebase
Resolves: rhbz#1257374
2015-08-28 09:44:37 +02:00
Boris Ranto db6fdb3f16 Rebase to latest upstream version (0.94.3)
Resolves: rhbz#1257374
2015-08-27 14:29:43 +02:00
Richard W.M. Jones 99c1224b45 Fix build against boost 1.58 (http://tracker.ceph.com/issues/11576). 2015-08-27 14:29:37 +02:00
Dennis Gilmore b16dca6d95 - Rebuilt for https://fedoraproject.org/wiki/Changes/F23Boost159 2015-08-27 14:29:28 +02:00
David Tardon b8472782c8 rebuild for Boost 1.58 2015-08-27 14:29:12 +02:00
Boris Ranto 62e994c2c7 Rebase to latest upstream version (0.94.2)
Resolves: rhbz#1229924
2015-07-16 14:22:44 +02:00
Dennis Gilmore 155d784b79 - Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild 2015-07-16 14:22:36 +02:00
Dan Horák b19b3aa9da - fix build on s390(x) - no gperftools there 2015-06-08 17:43:38 +02:00
Boris Ranto b12af0ad46 Disable lttng support
Resolves: rhbz#1223319
2015-05-21 11:05:07 +02:00
Boris Ranto af0a1d434b Fix arm linking issue
Resolves: rhbz#1222286
2015-05-18 20:35:31 +02:00
Boris Ranto f5efd94d7b Fix arm compilation issues 2015-04-16 13:09:24 +02:00
Boris Ranto b1fc920eb9 Rebase to latest upstream (0.94.1) and sync-up spec file 2015-04-15 11:41:56 +02:00
Ken Dreyer 48fd62dda4 add version numbers to Obsoletes
The ceph-devel and python-ceph packages were split out, but there were
no version numbers added to the Obsoletes during the split.

This means that we obsolete packages that are far newer than us. This
impacts packages coming from upstream's "gitbuilder" system (for
example), as well as any other upstream RPMs until this package split is
done upstream.

Add version numbers to the Obsoletes. I've chosen to use a
version+release number that's lower than what we currently ship in
Fedora (0.87-1), but newer than what we shipped in the last Fedora
update (0.80.6-1).
2015-04-14 17:11:34 +02:00
Boris Ranto 085130783d Fix several issues with spec file
- 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
2015-03-04 16:12:18 +01:00
Boris Ranto aece707d1a Rebase to 0.87.1 2015-03-02 13:22:46 +01:00
8 changed files with 295 additions and 216 deletions

View File

@ -0,0 +1,29 @@
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

View File

@ -0,0 +1,37 @@
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

View File

@ -0,0 +1,26 @@
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

View File

@ -0,0 +1,32 @@
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

View File

@ -1,117 +0,0 @@
diff -urp ceph-0.87/src/include/encoding.h ceph-0.87-pm/src/include/encoding.h
--- ceph-0.87/src/include/encoding.h 2014-10-29 19:09:14.000000000 +0100
+++ ceph-0.87-pm/src/include/encoding.h 2015-01-29 02:47:10.392860344 +0100
@@ -286,7 +286,7 @@ inline void decode(T &o, bufferlist& bl)
#include <deque>
#include <vector>
#include <string>
-#include <boost/optional.hpp>
+#include <boost/optional/optional_io.hpp>
#ifndef _BACKWARD_BACKWARD_WARNING_H
#define _BACKWARD_BACKWARD_WARNING_H // make gcc 4.3 shut up about hash_*
diff -urp ceph-0.87/src/os/DBObjectMap.h ceph-0.87-pm/src/os/DBObjectMap.h
--- ceph-0.87/src/os/DBObjectMap.h 2014-10-29 19:09:14.000000000 +0100
+++ ceph-0.87-pm/src/os/DBObjectMap.h 2015-01-29 02:46:59.915044699 +0100
@@ -17,7 +17,7 @@
#include "common/Mutex.h"
#include "common/Cond.h"
#include "common/simple_cache.hpp"
-#include <boost/optional.hpp>
+#include <boost/optional/optional_io.hpp>
/**
* DBObjectMap: Implements ObjectMap in terms of KeyValueDB
diff -urp ceph-0.87/src/osd/ECBackend.cc ceph-0.87-pm/src/osd/ECBackend.cc
--- ceph-0.87/src/osd/ECBackend.cc 2014-10-29 19:09:19.000000000 +0100
+++ ceph-0.87-pm/src/osd/ECBackend.cc 2015-01-29 02:56:47.662703397 +0100
@@ -13,7 +13,7 @@
*/
#include <boost/variant.hpp>
-#include <boost/optional.hpp>
+#include <boost/optional/optional_io.hpp>
#include <iostream>
#include <sstream>
@@ -81,7 +81,7 @@ ostream &operator<<(ostream &lhs, const
lhs << "read_result_t(r=" << rhs.r
<< ", errors=" << rhs.errors;
if (rhs.attrs) {
- lhs << ", attrs=" << rhs.attrs;
+ lhs << ", attrs=" << (bool)rhs.attrs;
} else {
lhs << ", noattrs";
}
diff -urp ceph-0.87/src/osd/ECBackend.h ceph-0.87-pm/src/osd/ECBackend.h
--- ceph-0.87/src/osd/ECBackend.h 2014-10-29 19:09:14.000000000 +0100
+++ ceph-0.87-pm/src/osd/ECBackend.h 2015-01-29 02:47:01.716013012 +0100
@@ -18,7 +18,7 @@
#include "OSD.h"
#include "PGBackend.h"
#include "osd_types.h"
-#include <boost/optional.hpp>
+#include <boost/optional/optional_io.hpp>
#include "erasure-code/ErasureCodeInterface.h"
#include "ECTransaction.h"
#include "ECMsgTypes.h"
diff -urp ceph-0.87/src/osd/ECTransaction.cc ceph-0.87-pm/src/osd/ECTransaction.cc
--- ceph-0.87/src/osd/ECTransaction.cc 2014-10-29 19:09:19.000000000 +0100
+++ ceph-0.87-pm/src/osd/ECTransaction.cc 2015-01-29 02:47:00.229039175 +0100
@@ -13,7 +13,7 @@
*/
#include <boost/variant.hpp>
-#include <boost/optional.hpp>
+#include <boost/optional/optional_io.hpp>
#include <iostream>
#include <vector>
#include <sstream>
diff -urp ceph-0.87/src/osd/ECTransaction.h ceph-0.87-pm/src/osd/ECTransaction.h
--- ceph-0.87/src/osd/ECTransaction.h 2014-10-29 19:09:14.000000000 +0100
+++ ceph-0.87-pm/src/osd/ECTransaction.h 2015-01-29 02:47:01.383018871 +0100
@@ -19,7 +19,7 @@
#include "PGBackend.h"
#include "osd_types.h"
#include "ECUtil.h"
-#include <boost/optional.hpp>
+#include <boost/optional/optional_io.hpp>
#include "erasure-code/ErasureCodeInterface.h"
class ECTransaction : public PGBackend::PGTransaction {
diff -urp ceph-0.87/src/osd/osd_types.h ceph-0.87-pm/src/osd/osd_types.h
--- ceph-0.87/src/osd/osd_types.h 2014-10-29 19:09:14.000000000 +0100
+++ ceph-0.87-pm/src/osd/osd_types.h 2015-01-29 02:47:01.400018572 +0100
@@ -22,7 +22,7 @@
#include <stdio.h>
#include <memory>
#include <boost/scoped_ptr.hpp>
-#include <boost/optional.hpp>
+#include <boost/optional/optional_io.hpp>
#include "include/rados/rados_types.hpp"
diff -urp ceph-0.87/src/osd/ReplicatedPG.h ceph-0.87-pm/src/osd/ReplicatedPG.h
--- ceph-0.87/src/osd/ReplicatedPG.h 2014-10-29 19:09:14.000000000 +0100
+++ ceph-0.87-pm/src/osd/ReplicatedPG.h 2015-01-29 02:47:05.062954123 +0100
@@ -17,7 +17,7 @@
#ifndef CEPH_REPLICATEDPG_H
#define CEPH_REPLICATEDPG_H
-#include <boost/optional.hpp>
+#include <boost/optional/optional_io.hpp>
#include <boost/tuple/tuple.hpp>
#include "include/assert.h"
diff -urp ceph-0.87/src/common/map_cacher.hpp ceph-0.87-pm/src/common/map_cacher.hpp
--- ceph-0.87/src/common/map_cacher.hpp 2014-10-29 19:09:14.000000000 +0100
+++ ceph-0.87-pm/src/common/map_cacher.hpp 2015-01-29 02:48:12.007776242 +0100
@@ -16,7 +16,7 @@
#define MAPCACHER_H
#include <boost/scoped_ptr.hpp>
-#include <boost/optional.hpp>
+#include <boost/optional/optional_io.hpp>
#include "include/memory.h"
#include <set>
#include <map>

View File

@ -1,13 +0,0 @@
--- 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"

253
ceph.spec
View File

@ -5,21 +5,28 @@
%{!?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.87
Release: 2%{?dist}
Version: 0.94.7
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.bz2
Patch0: ceph-google-gperftools.patch
# Patch1 sent upstream at http://tracker.ceph.com/issues/10688
Patch1: ceph-0.87-boost157.patch
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
%if 0%{?fedora} || 0%{?centos} || 0%{?rhel}
%endif
# fix build without tcmalloc
# https://github.com/ceph/rocksdb/pull/5
Requires: librbd1 = %{epoch}:%{version}-%{release}
Requires: librados2 = %{epoch}:%{version}-%{release}
Requires: libcephfs1 = %{epoch}:%{version}-%{release}
@ -30,44 +37,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
%endif
# For initscript
Requires: redhat-lsb-core
Requires: cryptsetup
Requires(post): binutils
BuildRequires: make
BuildRequires: gcc-c++
BuildRequires: libtool
BuildRequires: boost-devel
BuildRequires: bzip2-devel
BuildRequires: libedit-devel
BuildRequires: perl
BuildRequires: bzip2-devel
BuildRequires: cryptsetup
BuildRequires: gdbm
BuildRequires: pkgconfig
BuildRequires: python
BuildRequires: python-nose
BuildRequires: python-argparse
BuildRequires: hdparm
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
%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
%endif
# No yasm dependency for now, it causes selinux issues
#BuildRequires: yasm
BuildRequires: xmlstarlet
BuildRequires: yasm
%if 0%{?rhel} || 0%{?centos} || 0%{?fedora}
BuildRequires: snappy-devel
%endif
@ -75,7 +80,7 @@ BuildRequires: snappy-devel
#################################################################################
# specific
#################################################################################
%if ! 0%{?rhel}
%if ! 0%{?rhel} || 0%{?fedora}
BuildRequires: sharutils
%endif
@ -102,7 +107,7 @@ Requires: gdisk
Requires(post): chkconfig
Requires(preun):chkconfig
Requires(preun):initscripts
%ifnarch ppc ppc64 s390 s390x
%ifnarch s390 s390x
BuildRequires: gperftools-devel
%endif
%endif
@ -127,7 +132,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
@ -161,8 +166,8 @@ BuildRequires: expat-devel
BuildRequires: fcgi-devel
%endif
%description radosgw
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
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
conjunction with any FastCGI capable web server.
%if %{with ocf}
@ -196,7 +201,7 @@ Summary: RADOS headers
Group: Development/Libraries
License: LGPL-2.0
Requires: librados2 = %{epoch}:%{version}-%{release}
Obsoletes: ceph-devel
Obsoletes: ceph-devel < %{epoch}:%{version}-%{release}
%description -n librados2-devel
This package contains libraries and headers needed to develop programs
that use RADOS object store.
@ -206,7 +211,7 @@ Summary: Python libraries for the RADOS object store
Group: System Environment/Libraries
License: LGPL-2.0
Requires: librados2 = %{epoch}:%{version}-%{release}
Obsoletes: python-ceph
Obsoletes: python-ceph < %{epoch}:%{version}-%{release}
%if 0%{defined suse_version}
%py_requires
%endif
@ -230,6 +235,7 @@ 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.
@ -254,7 +260,7 @@ Group: Development/Libraries
License: LGPL-2.0
Requires: librbd1 = %{epoch}:%{version}-%{release}
Requires: librados2-devel = %{epoch}:%{version}-%{release}
Obsoletes: ceph-devel
Obsoletes: ceph-devel < %{epoch}:%{version}-%{release}
%description -n librbd1-devel
This package contains libraries and headers needed to develop programs
that use RADOS block device.
@ -265,7 +271,7 @@ Group: System Environment/Libraries
License: LGPL-2.0
Requires: librbd1 = %{epoch}:%{version}-%{release}
Requires: python-rados = %{epoch}:%{version}-%{release}
Obsoletes: python-ceph
Obsoletes: python-ceph < %{epoch}:%{version}-%{release}
%description -n python-rbd
This package contains Python libraries for interacting with Cephs RADOS
block device.
@ -290,7 +296,7 @@ Group: Development/Libraries
License: LGPL-2.0
Requires: libcephfs1 = %{epoch}:%{version}-%{release}
Requires: librados2-devel = %{epoch}:%{version}-%{release}
Obsoletes: ceph-devel
Obsoletes: ceph-devel < %{epoch}:%{version}-%{release}
%description -n libcephfs1-devel
This package contains libraries and headers needed to develop programs
that use Cephs distributed file system.
@ -301,7 +307,7 @@ Group: System Environment/Libraries
License: LGPL-2.0
Requires: libcephfs1 = %{epoch}:%{version}-%{release}
Requires: python-rados = %{epoch}:%{version}-%{release}
Obsoletes: python-ceph
Obsoletes: python-ceph < %{epoch}:%{version}-%{release}
%description -n python-cephfs
This package contains Python libraries for interacting with Cephs distributed
file system.
@ -318,9 +324,7 @@ 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: librados2 = %{epoch}:%{version}-%{release}
Requires: librbd1 = %{epoch}:%{version}-%{release}
Requires: libcephfs1 = %{epoch}:%{version}-%{release}
Requires: ceph-common = %{epoch}:%{version}-%{release}
%description -n ceph-test
This package contains Ceph benchmarks and test tools.
@ -341,6 +345,7 @@ 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.
@ -352,6 +357,13 @@ 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.
@ -361,16 +373,16 @@ 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
%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
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, libcephfs1 or libradosstriper1 instead.
librbd1 or libcephfs1 instead.
%package devel-compat
Summary: Compatibility package for Ceph headers
@ -414,8 +426,12 @@ python-cephfs instead.
#################################################################################
%prep
%setup -q
%patch0 -p1
%patch1 -p1
%patch2 -p1
%patch3 -p1
%patch4 -p1
%if 0%{?fedora} || 0%{?rhel} || 0%{?centos}
%endif
%build
# Find jni.h
@ -424,26 +440,12 @@ 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"
@ -459,6 +461,10 @@ 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" \
@ -480,10 +486,11 @@ 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*
# 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.sysv $RPM_BUILD_ROOT%{_initrddir}/ceph-radosgw
install -D src/init-radosgw $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}
@ -577,13 +584,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
@ -622,7 +628,9 @@ fi
%endif
%config %{_sysconfdir}/bash_completion.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-create-keys.8*
%{_mandir}/man8/ceph-mon.8*
%{_mandir}/man8/ceph-mds.8*
%{_mandir}/man8/ceph-osd.8*
@ -633,10 +641,9 @@ 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.gz
%{_mandir}/man8/librados-config.8.gz
%{_mandir}/man8/ceph-clsinfo.8*
%{_mandir}/man8/librados-config.8*
#set up placeholder directories
%dir %{_localstatedir}/lib/ceph/
%dir %{_localstatedir}/lib/ceph/tmp
@ -654,6 +661,7 @@ fi
%{_bindir}/ceph-authtool
%{_bindir}/ceph-conf
%{_bindir}/ceph-dencoder
%{_bindir}/ceph-rbdnamer
%{_bindir}/ceph-syn
%{_bindir}/ceph-crush-location
%{_bindir}/rados
@ -663,6 +671,7 @@ 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*
@ -678,12 +687,16 @@ 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
if [ "$1" -eq "0" ] ; then
rm -rf /var/log/ceph
rm -rf /etc/ceph
fi
#################################################################################
@ -712,6 +725,7 @@ 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/
@ -801,18 +815,9 @@ fi
%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
# 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
@ -870,7 +875,6 @@ 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
@ -886,7 +890,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
@ -895,33 +899,112 @@ ln -sf %{_libdir}/librbd.so.1 /usr/lib64/qemu/librbd.so.1
%{_bindir}/ceph-osdomap-tool
%{_bindir}/ceph-kvstore-tool
%{_mandir}/man8/rbd-replay.8*
%{_mandir}/man8/rbd-replay-many.8*
%{_bindir}/rbd-replay
%if (0%{?fedora} == 20 || 0%{?rhel} == 6)
%{_mandir}/man8/rbd-replay-prep.8*
%{_bindir}/rbd-replay-prep
%endif
%{_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 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
# 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-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
- 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
* 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

View File

@ -1 +1,3 @@
32159ac85d2c45862dab5b3ac901402c ceph-0.87.tar.bz2
e7c35581f8d36d34f7cde16a862e54fb ceph-0.94.5.tar.bz2
566cdeae80ee639dcb265ac284a59b48 ceph-0.94.6.tar.gz
a8fd1046805551e301cb835f418ade72 ceph-0.94.7.tar.gz