New release (2:14.0.1-1)

- sync with upstream
- drop 32-bit support, it is no longer supported upstream
This commit is contained in:
Boris Ranto 2018-12-04 22:24:42 +01:00
parent 4c70f88757
commit 2b3fa8bef4
6 changed files with 132 additions and 3660 deletions

View File

@ -5,8 +5,6 @@ Subject: [PATCH 1/4] f30 python3 execs
---
src/ceph-create-keys | 2 +-
src/ceph-detect-init/ceph_detect_init/main.py | 2 +-
src/ceph-disk/ceph_disk/main.py | 2 +-
src/ceph-volume/bin/ceph-volume | 2 +-
src/ceph-volume/bin/ceph-volume-systemd | 2 +-
src/ceph.in | 2 +-
@ -23,26 +21,6 @@ index c14c02f28d..7e80aab6a2 100755
import argparse
import errno
import json
diff --git a/src/ceph-detect-init/ceph_detect_init/main.py b/src/ceph-detect-init/ceph_detect_init/main.py
index 320ae17032..c18ce74c1c 100644
--- a/src/ceph-detect-init/ceph_detect_init/main.py
+++ b/src/ceph-detect-init/ceph_detect_init/main.py
@@ -1,4 +1,4 @@
-#!/usr/bin/env python
+#!/usr/bin/python3
#
# Copyright (C) 2015 <contact@redhat.com>
# Copyright (C) 2015 SUSE LINUX GmbH
diff --git a/src/ceph-disk/ceph_disk/main.py b/src/ceph-disk/ceph_disk/main.py
index 639c49e7e1..bfcce98351 100644
--- a/src/ceph-disk/ceph_disk/main.py
+++ b/src/ceph-disk/ceph_disk/main.py
@@ -1,4 +1,4 @@
-#!/usr/bin/env python
+#!/usr/bin/python3
#
# Copyright (C) 2015, 2016, 2017 Red Hat <contact@redhat.com>
# Copyright (C) 2014 Inktank <info@inktank.com>
diff --git a/src/ceph-volume/bin/ceph-volume b/src/ceph-volume/bin/ceph-volume
index 5905cfccc0..a4f62b4a1f 100755
--- a/src/ceph-volume/bin/ceph-volume

View File

@ -1,158 +0,0 @@
From e0c90eac818bb3cab041f983b60ba560a9f36dca Mon Sep 17 00:00:00 2001
From: Boris Ranto <branto@redhat.com>
Date: Tue, 27 Nov 2018 00:30:56 +0100
Subject: [PATCH 2/4] 32-bit compile patch
---
src/common/ceph_context.h | 2 +-
src/mon/OSDMonitor.cc | 2 +-
src/os/bluestore/BlueStore.cc | 2 +-
src/osd/PrimaryLogPG.cc | 3 ++-
src/rgw/rgw_op.h | 4 ++--
src/rgw/rgw_rest_swift.cc | 6 +++---
src/rgw/rgw_sync_log_trim.cc | 2 +-
src/test/rbd_mirror/test_ImageSync.cc | 2 +-
8 files changed, 12 insertions(+), 11 deletions(-)
diff --git a/src/common/ceph_context.h b/src/common/ceph_context.h
index 6af282225c..cde7388fe9 100644
--- a/src/common/ceph_context.h
+++ b/src/common/ceph_context.h
@@ -144,7 +144,7 @@ public:
void do_command(std::string_view command, const cmdmap_t& cmdmap,
std::string_view format, ceph::bufferlist *out);
- static constexpr std::size_t largest_singleton = sizeof(void*) * 72;
+ static constexpr std::size_t largest_singleton = 8 * 72; // Sizeof 64-bit pointer * 72
template<typename T, typename... Args>
T& lookup_or_create_singleton_object(std::string_view name,
diff --git a/src/mon/OSDMonitor.cc b/src/mon/OSDMonitor.cc
index da55af1519..4915d3b581 100644
--- a/src/mon/OSDMonitor.cc
+++ b/src/mon/OSDMonitor.cc
@@ -821,7 +821,7 @@ OSDMonitor::update_pending_pgs(const OSDMap::Incremental& inc,
<< " modified " << p->second.modified
<< " [" << p->second.start << "-" << p->second.end << ")"
<< dendl;
- int n = std::min(max - pending_creatings.pgs.size(),
+ int n = std::min<int>(max - pending_creatings.pgs.size(),
p->second.end - p->second.start);
ps_t first = p->second.start;
ps_t end = first + n;
diff --git a/src/os/bluestore/BlueStore.cc b/src/os/bluestore/BlueStore.cc
index 0c4fbc0bf9..70f4e2f284 100644
--- a/src/os/bluestore/BlueStore.cc
+++ b/src/os/bluestore/BlueStore.cc
@@ -12276,7 +12276,7 @@ size_t BlueStoreRepairer::StoreSpaceTracker::filter_out(
if (e.second == 0) {
continue;
}
- size_t pos = max(e.first / granularity, prev_pos);
+ size_t pos = max<size_t>(e.first / granularity, prev_pos);
size_t end_pos = 1 + (e.first + e.second - 1) / granularity;
while (pos != npos && pos < end_pos) {
ceph_assert( collections_bfs[pos].element_count() ==
diff --git a/src/osd/PrimaryLogPG.cc b/src/osd/PrimaryLogPG.cc
index e65171eec1..eeb2de2bc1 100644
--- a/src/osd/PrimaryLogPG.cc
+++ b/src/osd/PrimaryLogPG.cc
@@ -20,6 +20,7 @@
#include "PG.h"
#include "PrimaryLogPG.h"
#include "OSD.h"
+#include <algorithm>
#include "OpRequest.h"
#include "ScrubStore.h"
#include "Session.h"
@@ -1635,7 +1636,7 @@ void PrimaryLogPG::calc_trim_to()
pg_log.get_log().approx_size() > target) {
dout(10) << __func__ << " approx pg log length = "
<< pg_log.get_log().approx_size() << dendl;
- size_t num_to_trim = std::min(pg_log.get_log().approx_size() - target,
+ size_t num_to_trim = std::min<size_t>(pg_log.get_log().approx_size() - target,
cct->_conf->osd_pg_log_trim_max);
dout(10) << __func__ << " num_to_trim = " << num_to_trim << dendl;
if (num_to_trim < cct->_conf->osd_pg_log_trim_min &&
diff --git a/src/rgw/rgw_op.h b/src/rgw/rgw_op.h
index ba3db09821..22fd91c7f4 100644
--- a/src/rgw/rgw_op.h
+++ b/src/rgw/rgw_op.h
@@ -1977,7 +1977,7 @@ static inline int rgw_get_request_metadata(CephContext* const cct,
* as ObjectStore::get_max_attr_name_length() can set the limit even
* lower than the "osd_max_attr_name_len" configurable. */
const size_t max_attr_name_len = \
- cct->_conf->get_val<size_t>("rgw_max_attr_name_len");
+ cct->_conf->get_val<Option::size_t>("rgw_max_attr_name_len");
if (max_attr_name_len && attr_name.length() > max_attr_name_len) {
return -ENAMETOOLONG;
}
@@ -1993,7 +1993,7 @@ static inline int rgw_get_request_metadata(CephContext* const cct,
/* Swift allows administrators to limit the number of metadats items
* send _in a single request_. */
const auto rgw_max_attrs_num_in_req = \
- cct->_conf->get_val<size_t>("rgw_max_attrs_num_in_req");
+ cct->_conf->get_val<Option::size_t>("rgw_max_attrs_num_in_req");
if (rgw_max_attrs_num_in_req &&
++valid_meta_count > rgw_max_attrs_num_in_req) {
return -E2BIG;
diff --git a/src/rgw/rgw_rest_swift.cc b/src/rgw/rgw_rest_swift.cc
index ebf2803b62..70cef69f5c 100644
--- a/src/rgw/rgw_rest_swift.cc
+++ b/src/rgw/rgw_rest_swift.cc
@@ -724,7 +724,7 @@ static inline int handle_metadata_errors(req_state* const s, const int op_ret)
} else if (op_ret == -E2BIG) {
const auto error_message = boost::str(
boost::format("Too many metadata items; max %lld")
- % s->cct->_conf->get_val<size_t>("rgw_max_attrs_num_in_req"));
+ % s->cct->_conf->get_val<Option::size_t>("rgw_max_attrs_num_in_req"));
set_req_state_err(s, EINVAL, error_message);
return -EINVAL;
}
@@ -1779,7 +1779,7 @@ void RGWInfo_ObjStore_SWIFT::list_swift_data(Formatter& formatter,
formatter.dump_string("version", ceph_version);
const size_t max_attr_name_len = \
- g_conf->get_val<size_t>("rgw_max_attr_name_len");
+ g_conf->get_val<Option::size_t>("rgw_max_attr_name_len");
if (max_attr_name_len) {
const size_t meta_name_limit = \
max_attr_name_len - strlen(RGW_ATTR_PREFIX RGW_AMZ_META_PREFIX);
@@ -1792,7 +1792,7 @@ void RGWInfo_ObjStore_SWIFT::list_swift_data(Formatter& formatter,
}
const size_t meta_num_limit = \
- g_conf->get_val<size_t>("rgw_max_attrs_num_in_req");
+ g_conf->get_val<Option::size_t>("rgw_max_attrs_num_in_req");
if (meta_num_limit) {
formatter.dump_int("max_meta_count", meta_num_limit);
}
diff --git a/src/rgw/rgw_sync_log_trim.cc b/src/rgw/rgw_sync_log_trim.cc
index e1002253b8..b14d7e80be 100644
--- a/src/rgw/rgw_sync_log_trim.cc
+++ b/src/rgw/rgw_sync_log_trim.cc
@@ -351,7 +351,7 @@ int take_min_status(CephContext *cct, Iter first, Iter last,
status->clear();
// The initialisation below is required to silence a false positive
// -Wmaybe-uninitialized warning
- boost::optional<size_t> num_shards = boost::make_optional(false, 0UL);
+ boost::optional<size_t> num_shards = boost::make_optional(false, (size_t)0);
for (auto peer = first; peer != last; ++peer) {
const size_t peer_shards = peer->size();
if (!num_shards) {
diff --git a/src/test/rbd_mirror/test_ImageSync.cc b/src/test/rbd_mirror/test_ImageSync.cc
index 5ef2cbe77a..15a98423c8 100644
--- a/src/test/rbd_mirror/test_ImageSync.cc
+++ b/src/test/rbd_mirror/test_ImageSync.cc
@@ -41,7 +41,7 @@ int flush(librbd::ImageCtx *image_ctx) {
void scribble(librbd::ImageCtx *image_ctx, int num_ops, size_t max_size)
{
- max_size = std::min(image_ctx->size, max_size);
+ max_size = std::min<size_t>(image_ctx->size, max_size);
for (int i=0; i<num_ops; i++) {
uint64_t off = rand() % (image_ctx->size - max_size + 1);
uint64_t len = 1 + rand() % max_size;
--
2.19.1

View File

@ -1,32 +0,0 @@
From 9fa9fbe96deb565188ba6740c3200a67c499d68a Mon Sep 17 00:00:00 2001
From: Brad Hubbard <bhubbard@redhat.com>
Date: Thu, 13 Sep 2018 13:19:02 +1000
Subject: [PATCH 3/4] mgr: Change signature of PyString_AsString to match
return
PyUnicode_AsUTF8 now returns 'const char*'
Fixes: http://tracker.ceph.com/issues/35984
Signed-off-by: Brad Hubbard <bhubbard@redhat.com>
(cherry picked from commit b29c65623f508082ded87af6f8d068ce8882f936)
---
src/mgr/PythonCompat.h | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/mgr/PythonCompat.h b/src/mgr/PythonCompat.h
index 745dad1a7e..7bbaf9c43c 100644
--- a/src/mgr/PythonCompat.h
+++ b/src/mgr/PythonCompat.h
@@ -13,7 +13,7 @@
inline PyObject* PyString_FromString(const char *v) {
return PyUnicode_FromFormat("%s", v);
}
-inline char* PyString_AsString(PyObject *string) {
+inline const char* PyString_AsString(PyObject *string) {
return PyUnicode_AsUTF8(string);
}
inline long PyInt_AsLong(PyObject *io) {
--
2.19.1

File diff suppressed because it is too large Load Diff

222
ceph.spec
View File

@ -18,14 +18,8 @@
# https://fedoraproject.org/wiki/Changes/No_more_automagic_Python_bytecompilation_phase_2
%global _python_bytecompile_extra 1
%global _hardened_build 1
%global fixme 0
%bcond_without ocf
%ifnarch armv7hl
%bcond_without cephfs_java
%else
%bcond_with cephfs_java
%endif
%bcond_with make_check
%ifarch s390 s390x
%bcond_with tcmalloc
@ -35,6 +29,7 @@
%if 0%{?fedora} || 0%{?rhel}
%bcond_without selinux
%bcond_without ceph_test_package
%bcond_without cephfs_java
%bcond_without lttng
%bcond_without libradosstriper
%global _remote_tarball_prefix https://download.ceph.com/tarballs/
@ -42,6 +37,7 @@
%if 0%{?suse_version}
%bcond_with selinux
%bcond_with ceph_test_package
%bcond_with cephfs_java
#Compat macro for new _fillupdir macro introduced in Nov 2017
%if ! %{defined _fillupdir}
%global _fillupdir /var/adm/fillup-templates
@ -58,11 +54,21 @@
%endif
%endif
%endif
%if 0%{?fedora} >= 30 || 0%{?suse_version} >= 1500
%bcond_without python2
%bcond_with seastar
%if 0%{?fedora} || 0%{?suse_version} >= 1500
# distros where py2 is _optional_
%bcond_with python2
%else
# distros where py2 is _mandatory_
%bcond_without python2
%endif
%if 0%{?fedora} || 0%{?suse_version} >= 1500
# distros that ship cmd2 and/or colorama
%bcond_without cephfs_shell
%else
# distros that do _not_ ship cmd2/colorama
%bcond_with cephfs_shell
%endif
%if 0%{without python2}
%global _defined_if_python2_absent 1
%endif
@ -89,7 +95,7 @@
# main package definition
#################################################################################
Name: ceph
Version: 13.2.2
Version: 14.0.1
Release: 1%{?dist}
%if 0%{?fedora} || 0%{?rhel}
Epoch: 2
@ -105,19 +111,9 @@ License: LGPL-2.1 and CC-BY-SA-3.0 and GPL-2.0 and BSL-1.0 and BSD-3-Clause and
Group: System/Filesystems
%endif
URL: http://ceph.com/
Source0: %{?_remote_tarball_prefix}ceph-13.2.2.tar.bz2
Source0: %{?_remote_tarball_prefix}ceph-14.0.1.tar.bz2
Patch001: 0001-f30-python3-execs.patch
Patch002: 0002-32-bit-compile-patch.patch
Patch003: 0003-mgr-Change-signature-of-PyString_AsString-to-match-r.patch
#Patch004: 0004-Rename-include-assert.h.patch
%if 0%{?suse_version}
# _insert_obs_source_lines_here
%if 0%{?is_opensuse}
ExclusiveArch: x86_64 aarch64 ppc64 ppc64le
%else
ExclusiveArch: x86_64 aarch64 ppc64le s390x
%endif
%endif
ExcludeArch: i686 armv7hl
#################################################################################
# dependencies that apply across all distro families
#################################################################################
@ -136,20 +132,29 @@ BuildRequires: selinux-policy-devel
%endif
BuildRequires: bc
BuildRequires: gperf
BuildRequires: cmake
%if 0%{?rhel} == 7
BuildRequires: cmake3 > 3.5
%else
BuildRequires: cmake > 3.5
%endif
BuildRequires: cryptsetup
BuildRequires: fuse-devel
%if 0%{?rhel} == 7
# devtoolset offers newer make and valgrind-devel, but the old ones are good
# enough.
BuildRequires: devtoolset-7-gcc-c++
BuildRequires: devtoolset-7-gcc-c++ >= 7.3.1
%else
BuildRequires: gcc-c++
%endif
BuildRequires: gdbm
%if 0%{with tcmalloc}
%if 0%{?fedora} || 0%{?rhel}
BuildRequires: gperftools-devel >= 2.6.1
%endif
%if 0%{?suse_version}
BuildRequires: gperftools-devel >= 2.4
%endif
%endif
BuildRequires: jq
BuildRequires: leveldb-devel > 1.2
BuildRequires: libaio-devel
@ -168,6 +173,7 @@ BuildRequires: procps
BuildRequires: python%{_python_buildid}
BuildRequires: python%{_python_buildid}-devel
BuildRequires: snappy-devel
BuildRequires: sudo
BuildRequires: udev
BuildRequires: util-linux
BuildRequires: valgrind-devel
@ -186,7 +192,17 @@ BuildRequires: python%{_python_buildid}-tox
BuildRequires: python%{_python_buildid}-virtualenv
BuildRequires: socat
%endif
%if 0%{with seastar}
BuildRequires: c-ares-devel
BuildRequires: gnutls-devel
BuildRequires: hwloc-devel
BuildRequires: libpciaccess-devel
BuildRequires: lksctp-tools-devel
BuildRequires: protobuf-devel
BuildRequires: ragel
BuildRequires: systemtap-sdt-devel
BuildRequires: yaml-cpp-devel
%endif
#################################################################################
# distro-conditional dependencies
#################################################################################
@ -219,6 +235,7 @@ BuildRequires: btrfs-progs
BuildRequires: nss-devel
BuildRequires: keyutils-libs-devel
BuildRequires: libibverbs-devel
BuildRequires: librdmacm-devel
BuildRequires: openldap-devel
BuildRequires: openssl-devel
BuildRequires: CUnit-devel
@ -275,6 +292,17 @@ BuildRequires: expat-devel
%if 0%{?fedora} || 0%{?rhel}
BuildRequires: redhat-rpm-config
%endif
%if 0%{with seastar}
%if 0%{?fedora} || 0%{?rhel}
BuildRequires: cryptopp-devel
BuildRequires: numactl-devel
BuildRequires: protobuf-compiler
%endif
%if 0%{?suse_version}
BuildRequires: libcryptopp-devel
BuildRequires: libnuma-devel
%endif
%endif
%description
Ceph is a massively scalable, open-source, distributed storage system that runs
@ -289,6 +317,7 @@ Summary: Ceph Base Package
%if 0%{?suse_version}
Group: System/Filesystems
%endif
Provides: ceph-test:/usr/bin/ceph-kvstore-tool
Requires: ceph-common = %{_epoch_prefix}%{version}-%{release}
Requires: librbd1 = %{_epoch_prefix}%{version}-%{release}
Requires: librados2 = %{_epoch_prefix}%{version}-%{release}
@ -331,6 +360,7 @@ Requires: python%{_python_buildid}-rados = %{_epoch_prefix}%{version}-%{release}
Requires: python%{_python_buildid}-rbd = %{_epoch_prefix}%{version}-%{release}
Requires: python%{_python_buildid}-cephfs = %{_epoch_prefix}%{version}-%{release}
Requires: python%{_python_buildid}-rgw = %{_epoch_prefix}%{version}-%{release}
Requires: python%{_python_buildid}-ceph-argparse = %{_epoch_prefix}%{version}-%{release}
%if 0%{?fedora} || 0%{?rhel}
Requires: python%{_python_buildid}-prettytable
Requires: python%{_python_buildid}-requests
@ -366,6 +396,7 @@ Summary: Ceph Monitor Daemon
%if 0%{?suse_version}
Group: System/Filesystems
%endif
Provides: ceph-test:/usr/bin/ceph-monstore-tool
Requires: ceph-base = %{_epoch_prefix}%{version}-%{release}
%description mon
ceph-mon is the cluster monitor daemon for the Ceph distributed file
@ -483,8 +514,10 @@ Summary: Ceph Object Storage Daemon
%if 0%{?suse_version}
Group: System/Filesystems
%endif
Provides: ceph-test:/usr/bin/ceph-osdomap-tool
Requires: ceph-base = %{_epoch_prefix}%{version}-%{release}
Requires: lvm2
Requires: sudo
%description osd
ceph-osd is the object storage daemon for the Ceph distributed file
system. It is responsible for storing objects on a local file system
@ -710,9 +743,8 @@ Summary: Python 2 libraries for Ceph distributed file system
Group: Development/Libraries/Python
%endif
Requires: libcephfs2 = %{_epoch_prefix}%{version}-%{release}
%if 0%{?suse_version}
Recommends: python-rados = %{_epoch_prefix}%{version}-%{release}
%endif
Requires: python-rados = %{_epoch_prefix}%{version}-%{release}
Requires: python-ceph-argparse = %{_epoch_prefix}%{version}-%{release}
Obsoletes: python-ceph < %{_epoch_prefix}%{version}-%{release}
%description -n python-cephfs
This package contains Python 2 libraries for interacting with Cephs distributed
@ -726,11 +758,24 @@ Group: Development/Libraries/Python
%endif
Requires: libcephfs2 = %{_epoch_prefix}%{version}-%{release}
Requires: python%{python3_pkgversion}-rados = %{_epoch_prefix}%{version}-%{release}
Requires: python%{python3_pkgversion}-ceph-argparse = %{_epoch_prefix}%{version}-%{release}
%description -n python%{python3_pkgversion}-cephfs
This package contains Python 3 libraries for interacting with Cephs distributed
file system.
%if 0%{with python2}
%package -n python-ceph-argparse
Summary: Python 2 utility libraries for Ceph CLI
%if 0%{?suse_version}
Group: Development/Libraries/Python
%endif
%description -n python-ceph-argparse
This package contains types and routines for Python 2 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.
%endif
%package -n python%{python3_pkgversion}-ceph-argparse
Summary: Python 3 utility libraries for Ceph CLI
%if 0%{?suse_version}
@ -741,6 +786,17 @@ 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 cephfs_shell}
%package -n cephfs-shell
Summary: Interactive shell for Ceph file system
Requires: python%{python3_pkgversion}-cmd2
Requires: python%{python3_pkgversion}-colorama
Requires: python%{python3_pkgversion}-cephfs
%description -n cephfs-shell
This package contains an interactive tool that allows accessing a Ceph
file system without mounting it by providing a nice pseudo-shell which
works like an FTP client.
%endif
%if 0%{with ceph_test_package}
@ -850,7 +906,7 @@ python-rbd, python-rgw or python-cephfs instead.
# common
#################################################################################
%prep
%autosetup -p1 -n ceph-13.2.2
%autosetup -p1 -n ceph-14.0.1
%build
@ -869,13 +925,6 @@ done
# the following setting fixed an OOM condition we once encountered in the OBS
RPM_OPT_FLAGS="$RPM_OPT_FLAGS --param ggc-min-expand=20 --param ggc-min-heapsize=32768"
%endif
%ifnarch armv7hl
export RPM_OPT_FLAGS=`echo $RPM_OPT_FLAGS | sed -e 's/i386/i486/'`
%else
# Assume low mem builder for armv7hl and lower garbage collection settings
export RPM_OPT_FLAGS="$(echo $RPM_OPT_FLAGS | sed -e 's/i386/i486/' -e 's/-pipe //g' -e 's/-O2 //g') --param ggc-min-expand=20 --param ggc-min-heapsize=32768"
%endif
export CPPFLAGS="$java_inc"
export CFLAGS="$RPM_OPT_FLAGS"
@ -908,7 +957,12 @@ env | sort
mkdir build
cd build
cmake .. \
%if 0%{?rhel} == 7
CMAKE=cmake3
%else
CMAKE=cmake
%endif
${CMAKE} .. \
-DCMAKE_INSTALL_PREFIX=%{_prefix} \
-DCMAKE_INSTALL_LIBDIR=%{_libdir} \
-DCMAKE_INSTALL_LIBEXECDIR=%{_libexecdir} \
@ -917,13 +971,8 @@ cmake .. \
-DCMAKE_INSTALL_MANDIR=%{_mandir} \
-DCMAKE_INSTALL_DOCDIR=%{_docdir}/ceph \
-DCMAKE_INSTALL_INCLUDEDIR=%{_includedir} \
-DWITH_EMBEDDED=OFF \
-DWITH_MANPAGE=ON \
-DWITH_PYTHON3=ON \
-DWITH_SPDK=OFF \
-DWITH_PMEM=OFF \
-DWITH_BOOST_CONTEXT=OFF \
-DWITH_LEVELDB=OFF \
-DWITH_MGR_DASHBOARD_FRONTEND=OFF \
%if %{with python2}
-DWITH_PYTHON2=ON \
@ -955,12 +1004,12 @@ cmake .. \
-DWITH_OCF=ON \
%endif
%ifarch aarch64 armv7hl mips mipsel ppc ppc64 ppc64le %{ix86} x86_64
-DWITH_RADOSGW_BEAST_FRONTEND=ON \
-DWITH_BOOST_CONTEXT=ON \
%else
-DWITH_RADOSGW_BEAST_FRONTEND=OFF \
-DWITH_BOOST_CONTEXT=OFF \
%endif
%ifnarch %{arm}
-DWITH_RDMA=OFF \
%if 0%{with cephfs_shell}
-DWITH_CEPHFS_SHELL=ON \
%endif
%if 0%{with libradosstriper}
-DWITH_LIBRADOSSTRIPER=ON \
@ -1011,8 +1060,9 @@ ln -sf %{_sbindir}/mount.ceph %{buildroot}/sbin/mount.ceph
# udev rules
install -m 0644 -D udev/50-rbd.rules %{buildroot}%{_udevrulesdir}/50-rbd.rules
install -m 0644 -D udev/60-ceph-by-parttypeuuid.rules %{buildroot}%{_udevrulesdir}/60-ceph-by-parttypeuuid.rules
install -m 0644 -D udev/95-ceph-osd.rules %{buildroot}%{_udevrulesdir}/95-ceph-osd.rules
# sudoers.d
install -m 0600 -D sudoers.d/ceph-osd-smartctl %{buildroot}%{_sysconfdir}/sudoers.d/ceph-osd-smartctl
#set up placeholder directories
mkdir -p %{buildroot}%{_sysconfdir}/ceph
@ -1023,6 +1073,8 @@ 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/crash
mkdir -p %{buildroot}%{_localstatedir}/lib/ceph/crash/posted
mkdir -p %{buildroot}%{_localstatedir}/lib/ceph/radosgw
mkdir -p %{buildroot}%{_localstatedir}/lib/ceph/bootstrap-osd
mkdir -p %{buildroot}%{_localstatedir}/lib/ceph/bootstrap-mds
@ -1044,15 +1096,14 @@ rm -rf %{buildroot}
%files
%files base
%{_bindir}/ceph-crash
%{_bindir}/crushtool
%{_bindir}/monmaptool
%{_bindir}/osdmaptool
%{_bindir}/ceph-kvstore-tool
%{_bindir}/ceph-run
%{_bindir}/ceph-detect-init
%{_libexecdir}/systemd/system-preset/50-ceph.preset
%{_sbindir}/ceph-create-keys
%{_sbindir}/ceph-disk
%dir %{_libexecdir}/ceph
%{_libexecdir}/ceph/ceph_common.sh
%dir %{_libdir}/rados-classes
@ -1062,6 +1113,7 @@ rm -rf %{buildroot}
%{_libdir}/ceph/erasure-code/libec_*.so*
%dir %{_libdir}/ceph/compressor
%{_libdir}/ceph/compressor/libceph_*.so*
%{_unitdir}/ceph-crash.service
%ifarch x86_64
%dir %{_libdir}/ceph/crypto
%{_libdir}/ceph/crypto/libceph_*.so*
@ -1079,16 +1131,8 @@ 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
%if 0%{with python2}
%{python_sitelib}/ceph_detect_init*
%{python_sitelib}/ceph_disk*
%else
%{python3_sitelib}/ceph_detect_init*
%{python3_sitelib}/ceph_disk*
%endif
%if 0%{with python2}
%dir %{python_sitelib}/ceph_volume
%{python_sitelib}/ceph_volume/*
%{python_sitelib}/ceph_volume-*
@ -1098,15 +1142,15 @@ rm -rf %{buildroot}
%{python3_sitelib}/ceph_volume-*
%endif
%{_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/ceph-kvstore-tool.8*
#set up placeholder directories
%attr(750,ceph,ceph) %dir %{_localstatedir}/lib/ceph/crash
%attr(750,ceph,ceph) %dir %{_localstatedir}/lib/ceph/crash/posted
%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
@ -1119,22 +1163,22 @@ rm -rf %{buildroot}
%if 0%{?suse_version}
%fillup_only
if [ $1 -eq 1 ] ; then
/usr/bin/systemctl preset ceph-disk@\*.service ceph.target >/dev/null 2>&1 || :
/usr/bin/systemctl preset ceph.target ceph-crash.service >/dev/null 2>&1 || :
fi
%endif
%if 0%{?fedora} || 0%{?rhel}
%systemd_post ceph-disk@\*.service ceph.target
%systemd_post ceph.target ceph-crash.service
%endif
if [ $1 -eq 1 ] ; then
/usr/bin/systemctl start ceph.target >/dev/null 2>&1 || :
/usr/bin/systemctl start ceph.target ceph-crash.service >/dev/null 2>&1 || :
fi
%preun base
%if 0%{?suse_version}
%service_del_preun ceph-disk@\*.service ceph.target
%service_del_preun ceph.target ceph-crash.service
%endif
%if 0%{?fedora} || 0%{?rhel}
%systemd_preun ceph-disk@\*.service ceph.target
%systemd_preun ceph.target ceph-crash.service
%endif
%postun base
@ -1142,10 +1186,10 @@ fi
test -n "$FIRST_ARG" || FIRST_ARG=$1
%if 0%{?suse_version}
DISABLE_RESTART_ON_UPDATE="yes"
%service_del_postun ceph-disk@\*.service ceph.target
%service_del_postun ceph.target
%endif
%if 0%{?fedora} || 0%{?rhel}
%systemd_postun ceph-disk@\*.service ceph.target
%systemd_postun ceph.target
%endif
if [ $FIRST_ARG -ge 1 ] ; then
# Restart on upgrade, but only if "CEPH_AUTO_RESTART_ON_UPGRADE" is set to
@ -1154,9 +1198,6 @@ if [ $FIRST_ARG -ge 1 ] ; then
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
@ -1213,15 +1254,6 @@ fi
%config %{_sysconfdir}/bash_completion.d/radosgw-admin
%config(noreplace) %{_sysconfdir}/ceph/rbdmap
%{_unitdir}/rbdmap.service
%if 0%{with python2}
%{python_sitelib}/ceph_argparse.py*
%{python_sitelib}/ceph_daemon.py*
%else
%{python3_sitelib}/ceph_argparse.py
%{python3_sitelib}/__pycache__/ceph_argparse.cpython*.py*
%{python3_sitelib}/ceph_daemon.py
%{python3_sitelib}/__pycache__/ceph_daemon.cpython*.py*
%endif
%dir %{_udevrulesdir}
%{_udevrulesdir}/50-rbd.rules
%attr(3770,ceph,ceph) %dir %{_localstatedir}/log/ceph/
@ -1535,9 +1567,6 @@ fi
%{_libexecdir}/ceph/ceph-osd-prestart.sh
%{_sbindir}/ceph-volume
%{_sbindir}/ceph-volume-systemd
%dir %{_udevrulesdir}
%{_udevrulesdir}/60-ceph-by-parttypeuuid.rules
%{_udevrulesdir}/95-ceph-osd.rules
%{_mandir}/man8/ceph-clsinfo.8*
%{_mandir}/man8/ceph-osd.8*
%{_mandir}/man8/ceph-bluestore-tool.8*
@ -1551,6 +1580,7 @@ fi
%{_unitdir}/ceph-volume@.service
%attr(750,ceph,ceph) %dir %{_localstatedir}/lib/ceph/osd
%config(noreplace) %{_sysctldir}/90-ceph-osd.conf
%{_sysconfdir}/sudoers.d/ceph-osd-smartctl
%post osd
%if 0%{?suse_version}
@ -1569,8 +1599,6 @@ fi
%else
/usr/lib/systemd/systemd-sysctl %{_sysctldir}/90-ceph-osd.conf > /dev/null 2>&1 || :
%endif
# work around https://tracker.ceph.com/issues/24903
chown -f -h ceph:ceph /var/lib/ceph/osd/*/block* 2>&1 > /dev/null || :
%preun osd
%if 0%{?suse_version}
@ -1634,7 +1662,6 @@ fi
%{_includedir}/rados/crc32c.h
%{_includedir}/rados/rados_types.h
%{_includedir}/rados/rados_types.hpp
%{_includedir}/rados/memory.h
%{_libdir}/librados.so
%if %{with lttng}
%{_libdir}/librados_tp.so
@ -1689,6 +1716,7 @@ fi
%files -n librgw2
%{_libdir}/librgw.so.*
%{_libdir}/librgw_admin_user.so.*
%if %{with lttng}
%{_libdir}/librgw_op_tp.so*
%{_libdir}/librgw_rados_tp.so*
@ -1701,8 +1729,10 @@ fi
%files -n librgw-devel
%dir %{_includedir}/rados
%{_includedir}/rados/librgw.h
%{_includedir}/rados/librgw_admin_user.h
%{_includedir}/rados/rgw_file.h
%{_libdir}/librgw.so
%{_libdir}/librgw_admin_user.so
%if 0%{with python2}
%files -n python-rgw
@ -1751,11 +1781,21 @@ fi
%{python3_sitelib}/__pycache__/ceph_volume_client.cpython*.py*
%if 0%{with python2}
%files -n python-ceph-argparse
%{python_sitelib}/ceph_argparse.py*
%{python_sitelib}/ceph_daemon.py*
%endif
%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 cephfs_shell}
%files -n cephfs-shell
%{python3_sitelib}/cephfs_shell-*.egg-info
%{_bindir}/cephfs-shell
%endif
%if 0%{with ceph_test_package}
@ -1841,13 +1881,8 @@ if test $STATUS -eq 0; then
/usr/bin/systemctl stop ceph.target > /dev/null 2>&1
fi
# 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
# Relabel the files fix for first package install
/usr/sbin/fixfiles -C ${FILE_CONTEXT}.pre restore 2> /dev/null
rm -f ${FILE_CONTEXT}.pre
# The fixfiles command won't fix label for /var/run/ceph
@ -1906,6 +1941,11 @@ exit 0
%changelog
* Tue Dec 04 2018 Boris Ranto <branto@redhat.com> - 2:14.0.1-1
- New release (2:14.0.1-1)
- Sync with upstream
- Drop 32-bit support
* Wed Nov 21 2018 Boris Ranto <branto@redhat.com> - 2:13.2.2-1
- New release (2:13.2.2-1)
- Sync with upstream

View File

@ -1 +1 @@
SHA512 (ceph-13.2.2.tar.bz2) = 04cf65503120f64fcc834498f509f385d5427b09c7690bc18318d39242f48786f4703b10fae3055f7fbe9edae84bb9dae0e9b7a3bcd092bf3e257ad274d183b6
SHA512 (ceph-14.0.1.tar.bz2) = a949ea3cbd6ee0cae1cf60193b3e8de80b7af43155869f8f504e2aeedc7ee2db5d484013572b28d5ae1a0a0b7b619ee912f536a0015f4c9d18ea2a8705f9150a