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