revert to old spec until after f21 branch

This commit is contained in:
Kaleb S. KEITHLEY 2014-07-07 08:13:40 -04:00
parent ed8d9af197
commit 9a1331d776
1 changed files with 191 additions and 572 deletions

763
ceph.spec
View File

@ -1,104 +1,21 @@
%global _hardened_build 1 %global _hardened_build 1
%bcond_with ocf Name: ceph
Version: 0.81.0
Release: 5%{?dist}
Summary: User space components of the Ceph file system
License: LGPLv2
Group: System Environment/Base
URL: https://ceph.com/
%if ! (0%{?fedora} > 12 || 0%{?rhel} > 5) Source: https://ceph.com/download/%{name}-0.81.tar.bz2
%{!?python_sitelib: %global python_sitelib %(%{__python} -c "from distutils.sysconfig import get_python_lib; print(get_python_lib())")} Patch0: ceph-init-fix.patch
%{!?python_sitearch: %global python_sitearch %(%{__python} -c "from distutils.sysconfig import get_python_lib; print(get_python_lib(1))")} # https://github.com/ceph/ceph/pull/1051
%endif Patch1: ceph-fix-sbin-target.patch
################################################################################# BuildRequires: fuse-devel, libtool, libtool-ltdl-devel, boost-devel,
# common BuildRequires: libedit-devel, fuse-devel, git, perl, gdbm, libaio-devel,
#################################################################################
Name: ceph
Version: 0.81.0
Release: 4%{?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
Patch0: ceph-0.81.0-test-librbd-fsx.c.patch
Patch1: ceph-0.81.0-Makefile.in.patch
Patch2: ceph-0.81.0-configure.ac.patch
%if ( 0%{?fedora} && 0%{?fedora} > 20 )
ExcludeArch: armv7hl
%endif
%if ( 0%{?rhel} && 0%{?rhel} < 7 )
ExcludeArch: ppc ppc64
%endif
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
%if ( ! (0%{?rhel} && 0%{?rhel} < 7) )
BuildRequires: xfsprogs-devel
%endif
BuildRequires: yasm
%if 0%{?rhel} || 0%{?centos} || 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
Requires: scsirastools
BuildRequires: google-perftools-devel
%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
# google-perftools is not available on these: # google-perftools is not available on these:
%if ( ! (0%{?rhel} && 0%{?rhel} <= 6 ) ) %if ( ! (0%{?rhel} && 0%{?rhel} <= 6 ) )
%ifnarch ppc s390 s390x %ifnarch ppc s390 s390x
@ -109,405 +26,184 @@ BuildRequires: gperftools-devel
BuildRequires: gperftools-devel BuildRequires: gperftools-devel
%endif %endif
%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 %endif
Requires(post): chkconfig, binutils, libedit
Requires(preun): chkconfig
Requires(preun): initscripts
%description %description
Ceph is a massively scalable, open-source, distributed Ceph is a distributed network file system designed to provide excellent
storage system that runs on commodity hardware and delivers object, performance, reliability, and scalability.
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
# packages Summary: Ceph libcephfs libraries
################################################################################# Group: System Environment/Libraries
%package fuse %description libcephfs
Summary: Ceph fuse-based client libcephfs library for Ceph distributed network file system
Group: System Environment/Base
Requires: %{name} %package fuse
BuildRequires: fuse-devel Summary: Ceph fuse-based client
%description fuse Group: System Environment/Base
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 -n rbd-fuse %package devel
Summary: Ceph fuse-based client Summary: Ceph headers
Group: System Environment/Base Group: Development/Libraries
Requires: %{name} License: LGPLv2
BuildRequires: fuse-devel Requires: %{name}%{?_isa} = %{version}-%{release}
%description -n rbd-fuse Requires: %{name}-libs%{?_isa} = %{version}-%{release}
FUSE based client to map Ceph rbd images to files Requires: %{name}-libcephfs%{?_isa} = %{version}-%{release}
%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 libraries and headers needed to develop programs This package contains the headers needed to develop programs that use Ceph.
that use Ceph.
%package radosgw %package radosgw
Summary: Rados REST gateway Summary: rados REST gateway
Group: Development/Libraries Group: Development/Libraries
Requires: librados2 = %{version}-%{release} Requires: mod_fcgid
%if 0%{defined suse_version} BuildRequires: fcgi-devel
BuildRequires: libexpat-devel BuildRequires: expat-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} || 0%{?centos} || 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} || 0%{?centos} || 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} || 0%{?centos} || 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
%if ( 0%{?rhel} && 0%{?rhel} < 7 )
Requires: junit4
BuildRequires: junit4
%else
Requires: junit
BuildRequires: junit
%endif
%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 %patch0 -p1 -b .init
%patch1 -p1 %patch1 -p1
%if ( 0%{?fedora} && 0%{?fedora} > 20 )
%patch2 -p1
%endif
%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=""
MY_CONF_OPT="$MY_CONF_OPT --with-radosgw" %ifarch armv5tel
# libatomic_ops does not have correct asm for ARMv5tel
EXTRA_CFLAGS="-DAO_USE_PTHREAD_DEFS"
%endif
%ifarch %{arm}
# libatomic_ops seems to fallback on some pthread implementation on ARM
EXTRA_LDFLAGS="-lpthread"
%endif
export RPM_OPT_FLAGS=`echo $RPM_OPT_FLAGS | sed -e 's/i386/i486/'` %{configure} --prefix=%{_prefix} --sbindir=%{_sbindir} \
--localstatedir=%{_localstatedir} --sysconfdir=%{_sysconfdir} \
%{configure} CPPFLAGS="$java_inc" \ %if ( 0%{?rhel} && 0%{?rhel} <= 6 )
--prefix=/usr \ --without-libxfs \
--localstatedir=/var \
--sysconfdir=/etc \
--docdir=%{_docdir}/ceph \
--with-nss \
--without-cryptopp \
--with-rest-bench \
--with-debug \
--enable-cephfs-java \
$MY_CONF_OPT \
%{?_with_ocf} \
%if ( 0%{?rhel} && 0%{?rhel} < 7 )
--without-libxfs \
%endif %endif
%if ( ! (0%{?rhel} && 0%{?rhel} <= 6 ) ) %if ( ! (0%{?rhel} && 0%{?rhel} <= 6 ) )
%ifarch ppc s390 s390x %ifarch ppc s390 s390x
--without-tcmalloc \ --without-tcmalloc \
%endif %endif
%else %else
%ifarch ppc ppc64 s390 s390x %ifarch ppc ppc64 s390 s390x
--without-tcmalloc \ --without-tcmalloc \
%endif %endif
%endif %endif
CFLAGS="$RPM_OPT_FLAGS" CXXFLAGS="$RPM_OPT_FLAGS" --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"
# fix bug in specific version of libedit-devel V=1 make %{?_smp_mflags}
%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
make -j$(getconf _NPROCESSORS_ONLN)
%install %install
make DESTDIR=$RPM_BUILD_ROOT install make install DESTDIR=$RPM_BUILD_ROOT
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
install -D src/init-radosgw.sysv $RPM_BUILD_ROOT%{_initrddir}/ceph-radosgw
install -D src/init-rbdmap $RPM_BUILD_ROOT%{_initrddir}/rbdmap
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/rgw/logrotate.conf $RPM_BUILD_ROOT%{_sysconfdir}/logrotate.d/radosgw
chmod 0644 $RPM_BUILD_ROOT%{_docdir}/ceph/sample.ceph.conf chmod 0644 $RPM_BUILD_ROOT%{_docdir}/ceph/sample.ceph.conf
chmod 0644 $RPM_BUILD_ROOT%{_docdir}/ceph/sample.fetch_config rm -rf __tmp_docs ; mkdir __tmp_docs
mv $RPM_BUILD_ROOT%{_docdir}/ceph/* __tmp_docs
# udev rules install -m 0644 -D src/logrotate.conf $RPM_BUILD_ROOT%{_sysconfdir}/logrotate.d/ceph
install -m 0644 -D udev/50-rbd.rules $RPM_BUILD_ROOT/lib/udev/rules.d/50-rbd.rules mkdir -p $RPM_BUILD_ROOT%{_localstatedir}/lib/ceph/tmp/
install -m 0644 -D udev/60-ceph-partuuid-workaround.rules $RPM_BUILD_ROOT/lib/udev/rules.d/60-ceph-partuuid-workaround.rules mkdir -p $RPM_BUILD_ROOT%{_localstatedir}/log/ceph/
mkdir -p $RPM_BUILD_ROOT%{_localstatedir}/log/ceph/stat
%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%{_localstatedir}/run/ceph mkdir -p $RPM_BUILD_ROOT%{_sysconfdir}/bash_completion.d
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
# files %postun libs -p /sbin/ldconfig
################################################################################# %post libcephfs -p /sbin/ldconfig
%postun libcephfs -p /sbin/ldconfig
%files %files
%docdir %{_docdir} %doc README COPYING __tmp_docs/sample*
%dir %{_docdir}/ceph %dir %{_sysconfdir}/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-rest-api %{_bindir}/ceph_filestore_tool
%{_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}/ceph-disk %{_sbindir}/mount.ceph
%{_sbindir}/ceph-disk-activate %{_sbindir}/ceph-disk-activate
%{_sbindir}/ceph-disk-prepare %{_sbindir}/ceph-disk-prepare
%{_sbindir}/ceph-disk-udev
%{_sbindir}/ceph-create-keys %{_sbindir}/ceph-create-keys
%{_sbindir}/rcceph %{_sbindir}/ceph-disk
/sbin/mount.ceph %{_sbindir}/ceph-disk-udev
%dir %{_libdir}/ceph %{_libdir}/ceph
%{_libdir}/ceph/ceph_common.sh %exclude %{_libdir}/ceph/erasure-code
%dir %{_libdir}/rados-classes
%{_libdir}/rados-classes/libcls_rbd.so*
%{_libdir}/rados-classes/libcls_hello.so*
%{_libdir}/rados-classes/libcls_rgw.so*
%{_libdir}/rados-classes/libcls_lock.so*
%{_libdir}/rados-classes/libcls_kvs.so*
%{_libdir}/rados-classes/libcls_refcount.so*
%{_libdir}/rados-classes/libcls_log.so*
%{_libdir}/rados-classes/libcls_replica_log.so*
%{_libdir}/rados-classes/libcls_statelog.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/ceph
%config(noreplace) %{_sysconfdir}/logrotate.d/radosgw %config(noreplace) %{_sysconfdir}/bash_completion.d/rados
%config(noreplace) %{_sysconfdir}/bash_completion.d/ceph
%config(noreplace) %{_sysconfdir}/bash_completion.d/rbd
%{_mandir}/man8/ceph-mon.8* %{_mandir}/man8/ceph-mon.8*
%{_mandir}/man8/ceph-mds.8* %{_mandir}/man8/ceph-mds.8*
%{_mandir}/man8/ceph-osd.8* %{_mandir}/man8/ceph-osd.8*
%{_mandir}/man8/ceph-run.8* %{_mandir}/man8/ceph-run.8*
%{_mandir}/man8/ceph-syn.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/crushtool.8*
%{_mandir}/man8/osdmaptool.8* %{_mandir}/man8/osdmaptool.8*
%{_mandir}/man8/monmaptool.8* %{_mandir}/man8/monmaptool.8*
@ -515,182 +211,105 @@ fi
%{_mandir}/man8/ceph.8* %{_mandir}/man8/ceph.8*
%{_mandir}/man8/cephfs.8* %{_mandir}/man8/cephfs.8*
%{_mandir}/man8/mount.ceph.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 fuse
%{_bindir}/ceph-fuse
%{_mandir}/man8/ceph-fuse.8*
/sbin/mount.fuse.ceph
#################################################################################
%files -n rbd-fuse
%{_bindir}/rbd-fuse
%{_mandir}/man8/rbd-fuse.8*
#################################################################################
%files devel
%dir %{_includedir}/cephfs
%{_includedir}/cephfs/libcephfs.h
%dir %{_includedir}/rados
%{_includedir}/rados/librados.h
%{_includedir}/rados/librados.hpp
%{_includedir}/rados/buffer.h
%{_includedir}/rados/page.h
%{_includedir}/rados/crc32c.h
%{_includedir}/rados/rados_types.h
%{_includedir}/rados/rados_types.hpp
%{_includedir}/rados/memory.h
%dir %{_includedir}/rbd
%{_includedir}/rbd/librbd.h
%{_includedir}/rbd/librbd.hpp
%{_includedir}/rbd/features.h
%{_libdir}/libcephfs.so
%{_libdir}/librbd.so
%{_libdir}/librados.so
%{_libdir}/libcephfs_jni.so
#################################################################################
%files radosgw
%{_initrddir}/ceph-radosgw
%{_bindir}/radosgw
%{_bindir}/radosgw-admin
%{_mandir}/man8/radosgw.8* %{_mandir}/man8/radosgw.8*
%{_mandir}/man8/radosgw-admin.8* %{_mandir}/man8/radosgw-admin.8*
%{_sbindir}/rcceph-radosgw %{_mandir}/man8/rados.8*
%dir %{_localstatedir}/log/radosgw/ %{_mandir}/man8/rbd.8*
%{_mandir}/man8/ceph-authtool.8*
%post radosgw %{_mandir}/man8/ceph-debugpack.8*
/sbin/ldconfig %{_mandir}/man8/ceph-clsinfo.8*
%if %{defined suse_version} %{_mandir}/man8/ceph-dencoder.8*
%fillup_and_insserv -f -y ceph-radosgw %{_mandir}/man8/ceph-rbdnamer.8*
%endif %{_mandir}/man8/ceph-rest-api.8*
%{_mandir}/man8/ceph-post-file.8*
%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}/rados.py*
%{python_sitelib}/rbd.py* %{python_sitelib}/rbd.py*
%{python_sitelib}/cephfs.py* %{python_sitelib}/cephfs.py*
%{python_sitelib}/ceph_argparse.py* %{python_sitelib}/ceph_argparse.py*
%{python_sitelib}/ceph_rest_api.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
%files -n rest-bench %doc COPYING
%{_bindir}/rest-bench %{_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
# 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_rgw.so*
%{_libdir}/rados-classes/libcls_lock.so*
%{_libdir}/rados-classes/libcls_kvs.so*
%{_libdir}/rados-classes/libcls_refcount.so*
%{_libdir}/rados-classes/libcls_log.so*
%{_libdir}/rados-classes/libcls_replica_log.so*
%{_libdir}/rados-classes/libcls_statelog.so*
%{_libdir}/rados-classes/libcls_version.so*
%{_libdir}/rados-classes/libcls_user.so*
################################################################################# %files libcephfs
%files -n ceph-test %doc COPYING
%{_bindir}/ceph_bench_log %{_libdir}/libcephfs.so.*
%{_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 %files fuse
%{_libdir}/libcephfs_jni.so.* %doc COPYING
%{_bindir}/ceph-fuse
%{_bindir}/rbd-fuse
%{_sbindir}/mount.fuse.ceph
%{_mandir}/man8/ceph-fuse.8*
%{_mandir}/man8/rbd-fuse.8*
%files -n cephfs-java %files devel
%{_javadir}/libcephfs.jar %doc COPYING
%{_javadir}/libcephfs-test.jar %dir %{_includedir}/cephfs
%{_includedir}/cephfs/libcephfs.h
%dir %{_includedir}/rados
%{_includedir}/rados/memory.h
%{_includedir}/rados/librados.h
%{_includedir}/rados/librados.hpp
%{_includedir}/rados/rados_types.h
%{_includedir}/rados/rados_types.hpp
%{_includedir}/rados/buffer.h
%{_includedir}/rados/page.h
%{_includedir}/rados/crc32c.h
%dir %{_includedir}/rbd
%{_includedir}/rbd/librbd.h
%{_includedir}/rbd/librbd.hpp
%{_includedir}/rbd/features.h
%{_libdir}/libcephfs.so
%{_libdir}/librados.so
%{_libdir}/librbd.so
%{_bindir}/librados-config
%{_mandir}/man8/librados-config.8*
%files radosgw
%{_bindir}/radosgw
%{_bindir}/radosgw-admin
%{_sysconfdir}/bash_completion.d/radosgw-admin
%changelog %changelog
* Mon Jul 7 2014 Kaleb S. KEITHLEY <kkeithle[at]redhat.com> - 0.81.0-5
- revert to old spec until after f21 branch
* Fri Jul 4 2014 Kaleb S. KEITHLEY <kkeithle[at]redhat.com> * Fri Jul 4 2014 Kaleb S. KEITHLEY <kkeithle[at]redhat.com>
- temporary exclude f21/armv7hl. N.B. it builds fine on f20/armv7hl. - temporary exclude f21/armv7hl. N.B. it builds fine on f20/armv7hl.