2 # - proper init scripts if non-systemd boot is too be supported
3 # (upstream scripts seem overcomplicated and hardly useful)
4 # - run as non-root user
6 # Note on versioning: http://docs.ceph.com/docs/master/releases/
9 %bcond_without java # Java binding
10 %bcond_with accelio # Accelio transport support [needs update for internal API changes]
11 %bcond_with cryptopp # use cryptopp instead of NSS crypto/SSL
12 %bcond_with dpdk # DPDK messaging (requires cryptopp instead of nss)
13 %bcond_with fcgi # RADOS Gateway FCGI frontend
14 %bcond_with fio # FIO engines support
15 %bcond_without pmem # PMDK (persistent memory) support
16 %bcond_with spdk # Ceph SPDK support (DPDK based)
17 %bcond_without system_rocksdb # system RocksDB storage support
18 %bcond_with zfs # ZFS support [not ready for zfs 0.8.x]
19 %bcond_without lttng # LTTng tracing
20 %bcond_without babeltrace # Babeltrace traces support
21 %bcond_without tcmalloc # tcmalloc allocator
22 %bcond_with tests # build tests
25 %undefine with_tcmalloc
27 %ifnarch %{x8664} aarch64
30 %if %{without cryptopp} && %{with dpdk}
31 %error DPDK requires cryptopp
34 Summary: User space components of the Ceph file system
35 Summary(pl.UTF-8): Działające w przestrzeni użytkownika elementy systemu plików Ceph
39 License: LGPL v2.1 (libraries), GPL v2 (some programs)
41 Source0: http://download.ceph.com/tarballs/%{name}-%{version}.tar.gz
42 # Source0-md5: 3cb3d259e59920b0d7145537f338aeec
43 Source1: ceph.sysconfig
44 Source3: ceph.tmpfiles
45 Patch0: %{name}-python.patch
46 Patch1: %{name}-tcmalloc.patch
47 Patch2: %{name}-fcgi.patch
48 Patch3: string-includes.patch
49 Patch4: no-virtualenvs.patch
50 Patch5: system-zstd.patch
54 %{?with_accelio:BuildRequires: accelio-devel}
55 %{?with_babeltrace:BuildRequires: babeltrace-devel}
56 BuildRequires: boost-devel >= 1.66
57 BuildRequires: boost-python3-devel >= 1.66
58 BuildRequires: cmake >= 3.22.2
59 %{?with_cryptopp:BuildRequires: cryptopp-devel}
60 BuildRequires: curl-devel
61 %if %{with dpdk} || %{with spdk}
62 BuildRequires: dpdk-devel
64 BuildRequires: expat-devel >= 1.95
65 %{?with_fcgi:BuildRequires: fcgi-devel}
66 %{?with_fio:BuildRequires: fio-devel}
67 BuildRequires: gdbm-devel
68 BuildRequires: gperftools-devel
71 BuildRequires: jre-X11
73 BuildRequires: keyutils-devel
74 BuildRequires: leveldb-devel >= 1.2
75 BuildRequires: libaio-devel
76 BuildRequires: libatomic_ops
77 BuildRequires: libblkid-devel >= 2.17
78 BuildRequires: libedit-devel >= 2.11
79 BuildRequires: libfuse-devel
81 %{?with_accelio:BuildRequires: libibverbs-devel}
82 BuildRequires: libltdl-devel
83 BuildRequires: librdkafka-devel
84 %{?with_accelio:BuildRequires: librdmacm-devel}
85 BuildRequires: libstdc++-devel >= 6:4.7
86 %{?with_tcmalloc:BuildRequires: libtcmalloc-devel}
87 BuildRequires: libtool >= 2:1.5
88 BuildRequires: libuuid-devel
89 BuildRequires: libxml2-devel >= 2.0
90 %{?with_lttng:BuildRequires: lttng-ust-devel}
91 BuildRequires: lua-devel
92 BuildRequires: lz4-devel >= 1:1.7
93 %{!?with_cryptopp:BuildRequires: nss-devel >= 3}
94 BuildRequires: oath-toolkit-devel
95 BuildRequires: openldap-devel
96 BuildRequires: openssl-devel
97 BuildRequires: perl-base
98 BuildRequires: pkgconfig
99 %{?with_pmem:BuildRequires: pmdk-devel}
100 BuildRequires: python3 >= 1:3.2
101 BuildRequires: python3-devel >= 1:3.2
102 BuildRequires: python3-tox >= 2.9.1
103 BuildRequires: python3-Cython
104 %{?with_system_rocksdb:BuildRequires: rocksdb-devel >= 5.6.0}
105 BuildRequires: rpmbuild(macros) >= 1.671
106 BuildRequires: sed >= 4.0
107 BuildRequires: snappy-devel
108 BuildRequires: sphinx-pdg >= 3.0
109 BuildRequires: udev-devel
110 %{?with_dpdk:BuildRequires: xorg-lib-libpciaccess-devel}
111 BuildRequires: xfsprogs-devel
115 %{?with_zfs:BuildRequires: zfs-devel >= 0.8.0}
116 BuildRequires: zlib-devel
117 Requires(post,preun): /sbin/chkconfig
118 Requires(preun): rc-scripts
119 Requires: %{name}-libs = %{version}-%{release}
120 Requires: python3-%{name} = %{version}-%{release}
121 Requires: systemd-units >= 38
123 Obsoletes: hadoop-cephfs
124 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
126 %define skip_post_check_so libceph_crypto_isal.so.* libceph_lz4.so.* libceph_snappy.so.* libceph_zlib.so.* libceph_zstd.so.* libcls_.*.so.* libec_.*.so.*
129 Ceph is a distributed network file system designed to provide
130 excellent performance, reliability, and scalability.
132 %description -l pl.UTF-8
133 Ceph to rozproszony sieciowy system plików zaprojektowany z myślą o
134 dobrej wydajności, wiarygodności i skalowalności.
137 Summary: Ceph shared libraries
138 Summary(pl.UTF-8): Biblioteki współdzielone Cepha
142 Ceph shared libraries.
144 %description libs -l pl.UTF-8
145 Biblioteki współdzielone Cepha.
148 Summary: Ceph header files
149 Summary(pl.UTF-8): Pliki nagłówkowe bibliotek Cepha
151 Group: Development/Libraries
152 Requires: %{name}-libs = %{version}-%{release}
153 Requires: boost-devel >= 1.66
155 Requires: expat-devel
157 Requires: nss-devel >= 3
158 Requires: leveldb-devel
159 Requires: libatomic_ops
160 Requires: libblkid-devel >= 2.17
161 Requires: libstdc++-devel >= 6:4.7
162 Requires: libuuid-devel
163 %{?with_lttng:Requires: lttng-ust-devel}
164 Requires: openldap-devel
165 Obsoletes: ceph-static < 12
168 This package contains the headers needed to develop programs that use
171 %description devel -l pl.UTF-8
172 Ten pakiet zawiera pliki nagłówkowe potrzebne do tworzenia programów
173 wykorzystujących Cepha.
175 %package -n python3-ceph
176 Summary: Ceph Python 3 bindings
177 Summary(pl.UTF-8): Wiązania Pythona 3 do bibliotek Cepha
178 Group: Development/Languages/Python
179 Requires: %{name}-libs = %{version}-%{release}
181 %description -n python3-ceph
182 Ceph Python 3 bindings.
184 %description -n python3-ceph -l pl.UTF-8
185 Wiązania Pythona 3 do bibliotek Cepha.
187 %package -n java-cephfs
188 Summary: CephFS Java bindings
189 Summary(pl.UTF-8): Wiązania Javy do biblioteki CephFS
190 Group: Libraries/Java
191 Requires: %{name}-libs = %{version}-%{release}
193 %description -n java-cephfs
194 CephFS Java bindings.
196 %description -n java-cephfs -l pl.UTF-8
197 Wiązania Javy do biblioteki CephFS.
200 Summary: Ceph FUSE-based client
201 Summary(pl.UTF-8): Klient Cepha oparty na FUSE
203 Requires: %{name} = %{version}-%{release}
206 FUSE based client for Ceph distributed network file system.
208 %description fuse -l pl.UTF-8
209 Oparty na FUSE klient rozproszonego sieciowego systemu plików Ceph.
212 Summary: rados REST gateway
213 Summary(pl.UTF-8): Bramka REST-owa rados
214 Group: Applications/System
215 #Requires: apache-mod_fcgid
218 radosgw is an S3 HTTP REST gateway for the RADOS object store. It is
219 implemented as a FastCGI module using libfcgi, and can be used in
220 conjunction with any FastCGI capable web server.
222 %description radosgw -l pl.UTF-8
223 radosgw to REST-owa bramka HTTP S3 do przechowalni obiektów RADOS.
224 Jest zaimplementowana jako moduł FastCGI wykorzystujący libfcgi i może
225 być używana w połączeniu z dowolnym serwerem WWW obsługującym FastCGI.
227 %package resource-agents
228 Summary: OCF Resource Agents for Ceph processes
229 Summary(pl.UTF-8): Agenci OCF do monitorowania procesów Cepha
230 Group: Applications/System
231 Requires: %{name} = %{version}-%{release}
232 Requires: resource-agents
234 %description resource-agents
235 OCF Resource Agents for Ceph processes.
237 %description resource-agents -l pl.UTF-8
238 Agenci OCF do monitorowania procesów Cepha.
241 Summary: Ceph benchmarks and test tools
242 Summary(pl.UTF-8): Narzędzia testowe oraz do mierzenia wydajności dla Ceph
243 Group: Applications/System
244 Requires: %{name} = %{version}-%{release}
247 Ceph benchmarks and test tools.
249 %description test -l pl.UTF-8
250 Narzędzia testowe oraz do mierzenia wydajności dla Ceph.
252 %package -n fio-ceph-objectstore
253 Summary: FIO engine module for Ceph ObjectStore
254 Summary(pl.UTF-8): Moduł silnika FIO do używania Ceph ObjectStore
256 Requires: %{name}-libs = %{version}-%{release}
258 %requires_ge_to fio fio-devel
261 %description -n fio-ceph-objectstore
262 This FIO engine allows you to mount and use a ceph object store
263 directly, without having to build a ceph cluster or start any daemons.
265 %description -n fio-ceph-objectstore -l pl.UTF-8
266 Ten silnik FIO pozwala na bezpośrednie montowanie i używanie
267 przestrzeni obiektów ceph, bez potrzeby budowania klastra ceph czy
268 uruchamiania demonów.
287 -DALLOCATOR="%{?with_tcmalloc:tcmalloc}%{!?with_tcmalloc:libc}" \
288 -DFIO_INCLUDE_DIR=/usr/include/fio \
289 -DWITH_PYTHON3=%{py3_ver} \
290 -DPYTHON=%{__python3} \
291 -DSPHINX_BUILD=/usr/bin/sphinx-build \
292 %{!?with_babeltrace:-DWITH_BABELTRACE=OFF} \
293 %{?with_java:-DWITH_CEPHFS_JAVA=ON} \
294 %{?with_java:-DJAVA_JVM_LIBRARY:PATH=%{_jvmdir}/java/lib/server/libjvm.so} \
295 %{?with_dpdk:-DWITH_DPDK=ON} \
296 %{?with_fio:-DWITH_FIO=ON} \
297 %{!?with_lttng:-DWITH_LTTNG=OFF} \
298 -DLUA_INCLUDE_DIR=%{_includedir}/lua \
300 %{?with_cryptopp:-DWITH_NSS=OFF} \
302 %{?with_pmem:-DWITH_PMEM=ON} \
303 %{?with_fcgi:-DWITH_RADOSGW_FCGI_FRONTEND=ON} \
304 -DWITH_MGR_DASHBOARD_FRONTEND=OFF \
305 %{?with_spdk:-DWITH_SPDK=ON} \
306 -DWITH_SYSTEM_BOOST=ON \
307 %{?with_system_rocksdb:-DWITH_SYSTEM_ROCKSDB=ON} \
309 %{?with_accelio:-DWITH_XIO=ON} \
310 %{?with_zfs:-DWITH_ZFS=ON} \
311 -DWITH_REENTRANT_STRSIGNAL=ON \
312 %{!?with_tests:-DWITH_TESTS=OFF}
317 rm -rf $RPM_BUILD_ROOT
318 install -d $RPM_BUILD_ROOT%{_localstatedir}/{lib/ceph/{tmp,mon,osd,mds,mgr,radosgw,bootstrap-{osd,mds,rgw,mgr,rbd}},log/ceph/stat,run/ceph} \
319 $RPM_BUILD_ROOT%{_sysconfdir}/{ceph,bash_completion.d,logrotate.d,rc.d,sysconfig} \
320 $RPM_BUILD_ROOT{%{systemdunitdir},%{systemdtmpfilesdir},/etc/systemd/system/ceph.target.wants,/sbin}
322 %{__make} -C build install \
323 DESTDIR=$RPM_BUILD_ROOT
325 # sanitize paths; no config options for cmake
326 %{__mv} $RPM_BUILD_ROOT/etc/init.d $RPM_BUILD_ROOT/etc/rc.d
327 %{__mv} $RPM_BUILD_ROOT%{_libexecdir}/systemd/system/* $RPM_BUILD_ROOT%{systemdunitdir}
328 %{__mv} $RPM_BUILD_ROOT%{_sbindir}/mount.* $RPM_BUILD_ROOT/sbin
330 cp -p src/logrotate.conf $RPM_BUILD_ROOT%{_sysconfdir}/logrotate.d/ceph
332 cp -p %{SOURCE1} $RPM_BUILD_ROOT/etc/sysconfig/ceph
333 ln -sf /dev/null $RPM_BUILD_ROOT%{systemdunitdir}/ceph.service
334 cp -p %{SOURCE3} $RPM_BUILD_ROOT%{systemdtmpfilesdir}/ceph.conf
336 %py3_comp $RPM_BUILD_ROOT%{py3_sitescriptdir}
337 %py3_ocomp $RPM_BUILD_ROOT%{py3_sitescriptdir}
340 %{__rm} $RPM_BUILD_ROOT%{_docdir}/sample.ceph.conf
342 %{__sed} -E -i -e '1s,#!\s*/usr/bin/env\s+bash(\s|$),#!/bin/bash\1,' \
343 $RPM_BUILD_ROOT%{_bindir}/{ceph-post-file,rbd-replay-many,rbdmap,rgw-gap-list,rgw-orphan-list}
346 rm -rf $RPM_BUILD_ROOT
349 /sbin/chkconfig --add ceph
350 %service ceph restart
352 # actual services are to be enabled on cluster deployment
353 %systemd_post %{name}.target
356 if [ "$1" = "0" ] ; then
358 /sbin/chkconfig --del ceph
360 %systemd_preun %{name}.target
365 %post libs -p /sbin/ldconfig
366 %postun libs -p /sbin/ldconfig
368 %post -n java-cephfs -p /sbin/ldconfig
369 %postun -n java-cephfs -p /sbin/ldconfig
372 %defattr(644,root,root,755)
373 # COPYING specifies licenses of individual parts
374 %doc AUTHORS COPYING PendingReleaseNotes README.md src/sample.ceph.conf
375 %attr(754,root,root) /etc/rc.d/init.d/ceph
376 %config(noreplace) /etc/sysconfig/ceph
377 %dir /etc/systemd/system/ceph.target.wants
378 %{systemdunitdir}/ceph.service
379 %{systemdunitdir}/ceph.target
380 %{systemdunitdir}/ceph-crash.service
381 %{systemdunitdir}/cephfs-mirror.target
382 %{systemdunitdir}/cephfs-mirror@.service
383 %{systemdunitdir}/ceph-fuse.target
384 %{systemdunitdir}/ceph-fuse@.service
385 %{systemdunitdir}/ceph-immutable-object-cache.target
386 %{systemdunitdir}/ceph-immutable-object-cache@.service
387 %{systemdunitdir}/ceph-mds.target
388 %{systemdunitdir}/ceph-mds@.service
389 %{systemdunitdir}/ceph-mgr.target
390 %{systemdunitdir}/ceph-mgr@.service
391 %{systemdunitdir}/ceph-mon.target
392 %{systemdunitdir}/ceph-mon@.service
393 %{systemdunitdir}/ceph-osd.target
394 %{systemdunitdir}/ceph-osd@.service
395 %{systemdunitdir}/ceph-rbd-mirror.target
396 %{systemdunitdir}/ceph-rbd-mirror@.service
397 %{systemdunitdir}/ceph-volume@.service
398 %{systemdunitdir}/rbdmap.service
399 %{systemdtmpfilesdir}/ceph.conf
400 %dir %{_sysconfdir}/ceph
401 %attr(755,root,root) %{_bindir}/ceph
402 %attr(755,root,root) %{_bindir}/ceph-authtool
403 %attr(755,root,root) %{_bindir}/ceph-bluestore-tool
404 %attr(755,root,root) %{_bindir}/ceph-clsinfo
405 %attr(755,root,root) %{_bindir}/ceph-conf
406 %attr(755,root,root) %{_bindir}/ceph-crash
407 %attr(755,root,root) %{_bindir}/ceph-dencoder
408 %attr(755,root,root) %{_bindir}/ceph-diff-sorted
409 %attr(755,root,root) %{_bindir}/ceph-erasure-code-tool
410 %attr(755,root,root) %{_bindir}/cephfs-data-scan
411 %attr(755,root,root) %{_bindir}/cephfs-journal-tool
412 %attr(755,root,root) %{_bindir}/cephfs-mirror
413 %attr(755,root,root) %{_bindir}/cephfs-table-tool
414 %attr(755,root,root) %{_bindir}/cephfs-top
415 %attr(755,root,root) %{_bindir}/ceph-immutable-object-cache
416 %attr(755,root,root) %{_bindir}/ceph-kvstore-tool
417 %attr(755,root,root) %{_bindir}/ceph-mds
418 %attr(755,root,root) %{_bindir}/ceph-mgr
419 %attr(755,root,root) %{_bindir}/ceph-mon
420 %attr(755,root,root) %{_bindir}/ceph-monstore-tool
421 %attr(755,root,root) %{_bindir}/ceph-objectstore-tool
422 %attr(755,root,root) %{_bindir}/ceph-osd
423 %attr(755,root,root) %{_bindir}/ceph-osdomap-tool
424 %attr(755,root,root) %{_bindir}/ceph-post-file
425 %attr(755,root,root) %{_bindir}/ceph-rbdnamer
426 %attr(755,root,root) %{_bindir}/ceph-run
427 %attr(755,root,root) %{_bindir}/ceph-syn
428 %attr(755,root,root) %{_bindir}/crushtool
429 %attr(755,root,root) %{_bindir}/librados-config
430 %attr(755,root,root) %{_bindir}/monmaptool
431 %attr(755,root,root) %{_bindir}/osdmaptool
432 %attr(755,root,root) %{_bindir}/rados
433 %attr(755,root,root) %{_bindir}/rbd
434 %attr(755,root,root) %{_bindir}/rbd-fuse
435 %attr(755,root,root) %{_bindir}/rbdmap
436 %attr(755,root,root) %{_bindir}/rbd-mirror
437 %attr(755,root,root) %{_bindir}/rbd-nbd
438 %attr(755,root,root) %{_bindir}/rbd-replay
439 %attr(755,root,root) %{_bindir}/rbd-replay-many
440 %attr(755,root,root) %{_bindir}/rbd-replay-prep
441 %attr(755,root,root) %{_bindir}/rgw-gap-list
442 %attr(755,root,root) %{_bindir}/rgw-gap-list-comparator
443 %attr(755,root,root) %{_bindir}/rgw-orphan-list
444 %attr(755,root,root) %{_sbindir}/ceph-create-keys
445 %attr(755,root,root) %{_sbindir}/ceph-volume
446 %attr(755,root,root) %{_sbindir}/ceph-volume-systemd
447 %attr(755,root,root) /sbin/mount.ceph
448 %attr(755,root,root) /sbin/mount.fuse.ceph
449 %if "%{_libexecdir}" != "%{_libdir}"
450 %dir %{_libexecdir}/ceph
452 %{_libexecdir}/ceph/ceph_common.sh
453 %attr(755,root,root) %{_libexecdir}/ceph/ceph-osd-prestart.sh
454 %dir %{_libdir}/ceph/compressor
455 %attr(755,root,root) %{_libdir}/ceph/compressor/libceph_lz4.so*
456 %attr(755,root,root) %{_libdir}/ceph/compressor/libceph_snappy.so*
457 %attr(755,root,root) %{_libdir}/ceph/compressor/libceph_zlib.so*
458 %attr(755,root,root) %{_libdir}/ceph/compressor/libceph_zstd.so*
459 %dir %{_libdir}/ceph/crypto
460 %attr(755,root,root) %{_libdir}/ceph/crypto/libceph_crypto_openssl.so*
462 %attr(755,root,root) %{_libdir}/ceph/crypto/libceph_crypto_isal.so*
464 %dir %{_libdir}/ceph/erasure-code
465 %attr(755,root,root) %{_libdir}/ceph/erasure-code/libec_clay.so*
467 %attr(755,root,root) %{_libdir}/ceph/erasure-code/libec_isa.so*
469 %attr(755,root,root) %{_libdir}/ceph/erasure-code/libec_jerasure.so*
470 %attr(755,root,root) %{_libdir}/ceph/erasure-code/libec_jerasure_generic.so*
472 %attr(755,root,root) %{_libdir}/ceph/erasure-code/libec_jerasure_neon.so*
474 %ifarch %{ix86} %{x8664} x32
475 %attr(755,root,root) %{_libdir}/ceph/erasure-code/libec_jerasure_sse3.so*
476 %attr(755,root,root) %{_libdir}/ceph/erasure-code/libec_jerasure_sse4.so*
477 %attr(755,root,root) %{_libdir}/ceph/erasure-code/libec_shec_sse3.so*
478 %attr(755,root,root) %{_libdir}/ceph/erasure-code/libec_shec_sse4.so*
480 %attr(755,root,root) %{_libdir}/ceph/erasure-code/libec_lrc.so*
481 %attr(755,root,root) %{_libdir}/ceph/erasure-code/libec_shec.so*
482 %attr(755,root,root) %{_libdir}/ceph/erasure-code/libec_shec_generic.so*
483 %dir %{_libdir}/ceph/librbd
484 %attr(755,root,root) %{_libdir}/ceph/librbd/libceph_librbd_parent_cache.so*
485 %dir %{_libdir}/rados-classes
486 %attr(755,root,root) %{_libdir}/rados-classes/libcls_2pc_queue.so*
487 %attr(755,root,root) %{_libdir}/rados-classes/libcls_cas.so*
488 %attr(755,root,root) %{_libdir}/rados-classes/libcls_cephfs.so*
489 %attr(755,root,root) %{_libdir}/rados-classes/libcls_cmpomap.so*
490 %attr(755,root,root) %{_libdir}/rados-classes/libcls_fifo.so*
491 %attr(755,root,root) %{_libdir}/rados-classes/libcls_hello.so*
492 %attr(755,root,root) %{_libdir}/rados-classes/libcls_journal.so*
493 %attr(755,root,root) %{_libdir}/rados-classes/libcls_kvs.so*
494 %attr(755,root,root) %{_libdir}/rados-classes/libcls_lock.so*
495 %attr(755,root,root) %{_libdir}/rados-classes/libcls_log.so*
496 %attr(755,root,root) %{_libdir}/rados-classes/libcls_lua.so*
497 %attr(755,root,root) %{_libdir}/rados-classes/libcls_numops.so*
498 %attr(755,root,root) %{_libdir}/rados-classes/libcls_otp.so*
499 %attr(755,root,root) %{_libdir}/rados-classes/libcls_queue.so*
500 %attr(755,root,root) %{_libdir}/rados-classes/libcls_rbd.so*
501 %attr(755,root,root) %{_libdir}/rados-classes/libcls_refcount.so*
502 %attr(755,root,root) %{_libdir}/rados-classes/libcls_rgw_gc.so*
503 %attr(755,root,root) %{_libdir}/rados-classes/libcls_rgw.so*
504 %attr(755,root,root) %{_libdir}/rados-classes/libcls_sdk.so*
505 %attr(755,root,root) %{_libdir}/rados-classes/libcls_timeindex.so*
506 %attr(755,root,root) %{_libdir}/rados-classes/libcls_user.so*
507 %attr(755,root,root) %{_libdir}/rados-classes/libcls_version.so*
509 %config(noreplace) /etc/logrotate.d/ceph
510 %config(noreplace) %{_sysconfdir}/bash_completion.d/rados
511 %config(noreplace) %{_sysconfdir}/bash_completion.d/ceph
512 %config(noreplace) %{_sysconfdir}/bash_completion.d/rbd
513 %{_mandir}/man8/ceph.8*
514 %{_mandir}/man8/cephadm.8*
515 %{_mandir}/man8/ceph-authtool.8*
516 %{_mandir}/man8/ceph-bluestore-tool.8*
517 %{_mandir}/man8/ceph-clsinfo.8*
518 %{_mandir}/man8/ceph-conf.8*
519 %{_mandir}/man8/ceph-create-keys.8*
520 %{_mandir}/man8/ceph-dencoder.8*
521 %{_mandir}/man8/ceph-deploy.8*
522 %{_mandir}/man8/ceph-diff-sorted.8*
523 %{_mandir}/man8/cephfs-mirror.8*
524 %{_mandir}/man8/cephfs-top.8*
525 %{_mandir}/man8/ceph-immutable-object-cache.8*
526 %{_mandir}/man8/ceph-kvstore-tool.8*
527 %{_mandir}/man8/ceph-mds.8*
528 %{_mandir}/man8/ceph-mon.8*
529 %{_mandir}/man8/ceph-osd.8*
530 %{_mandir}/man8/ceph-post-file.8*
531 %{_mandir}/man8/ceph-rbdnamer.8*
532 %{_mandir}/man8/ceph-run.8*
533 %{_mandir}/man8/ceph-syn.8*
534 %{_mandir}/man8/ceph-volume.8*
535 %{_mandir}/man8/ceph-volume-systemd.8*
536 %{_mandir}/man8/crushtool.8*
537 %{_mandir}/man8/librados-config.8*
538 %{_mandir}/man8/monmaptool.8*
539 %{_mandir}/man8/mount.ceph.8*
540 %{_mandir}/man8/mount.fuse.ceph.8*
541 %{_mandir}/man8/osdmaptool.8*
542 %{_mandir}/man8/rados.8*
543 %{_mandir}/man8/rbd.8*
544 %{_mandir}/man8/rbd-fuse.8*
545 %{_mandir}/man8/rbdmap.8*
546 %{_mandir}/man8/rbd-mirror.8*
547 %{_mandir}/man8/rbd-nbd.8*
548 %{_mandir}/man8/rbd-replay.8*
549 %{_mandir}/man8/rbd-replay-many.8*
550 %{_mandir}/man8/rbd-replay-prep.8*
551 %{_mandir}/man8/rgw-orphan-list.8*
553 %dir %{_localstatedir}/lib/ceph
554 %dir %{_localstatedir}/lib/ceph/bootstrap-mds
555 %dir %{_localstatedir}/lib/ceph/bootstrap-mgr
556 %dir %{_localstatedir}/lib/ceph/bootstrap-osd
557 %dir %{_localstatedir}/lib/ceph/bootstrap-rbd
558 %dir %{_localstatedir}/lib/ceph/bootstrap-rgw
559 %dir %{_localstatedir}/lib/ceph/mds
560 %dir %{_localstatedir}/lib/ceph/mgr
561 %dir %{_localstatedir}/lib/ceph/mon
562 %dir %{_localstatedir}/lib/ceph/osd
563 %dir %{_localstatedir}/lib/ceph/tmp
564 %dir %{_localstatedir}/log/ceph
565 %dir %{_localstatedir}/run/ceph
568 %defattr(644,root,root,755)
569 %attr(755,root,root) %{_libdir}/libcephfs.so.*.*.*
570 %attr(755,root,root) %ghost %{_libdir}/libcephfs.so.2
571 %attr(755,root,root) %{_libdir}/libos_tp.so.*.*.*
572 %attr(755,root,root) %ghost %{_libdir}/libos_tp.so.1
573 %attr(755,root,root) %{_libdir}/libosd_tp.so.*.*.*
574 %attr(755,root,root) %ghost %{_libdir}/libosd_tp.so.1
575 %attr(755,root,root) %{_libdir}/librados.so.*.*.*
576 %attr(755,root,root) %ghost %{_libdir}/librados.so.2
577 %attr(755,root,root) %{_libdir}/librados_tp.so.*.*.*
578 %attr(755,root,root) %ghost %{_libdir}/librados_tp.so.2
579 %attr(755,root,root) %{_libdir}/libradosgw.so.*.*.*
580 %attr(755,root,root) %ghost %{_libdir}/libradosgw.so.2
581 %attr(755,root,root) %{_libdir}/libradosstriper.so.*.*.*
582 %attr(755,root,root) %ghost %{_libdir}/libradosstriper.so.1
583 %attr(755,root,root) %{_libdir}/librbd.so.*.*.*
584 %attr(755,root,root) %ghost %{_libdir}/librbd.so.1
585 %attr(755,root,root) %{_libdir}/librbd_tp.so.*.*.*
586 %attr(755,root,root) %ghost %{_libdir}/librbd_tp.so.1
587 %attr(755,root,root) %{_libdir}/librgw.so.*.*.*
588 %attr(755,root,root) %ghost %{_libdir}/librgw.so.2
589 %attr(755,root,root) %{_libdir}/librgw_op_tp.so.*.*.*
590 %attr(755,root,root) %ghost %{_libdir}/librgw_op_tp.so.2
591 %attr(755,root,root) %{_libdir}/librgw_rados_tp.so.*.*.*
592 %attr(755,root,root) %ghost %{_libdir}/librgw_rados_tp.so.2
593 %attr(755,root,root) %{_libdir}/libcephsqlite.so
595 %attr(755,root,root) %{_libdir}/ceph/libceph-common.so.2
598 %defattr(644,root,root,755)
599 %attr(755,root,root) %{_libdir}/libcephfs.so
600 %attr(755,root,root) %{_libdir}/libos_tp.so
601 %attr(755,root,root) %{_libdir}/libosd_tp.so
602 %attr(755,root,root) %{_libdir}/librados.so
603 %attr(755,root,root) %{_libdir}/librados_tp.so
604 %attr(755,root,root) %{_libdir}/libradosgw.so
605 %attr(755,root,root) %{_libdir}/libradosstriper.so
606 %attr(755,root,root) %{_libdir}/librbd.so
607 %attr(755,root,root) %{_libdir}/librbd_tp.so
608 %attr(755,root,root) %{_libdir}/librgw.so
609 %attr(755,root,root) %{_libdir}/librgw_op_tp.so
610 %attr(755,root,root) %{_libdir}/librgw_rados_tp.so
611 %{_includedir}/cephfs
613 %{_includedir}/radosstriper
615 %{_includedir}/libcephsqlite.h
617 %files -n python3-ceph
618 %defattr(644,root,root,755)
620 %{py3_sitedir}/ceph-1.0.0-py*.egg-info
621 %attr(755,root,root) %{py3_sitedir}/cephfs.cpython-*.so
622 %{py3_sitedir}/cephfs-2.0.0-py*.egg-info
623 %{py3_sitedir}/cephfs_top-0.0.1-py*.egg-info
624 %{py3_sitedir}/ceph_volume
625 %{py3_sitedir}/ceph_volume-1.0.0-py*.egg-info
626 %attr(755,root,root) %{py3_sitedir}/rados.cpython-*.so
627 %{py3_sitedir}/rados-2.0.0-py*.egg-info
628 %attr(755,root,root) %{py3_sitedir}/rbd.cpython-*.so
629 %{py3_sitedir}/rbd-2.0.0-py*.egg-info
630 %attr(755,root,root) %{py3_sitedir}/rgw.cpython-*.so
631 %{py3_sitedir}/rgw-2.0.0-py*.egg-info
632 %{py3_sitescriptdir}/ceph_argparse.py
633 %{py3_sitescriptdir}/ceph_daemon.py
634 %{py3_sitescriptdir}/ceph_volume_client.py
635 %{py3_sitescriptdir}/__pycache__/ceph_argparse.cpython-*.py[co]
636 %{py3_sitescriptdir}/__pycache__/ceph_daemon.cpython-*.py[co]
637 %{py3_sitescriptdir}/__pycache__/ceph_volume_client.cpython-*.py[co]
639 %exclude %{py3_sitedir}/ceph/tests
640 %exclude %{py3_sitedir}/ceph_volume/tests
644 %files -n java-cephfs
645 %defattr(644,root,root,755)
646 %attr(755,root,root) %{_libdir}/libcephfs_jni.so.*.*.*
647 %attr(755,root,root) %ghost %{_libdir}/libcephfs_jni.so.1
648 %attr(755,root,root) %{_libdir}/libcephfs_jni.so
649 %{_javadir}/libcephfs.jar
653 %defattr(644,root,root,755)
654 %attr(755,root,root) %{_bindir}/ceph-fuse
655 %{_mandir}/man8/ceph-fuse.8*
658 %defattr(644,root,root,755)
659 %attr(755,root,root) %{_bindir}/radosgw
660 %attr(755,root,root) %{_bindir}/radosgw-admin
661 %attr(755,root,root) %{_bindir}/radosgw-es
662 %attr(755,root,root) %{_bindir}/radosgw-object-expirer
663 %attr(755,root,root) %{_bindir}/radosgw-token
664 %{systemdunitdir}/ceph-radosgw.target
665 %{systemdunitdir}/ceph-radosgw@.service
666 %{_sysconfdir}/bash_completion.d/radosgw-admin
667 %dir %{_localstatedir}/lib/ceph/radosgw
668 %{_mandir}/man8/radosgw.8*
669 %{_mandir}/man8/radosgw-admin.8*
671 %files resource-agents
672 %defattr(644,root,root,755)
673 %dir %{_prefix}/lib/ocf/resource.d/ceph
674 %attr(755,root,root) %{_prefix}/lib/ocf/resource.d/ceph/rbd
678 %defattr(644,root,root,755)
679 %attr(755,root,root) %{_bindir}/ceph-client-debug
680 %attr(755,root,root) %{_bindir}/ceph-coverage
681 %attr(755,root,root) %{_bindir}/ceph-debugpack
682 %attr(755,root,root) %{_bindir}/ceph-kvstore-tool
683 %attr(755,root,root) %{_bindir}/ceph-monstore-tool
684 %attr(755,root,root) %{_bindir}/ceph-osdomap-tool
685 %attr(755,root,root) %{_bindir}/ceph_bench_log
686 %attr(755,root,root) %{_bindir}/ceph_erasure_code
687 %attr(755,root,root) %{_bindir}/ceph_erasure_code_benchmark
688 %attr(755,root,root) %{_bindir}/ceph_kvstorebench
689 %attr(755,root,root) %{_bindir}/ceph_multi_stress_watch
690 %attr(755,root,root) %{_bindir}/ceph_objectstore_bench
691 %attr(755,root,root) %{_bindir}/ceph_omapbench
692 %attr(755,root,root) %{_bindir}/ceph_perf_local
693 %attr(755,root,root) %{_bindir}/ceph_perf_msgr_client
694 %attr(755,root,root) %{_bindir}/ceph_perf_msgr_server
695 %attr(755,root,root) %{_bindir}/ceph_perf_objectstore
696 %attr(755,root,root) %{_bindir}/ceph_psim
697 %attr(755,root,root) %{_bindir}/ceph_radosacl
698 %attr(755,root,root) %{_bindir}/ceph_rgw_jsonparser
699 %attr(755,root,root) %{_bindir}/ceph_rgw_multiparser
700 %attr(755,root,root) %{_bindir}/ceph_scratchtool
701 %attr(755,root,root) %{_bindir}/ceph_scratchtoolpp
702 %attr(755,root,root) %{_bindir}/ceph_smalliobench
703 %attr(755,root,root) %{_bindir}/ceph_smalliobenchdumb
704 %attr(755,root,root) %{_bindir}/ceph_smalliobenchfs
705 %attr(755,root,root) %{_bindir}/ceph_smalliobenchrbd
706 %attr(755,root,root) %{_bindir}/ceph_test_*
707 %attr(755,root,root) %{_bindir}/ceph_tpbench
708 %attr(755,root,root) %{_bindir}/ceph_xattr_bench
709 %attr(755,root,root) %{_libdir}/ceph/ceph-monstore-update-crush.sh
710 %{_mandir}/man8/ceph-debugpack.8*
711 %{_mandir}/man8/ceph-kvstore-tool.8*
715 %files -n fio-ceph-objectstore
716 %defattr(644,root,root,755)
717 %doc src/test/fio/{README.md,ceph-*.conf,ceph-*.fio}
718 %attr(755,root,root) %{_libdir}/libfio_ceph_objectstore.so