SHA256
1
0
forked from pool/ceph

Align disk constraint with actual disk usage

OBS-URL: https://build.opensuse.org/package/show/filesystems:ceph/ceph?expand=0&rev=39
This commit is contained in:
Nathan Cutler 2016-07-12 08:31:43 +00:00 committed by Git OBS Bridge
parent 763aabf325
commit e98ca5c728
2 changed files with 285 additions and 248 deletions

View File

@ -2,7 +2,7 @@
<constraints>
<hardware>
<disk>
<size unit="G">20</size>
<size unit="G">40</size>
</disk>
<memory>
<size unit="G">12</size>

151
ceph.spec
View File

@ -1,18 +1,24 @@
#
# spec file for package ceph
#
# Copyright (c) 2016 SUSE LINUX GmbH, Nuernberg, Germany.
# Copyright (C) 2004-2016 The Ceph Project Developers. See COPYING file
# at the top-level directory of this distribution and at
# https://github.com/ceph/ceph/blob/master/COPYING
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
# upon.
#
# This file is under the GNU Lesser General Public License, version 2.1
#
# Please submit bugfixes or comments via http://tracker.ceph.com/
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.
# Please submit bugfixes or comments via http://bugs.opensuse.org/
#
%bcond_with tests
%bcond_with xio
%bcond_without tcmalloc
@ -48,7 +54,6 @@
# unify libexec for all targets
%global _libexecdir %{_exec_prefix}/lib
#################################################################################
# common
#################################################################################
@ -57,28 +62,28 @@ Version: 10.2.2+git.1466113786.b5a7c56
Release: 0
Summary: User space components of the Ceph file system
License: LGPL-2.1 and CC-BY-SA-1.0 and GPL-2.0 and BSL-1.0 and GPL-2.0-with-autoconf-exception and BSD-3-Clause and MIT
%if 0%{?suse_version}
Group: System/Filesystems
%if 0%{?suse_version}
%endif
URL: http://ceph.com/
Url: http://ceph.com/
Source0: %{name}-%{version}.tar.bz2
Source99: ceph-rpmlintrc
ExcludeArch: i586
#################################################################################
# dependencies that apply across all distro families
#################################################################################
Requires: ceph-osd = %{version}-%{release}
Requires: ceph-mds = %{version}-%{release}
Requires: ceph-mon = %{version}-%{release}
Requires: ceph-osd = %{version}-%{release}
Requires(post): binutils
%if 0%{with cephfs_java}
BuildRequires: java-devel
BuildRequires: sharutils
%endif
%if 0%{with selinux}
BuildRequires: /usr/share/selinux/devel/policyhelp
BuildRequires: checkpolicy
BuildRequires: selinux-policy-devel
BuildRequires: /usr/share/selinux/devel/policyhelp
%endif
BuildRequires: boost-devel
BuildRequires: cmake
@ -91,8 +96,8 @@ BuildRequires: leveldb-devel > 1.2
BuildRequires: libaio-devel
BuildRequires: libblkid-devel >= 2.17
BuildRequires: libcurl-devel
BuildRequires: libudev-devel
BuildRequires: libtool
BuildRequires: libudev-devel
BuildRequires: libxml2-devel
BuildRequires: make
BuildRequires: parted
@ -117,53 +122,53 @@ BuildRequires: yasm
# distro-conditional dependencies
#################################################################################
%if 0%{?suse_version}
BuildRequires: pkgconfig(systemd)
BuildRequires: systemd-rpm-macros
BuildRequires: systemd
BuildRequires: systemd-rpm-macros
BuildRequires: pkgconfig(systemd)
%{?systemd_requires}
PreReq: %fillup_prereq
BuildRequires: net-tools
BuildRequires: libbz2-devel
BuildRequires: net-tools
%if 0%{with tcmalloc}
BuildRequires: gperftools-devel
%endif
BuildRequires: btrfsprogs
BuildRequires: mozilla-nss-devel
BuildRequires: keyutils-devel
BuildRequires: libatomic-ops-devel
BuildRequires: libopenssl-devel
BuildRequires: lsb-release
BuildRequires: mozilla-nss-devel
BuildRequires: openldap2-devel
BuildRequires: python-Cython
%endif
%if 0%{?fedora} || 0%{?rhel}
Requires: systemd
BuildRequires: Cython
BuildRequires: boost-random
BuildRequires: btrfs-progs
BuildRequires: nss-devel
BuildRequires: gperftools-devel
BuildRequires: keyutils-libs-devel
BuildRequires: libatomic_ops-devel
BuildRequires: gperftools-devel
BuildRequires: nss-devel
BuildRequires: openldap-devel
BuildRequires: openssl-devel
BuildRequires: redhat-lsb-core
BuildRequires: Cython
%endif
# lttng and babeltrace for rbd-replay-prep
%if %{with lttng}
%if 0%{?fedora} || 0%{?rhel}
BuildRequires: lttng-ust-devel
BuildRequires: libbabeltrace-devel
BuildRequires: lttng-ust-devel
%endif
%if 0%{?suse_version}
BuildRequires: lttng-ust-devel
BuildRequires: babeltrace-devel
BuildRequires: lttng-ust-devel
%endif
%endif
# expat and fastcgi for RGW
%if 0%{?suse_version}
BuildRequires: libexpat-devel
BuildRequires: FastCGI-devel
BuildRequires: libexpat-devel
%endif
%if 0%{?rhel} || 0%{?fedora}
BuildRequires: expat-devel
@ -188,27 +193,28 @@ on commodity hardware and delivers object, block and file system storage.
#################################################################################
%package base
Summary: Ceph Base Package
License: LGPL-2.1 and CC-BY-SA-1.0 and GPL-2.0 and BSL-1.0 and GPL-2.0-with-autoconf-exception and BSD-3-Clause and MIT
Group: System Environment/Base
Requires: ceph-common = %{version}-%{release}
Requires: librbd1 = %{version}-%{release}
Requires: librados2 = %{version}-%{release}
Requires: libcephfs1 = %{version}-%{release}
Requires: librados2 = %{version}-%{release}
Requires: librbd1 = %{version}-%{release}
Requires: librgw2 = %{version}-%{release}
%if 0%{with selinux}
Requires: ceph-selinux = %{version}-%{release}
%endif
Requires: cryptsetup
Requires: findutils
Requires: grep
Requires: hdparm
Requires: logrotate
Requires: parted
Requires: python
Requires: python-requests
Requires: python-setuptools
Requires: grep
Requires: xfsprogs
Requires: logrotate
Requires: parted
Requires: util-linux
Requires: hdparm
Requires: cryptsetup
Requires: findutils
Requires: which
Requires: xfsprogs
%if 0%{?suse_version}
Requires: lsb-release
Recommends: ntp-daemon
@ -224,13 +230,14 @@ Base is the package that includes all the files shared amongst ceph servers
%package -n ceph-common
Summary: Ceph Common
License: LGPL-2.1 and CC-BY-SA-1.0 and GPL-2.0 and BSL-1.0 and GPL-2.0-with-autoconf-exception and BSD-3-Clause and MIT
Group: System Environment/Base
Requires: librbd1 = %{version}-%{release}
Requires: librados2 = %{version}-%{release}
Requires: libcephfs1 = %{version}-%{release}
Requires: librados2 = %{version}-%{release}
Requires: librbd1 = %{version}-%{release}
Requires: python-cephfs = %{version}-%{release}
Requires: python-rados = %{version}-%{release}
Requires: python-rbd = %{version}-%{release}
Requires: python-cephfs = %{version}-%{release}
Requires: python-requests
%{?systemd_requires}
%if 0%{?suse_version}
@ -246,8 +253,10 @@ Comprised of files that are common to Ceph clients and servers.
%package mds
Summary: Ceph Metadata Server Daemon
License: LGPL-2.1 and CC-BY-SA-1.0 and GPL-2.0 and BSL-1.0 and GPL-2.0-with-autoconf-exception and BSD-3-Clause and MIT
Group: System Environment/Base
Requires: ceph-base = %{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
@ -255,6 +264,7 @@ namespace, coordinating access to the shared OSD cluster.
%package mon
Summary: Ceph Monitor Daemon
License: LGPL-2.1 and CC-BY-SA-1.0 and GPL-2.0 and BSL-1.0 and GPL-2.0-with-autoconf-exception and BSD-3-Clause and MIT
Group: System Environment/Base
Requires: ceph-base = %{version}-%{release}
# For ceph-rest-api
@ -272,37 +282,46 @@ of cluster membership, configuration, and state.
%package fuse
Summary: Ceph fuse-based client
License: LGPL-2.1 and CC-BY-SA-1.0 and GPL-2.0 and BSL-1.0 and GPL-2.0-with-autoconf-exception and BSD-3-Clause and MIT
Group: System Environment/Base
%description fuse
FUSE based client for Ceph distributed network file system
%package -n rbd-fuse
Summary: Ceph fuse-based client
License: LGPL-2.1 and CC-BY-SA-1.0 and GPL-2.0 and BSL-1.0 and GPL-2.0-with-autoconf-exception and BSD-3-Clause and MIT
Group: System Environment/Base
Requires: librados2 = %{version}-%{release}
Requires: librbd1 = %{version}-%{release}
%description -n rbd-fuse
FUSE based client to map Ceph rbd images to files
%package -n rbd-mirror
Summary: Ceph daemon for mirroring RBD images
License: LGPL-2.1 and CC-BY-SA-1.0 and GPL-2.0 and BSL-1.0 and GPL-2.0-with-autoconf-exception and BSD-3-Clause and MIT
Group: System Environment/Base
Requires: ceph-common = %{version}-%{release}
Requires: librados2 = %{version}-%{release}
%description -n rbd-mirror
Daemon for mirroring RBD images between Ceph clusters, streaming
changes asynchronously.
%package -n rbd-nbd
Summary: Ceph RBD client base on NBD
License: LGPL-2.1 and CC-BY-SA-1.0 and GPL-2.0 and BSL-1.0 and GPL-2.0-with-autoconf-exception and BSD-3-Clause and MIT
Group: System Environment/Base
Requires: librados2 = %{version}-%{release}
Requires: librbd1 = %{version}-%{release}
%description -n rbd-nbd
NBD based client to map Ceph rbd images to local device
%package radosgw
Summary: Rados REST gateway
License: LGPL-2.1 and CC-BY-SA-1.0 and GPL-2.0 and BSL-1.0 and GPL-2.0-with-autoconf-exception and BSD-3-Clause and MIT
Group: Development/Libraries
Requires: ceph-common = %{version}-%{release}
%if 0%{with selinux}
@ -328,10 +347,11 @@ service as well as the OpenStack Object Storage ("Swift") API.
%if %{with ocf}
%package resource-agents
Summary: OCF-compliant resource agents for Ceph daemons
Group: System Environment/Base
License: LGPL-2.0
Group: System Environment/Base
Requires: ceph-base = %{version}
Requires: resource-agents
%description resource-agents
Resource agents for monitoring and managing Ceph daemons
under Open Cluster Framework (OCF) compliant resource
@ -340,6 +360,7 @@ managers such as Pacemaker.
%package osd
Summary: Ceph Object Storage Daemon
License: LGPL-2.1 and CC-BY-SA-1.0 and GPL-2.0 and BSL-1.0 and GPL-2.0-with-autoconf-exception and BSD-3-Clause and MIT
Group: System Environment/Base
Requires: ceph-base = %{version}-%{release}
# for sgdisk, used by ceph-disk
@ -356,8 +377,8 @@ and providing access to them over the network.
%package -n librados2
Summary: RADOS distributed object store client library
Group: System Environment/Libraries
License: LGPL-2.0
Group: System Environment/Libraries
%if 0%{?rhel} || 0%{?fedora}
Obsoletes: ceph-libs < %{version}-%{release}
%endif
@ -369,50 +390,55 @@ store using a simple file-like interface.
%package -n librados-devel
Summary: RADOS headers
Group: Development/Libraries
License: LGPL-2.0
Group: Development/Libraries
Requires: librados2 = %{version}-%{release}
Obsoletes: ceph-devel < %{version}-%{release}
Obsoletes: librados2-devel
%description -n librados-devel
This package contains libraries and headers needed to develop programs
that use RADOS object store.
%package -n librgw2
Summary: RADOS gateway client library
Group: System Environment/Libraries
License: LGPL-2.0
Group: System Environment/Libraries
Requires: librados2 = %{version}-%{release}
%description -n librgw2
This package provides a library implementation of the RADOS gateway
(distributed object store with S3 and Swift personalities).
%package -n librgw-devel
Summary: RADOS gateway client library
Group: Development/Libraries
License: LGPL-2.0
Group: Development/Libraries
Requires: librados-devel = %{version}-%{release}
Requires: librgw2 = %{version}-%{release}
Obsoletes: librgw2-devel
%description -n librgw-devel
This package contains libraries and headers needed to develop programs
that use RADOS gateway client library.
%package -n python-rados
Summary: Python libraries for the RADOS object store
Group: System Environment/Libraries
License: LGPL-2.0
Group: System Environment/Libraries
Requires: librados2 = %{version}-%{release}
Obsoletes: python-ceph < %{version}-%{release}
%description -n python-rados
This package contains Python libraries for interacting with Cephs RADOS
object store.
%package -n libradosstriper1
Summary: RADOS striping interface
Group: System Environment/Libraries
License: LGPL-2.0
Group: System Environment/Libraries
Requires: librados2 = %{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
@ -420,20 +446,21 @@ an interface very similar to the rados one.
%package -n libradosstriper-devel
Summary: RADOS striping interface headers
Group: Development/Libraries
License: LGPL-2.0
Requires: libradosstriper1 = %{version}-%{release}
Group: Development/Libraries
Requires: librados-devel = %{version}-%{release}
Requires: libradosstriper1 = %{version}-%{release}
Obsoletes: ceph-devel < %{version}-%{release}
Obsoletes: libradosstriper1-devel
%description -n libradosstriper-devel
This package contains libraries and headers needed to develop programs
that use RADOS striping interface.
%package -n librbd1
Summary: RADOS block device client library
Group: System Environment/Libraries
License: LGPL-2.0
Group: System Environment/Libraries
Requires: librados2 = %{version}-%{release}
%if 0%{?rhel} || 0%{?fedora}
Obsoletes: ceph-libs < %{version}-%{release}
@ -446,34 +473,36 @@ shared library allowing applications to manage these block devices.
%package -n librbd-devel
Summary: RADOS block device headers
Group: Development/Libraries
License: LGPL-2.0
Requires: librbd1 = %{version}-%{release}
Group: Development/Libraries
Requires: librados-devel = %{version}-%{release}
Requires: librbd1 = %{version}-%{release}
Obsoletes: ceph-devel < %{version}-%{release}
Obsoletes: librbd1-devel
%description -n librbd-devel
This package contains libraries and headers needed to develop programs
that use RADOS block device.
%package -n python-rbd
Summary: Python libraries for the RADOS block device
Group: System Environment/Libraries
License: LGPL-2.0
Group: System Environment/Libraries
Requires: librbd1 = %{version}-%{release}
Requires: python-rados = %{version}-%{release}
Obsoletes: python-ceph < %{version}-%{release}
%description -n python-rbd
This package contains Python libraries for interacting with Cephs RADOS
block device.
%package -n libcephfs1
Summary: Ceph distributed file system client library
Group: System Environment/Libraries
License: LGPL-2.0
Group: System Environment/Libraries
%if 0%{?rhel} || 0%{?fedora}
Obsoletes: ceph-libs < %{version}-%{release}
Obsoletes: ceph-libcephfs
Obsoletes: ceph-libs < %{version}-%{release}
%endif
%description -n libcephfs1
Ceph is a distributed network file system designed to provide excellent
@ -483,33 +512,36 @@ POSIX-like interface.
%package -n libcephfs-devel
Summary: Ceph distributed file system headers
Group: Development/Libraries
License: LGPL-2.0
Group: Development/Libraries
Requires: libcephfs1 = %{version}-%{release}
Requires: librados-devel = %{version}-%{release}
Obsoletes: ceph-devel < %{version}-%{release}
Obsoletes: libcephfs1-devel
%description -n libcephfs-devel
This package contains libraries and headers needed to develop programs
that use Cephs distributed file system.
%package -n python-cephfs
Summary: Python libraries for Ceph distributed file system
Group: System Environment/Libraries
License: LGPL-2.0
Group: System Environment/Libraries
Requires: libcephfs1 = %{version}-%{release}
Requires: python-rados = %{version}-%{release}
Obsoletes: python-ceph < %{version}-%{release}
%description -n python-cephfs
This package contains Python libraries for interacting with Cephs distributed
file system.
%package -n ceph-test
Summary: Ceph benchmarks and test tools
Group: System Environment/Libraries
License: LGPL-2.0
Group: System Environment/Libraries
Requires: ceph-common
Requires: xmlstarlet
%description -n ceph-test
This package contains Ceph benchmarks and test tools.
@ -517,34 +549,37 @@ This package contains Ceph benchmarks and test tools.
%package -n libcephfs_jni1
Summary: Java Native Interface library for CephFS Java bindings
Group: System Environment/Libraries
License: LGPL-2.0
Group: System Environment/Libraries
Requires: java
Requires: libcephfs1 = %{version}-%{release}
%description -n libcephfs_jni1
This package contains the Java Native Interface library for CephFS Java
bindings.
%package -n libcephfs_jni-devel
Summary: Development files for CephFS Java Native Interface library
Group: System Environment/Libraries
License: LGPL-2.0
Group: System Environment/Libraries
Requires: java
Requires: libcephfs_jni1 = %{version}-%{release}
Obsoletes: ceph-devel < %{version}-%{release}
Obsoletes: libcephfs_jni1-devel
%description -n libcephfs_jni-devel
This package contains the development files for CephFS Java Native Interface
library.
%package -n cephfs-java
Summary: Java libraries for the Ceph File System
Group: System Environment/Libraries
License: LGPL-2.0
Group: System Environment/Libraries
Requires: java
Requires: libcephfs_jni1 = %{version}-%{release}
Requires: junit
Requires: libcephfs_jni1 = %{version}-%{release}
BuildRequires: junit
%description -n cephfs-java
This package contains the Java libraries for the Ceph File System.
@ -554,11 +589,14 @@ This package contains the Java libraries for the Ceph File System.
%package selinux
Summary: SELinux support for Ceph MON, OSD and MDS
License: LGPL-2.1 and CC-BY-SA-1.0 and GPL-2.0 and BSL-1.0 and GPL-2.0-with-autoconf-exception and BSD-3-Clause and MIT
Group: System Environment/Base
Requires: ceph-base = %{version}-%{release}
Requires: policycoreutils, libselinux-utils
Requires: libselinux-utils
Requires: policycoreutils
Requires(post): selinux-policy-base >= %{_selinux_policy_version}, policycoreutils, gawk
Requires(postun): policycoreutils
%description selinux
This package contains SELinux support for Ceph MON, OSD and MDS. The package
also performs file-system relabelling which can take a long time on heavily
@ -1483,5 +1521,4 @@ exit 0
%endif # with selinux
%changelog