Sophie

Sophie

distrib > Mageia > 9 > armv7hl > media > core-release-src > by-pkgid > 3b45a0380e497cbe346f7bcac55cc2aa > files > 16

ceph-18.1.1-1.mga9.src.rpm

%ifarch aarch64
%global _smp_ncpus_max 8
%endif

%define         xsimdcommit                   aeec9c872c8b475dedd7781336710f2dd2666cb2

%define         _disable_ld_no_undefined      1
%global         __python %{__python3}

%define         with_system_boost             ON

#tries to download junks from the internet
%define         with_dashboard_frontend       OFF

#mind that system rocksdb must be compiled with USE_RTTI=1 (and
#PORTABLE=1)
%define         with_system_rocksdb           ON

#not on mageia
%define         with_system_arrow             OFF

#seriously broken on 17.x.y with gcc-12
%define         with_spdk                     OFF

%define         cephmds                       %{name}-mds
%define         cephmgr                       %{name}-mgr
%define         cephmon                       %{name}-mon
%define         cephosd                       %{name}-osd
%define         cephmirror                    %{name}-mirror
%define         cephrbd                       %{name}-rbd
%define         cephfuse                      %{name}-fuse
%define         cephradosgw                   %{name}-radosgw
%define         cephimmutable                 %{name}-immutable-object-cache


%define         major                         2
%define         submajor                      1
%define         libname                       %mklibname %{name} %{major}
%define         libdevelname                  %mklibname %{name} -d

%define         radosname                     rados
%define         radosmajor                    2
%define         libradosname                  %mklibname %{radosname} %{radosmajor}
%define         libradosdevelname             %mklibname %{radosname} -d

%define         stripername                   radosstriper
%define         stripermajor                  1
%define         libstripername                %mklibname %{stripername} %{stripermajor}
%define         libstriperdevelname           %mklibname %{stripername} -d


#moved to static build on versions 18.x.y
%define         radosgwname                   radosgw
%define         radosgwmajor                  2
%define         libradosgwname                %mklibname %{radosgwname} %{radosgwmajor}
%define         libradosgwdevelname           %mklibname %{radosgwname} -d

%define         rbdname                       rbd
%define         rbdmajor                      1
%define         librbdname                    %mklibname %{rbdname} %{rbdmajor}
%define         librbddevelname               %mklibname %{rbdname} -d

%define         rgwname                        rgw
%define         rgwmajor                       2
%define         rgwsubmajor                    1
%define         rgwoldmajor                    0
%define         librgwname                     %mklibname %{rgwname} %{rgwmajor}
%define         librgwdevelname                %mklibname %{rgwname} -d


Name:           ceph
Summary:        A scalable distributed storage file system
Version:        18.1.1
Release:        %mkrel 1
License:        LGPLv2+
Group:          System/Libraries
Url:            https://ceph.io/
Source0:        https://download.ceph.com/tarballs/%{name}_%{version}.orig.tar.gz
Source1:        %{name}.conf
Source2:        README.mageia
#xsimd is required to build libarrow (not packaged on Mageia) and this
#is to prevent shit to be downloaded from the internet
#https://github.com/xtensor-stack/xsimd/archive/
Source3:        %{xsimdcommit}.tar.gz

#do not allow vectorization higher than sse2
Patch0:         ceph-17.1.0-sse2max.patch

#missing includes to algorithm (call to std::transform)
Patch5:         ceph-16.2.5-formatter.patch

#format not string literal
Patch6:         ceph-16.2.7-format.patch

#find liburing (fedora)
Patch8:         0008-cmake-modules-Finduring.cmake.patch

#cmake cyclic issue, setting dbstore_lib to STATIC
Patch9:         ceph-18.1.1-dbstorecmake.patch

#makes libceph-common having version and symlinks
Patch13:         ceph-18.1.1-libcephcommon.patch

#missing include and x86_64 opt (from fedora)
Patch20:        0001-src-common-crc32c_intel_fast.patch
Patch21:        0003-src-common-bitstr.h.patch
Patch23:        0011-isa-l-CET-Add-CET-marker-to-x86-64-crc32-assembly-co.patch

#fmtlib (fedora)
Patch30:        0025-src-osd-scrubber-scrub_backend.h.patch
Patch31:        0026-src-osd-scrubber-scrub_backend.cc.patch

# Fix build with Boost 1.81.0
Patch111:       boost-1.81.patch

BuildRequires:  cmake
BuildRequires:  jq
BuildRequires:  cryptsetup
BuildRequires:  gcc-c++
BuildRequires:  libatomic-devel
BuildRequires:  libstdc++-static-devel
BuildRequires:  ninja
BuildRequires:  perl
BuildRequires:  babeltrace
BuildRequires:  ctags
BuildRequires:  gperf
BuildRequires:  net-tools
BuildRequires:  socat
BuildRequires:  npm
BuildRequires:  protobuf-compiler
BuildRequires:  python3-cython
BuildRequires:  python3dist(sphinx)
BuildRequires:  python3-numpy-devel
BuildRequires:  python3-yaml
BuildRequires:  yasm-devel
BuildRequires:  xfs-devel
BuildRequires:  glibc-devel
BuildRequires:  rdmacm-devel
BuildRequires:  libibverbs-devel
BuildRequires:  keyutils-devel
BuildRequires:  fcgi-devel
BuildRequires:  libaio-devel
BuildRequires:  boost-devel
BuildRequires:  boost-build
BuildRequires:  openldap-devel
BuildRequires:  rocksdb-devel
BuildRequires:  pkgconfig(libsystemd)
BuildRequires:  pkgconfig(fuse3)
BuildRequires:  pkgconfig(leveldb)
BuildRequires:  pkgconfig(udev)
BuildRequires:  pkgconfig(blkid)
BuildRequires:  pkgconfig(bzip2)
BuildRequires:  pkgconfig(snappy)
BuildRequires:  pkgconfig(liblz4)
BuildRequires:  pkgconfig(jemalloc)
BuildRequires:  pkgconfig(libcurl)
BuildRequires:  pkgconfig(openssl)
BuildRequires:  pkgconfig(nss)
BuildRequires:  pkgconfig(expat)
BuildRequires:  pkgconfig(liboath)
BuildRequires:  pkgconfig(lttng-ust)
BuildRequires:  pkgconfig(babeltrace)
BuildRequires:  pkgconfig(ncurses)
BuildRequires:  pkgconfig(librabbitmq)
BuildRequires:  pkgconfig(libcap-ng)
BuildRequires:  pkgconfig(rdkafka)
BuildRequires:  pkgconfig(fmt)
BuildRequires:  pkgconfig(cryptopp)
BuildRequires:  pkgconfig(gtest)
BuildRequires:  pkgconfig(libnl-3.0)
BuildRequires:  pkgconfig(xmlsec1)
BuildRequires:  pkgconfig(cunit)
BuildRequires:  pkgconfig(numa)
BuildRequires:  pkgconfig(uuid)
BuildRequires:  pkgconfig(hwloc)
#(mga8)BuildRequires:  lua5.3-devel
BuildRequires:  pkgconfig(lua)
BuildRequires:  pkgconfig(libcryptsetup)
BuildRequires:  pkgconfig(sqlite3)
BuildRequires:  pkgconfig(libutf8proc)
BuildRequires:  pkgconfig(thrift)
BuildRequires:  pkgconfig(liburing)
BuildRequires:  pkgconfig(re2)

#nasty build failures on ix86
ExclusiveArch:  x86_64 aarch64


Requires:       python3-%{name} = %{version}-%{release}
Requires:       python3-%{radosname} = %{version}-%{release}
Requires:       python3-%{rbdname} = %{version}-%{release}
Requires:       python3-%{rgwname} = %{version}-%{release}
Requires:       python3-prettytable

Requires(pre):    rpm-helper >= %{rpmhelper_required_version}
Requires(post):   rpm-helper >= %{rpmhelper_required_version}
Requires(post):   systemd >= %{systemd_required_version}
Requires(preun):  rpm-helper >= %{rpmhelper_required_version}
Requires(postun): rpm-helper >= %{rpmhelper_required_version}


%description
Ceph is a distributed file system that provides a traditional
interface with POSIX semantics. As one can easily check on the
website, it also severely lacks an introductory documentation thereby
reducing the relevant information contained in this description to an
unique sentence, the first. The Ceph user base grows and the
development pace quickens, such that an increasing number of people
are unfortunately only updating the technical
documentation. Therefore, even small contributions like fixing
spelling errors or clarifying instructions will immensely help the
Ceph project.


%package -n %{cephmds}
Summary:        Ceph Object Storage Daemon
Group:          System/Cluster

%description -n %{cephmds}
Ceph-mds is the object storage daemon for the Ceph distributed file
system.  It is responsible for storing objects on a local file system
and providing access to them over the network.



%package -n %{cephmgr}
Summary:        Ceph Manager Daemon
Group:          System/Cluster
Requires:       python3-yaml
Requires:       python3-scipy
Requires:       python3-requests
Requires:       python3-cherrypy
Requires:       python3-pyjwt
Requires:       python3-pecan
Requires:       python3-jsonpatch
Requires:       python3-OpenSSL
Requires:       python3-werkzeug
Requires:       python3-bcrypt
Requires:       python3-jinja2

%description -n %{cephmgr}
Ceph-mgr enables python modules that provide services and expose
command line interface hooks. It gathers the cluster maps, the
daemon metadata, and performance counters, and exposes all these to
the python modules.



%package -n %{cephmon}
Summary:        Ceph Monitor Daemon
Group:          System/Cluster


%description -n %{cephmon}
Ceph-mon is the cluster monitor daemon for the Ceph distributed file
system. One or more instances of ceph-mon form a Paxos part-time
parliament cluster that provides reliable and durable storage of
cluster membership, configuration, and state.



%package -n %{cephosd}
Summary:        Ceph Monitor Daemon
Group:          System/Cluster
Requires:       python3-pkg-resources
Requires:       lvm2

%description -n %{cephosd}
Ceph-osd is the cluster monitor daemon for the Ceph distributed file
system. One or more instances of ceph-mon form a Paxos part-time
parliament cluster that provides reliable and durable storage of
cluster membership, configuration, and state.


%package -n %{cephmirror}
Summary:        Ceph Mirror Daemon
Group:          System/Cluster


%description -n %{cephmirror}
Ceph-mirror is the cluster mirror daemon for the Ceph distributed file
system. CephFS supports asynchronous replication of snapshots to a
remote CephFS file system via cephfs-mirror tool.


%package -n %{cephrbd}
Summary:        Ceph
Group:          System/Cluster

%description -n %{cephrbd}
Ceph-rbd is a block device striped across multiple distributed objects
using RADOS. It is part of the Ceph distributed storage system and
this package provides tools for mapping and mirroring RBD images.



%package -n %{cephfuse}
Summary:        Ceph fuse-based client
Group:          System/Cluster

%description -n %{cephfuse}
FUSE based client for Ceph distributed network file system.



%package -n %{cephimmutable}
Summary:        Ceph daemon for immutable object cache
Group:          System/Cluster


%description -n %{cephimmutable}
Daemon for immutable object cache.



%package -n %{cephradosgw}
Summary:        Rados REST gateway
Group:          System/Cluster

%description -n %{cephradosgw}
RADOS is a distributed object store used by the Ceph distributed
storage system.  This package provides a REST gateway to the object
store that aims to implement a superset of Amazon's S3 service as well
as the OpenStack Object Storage ("Swift") API.




%package -n %{libname}
Summary:        Ceph distributed file system client library
Group:          System/Libraries
Provides:       lib%{name} = %{version}-%{release}

%description -n %{libname}
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 %{libdevelname}
Summary:        Development files for the Ceph client library
Group:          Development/C++
Requires:       %{libname} = %{version}-%{release}
Provides:       lib%{name}-devel = %{version}-%{release}
Provides:       %{name}-devel = %{version}-%{release}

%description -n %{libdevelname}
%{summary}.




%package -n %{libradosname}
Summary:        RADOS distributed object store client library
Group:          System/Libraries
Provides:       lib%{radosname} = %{version}-%{release}

%description -n %{libradosname}
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 %{libradosdevelname}
Summary:        Development files for RADOS object store
Group:          Development/C++
Requires:       %{libradosname} = %{version}-%{release}
Provides:       lib%{radosname}-devel = %{version}-%{release}
Provides:       %{radosname}-devel = %{version}-%{release}

%description -n %{libradosdevelname}
%{summary}.



#package -n #{libradosgwname}
#Summary:        RADOS gateway client library
#Group:          System/Libraries
#Provides:       lib#{radosgwname} = #{version}-#{release}

#description -n #{libradosgwname}
#{summary}.


#package -n #{libradosgwdevelname}
#Summary:        Development files for RADOS gateway
#Group:          Development/C++
#Requires:       #{libradosgwname} = #{version}-#{release}
#Provides:       lib#{radosgwname}-devel = #{version}-#{release}
#Provides:       #{radosgwname}-devel = #{version}-#{release}

#description -n #{libradosgwdevelname}
#{summary}.



%package -n %{libstripername}
Summary:        RADOS striping interface
Group:          System/Libraries
Provides:       lib%{stripername} = %{version}-%{release}

%description -n %{libstripername}
A striping interface built on top of the RADOS library, allowing to
stripe bigger objects onto several standard RADOS objects using an
interface very similar to the RADOS one.



%package -n %{libstriperdevelname}
Summary:        RADOS striping interface headers
Group:          Development/C++
Requires:       %{libstripername} = %{version}-%{release}
Provides:       lib%{stripername}-devel = %{version}-%{release}
Provides:       %{stripername}-devel = %{version}-%{release}

%description -n %{libstriperdevelname}
%{summary}.




%package -n %{librbdname}
Summary:        RADOS block device client library
Group:          System/Libraries
Provides:       lib%{rbdname} = %{version}-%{release}

%description -n %{librbdname}
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 %{librbddevelname}
Summary:        RADOS block device headers for the client library
Group:          Development/C++
Requires:       %{librbdname} = %{version}-%{release}
Provides:       lib%{rbdname}-devel = %{version}-%{release}
Provides:       %{rbdname}-devel = %{version}-%{release}

%description -n %{librbddevelname}
%{summary}.



%package -n %{librgwname}
Summary:        RADOS gateway client library
Group:          System/Libraries
Provides:       lib%{rgwname} = %{version}-%{release}

%description -n %{librgwname}
This package provides a library implementation of the RADOS gateway
(distributed object store with S3 and Swift personalities).



%package -n %{librgwdevelname}
Summary:        RADOS headers for the gateway client library
Group:          Development/C++
Requires:       %{librgwname} = %{version}-%{release}
Provides:       lib%{rgwname}-devel = %{version}-%{release}
Provides:       %{rgwname}-devel = %{version}-%{release}

%description -n %{librgwdevelname}
%{summary}.



%package -n python3-%{name}
Summary:         Python3 libraries for Ceph
Group:           Development/Python
%{?python_provide:%python_provide python3-%{name}}
Requires:        python3-%{radosname} = %{version}-%{release}


%description -n python3-%{name}
This package contains Python 3 libraries for interacting with Cephs distributed
file system.



%package -n python3-%{radosname}
Summary:         Python3 libraries for the RADOS object store
Group:           Development/Python
%{?python_provide:%python_provide python3-%{radosname}}

%description -n python3-%{radosname}
This package contains Python 3 libraries for interacting with the Ceph's
RADOS object store.



%package -n python3-%{rbdname}
Summary:         Python3 libraries for the RADOS block device
Group:           Development/Python
%{?python_provide:%python_provide python3-%{rbdname}}
Requires:         python3-%{radosname} = %{version}-%{release}


%description -n python3-%{rbdname}
This package contains Python 3 libraries for interacting with Ceph's
RADOS block device.



%package -n python3-%{rgwname}
Summary:         Python3 libraries for the RADOS gateway
Group:           Development/Python
%{?python_provide:%python_provide python3-%{rgwname}}
Requires:         python3-%{radosname} = %{version}-%{release}


%description -n python3-%{rgwname}
This package contains Python 3 libraries for interacting with Ceph's
RADOS gateway.



%pre
%_pre_useradd %{name} /dev/null /bin/false

%post
%_tmpfilescreate %{name}
%_post_service ceph-crash
%_post_service rbdmap


%preun
%_preun_service ceph-crash
%_preun_service rbdmap

%postun
%_postun_userdel %{name}



%prep
%setup -q -n %{name}-%{version}
%autopatch -p1


%build

#(eatdirt) the deprecated_ostream is to workaround ceph not following fmt API >= 9
export CFLAGS="%{optflags} -DFMT_DEPRECATED_OSTREAM"
export CXXFLAGS="%{optflags} -DFMT_DEPRECATED_OSTREAM"
#export MAKE="%{__make}"
export V=1
export ARROW_XSIMD_URL=%{SOURCE3}
%cmake  \
        -DCMAKE_BUILD_TYPE=RelWithDebInfo \
        -DCMAKE_SKIP_RPATH=OFF \
        -DCMAKE_SKIP_INSTALL_RPATH=ON \
        -DCMAKE_INSTALL_SYSTEMD_SERVICEDIR=%{_unitdir} \
        -DCMAKE_VERBOSE_MAKEFILE=OFF \
        -DENABLE_GIT_VERSION=OFF \
        -DWITH_MGR_DASHBOARD_FRONTEND=%{with_dashboard_frontend} \
        -DWITH_SYSTEM_BOOST=%{with_system_boost} \
	-DWITH_SYSTEM_ARROW=%{with_system_arrow} \
        -DBOOST_J=%{_smp_build_ncpus} \
        -DWITH_SYSTEM_ROCKSDB=%{with_system_rocksdb} \
        -DROCKSDB_INCLUDE_DIR=%{_includedir}/rocksdb \
        -DWITH_BOOST_CONTEXT=ON \
        -DWITH_BLUESTORE=ON \
        -DWITH_BLUESTORE_PMEM=OFF \
        -DWITH_SPDK=%{with_spdk} \
        -DWITH_REENTRANT_STRSIGNAL=ON \
        -DWITH_CEPHFS_JAVA=OFF \
        -DWITH_CEPHFS_SHELL=ON \
        -DWITH_TESTS=OFF

#(eatdirt): buggy cmake dependencies (https://tracker.ceph.com/issues/55256)
%cmake_build --target common-options-objs
%cmake_build --target all

#cmake_build

%install
#export BUILD_DOC=0
%cmake_install

#we don't need that anymore
%__rm -f %{buildroot}/%{_sysconfdir}/init.d/ceph


#missing var dirs
%__mkdir -p %{buildroot}%{_sharedstatedir}/ceph/crash/posted
%__mkdir -p %{buildroot}%{_sharedstatedir}/ceph/bootstrap-osd
%__mkdir -p %{buildroot}%{_sharedstatedir}/ceph/mon
%__mkdir -p %{buildroot}%{_sharedstatedir}/ceph/osd
%__mkdir -p %{buildroot}%{_sharedstatedir}/ceph/mds
%__mkdir -p %{buildroot}%{_sharedstatedir}/ceph/mgr

#missing config dir
%__mkdir -p %{buildroot}%{_sysconfdir}/ceph

#allow /var/run/ceph 
%{__install} -D -p -m 0644 %{SOURCE1} %{buildroot}%{_tmpfilesdir}/%{name}.conf

#some specific docs for Mageia
%{__install} -D -p -m 0644 %{SOURCE2} %{buildroot}%{_defaultdocdir}/%{name}/README.mageia

#ldconfig files
%__mkdir -p %{buildroot}%{_sysconfdir}/ld.so.conf.d
echo "%{_libdir}/ceph" > %{buildroot}%{_sysconfdir}/ld.so.conf.d/ceph-common.conf
echo "%{_libdir}/ceph/crypto" > %{buildroot}%{_sysconfdir}/ld.so.conf.d/ceph.conf
echo "%{_libdir}/ceph/compressor" >> %{buildroot}%{_sysconfdir}/ld.so.conf.d/ceph.conf
echo "%{_libdir}/ceph/erasure-code" >> %{buildroot}%{_sysconfdir}/ld.so.conf.d/ceph.conf

#add a symlink in libdir for triggering devel dep to ceph-common!??
pushd %{buildroot}%{_libdir}
%__ln_s ./ceph/libceph-common.so.%{radosmajor} libceph-common.so
popd


%files -n %{name}
%doc AUTHORS COPYING README.md
%{_defaultdocdir}/%{name}/README.mageia
%{_tmpfilesdir}/%{name}.conf
%config(noreplace) %{_sysconfdir}/bash_completion.d/ceph
%config(noreplace) %{_sysconfdir}/bash_completion.d/rados
%config(noreplace) %{_sysconfdir}/bash_completion.d/rbd
%config(noreplace) %{_sysconfdir}/bash_completion.d/radosgw-admin
%dir %{_sysconfdir}/ceph
%{_unitdir}/ceph-crash.service
%{_unitdir}/ceph.target
%{_unitdir}/rbdmap.service
%{_sbindir}/mount.ceph
%{_sbindir}/ceph-create-keys
%{_sbindir}/cephadm
%{_bindir}/ceph-crash
%{_bindir}/crushtool
%{_bindir}/monmaptool
%{_bindir}/osdmaptool
%{_bindir}/ceph-kvstore-tool
%{_bindir}/ceph-run
%{_bindir}/ceph
%{_bindir}/ceph-authtool
%{_bindir}/ceph-conf
%{_bindir}/ceph-dencoder
%{_bindir}/ceph-rbdnamer
%{_bindir}/ceph-syn
%{_bindir}/cephfs-data-scan
%{_bindir}/cephfs-journal-tool
%{_bindir}/cephfs-table-tool
%{_bindir}/rados
%{_bindir}/radosgw-admin
%{_bindir}/rbd
%{_bindir}/rbd-replay
%{_bindir}/rbd-replay-many
%{_bindir}/rbdmap
%{_bindir}/rbd-replay-prep
%{_bindir}/ceph-post-file
%{_bindir}/ceph-erasure-code-tool
%{_bindir}/cephfs-top
%{_bindir}/rgw-gap-list
%{_bindir}/rgw-gap-list-comparator
%{_bindir}/rgw-policy-check
%{_bindir}/rgw-restore-bucket-index
%{_bindir}/crushdiff
%{_bindir}/ceph-exporter
%dir %{_libexecdir}/ceph
%dir %{_sharedstatedir}/ceph/crash/posted
%dir %{_sharedstatedir}/ceph/bootstrap-osd
%dir %{_sharedstatedir}/ceph/mon
%dir %{_sharedstatedir}/ceph/osd
%dir %{_sharedstatedir}/ceph/mds
%dir %{_sharedstatedir}/ceph/mgr
%{_libexecdir}/ceph/ceph_common.sh
#{_mandir}/man8/ceph-deploy.8*
%{_mandir}/man8/cephfs-shell.8*
%{_mandir}/man8/ceph-create-keys.8*
%{_mandir}/man8/ceph-run.8*
%{_mandir}/man8/crushtool.8*
%{_mandir}/man8/osdmaptool.8*
%{_mandir}/man8/monmaptool.8*
%{_mandir}/man8/ceph-kvstore-tool.8*
%{_mandir}/man8/ceph-authtool.8*
%{_mandir}/man8/ceph-conf.8*
%{_mandir}/man8/ceph-dencoder.8*
%{_mandir}/man8/ceph-diff-sorted.8*
%{_mandir}/man8/ceph-rbdnamer.8*
%{_mandir}/man8/ceph-syn.8*
%{_mandir}/man8/ceph-post-file.8*
%{_mandir}/man8/ceph.8*
%{_mandir}/man8/mount.ceph.8*
%{_mandir}/man8/rados.8*
%{_mandir}/man8/radosgw-admin.8*
%{_mandir}/man8/rbd.8*
%{_mandir}/man8/rbdmap.8*
%{_mandir}/man8/rbd-replay.8*
%{_mandir}/man8/rbd-replay-many.8*
%{_mandir}/man8/rbd-replay-prep.8*
%{_mandir}/man8/rgw-orphan-list.8*
%{_mandir}/man8/cephadm.8*
%{_mandir}/man8/cephfs-top.8*
%{_mandir}/man8/mount.fuse.ceph.8*
%{_mandir}/man8/crushdiff.8*
%{_mandir}/man8/rgw-policy-check.8*
%dir %{_datadir}/ceph/
%{_datadir}/ceph/known_hosts_drop.ceph.com
%{_datadir}/ceph/id_rsa_drop.ceph.com
%{_datadir}/ceph/id_rsa_drop.ceph.com.pub
%{_datadir}/doc/ceph/sample.ceph.conf




%files -n %{cephmds}
%{_bindir}/ceph-mds
%{_mandir}/man8/ceph-mds.8*
%{_unitdir}/ceph-mds@.service
%{_unitdir}/ceph-mds.target



%files -n %{cephmgr}
%{_bindir}/ceph-mgr
%dir %{_datadir}/ceph/mgr
%{_datadir}/ceph/mgr/*
%{_unitdir}/ceph-mgr@.service
%{_unitdir}/ceph-mgr.target



%files -n %{cephmon}
%{_bindir}/ceph-mon
%{_bindir}/ceph-monstore-tool
%{_mandir}/man8/ceph-mon.8*
%{_unitdir}/ceph-mon@.service
%{_unitdir}/ceph-mon.target



%files -n %{cephosd}
%{_bindir}/ceph-clsinfo
%{_bindir}/ceph-bluestore-tool
%{_bindir}/ceph-objectstore-tool
%{_bindir}/ceph-osdomap-tool
%{_bindir}/ceph-osd
%{_libexecdir}/ceph/ceph-osd-prestart.sh
%{_sbindir}/ceph-volume
%{_sbindir}/ceph-volume-systemd
%{_mandir}/man8/ceph-clsinfo.8*
%{_mandir}/man8/ceph-osd.8*
%{_mandir}/man8/ceph-bluestore-tool.8*
%{_mandir}/man8/ceph-volume.8*
%{_mandir}/man8/ceph-volume-systemd.8*
%{_unitdir}/ceph-osd@.service
%{_unitdir}/ceph-osd.target
%{_unitdir}/ceph-volume@.service


%files -n %{cephmirror}
%{_bindir}/cephfs-mirror
%{_mandir}/man8/cephfs-mirror.8*
%{_unitdir}/cephfs-mirror.target
%{_unitdir}/cephfs-mirror@.service



%files -n %{cephrbd}
%{_bindir}/rbd-fuse
%{_bindir}/rbd-mirror
%{_bindir}/rbd-nbd
%{_mandir}/man8/rbd-fuse.8*
%{_mandir}/man8/rbd-mirror.8*
%{_mandir}/man8/rbd-nbd.8*
%{_unitdir}/ceph-rbd-mirror@.service
%{_unitdir}/ceph-rbd-mirror.target


%files -n %{cephfuse}
%{_bindir}/ceph-fuse
%{_mandir}/man8/ceph-fuse.8*
%{_sbindir}/mount.fuse.ceph
%{_unitdir}/ceph-fuse@.service
%{_unitdir}/ceph-fuse.target


%files -n %{cephimmutable}
%{_bindir}/ceph-immutable-object-cache
%{_unitdir}/ceph-immutable-object-cache@.service
%{_unitdir}/ceph-immutable-object-cache.target
%{_mandir}/man8/ceph-immutable-object-cache.8*

%files -n %{cephradosgw}
%{_bindir}/ceph-diff-sorted
%{_bindir}/radosgw
%{_bindir}/radosgw-token
%{_bindir}/radosgw-es
%{_bindir}/radosgw-object-expirer
%{_bindir}/rgw-orphan-list
%{_mandir}/man8/radosgw.8*
%{_unitdir}/ceph-radosgw@.service
%{_unitdir}/ceph-radosgw.target



%files -n %{libname}
%{_sysconfdir}/ld.so.conf.d/ceph.conf
%{_libdir}/libcephfs.so.%{major}{,.*}
%{_libdir}/libos_tp.so.%{submajor}{,.*}
%{_libdir}/libosd_tp.so.%{submajor}{,.*}
#looks like these guys are modules, not devel files
%dir %{_libdir}/ceph/crypto
#ifarch aarch64
%{_libdir}/ceph/crypto/libceph_*.so
#%else
#{_libdir}/ceph/crypto/libceph_crypto_isal.so.#{submajor}{,.*}
#endif
%{_libdir}/libcephsqlite.so
%{_libdir}/ceph/denc/*.so
%dir %{_libdir}/ceph/compressor
%{_libdir}/ceph/compressor/libceph_*.so.%{major}{,.*}
%{_libdir}/ceph/compressor/libceph_*.so
%dir %{_libdir}/ceph/erasure-code
%{_libdir}/ceph/erasure-code/libec_*.so
%dir  %{_libdir}/ceph/librbd
%{_libdir}/ceph/librbd/libceph_librbd_parent_cache.so.%{submajor}{,.*}
%{_libdir}/ceph/librbd/libceph_librbd_parent_cache.so
%dir %{_libdir}/rados-classes
%{_libdir}/rados-classes/libcls_*.so.%{submajor}{,.*}
%dir %{_libdir}/ceph/extblkdev
%{_libdir}/ceph/extblkdev/libceph_ebd_vdo.so



%files -n %{libdevelname}
%dir %{_includedir}/cephfs
%{_includedir}/libcephsqlite.h
%{_includedir}/cephfs/libcephfs.h
%{_includedir}/cephfs/ceph_ll_client.h
%{_includedir}/cephfs/metrics/Types.h
%{_includedir}/cephfs/types.h
%{_libdir}/libcephfs.so
%{_libdir}/libos_tp.so
%{_libdir}/libosd_tp.so
%{_libdir}/ceph/crypto/libceph_*.so
#{_libdir}/ceph/compressor/libceph_*.so
#{_libdir}/ceph/librbd/libceph_librbd_parent_cache.so
%{_libdir}/rados-classes/libcls_*.so


%files -n %{libradosname}
%{_sysconfdir}/ld.so.conf.d/ceph-common.conf
%{_libdir}/librados.so.%{radosmajor}{,.*}
%{_libdir}/librados_tp.so.%{radosmajor}{,.*}
%{_libdir}/ceph/libceph-common.so.%{radosmajor}{,.*}

%files -n %{libradosdevelname}
%dir %{_includedir}/rados
%{_bindir}/librados-config
%{_includedir}/rados/objclass.h
%{_includedir}/rados/librados.h
%{_includedir}/rados/rados_types.h
%{_includedir}/rados/buffer.h
%{_includedir}/rados/buffer_fwd.h
%{_includedir}/rados/crc32c.h
%{_includedir}/rados/inline_memory.h
%{_includedir}/rados/librados.hpp
%{_includedir}/rados/librados_fwd.hpp
%{_includedir}/rados/page.h
%{_includedir}/rados/rados_types.hpp
%{_libdir}/librados.so
%{_libdir}/librados_tp.so
%{_libdir}/libceph-common.so
%{_libdir}/ceph/libceph-common.so
%{_mandir}/man8/librados-config.8*


#files -n #{libradosgwname}
#{_libdir}/libradosgw.so.#{radosgwmajor}{,.*}


#files -n #{libradosgwdevelname}
#{_libdir}/libradosgw.so


%files -n %{libstripername}
%{_libdir}/libradosstriper.so.%{stripermajor}{,.*}


%files -n %{libstriperdevelname}
%dir %{_includedir}/radosstriper
%{_includedir}/radosstriper/libradosstriper.h
%{_includedir}/radosstriper/libradosstriper.hpp
%{_libdir}/libradosstriper.so



%files -n %{librbdname}
%{_libdir}/librbd.so.%{rbdmajor}{,.*}
%{_libdir}/librbd_tp.so.%{rbdmajor}{,.*}


%files -n %{librbddevelname}
%dir %{_includedir}/rbd
%{_includedir}/rbd/librbd.h
%{_includedir}/rbd/librbd.hpp
%{_includedir}/rbd/features.h
%{_libdir}/librbd.so
%{_libdir}/librbd_tp.so



%files -n %{librgwname}
%{_libdir}/librgw.so.%{rgwmajor}{,.*}
#{_libdir}/librgw_admin_user.so.#{rgwsubmajor}{,.*}
#{_libdir}/librgw_admin_user.so.#{rgwoldmajor}{,.*}
%{_libdir}/librgw_op_tp.so.%{rgwmajor}{,.*}
%{_libdir}/librgw_rados_tp.so.%{rgwmajor}{,.*}


%files -n %{librgwdevelname}
%dir %{_includedir}/rados
%{_includedir}/rados/librgw.h
#{_includedir}/rados/librgw_admin_user.h
%{_includedir}/rados/rgw_file.h
%{_libdir}/librgw.so
#{_libdir}/librgw_admin_user.so
%{_libdir}/librgw_op_tp.so
%{_libdir}/librgw_rados_tp.so



%files -n python3-%{name}
%{_bindir}/cephfs-shell
%{python3_sitearch}/cephfs.cpython*.so
%{python3_sitearch}/cephfs-*.egg-info
#{python3_sitelib}/ceph_volume_client.py
#{python3_sitelib}/__pycache__/ceph_volume_client.cpython*.py*
%{python3_sitelib}/ceph_argparse.py
%{python3_sitelib}/__pycache__/ceph_argparse.cpython*.py*
%{python3_sitelib}/ceph_daemon.py
%{python3_sitelib}/__pycache__/ceph_daemon.cpython*.py*
%{python3_sitelib}/ceph_volume
%{python3_sitelib}/ceph
%{python3_sitelib}/ceph-*.egg-info
%{python3_sitelib}/cephfs_shell-*.egg-info
%dir %{python3_sitelib}/ceph_volume-1.0.0-py%{python3_version}.egg-info
%{python3_sitelib}/ceph_volume-1.0.0-py%{python3_version}.egg-info/PKG-INFO
%{python3_sitelib}/ceph_volume-1.0.0-py%{python3_version}.egg-info/not-zip-safe
%{python3_sitelib}/ceph_volume-1.0.0-py%{python3_version}.egg-info/*.txt
%dir %{python3_sitelib}/cephfs_top-0.0.1-py%{python3_version}.egg-info
%{python3_sitelib}/cephfs_top-0.0.1-py%{python3_version}.egg-info/PKG-INFO
%{python3_sitelib}/cephfs_top-0.0.1-py%{python3_version}.egg-info/*.txt

%files -n python3-%{radosname}
%{python3_sitearch}/rados.cpython*.so
%{python3_sitearch}/rados-*.egg-info


%files -n python3-%{rbdname}
%{python3_sitearch}/rbd.cpython*.so
%{python3_sitearch}/rbd-*.egg-info


%files -n python3-%{rgwname}
%{python3_sitearch}/rgw.cpython*.so
%{python3_sitearch}/rgw-*.egg-info


%changelog
* Thu Jun 29 2023 eatdirt <eatdirt> 18.1.1-1.mga9
+ Revision: 1963302
- Upgrade to new major version 18.1.1

* Tue Apr 11 2023 eatdirt <eatdirt> 17.2.6-1.mga9
+ Revision: 1952600
- Update to version 17.2.6

* Sat Jan 07 2023 squidf <squidf> 17.2.5-5.mga9
+ Revision: 1931106
- Mass rebuild for icu 72.1

* Mon Dec 26 2022 wally <wally> 17.2.5-4.mga9
+ Revision: 1926924
- rebuild for boost 1.81.0

* Tue Dec 13 2022 ghibo <ghibo> 17.2.5-3.mga9
+ Revision: 1921385
- Rebuild against newer libcryptsetup

* Mon Nov 21 2022 papoteur <papoteur> 17.2.5-2.mga9
+ Revision: 1909679
- rebuild for librocksdb 7.7.3

* Wed Nov 02 2022 eatdirt <eatdirt> 17.2.5-1.mga9
+ Revision: 1901639
- Update to version 17.2.5
+ papoteur <papoteur>
- Rebuild for fmt9 and rocksdb 7.6
+ neoclust <neoclust>
- New version 17.2.4

* Fri Sep 16 2022 neoclust <neoclust> 17.2.3-2.mga9
+ Revision: 1889165
- Rebuild against new openldap

* Sat Aug 27 2022 eatdirt <eatdirt> 17.2.3-1.mga9
+ Revision: 1880967
- Upgrade to version 17.2.3

* Mon Aug 01 2022 tv <tv> 16.2.9-3.mga9
+ Revision: 1874174
- No cephfs-shell anywhere
- No cephfs-shell on aarch64
+ bcornec <bcornec>
- cephfs-shell python modules not delivered on aarch64
- cephfs-shell not delivered on aarch64
- cephfs-shell not delivered
- Bump tag to force rebuild in order to link with new libboost
+ wally <wally>
- rebuild for boost 1.79.0

* Sun Jun 19 2022 akien <akien> 16.2.9-1.mga9
+ Revision: 1865143
- Version 16.2.9
+ squidf <squidf>
- rebuild for icu 71.1
+ umeabot <umeabot>
- Mageia 9 Mass Rebuild
+ tv <tv>
- Rebuild for python-3.10

* Sun Dec 19 2021 wally <wally> 16.2.7-3.mga9
+ Revision: 1762665
- rebuild for boost 1.78.0

* Sun Dec 12 2021 eatdirt <eatdirt> 16.2.7-2.mga9
+ Revision: 1761804
- Fix commented cmake option
- Disabling system rocksdb for the time being
- Fix format literal build failures
- Upgrade to version 16.2.7
+ wally <wally>
- rebuild for openssl 3.0.0

* Thu Sep 09 2021 wally <wally> 16.2.5-2.mga9
+ Revision: 1744685
- rebuild for boost 1.77.0

* Fri Aug 27 2021 eatdirt <eatdirt> 16.2.5-1.mga9
+ Revision: 1742691
- Fix missing include
- Upgrade to version 16.2.5
+ wally <wally>
- rebuild for fmt 8.0.0

* Fri May 28 2021 eatdirt <eatdirt> 16.2.4-1.mga9
+ Revision: 1728719
- Fix silent change of type in snappy
- Upgrade to version 16.2.4
+ wally <wally>
- rebuild for boost 1.76.0

* Sat Apr 24 2021 eatdirt <eatdirt> 16.2.1-1.mga9
+ Revision: 1719232
- Upgrade to version 16.2.1

* Thu Apr 22 2021 eatdirt <eatdirt> 15.2.11-1.mga9
+ Revision: 1717967
- Upgrade to version 15.2.11

* Fri Mar 26 2021 daviddavid <daviddavid> 15.2.9-2.mga9
+ Revision: 1710319
- rebuild for python 3.9

* Sat Mar 06 2021 neoclust <neoclust> 15.2.9-1.mga9
+ Revision: 1700259
- New version 15.2.9: Fixes CVE-2020-25678 and CVE-2020-27839 (mga#28538)

* Thu Dec 31 2020 wally <wally> 15.2.8-2.mga8
+ Revision: 1666919
- rebuild for boost 1.75.0

* Thu Dec 24 2020 eatdirt <eatdirt> 15.2.8-1.mga8
+ Revision: 1663520
- Fix packaging of unexistent admin_rados lib
- Upgrade to version 15.2.8

* Thu Dec 24 2020 neoclust <neoclust> 15.2.7-3.mga8
+ Revision: 1663280
- Add P100 to fix CVE-2020-27781 (mga#27902)

* Mon Dec 21 2020 wally <wally> 15.2.7-2.mga8
+ Revision: 1662441
- add patch for missing atomic includes
- rebuild for boost 1.74.0

* Sun Dec 06 2020 eatdirt <eatdirt> 15.2.7-1.mga8
+ Revision: 1653704
- Upgrade to version 15.2.7

* Fri Nov 27 2020 tv <tv> 15.2.6-2.mga8
+ Revision: 1649741
- Fix building with glibc-2.32: HAVE_REENTRANT_STRSIGNAL
- try to fix build with a patch from FC

* Thu Nov 19 2020 eatdirt <eatdirt> 15.2.6-1.mga8
+ Revision: 1647760
- Upgrade to version 15.2.6 (fix mga#27622)

* Fri Sep 25 2020 eatdirt <eatdirt> 15.2.5-1.mga8
+ Revision: 1630082
- Upgrade to version 15.2.5

* Mon Sep 07 2020 eatdirt <eatdirt> 15.2.4-9.mga8
+ Revision: 1623286
- Reduce verbosity for all arches
- Makes libceph-common a proper lib, fix missing devel dep the funny way

* Thu Aug 27 2020 eatdirt <eatdirt> 15.2.4-8.mga8
+ Revision: 1619244
- Add missing Requires to ceph-mgr, try to relax BR
- Fix systemd file for osd, missing Requires, libceph-common.so symlink

* Thu Aug 27 2020 eatdirt <eatdirt> 15.2.4-6.mga8
+ Revision: 1619222
- Fix doc install
- Fix missing install dir
- Add README.mageia and fix populating ldconfig files
- Add systemd snippet
- Add missing ldconfig files

* Tue Aug 25 2020 eatdirt <eatdirt> 15.2.4-4.mga8
+ Revision: 1619054
- Add missing log dir
- Fix missing libceph-common.so file and radosgw devel files

* Tue Aug 25 2020 eatdirt <eatdirt> 15.2.4-3.mga8
+ Revision: 1619041
- Fix missing dep to unexistent libcrc32

* Tue Aug 25 2020 eatdirt <eatdirt> 15.2.4-2.mga8
+ Revision: 1618944
- Reimporting, rewriting spec and updating to version 15.2.4
- Reimporting ceph for a new fresh start
+ umeabot <umeabot>
- Mageia 7 Mass Rebuild
- Mageia 7 Mass Rebuild

* Tue Jan 23 2018 wally <wally> 1:10.2.9-1.mga7
+ Revision: 1196615
- new version 10.2.9
- drop patches applied by upstream

* Mon Dec 25 2017 wally <wally> 1:10.2.7-4.mga7
+ Revision: 1184657
- rebuild for new boost

* Tue Nov 21 2017 tv <tv> 1:10.2.7-3.mga7
+ Revision: 1178306
- rebuild for boost 1.65

* Sun Sep 17 2017 tv <tv> 1:10.2.7-2.mga7
+ Revision: 1154953
- rebuild with latest boost

* Mon Apr 24 2017 neoclust <neoclust> 1:10.2.7-1.mga6
+ Revision: 1097216
- New version 10.2.7 - Fixes CVE-2016-9579 (mga#20629)

* Sun Jan 01 2017 akien <akien> 1:10.2.2-5.mga6
+ Revision: 1079429
- Rebuild for leveldb 1.19

* Thu Sep 29 2016 pterjan <pterjan> 1:10.2.2-4.mga6
+ Revision: 1057535
- Reduce memory needed to build on arm, it currently runs out of memory

* Tue Jul 12 2016 neoclust <neoclust> 1:10.2.2-3.mga6
+ Revision: 1041232
- Remove use of ldconfig

* Sun Jul 03 2016 neoclust <neoclust> 1:10.2.2-2.mga6
+ Revision: 1038571
- Rebuild with fixed group
- imported package ceph