diff --git a/_service b/_service
index 4ee148e..87df822 100644
--- a/_service
+++ b/_service
@@ -6,7 +6,7 @@
ceph
git
no
- enable
+ disable
sh etc/ceph_ver_hack.sh
diff --git a/_servicedata b/_servicedata
index 636bac4..c3a4337 100644
--- a/_servicedata
+++ b/_servicedata
@@ -1,4 +1,4 @@
git://github.com/SUSE/ceph.git
- 23dd2b67dc4068018f22570be4154e06ed5f5a49
\ No newline at end of file
+ f1d61158619f54143fcd4a97b9575bae79f27afa
\ No newline at end of file
diff --git a/ceph-12.0.3+git.1495798013.23dd2b67dc.tar.bz2 b/ceph-12.0.3+git.1495798013.23dd2b67dc.tar.bz2
deleted file mode 100644
index 894a3d5..0000000
--- a/ceph-12.0.3+git.1495798013.23dd2b67dc.tar.bz2
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:61275b4fae16249d56e96efa773c45416d8fa2d057115f4e6b107bd967ca8d61
-size 119404110
diff --git a/ceph-12.0.3+git.1496494491.ba3c561a92.tar.bz2 b/ceph-12.0.3+git.1496494491.ba3c561a92.tar.bz2
new file mode 100644
index 0000000..647851d
--- /dev/null
+++ b/ceph-12.0.3+git.1496494491.ba3c561a92.tar.bz2
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:f62404b9c1cebe91288bda4e4f053b7c42d9d09a9387f81d2a1549d59d7c164f
+size 127009528
diff --git a/ceph-test.changes b/ceph-test.changes
index 8881825..cb78b34 100644
--- a/ceph-test.changes
+++ b/ceph-test.changes
@@ -1,3 +1,36 @@
+-------------------------------------------------------------------
+Sat Jun 3 15:53:05 UTC 2017 - ncutler@suse.com
+
+- Update to version 12.0.3+git.1496494491.ba3c561a92:
+ + merge upstream master (97d6e150e5)
+
+-------------------------------------------------------------------
+Thu Jun 1 08:51:20 UTC 2017 - ncutler@suse.com
+
+- Update to version 12.0.3+git.1496306960.2db336d85e:
+ + merge upstream master (b19352eec3), fixes bsc#1041492
+
+-------------------------------------------------------------------
+Tue May 30 13:15:47 UTC 2017 - ncutler@suse.com
+
+- Update to version 12.0.3+git.1496147556.f1d6115861:
+ + cmake: build boost::context and coroutine only with rgw Beast frontend
+ + build/ops: rpm: reverse s390 bcond conditional block
+ + build/ops: rpm: no rgw Beast frontend on s390x
+ + build/ops: deb: no rgw Beast frontend on s390x
+ + cmake: delete excidentail reintroduced line.
+ + cmake: link radosgw with boost libraries
+ (bsc#1040119)
+
+-------------------------------------------------------------------
+Sat May 27 08:19:59 UTC 2017 - ncutler@suse.com
+
+- Update to version 12.0.3+git.1495849076.4457d36178:
+ + rgw: remove fastcgi from default rgw frontends
+ + RGW: Turn off fcgi as a frontend
+ + build/ops: drop libfcgi build dependency
+ + build/ops: rpm: apply epoch only if %epoch macro is defined
+
-------------------------------------------------------------------
Fri May 26 11:39:01 UTC 2017 - ncutler@suse.com
diff --git a/ceph-test.spec b/ceph-test.spec
index 20e77e2..89ef567 100644
--- a/ceph-test.spec
+++ b/ceph-test.spec
@@ -24,10 +24,8 @@
%bcond_with xio
%ifarch s390 s390x
%bcond_with tcmalloc
-%bcond_with rgw_beast
%else
%bcond_without tcmalloc
-%bcond_without rgw_beast
%endif
%bcond_without lowmem_builder
%bcond_with minimal_debugging_information
@@ -66,12 +64,20 @@
# disable dwz which compresses the debuginfo
%global _find_debuginfo_dwz_opts %{nil}
+
#################################################################################
# main package definition
#################################################################################
Name: ceph-test
-Version: 12.0.3+git.1495798013.23dd2b67dc
+Version: 12.0.3+git.1496494491.ba3c561a92
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: Ceph benchmarks and test tools
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-2.0 and BSD-3-Clause and MIT
%if 0%{?suse_version}
@@ -110,6 +116,7 @@ BuildRequires: selinux-policy-devel
BuildRequires: /usr/share/selinux/devel/policyhelp
%endif
BuildRequires: bc
+BuildRequires: gperf
BuildRequires: cmake
BuildRequires: cryptsetup
BuildRequires: fuse-devel
@@ -205,14 +212,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}
@@ -432,7 +436,7 @@ cmake .. \
%if 0%{with ocf}
-DWITH_OCF=ON \
%endif
-%if 0%{with rgw_beast}
+%ifarch aarch64 armv7hl mips mipsel ppc ppc64 ppc64le %{ix86} x86_64
-DWITH_RADOSGW_BEAST_FRONTEND=ON \
%else
-DWITH_RADOSGW_BEAST_FRONTEND=OFF \
@@ -546,6 +550,7 @@ rm -rf %{buildroot}%{_bindir}/cephfs-journal-tool
rm -rf %{buildroot}%{_bindir}/cephfs-table-tool
rm -rf %{buildroot}%{_libexecdir}/systemd/system-preset/50-ceph.preset
rm -rf %{buildroot}%{_sbindir}/ceph-create-keys
+rm -rf %{buildroot}%{_sbindir}/ceph-disk
rm -rf %{buildroot}%{_sbindir}/rcceph
rm -rf %{buildroot}%{_libexecdir}/ceph/ceph_common.sh
rm -rf %{buildroot}%{_libdir}/rados-classes/*
@@ -554,18 +559,19 @@ rm -rf %{buildroot}%{_libdir}/ceph/compressor/libceph_*.so*
rm -rf %{buildroot}%{_libdir}/ceph/crypto/libceph_*.so*
rm -rf %{buildroot}%{_libdir}/libos_tp.so*
rm -rf %{buildroot}%{_libdir}/libosd_tp.so*
-rm -rf %{buildroot}%{_sysconfdir}/bash_completion.d/ceph
rm -rf %{buildroot}%{_sysconfdir}/logrotate.d/ceph
rm -rf %{buildroot}%{_sysconfdir}/sysconfig/ceph
rm -rf %{buildroot}%{_localstatedir}/adm/fillup-templates/sysconfig.*
rm -rf %{buildroot}%{_sysconfdir}/sysconfig/SuSEfirewall2.d/services/ceph-mon
rm -rf %{buildroot}%{_sysconfdir}/sysconfig/SuSEfirewall2.d/services/ceph-osd-mds
+rm -rf %{buildroot}%{_unitdir}/ceph-disk@.service
rm -rf %{buildroot}%{_unitdir}/ceph.target
rm -rf %{buildroot}%{python_sitelib}/ceph_detect_init*
rm -rf %{buildroot}%{python_sitelib}/ceph_disk*
rm -rf %{buildroot}%{_mandir}/man8/ceph-deploy.8*
rm -rf %{buildroot}%{_mandir}/man8/ceph-detect-init.8*
rm -rf %{buildroot}%{_mandir}/man8/ceph-create-keys.8*
+rm -rf %{buildroot}%{_mandir}/man8/ceph-disk.8*
rm -rf %{buildroot}%{_mandir}/man8/ceph-run.8*
rm -rf %{buildroot}%{_mandir}/man8/crushtool.8*
rm -rf %{buildroot}%{_mandir}/man8/osdmaptool.8*
@@ -606,6 +612,7 @@ rm -rf %{buildroot}%{_mandir}/man8/rbd-replay-prep.8*
rm -rf %{buildroot}%{_datadir}/ceph/known_hosts_drop.ceph.com
rm -rf %{buildroot}%{_datadir}/ceph/id_rsa_drop.ceph.com
rm -rf %{buildroot}%{_datadir}/ceph/id_rsa_drop.ceph.com.pub
+rm -rf %{buildroot}%{_sysconfdir}/bash_completion.d/ceph
rm -rf %{buildroot}%{_sysconfdir}/bash_completion.d/rados
rm -rf %{buildroot}%{_sysconfdir}/bash_completion.d/rbd
rm -rf %{buildroot}%{_sysconfdir}/bash_completion.d/radosgw-admin
@@ -644,6 +651,7 @@ rm -rf %{buildroot}%{_bindir}/rbd-nbd
rm -rf %{buildroot}%{_mandir}/man8/rbd-nbd.8*
rm -rf %{buildroot}%{_bindir}/radosgw
rm -rf %{buildroot}%{_bindir}/radosgw-token
+rm -rf %{buildroot}%{_bindir}/radosgw-es
rm -rf %{buildroot}%{_bindir}/radosgw-object-expirer
rm -rf %{buildroot}%{_mandir}/man8/radosgw.8*
rm -rf %{buildroot}%{_unitdir}/ceph-radosgw@.service
@@ -652,18 +660,14 @@ rm -rf %{buildroot}%{_bindir}/ceph-clsinfo
rm -rf %{buildroot}%{_bindir}/ceph-bluestore-tool
rm -rf %{buildroot}%{_bindir}/ceph-objectstore-tool
rm -rf %{buildroot}%{_bindir}/ceph-osd
-rm -rf %{buildroot}%{_sbindir}/ceph-disk
-rm -rf %{buildroot}%{_sbindir}/ceph-disk-udev
rm -rf %{buildroot}%{_libexecdir}/ceph/ceph-osd-prestart.sh
rm -rf %{buildroot}%{_udevrulesdir}/60-ceph-by-parttypeuuid.rules
rm -rf %{buildroot}%{_udevrulesdir}/95-ceph-osd.rules
rm -rf %{buildroot}%{_mandir}/man8/ceph-clsinfo.8*
-rm -rf %{buildroot}%{_mandir}/man8/ceph-disk.8*
rm -rf %{buildroot}%{_mandir}/man8/ceph-osd.8*
rm -rf %{buildroot}%{_sysconfdir}/cron.hourly/subman
rm -rf %{buildroot}%{_unitdir}/ceph-osd@.service
rm -rf %{buildroot}%{_unitdir}/ceph-osd.target
-rm -rf %{buildroot}%{_unitdir}/ceph-disk@.service
rm -rf %{buildroot}%{_prefix}/lib/ocf/resource.d/ceph/rbd
rm -rf %{buildroot}%{_libdir}/librados.so.*
rm -rf %{buildroot}%{_libdir}/ceph/libceph-common.so*
diff --git a/ceph.changes b/ceph.changes
index 8881825..cb78b34 100644
--- a/ceph.changes
+++ b/ceph.changes
@@ -1,3 +1,36 @@
+-------------------------------------------------------------------
+Sat Jun 3 15:53:05 UTC 2017 - ncutler@suse.com
+
+- Update to version 12.0.3+git.1496494491.ba3c561a92:
+ + merge upstream master (97d6e150e5)
+
+-------------------------------------------------------------------
+Thu Jun 1 08:51:20 UTC 2017 - ncutler@suse.com
+
+- Update to version 12.0.3+git.1496306960.2db336d85e:
+ + merge upstream master (b19352eec3), fixes bsc#1041492
+
+-------------------------------------------------------------------
+Tue May 30 13:15:47 UTC 2017 - ncutler@suse.com
+
+- Update to version 12.0.3+git.1496147556.f1d6115861:
+ + cmake: build boost::context and coroutine only with rgw Beast frontend
+ + build/ops: rpm: reverse s390 bcond conditional block
+ + build/ops: rpm: no rgw Beast frontend on s390x
+ + build/ops: deb: no rgw Beast frontend on s390x
+ + cmake: delete excidentail reintroduced line.
+ + cmake: link radosgw with boost libraries
+ (bsc#1040119)
+
+-------------------------------------------------------------------
+Sat May 27 08:19:59 UTC 2017 - ncutler@suse.com
+
+- Update to version 12.0.3+git.1495849076.4457d36178:
+ + rgw: remove fastcgi from default rgw frontends
+ + RGW: Turn off fcgi as a frontend
+ + build/ops: drop libfcgi build dependency
+ + build/ops: rpm: apply epoch only if %epoch macro is defined
+
-------------------------------------------------------------------
Fri May 26 11:39:01 UTC 2017 - ncutler@suse.com
diff --git a/ceph.spec b/ceph.spec
index 03cd0aa..7841f4e 100644
--- a/ceph.spec
+++ b/ceph.spec
@@ -24,10 +24,8 @@
%bcond_with xio
%ifarch s390 s390x
%bcond_with tcmalloc
-%bcond_with rgw_beast
%else
%bcond_without tcmalloc
-%bcond_without rgw_beast
%endif
%bcond_without lowmem_builder
%bcond_with minimal_debugging_information
@@ -66,12 +64,20 @@
# disable dwz which compresses the debuginfo
%global _find_debuginfo_dwz_opts %{nil}
+
#################################################################################
# main package definition
#################################################################################
Name: ceph
-Version: 12.0.3+git.1495798013.23dd2b67dc
+Version: 12.0.3+git.1496494491.ba3c561a92
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-2.0 and BSD-3-Clause and MIT
%if 0%{?suse_version}
@@ -90,10 +96,10 @@ ExclusiveArch: x86_64 aarch64 ppc64le s390x
#################################################################################
# dependencies that apply across all distro families
#################################################################################
-Requires: ceph-osd = %{version}-%{release}
-Requires: ceph-mds = %{version}-%{release}
-Requires: ceph-mgr = %{version}-%{release}
-Requires: ceph-mon = %{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
@@ -105,6 +111,7 @@ BuildRequires: selinux-policy-devel
BuildRequires: /usr/share/selinux/devel/policyhelp
%endif
BuildRequires: bc
+BuildRequires: gperf
BuildRequires: cmake
BuildRequires: cryptsetup
BuildRequires: fuse-devel
@@ -200,14 +207,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}
@@ -231,13 +235,13 @@ Summary: Ceph Base Package
%if 0%{?suse_version}
Group: System/Filesystems
%endif
-Requires: ceph-common = %{version}-%{release}
-Requires: librbd1 = %{version}-%{release}
-Requires: librados2 = %{version}-%{release}
-Requires: libcephfs2 = %{version}-%{release}
-Requires: librgw2 = %{version}-%{release}
+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 = %{version}-%{release}
+Requires: ceph-selinux = %{_epoch_prefix}%{version}-%{release}
%endif
Requires: python
Requires: python-requests
@@ -264,13 +268,13 @@ Summary: Ceph Common
%if 0%{?suse_version}
Group: System/Filesystems
%endif
-Requires: librbd1 = %{version}-%{release}
-Requires: librados2 = %{version}-%{release}
-Requires: libcephfs2 = %{version}-%{release}
-Requires: python-rados = %{version}-%{release}
-Requires: python-rbd = %{version}-%{release}
-Requires: python-cephfs = %{version}-%{release}
-Requires: python-rgw = %{version}-%{release}
+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
@@ -295,7 +299,7 @@ Summary: Ceph Metadata Server Daemon
%if 0%{?suse_version}
Group: System/Filesystems
%endif
-Requires: ceph-base = %{version}-%{release}
+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
@@ -306,7 +310,7 @@ Summary: Ceph Monitor Daemon
%if 0%{?suse_version}
Group: System/Filesystems
%endif
-Requires: ceph-base = %{version}-%{release}
+Requires: ceph-base = %{_epoch_prefix}%{version}-%{release}
# For ceph-rest-api
%if 0%{?fedora} || 0%{?rhel}
Requires: python-flask
@@ -326,14 +330,17 @@ License: LGPL-2.1 and CC-BY-SA-1.0 and GPL-2.0 and BSL-1.0 and GPL-2.0-wi
%if 0%{?suse_version}
Group: System/Filesystems
%endif
-Requires: ceph-base = %{version}-%{release}
+Requires: ceph-base = %{_epoch_prefix}%{version}-%{release}
%if 0%{?fedora} || 0%{?rhel}
-Requires: python-cherrypy
+Requires: python-cherrypy
+Requires: python-werkzeug
%endif
%if 0%{?suse_version}
Requires: python-CherryPy
+Requires: python-Werkzeug
%endif
-
+Requires: python-pecan
+Requires(post): openssl
%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
@@ -353,8 +360,8 @@ Summary: Ceph fuse-based client
%if 0%{?suse_version}
Group: System/Filesystems
%endif
-Requires: librados2 = %{version}-%{release}
-Requires: librbd1 = %{version}-%{release}
+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
@@ -363,8 +370,8 @@ Summary: Ceph daemon for mirroring RBD images
%if 0%{?suse_version}
Group: System/Filesystems
%endif
-Requires: ceph-common = %{version}-%{release}
-Requires: librados2 = %{version}-%{release}
+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.
@@ -374,8 +381,8 @@ Summary: Ceph RBD client base on NBD
%if 0%{?suse_version}
Group: System/Filesystems
%endif
-Requires: librados2 = %{version}-%{release}
-Requires: librbd1 = %{version}-%{release}
+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
@@ -384,12 +391,12 @@ Summary: Rados REST gateway
%if 0%{?suse_version}
Group: System/Filesystems
%endif
-Requires: ceph-common = %{version}-%{release}
+Requires: ceph-common = %{_epoch_prefix}%{version}-%{release}
%if 0%{with selinux}
-Requires: ceph-selinux = %{version}-%{release}
+Requires: ceph-selinux = %{_epoch_prefix}%{version}-%{release}
%endif
-Requires: librados2 = %{version}-%{release}
-Requires: librgw2 = %{version}-%{release}
+Requires: librados2 = %{_epoch_prefix}%{version}-%{release}
+Requires: librgw2 = %{_epoch_prefix}%{version}-%{release}
%if 0%{?rhel} || 0%{?fedora}
Requires: mailcap
%endif
@@ -406,7 +413,7 @@ Summary: OCF-compliant resource agents for Ceph daemons
Group: System/Filesystems
%endif
License: LGPL-2.0
-Requires: ceph-base = %{version}
+Requires: ceph-base = %{_epoch_prefix}%{version}
Requires: resource-agents
%description resource-agents
Resource agents for monitoring and managing Ceph daemons
@@ -419,7 +426,7 @@ Summary: Ceph Object Storage Daemon
%if 0%{?suse_version}
Group: System/Filesystems
%endif
-Requires: ceph-base = %{version}-%{release}
+Requires: ceph-base = %{_epoch_prefix}%{version}-%{release}
# for sgdisk, used by ceph-disk
%if 0%{?fedora} || 0%{?rhel}
Requires: gdisk
@@ -440,7 +447,7 @@ Group: System/Libraries
%endif
License: LGPL-2.0
%if 0%{?rhel} || 0%{?fedora}
-Obsoletes: ceph-libs < %{version}-%{release}
+Obsoletes: ceph-libs < %{_epoch_prefix}%{version}-%{release}
%endif
%description -n librados2
RADOS is a reliable, autonomic distributed object storage cluster
@@ -454,10 +461,10 @@ Summary: RADOS headers
Group: Development/Libraries/C and C++
%endif
License: LGPL-2.0
-Requires: librados2 = %{version}-%{release}
-Obsoletes: ceph-devel < %{version}-%{release}
-Provides: librados2-devel = %{version}-%{release}
-Obsoletes: librados2-devel < %{version}-%{release}
+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.
@@ -468,7 +475,7 @@ Summary: RADOS gateway client library
Group: System/Libraries
%endif
License: LGPL-2.0
-Requires: librados2 = %{version}-%{release}
+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).
@@ -479,10 +486,10 @@ Summary: RADOS gateway client library
Group: Development/Libraries/C and C++
%endif
License: LGPL-2.0
-Requires: librados-devel = %{version}-%{release}
-Requires: librgw2 = %{version}-%{release}
-Provides: librgw2-devel = %{version}-%{release}
-Obsoletes: librgw2-devel < %{version}-%{release}
+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.
@@ -493,9 +500,9 @@ Summary: Python 2 libraries for the RADOS gateway
Group: Development/Languages/Python
%endif
License: LGPL-2.0
-Requires: librgw2 = %{version}-%{release}
-Requires: python-rados = %{version}-%{release}
-Obsoletes: python-ceph < %{version}-%{release}
+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.
@@ -506,8 +513,8 @@ Summary: Python 3 libraries for the RADOS gateway
Group: Development/Languages/Python
%endif
License: LGPL-2.0
-Requires: librgw2 = %{version}-%{release}
-Requires: python%{python3_pkgversion}-rados = %{version}-%{release}
+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.
@@ -518,8 +525,8 @@ Summary: Python 2 libraries for the RADOS object store
Group: Development/Languages/Python
%endif
License: LGPL-2.0
-Requires: librados2 = %{version}-%{release}
-Obsoletes: python-ceph < %{version}-%{release}
+Requires: librados2 = %{_epoch_prefix}%{version}-%{release}
+Obsoletes: python-ceph < %{_epoch_prefix}%{version}-%{release}
%description -n python-rados
This package contains Python 2 libraries for interacting with Cephs RADOS
object store.
@@ -531,7 +538,7 @@ Group: Development/Languages/Python
%endif
License: LGPL-2.0
Requires: python%{python3_pkgversion}
-Requires: librados2 = %{version}-%{release}
+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.
@@ -542,7 +549,7 @@ Summary: RADOS striping interface
Group: System/Libraries
%endif
License: LGPL-2.0
-Requires: librados2 = %{version}-%{release}
+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
@@ -554,11 +561,11 @@ Summary: RADOS striping interface headers
Group: Development/Libraries/C and C++
%endif
License: LGPL-2.0
-Requires: libradosstriper1 = %{version}-%{release}
-Requires: librados-devel = %{version}-%{release}
-Obsoletes: ceph-devel < %{version}-%{release}
-Provides: libradosstriper1-devel = %{version}-%{release}
-Obsoletes: libradosstriper1-devel < %{version}-%{release}
+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.
@@ -569,12 +576,12 @@ Summary: RADOS block device client library
Group: System/Libraries
%endif
License: LGPL-2.0
-Requires: librados2 = %{version}-%{release}
+Requires: librados2 = %{_epoch_prefix}%{version}-%{release}
%if 0%{?suse_version}
Requires(post): coreutils
%endif
%if 0%{?rhel} || 0%{?fedora}
-Obsoletes: ceph-libs < %{version}-%{release}
+Obsoletes: ceph-libs < %{_epoch_prefix}%{version}-%{release}
%endif
%description -n librbd1
RBD is a block device striped across multiple distributed objects in
@@ -588,11 +595,11 @@ Summary: RADOS block device headers
Group: Development/Libraries/C and C++
%endif
License: LGPL-2.0
-Requires: librbd1 = %{version}-%{release}
-Requires: librados-devel = %{version}-%{release}
-Obsoletes: ceph-devel < %{version}-%{release}
-Provides: librbd1-devel = %{version}-%{release}
-Obsoletes: librbd1-devel < %{version}-%{release}
+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.
@@ -603,9 +610,9 @@ Summary: Python 2 libraries for the RADOS block device
Group: Development/Languages/Python
%endif
License: LGPL-2.0
-Requires: librbd1 = %{version}-%{release}
-Requires: python-rados = %{version}-%{release}
-Obsoletes: python-ceph < %{version}-%{release}
+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 2 libraries for interacting with Cephs RADOS
block device.
@@ -616,8 +623,8 @@ Summary: Python 3 libraries for the RADOS block device
Group: Development/Languages/Python
%endif
License: LGPL-2.0
-Requires: librbd1 = %{version}-%{release}
-Requires: python%{python3_pkgversion}-rados = %{version}-%{release}
+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.
@@ -629,7 +636,7 @@ Group: System/Libraries
%endif
License: LGPL-2.0
%if 0%{?rhel} || 0%{?fedora}
-Obsoletes: ceph-libs < %{version}-%{release}
+Obsoletes: ceph-libs < %{_epoch_prefix}%{version}-%{release}
Obsoletes: ceph-libcephfs
%endif
%description -n libcephfs2
@@ -644,11 +651,11 @@ Summary: Ceph distributed file system headers
Group: Development/Libraries/C and C++
%endif
License: LGPL-2.0
-Requires: libcephfs2 = %{version}-%{release}
-Requires: librados-devel = %{version}-%{release}
-Obsoletes: ceph-devel < %{version}-%{release}
-Provides: libcephfs2-devel = %{version}-%{release}
-Obsoletes: libcephfs2-devel < %{version}-%{release}
+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.
@@ -659,11 +666,11 @@ Summary: Python 2 libraries for Ceph distributed file system
Group: Development/Languages/Python
%endif
License: LGPL-2.0
-Requires: libcephfs2 = %{version}-%{release}
+Requires: libcephfs2 = %{_epoch_prefix}%{version}-%{release}
%if 0%{?suse_version}
-Recommends: python-rados = %{version}-%{release}
+Recommends: python-rados = %{_epoch_prefix}%{version}-%{release}
%endif
-Obsoletes: python-ceph < %{version}-%{release}
+Obsoletes: python-ceph < %{_epoch_prefix}%{version}-%{release}
%description -n python-cephfs
This package contains Python 2 libraries for interacting with Cephs distributed
file system.
@@ -674,8 +681,8 @@ Summary: Python 3 libraries for Ceph distributed file system
Group: Development/Languages/Python
%endif
License: LGPL-2.0
-Requires: libcephfs2 = %{version}-%{release}
-Requires: python%{python3_pkgversion}-rados = %{version}-%{release}
+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.
@@ -714,7 +721,7 @@ Group: System/Libraries
%endif
License: LGPL-2.0
Requires: java
-Requires: libcephfs2 = %{version}-%{release}
+Requires: libcephfs2 = %{_epoch_prefix}%{version}-%{release}
%description -n libcephfs_jni1
This package contains the Java Native Interface library for CephFS Java
bindings.
@@ -726,10 +733,10 @@ Group: Development/Libraries/Java
%endif
License: LGPL-2.0
Requires: java
-Requires: libcephfs_jni1 = %{version}-%{release}
-Obsoletes: ceph-devel < %{version}-%{release}
-Provides: libcephfs_jni1-devel = %{version}-%{release}
-Obsoletes: libcephfs_jni1-devel < %{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.
@@ -741,7 +748,7 @@ Group: System/Libraries
%endif
License: LGPL-2.0
Requires: java
-Requires: libcephfs_jni1 = %{version}-%{release}
+Requires: libcephfs_jni1 = %{_epoch_prefix}%{version}-%{release}
Requires: junit
BuildRequires: junit
%description -n cephfs-java
@@ -753,7 +760,7 @@ This package contains the Java libraries for the Ceph File System.
Summary: RADOS object class development kit
Group: Development/Libraries
License: LGPL-2.0
-Requires: librados2-devel = %{version}-%{release}
+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.
@@ -765,7 +772,7 @@ Summary: SELinux support for Ceph MON, OSD and MDS
%if 0%{?suse_version}
Group: System/Filesystems
%endif
-Requires: ceph-base = %{version}-%{release}
+Requires: ceph-base = %{_epoch_prefix}%{version}-%{release}
Requires: policycoreutils, libselinux-utils
Requires(post): selinux-policy-base >= %{_selinux_policy_version}, policycoreutils, gawk
Requires(postun): policycoreutils
@@ -783,10 +790,10 @@ Group: Development/Languages/Python
%endif
License: LGPL-2.0
Obsoletes: python-ceph
-Requires: python-rados = %{version}-%{release}
-Requires: python-rbd = %{version}-%{release}
-Requires: python-cephfs = %{version}-%{release}
-Requires: python-rgw = %{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
@@ -878,7 +885,7 @@ cmake .. \
%if 0%{with ocf}
-DWITH_OCF=ON \
%endif
-%if 0%{with rgw_beast}
+%ifarch aarch64 armv7hl mips mipsel ppc ppc64 ppc64le %{ix86} x86_64
-DWITH_RADOSGW_BEAST_FRONTEND=ON \
%else
-DWITH_RADOSGW_BEAST_FRONTEND=OFF \
@@ -1004,6 +1011,7 @@ rm -rf %{buildroot}
%{_bindir}/cephfs-table-tool
%{_libexecdir}/systemd/system-preset/50-ceph.preset
%{_sbindir}/ceph-create-keys
+%{_sbindir}/ceph-disk
%{_sbindir}/rcceph
%dir %{_libexecdir}/ceph
%{_libexecdir}/ceph/ceph_common.sh
@@ -1022,7 +1030,6 @@ rm -rf %{buildroot}
%{_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
@@ -1032,12 +1039,14 @@ 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*
@@ -1054,11 +1063,11 @@ rm -rf %{buildroot}
%if 0%{?suse_version}
%fillup_only
if [ $1 -eq 1 ] ; then
- /usr/bin/systemctl preset ceph.target >/dev/null 2>&1 || :
+ /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 || :
@@ -1066,21 +1075,32 @@ 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
%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,-)
@@ -1126,6 +1146,7 @@ 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
@@ -1231,6 +1252,13 @@ fi
%attr(750,ceph,ceph) %dir %{_localstatedir}/lib/ceph/mgr
%post mgr
+CERT="%{_sysconfdir}/ceph/ceph-mgr-restful.crt"
+PKEY="%{_sysconfdir}/ceph/ceph-mgr-restful.key"
+if [ ! -e "$CERT" -o ! -e "$PKEY" ]; then
+ openssl req -new -nodes -x509 \
+ -subj "/O=IT/CN=ceph-mgr-restful" \
+ -days 3650 -keyout "$PKEY" -out "$CERT" -extensions v3_ca
+fi
%if 0%{?suse_version}
if [ $1 -eq 1 ] ; then
/usr/bin/systemctl preset ceph-mgr@\*.service ceph-mgr.target >/dev/null 2>&1 || :
@@ -1395,6 +1423,7 @@ fi
%defattr(-,root,root,-)
%{_bindir}/radosgw
%{_bindir}/radosgw-token
+%{_bindir}/radosgw-es
%{_bindir}/radosgw-object-expirer
%{_mandir}/man8/radosgw.8*
%dir %{_localstatedir}/lib/ceph/radosgw
@@ -1448,31 +1477,27 @@ fi
%{_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 -eq 1 ] ; then
- /usr/bin/systemctl preset ceph-disk@\*.service ceph-osd@\*.service ceph-osd.target >/dev/null 2>&1 || :
+ /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 || :
@@ -1480,20 +1505,20 @@ 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
@@ -1503,7 +1528,7 @@ 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
@@ -1769,8 +1794,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