upstream ceph.spec file

This commit is contained in:
Kaleb S. KEITHLEY 2014-07-01 13:47:44 -04:00
parent e605c9c549
commit 10fcd5ea45
1 changed files with 539 additions and 197 deletions

736
ceph.spec
View File

@ -1,260 +1,431 @@
%bcond_with ocf
%global _hardened_build 1 %if ! (0%{?fedora} > 12 || 0%{?rhel} > 5)
%{!?python_sitelib: %global python_sitelib %(%{__python} -c "from distutils.sysconfig import get_python_lib; print(get_python_lib())")}
Name: ceph %{!?python_sitearch: %global python_sitearch %(%{__python} -c "from distutils.sysconfig import get_python_lib; print(get_python_lib(1))")}
Version: 0.81.0
Release: 2%{?dist}
Summary: User space components of the Ceph file system
License: LGPLv2
Group: System Environment/Base
URL: https://ceph.com/
Source: https://ceph.com/download/%{name}-0.81.tar.bz2
Patch0: ceph-init-fix.patch
# https://github.com/ceph/ceph/pull/1051
Patch1: ceph-fix-sbin-target.patch
BuildRequires: fuse-devel, libtool, libtool-ltdl-devel, boost-devel,
BuildRequires: libedit-devel, fuse-devel, git, perl, gdbm, libaio-devel,
# google-perftools is not available on these:
%if ( ! (0%{?rhel} && 0%{?rhel} <= 6 ) )
%ifnarch ppc s390 s390x
BuildRequires: gperftools-devel
%endif %endif
#################################################################################
# common
#################################################################################
Name: ceph
Version: 0.81.0
Release: 3%{?dist}
Summary: User space components of the Ceph file system
License: GPL-2.0
Group: System Environment/Base
URL: http://ceph.com/
Source0: https://ceph.com/download/%{name}-0.81.tar.bz2
Requires: librbd1 = %{version}-%{release}
Requires: librados2 = %{version}-%{release}
Requires: libcephfs1 = %{version}-%{release}
Requires: python
Requires: python-argparse
Requires: python-ceph
Requires: python-requests
Requires: xfsprogs
Requires: cryptsetup
Requires: parted
Requires: util-linux
Requires: hdparm
Requires: redhat-lsb-core
Requires(post): binutils
BuildRoot: %{_tmppath}/%{name}-%{version}-build
BuildRequires: make
BuildRequires: gcc-c++
BuildRequires: libtool
BuildRequires: boost-devel
BuildRequires: libedit-devel
BuildRequires: perl
BuildRequires: gdbm
BuildRequires: pkgconfig
BuildRequires: python
BuildRequires: python-nose
BuildRequires: python-argparse
BuildRequires: libaio-devel
BuildRequires: libcurl-devel
BuildRequires: libxml2-devel
BuildRequires: libuuid-devel
BuildRequires: libblkid-devel >= 2.17
BuildRequires: libudev-devel
BuildRequires: leveldb-devel > 1.2
BuildRequires: xfsprogs-devel
BuildRequires: yasm
%if 0%{?rhel_version} || 0%{?centos_version} || 0%{?fedora}
BuildRequires: snappy-devel
%endif
#################################################################################
# specific
#################################################################################
%if ! 0%{?rhel}
BuildRequires: sharutils
%endif
%if 0%{defined suse_version}
%if 0%{?suse_version} > 1210
Requires: gptfdisk
BuildRequires: gperftools-devel
%else %else
%ifnarch ppc ppc64 s390 s390x Requires: scsirastools
BuildRequires: gperftools-devel BuildRequires: google-perftools-devel
%endif %endif
Recommends: logrotate
BuildRequires: %insserv_prereq
BuildRequires: mozilla-nss-devel
BuildRequires: keyutils-devel
BuildRequires: libatomic-ops-devel
BuildRequires: fdupes
%else
Requires: gdisk
BuildRequires: nss-devel
BuildRequires: keyutils-libs-devel
BuildRequires: libatomic_ops-devel
Requires: gdisk
Requires(post): chkconfig
Requires(preun):chkconfig
Requires(preun):initscripts
BuildRequires: gperftools-devel
%endif %endif
BuildRequires: cryptopp-devel, libatomic_ops-static, gcc-c++
BuildRequires: pkgconfig, libcurl-devel, keyutils-libs-devel
BuildRequires: gtkmm24-devel, gtk2-devel, libuuid, libuuid-devel
BuildRequires: leveldb-devel, snappy-devel, libblkid-devel
BuildRequires: libudev-devel
%if ( ! (0%{?rhel} && 0%{?rhel} <= 6 ) )
BuildRequires: xfsprogs-devel
%endif
Requires(post): chkconfig, binutils, libedit
Requires(preun): chkconfig
Requires(preun): initscripts
%description %description
Ceph is a distributed network file system designed to provide excellent Ceph is a massively scalable, open-source, distributed
performance, reliability, and scalability. storage system that runs on commodity hardware and delivers object,
block and file system storage.
%package libs
Summary: Ceph libraries
Group: System Environment/Libraries
%description libs
Common libraries for Ceph distributed network file system
%package libcephfs #################################################################################
Summary: Ceph libcephfs libraries # packages
Group: System Environment/Libraries #################################################################################
%description libcephfs %package fuse
libcephfs library for Ceph distributed network file system Summary: Ceph fuse-based client
Group: System Environment/Base
%package fuse Requires: %{name}
Summary: Ceph fuse-based client BuildRequires: fuse-devel
Group: System Environment/Base %description fuse
Requires: %{name}%{?_isa} = %{version}-%{release}
BuildRequires: fuse-devel
%description fuse
FUSE based client for Ceph distributed network file system FUSE based client for Ceph distributed network file system
%package devel %package -n rbd-fuse
Summary: Ceph headers Summary: Ceph fuse-based client
Group: Development/Libraries Group: System Environment/Base
License: LGPLv2 Requires: %{name}
Requires: %{name}%{?_isa} = %{version}-%{release} BuildRequires: fuse-devel
Requires: %{name}-libs%{?_isa} = %{version}-%{release} %description -n rbd-fuse
Requires: %{name}-libcephfs%{?_isa} = %{version}-%{release} FUSE based client to map Ceph rbd images to files
%package devel
Summary: Ceph headers
Group: Development/Libraries
License: LGPL-2.0
Requires: %{name} = %{version}-%{release}
Requires: librados2 = %{version}
Requires: librbd1 = %{version}
Requires: libcephfs1 = %{version}
%description devel %description devel
This package contains the headers needed to develop programs that use Ceph. This package contains libraries and headers needed to develop programs
that use Ceph.
%package radosgw %package radosgw
Summary: rados REST gateway Summary: Rados REST gateway
Group: Development/Libraries Group: Development/Libraries
Requires: mod_fcgid Requires: librados2 = %{version}-%{release}
BuildRequires: fcgi-devel %if 0%{defined suse_version}
BuildRequires: expat-devel BuildRequires: libexpat-devel
BuildRequires: FastCGI-devel
Requires: apache2-mod_fcgid
%else
BuildRequires: expat-devel
BuildRequires: fcgi-devel
%endif
%description radosgw %description radosgw
radosgw is an S3 HTTP REST gateway for the RADOS object store. It is radosgw is an S3 HTTP REST gateway for the RADOS object store. It is
implemented as a FastCGI module using libfcgi, and can be used in implemented as a FastCGI module using libfcgi, and can be used in
conjunction with any FastCGI capable web server. conjunction with any FastCGI capable web server.
%if %{with ocf}
%package resource-agents
Summary: OCF-compliant resource agents for Ceph daemons
Group: System Environment/Base
License: LGPL-2.0
Requires: %{name} = %{version}
Requires: resource-agents
%description resource-agents
Resource agents for monitoring and managing Ceph daemons
under Open Cluster Framework (OCF) compliant resource
managers such as Pacemaker.
%endif
%package -n librados2
Summary: RADOS distributed object store client library
Group: System Environment/Libraries
License: LGPL-2.0
%if 0%{?rhel_version} || 0%{?centos_version} || 0%{?fedora}
Obsoletes: ceph-libs
%endif
%description -n librados2
RADOS is a reliable, autonomic distributed object storage cluster
developed as part of the Ceph distributed storage system. This is a
shared library allowing applications to access the distributed object
store using a simple file-like interface.
%package -n librbd1
Summary: RADOS block device client library
Group: System Environment/Libraries
License: LGPL-2.0
%if 0%{?rhel_version} || 0%{?centos_version} || 0%{?fedora}
Obsoletes: ceph-libs
%endif
%description -n librbd1
RBD is a block device striped across multiple distributed objects in
RADOS, a reliable, autonomic distributed object storage cluster
developed as part of the Ceph distributed storage system. This is a
shared library allowing applications to manage these block devices.
%package -n libcephfs1
Summary: Ceph distributed file system client library
Group: System Environment/Libraries
License: LGPL-2.0
%if 0%{?rhel_version} || 0%{?centos_version} || 0%{?fedora}
Obsoletes: ceph-libs
%endif
%description -n libcephfs1
Ceph is a distributed network file system designed to provide excellent
performance, reliability, and scalability. This is a shared library
allowing applications to access a Ceph distributed file system via a
POSIX-like interface.
%package -n python-ceph
Summary: Python libraries for the Ceph distributed filesystem
Group: System Environment/Libraries
License: LGPL-2.0
Requires: librados2 = %{version}-%{release}
Requires: librbd1 = %{version}-%{release}
Requires: libcephfs1 = %{version}-%{release}
Requires: python-flask
%if 0%{defined suse_version}
%py_requires
%endif
%description -n python-ceph
This package contains Python libraries for interacting with Cephs RADOS
object storage.
%package -n rest-bench
Summary: RESTful benchmark
Group: System Environment/Libraries
License: LGPL-2.0
Requires: librados2 = %{version}-%{release}
Requires: librbd1 = %{version}-%{release}
Requires: libcephfs1 = %{version}-%{release}
%description -n rest-bench
RESTful bencher that can be used to benchmark radosgw performance.
%package -n ceph-test
Summary: Ceph benchmarks and test tools
Group: System Environment/Libraries
License: LGPL-2.0
Requires: librados2 = %{version}-%{release}
Requires: librbd1 = %{version}-%{release}
Requires: libcephfs1 = %{version}-%{release}
%description -n ceph-test
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
Requires: java
Requires: libcephfs1 = %{version}-%{release}
BuildRequires: java-devel
%description -n libcephfs_jni1
This package contains the Java Native Interface library for CephFS Java
bindings.
%package -n cephfs-java
Summary: Java libraries for the Ceph File System.
Group: System Environment/Libraries
License: LGPL-2.0
Requires: java
Requires: libcephfs_jni1 = %{version}-%{release}
BuildRequires: java-devel
Requires: junit4
BuildRequires: junit4
%description -n cephfs-java
This package contains the Java libraries for the Ceph File System.
%if 0%{?opensuse} || 0%{?suse_version}
%debug_package
%endif
#################################################################################
# common
#################################################################################
%prep %prep
%setup -q -n ceph-0.81 %setup -q -n ceph-0.81
%patch0 -p1 -b .init
%patch1 -p1
%build %build
# Find jni.h
for i in /usr/{lib64,lib}/jvm/java/include{,/linux}; do
[ -d $i ] && java_inc="$java_inc -I$i"
done
./autogen.sh ./autogen.sh
MY_CONF_OPT=""
%ifarch armv5tel MY_CONF_OPT="$MY_CONF_OPT --with-radosgw"
# libatomic_ops does not have correct asm for ARMv5tel
EXTRA_CFLAGS="-DAO_USE_PTHREAD_DEFS" export RPM_OPT_FLAGS=`echo $RPM_OPT_FLAGS | sed -e 's/i386/i486/'`
%endif
%ifarch %{arm} %{configure} CPPFLAGS="$java_inc" \
# libatomic_ops seems to fallback on some pthread implementation on ARM --prefix=/usr \
EXTRA_LDFLAGS="-lpthread" --localstatedir=/var \
--sysconfdir=/etc \
--docdir=%{_docdir}/ceph \
--with-nss \
--without-cryptopp \
--with-rest-bench \
--with-debug \
--enable-cephfs-java \
$MY_CONF_OPT \
%{?_with_ocf} \
CFLAGS="$RPM_OPT_FLAGS" CXXFLAGS="$RPM_OPT_FLAGS"
# fix bug in specific version of libedit-devel
%if 0%{defined suse_version}
sed -i -e "s/-lcurses/-lncurses/g" Makefile
sed -i -e "s/-lcurses/-lncurses/g" src/Makefile
sed -i -e "s/-lcurses/-lncurses/g" man/Makefile
sed -i -e "s/-lcurses/-lncurses/g" src/ocf/Makefile
sed -i -e "s/-lcurses/-lncurses/g" src/java/Makefile
%endif %endif
%{configure} --prefix=%{_prefix} --sbindir=%{_sbindir} \ make -j$(getconf _NPROCESSORS_ONLN)
--localstatedir=%{_localstatedir} --sysconfdir=%{_sysconfdir} \
%if ( 0%{?rhel} && 0%{?rhel} <= 6 )
--without-libxfs \
%endif
%if ( ! (0%{?rhel} && 0%{?rhel} <= 6 ) )
%ifarch ppc s390 s390x
--without-tcmalloc \
%endif
%else
%ifarch ppc ppc64 s390 s390x
--without-tcmalloc \
%endif
%endif
--with-system-leveldb --without-hadoop --with-radosgw --with-gtk2 \
CFLAGS="$RPM_OPT_FLAGS $EXTRA_CFLAGS" \
CXXFLAGS="$RPM_OPT_FLAGS $EXTRA_CFLAGS -fvisibility-inlines-hidden" \
LDFLAGS="$EXTRA_LDFLAGS"
V=1 make %{?_smp_mflags}
%install %install
make install DESTDIR=$RPM_BUILD_ROOT make DESTDIR=$RPM_BUILD_ROOT install
find $RPM_BUILD_ROOT -type f -name "*.la" -exec rm -f {} ';' find $RPM_BUILD_ROOT -type f -name "*.la" -exec rm -f {} ';'
find $RPM_BUILD_ROOT -type f -name "*.a" -exec rm -f {} ';' find $RPM_BUILD_ROOT -type f -name "*.a" -exec rm -f {} ';'
install -D src/init-ceph $RPM_BUILD_ROOT%{_initrddir}/ceph install -D src/init-ceph $RPM_BUILD_ROOT%{_initrddir}/ceph
chmod 0644 $RPM_BUILD_ROOT%{_docdir}/ceph/sample.ceph.conf install -D src/init-radosgw.sysv $RPM_BUILD_ROOT%{_initrddir}/ceph-radosgw
rm -rf __tmp_docs ; mkdir __tmp_docs install -D src/init-rbdmap $RPM_BUILD_ROOT%{_initrddir}/rbdmap
mv $RPM_BUILD_ROOT%{_docdir}/ceph/* __tmp_docs install -D src/rbdmap $RPM_BUILD_ROOT%{_sysconfdir}/ceph/rbdmap
mkdir -p $RPM_BUILD_ROOT%{_sbindir}
ln -sf ../../etc/init.d/ceph %{buildroot}/%{_sbindir}/rcceph
ln -sf ../../etc/init.d/ceph-radosgw %{buildroot}/%{_sbindir}/rcceph-radosgw
install -m 0644 -D src/logrotate.conf $RPM_BUILD_ROOT%{_sysconfdir}/logrotate.d/ceph install -m 0644 -D src/logrotate.conf $RPM_BUILD_ROOT%{_sysconfdir}/logrotate.d/ceph
mkdir -p $RPM_BUILD_ROOT%{_localstatedir}/lib/ceph/tmp/ install -m 0644 -D src/rgw/logrotate.conf $RPM_BUILD_ROOT%{_sysconfdir}/logrotate.d/radosgw
mkdir -p $RPM_BUILD_ROOT%{_localstatedir}/log/ceph/ chmod 0644 $RPM_BUILD_ROOT%{_docdir}/ceph/sample.ceph.conf
mkdir -p $RPM_BUILD_ROOT%{_localstatedir}/log/ceph/stat chmod 0644 $RPM_BUILD_ROOT%{_docdir}/ceph/sample.fetch_config
# udev rules
install -m 0644 -D udev/50-rbd.rules $RPM_BUILD_ROOT/lib/udev/rules.d/50-rbd.rules
install -m 0644 -D udev/60-ceph-partuuid-workaround.rules $RPM_BUILD_ROOT/lib/udev/rules.d/60-ceph-partuuid-workaround.rules
%if (0%{?rhel} || 0%{?rhel} < 7)
install -m 0644 -D udev/95-ceph-osd-alt.rules $RPM_BUILD_ROOT/lib/udev/rules.d/95-ceph-osd.rules
%else
install -m 0644 -D udev/95-ceph-osd.rules $RPM_BUILD_ROOT/lib/udev/rules.d/95-ceph-osd.rules
%endif
#set up placeholder directories
mkdir -p $RPM_BUILD_ROOT%{_sysconfdir}/ceph mkdir -p $RPM_BUILD_ROOT%{_sysconfdir}/ceph
mkdir -p $RPM_BUILD_ROOT%{_sysconfdir}/bash_completion.d mkdir -p $RPM_BUILD_ROOT%{_localstatedir}/run/ceph
mkdir -p $RPM_BUILD_ROOT%{_localstatedir}/log/ceph
mkdir -p $RPM_BUILD_ROOT%{_localstatedir}/lib/ceph/tmp
mkdir -p $RPM_BUILD_ROOT%{_localstatedir}/lib/ceph/mon
mkdir -p $RPM_BUILD_ROOT%{_localstatedir}/lib/ceph/osd
mkdir -p $RPM_BUILD_ROOT%{_localstatedir}/lib/ceph/mds
mkdir -p $RPM_BUILD_ROOT%{_localstatedir}/lib/ceph/bootstrap-osd
mkdir -p $RPM_BUILD_ROOT%{_localstatedir}/lib/ceph/bootstrap-mds
mkdir -p $RPM_BUILD_ROOT%{_localstatedir}/log/radosgw
%if %{defined suse_version}
# Fedora seems to have some problems with this macro, use it only on SUSE
%fdupes -s $RPM_BUILD_ROOT/%{python_sitelib}
%fdupes %buildroot
%endif
%clean
rm -rf $RPM_BUILD_ROOT
%post %post
/sbin/ldconfig
/sbin/chkconfig --add ceph /sbin/chkconfig --add ceph
mkdir -p %{_localstatedir}/run/ceph/
%preun %preun
%if %{defined suse_version}
%stop_on_removal ceph
%endif
if [ $1 = 0 ] ; then if [ $1 = 0 ] ; then
/sbin/service ceph stop >/dev/null 2>&1 /sbin/service ceph stop >/dev/null 2>&1
/sbin/chkconfig --del ceph /sbin/chkconfig --del ceph
fi fi
%postun %postun
/sbin/ldconfig
if [ "$1" -ge "1" ] ; then if [ "$1" -ge "1" ] ; then
/sbin/service ceph condrestart >/dev/null 2>&1 || : /sbin/service ceph condrestart >/dev/null 2>&1 || :
fi fi
%if %{defined suse_version}
%restart_on_update ceph
%insserv_cleanup
%endif
# Package removal cleanup
if [ "$1" -eq "0" ] ; then
rm -rf /var/log/ceph
rm -rf /etc/ceph
fi
%post libs -p /sbin/ldconfig #################################################################################
%postun libs -p /sbin/ldconfig # files
%post libcephfs -p /sbin/ldconfig #################################################################################
%postun libcephfs -p /sbin/ldconfig
%files %files
%doc README COPYING __tmp_docs/sample* %docdir %{_docdir}
%dir %{_sysconfdir}/ceph %dir %{_docdir}/ceph
%{_docdir}/ceph/sample.ceph.conf
%{_docdir}/ceph/sample.fetch_config
%{_datadir}/ceph/known_hosts_drop.ceph.com
%{_datadir}/ceph/id_dsa_drop.ceph.com
%{_datadir}/ceph/id_dsa_drop.ceph.com.pub
%{_bindir}/ceph %{_bindir}/ceph
%{_bindir}/cephfs %{_bindir}/cephfs
%{_bindir}/ceph-conf %{_bindir}/ceph-conf
%{_bindir}/ceph-clsinfo %{_bindir}/ceph-clsinfo
%{_bindir}/ceph_filestore_tool %{_bindir}/ceph-rest-api
%{_bindir}/crushtool %{_bindir}/crushtool
%{_bindir}/monmaptool %{_bindir}/monmaptool
%{_bindir}/osdmaptool %{_bindir}/osdmaptool
%{_bindir}/ceph-authtool %{_bindir}/ceph-authtool
%{_bindir}/ceph-syn
%{_bindir}/ceph-post-file
%{_bindir}/ceph-brag %{_bindir}/ceph-brag
%{_bindir}/ceph-crush-location %{_bindir}/ceph-crush-location
%{_bindir}/ceph-syn
%{_bindir}/ceph-run %{_bindir}/ceph-run
%{_bindir}/ceph-mon %{_bindir}/ceph-mon
%{_bindir}/ceph-mds %{_bindir}/ceph-mds
%{_bindir}/ceph-osd %{_bindir}/ceph-osd
%{_bindir}/ceph-rbdnamer %{_bindir}/ceph-rbdnamer
%{_bindir}/ceph-dencoder
%{_bindir}/librados-config
%{_bindir}/rados %{_bindir}/rados
%{_bindir}/rbd %{_bindir}/rbd
%{_bindir}/ceph-client-debug
%{_bindir}/ceph-debugpack %{_bindir}/ceph-debugpack
%{_bindir}/ceph-coverage %{_bindir}/ceph-coverage
%{_bindir}/ceph-dencoder
%{_bindir}/ceph_filestore_dump
%{_bindir}/ceph_mon_store_converter %{_bindir}/ceph_mon_store_converter
%{_bindir}/ceph-post-file
%{_bindir}/ceph-rest-api
%{_initrddir}/ceph %{_initrddir}/ceph
%{_sbindir}/mount.ceph %{_sbindir}/ceph-disk
%{_sbindir}/ceph-disk-activate %{_sbindir}/ceph-disk-activate
%{_sbindir}/ceph-disk-prepare %{_sbindir}/ceph-disk-prepare
%{_sbindir}/ceph-create-keys
%{_sbindir}/ceph-disk
%{_sbindir}/ceph-disk-udev %{_sbindir}/ceph-disk-udev
%{_libdir}/ceph %{_sbindir}/ceph-create-keys
%exclude %{_libdir}/ceph/erasure-code %{_sbindir}/rcceph
%config(noreplace) %{_sysconfdir}/logrotate.d/ceph /sbin/mount.ceph
%config(noreplace) %{_sysconfdir}/bash_completion.d/rados %dir %{_libdir}/ceph
%config(noreplace) %{_sysconfdir}/bash_completion.d/ceph %{_libdir}/ceph/ceph_common.sh
%config(noreplace) %{_sysconfdir}/bash_completion.d/rbd
%{_mandir}/man8/ceph-mon.8*
%{_mandir}/man8/ceph-mds.8*
%{_mandir}/man8/ceph-osd.8*
%{_mandir}/man8/ceph-run.8*
%{_mandir}/man8/ceph-syn.8*
%{_mandir}/man8/crushtool.8*
%{_mandir}/man8/osdmaptool.8*
%{_mandir}/man8/monmaptool.8*
%{_mandir}/man8/ceph-conf.8*
%{_mandir}/man8/ceph.8*
%{_mandir}/man8/cephfs.8*
%{_mandir}/man8/mount.ceph.8*
%{_mandir}/man8/radosgw.8*
%{_mandir}/man8/radosgw-admin.8*
%{_mandir}/man8/rados.8*
%{_mandir}/man8/rbd.8*
%{_mandir}/man8/ceph-authtool.8*
%{_mandir}/man8/ceph-debugpack.8*
%{_mandir}/man8/ceph-clsinfo.8*
%{_mandir}/man8/ceph-dencoder.8*
%{_mandir}/man8/ceph-rbdnamer.8*
%{_mandir}/man8/ceph-rest-api.8*
%{_mandir}/man8/ceph-post-file.8*
%{python_sitelib}/rados.py*
%{python_sitelib}/rbd.py*
%{python_sitelib}/cephfs.py*
%{python_sitelib}/ceph_argparse.py*
%{python_sitelib}/ceph_rest_api.py*
%dir %{_localstatedir}/lib/ceph/
%dir %{_localstatedir}/lib/ceph/tmp/
%dir %{_localstatedir}/log/ceph/
%{_datadir}/ceph/id_dsa_drop.ceph.com*
%{_datadir}/ceph/known_hosts_drop.ceph.com
%files libs
%doc COPYING
%{_libdir}/librados.so.*
%{_libdir}/librbd.so.*
%dir %{_libdir}/ceph/erasure-code
# Warning to future maintainers: Note that the libec_ and libcls_ unversioned
# shared objects are included here in the libs subpackage. These files are
# plugins that Ceph loads with dlopen(). They belong here in -libs, not
# -devel.
# N.B. in 0.80.1 the `make install` installs the erasure-code shared objects
# in usr/lib*/ceph/erasure-code/...
%{_libdir}/ceph/erasure-code/libec_example.so*
%{_libdir}/ceph/erasure-code/libec_fail_to_initialize.so*
%{_libdir}/ceph/erasure-code/libec_fail_to_register.so*
%{_libdir}/ceph/erasure-code/libec_hangs.so*
%{_libdir}/ceph/erasure-code/libec_jerasure.so*
%{_libdir}/ceph/erasure-code/libec_missing_entry_point.so*
%dir %{_libdir}/rados-classes %dir %{_libdir}/rados-classes
# See warning note above about unversioned shared objects here. These belong
# here in -libs (not -devel).
%{_libdir}/rados-classes/libcls_hello.so*
%{_libdir}/rados-classes/libcls_rbd.so* %{_libdir}/rados-classes/libcls_rbd.so*
%{_libdir}/rados-classes/libcls_hello.so*
%{_libdir}/rados-classes/libcls_rgw.so* %{_libdir}/rados-classes/libcls_rgw.so*
%{_libdir}/rados-classes/libcls_lock.so* %{_libdir}/rados-classes/libcls_lock.so*
%{_libdir}/rados-classes/libcls_kvs.so* %{_libdir}/rados-classes/libcls_kvs.so*
@ -262,51 +433,222 @@ fi
%{_libdir}/rados-classes/libcls_log.so* %{_libdir}/rados-classes/libcls_log.so*
%{_libdir}/rados-classes/libcls_replica_log.so* %{_libdir}/rados-classes/libcls_replica_log.so*
%{_libdir}/rados-classes/libcls_statelog.so* %{_libdir}/rados-classes/libcls_statelog.so*
%{_libdir}/rados-classes/libcls_version.so*
%{_libdir}/rados-classes/libcls_user.so* %{_libdir}/rados-classes/libcls_user.so*
%{_libdir}/rados-classes/libcls_version.so*
%dir %{_libdir}/ceph/erasure-code
%{_libdir}/ceph/erasure-code/libec_example.so*
%{_libdir}/ceph/erasure-code/libec_fail_to_initialize.so*
%{_libdir}/ceph/erasure-code/libec_fail_to_register.so*
%{_libdir}/ceph/erasure-code/libec_hangs.so*
%{_libdir}/ceph/erasure-code/libec_jerasure*.so*
%{_libdir}/ceph/erasure-code/libec_test_jerasure*.so*
%{_libdir}/ceph/erasure-code/libec_missing_entry_point.so*
/lib/udev/rules.d/50-rbd.rules
/lib/udev/rules.d/60-ceph-partuuid-workaround.rules
/lib/udev/rules.d/95-ceph-osd.rules
%dir %{_sysconfdir}/ceph/
%config %{_sysconfdir}/bash_completion.d/ceph
%config %{_sysconfdir}/bash_completion.d/rados
%config %{_sysconfdir}/bash_completion.d/radosgw-admin
%config %{_sysconfdir}/bash_completion.d/rbd
%{_initrddir}/rbdmap
%config(noreplace) %{_sysconfdir}/ceph/rbdmap
%config(noreplace) %{_sysconfdir}/logrotate.d/ceph
%config(noreplace) %{_sysconfdir}/logrotate.d/radosgw
%{_mandir}/man8/ceph-mon.8*
%{_mandir}/man8/ceph-mds.8*
%{_mandir}/man8/ceph-osd.8*
%{_mandir}/man8/ceph-run.8*
%{_mandir}/man8/ceph-syn.8*
%{_mandir}/man8/ceph-post-file.8*
%{_mandir}/man8/ceph-dencoder.8*
%{_mandir}/man8/ceph-rest-api.8*
%{_mandir}/man8/crushtool.8*
%{_mandir}/man8/osdmaptool.8*
%{_mandir}/man8/monmaptool.8*
%{_mandir}/man8/ceph-conf.8*
%{_mandir}/man8/ceph.8*
%{_mandir}/man8/cephfs.8*
%{_mandir}/man8/mount.ceph.8*
%{_mandir}/man8/rados.8*
%{_mandir}/man8/rbd.8*
%{_mandir}/man8/ceph-rbdnamer.8*
%{_mandir}/man8/ceph-authtool.8*
%{_mandir}/man8/ceph-debugpack.8*
%{_mandir}/man8/ceph-clsinfo.8.gz
%{_mandir}/man8/librados-config.8.gz
#set up placeholder directories
%dir %{_localstatedir}/lib/ceph/
%dir %{_localstatedir}/lib/ceph/tmp
%dir %{_localstatedir}/lib/ceph/mon
%dir %{_localstatedir}/lib/ceph/osd
%dir %{_localstatedir}/lib/ceph/mds
%dir %{_localstatedir}/lib/ceph/bootstrap-osd
%dir %{_localstatedir}/lib/ceph/bootstrap-mds
%dir %{_localstatedir}/log/ceph/
%ghost %dir %{_localstatedir}/run/ceph/
%files libcephfs
%doc COPYING
%{_libdir}/libcephfs.so.*
#################################################################################
%files fuse %files fuse
%doc COPYING
%{_bindir}/ceph-fuse %{_bindir}/ceph-fuse
%{_bindir}/rbd-fuse
%{_sbindir}/mount.fuse.ceph
%{_mandir}/man8/ceph-fuse.8* %{_mandir}/man8/ceph-fuse.8*
/sbin/mount.fuse.ceph
#################################################################################
%files -n rbd-fuse
%{_bindir}/rbd-fuse
%{_mandir}/man8/rbd-fuse.8* %{_mandir}/man8/rbd-fuse.8*
#################################################################################
%files devel %files devel
%doc COPYING
%dir %{_includedir}/cephfs %dir %{_includedir}/cephfs
%{_includedir}/cephfs/libcephfs.h %{_includedir}/cephfs/libcephfs.h
%dir %{_includedir}/rados %dir %{_includedir}/rados
%{_includedir}/rados/memory.h
%{_includedir}/rados/librados.h %{_includedir}/rados/librados.h
%{_includedir}/rados/librados.hpp %{_includedir}/rados/librados.hpp
%{_includedir}/rados/rados_types.h
%{_includedir}/rados/rados_types.hpp
%{_includedir}/rados/buffer.h %{_includedir}/rados/buffer.h
%{_includedir}/rados/page.h %{_includedir}/rados/page.h
%{_includedir}/rados/crc32c.h %{_includedir}/rados/crc32c.h
%{_includedir}/rados/rados_types.h
%{_includedir}/rados/rados_types.hpp
%{_includedir}/rados/memory.h
%dir %{_includedir}/rbd %dir %{_includedir}/rbd
%{_includedir}/rbd/librbd.h %{_includedir}/rbd/librbd.h
%{_includedir}/rbd/librbd.hpp %{_includedir}/rbd/librbd.hpp
%{_includedir}/rbd/features.h %{_includedir}/rbd/features.h
%{_libdir}/libcephfs.so %{_libdir}/libcephfs.so
%{_libdir}/librados.so
%{_libdir}/librbd.so %{_libdir}/librbd.so
%{_bindir}/librados-config %{_libdir}/librados.so
%{_mandir}/man8/librados-config.8* %{_libdir}/libcephfs_jni.so
#################################################################################
%files radosgw %files radosgw
%{_initrddir}/ceph-radosgw
%{_bindir}/radosgw %{_bindir}/radosgw
%{_bindir}/radosgw-admin %{_bindir}/radosgw-admin
%{_sysconfdir}/bash_completion.d/radosgw-admin %{_mandir}/man8/radosgw.8*
%{_mandir}/man8/radosgw-admin.8*
%{_sbindir}/rcceph-radosgw
%dir %{_localstatedir}/log/radosgw/
%post radosgw
/sbin/ldconfig
%if %{defined suse_version}
%fillup_and_insserv -f -y ceph-radosgw
%endif
%preun radosgw
%if %{defined suse_version}
%stop_on_removal ceph-radosgw
%endif
%postun radosgw
/sbin/ldconfig
%if %{defined suse_version}
%restart_on_update ceph-radosgw
%insserv_cleanup
%endif
# Package removal cleanup
if [ "$1" -eq "0" ] ; then
rm -rf /var/log/radosgw
fi
#################################################################################
%if %{with ocf}
%files resource-agents
%dir /usr/lib/ocf
%dir /usr/lib/ocf/resource.d
%dir /usr/lib/ocf/resource.d/ceph
/usr/lib/ocf/resource.d/%{name}/*
%endif
#################################################################################
%files -n librados2
%{_libdir}/librados.so.*
%post -n librados2
/sbin/ldconfig
%postun -n librados2
/sbin/ldconfig
#################################################################################
%files -n librbd1
%{_libdir}/librbd.so.*
%post -n librbd1
/sbin/ldconfig
mkdir -p /usr/lib64/qemu/
ln -sf %{_libdir}/librbd.so.1 /usr/lib64/qemu/librbd.so.1
%postun -n librbd1
/sbin/ldconfig
#################################################################################
%files -n libcephfs1
%{_libdir}/libcephfs.so.*
%post -n libcephfs1
/sbin/ldconfig
%postun -n libcephfs1
/sbin/ldconfig
#################################################################################
%files -n python-ceph
%{python_sitelib}/rados.py*
%{python_sitelib}/rbd.py*
%{python_sitelib}/cephfs.py*
%{python_sitelib}/ceph_argparse.py*
%{python_sitelib}/ceph_rest_api.py*
#################################################################################
%files -n rest-bench
%{_bindir}/rest-bench
#################################################################################
%files -n ceph-test
%{_bindir}/ceph_bench_log
%{_bindir}/ceph_dupstore
%{_bindir}/ceph_kvstorebench
%{_bindir}/ceph_multi_stress_watch
%{_bindir}/ceph_erasure_code
%{_bindir}/ceph_erasure_code_benchmark
%{_bindir}/ceph_omapbench
%{_bindir}/ceph_psim
%{_bindir}/ceph_radosacl
%{_bindir}/ceph_rgw_jsonparser
%{_bindir}/ceph_rgw_multiparser
%{_bindir}/ceph_scratchtool
%{_bindir}/ceph_scratchtoolpp
%{_bindir}/ceph_smalliobench
%{_bindir}/ceph_smalliobenchdumb
%{_bindir}/ceph_smalliobenchfs
%{_bindir}/ceph_smalliobenchrbd
%{_bindir}/ceph_filestore_dump
%{_bindir}/ceph_filestore_tool
%{_bindir}/ceph_streamtest
%{_bindir}/ceph_test_*
%{_bindir}/ceph_tpbench
%{_bindir}/ceph_xattr_bench
%{_bindir}/ceph-monstore-tool
%{_bindir}/ceph-osdomap-tool
%{_bindir}/ceph-kvstore-tool
%files -n libcephfs_jni1
%{_libdir}/libcephfs_jni.so.*
%files -n cephfs-java
%{_javadir}/libcephfs.jar
%{_javadir}/libcephfs-test.jar
%changelog %changelog
* Tue Jul 1 2014 Kaleb S. KEITHLEY <kkeithle[at]redhat.com> - 0.81.0-3
- upstream ceph.spec file
* Sat Jun 07 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.81.0-2 * Sat Jun 07 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.81.0-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild - Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild