Fedora 30 python3. Note ceph-mgr subpackage, ceph-detect-init, ceph-disk,

ceph-volume, and ceph-volume-systemd are missing in this build

Signed-off-by: Kaleb S. KEITHLEY <kkeithle@redhat.com>
This commit is contained in:
Kaleb S. KEITHLEY 2018-09-14 09:53:41 -04:00
parent 2d75781cd8
commit 96e17e7360
2 changed files with 231 additions and 43 deletions

127
0006-f30py3.patch Normal file
View File

@ -0,0 +1,127 @@
--- ceph-12.2.8/src/CMakeLists.txt.orig 2018-09-12 10:32:04.536254900 -0400
+++ ceph-12.2.8/src/CMakeLists.txt 2018-09-12 10:32:22.454254900 -0400
@@ -244,9 +244,6 @@
endif()
# Python stuff
-find_package(PythonInterp 2 REQUIRED)
-find_package(PythonLibs 2 REQUIRED)
-
option(WITH_PYTHON3 "build python3 bindings" "CHECK")
if(WITH_PYTHON3 MATCHES "check|CHECK")
find_package(Python3Interp 3 QUIET)
--- ceph-12.2.8/src/pybind/CMakeLists.txt.orig 2018-09-12 10:45:44.057254900 -0400
+++ ceph-12.2.8/src/pybind/CMakeLists.txt 2018-09-12 12:36:23.604254900 -0400
@@ -6,7 +6,6 @@
if(WITH_PYTHON3)
set(py_vers 3)
endif()
-list(APPEND py_vers 2)
foreach(python_version ${py_vers})
if(${python_version} EQUAL 2)
@@ -58,7 +57,7 @@
install(FILES
${CMAKE_CURRENT_SOURCE_DIR}/ceph_rest_api.py
- DESTINATION ${PYTHON_INSTDIR})
+ DESTINATION ${PYTHON${PYTHON_VERSION}_INSTDIR})
if(WITH_MGR)
# Location needs to match default setting for mgr_module_path, currently:
--- ceph-12.2.8/src/tools/setup-virtualenv.sh.orig 2018-09-13 10:57:53.530254900 -0400
+++ ceph-12.2.8/src/tools/setup-virtualenv.sh 2018-09-13 13:02:10.455254900 -0400
@@ -15,10 +15,12 @@
# GNU Library Public License for more details.
#
+echo ====================== setup-virtualenv $DIR ================
+
DIR=$1
rm -fr $DIR
mkdir -p $DIR
-virtualenv --python python2.7 $DIR
+virtualenv --python python3 $DIR
. $DIR/bin/activate
if pip --help | grep -q disable-pip-version-check; then
--- ceph-12.2.8/src/ceph.in.orig 2018-09-13 13:16:24.181254900 -0400
+++ ceph-12.2.8/src/ceph.in 2018-09-13 13:16:33.608254900 -0400
@@ -1,4 +1,4 @@
-#!@PYTHON_EXECUTABLE@
+#!@PYTHON3_EXECUTABLE@
# -*- mode:python -*-
# vim: ts=4 sw=4 smarttab expandtab
#
diff -ur ceph-12.2.5/src/brag/client/ceph-brag ceph-12.2.5-mod/src/brag/client/ceph-brag
--- ceph-12.2.5/src/brag/client/ceph-brag 2018-04-23 18:18:33.000000000 +0200
+++ ceph-12.2.5-mod/src/brag/client/ceph-brag 2018-05-22 21:06:32.952813105 +0200
@@ -1,4 +1,4 @@
-#!/usr/bin/env python
+#!/usr/bin/python3
from __future__ import print_function
diff -ur ceph-12.2.5/src/ceph-create-keys ceph-12.2.5-mod/src/ceph-create-keys
--- ceph-12.2.5/src/ceph-create-keys 2018-04-23 18:18:33.000000000 +0200
+++ ceph-12.2.5-mod/src/ceph-create-keys 2018-05-22 21:09:49.103398176 +0200
@@ -1,4 +1,4 @@
-#!/usr/bin/env python
+#!/usr/bin/python3
import argparse
import errno
import json
diff -ur ceph-12.2.5/src/ceph-detect-init/ceph_detect_init/main.py ceph-12.2.5-mod/src/ceph-detect-init/ceph_detect_init/main.py
--- ceph-12.2.5/src/ceph-detect-init/ceph_detect_init/main.py 2018-04-23 18:18:33.000000000 +0200
+++ ceph-12.2.5-mod/src/ceph-detect-init/ceph_detect_init/main.py 2018-05-22 21:09:14.943993086 +0200
@@ -1,4 +1,4 @@
-#!/usr/bin/env python
+#!/usr/bin/python3
#
# Copyright (C) 2015 <contact@redhat.com>
# Copyright (C) 2015 SUSE LINUX GmbH
diff -ur ceph-12.2.5/src/ceph-disk/ceph_disk/main.py ceph-12.2.5-mod/src/ceph-disk/ceph_disk/main.py
--- ceph-12.2.5/src/ceph-disk/ceph_disk/main.py 2018-04-23 18:18:33.000000000 +0200
+++ ceph-12.2.5-mod/src/ceph-disk/ceph_disk/main.py 2018-05-22 21:11:02.606118074 +0200
@@ -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 -ur ceph-12.2.5/src/ceph-rest-api ceph-12.2.5-mod/src/ceph-rest-api
--- ceph-12.2.5/src/ceph-rest-api 2018-04-23 18:18:33.000000000 +0200
+++ ceph-12.2.5-mod/src/ceph-rest-api 2018-05-22 21:10:50.202334095 +0200
@@ -1,4 +1,4 @@
-#!/usr/bin/env python
+#!/usr/bin/python3
# vim: ts=4 sw=4 smarttab expandtab
import argparse
diff -ur ceph-12.2.5/src/ceph-volume/bin/ceph-volume ceph-12.2.5-mod/src/ceph-volume/bin/ceph-volume
--- ceph-12.2.5/src/ceph-volume/bin/ceph-volume 2018-04-23 18:18:33.000000000 +0200
+++ ceph-12.2.5-mod/src/ceph-volume/bin/ceph-volume 2018-05-22 21:07:43.104592535 +0200
@@ -1,4 +1,4 @@
-#!/usr/bin/env python
+#!/usr/bin/python3
from ceph_volume import main
diff -ur ceph-12.2.5/src/ceph-volume/bin/ceph-volume-systemd ceph-12.2.5-mod/src/ceph-volume/bin/ceph-volume-systemd
--- ceph-12.2.5/src/ceph-volume/bin/ceph-volume-systemd 2018-04-23 18:18:33.000000000 +0200
+++ ceph-12.2.5-mod/src/ceph-volume/bin/ceph-volume-systemd 2018-05-22 21:07:46.628531163 +0200
@@ -1,4 +1,4 @@
-#!/usr/bin/env python
+#!/usr/bin/python3
from ceph_volume.systemd import main
diff -ur ceph-12.2.5/src/mount.fuse.ceph ceph-12.2.5-mod/src/mount.fuse.ceph
--- ceph-12.2.5/src/mount.fuse.ceph 2018-04-23 18:18:33.000000000 +0200
+++ ceph-12.2.5-mod/src/mount.fuse.ceph 2018-05-22 21:08:06.355187609 +0200
@@ -1,4 +1,4 @@
-#!/usr/bin/env python
+#!/usr/bin/python3
'''
Helper to mount ceph-fuse from /etc/fstab. To use, add an entry
like:

147
ceph.spec
View File

@ -15,6 +15,7 @@
# Please submit bugfixes or comments via http://tracker.ceph.com/ # Please submit bugfixes or comments via http://tracker.ceph.com/
# #
%global _hardened_build 1 %global _hardened_build 1
%global fixme 0
%bcond_without ocf %bcond_without ocf
%ifnarch armv7hl %ifnarch armv7hl
@ -68,6 +69,11 @@
%{!?_udevrulesdir: %global _udevrulesdir /lib/udev/rules.d} %{!?_udevrulesdir: %global _udevrulesdir /lib/udev/rules.d}
%{!?tmpfiles_create: %global tmpfiles_create systemd-tmpfiles --create} %{!?tmpfiles_create: %global tmpfiles_create systemd-tmpfiles --create}
%{!?python3_pkgversion: %global python3_pkgversion 3} %{!?python3_pkgversion: %global python3_pkgversion 3}
%if ( 0%{?fedora} && 0%{?fedora} > 29) || ( 0%{?rhel} && 0%{?rhel} > 7)
%global _pythonver 3
%else
%global _pythonver 2
%endif
# unify libexec for all targets # unify libexec for all targets
%global _libexecdir %{_exec_prefix}/lib %global _libexecdir %{_exec_prefix}/lib
@ -86,7 +92,7 @@
################################################################################# #################################################################################
Name: ceph Name: ceph
Version: 12.2.8 Version: 12.2.8
Release: 1%{?dist} Release: 2%{?dist}
%if 0%{?fedora} || 0%{?rhel} %if 0%{?fedora} || 0%{?rhel}
Epoch: 1 Epoch: 1
%endif %endif
@ -107,6 +113,7 @@ Patch001: 0001-src-rocksdb-util-murmurhash.patch
Patch002: 0002-cmake-Support-ppc64.patch Patch002: 0002-cmake-Support-ppc64.patch
Patch003: 0003-librbd-Conditionally-import-TrimRequest.cc.patch Patch003: 0003-librbd-Conditionally-import-TrimRequest.cc.patch
Patch005: 0005-src-rocksdb-table-block.h.patch Patch005: 0005-src-rocksdb-table-block.h.patch
Patch006: 0006-f30py3.patch
%if 0%{?suse_version} %if 0%{?suse_version}
%if 0%{?is_opensuse} %if 0%{?is_opensuse}
ExclusiveArch: x86_64 aarch64 ppc64 ppc64le ExclusiveArch: x86_64 aarch64 ppc64 ppc64le
@ -119,7 +126,9 @@ ExclusiveArch: x86_64 aarch64 ppc64le s390x
################################################################################# #################################################################################
Requires: ceph-osd = %{_epoch_prefix}%{version}-%{release} Requires: ceph-osd = %{_epoch_prefix}%{version}-%{release}
Requires: ceph-mds = %{_epoch_prefix}%{version}-%{release} Requires: ceph-mds = %{_epoch_prefix}%{version}-%{release}
%if %fixme
Requires: ceph-mgr = %{_epoch_prefix}%{version}-%{release} Requires: ceph-mgr = %{_epoch_prefix}%{version}-%{release}
%endif
Requires: ceph-mon = %{_epoch_prefix}%{version}-%{release} Requires: ceph-mon = %{_epoch_prefix}%{version}-%{release}
Requires(post): binutils Requires(post): binutils
%if 0%{with cephfs_java} %if 0%{with cephfs_java}
@ -133,16 +142,16 @@ BuildRequires: selinux-policy-doc
%endif %endif
%if 0%{with make_check} %if 0%{with make_check}
%if 0%{?fedora} || 0%{?rhel} %if 0%{?fedora} || 0%{?rhel}
BuildRequires: python-cherrypy BuildRequires: python%{_pythonver}-cherrypy
BuildRequires: python-werkzeug BuildRequires: python%{_pythonver}-werkzeug
%endif %endif
%if 0%{?suse_version} %if 0%{?suse_version}
BuildRequires: python-CherryPy BuildRequires: python-CherryPy
BuildRequires: python-Werkzeug BuildRequires: python-Werkzeug
BuildRequires: python-numpy-devel BuildRequires: python-numpy-devel
%endif %endif
BuildRequires: python-coverage BuildRequires: python%{_pythonver}-coverage
BuildRequires: python-pecan BuildRequires: python%{_pythonver}-pecan
BuildRequires: socat BuildRequires: socat
%endif %endif
BuildRequires: bc BuildRequires: bc
@ -167,12 +176,12 @@ BuildRequires: make
BuildRequires: parted BuildRequires: parted
BuildRequires: perl BuildRequires: perl
BuildRequires: pkgconfig BuildRequires: pkgconfig
BuildRequires: python BuildRequires: python%{_pythonver}
BuildRequires: python2-devel BuildRequires: python%{_pythonver}-devel
BuildRequires: python-nose BuildRequires: python%{_pythonver}-nose
BuildRequires: python-requests BuildRequires: python%{_pythonver}-requests
BuildRequires: python-six BuildRequires: python%{_pythonver}-six
BuildRequires: python-virtualenv BuildRequires: python%{_pythonver}-virtualenv
BuildRequires: snappy-devel BuildRequires: snappy-devel
BuildRequires: udev BuildRequires: udev
BuildRequires: util-linux BuildRequires: util-linux
@ -208,7 +217,7 @@ BuildRequires: rdma-core-devel
%if 0%{?fedora} || 0%{?rhel} %if 0%{?fedora} || 0%{?rhel}
Requires: systemd Requires: systemd
BuildRequires: boost-random BuildRequires: boost-random
BuildRequires: btrfs-progs BuildRequires: boost-devel
BuildRequires: nss-devel BuildRequires: nss-devel
BuildRequires: keyutils-libs-devel BuildRequires: keyutils-libs-devel
# RDMA is no longer built on 32-bit ARM: see #1484155 # RDMA is no longer built on 32-bit ARM: see #1484155
@ -218,9 +227,8 @@ BuildRequires: rdma-core-devel
BuildRequires: openldap-devel BuildRequires: openldap-devel
BuildRequires: openssl-devel BuildRequires: openssl-devel
BuildRequires: redhat-lsb-core BuildRequires: redhat-lsb-core
BuildRequires: Cython BuildRequires: python%{_pythonver}-prettytable
BuildRequires: python-prettytable BuildRequires: python%{_pythonver}-sphinx
BuildRequires: python-sphinx
%endif %endif
# python34-... for RHEL, python3-... for all other supported distros # python34-... for RHEL, python3-... for all other supported distros
%if ( 0%{?rhel} && 0%{?rhel} <= 7 ) %if ( 0%{?rhel} && 0%{?rhel} <= 7 )
@ -228,9 +236,9 @@ BuildRequires: python34-devel
BuildRequires: python34-setuptools BuildRequires: python34-setuptools
BuildRequires: python34-Cython BuildRequires: python34-Cython
%else %else
BuildRequires: python3-devel BuildRequires: python%{_pythonver}-devel
BuildRequires: python3-setuptools BuildRequires: python%{_pythonver}-setuptools
BuildRequires: python3-Cython BuildRequires: python%{_pythonver}-Cython
%endif %endif
# lttng and babeltrace for rbd-replay-prep # lttng and babeltrace for rbd-replay-prep
%if %{with lttng} %if %{with lttng}
@ -277,9 +285,9 @@ Requires: ceph-selinux = %{_epoch_prefix}%{version}-%{release}
%endif %endif
Requires(post):/sbin/ldconfig Requires(post):/sbin/ldconfig
Requires(postun):/sbin/ldconfig Requires(postun):/sbin/ldconfig
Requires: python Requires: python%{_pythonver}
Requires: python-requests Requires: python%{_pythonver}-requests
Requires: python-setuptools Requires: python%{_pythonver}-setuptools
Requires: grep Requires: grep
Requires: xfsprogs Requires: xfsprogs
Requires: logrotate Requires: logrotate
@ -294,7 +302,7 @@ Recommends: ntp-daemon
%description base %description base
Base is the package that includes all the files shared amongst ceph servers Base is the package that includes all the files shared amongst ceph servers
%package -n ceph-common %package common
Summary: Ceph Common Summary: Ceph Common
%if 0%{?suse_version} %if 0%{?suse_version}
Group: System/Filesystems Group: System/Filesystems
@ -302,22 +310,22 @@ Group: System/Filesystems
Requires: librbd1 = %{_epoch_prefix}%{version}-%{release} Requires: librbd1 = %{_epoch_prefix}%{version}-%{release}
Requires: librados2 = %{_epoch_prefix}%{version}-%{release} Requires: librados2 = %{_epoch_prefix}%{version}-%{release}
Requires: libcephfs2 = %{_epoch_prefix}%{version}-%{release} Requires: libcephfs2 = %{_epoch_prefix}%{version}-%{release}
Requires: python-rados = %{_epoch_prefix}%{version}-%{release} Requires: python%{_pythonver}-rados = %{_epoch_prefix}%{version}-%{release}
Requires: python-rbd = %{_epoch_prefix}%{version}-%{release} Requires: python%{_pythonver}-rbd = %{_epoch_prefix}%{version}-%{release}
Requires: python-cephfs = %{_epoch_prefix}%{version}-%{release} Requires: python%{_pythonver}-cephfs = %{_epoch_prefix}%{version}-%{release}
Requires: python-rgw = %{_epoch_prefix}%{version}-%{release} Requires: python%{_pythonver}-rgw = %{_epoch_prefix}%{version}-%{release}
%if 0%{?fedora} || 0%{?rhel} %if 0%{?fedora} || 0%{?rhel}
Requires: python-prettytable Requires: python%{_pythonver}-prettytable
%endif %endif
%if 0%{?suse_version} %if 0%{?suse_version}
Requires: python-PrettyTable Requires: python-PrettyTable
%endif %endif
Requires: python-requests Requires: python%{_pythonver}-requests
%{?systemd_requires} %{?systemd_requires}
%if 0%{?suse_version} %if 0%{?suse_version}
Requires(pre): pwdutils Requires(pre): pwdutils
%endif %endif
%description -n ceph-common %description common
Common utilities to mount and interact with a ceph storage cluster. Common utilities to mount and interact with a ceph storage cluster.
Comprised of files that are common to Ceph clients and servers. Comprised of files that are common to Ceph clients and servers.
@ -327,7 +335,7 @@ Summary: Ceph Metadata Server Daemon
Group: System/Filesystems Group: System/Filesystems
%endif %endif
Requires: ceph-base = %{_epoch_prefix}%{version}-%{release} Requires: ceph-base = %{_epoch_prefix}%{version}-%{release}
Requires: python-six Requires: python%{_pythonver}-six
%description mds %description mds
ceph-mds is the metadata server daemon for the Ceph distributed file system. 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 One or more instances of ceph-mds collectively manage the file system
@ -341,7 +349,7 @@ Group: System/Filesystems
Requires: ceph-base = %{_epoch_prefix}%{version}-%{release} Requires: ceph-base = %{_epoch_prefix}%{version}-%{release}
# For ceph-rest-api # For ceph-rest-api
%if 0%{?fedora} || 0%{?rhel} %if 0%{?fedora} || 0%{?rhel}
Requires: python-flask Requires: python%{_pythonver}-flask
%endif %endif
%if 0%{?suse_version} %if 0%{?suse_version}
Requires: python-Flask Requires: python-Flask
@ -352,6 +360,7 @@ system. One or more instances of ceph-mon form a Paxos part-time
parliament cluster that provides extremely reliable and durable storage parliament cluster that provides extremely reliable and durable storage
of cluster membership, configuration, and state. of cluster membership, configuration, and state.
%if %fixme
%package mgr %package mgr
Summary: Ceph Manager Daemon Summary: Ceph Manager Daemon
%if 0%{?suse_version} %if 0%{?suse_version}
@ -359,10 +368,10 @@ Group: System/Filesystems
%endif %endif
Requires: ceph-base = %{_epoch_prefix}%{version}-%{release} Requires: ceph-base = %{_epoch_prefix}%{version}-%{release}
%if 0%{?fedora} || 0%{?rhel} %if 0%{?fedora} || 0%{?rhel}
Requires: python-cherrypy Requires: python%{_pythonver}-cherrypy
Requires: python-jinja2 Requires: python%{_pythonver}-jinja2
Requires: python-werkzeug Requires: python%{_pythonver}-werkzeug
Requires: pyOpenSSL Requires: python%{_pythonver}-pyOpenSSL
%endif %endif
%if 0%{?suse_version} %if 0%{?suse_version}
Requires: python-CherryPy Requires: python-CherryPy
@ -370,12 +379,13 @@ Requires: python-jinja2
Requires: python-Werkzeug Requires: python-Werkzeug
Requires: python-pyOpenSSL Requires: python-pyOpenSSL
%endif %endif
Requires: python-pecan Requires: python%{_pythonver}-pecan
%description mgr %description mgr
ceph-mgr enables python modules that provide services (such as the REST ceph-mgr enables python modules that provide services (such as the REST
module derived from Calamari) and expose CLI hooks. ceph-mgr gathers module derived from Calamari) and expose CLI hooks. ceph-mgr gathers
the cluster maps, the daemon metadata, and performance counters, and the cluster maps, the daemon metadata, and performance counters, and
exposes all these to the python modules. exposes all these to the python modules.
%endif
%package fuse %package fuse
Summary: Ceph fuse-based client Summary: Ceph fuse-based client
@ -522,6 +532,7 @@ Obsoletes: librgw2-devel < %{_epoch_prefix}%{version}-%{release}
This package contains libraries and headers needed to develop programs This package contains libraries and headers needed to develop programs
that use RADOS gateway client library. that use RADOS gateway client library.
%if ( 0%{?fedora} && 0%{?fedora} < 30) || ( 0%{?rhel} && 0%{?rhel} < 8)
%package -n python-rgw %package -n python-rgw
Summary: Python 2 libraries for the RADOS gateway Summary: Python 2 libraries for the RADOS gateway
%if 0%{?suse_version} %if 0%{?suse_version}
@ -533,6 +544,7 @@ Obsoletes: python-ceph < %{_epoch_prefix}%{version}-%{release}
%description -n python-rgw %description -n python-rgw
This package contains Python 2 libraries for interacting with Cephs RADOS This package contains Python 2 libraries for interacting with Cephs RADOS
gateway. gateway.
%endif
%package -n python%{python3_pkgversion}-rgw %package -n python%{python3_pkgversion}-rgw
Summary: Python 3 libraries for the RADOS gateway Summary: Python 3 libraries for the RADOS gateway
@ -540,11 +552,12 @@ Summary: Python 3 libraries for the RADOS gateway
Group: Development/Languages/Python Group: Development/Languages/Python
%endif %endif
Requires: librgw2 = %{_epoch_prefix}%{version}-%{release} Requires: librgw2 = %{_epoch_prefix}%{version}-%{release}
Requires: python%{python3_pkgversion}-rados = %{_epoch_prefix}%{version}-%{release} Requires: python%{_pythonver}-rados = %{_epoch_prefix}%{version}-%{release}
%description -n python%{python3_pkgversion}-rgw %description -n python%{python3_pkgversion}-rgw
This package contains Python 3 libraries for interacting with Cephs RADOS This package contains Python 3 libraries for interacting with Cephs RADOS
gateway. gateway.
%if ( 0%{?fedora} && 0%{?fedora} < 30) || ( 0%{?rhel} && 0%{?rhel} < 8)
%package -n python-rados %package -n python-rados
Summary: Python 2 libraries for the RADOS object store Summary: Python 2 libraries for the RADOS object store
%if 0%{?suse_version} %if 0%{?suse_version}
@ -555,13 +568,14 @@ Obsoletes: python-ceph < %{_epoch_prefix}%{version}-%{release}
%description -n python-rados %description -n python-rados
This package contains Python 2 libraries for interacting with Cephs RADOS This package contains Python 2 libraries for interacting with Cephs RADOS
object store. object store.
%endif
%package -n python%{python3_pkgversion}-rados %package -n python%{python3_pkgversion}-rados
Summary: Python 3 libraries for the RADOS object store Summary: Python 3 libraries for the RADOS object store
%if 0%{?suse_version} %if 0%{?suse_version}
Group: Development/Languages/Python Group: Development/Languages/Python
%endif %endif
Requires: python%{python3_pkgversion} Requires: python%{_pythonver}
Requires: librados2 = %{_epoch_prefix}%{version}-%{release} Requires: librados2 = %{_epoch_prefix}%{version}-%{release}
%description -n python%{python3_pkgversion}-rados %description -n python%{python3_pkgversion}-rados
This package contains Python 3 libraries for interacting with Cephs RADOS This package contains Python 3 libraries for interacting with Cephs RADOS
@ -625,6 +639,7 @@ Obsoletes: librbd1-devel < %{_epoch_prefix}%{version}-%{release}
This package contains libraries and headers needed to develop programs This package contains libraries and headers needed to develop programs
that use RADOS block device. that use RADOS block device.
%if ( 0%{?fedora} && 0%{?fedora} < 30) || ( 0%{?rhel} && 0%{?rhel} < 8)
%package -n python-rbd %package -n python-rbd
Summary: Python 2 libraries for the RADOS block device Summary: Python 2 libraries for the RADOS block device
%if 0%{?suse_version} %if 0%{?suse_version}
@ -636,6 +651,7 @@ Obsoletes: python-ceph < %{_epoch_prefix}%{version}-%{release}
%description -n python-rbd %description -n python-rbd
This package contains Python 2 libraries for interacting with Cephs RADOS This package contains Python 2 libraries for interacting with Cephs RADOS
block device. block device.
%endif
%package -n python%{python3_pkgversion}-rbd %package -n python%{python3_pkgversion}-rbd
Summary: Python 3 libraries for the RADOS block device Summary: Python 3 libraries for the RADOS block device
@ -643,7 +659,7 @@ Summary: Python 3 libraries for the RADOS block device
Group: Development/Languages/Python Group: Development/Languages/Python
%endif %endif
Requires: librbd1 = %{_epoch_prefix}%{version}-%{release} Requires: librbd1 = %{_epoch_prefix}%{version}-%{release}
Requires: python%{python3_pkgversion}-rados = %{_epoch_prefix}%{version}-%{release} Requires: python%{_pythonver}-rados = %{_epoch_prefix}%{version}-%{release}
%description -n python%{python3_pkgversion}-rbd %description -n python%{python3_pkgversion}-rbd
This package contains Python 3 libraries for interacting with Cephs RADOS This package contains Python 3 libraries for interacting with Cephs RADOS
block device. block device.
@ -679,6 +695,7 @@ Obsoletes: libcephfs2-devel < %{_epoch_prefix}%{version}-%{release}
This package contains libraries and headers needed to develop programs This package contains libraries and headers needed to develop programs
that use Cephs distributed file system. that use Cephs distributed file system.
%if ( 0%{?fedora} && 0%{?fedora} < 30) || ( 0%{?rhel} && 0%{?rhel} < 8)
%package -n python-cephfs %package -n python-cephfs
Summary: Python 2 libraries for Ceph distributed file system Summary: Python 2 libraries for Ceph distributed file system
%if 0%{?suse_version} %if 0%{?suse_version}
@ -692,6 +709,7 @@ Obsoletes: python-ceph < %{_epoch_prefix}%{version}-%{release}
%description -n python-cephfs %description -n python-cephfs
This package contains Python 2 libraries for interacting with Cephs distributed This package contains Python 2 libraries for interacting with Cephs distributed
file system. file system.
%endif
%package -n python%{python3_pkgversion}-cephfs %package -n python%{python3_pkgversion}-cephfs
Summary: Python 3 libraries for Ceph distributed file system Summary: Python 3 libraries for Ceph distributed file system
@ -699,7 +717,7 @@ Summary: Python 3 libraries for Ceph distributed file system
Group: Development/Languages/Python Group: Development/Languages/Python
%endif %endif
Requires: libcephfs2 = %{_epoch_prefix}%{version}-%{release} Requires: libcephfs2 = %{_epoch_prefix}%{version}-%{release}
Requires: python%{python3_pkgversion}-rados = %{_epoch_prefix}%{version}-%{release} Requires: python%{_pythonver}-rados = %{_epoch_prefix}%{version}-%{release}
%description -n python%{python3_pkgversion}-cephfs %description -n python%{python3_pkgversion}-cephfs
This package contains Python 3 libraries for interacting with Cephs distributed This package contains Python 3 libraries for interacting with Cephs distributed
file system. file system.
@ -797,6 +815,7 @@ populated file-systems.
%endif %endif
%if ( 0%{?fedora} && 0%{?fedora} < 30) || ( 0%{?rhel} && 0%{?rhel} < 8)
%package -n python-ceph-compat %package -n python-ceph-compat
Summary: Compatibility package for Cephs python libraries Summary: Compatibility package for Cephs python libraries
%if 0%{?suse_version} %if 0%{?suse_version}
@ -813,6 +832,7 @@ This is a compatibility package to accommodate python-ceph split into
python-rados, python-rbd, python-rgw and python-cephfs. Packages still python-rados, python-rbd, python-rgw and python-cephfs. Packages still
depending on python-ceph should be fixed to depend on python-rados, depending on python-ceph should be fixed to depend on python-rados,
python-rbd, python-rgw or python-cephfs instead. python-rbd, python-rgw or python-cephfs instead.
%endif
################################################################################# #################################################################################
# common # common
@ -870,9 +890,17 @@ cmake .. \
-DCMAKE_INSTALL_MANDIR=%{_mandir} \ -DCMAKE_INSTALL_MANDIR=%{_mandir} \
-DCMAKE_INSTALL_DOCDIR=%{_docdir}/ceph \ -DCMAKE_INSTALL_DOCDIR=%{_docdir}/ceph \
-DCMAKE_INSTALL_INCLUDEDIR=%{_includedir} \ -DCMAKE_INSTALL_INCLUDEDIR=%{_includedir} \
-DWITH_MGR=OFF \
-DWITH_EMBEDDED=OFF \
-DWITH_MANPAGE=ON \ -DWITH_MANPAGE=ON \
-DWITH_PYTHON3=ON \ -DWITH_PYTHON3=ON \
-DWITH_SYSTEMD=ON \ -DWITH_SYSTEMD=ON \
-DWITH_SYSTEM_BOOST=ON \
-DWITH_SPDK=OFF \
-DWITH_PMEM=OFF \
-DWITH_BLUESTORE=OFF \
-DWITH_BOOST_CONTEXT=OFF \
-DWITH_LEVELDB=OFF \
%if ( ( 0%{?rhel} && 0%{?rhel} <= 7) && ! 0%{?centos} ) %if ( ( 0%{?rhel} && 0%{?rhel} <= 7) && ! 0%{?centos} )
-DWITH_SUBMAN=ON \ -DWITH_SUBMAN=ON \
%endif %endif
@ -897,9 +925,9 @@ cmake .. \
-DWITH_OCF=ON \ -DWITH_OCF=ON \
%endif %endif
%ifarch aarch64 armv7hl mips mipsel ppc ppc64 ppc64le %{ix86} x86_64 %ifarch aarch64 armv7hl mips mipsel ppc ppc64 ppc64le %{ix86} x86_64
-DWITH_BOOST_CONTEXT=ON \ -DWITH_RADOSGW_BEAST_FRONTEND=ON \
%else %else
-DWITH_BOOST_CONTEXT=OFF \ -DWITH_RADOSGW_BEAST_FRONTEND=OFF \
%endif %endif
%ifnarch %{arm} %ifnarch %{arm}
-DWITH_RDMA=OFF \ -DWITH_RDMA=OFF \
@ -954,6 +982,10 @@ 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/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 install -m 0644 -D udev/95-ceph-osd.rules %{buildroot}%{_udevrulesdir}/95-ceph-osd.rules
# %fixme
rm -f %{buildroot}%{_unitdir}/ceph-mgr@.service
rm -f %{buildroot}%{_unitdir}/ceph-mgr.target
#set up placeholder directories #set up placeholder directories
mkdir -p %{buildroot}%{_sysconfdir}/ceph mkdir -p %{buildroot}%{_sysconfdir}/ceph
mkdir -p %{buildroot}%{_rundir}/ceph mkdir -p %{buildroot}%{_rundir}/ceph
@ -986,10 +1018,12 @@ mkdir -p %{buildroot}%{_localstatedir}/lib/ceph/bootstrap-rbd
%{_bindir}/osdmaptool %{_bindir}/osdmaptool
%{_bindir}/ceph-kvstore-tool %{_bindir}/ceph-kvstore-tool
%{_bindir}/ceph-run %{_bindir}/ceph-run
%if %fixme
%{_bindir}/ceph-detect-init %{_bindir}/ceph-detect-init
%{_bindir}/ceph-disk
%endif
%{_libexecdir}/systemd/system-preset/50-ceph.preset %{_libexecdir}/systemd/system-preset/50-ceph.preset
%{_sbindir}/ceph-create-keys %{_sbindir}/ceph-create-keys
%{_sbindir}/ceph-disk
%{_sbindir}/rcceph %{_sbindir}/rcceph
%dir %{_libexecdir}/ceph %dir %{_libexecdir}/ceph
%{_libexecdir}/ceph/ceph_common.sh %{_libexecdir}/ceph/ceph_common.sh
@ -1019,11 +1053,13 @@ mkdir -p %{buildroot}%{_localstatedir}/lib/ceph/bootstrap-rbd
%endif %endif
%{_unitdir}/ceph-disk@.service %{_unitdir}/ceph-disk@.service
%{_unitdir}/ceph.target %{_unitdir}/ceph.target
%if ( 0%{?fedora} && 0%{?fedora} < 30) || ( 0%{?rhel} && 0%{?rhel} < 8)
%{python2_sitelib}/ceph_detect_init* %{python2_sitelib}/ceph_detect_init*
%{python2_sitelib}/ceph_disk* %{python2_sitelib}/ceph_disk*
%dir %{python_sitelib}/ceph_volume %dir %{python_sitelib}/ceph_volume
%{python2_sitelib}/ceph_volume/* %{python2_sitelib}/ceph_volume/*
%{python2_sitelib}/ceph_volume-* %{python2_sitelib}/ceph_volume-*
%endif
%{_mandir}/man8/ceph-deploy.8* %{_mandir}/man8/ceph-deploy.8*
%{_mandir}/man8/ceph-detect-init.8* %{_mandir}/man8/ceph-detect-init.8*
%{_mandir}/man8/ceph-create-keys.8* %{_mandir}/man8/ceph-create-keys.8*
@ -1140,8 +1176,10 @@ fi
%config %{_sysconfdir}/bash_completion.d/radosgw-admin %config %{_sysconfdir}/bash_completion.d/radosgw-admin
%config(noreplace) %{_sysconfdir}/ceph/rbdmap %config(noreplace) %{_sysconfdir}/ceph/rbdmap
%{_unitdir}/rbdmap.service %{_unitdir}/rbdmap.service
%if ( 0%{?fedora} && 0%{?fedora} < 30) || ( 0%{?rhel} && 0%{?rhel} < 8)
%{python2_sitelib}/ceph_argparse.py* %{python2_sitelib}/ceph_argparse.py*
%{python2_sitelib}/ceph_daemon.py* %{python2_sitelib}/ceph_daemon.py*
%endif
%dir %{_udevrulesdir} %dir %{_udevrulesdir}
%{_udevrulesdir}/50-rbd.rules %{_udevrulesdir}/50-rbd.rules
%attr(3770,ceph,ceph) %dir %{_localstatedir}/log/ceph/ %attr(3770,ceph,ceph) %dir %{_localstatedir}/log/ceph/
@ -1232,6 +1270,7 @@ if [ $FIRST_ARG -ge 1 ] ; then
fi fi
fi fi
%if %fixme
%files mgr %files mgr
%{_bindir}/ceph-mgr %{_bindir}/ceph-mgr
%{_libdir}/ceph/mgr %{_libdir}/ceph/mgr
@ -1280,6 +1319,7 @@ if [ $FIRST_ARG -ge 1 ] ; then
/usr/bin/systemctl try-restart ceph-mgr@\*.service > /dev/null 2>&1 || : /usr/bin/systemctl try-restart ceph-mgr@\*.service > /dev/null 2>&1 || :
fi fi
fi fi
%endif
%files mon %files mon
%{_bindir}/ceph-mon %{_bindir}/ceph-mon
@ -1287,7 +1327,12 @@ fi
%{_bindir}/ceph-monstore-tool %{_bindir}/ceph-monstore-tool
%{_mandir}/man8/ceph-mon.8* %{_mandir}/man8/ceph-mon.8*
%{_mandir}/man8/ceph-rest-api.8* %{_mandir}/man8/ceph-rest-api.8*
%if ( 0%{?fedora} && 0%{?fedora} < 30) || ( 0%{?rhel} && 0%{?rhel} < 8)
%{python2_sitelib}/ceph_rest_api.py* %{python2_sitelib}/ceph_rest_api.py*
%else
%{python3_sitelib}/ceph_rest_api.py*
%{python3_sitelib}/__pycache__/*
%endif
%{_unitdir}/ceph-mon@.service %{_unitdir}/ceph-mon@.service
%{_unitdir}/ceph-mon.target %{_unitdir}/ceph-mon.target
%attr(750,ceph,ceph) %dir %{_localstatedir}/lib/ceph/mon %attr(750,ceph,ceph) %dir %{_localstatedir}/lib/ceph/mon
@ -1456,8 +1501,10 @@ fi
%{_bindir}/ceph-osdomap-tool %{_bindir}/ceph-osdomap-tool
%{_bindir}/ceph-osd %{_bindir}/ceph-osd
%{_libexecdir}/ceph/ceph-osd-prestart.sh %{_libexecdir}/ceph/ceph-osd-prestart.sh
%if %fixme
%{_sbindir}/ceph-volume %{_sbindir}/ceph-volume
%{_sbindir}/ceph-volume-systemd %{_sbindir}/ceph-volume-systemd
%endif
%dir %{_udevrulesdir} %dir %{_udevrulesdir}
%{_udevrulesdir}/60-ceph-by-parttypeuuid.rules %{_udevrulesdir}/60-ceph-by-parttypeuuid.rules
%{_udevrulesdir}/95-ceph-osd.rules %{_udevrulesdir}/95-ceph-osd.rules
@ -1562,9 +1609,11 @@ fi
%{_bindir}/librados-config %{_bindir}/librados-config
%{_mandir}/man8/librados-config.8* %{_mandir}/man8/librados-config.8*
%if ( 0%{?fedora} && 0%{?fedora} < 30) || ( 0%{?rhel} && 0%{?rhel} < 8)
%files -n python-rados %files -n python-rados
%{python2_sitearch}/rados.so %{python2_sitearch}/rados.so
%{python2_sitearch}/rados-*.egg-info %{python2_sitearch}/rados-*.egg-info
%endif
%files -n python%{python3_pkgversion}-rados %files -n python%{python3_pkgversion}-rados
%{python3_sitearch}/rados.cpython*.so %{python3_sitearch}/rados.cpython*.so
@ -1607,17 +1656,21 @@ fi
%{_includedir}/rados/rgw_file.h %{_includedir}/rados/rgw_file.h
%{_libdir}/librgw.so %{_libdir}/librgw.so
%if ( 0%{?fedora} && 0%{?fedora} < 30) || ( 0%{?rhel} && 0%{?rhel} < 8)
%files -n python-rgw %files -n python-rgw
%{python2_sitearch}/rgw.so %{python2_sitearch}/rgw.so
%{python2_sitearch}/rgw-*.egg-info %{python2_sitearch}/rgw-*.egg-info
%endif
%files -n python%{python3_pkgversion}-rgw %files -n python%{python3_pkgversion}-rgw
%{python3_sitearch}/rgw.cpython*.so %{python3_sitearch}/rgw.cpython*.so
%{python3_sitearch}/rgw-*.egg-info %{python3_sitearch}/rgw-*.egg-info
%if ( 0%{?fedora} && 0%{?fedora} < 30) || ( 0%{?rhel} && 0%{?rhel} < 8)
%files -n python-rbd %files -n python-rbd
%{python2_sitearch}/rbd.so %{python2_sitearch}/rbd.so
%{python2_sitearch}/rbd-*.egg-info %{python2_sitearch}/rbd-*.egg-info
%endif
%files -n python%{python3_pkgversion}-rbd %files -n python%{python3_pkgversion}-rbd
%{python3_sitearch}/rbd.cpython*.so %{python3_sitearch}/rbd.cpython*.so
@ -1633,10 +1686,12 @@ fi
%{_includedir}/cephfs/ceph_statx.h %{_includedir}/cephfs/ceph_statx.h
%{_libdir}/libcephfs.so %{_libdir}/libcephfs.so
%if ( 0%{?fedora} && 0%{?fedora} < 30) || ( 0%{?rhel} && 0%{?rhel} < 8)
%files -n python-cephfs %files -n python-cephfs
%{python2_sitearch}/cephfs.so %{python2_sitearch}/cephfs.so
%{python2_sitearch}/cephfs-*.egg-info %{python2_sitearch}/cephfs-*.egg-info
%{python2_sitelib}/ceph_volume_client.py* %{python2_sitelib}/ceph_volume_client.py*
%endif
%files -n python%{python3_pkgversion}-cephfs %files -n python%{python3_pkgversion}-cephfs
%{python3_sitearch}/cephfs.cpython*.so %{python3_sitearch}/cephfs.cpython*.so
@ -1793,12 +1848,18 @@ exit 0
%endif # with selinux %endif # with selinux
%if ( 0%{?fedora} && 0%{?fedora} < 30) || ( 0%{?rhel} && 0%{?rhel} < 8)
%files -n python-ceph-compat %files -n python-ceph-compat
# We need an empty %%files list for python-ceph-compat, to tell rpmbuild to # We need an empty %%files list for python-ceph-compat, to tell rpmbuild to
# actually build this meta package. # actually build this meta package.
%endif
%changelog %changelog
* Wed Sep 12 2018 Kaleb S. KEITHLEY <kkeithle[at]redhat.com> - 1:12.2.8-2
- Fedora 30 python3. Note ceph-mgr subpackage, ceph-detect-init, ceph-disk,
ceph-volume, and ceph-volume-systemd are missing in this build
* Fri Aug 31 2018 Kaleb S. KEITHLEY <kkeithle[at]redhat.com> - 1:12.2.8-1 * Fri Aug 31 2018 Kaleb S. KEITHLEY <kkeithle[at]redhat.com> - 1:12.2.8-1
- New release (1:12.2.8-1) - New release (1:12.2.8-1)