diff --git a/0001-Disable-erasure_codelib-neon-build.patch b/0001-Disable-erasure_codelib-neon-build.patch deleted file mode 100644 index e347681..0000000 --- a/0001-Disable-erasure_codelib-neon-build.patch +++ /dev/null @@ -1,47 +0,0 @@ -From 2a7810f39cb113570efcde5f65e5440ff9587ae0 Mon Sep 17 00:00:00 2001 -From: Boris Ranto -Date: Wed, 11 Nov 2015 17:08:06 +0100 -Subject: [PATCH] Disable erasure_codelib neon build - ---- - src/erasure-code/jerasure/Makefile.am | 6 +++--- - src/erasure-code/shec/Makefile.am | 6 +++--- - 2 files changed, 6 insertions(+), 6 deletions(-) - -diff --git a/src/erasure-code/jerasure/Makefile.am b/src/erasure-code/jerasure/Makefile.am -index 6ffe3ed..01f5112 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} \ -diff --git a/src/erasure-code/shec/Makefile.am b/src/erasure-code/shec/Makefile.am -index cd93132..948979b 100644 ---- a/src/erasure-code/shec/Makefile.am -+++ b/src/erasure-code/shec/Makefile.am -@@ -81,9 +81,9 @@ if LINUX - libec_shec_neon_la_LDFLAGS += -export-symbols-regex '.*__erasure_code_.*' - endif - --if HAVE_NEON --erasure_codelib_LTLIBRARIES += libec_shec_neon.la --endif -+#if HAVE_NEON -+#erasure_codelib_LTLIBRARIES += libec_shec_neon.la -+#endif - - libec_shec_sse3_la_SOURCES = ${shec_sources} - libec_shec_sse3_la_CFLAGS = ${AM_CFLAGS} \ --- -2.7.4 - diff --git a/0002-hack-do-not-test-for-libxfs-assume-it-is-present.patch b/0002-hack-do-not-test-for-libxfs-assume-it-is-present.patch deleted file mode 100644 index 7933287..0000000 --- a/0002-hack-do-not-test-for-libxfs-assume-it-is-present.patch +++ /dev/null @@ -1,33 +0,0 @@ -From 69e888fa5c103588ee9f23ac4cec4bfc2285eb08 Mon Sep 17 00:00:00 2001 -From: Boris Ranto -Date: Fri, 13 Jan 2017 01:15:42 +0100 -Subject: [PATCH] hack: do not test for libxfs, assume it is present - ---- - configure.ac | 3 ++- - 1 file changed, 2 insertions(+), 1 deletion(-) - -diff --git a/configure.ac b/configure.ac -index 32e273f..050e754 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -882,7 +882,7 @@ AC_ARG_WITH([libxfs], - [AS_HELP_STRING([--without-libxfs], [disable libxfs use by FileStore])], - [], - [with_libxfs=yes]) --AS_IF([test "x$with_libxfs" != "xno"], [ -+AS_IF([test "x$with_libxfs" = "hack..."], [ - # 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)])) -@@ -900,6 +900,7 @@ AS_IF([test "x$with_libxfs" != "xno"], [ - AC_MSG_ERROR([XFS_XFLAG_EXTSIZE not found (--without-libxfs to disable)]) - ]) - ]) -+AC_DEFINE([HAVE_LIBXFS], [1], [Define to 1 if you have libxfs]) - AM_CONDITIONAL(WITH_LIBXFS, [test "x$with_libxfs" != "xno"]) - - # use libzfs --- -2.7.4 - diff --git a/0003-librbd-Journal-include-WorkQueue-since-we-use-it.patch b/0003-librbd-Journal-include-WorkQueue-since-we-use-it.patch deleted file mode 100644 index d6aba7f..0000000 --- a/0003-librbd-Journal-include-WorkQueue-since-we-use-it.patch +++ /dev/null @@ -1,25 +0,0 @@ -From b204da4e28a0238547c99ee1bf4080ae4d62ad33 Mon Sep 17 00:00:00 2001 -From: Boris Ranto -Date: Wed, 8 Feb 2017 22:38:12 +0100 -Subject: [PATCH] librbd/Journal: include WorkQueue since we use it - -Signed-off-by: Boris Ranto ---- - src/librbd/Journal.h | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/src/librbd/Journal.h b/src/librbd/Journal.h -index 4b70b99..2490975 100644 ---- a/src/librbd/Journal.h -+++ b/src/librbd/Journal.h -@@ -11,6 +11,7 @@ - #include "common/Cond.h" - #include "common/Mutex.h" - #include "common/Cond.h" -+#include "common/WorkQueue.h" - #include "journal/Future.h" - #include "journal/JournalMetadataListener.h" - #include "journal/ReplayEntry.h" --- -2.9.3 - diff --git a/ceph.spec b/ceph.spec index 108a85f..5345d68 100644 --- a/ceph.spec +++ b/ceph.spec @@ -2,7 +2,7 @@ # # spec file for package ceph # -# Copyright (C) 2004-2016 The Ceph Project Developers. See COPYING file +# Copyright (C) 2004-2017 The Ceph Project Developers. See COPYING file # at the top-level directory of this distribution and at # https://github.com/ceph/ceph/blob/master/COPYING # @@ -14,17 +14,20 @@ # # Please submit bugfixes or comments via http://tracker.ceph.com/ # -%bcond_with ocf +%bcond_without ocf %bcond_without cephfs_java -%bcond_with tests -%bcond_with xio -%ifnarch s390 s390x -%bcond_without tcmalloc +%if 0%{?suse_version} +%bcond_with ceph_test_package %else -# no gperftools/tcmalloc on s390(x) -%bcond_with tcmalloc +%bcond_without ceph_test_package +%endif +%bcond_with make_check +%bcond_with xio +%ifarch s390 s390x +%bcond_with tcmalloc +%else +%bcond_without tcmalloc %endif -%bcond_without libs_compat %bcond_with lowmem_builder %if 0%{?fedora} || 0%{?rhel} %bcond_without selinux @@ -47,41 +50,48 @@ %{!?_udevrulesdir: %global _udevrulesdir /lib/udev/rules.d} %{!?tmpfiles_create: %global tmpfiles_create systemd-tmpfiles --create} +%{!?python3_pkgversion: %global python3_pkgversion 3} # unify libexec for all targets %global _libexecdir %{_exec_prefix}/lib +# disable dwz which compresses the debuginfo +%global _find_debuginfo_dwz_opts %{nil} ################################################################################# -# common +# main package definition ################################################################################# Name: ceph -Version: 10.2.7 -Release: 3%{?dist} +Version: 12.1.1 +Release: 0%{?dist} +%if 0%{?fedora} || 0%{?rhel} Epoch: 1 +%endif + +# define %_epoch_prefix macro which will expand to the empty string if %epoch is undefined +%global _epoch_prefix %{?epoch:%{epoch}:} + Summary: User space components of the Ceph file system -License: LGPL-2.1 and CC-BY-SA-1.0 and GPL-2.0 and BSL-1.0 and GPL-2.0-with-autoconf-exception and BSD-3-Clause and MIT +License: LGPL-2.1 and CC-BY-SA-1.0 and GPL-2.0 and BSL-1.0 and BSD-3-Clause and MIT %if 0%{?suse_version} -Group: System/Filesystems +Group: System/Filesystems %endif URL: http://ceph.com/ -Source0: http://ceph.com/download/%{name}-%{version}.tar.gz -Patch1: 0001-Disable-erasure_codelib-neon-build.patch -Patch2: 0002-hack-do-not-test-for-libxfs-assume-it-is-present.patch -Patch3: 0003-librbd-Journal-include-WorkQueue-since-we-use-it.patch +Source0: http://download.ceph.com/tarballs/ceph-12.1.1.tar.gz %if 0%{?suse_version} %if 0%{?is_opensuse} ExclusiveArch: x86_64 aarch64 ppc64 ppc64le %else -ExclusiveArch: x86_64 aarch64 +ExclusiveArch: x86_64 aarch64 ppc64le s390x %endif %endif ################################################################################# # dependencies that apply across all distro families ################################################################################# -Requires: ceph-osd = %{epoch}:%{version}-%{release} -Requires: ceph-mds = %{epoch}:%{version}-%{release} -Requires: ceph-mon = %{epoch}:%{version}-%{release} +Requires: ceph-osd = %{_epoch_prefix}%{version}-%{release} +Requires: ceph-mds = %{_epoch_prefix}%{version}-%{release} +Requires: ceph-mgr = %{_epoch_prefix}%{version}-%{release} +Requires: ceph-mon = %{_epoch_prefix}%{version}-%{release} Requires(post): binutils %if 0%{with cephfs_java} BuildRequires: java-devel @@ -92,19 +102,19 @@ BuildRequires: checkpolicy BuildRequires: selinux-policy-devel BuildRequires: /usr/share/selinux/devel/policyhelp %endif -BuildRequires: boost-devel +BuildRequires: bc +BuildRequires: gperf BuildRequires: cmake BuildRequires: cryptsetup BuildRequires: fuse-devel BuildRequires: gcc-c++ BuildRequires: gdbm %if 0%{with tcmalloc} -BuildRequires: gperftools-devel +BuildRequires: gperftools-devel >= 2.4 %endif -BuildRequires: hdparm +BuildRequires: jq BuildRequires: leveldb-devel > 1.2 BuildRequires: libaio-devel -BuildRequires: libatomic_ops-devel BuildRequires: libblkid-devel >= 2.17 BuildRequires: libcurl-devel BuildRequires: libudev-devel @@ -112,20 +122,21 @@ BuildRequires: libtool BuildRequires: libxml2-devel BuildRequires: make BuildRequires: parted -BuildRequires: perl-interpreter +BuildRequires: perl BuildRequires: pkgconfig BuildRequires: python BuildRequires: python-devel BuildRequires: python-nose +BuildRequires: python-pecan BuildRequires: python-requests -BuildRequires: python-sphinx BuildRequires: python-virtualenv +BuildRequires: python-werkzeug +BuildRequires: socat BuildRequires: snappy-devel BuildRequires: udev BuildRequires: util-linux -%ifnarch s390 BuildRequires: valgrind-devel -%endif +BuildRequires: which BuildRequires: xfsprogs BuildRequires: xfsprogs-devel BuildRequires: xmlstarlet @@ -148,7 +159,11 @@ BuildRequires: keyutils-devel BuildRequires: libopenssl-devel BuildRequires: lsb-release BuildRequires: openldap2-devel +BuildRequires: python-CherryPy BuildRequires: python-Cython +BuildRequires: python-PrettyTable +BuildRequires: python-Sphinx +BuildRequires: rdma-core-devel %endif %if 0%{?fedora} || 0%{?rhel} Requires: systemd @@ -156,10 +171,24 @@ BuildRequires: boost-random BuildRequires: btrfs-progs BuildRequires: nss-devel BuildRequires: keyutils-libs-devel +BuildRequires: libibverbs-devel BuildRequires: openldap-devel BuildRequires: openssl-devel BuildRequires: redhat-lsb-core BuildRequires: Cython +BuildRequires: python-cherrypy +BuildRequires: python-prettytable +BuildRequires: python-sphinx +%endif +# python34-... for RHEL, python3-... for all other supported distros +%if 0%{?rhel} +BuildRequires: python34-devel +BuildRequires: python34-setuptools +BuildRequires: python34-Cython +%else +BuildRequires: python3-devel +BuildRequires: python3-setuptools +BuildRequires: python3-Cython %endif # lttng and babeltrace for rbd-replay-prep %if %{with lttng} @@ -172,14 +201,11 @@ BuildRequires: lttng-ust-devel BuildRequires: babeltrace-devel %endif %endif -# expat and fastcgi for RGW %if 0%{?suse_version} BuildRequires: libexpat-devel -BuildRequires: FastCGI-devel %endif %if 0%{?rhel} || 0%{?fedora} BuildRequires: expat-devel -BuildRequires: fcgi-devel %endif #hardened-cc1 %if 0%{?fedora} || 0%{?rhel} @@ -196,18 +222,20 @@ on commodity hardware and delivers object, block and file system storage. ################################################################################# -# packages +# subpackages ################################################################################# %package base Summary: Ceph Base Package -Group: System Environment/Base -Requires: ceph-common = %{epoch}:%{version}-%{release} -Requires: librbd1 = %{epoch}:%{version}-%{release} -Requires: librados2 = %{epoch}:%{version}-%{release} -Requires: libcephfs1 = %{epoch}:%{version}-%{release} -Requires: librgw2 = %{epoch}:%{version}-%{release} +%if 0%{?suse_version} +Group: System/Filesystems +%endif +Requires: ceph-common = %{_epoch_prefix}%{version}-%{release} +Requires: librbd1 = %{_epoch_prefix}%{version}-%{release} +Requires: librados2 = %{_epoch_prefix}%{version}-%{release} +Requires: libcephfs2 = %{_epoch_prefix}%{version}-%{release} +Requires: librgw2 = %{_epoch_prefix}%{version}-%{release} %if 0%{with selinux} -Requires: ceph-selinux = %{epoch}:%{version}-%{release} +Requires: ceph-selinux = %{_epoch_prefix}%{version}-%{release} %endif Requires: python Requires: python-requests @@ -216,17 +244,13 @@ Requires: grep Requires: xfsprogs Requires: logrotate Requires: util-linux -Requires: hdparm Requires: cryptsetup Requires: findutils +Requires: psmisc Requires: which %if 0%{?suse_version} -Requires: lsb-release Recommends: ntp-daemon %endif -%if 0%{?fedora} || 0%{?rhel} -Requires: redhat-lsb-core -%endif %if 0%{with xio} Requires: libxio %endif @@ -235,13 +259,22 @@ Base is the package that includes all the files shared amongst ceph servers %package -n ceph-common Summary: Ceph Common -Group: System Environment/Base -Requires: librbd1 = %{epoch}:%{version}-%{release} -Requires: librados2 = %{epoch}:%{version}-%{release} -Requires: libcephfs1 = %{epoch}:%{version}-%{release} -Requires: python-rados = %{epoch}:%{version}-%{release} -Requires: python-rbd = %{epoch}:%{version}-%{release} -Requires: python-cephfs = %{epoch}:%{version}-%{release} +%if 0%{?suse_version} +Group: System/Filesystems +%endif +Requires: librbd1 = %{_epoch_prefix}%{version}-%{release} +Requires: librados2 = %{_epoch_prefix}%{version}-%{release} +Requires: libcephfs2 = %{_epoch_prefix}%{version}-%{release} +Requires: python-rados = %{_epoch_prefix}%{version}-%{release} +Requires: python-rbd = %{_epoch_prefix}%{version}-%{release} +Requires: python-cephfs = %{_epoch_prefix}%{version}-%{release} +Requires: python-rgw = %{_epoch_prefix}%{version}-%{release} +%if 0%{?fedora} || 0%{?rhel} +Requires: python-prettytable +%endif +%if 0%{?suse_version} +Requires: python-PrettyTable +%endif Requires: python-requests %{?systemd_requires} %if 0%{?suse_version} @@ -256,8 +289,10 @@ Comprised of files that are common to Ceph clients and servers. %package mds Summary: Ceph Metadata Server Daemon -Group: System Environment/Base -Requires: ceph-base = %{epoch}:%{version}-%{release} +%if 0%{?suse_version} +Group: System/Filesystems +%endif +Requires: ceph-base = %{_epoch_prefix}%{version}-%{release} %description mds ceph-mds is the metadata server daemon for the Ceph distributed file system. One or more instances of ceph-mds collectively manage the file system @@ -265,8 +300,10 @@ namespace, coordinating access to the shared OSD cluster. %package mon Summary: Ceph Monitor Daemon -Group: System Environment/Base -Requires: ceph-base = %{epoch}:%{version}-%{release} +%if 0%{?suse_version} +Group: System/Filesystems +%endif +Requires: ceph-base = %{_epoch_prefix}%{version}-%{release} # For ceph-rest-api %if 0%{?fedora} || 0%{?rhel} Requires: python-flask @@ -280,54 +317,81 @@ system. One or more instances of ceph-mon form a Paxos part-time parliament cluster that provides extremely reliable and durable storage of cluster membership, configuration, and state. +%package mgr +Summary: Ceph Manager Daemon +%if 0%{?suse_version} +Group: System/Filesystems +%endif +Requires: ceph-base = %{_epoch_prefix}%{version}-%{release} +%if 0%{?fedora} || 0%{?rhel} +Requires: python-cherrypy +Requires: python-werkzeug +Requires: pyOpenSSL +%endif +%if 0%{?suse_version} +Requires: python-CherryPy +Requires: python-Werkzeug +Requires: python-pyOpenSSL +%endif +Requires: python-pecan +%description mgr +ceph-mgr enables python modules that provide services (such as the REST +module derived from Calamari) and expose CLI hooks. ceph-mgr gathers +the cluster maps, the daemon metadata, and performance counters, and +exposes all these to the python modules. + %package fuse Summary: Ceph fuse-based client -Group: System Environment/Base +%if 0%{?suse_version} +Group: System/Filesystems +%endif %description fuse FUSE based client for Ceph distributed network file system %package -n rbd-fuse Summary: Ceph fuse-based client -Group: System Environment/Base -Requires: librados2 = %{epoch}:%{version}-%{release} -Requires: librbd1 = %{epoch}:%{version}-%{release} +%if 0%{?suse_version} +Group: System/Filesystems +%endif +Requires: librados2 = %{_epoch_prefix}%{version}-%{release} +Requires: librbd1 = %{_epoch_prefix}%{version}-%{release} %description -n rbd-fuse FUSE based client to map Ceph rbd images to files %package -n rbd-mirror Summary: Ceph daemon for mirroring RBD images -Group: System Environment/Base -Requires: ceph-common = %{epoch}:%{version}-%{release} -Requires: librados2 = %{epoch}:%{version}-%{release} +%if 0%{?suse_version} +Group: System/Filesystems +%endif +Requires: ceph-common = %{_epoch_prefix}%{version}-%{release} +Requires: librados2 = %{_epoch_prefix}%{version}-%{release} %description -n rbd-mirror Daemon for mirroring RBD images between Ceph clusters, streaming changes asynchronously. %package -n rbd-nbd Summary: Ceph RBD client base on NBD -Group: System Environment/Base -Requires: librados2 = %{epoch}:%{version}-%{release} -Requires: librbd1 = %{epoch}:%{version}-%{release} +%if 0%{?suse_version} +Group: System/Filesystems +%endif +Requires: librados2 = %{_epoch_prefix}%{version}-%{release} +Requires: librbd1 = %{_epoch_prefix}%{version}-%{release} %description -n rbd-nbd NBD based client to map Ceph rbd images to local device %package radosgw Summary: Rados REST gateway -Group: Development/Libraries -Requires: ceph-common = %{epoch}:%{version}-%{release} -%if 0%{with selinux} -Requires: ceph-selinux = %{epoch}:%{version}-%{release} +%if 0%{?suse_version} +Group: System/Filesystems %endif -Requires: librados2 = %{epoch}:%{version}-%{release} -Requires: librgw2 = %{epoch}:%{version}-%{release} +Requires: ceph-common = %{_epoch_prefix}%{version}-%{release} +%if 0%{with selinux} +Requires: ceph-selinux = %{_epoch_prefix}%{version}-%{release} +%endif +Requires: librados2 = %{_epoch_prefix}%{version}-%{release} +Requires: librgw2 = %{_epoch_prefix}%{version}-%{release} %if 0%{?rhel} || 0%{?fedora} Requires: mailcap -# python-flask for powerdns -Requires: python-flask -%endif -%if 0%{?suse_version} -# python-Flask for powerdns -Requires: python-Flask %endif %description radosgw RADOS is a distributed object store used by the Ceph distributed @@ -338,9 +402,10 @@ service as well as the OpenStack Object Storage ("Swift") API. %if %{with ocf} %package resource-agents Summary: OCF-compliant resource agents for Ceph daemons -Group: System Environment/Base -License: LGPL-2.0 -Requires: ceph-base = %{epoch}:%{version} +%if 0%{?suse_version} +Group: System/Filesystems +%endif +Requires: ceph-base = %{_epoch_prefix}%{version} Requires: resource-agents %description resource-agents Resource agents for monitoring and managing Ceph daemons @@ -350,8 +415,10 @@ managers such as Pacemaker. %package osd Summary: Ceph Object Storage Daemon -Group: System Environment/Base -Requires: ceph-base = %{epoch}:%{version}-%{release} +%if 0%{?suse_version} +Group: System/Filesystems +%endif +Requires: ceph-base = %{_epoch_prefix}%{version}-%{release} # for sgdisk, used by ceph-disk %if 0%{?fedora} || 0%{?rhel} Requires: gdisk @@ -367,10 +434,11 @@ and providing access to them over the network. %package -n librados2 Summary: RADOS distributed object store client library -Group: System Environment/Libraries -License: LGPL-2.0 +%if 0%{?suse_version} +Group: System/Libraries +%endif %if 0%{?rhel} || 0%{?fedora} -Obsoletes: ceph-libs < %{epoch}:%{version}-%{release} +Obsoletes: ceph-libs < %{_epoch_prefix}%{version}-%{release} %endif %description -n librados2 RADOS is a reliable, autonomic distributed object storage cluster @@ -380,51 +448,91 @@ store using a simple file-like interface. %package -n librados-devel Summary: RADOS headers -Group: Development/Libraries -License: LGPL-2.0 -Requires: librados2 = %{epoch}:%{version}-%{release} -Obsoletes: ceph-devel < %{epoch}:%{version}-%{release} -Provides: librados2-devel = %{epoch}:%{version}-%{release} -Obsoletes: librados2-devel < %{epoch}:%{version}-%{release} +%if 0%{?suse_version} +Group: Development/Libraries/C and C++ +%endif +Requires: librados2 = %{_epoch_prefix}%{version}-%{release} +Obsoletes: ceph-devel < %{_epoch_prefix}%{version}-%{release} +Provides: librados2-devel = %{_epoch_prefix}%{version}-%{release} +Obsoletes: librados2-devel < %{_epoch_prefix}%{version}-%{release} %description -n librados-devel This package contains libraries and headers needed to develop programs that use RADOS object store. %package -n librgw2 Summary: RADOS gateway client library -Group: System Environment/Libraries -License: LGPL-2.0 -Requires: librados2 = %{epoch}:%{version}-%{release} +%if 0%{?suse_version} +Group: System/Libraries +%endif +Requires: librados2 = %{_epoch_prefix}%{version}-%{release} %description -n librgw2 This package provides a library implementation of the RADOS gateway (distributed object store with S3 and Swift personalities). %package -n librgw-devel Summary: RADOS gateway client library -Group: Development/Libraries -License: LGPL-2.0 -Requires: librados2 = %{epoch}:%{version}-%{release} -Provides: librgw2-devel = %{epoch}:%{version}-%{release} -Obsoletes: librgw2-devel < %{epoch}:%{version}-%{release} +%if 0%{?suse_version} +Group: Development/Libraries/C and C++ +%endif +Requires: librados-devel = %{_epoch_prefix}%{version}-%{release} +Requires: librgw2 = %{_epoch_prefix}%{version}-%{release} +Provides: librgw2-devel = %{_epoch_prefix}%{version}-%{release} +Obsoletes: librgw2-devel < %{_epoch_prefix}%{version}-%{release} %description -n librgw-devel This package contains libraries and headers needed to develop programs that use RADOS gateway client library. +%package -n python-rgw +Summary: Python 2 libraries for the RADOS gateway +%if 0%{?suse_version} +Group: Development/Languages/Python +%endif +Requires: librgw2 = %{_epoch_prefix}%{version}-%{release} +Requires: python-rados = %{_epoch_prefix}%{version}-%{release} +Obsoletes: python-ceph < %{_epoch_prefix}%{version}-%{release} +%description -n python-rgw +This package contains Python 2 libraries for interacting with Cephs RADOS +gateway. + +%package -n python%{python3_pkgversion}-rgw +Summary: Python 3 libraries for the RADOS gateway +%if 0%{?suse_version} +Group: Development/Languages/Python +%endif +Requires: librgw2 = %{_epoch_prefix}%{version}-%{release} +Requires: python%{python3_pkgversion}-rados = %{_epoch_prefix}%{version}-%{release} +%description -n python%{python3_pkgversion}-rgw +This package contains Python 3 libraries for interacting with Cephs RADOS +gateway. + %package -n python-rados -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} +Summary: Python 2 libraries for the RADOS object store +%if 0%{?suse_version} +Group: Development/Languages/Python +%endif +Requires: librados2 = %{_epoch_prefix}%{version}-%{release} +Obsoletes: python-ceph < %{_epoch_prefix}%{version}-%{release} %description -n python-rados -This package contains Python libraries for interacting with Cephs RADOS +This package contains Python 2 libraries for interacting with Cephs RADOS +object store. + +%package -n python%{python3_pkgversion}-rados +Summary: Python 3 libraries for the RADOS object store +%if 0%{?suse_version} +Group: Development/Languages/Python +%endif +Requires: python%{python3_pkgversion} +Requires: librados2 = %{_epoch_prefix}%{version}-%{release} +%description -n python%{python3_pkgversion}-rados +This package contains Python 3 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} +%if 0%{?suse_version} +Group: System/Libraries +%endif +Requires: librados2 = %{_epoch_prefix}%{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 @@ -432,24 +540,29 @@ an interface very similar to the rados one. %package -n libradosstriper-devel Summary: RADOS striping interface headers -Group: Development/Libraries -License: LGPL-2.0 -Requires: libradosstriper1 = %{epoch}:%{version}-%{release} -Requires: librados-devel = %{epoch}:%{version}-%{release} -Obsoletes: ceph-devel < %{epoch}:%{version}-%{release} -Provides: libradosstriper1-devel = %{epoch}:%{version}-%{release} -Obsoletes: libradosstriper1-devel < %{epoch}:%{version}-%{release} +%if 0%{?suse_version} +Group: Development/Libraries/C and C++ +%endif +Requires: libradosstriper1 = %{_epoch_prefix}%{version}-%{release} +Requires: librados-devel = %{_epoch_prefix}%{version}-%{release} +Obsoletes: ceph-devel < %{_epoch_prefix}%{version}-%{release} +Provides: libradosstriper1-devel = %{_epoch_prefix}%{version}-%{release} +Obsoletes: libradosstriper1-devel < %{_epoch_prefix}%{version}-%{release} %description -n libradosstriper-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%{?suse_version} +Group: System/Libraries +%endif +Requires: librados2 = %{_epoch_prefix}%{version}-%{release} +%if 0%{?suse_version} +Requires(post): coreutils +%endif %if 0%{?rhel} || 0%{?fedora} -Obsoletes: ceph-libs < %{epoch}:%{version}-%{release} +Obsoletes: ceph-libs < %{_epoch_prefix}%{version}-%{release} %endif %description -n librbd1 RBD is a block device striped across multiple distributed objects in @@ -459,37 +572,52 @@ shared library allowing applications to manage these block devices. %package -n librbd-devel Summary: RADOS block device headers -Group: Development/Libraries -License: LGPL-2.0 -Requires: librbd1 = %{epoch}:%{version}-%{release} -Requires: librados-devel = %{epoch}:%{version}-%{release} -Obsoletes: ceph-devel < %{epoch}:%{version}-%{release} -Provides: librbd1-devel = %{epoch}:%{version}-%{release} -Obsoletes: librbd1-devel < %{epoch}:%{version}-%{release} +%if 0%{?suse_version} +Group: Development/Libraries/C and C++ +%endif +Requires: librbd1 = %{_epoch_prefix}%{version}-%{release} +Requires: librados-devel = %{_epoch_prefix}%{version}-%{release} +Obsoletes: ceph-devel < %{_epoch_prefix}%{version}-%{release} +Provides: librbd1-devel = %{_epoch_prefix}%{version}-%{release} +Obsoletes: librbd1-devel < %{_epoch_prefix}%{version}-%{release} %description -n librbd-devel This package contains libraries and headers needed to develop programs that use RADOS block device. %package -n python-rbd -Summary: Python libraries for the RADOS block device -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} +Summary: Python 2 libraries for the RADOS block device +%if 0%{?suse_version} +Group: Development/Languages/Python +%endif +Requires: librbd1 = %{_epoch_prefix}%{version}-%{release} +Requires: python-rados = %{_epoch_prefix}%{version}-%{release} +Obsoletes: python-ceph < %{_epoch_prefix}%{version}-%{release} %description -n python-rbd -This package contains Python libraries for interacting with Cephs RADOS +This package contains Python 2 libraries for interacting with Cephs RADOS block device. -%package -n libcephfs1 +%package -n python%{python3_pkgversion}-rbd +Summary: Python 3 libraries for the RADOS block device +%if 0%{?suse_version} +Group: Development/Languages/Python +%endif +Requires: librbd1 = %{_epoch_prefix}%{version}-%{release} +Requires: python%{python3_pkgversion}-rados = %{_epoch_prefix}%{version}-%{release} +%description -n python%{python3_pkgversion}-rbd +This package contains Python 3 libraries for interacting with Cephs RADOS +block device. + +%package -n libcephfs2 Summary: Ceph distributed file system client library -Group: System Environment/Libraries -License: LGPL-2.0 +%if 0%{?suse_version} +Group: System/Libraries +%endif +Obsoletes: libcephfs1 %if 0%{?rhel} || 0%{?fedora} -Obsoletes: ceph-libs < %{epoch}:%{version}-%{release} +Obsoletes: ceph-libs < %{_epoch_prefix}%{version}-%{release} Obsoletes: ceph-libcephfs %endif -%description -n libcephfs1 +%description -n libcephfs2 Ceph is a distributed network file system designed to provide excellent performance, reliability, and scalability. This is a shared library allowing applications to access a Ceph distributed file system via a @@ -497,68 +625,101 @@ POSIX-like interface. %package -n libcephfs-devel Summary: Ceph distributed file system headers -Group: Development/Libraries -License: LGPL-2.0 -Requires: libcephfs1 = %{epoch}:%{version}-%{release} -Requires: librados-devel = %{epoch}:%{version}-%{release} -Obsoletes: ceph-devel < %{epoch}:%{version}-%{release} -Provides: libcephfs1-devel = %{epoch}:%{version}-%{release} -Obsoletes: libcephfs1-devel < %{epoch}:%{version}-%{release} +%if 0%{?suse_version} +Group: Development/Libraries/C and C++ +%endif +Requires: libcephfs2 = %{_epoch_prefix}%{version}-%{release} +Requires: librados-devel = %{_epoch_prefix}%{version}-%{release} +Obsoletes: ceph-devel < %{_epoch_prefix}%{version}-%{release} +Provides: libcephfs2-devel = %{_epoch_prefix}%{version}-%{release} +Obsoletes: libcephfs2-devel < %{_epoch_prefix}%{version}-%{release} %description -n libcephfs-devel This package contains libraries and headers needed to develop programs that use Cephs distributed file system. %package -n python-cephfs -Summary: Python libraries for Ceph distributed file system -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} +Summary: Python 2 libraries for Ceph distributed file system +%if 0%{?suse_version} +Group: Development/Languages/Python +%endif +Requires: libcephfs2 = %{_epoch_prefix}%{version}-%{release} +%if 0%{?suse_version} +Recommends: python-rados = %{_epoch_prefix}%{version}-%{release} +%endif +Obsoletes: python-ceph < %{_epoch_prefix}%{version}-%{release} %description -n python-cephfs -This package contains Python libraries for interacting with Cephs distributed +This package contains Python 2 libraries for interacting with Cephs distributed file system. +%package -n python%{python3_pkgversion}-cephfs +Summary: Python 3 libraries for Ceph distributed file system +%if 0%{?suse_version} +Group: Development/Languages/Python +%endif +Requires: libcephfs2 = %{_epoch_prefix}%{version}-%{release} +Requires: python%{python3_pkgversion}-rados = %{_epoch_prefix}%{version}-%{release} +%description -n python%{python3_pkgversion}-cephfs +This package contains Python 3 libraries for interacting with Cephs distributed +file system. + +%package -n python%{python3_pkgversion}-ceph-argparse +Summary: Python 3 utility libraries for Ceph CLI +%if 0%{?suse_version} +Group: Development/Languages/Python +%endif +%description -n python%{python3_pkgversion}-ceph-argparse +This package contains types and routines for Python 3 used by the Ceph CLI as +well as the RESTful interface. These have to do with querying the daemons for +command-description information, validating user command input against those +descriptions, and submitting the command to the appropriate daemon. + +%if 0%{with ceph_test_package} %package -n ceph-test Summary: Ceph benchmarks and test tools -Group: System Environment/Libraries -License: LGPL-2.0 +%if 0%{?suse_version} +Group: System/Benchmark +%endif Requires: ceph-common Requires: xmlstarlet +Requires: jq %description -n ceph-test This package contains Ceph benchmarks and test tools. +%endif %if 0%{with cephfs_java} %package -n libcephfs_jni1 Summary: Java Native Interface library for CephFS Java bindings -Group: System Environment/Libraries -License: LGPL-2.0 +%if 0%{?suse_version} +Group: System/Libraries +%endif Requires: java -Requires: libcephfs1 = %{epoch}:%{version}-%{release} +Requires: libcephfs2 = %{_epoch_prefix}%{version}-%{release} %description -n libcephfs_jni1 This package contains the Java Native Interface library for CephFS Java bindings. %package -n libcephfs_jni-devel Summary: Development files for CephFS Java Native Interface library -Group: System Environment/Libraries -License: LGPL-2.0 +%if 0%{?suse_version} +Group: Development/Libraries/Java +%endif Requires: java -Requires: libcephfs_jni1 = %{epoch}:%{version}-%{release} -Obsoletes: ceph-devel < %{epoch}:%{version}-%{release} -Provides: libcephfs_jni1-devel = %{epoch}:%{version}-%{release} -Obsoletes: libcephfs_jni1-devel < %{epoch}:%{version}-%{release} +Requires: libcephfs_jni1 = %{_epoch_prefix}%{version}-%{release} +Obsoletes: ceph-devel < %{_epoch_prefix}%{version}-%{release} +Provides: libcephfs_jni1-devel = %{_epoch_prefix}%{version}-%{release} +Obsoletes: libcephfs_jni1-devel < %{_epoch_prefix}%{version}-%{release} %description -n libcephfs_jni-devel This package contains the development files for CephFS Java Native Interface library. %package -n cephfs-java Summary: Java libraries for the Ceph File System -Group: System Environment/Libraries -License: LGPL-2.0 +%if 0%{?suse_version} +Group: System/Libraries +%endif Requires: java -Requires: libcephfs_jni1 = %{epoch}:%{version}-%{release} +Requires: libcephfs_jni1 = %{_epoch_prefix}%{version}-%{release} Requires: junit BuildRequires: junit %description -n cephfs-java @@ -566,13 +727,24 @@ This package contains the Java libraries for the Ceph File System. %endif +%package -n rados-objclass-devel +Summary: RADOS object class development kit +Group: Development/Libraries +Requires: librados2-devel = %{_epoch_prefix}%{version}-%{release} +%description -n rados-objclass-devel +This package contains libraries and headers needed to develop RADOS object +class plugins. + %if 0%{with selinux} %package selinux Summary: SELinux support for Ceph MON, OSD and MDS -Group: System Environment/Base -Requires: ceph-base = %{epoch}:%{version}-%{release} +%if 0%{?suse_version} +Group: System/Filesystems +%endif +Requires: ceph-base = %{_epoch_prefix}%{version}-%{release} Requires: policycoreutils, libselinux-utils +Requires(post): ceph-base = %{_epoch_prefix}%{version}-%{release} Requires(post): selinux-policy-base >= %{_selinux_policy_version}, policycoreutils, gawk Requires(postun): policycoreutils %description selinux @@ -582,66 +754,28 @@ populated file-systems. %endif -%if 0%{with libs_compat} - -%package libs-compat -Summary: Meta package to include ceph libraries -Group: System Environment/Libraries -License: LGPL-2.0 -Obsoletes: ceph-libs -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 -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 or libcephfs1 instead. - -%endif - -%package devel-compat -Summary: Compatibility package for Ceph headers -Group: Development/Libraries -License: LGPL-2.0 -Obsoletes: ceph-devel -Requires: librados-devel = %{epoch}:%{version}-%{release} -Requires: libradosstriper-devel = %{epoch}:%{version}-%{release} -Requires: librbd-devel = %{epoch}:%{version}-%{release} -Requires: libcephfs-devel = %{epoch}:%{version}-%{release} -%if 0%{with cephfs_java} -Requires: libcephfs_jni-devel = %{epoch}:%{version}-%{release} -%endif -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. - %package -n python-ceph-compat Summary: Compatibility package for Cephs python libraries -Group: System Environment/Libraries -License: LGPL-2.0 +%if 0%{?suse_version} +Group: Development/Languages/Python +%endif Obsoletes: python-ceph -Requires: python-rados = %{epoch}:%{version}-%{release} -Requires: python-rbd = %{epoch}:%{version}-%{release} -Requires: python-cephfs = %{epoch}:%{version}-%{release} +Requires: python-rados = %{_epoch_prefix}%{version}-%{release} +Requires: python-rbd = %{_epoch_prefix}%{version}-%{release} +Requires: python-cephfs = %{_epoch_prefix}%{version}-%{release} +Requires: python-rgw = %{_epoch_prefix}%{version}-%{release} Provides: python-ceph %description -n python-ceph-compat This is a compatibility package to accommodate python-ceph split into -python-rados, python-rbd and python-cephfs. Packages still depending on -python-ceph should be fixed to depend on python-rados, python-rbd or -python-cephfs instead. +python-rados, python-rbd, python-rgw and python-cephfs. Packages still +depending on python-ceph should be fixed to depend on python-rados, +python-rbd, python-rgw or python-cephfs instead. ################################################################################# # common ################################################################################# %prep -%autosetup -p1 +%autosetup -p1 -n ceph-12.1.1 %build %if 0%{with cephfs_java} @@ -651,53 +785,16 @@ for i in /usr/{lib64,lib}/jvm/java/include{,/linux}; do done %endif -./autogen.sh - %if %{with lowmem_builder} RPM_OPT_FLAGS="$RPM_OPT_FLAGS --param ggc-min-expand=20 --param ggc-min-heapsize=32768" %endif export RPM_OPT_FLAGS=`echo $RPM_OPT_FLAGS | sed -e 's/i386/i486/'` -%ifarch s390 -# Decrease debuginfo verbosity to reduce memory consumption even more -export RPM_OPT_FLAGS=`echo $RPM_OPT_FLAGS | sed -e 's/-g /-g1 /'` -%endif -%{configure} CPPFLAGS="$java_inc" \ - --prefix=/usr \ - --libexecdir=%{_libexecdir} \ - --localstatedir=%{_localstatedir} \ - --sysconfdir=%{_sysconfdir} \ -%if 0%{?rhel} && ! 0%{?centos} - --enable-subman \ -%endif - --with-systemdsystemunitdir=%_unitdir \ - --docdir=%{_docdir}/ceph \ - --with-man-pages \ - --mandir="%_mandir" \ - --with-nss \ - --without-cryptopp \ - --with-debug \ -%if 0%{with cephfs_java} - --enable-cephfs-java \ -%endif -%if 0%{with xio} - --enable-xio \ -%endif -%if 0%{with selinux} - --with-selinux \ -%endif - --with-librocksdb-static=check \ - --with-radosgw \ -%if %{without lttng} - --without-lttng \ - --without-babeltrace \ -%endif - $CEPH_EXTRA_CONFIGURE_ARGS \ - %{?_with_ocf} \ -%if %{without tcmalloc} - --without-tcmalloc \ -%endif - CFLAGS="$RPM_OPT_FLAGS" CXXFLAGS="$RPM_OPT_FLAGS" +export CPPFLAGS="$java_inc" +export CFLAGS="$RPM_OPT_FLAGS" +export CXXFLAGS="$RPM_OPT_FLAGS" + +env | sort %if %{with lowmem_builder} %if 0%{?jobs} > 8 @@ -705,23 +802,78 @@ export RPM_OPT_FLAGS=`echo $RPM_OPT_FLAGS | sed -e 's/-g /-g1 /'` %endif %endif +# unlimit _smp_mflags in system macro if not set above +%define _smp_ncpus_max 0 +# extract the number of processors for use with cmake +%define _smp_ncpus %(echo %{_smp_mflags} | sed 's/-j//') + +mkdir build +cd build +cmake .. \ + -DCMAKE_INSTALL_PREFIX=%{_prefix} \ + -DCMAKE_INSTALL_LIBDIR=%{_libdir} \ + -DCMAKE_INSTALL_LIBEXECDIR=%{_libexecdir} \ + -DCMAKE_INSTALL_LOCALSTATEDIR=%{_localstatedir} \ + -DCMAKE_INSTALL_SYSCONFDIR=%{_sysconfdir} \ + -DCMAKE_INSTALL_MANDIR=%{_mandir} \ + -DCMAKE_INSTALL_DOCDIR=%{_docdir}/ceph \ + -DWITH_EMBEDDED=OFF \ + -DWITH_MANPAGE=ON \ + -DWITH_PYTHON3=ON \ + -DWITH_SYSTEMD=ON \ +%if 0%{?rhel} && ! 0%{?centos} + -DWITH_SUBMAN=ON \ +%endif +%if 0%{with xio} + -DWITH_XIO=ON \ +%endif +%if 0%{without ceph_test_package} + -DWITH_TESTS=OFF \ +%endif +%if 0%{with cephfs_java} + -DWITH_CEPHFS_JAVA=ON \ +%endif +%if 0%{with selinux} + -DWITH_SELINUX=ON \ +%endif +%if %{with lttng} + -DWITH_LTTNG=ON \ + -DWTIH_BABELTRACE=ON \ +%else + -DWITH_LTTNG=OFF \ + -DWTIH_BABELTRACE=OFF \ +%endif + $CEPH_EXTRA_CMAKE_ARGS \ +%if 0%{with ocf} + -DWITH_OCF=ON \ +%endif +%ifarch aarch64 armv7hl mips mipsel ppc ppc64 ppc64le %{ix86} x86_64 + -DWITH_RADOSGW_BEAST_FRONTEND=ON \ +%else + -DWITH_RADOSGW_BEAST_FRONTEND=OFF \ +%endif + -DBOOST_J=%{_smp_ncpus} + make %{?_smp_mflags} -%if 0%{with tests} +%if 0%{with make_check} %check # run in-tree unittests -make %{?_smp_mflags} check +cd build +ctest %{?_smp_mflags} %endif %install +pushd build make DESTDIR=%{buildroot} install -find %{buildroot} -type f -name "*.la" -exec rm -f {} ';' -find %{buildroot} -type f -name "*.a" -exec rm -f {} ';' -install -D src/etc-rbdmap %{buildroot}%{_sysconfdir}/ceph/rbdmap +# we have dropped sysvinit bits +rm -f %{buildroot}/%{_sysconfdir}/init.d/ceph +popd +install -m 0644 -D src/etc-rbdmap %{buildroot}%{_sysconfdir}/ceph/rbdmap %if 0%{?fedora} || 0%{?rhel} install -m 0644 -D etc/sysconfig/ceph %{buildroot}%{_sysconfdir}/sysconfig/ceph %endif @@ -734,7 +886,7 @@ install -m 0644 -D systemd/50-ceph.preset %{buildroot}%{_libexecdir}/systemd/sys mkdir -p %{buildroot}%{_sbindir} install -m 0644 -D src/logrotate.conf %{buildroot}%{_sysconfdir}/logrotate.d/ceph chmod 0644 %{buildroot}%{_docdir}/ceph/sample.ceph.conf -chmod 0644 %{buildroot}%{_docdir}/ceph/sample.fetch_config +install -m 0644 -D COPYING %{buildroot}%{_docdir}/ceph/COPYING # firewall templates and /sbin/mount.ceph symlink %if 0%{?suse_version} @@ -757,10 +909,17 @@ mkdir -p %{buildroot}%{_localstatedir}/lib/ceph/tmp mkdir -p %{buildroot}%{_localstatedir}/lib/ceph/mon mkdir -p %{buildroot}%{_localstatedir}/lib/ceph/osd mkdir -p %{buildroot}%{_localstatedir}/lib/ceph/mds +mkdir -p %{buildroot}%{_localstatedir}/lib/ceph/mgr mkdir -p %{buildroot}%{_localstatedir}/lib/ceph/radosgw mkdir -p %{buildroot}%{_localstatedir}/lib/ceph/bootstrap-osd mkdir -p %{buildroot}%{_localstatedir}/lib/ceph/bootstrap-mds mkdir -p %{buildroot}%{_localstatedir}/lib/ceph/bootstrap-rgw +mkdir -p %{buildroot}%{_localstatedir}/lib/ceph/bootstrap-mgr + +%if 0%{?suse_version} +# create __pycache__ directories and their contents +%py3_compile %{buildroot}%{python3_sitelib} +%endif %clean rm -rf %{buildroot} @@ -771,21 +930,14 @@ rm -rf %{buildroot} %files %files base -%defattr(-,root,root,-) -%docdir %{_docdir} -%dir %{_docdir}/ceph -%{_docdir}/ceph/sample.ceph.conf -%{_docdir}/ceph/sample.fetch_config %{_bindir}/crushtool %{_bindir}/monmaptool %{_bindir}/osdmaptool %{_bindir}/ceph-run %{_bindir}/ceph-detect-init -%{_bindir}/ceph-client-debug -%{_bindir}/cephfs -%{_unitdir}/ceph-create-keys@.service %{_libexecdir}/systemd/system-preset/50-ceph.preset %{_sbindir}/ceph-create-keys +%{_sbindir}/ceph-disk %{_sbindir}/rcceph %dir %{_libexecdir}/ceph %{_libexecdir}/ceph/ceph_common.sh @@ -796,11 +948,14 @@ rm -rf %{buildroot} %{_libdir}/ceph/erasure-code/libec_*.so* %dir %{_libdir}/ceph/compressor %{_libdir}/ceph/compressor/libceph_*.so* +%ifarch x86_64 +%dir %{_libdir}/ceph/crypto +%{_libdir}/ceph/crypto/libceph_*.so* +%endif %if %{with lttng} %{_libdir}/libos_tp.so* %{_libdir}/libosd_tp.so* %endif -%config %{_sysconfdir}/bash_completion.d/ceph %config(noreplace) %{_sysconfdir}/logrotate.d/ceph %if 0%{?fedora} || 0%{?rhel} %config(noreplace) %{_sysconfdir}/sysconfig/ceph @@ -810,57 +965,74 @@ rm -rf %{buildroot} %config %{_sysconfdir}/sysconfig/SuSEfirewall2.d/services/ceph-mon %config %{_sysconfdir}/sysconfig/SuSEfirewall2.d/services/ceph-osd-mds %endif +%{_unitdir}/ceph-disk@.service %{_unitdir}/ceph.target %{python_sitelib}/ceph_detect_init* %{python_sitelib}/ceph_disk* %{_mandir}/man8/ceph-deploy.8* %{_mandir}/man8/ceph-detect-init.8* %{_mandir}/man8/ceph-create-keys.8* +%{_mandir}/man8/ceph-disk.8* %{_mandir}/man8/ceph-run.8* %{_mandir}/man8/crushtool.8* %{_mandir}/man8/osdmaptool.8* %{_mandir}/man8/monmaptool.8* -%{_mandir}/man8/cephfs.8* #set up placeholder directories %attr(750,ceph,ceph) %dir %{_localstatedir}/lib/ceph/tmp %attr(750,ceph,ceph) %dir %{_localstatedir}/lib/ceph/bootstrap-osd %attr(750,ceph,ceph) %dir %{_localstatedir}/lib/ceph/bootstrap-mds %attr(750,ceph,ceph) %dir %{_localstatedir}/lib/ceph/bootstrap-rgw +%attr(750,ceph,ceph) %dir %{_localstatedir}/lib/ceph/bootstrap-mgr %post base /sbin/ldconfig %if 0%{?suse_version} %fillup_only -if [ $1 -ge 1 ] ; then - /usr/bin/systemctl preset ceph.target >/dev/null 2>&1 || : +if [ $1 -eq 1 ] ; then + /usr/bin/systemctl preset ceph-disk@\*.service ceph.target >/dev/null 2>&1 || : fi %endif %if 0%{?fedora} || 0%{?rhel} -%systemd_post ceph.target +%systemd_post ceph-disk@\*.service ceph.target %endif +if [ $1 -eq 1 ] ; then /usr/bin/systemctl start ceph.target >/dev/null 2>&1 || : +fi %preun base %if 0%{?suse_version} -%service_del_preun ceph.target +%service_del_preun ceph-disk@\*.service ceph.target %endif %if 0%{?fedora} || 0%{?rhel} -%systemd_preun ceph.target +%systemd_preun ceph-disk@\*.service ceph.target %endif %postun base /sbin/ldconfig +test -n "$FIRST_ARG" || FIRST_ARG=$1 %if 0%{?suse_version} DISABLE_RESTART_ON_UPDATE="yes" -%service_del_postun ceph.target +%service_del_postun ceph-disk@\*.service ceph.target %endif %if 0%{?fedora} || 0%{?rhel} -%systemd_postun ceph.target +%systemd_postun ceph-disk@\*.service ceph.target %endif +if [ $FIRST_ARG -ge 1 ] ; then + # Restart on upgrade, but only if "CEPH_AUTO_RESTART_ON_UPGRADE" is set to + # "yes". In any case: if units are not running, do not touch them. + SYSCONF_CEPH=%{_sysconfdir}/sysconfig/ceph + if [ -f $SYSCONF_CEPH -a -r $SYSCONF_CEPH ] ; then + source $SYSCONF_CEPH + fi + if [ "X$CEPH_AUTO_RESTART_ON_UPGRADE" = "Xyes" ] ; then + /usr/bin/systemctl try-restart ceph-disk@\*.service > /dev/null 2>&1 || : + fi +fi -################################################################################# %files common -%defattr(-,root,root,-) +%dir %{_docdir}/ceph +%doc %{_docdir}/ceph/sample.ceph.conf +%doc %{_docdir}/ceph/COPYING %{_bindir}/ceph %{_bindir}/ceph-authtool %{_bindir}/ceph-conf @@ -872,6 +1044,7 @@ DISABLE_RESTART_ON_UPDATE="yes" %{_bindir}/cephfs-journal-tool %{_bindir}/cephfs-table-tool %{_bindir}/rados +%{_bindir}/radosgw-admin %{_bindir}/rbd %{_bindir}/rbd-replay %{_bindir}/rbd-replay-many @@ -895,6 +1068,7 @@ DISABLE_RESTART_ON_UPDATE="yes" %{_mandir}/man8/ceph.8* %{_mandir}/man8/mount.ceph.8* %{_mandir}/man8/rados.8* +%{_mandir}/man8/radosgw-admin.8* %{_mandir}/man8/rbd.8* %{_mandir}/man8/rbdmap.8* %{_mandir}/man8/rbd-replay.8* @@ -905,8 +1079,10 @@ DISABLE_RESTART_ON_UPDATE="yes" %{_datadir}/ceph/id_rsa_drop.ceph.com %{_datadir}/ceph/id_rsa_drop.ceph.com.pub %dir %{_sysconfdir}/ceph/ +%config %{_sysconfdir}/bash_completion.d/ceph %config %{_sysconfdir}/bash_completion.d/rados %config %{_sysconfdir}/bash_completion.d/rbd +%config %{_sysconfdir}/bash_completion.d/radosgw-admin %config(noreplace) %{_sysconfdir}/ceph/rbdmap %{_unitdir}/rbdmap.service %{python_sitelib}/ceph_argparse.py* @@ -935,7 +1111,7 @@ if ! getent passwd ceph >/dev/null ; then useradd ceph $CEPH_USER_ID_OPTION -r -g ceph -s /sbin/nologin 2>/dev/null || : fi usermod -c "Ceph storage service" \ - -d %{_localstatedir}/lib/ceph \ + -d %{_localstatedir}/lib/ceph \ -g ceph \ -s /sbin/nologin \ ceph @@ -952,7 +1128,6 @@ if [ "$1" -eq "0" ] ; then rm -rf %{_sysconfdir}/ceph fi -################################################################################# %files mds %{_bindir}/ceph-mds %{_mandir}/man8/ceph-mds.8* @@ -962,14 +1137,16 @@ fi %post mds %if 0%{?suse_version} -if [ $1 -ge 1 ] ; then +if [ $1 -eq 1 ] ; then /usr/bin/systemctl preset ceph-mds@\*.service ceph-mds.target >/dev/null 2>&1 || : fi %endif %if 0%{?fedora} || 0%{?rhel} %systemd_post ceph-mds@\*.service ceph-mds.target %endif +if [ $1 -eq 1 ] ; then /usr/bin/systemctl start ceph-mds.target >/dev/null 2>&1 || : +fi %preun mds %if 0%{?suse_version} @@ -1000,7 +1177,55 @@ if [ $FIRST_ARG -ge 1 ] ; then fi fi -################################################################################# +%files mgr +%{_bindir}/ceph-mgr +%{_libdir}/ceph/mgr +%{_unitdir}/ceph-mgr@.service +%{_unitdir}/ceph-mgr.target +%attr(750,ceph,ceph) %dir %{_localstatedir}/lib/ceph/mgr + +%post mgr +%if 0%{?suse_version} +if [ $1 -eq 1 ] ; then + /usr/bin/systemctl preset ceph-mgr@\*.service ceph-mgr.target >/dev/null 2>&1 || : +fi +%endif +%if 0%{?fedora} || 0%{?rhel} +%systemd_post ceph-mgr@\*.service ceph-mgr.target +%endif +if [ $1 -eq 1 ] ; then +/usr/bin/systemctl start ceph-mgr.target >/dev/null 2>&1 || : +fi + +%preun mgr +%if 0%{?suse_version} +%service_del_preun ceph-mgr@\*.service ceph-mgr.target +%endif +%if 0%{?fedora} || 0%{?rhel} +%systemd_preun ceph-mgr@\*.service ceph-mgr.target +%endif + +%postun mgr +test -n "$FIRST_ARG" || FIRST_ARG=$1 +%if 0%{?suse_version} +DISABLE_RESTART_ON_UPDATE="yes" +%service_del_postun ceph-mgr@\*.service ceph-mgr.target +%endif +%if 0%{?fedora} || 0%{?rhel} +%systemd_postun ceph-mgr@\*.service ceph-mgr.target +%endif +if [ $FIRST_ARG -ge 1 ] ; then + # Restart on upgrade, but only if "CEPH_AUTO_RESTART_ON_UPGRADE" is set to + # "yes". In any case: if units are not running, do not touch them. + SYSCONF_CEPH=%{_sysconfdir}/sysconfig/ceph + if [ -f $SYSCONF_CEPH -a -r $SYSCONF_CEPH ] ; then + source $SYSCONF_CEPH + fi + if [ "X$CEPH_AUTO_RESTART_ON_UPGRADE" = "Xyes" ] ; then + /usr/bin/systemctl try-restart ceph-mgr@\*.service > /dev/null 2>&1 || : + fi +fi + %files mon %{_bindir}/ceph-mon %{_bindir}/ceph-rest-api @@ -1013,31 +1238,33 @@ fi %post mon %if 0%{?suse_version} -if [ $1 -ge 1 ] ; then - /usr/bin/systemctl preset ceph-create-keys@\*.service ceph-mon@\*.service ceph-mon.target >/dev/null 2>&1 || : +if [ $1 -eq 1 ] ; then + /usr/bin/systemctl preset ceph-mon@\*.service ceph-mon.target >/dev/null 2>&1 || : fi %endif %if 0%{?fedora} || 0%{?rhel} -%systemd_post ceph-create-keys@\*.service ceph-mon@\*.service ceph-mon.target +%systemd_post ceph-mon@\*.service ceph-mon.target %endif +if [ $1 -eq 1 ] ; then /usr/bin/systemctl start ceph-mon.target >/dev/null 2>&1 || : +fi %preun mon %if 0%{?suse_version} -%service_del_preun ceph-create-keys@\*.service ceph-mon@\*.service ceph-mon.target +%service_del_preun ceph-mon@\*.service ceph-mon.target %endif %if 0%{?fedora} || 0%{?rhel} -%systemd_preun ceph-create-keys@\*.service ceph-mon@\*.service ceph-mon.target +%systemd_preun ceph-mon@\*.service ceph-mon.target %endif %postun mon test -n "$FIRST_ARG" || FIRST_ARG=$1 %if 0%{?suse_version} DISABLE_RESTART_ON_UPDATE="yes" -%service_del_postun ceph-create-keys@\*.service ceph-mon@\*.service ceph-mon.target +%service_del_postun ceph-mon@\*.service ceph-mon.target %endif %if 0%{?fedora} || 0%{?rhel} -%systemd_postun ceph-create-keys@\*.service ceph-mon@\*.service ceph-mon.target +%systemd_postun ceph-mon@\*.service ceph-mon.target %endif if [ $FIRST_ARG -ge 1 ] ; then # Restart on upgrade, but only if "CEPH_AUTO_RESTART_ON_UPGRADE" is set to @@ -1047,26 +1274,22 @@ if [ $FIRST_ARG -ge 1 ] ; then source $SYSCONF_CEPH fi if [ "X$CEPH_AUTO_RESTART_ON_UPGRADE" = "Xyes" ] ; then - /usr/bin/systemctl try-restart ceph-create-keys@\*.service ceph-mon@\*.service > /dev/null 2>&1 || : + /usr/bin/systemctl try-restart ceph-mon@\*.service > /dev/null 2>&1 || : fi fi -################################################################################# %files fuse -%defattr(-,root,root,-) %{_bindir}/ceph-fuse %{_mandir}/man8/ceph-fuse.8* %{_sbindir}/mount.fuse.ceph +%{_unitdir}/ceph-fuse@.service +%{_unitdir}/ceph-fuse.target -################################################################################# %files -n rbd-fuse -%defattr(-,root,root,-) %{_bindir}/rbd-fuse %{_mandir}/man8/rbd-fuse.8* -################################################################################# %files -n rbd-mirror -%defattr(-,root,root,-) %{_bindir}/rbd-mirror %{_mandir}/man8/rbd-mirror.8* %{_unitdir}/ceph-rbd-mirror@.service @@ -1074,14 +1297,16 @@ fi %post -n rbd-mirror %if 0%{?suse_version} -if [ $1 -ge 1 ] ; then +if [ $1 -eq 1 ] ; then /usr/bin/systemctl preset ceph-rbd-mirror@\*.service ceph-rbd-mirror.target >/dev/null 2>&1 || : fi %endif %if 0%{?fedora} || 0%{?rhel} %systemd_post ceph-rbd-mirror@\*.service ceph-rbd-mirror.target %endif +if [ $1 -eq 1 ] ; then /usr/bin/systemctl start ceph-rbd-mirror.target >/dev/null 2>&1 || : +fi %preun -n rbd-mirror %if 0%{?suse_version} @@ -1112,36 +1337,32 @@ if [ $FIRST_ARG -ge 1 ] ; then fi fi -################################################################################# %files -n rbd-nbd -%defattr(-,root,root,-) %{_bindir}/rbd-nbd %{_mandir}/man8/rbd-nbd.8* -################################################################################# %files radosgw -%defattr(-,root,root,-) %{_bindir}/radosgw -%{_bindir}/radosgw-admin %{_bindir}/radosgw-token +%{_bindir}/radosgw-es %{_bindir}/radosgw-object-expirer %{_mandir}/man8/radosgw.8* -%{_mandir}/man8/radosgw-admin.8* -%config %{_sysconfdir}/bash_completion.d/radosgw-admin %dir %{_localstatedir}/lib/ceph/radosgw %{_unitdir}/ceph-radosgw@.service %{_unitdir}/ceph-radosgw.target %post radosgw %if 0%{?suse_version} -if [ $1 -ge 1 ] ; then +if [ $1 -eq 1 ] ; then /usr/bin/systemctl preset ceph-radosgw@\*.service ceph-radosgw.target >/dev/null 2>&1 || : fi %endif %if 0%{?fedora} || 0%{?rhel} %systemd_post ceph-radosgw@\*.service ceph-radosgw.target %endif +if [ $1 -eq 1 ] ; then /usr/bin/systemctl start ceph-radosgw.target >/dev/null 2>&1 || : +fi %preun radosgw %if 0%{?suse_version} @@ -1172,56 +1393,53 @@ if [ $FIRST_ARG -ge 1 ] ; then fi fi -################################################################################# %files osd %{_bindir}/ceph-clsinfo -%{_bindir}/ceph-bluefs-tool +%{_bindir}/ceph-bluestore-tool %{_bindir}/ceph-objectstore-tool %{_bindir}/ceph-osd -%{_sbindir}/ceph-disk -%{_sbindir}/ceph-disk-udev %{_libexecdir}/ceph/ceph-osd-prestart.sh %dir %{_udevrulesdir} %{_udevrulesdir}/60-ceph-by-parttypeuuid.rules %{_udevrulesdir}/95-ceph-osd.rules %{_mandir}/man8/ceph-clsinfo.8* -%{_mandir}/man8/ceph-disk.8* %{_mandir}/man8/ceph-osd.8* %if 0%{?rhel} && ! 0%{?centos} -%{_sysconfdir}/cron.hourly/subman +%attr(0755,-,-) %{_sysconfdir}/cron.hourly/subman %endif %{_unitdir}/ceph-osd@.service %{_unitdir}/ceph-osd.target -%{_unitdir}/ceph-disk@.service %attr(750,ceph,ceph) %dir %{_localstatedir}/lib/ceph/osd %post osd %if 0%{?suse_version} -if [ $1 -ge 1 ] ; then - /usr/bin/systemctl preset ceph-disk@\*.service ceph-osd@\*.service ceph-osd.target >/dev/null 2>&1 || : +if [ $1 -eq 1 ] ; then + /usr/bin/systemctl preset ceph-osd@\*.service ceph-osd.target >/dev/null 2>&1 || : fi %endif %if 0%{?fedora} || 0%{?rhel} -%systemd_post ceph-disk@\*.service ceph-osd@\*.service ceph-osd.target +%systemd_post ceph-osd@\*.service ceph-osd.target %endif +if [ $1 -eq 1 ] ; then /usr/bin/systemctl start ceph-osd.target >/dev/null 2>&1 || : +fi %preun osd %if 0%{?suse_version} -%service_del_preun ceph-disk@\*.service ceph-osd@\*.service ceph-osd.target +%service_del_preun ceph-osd@\*.service ceph-osd.target %endif %if 0%{?fedora} || 0%{?rhel} -%systemd_preun ceph-disk@\*.service ceph-osd@\*.service ceph-osd.target +%systemd_preun ceph-osd@\*.service ceph-osd.target %endif %postun osd test -n "$FIRST_ARG" || FIRST_ARG=$1 %if 0%{?suse_version} DISABLE_RESTART_ON_UPDATE="yes" -%service_del_postun ceph-disk@\*.service ceph-osd@\*.service ceph-osd.target +%service_del_postun ceph-osd@\*.service ceph-osd.target %endif %if 0%{?fedora} || 0%{?rhel} -%systemd_postun ceph-disk@\*.service ceph-osd@\*.service ceph-osd.target +%systemd_postun ceph-osd@\*.service ceph-osd.target %endif if [ $FIRST_ARG -ge 1 ] ; then # Restart on upgrade, but only if "CEPH_AUTO_RESTART_ON_UPGRADE" is set to @@ -1231,16 +1449,13 @@ if [ $FIRST_ARG -ge 1 ] ; then source $SYSCONF_CEPH fi if [ "X$CEPH_AUTO_RESTART_ON_UPGRADE" = "Xyes" ] ; then - /usr/bin/systemctl try-restart ceph-disk@\*.service ceph-osd@\*.service > /dev/null 2>&1 || : + /usr/bin/systemctl try-restart ceph-osd@\*.service > /dev/null 2>&1 || : fi fi -################################################################################# %if %{with ocf} %files resource-agents -%defattr(0755,root,root,-) -# N.B. src/ocf/Makefile.am uses $(prefix)/lib %dir %{_prefix}/lib/ocf %dir %{_prefix}/lib/ocf/resource.d %dir %{_prefix}/lib/ocf/resource.d/ceph @@ -1248,28 +1463,25 @@ fi %endif -################################################################################# %files -n librados2 -%defattr(-,root,root,-) %{_libdir}/librados.so.* +%dir %{_libdir}/ceph +%{_libdir}/ceph/libceph-common.so* %if %{with lttng} %{_libdir}/librados_tp.so.* %endif -%post -n librados2 -/sbin/ldconfig +%post -n librados2 -p /sbin/ldconfig -%postun -n librados2 -/sbin/ldconfig +%postun -n librados2 -p /sbin/ldconfig -################################################################################# %files -n librados-devel -%defattr(-,root,root,-) %dir %{_includedir}/rados %{_includedir}/rados/librados.h %{_includedir}/rados/librados.hpp %{_includedir}/rados/buffer.h %{_includedir}/rados/buffer_fwd.h +%{_includedir}/rados/inline_memory.h %{_includedir}/rados/page.h %{_includedir}/rados/crc32c.h %{_includedir}/rados/rados_types.h @@ -1282,34 +1494,28 @@ fi %{_bindir}/librados-config %{_mandir}/man8/librados-config.8* -################################################################################# %files -n python-rados -%defattr(-,root,root,-) %{python_sitearch}/rados.so %{python_sitearch}/rados-*.egg-info -################################################################################# +%files -n python%{python3_pkgversion}-rados +%{python3_sitearch}/rados.cpython*.so +%{python3_sitearch}/rados-*.egg-info + %files -n libradosstriper1 -%defattr(-,root,root,-) %{_libdir}/libradosstriper.so.* -%post -n libradosstriper1 -/sbin/ldconfig +%post -n libradosstriper1 -p /sbin/ldconfig -%postun -n libradosstriper1 -/sbin/ldconfig +%postun -n libradosstriper1 -p /sbin/ldconfig -################################################################################# %files -n libradosstriper-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 %{with lttng} %{_libdir}/librbd_tp.so.* @@ -1320,12 +1526,9 @@ fi mkdir -p /usr/lib64/qemu/ ln -sf %{_libdir}/librbd.so.1 /usr/lib64/qemu/librbd.so.1 -%postun -n librbd1 -/sbin/ldconfig +%postun -n librbd1 -p /sbin/ldconfig -################################################################################# %files -n librbd-devel -%defattr(-,root,root,-) %dir %{_includedir}/rbd %{_includedir}/rbd/librbd.h %{_includedir}/rbd/librbd.hpp @@ -1335,59 +1538,68 @@ ln -sf %{_libdir}/librbd.so.1 /usr/lib64/qemu/librbd.so.1 %{_libdir}/librbd_tp.so %endif -################################################################################# %files -n librgw2 -%defattr(-,root,root,-) %{_libdir}/librgw.so.* -%post -n librgw2 -/sbin/ldconfig +%post -n librgw2 -p /sbin/ldconfig -%postun -n librgw2 -/sbin/ldconfig +%postun -n librgw2 -p /sbin/ldconfig -################################################################################# %files -n librgw-devel -%defattr(-,root,root,-) %dir %{_includedir}/rados %{_includedir}/rados/librgw.h %{_includedir}/rados/rgw_file.h %{_libdir}/librgw.so -################################################################################# +%files -n python-rgw +%{python_sitearch}/rgw.so +%{python_sitearch}/rgw-*.egg-info + +%files -n python%{python3_pkgversion}-rgw +%{python3_sitearch}/rgw.cpython*.so +%{python3_sitearch}/rgw-*.egg-info + %files -n python-rbd -%defattr(-,root,root,-) %{python_sitearch}/rbd.so %{python_sitearch}/rbd-*.egg-info -################################################################################# -%files -n libcephfs1 -%defattr(-,root,root,-) +%files -n python%{python3_pkgversion}-rbd +%{python3_sitearch}/rbd.cpython*.so +%{python3_sitearch}/rbd-*.egg-info + +%files -n libcephfs2 %{_libdir}/libcephfs.so.* -%post -n libcephfs1 -/sbin/ldconfig +%post -n libcephfs2 -p /sbin/ldconfig -%postun -n libcephfs1 -/sbin/ldconfig +%postun -n libcephfs2 -p /sbin/ldconfig -################################################################################# %files -n libcephfs-devel -%defattr(-,root,root,-) %dir %{_includedir}/cephfs %{_includedir}/cephfs/libcephfs.h +%{_includedir}/cephfs/ceph_statx.h %{_libdir}/libcephfs.so -################################################################################# %files -n python-cephfs -%defattr(-,root,root,-) %{python_sitearch}/cephfs.so %{python_sitearch}/cephfs-*.egg-info %{python_sitelib}/ceph_volume_client.py* -################################################################################# +%files -n python%{python3_pkgversion}-cephfs +%{python3_sitearch}/cephfs.cpython*.so +%{python3_sitearch}/cephfs-*.egg-info +%{python3_sitelib}/ceph_volume_client.py +%{python3_sitelib}/__pycache__/ceph_volume_client.cpython*.py* + +%files -n python%{python3_pkgversion}-ceph-argparse +%{python3_sitelib}/ceph_argparse.py +%{python3_sitelib}/__pycache__/ceph_argparse.cpython*.py* +%{python3_sitelib}/ceph_daemon.py +%{python3_sitelib}/__pycache__/ceph_daemon.cpython*.py* + +%if 0%{with ceph_test_package} %files -n ceph-test -%defattr(-,root,root,-) +%{_bindir}/ceph-client-debug %{_bindir}/ceph_bench_log %{_bindir}/ceph_kvstorebench %{_bindir}/ceph_multi_stress_watch @@ -1410,7 +1622,6 @@ ln -sf %{_libdir}/librbd.so.1 /usr/lib64/qemu/librbd.so.1 %{_bindir}/ceph_smalliobenchfs %{_bindir}/ceph_smalliobenchrbd %{_bindir}/ceph_test_* -%{_bindir}/librgw_file* %{_bindir}/ceph_tpbench %{_bindir}/ceph_xattr_bench %{_bindir}/ceph-coverage @@ -1421,35 +1632,30 @@ ln -sf %{_libdir}/librbd.so.1 /usr/lib64/qemu/librbd.so.1 %{_mandir}/man8/ceph-debugpack.8* %dir %{_libdir}/ceph %{_libdir}/ceph/ceph-monstore-update-crush.sh +%endif -################################################################################# %if 0%{with cephfs_java} %files -n libcephfs_jni1 -%defattr(-,root,root,-) %{_libdir}/libcephfs_jni.so.* -%post -n libcephfs_jni1 -/sbin/ldconfig +%post -n libcephfs_jni1 -p /sbin/ldconfig -%postun -n libcephfs_jni1 -/sbin/ldconfig +%postun -n libcephfs_jni1 -p /sbin/ldconfig -################################################################################# %files -n libcephfs_jni-devel -%defattr(-,root,root,-) %{_libdir}/libcephfs_jni.so -################################################################################# %files -n cephfs-java -%defattr(-,root,root,-) %{_javadir}/libcephfs.jar %{_javadir}/libcephfs-test.jar %endif -################################################################################# +%files -n rados-objclass-devel +%dir %{_includedir}/rados +%{_includedir}/rados/objclass.h + %if 0%{with selinux} %files selinux -%defattr(-,root,root,-) %attr(0600,root,root) %{_datadir}/selinux/packages/ceph.pp %{_datadir}/selinux/devel/include/contrib/ceph.if %{_mandir}/man8/ceph_selinux.8* @@ -1483,8 +1689,14 @@ if test $STATUS -eq 0; then /usr/bin/systemctl stop ceph.target > /dev/null 2>&1 fi -# Now, relabel the files -/usr/sbin/fixfiles -C ${FILE_CONTEXT}.pre restore 2> /dev/null +# Relabel the files +# Use ceph-disk fix for first package install and fixfiles otherwise +if [ "$1" = "1" ]; then + /usr/sbin/ceph-disk fix --selinux +else + /usr/sbin/fixfiles -C ${FILE_CONTEXT}.pre restore 2> /dev/null +fi + rm -f ${FILE_CONTEXT}.pre # The fixfiles command won't fix label for /var/run/ceph /usr/sbin/restorecon -R /var/run/ceph > /dev/null 2>&1 @@ -1534,32 +1746,22 @@ exit 0 %endif # with selinux -################################################################################# -%if 0%{with libs_compat} -%files libs-compat -# We need an empty %%files list for ceph-libs-compat, to tell rpmbuild to actually -# build this meta package. -%endif - -################################################################################# -%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 +* Fri Jul 21 2017 Kaleb S. KEITHLEY - 1:12.1.1-1 +- New release (2:12.1.1-1) + * Fri Jul 21 2017 Kalev Lember - 1:10.2.7-3 - Rebuilt for Boost 1.64 * Mon May 15 2017 Fedora Release Engineering - 1:10.2.7-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_26_27_Mass_Rebuild -* Mon Apr 17 2017 Kaleb S. KEITHLEY - 1:10.2.7-2 +* Mon Apr 17 2017 Kaleb S. KEITHLEY - 1:10.2.7-1 - New release (1:10.2.7-1) * Wed Feb 08 2017 Boris Ranto - 1:10.2.5-2 diff --git a/sources b/sources index acb745f..e54b270 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (ceph-10.2.7.tar.gz) = 7e0686e9efa4ddd9d548f4145b448f8232f1ca29b08428daa5cd60a74ce26f1176a1f2ebbf2ac1761d9e6c1d364a5ffa194d2b3a18a8111f59b7c27f7a1d7734 +SHA512 (ceph-12.1.1.tar.gz) = 2355f24c7f2c94f53402f8c26c482af81fd28ee309d33b85ca7891631b3da012733e6f10c10194b9a7a59b047b2227099eb1e1ad27b4b115d0103d17e34a2988