From 4be65c200be2bee7e2a2a71959d22cc20f41eaec Mon Sep 17 00:00:00 2001 From: Kaleb S. KEITHLEY Date: Jul 04 2014 16:45:53 +0000 Subject: upstream ceph.spec file --- 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@ceph_test_librbd_fsx_SOURCES = test/librbd/fsx.c + @LINUX_TRUE@nodist_EXTRA_ceph_test_librbd_fsx_SOURCES = dummy.cc # force c++ linking + @LINUX_TRUE@ceph_test_librbd_fsx_LDADD = $(LIBKRBD) $(LIBRBD) $(LIBRADOS) +-@LINUX_TRUE@ceph_test_librbd_fsx_CFLAGS = ${AM_CFLAGS} -Wno-format ++@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 - 0.81.0-4 +- upstream ceph.spec file + * Tue Jul 1 2014 Kaleb S. KEITHLEY - 0.81.0-3 - upstream ceph.spec file