[ceph] upstream ceph.spec file
Kaleb S. KEITHLEY
kkeithle at fedoraproject.org
Fri Jul 4 16:45:52 UTC 2014
commit 4be65c200be2bee7e2a2a71959d22cc20f41eaec
Author: Kaleb S. KEITHLEY <kkeithle at redhat.com>
Date: Fri Jul 4 12:45:53 2014 -0400
upstream ceph.spec file
ceph-0.81.0-Makefile.in.patch | 40 +++++++++++++++++++++++
ceph-0.81.0-configure.ac.patch | 14 ++++++++
ceph-0.81.0-test-librbd-fsx.c.patch | 11 ++++++
ceph.spec | 60 +++++++++++++++++++++++++++++------
4 files changed, 115 insertions(+), 10 deletions(-)
---
diff --git a/ceph-0.81.0-Makefile.in.patch b/ceph-0.81.0-Makefile.in.patch
new file mode 100644
index 0000000..f5c7154
--- /dev/null
+++ b/ceph-0.81.0-Makefile.in.patch
@@ -0,0 +1,40 @@
+--- ceph-0.81/src/Makefile.in.orig 2014-07-02 09:07:44.888133273 -0400
++++ ceph-0.81/src/Makefile.in 2014-07-03 13:32:30.213133273 -0400
+@@ -3875,6 +3875,7 @@
+ ${WARN_IGNORED_QUALIFIERS} \
+ -Winit-self \
+ -Wpointer-arith \
++ -Wformat \
+ -Werror=format-security \
+ -fno-strict-aliasing \
+ -fsigned-char
+@@ -4928,7 +4929,7 @@
+ @LINUX_TRUE at ceph_test_librbd_fsx_SOURCES = test/librbd/fsx.c
+ @LINUX_TRUE at nodist_EXTRA_ceph_test_librbd_fsx_SOURCES = dummy.cc # force c++ linking
+ @LINUX_TRUE at ceph_test_librbd_fsx_LDADD = $(LIBKRBD) $(LIBRBD) $(LIBRADOS)
+- at LINUX_TRUE@ceph_test_librbd_fsx_CFLAGS = ${AM_CFLAGS} -Wno-format
++ at LINUX_TRUE@ceph_test_librbd_fsx_CFLAGS = ${AM_CFLAGS}
+ ceph_test_cls_rbd_SOURCES = test/cls_rbd/test_cls_rbd.cc
+ ceph_test_cls_rbd_LDADD = $(LIBRADOS) libcls_rbd_client.la libcls_lock_client.la $(UNITTEST_LDADD) $(RADOS_TEST_LDADD)
+ ceph_test_cls_rbd_CXXFLAGS = $(UNITTEST_CXXFLAGS)
+--- ceph-0.81/src/Makefile-env.am.orig 2014-07-02 09:23:02.126133273 -0400
++++ ceph-0.81/src/Makefile-env.am 2014-07-03 11:50:14.063133273 -0400
+@@ -64,6 +64,7 @@
+ ${WARN_IGNORED_QUALIFIERS} \
+ -Winit-self \
+ -Wpointer-arith \
++ -Wformat \
+ -Werror=format-security \
+ -fno-strict-aliasing \
+ -fsigned-char
+--- ceph-0.81/src/test/Makefile.am.orig 2014-07-04 06:36:22.016099589 -0400
++++ ceph-0.81/src/test/Makefile.am 2014-07-04 06:37:26.156099589 -0400
+@@ -642,7 +642,7 @@
+ ceph_test_librbd_fsx_SOURCES = test/librbd/fsx.c
+ nodist_EXTRA_ceph_test_librbd_fsx_SOURCES = dummy.cc # force c++ linking
+ ceph_test_librbd_fsx_LDADD = $(LIBKRBD) $(LIBRBD) $(LIBRADOS)
+-ceph_test_librbd_fsx_CFLAGS = ${AM_CFLAGS} -Wno-format
++ceph_test_librbd_fsx_CFLAGS = ${AM_CFLAGS}
+ bin_DEBUGPROGRAMS += ceph_test_librbd_fsx
+ endif
+
diff --git a/ceph-0.81.0-configure.ac.patch b/ceph-0.81.0-configure.ac.patch
new file mode 100644
index 0000000..898b7c1
--- /dev/null
+++ b/ceph-0.81.0-configure.ac.patch
@@ -0,0 +1,14 @@
+--- ceph-0.81/configure.ac.orig 2014-07-04 10:00:39.193099589 -0400
++++ ceph-0.81/configure.ac 2014-07-04 10:03:54.739099589 -0400
+@@ -425,9 +425,9 @@
+ # the search path.
+ AS_IF([test "x$with_debug" = "xyes"], [
+ dir='/usr/share/java'
+- junit4_jar=`find $dir -name junit4.jar | head -n 1`
++ junit4_jar=`find $dir -name junit.jar | head -n 1`
+ AS_IF([test -r "$junit4_jar"], [
+- EXTRA_CLASSPATH_JAR=`dirname $junit4_jar`/junit4.jar
++ EXTRA_CLASSPATH_JAR=`dirname $junit4_jar`/junit.jar
+ AC_SUBST(EXTRA_CLASSPATH_JAR)
+ [have_junit4=1]], [
+ AC_MSG_NOTICE([Cannot find junit4.jar (apt-get install junit4)])
diff --git a/ceph-0.81.0-test-librbd-fsx.c.patch b/ceph-0.81.0-test-librbd-fsx.c.patch
new file mode 100644
index 0000000..6cfa1b1
--- /dev/null
+++ b/ceph-0.81.0-test-librbd-fsx.c.patch
@@ -0,0 +1,11 @@
+--- ceph-0.81/src/test/librbd/fsx.c.orig 2014-07-04 07:23:03.485099589 -0400
++++ ceph-0.81/src/test/librbd/fsx.c 2014-07-04 08:11:04.208099589 -0400
+@@ -1360,7 +1360,7 @@
+ int ret, fd;
+ struct rbd_ctx cur_ctx = RBD_CTX_INIT;
+ struct stat file_info;
+- char *good_buf, *temp_buf;
++ char *good_buf, *temp_buf = NULL;
+
+ clone_imagename(imagename, sizeof(imagename), clonenum);
+ if ((ret = ops->open(imagename, &cur_ctx)) < 0) {
diff --git a/ceph.spec b/ceph.spec
index 87a734e..7ba02fd 100644
--- a/ceph.spec
+++ b/ceph.spec
@@ -1,3 +1,6 @@
+
+%global _hardened_build 1
+
%bcond_with ocf
%if ! (0%{?fedora} > 12 || 0%{?rhel} > 5)
@@ -10,12 +13,18 @@
#################################################################################
Name: ceph
Version: 0.81.0
-Release: 3%{?dist}
+Release: 4%{?dist}
Summary: User space components of the Ceph file system
License: GPL-2.0
Group: System Environment/Base
URL: http://ceph.com/
Source0: https://ceph.com/download/%{name}-0.81.tar.bz2
+Patch0: ceph-0.81.0-test-librbd-fsx.c.patch
+Patch1: ceph-0.81.0-Makefile.in.patch
+Patch2: ceph-0.81.0-configure.ac.patch
+%if ( 0%{?rhel} && 0%{?rhel} < 7 )
+ExcludeArch: ppc ppc64
+%endif
Requires: librbd1 = %{version}-%{release}
Requires: librados2 = %{version}-%{release}
Requires: libcephfs1 = %{version}-%{release}
@@ -49,9 +58,11 @@ BuildRequires: libuuid-devel
BuildRequires: libblkid-devel >= 2.17
BuildRequires: libudev-devel
BuildRequires: leveldb-devel > 1.2
+%if ( ! (0%{?rhel} && 0%{?rhel} < 7) )
BuildRequires: xfsprogs-devel
+%endif
BuildRequires: yasm
-%if 0%{?rhel_version} || 0%{?centos_version} || 0%{?fedora}
+%if 0%{?rhel} || 0%{?centos} || 0%{?fedora}
BuildRequires: snappy-devel
%endif
@@ -85,7 +96,16 @@ Requires: gdisk
Requires(post): chkconfig
Requires(preun):chkconfig
Requires(preun):initscripts
-BuildRequires: gperftools-devel
+# google-perftools is not available on these:
+%if ( ! (0%{?rhel} && 0%{?rhel} <= 6 ) )
+%ifnarch ppc s390 s390x
+BuildRequires: gperftools-devel
+%endif
+%else
+%ifnarch ppc ppc64 s390 s390x
+BuildRequires: gperftools-devel
+%endif
+%endif
%endif
%description
@@ -159,7 +179,7 @@ managers such as Pacemaker.
Summary: RADOS distributed object store client library
Group: System Environment/Libraries
License: LGPL-2.0
-%if 0%{?rhel_version} || 0%{?centos_version} || 0%{?fedora}
+%if 0%{?rhel} || 0%{?centos} || 0%{?fedora}
Obsoletes: ceph-libs
%endif
%description -n librados2
@@ -172,7 +192,7 @@ store using a simple file-like interface.
Summary: RADOS block device client library
Group: System Environment/Libraries
License: LGPL-2.0
-%if 0%{?rhel_version} || 0%{?centos_version} || 0%{?fedora}
+%if 0%{?rhel} || 0%{?centos} || 0%{?fedora}
Obsoletes: ceph-libs
%endif
%description -n librbd1
@@ -185,7 +205,7 @@ shared library allowing applications to manage these block devices.
Summary: Ceph distributed file system client library
Group: System Environment/Libraries
License: LGPL-2.0
-%if 0%{?rhel_version} || 0%{?centos_version} || 0%{?fedora}
+%if 0%{?rhel} || 0%{?centos} || 0%{?fedora}
Obsoletes: ceph-libs
%endif
%description -n libcephfs1
@@ -247,12 +267,12 @@ License: LGPL-2.0
Requires: java
Requires: libcephfs_jni1 = %{version}-%{release}
BuildRequires: java-devel
-%if (0%{?fedora} > 18 || 0%{?rhel} > 6)
-Requires: junit
-BuildRequires: junit
-%else
+%if ( 0%{?rhel} && 0%{?rhel} < 7 )
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.
@@ -266,6 +286,11 @@ This package contains the Java libraries for the Ceph File System.
#################################################################################
%prep
%setup -q -n ceph-0.81
+%patch0 -p1
+%patch1 -p1
+%if ( 0%{?fedora} && 0%{?fedora} > 20 )
+%patch2 -p1
+%endif
%build
# Find jni.h
@@ -292,6 +317,18 @@ export RPM_OPT_FLAGS=`echo $RPM_OPT_FLAGS | sed -e 's/i386/i486/'`
--enable-cephfs-java \
$MY_CONF_OPT \
%{?_with_ocf} \
+%if ( 0%{?rhel} && 0%{?rhel} < 7 )
+ --without-libxfs \
+%endif
+%if ( ! (0%{?rhel} && 0%{?rhel} <= 6 ) )
+%ifarch ppc s390 s390x
+ --without-tcmalloc \
+%endif
+%else
+%ifarch ppc ppc64 s390 s390x
+ --without-tcmalloc \
+%endif
+%endif
CFLAGS="$RPM_OPT_FLAGS" CXXFLAGS="$RPM_OPT_FLAGS"
# fix bug in specific version of libedit-devel
@@ -651,6 +688,9 @@ ln -sf %{_libdir}/librbd.so.1 /usr/lib64/qemu/librbd.so.1
%changelog
+* Fri Jul 4 2014 Kaleb S. KEITHLEY <kkeithle[at]redhat.com> - 0.81.0-4
+- upstream ceph.spec file
+
* Tue Jul 1 2014 Kaleb S. KEITHLEY <kkeithle[at]redhat.com> - 0.81.0-3
- upstream ceph.spec file
More information about the scm-commits
mailing list