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
24 %undefine with_tcmalloc
26 %ifnarch %{x8664} aarch64
29 %if %{without cryptopp} && %{with dpdk}
30 %error DPDK requires cryptopp
33 Summary: User space components of the Ceph file system
34 Summary(pl.UTF-8): Działające w przestrzeni użytkownika elementy systemu plików Ceph
38 License: LGPL v2.1 (libraries), GPL v2 (some programs)
40 Source0: http://download.ceph.com/tarballs/%{name}-%{version}.tar.gz
41 # Source0-md5: 38bd01cf8224c9ca081298e19ab6e5a1
42 Source1: ceph.sysconfig
44 Source3: ceph.tmpfiles
45 Patch0: %{name}-init-fix.patch
46 Patch1: %{name}.logrotate.patch
48 Patch3: %{name}-python.patch
49 Patch4: %{name}-types.patch
50 Patch5: %{name}-tcmalloc.patch
51 Patch6: %{name}-rocksdb.patch
52 Patch7: %{name}-fcgi.patch
53 Patch8: %{name}-fio.patch
54 Patch9: %{name}-zfs.patch
56 %{?with_accelio:BuildRequires: accelio-devel}
57 %{?with_babeltrace:BuildRequires: babeltrace-devel}
58 BuildRequires: boost-devel >= 1.66
59 BuildRequires: cmake >= 2.8.11
60 %{?with_cryptopp:BuildRequires: cryptopp-devel}
61 BuildRequires: curl-devel
62 %if %{with dpdk} || %{with spdk}
63 BuildRequires: dpdk-devel
65 BuildRequires: expat-devel >= 1.95
66 %{?with_fcgi:BuildRequires: fcgi-devel}
67 %{?with_fio:BuildRequires: fio-devel}
68 BuildRequires: gdbm-devel
72 BuildRequires: keyutils-devel
73 BuildRequires: leveldb-devel >= 1.2
74 BuildRequires: libaio-devel
75 BuildRequires: libatomic_ops
76 BuildRequires: libblkid-devel >= 2.17
77 BuildRequires: libedit-devel >= 2.11
78 BuildRequires: libfuse-devel
80 %{?with_accelio:BuildRequires: libibverbs-devel}
81 BuildRequires: libltdl-devel
82 %{?with_accelio:BuildRequires: librdmacm-devel}
83 BuildRequires: libstdc++-devel >= 6:4.7
84 %{?with_tcmalloc:BuildRequires: libtcmalloc-devel}
85 BuildRequires: libtool >= 2:1.5
86 BuildRequires: libuuid-devel
87 BuildRequires: libxml2-devel >= 2.0
88 %{?with_lttng:BuildRequires: lttng-ust-devel}
89 BuildRequires: lz4-devel >= 1:1.7
90 %{!?with_cryptopp:BuildRequires: nss-devel >= 3}
91 BuildRequires: openldap-devel
92 BuildRequires: openssl-devel
93 BuildRequires: perl-base
94 BuildRequires: pkgconfig
95 %{?with_pmem:BuildRequires: pmdk-devel}
96 BuildRequires: python >= 1:2.7
97 BuildRequires: python-devel >= 1:2.7
98 BuildRequires: python-Cython
99 BuildRequires: python3-devel >= 1:3.2
100 # upstream uses 3.0.0, rocksdb patch adjusts for 5.6.0 API change
101 %{?with_system_rocksdb:BuildRequires: rocksdb-devel >= 5.6.0}
102 BuildRequires: rpmbuild(macros) >= 1.671
103 BuildRequires: sed >= 4.0
104 BuildRequires: snappy-devel
105 BuildRequires: sphinx-pdg-2 >= 1.0
106 BuildRequires: udev-devel
107 #BuildRequires: virtualenv for tests
108 %{?with_dpdk:BuildRequires: xorg-lib-libpciaccess-devel}
109 BuildRequires: xfsprogs-devel
113 # zfs patch updates to 0.8.0 API
114 %{?with_zfs:BuildRequires: zfs-devel >= 0.8.0}
115 BuildRequires: zlib-devel
116 Requires(post,preun): /sbin/chkconfig
117 Requires(preun): rc-scripts
118 Requires: %{name}-libs = %{version}-%{release}
119 Requires: python-%{name} = %{version}-%{release}
120 Requires: systemd-units >= 38
122 Obsoletes: hadoop-cephfs
123 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
125 %define skip_post_check_so libceph_lz4.so.* libceph_snappy.so.* libceph_zlib.so.* libceph_zstd.so.* libcls_.*.so.* libec_.*.so.*
128 Ceph is a distributed network file system designed to provide
129 excellent performance, reliability, and scalability.
131 %description -l pl.UTF-8
132 Ceph to rozproszony sieciowy system plików zaprojektowany z myślą o
133 dobrej wydajności, wiarygodności i skalowalności.
136 Summary: Ceph shared libraries
137 Summary(pl.UTF-8): Biblioteki współdzielone Cepha
141 Ceph shared libraries.
143 %description libs -l pl.UTF-8
144 Biblioteki współdzielone Cepha.
147 Summary: Ceph header files
148 Summary(pl.UTF-8): Pliki nagłówkowe bibliotek Cepha
150 Group: Development/Libraries
151 Requires: %{name}-libs = %{version}-%{release}
152 Requires: boost-devel >= 1.66
154 Requires: expat-devel
156 Requires: nss-devel >= 3
157 Requires: leveldb-devel
158 Requires: libatomic_ops
159 Requires: libblkid-devel >= 2.17
160 Requires: libstdc++-devel >= 6:4.7
161 Requires: libuuid-devel
162 %{?with_lttng:Requires: lttng-ust-devel}
163 Requires: openldap-devel
164 Obsoletes: ceph-static < 12
167 This package contains the headers needed to develop programs that use
170 %description devel -l pl.UTF-8
171 Ten pakiet zawiera pliki nagłówkowe potrzebne do tworzenia programów
172 wykorzystujących Cepha.
174 %package -n python-ceph
175 Summary: Ceph Python 2 bindings
176 Summary(pl.UTF-8): Wiązania Pythona 2 do bibliotek Cepha
177 Group: Development/Languages/Python
178 Requires: %{name}-libs = %{version}-%{release}
180 %description -n python-ceph
181 Ceph Python 2 bindings.
183 %description -n python-ceph -l pl.UTF-8
184 Wiązania Pythona 2 do bibliotek Cepha.
186 %package -n python3-ceph
187 Summary: Ceph Python 3 bindings
188 Summary(pl.UTF-8): Wiązania Pythona 3 do bibliotek Cepha
189 Group: Development/Languages/Python
190 Requires: %{name}-libs = %{version}-%{release}
192 %description -n python3-ceph
193 Ceph Python 3 bindings.
195 %description -n python3-ceph -l pl.UTF-8
196 Wiązania Pythona 3 do bibliotek Cepha.
198 %package -n java-cephfs
199 Summary: CephFS Java bindings
200 Summary(pl.UTF-8): Wiązania Javy do biblioteki CephFS
201 Group: Libraries/Java
202 Requires: %{name}-libs = %{version}-%{release}
204 %description -n java-cephfs
205 CephFS Java bindings.
207 %description -n java-cephfs -l pl.UTF-8
208 Wiązania Javy do biblioteki CephFS.
211 Summary: Ceph FUSE-based client
212 Summary(pl.UTF-8): Klient Cepha oparty na FUSE
214 Requires: %{name} = %{version}-%{release}
217 FUSE based client for Ceph distributed network file system.
219 %description fuse -l pl.UTF-8
220 Oparty na FUSE klient rozproszonego sieciowego systemu plików Ceph.
223 Summary: rados REST gateway
224 Summary(pl.UTF-8): Bramka REST-owa rados
225 Group: Applications/System
226 #Requires: apache-mod_fcgid
229 radosgw is an S3 HTTP REST gateway for the RADOS object store. It is
230 implemented as a FastCGI module using libfcgi, and can be used in
231 conjunction with any FastCGI capable web server.
233 %description radosgw -l pl.UTF-8
234 radosgw to REST-owa bramka HTTP S3 do przechowalni obiektów RADOS.
235 Jest zaimplementowana jako moduł FastCGI wykorzystujący libfcgi i może
236 być używana w połączeniu z dowolnym serwerem WWW obsługującym FastCGI.
238 %package resource-agents
239 Summary: OCF Resource Agents for Ceph processes
240 Summary(pl.UTF-8): Agenci OCF do monitorowania procesów Cepha
241 Group: Applications/System
242 Requires: %{name} = %{version}-%{release}
243 Requires: resource-agents
245 %description resource-agents
246 OCF Resource Agents for Ceph processes.
248 %description resource-agents -l pl.UTF-8
249 Agenci OCF do monitorowania procesów Cepha.
251 %package -n fio-ceph-objectstore
252 Summary: FIO engine module for Ceph ObjectStore
253 Summary(pl.UTF-8): Moduł silnika FIO do używania Ceph ObjectStore
255 Requires: %{name}-libs = %{version}-%{release}
257 %requires_ge_to fio fio-devel
260 %description -n fio-ceph-objectstore
261 This FIO engine allows you to mount and use a ceph object store
262 directly, without having to build a ceph cluster or start any daemons.
264 %description -n fio-ceph-objectstore -l pl.UTF-8
265 Ten silnik FIO pozwala na bezpośrednie montowanie i używanie
266 przestrzeni obiektów ceph, bez potrzeby budowania klastra ceph czy
267 uruchamiania demonów.
282 %{__sed} -i -e '1s,/usr/bin/env python$,%{__python},' \
283 src/{ceph-create-keys,ceph-rest-api,mount.fuse.ceph} \
284 src/brag/client/ceph-brag \
285 src/ceph-disk/ceph_disk/main.py
291 -DALLOCATOR="%{?with_tcmalloc:tcmalloc}%{!?with_tcmalloc:libc}" \
292 -DFIO_INCLUDE_DIR=/usr/include/fio \
293 -DPYTHON=%{__python} \
294 -DSPHINX_BUILD=/usr/bin/sphinx-build-2 \
295 %{!?with_babeltrace:-DWITH_BABELTRACE=OFF} \
296 %{?with_java:-DWITH_CEPHFS_JAVA=ON} \
297 %{?with_dpdk:-DWITH_DPDK=ON} \
298 %{?with_fio:-DWITH_FIO=ON} \
299 %{!?with_lttng:-DWITH_LTTNG=OFF} \
301 %{?with_cryptopp:-DWITH_NSS=OFF} \
303 %{?with_pmem:-DWITH_PMEM=ON} \
304 %{?with_fcgi:-DWITH_RADOSGW_FCGI_FRONTEND=ON} \
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}
315 rm -rf $RPM_BUILD_ROOT
316 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} \
317 $RPM_BUILD_ROOT%{_sysconfdir}/{ceph,bash_completion.d,logrotate.d,rc.d,sysconfig} \
318 $RPM_BUILD_ROOT{%{systemdunitdir},%{systemdtmpfilesdir},/etc/systemd/system/ceph.target.wants,/sbin}
320 %{__make} -C build install \
321 DESTDIR=$RPM_BUILD_ROOT
323 # sanitize paths; no config options for cmake
324 %{__mv} $RPM_BUILD_ROOT/etc/init.d $RPM_BUILD_ROOT/etc/rc.d
325 %{__mv} $RPM_BUILD_ROOT%{_libexecdir}/systemd/system/* $RPM_BUILD_ROOT%{systemdunitdir}
326 %{__mv} $RPM_BUILD_ROOT%{_sbindir}/mount.* $RPM_BUILD_ROOT/sbin
328 cp -p src/logrotate.conf $RPM_BUILD_ROOT%{_sysconfdir}/logrotate.d/ceph
330 cp -p %{SOURCE1} $RPM_BUILD_ROOT/etc/sysconfig/ceph
331 install %{SOURCE2} $RPM_BUILD_ROOT%{_bindir}
332 ln -sf /dev/null $RPM_BUILD_ROOT%{systemdunitdir}/ceph.service
333 cp -p %{SOURCE3} $RPM_BUILD_ROOT%{systemdtmpfilesdir}/ceph.conf
335 %py_comp $RPM_BUILD_ROOT%{py_sitescriptdir}
336 %py_ocomp $RPM_BUILD_ROOT%{py_sitescriptdir}
339 %py3_comp $RPM_BUILD_ROOT%{py3_sitescriptdir}
340 %py3_ocomp $RPM_BUILD_ROOT%{py3_sitescriptdir}
343 %{__rm} $RPM_BUILD_ROOT%{_bindir}/ceph_test_*
345 %{__rm} $RPM_BUILD_ROOT%{_docdir}/sample.ceph.conf
347 %{__rm} $RPM_BUILD_ROOT%{_libdir}/ceph/mgr/{.gitignore,dashboard/HACKING.rst,dashboard/static/AdminLTE-2.3.7/{.gitignore,.jshintrc,README.md}}
350 rm -rf $RPM_BUILD_ROOT
353 /sbin/chkconfig --add ceph
354 %service ceph restart
356 # actual services are to be enabled on cluster deployment
357 %systemd_post %{name}.target
360 if [ "$1" = "0" ] ; then
362 /sbin/chkconfig --del ceph
364 %systemd_preun %{name}.target
369 %post libs -p /sbin/ldconfig
370 %postun libs -p /sbin/ldconfig
372 %post -n java-cephfs -p /sbin/ldconfig
373 %postun -n java-cephfs -p /sbin/ldconfig
376 %defattr(644,root,root,755)
377 # COPYING specifies licenses of individual parts
378 %doc AUTHORS COPYING PendingReleaseNotes README.md src/sample.ceph.conf doc/{release-notes,releases}.rst
379 %attr(754,root,root) /etc/rc.d/init.d/ceph
380 %config(noreplace) /etc/sysconfig/ceph
381 %dir /etc/systemd/system/ceph.target.wants
382 %{systemdunitdir}/ceph.service
383 %{systemdunitdir}/ceph.target
384 %{systemdunitdir}/ceph-disk@.service
385 %{systemdunitdir}/ceph-fuse.target
386 %{systemdunitdir}/ceph-fuse@.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-brag
405 %attr(755,root,root) %{_bindir}/ceph-client-debug
406 %attr(755,root,root) %{_bindir}/ceph-clsinfo
407 %attr(755,root,root) %{_bindir}/ceph-conf
408 %attr(755,root,root) %{_bindir}/ceph-coverage
409 %attr(755,root,root) %{_bindir}/ceph-crush-location
410 %attr(755,root,root) %{_bindir}/ceph-debugpack
411 %attr(755,root,root) %{_bindir}/ceph-dencoder
412 %attr(755,root,root) %{_bindir}/ceph-detect-init
413 %attr(755,root,root) %{_bindir}/ceph-kvstore-tool
414 %attr(755,root,root) %{_bindir}/ceph-mds
415 %attr(755,root,root) %{_bindir}/ceph-mgr
416 %attr(755,root,root) %{_bindir}/ceph-mon
417 %attr(755,root,root) %{_bindir}/ceph-monstore-tool
418 %attr(755,root,root) %{_bindir}/ceph-objectstore-tool
419 %attr(755,root,root) %{_bindir}/ceph-osd
420 %attr(755,root,root) %{_bindir}/ceph-osdomap-tool
421 %attr(755,root,root) %{_bindir}/ceph-post-file
422 %attr(755,root,root) %{_bindir}/ceph-rbdnamer
423 %attr(755,root,root) %{_bindir}/ceph-rest-api
424 %attr(755,root,root) %{_bindir}/ceph-run
425 %attr(755,root,root) %{_bindir}/ceph-syn
426 %attr(755,root,root) %{_bindir}/ceph_bench_log
427 %attr(755,root,root) %{_bindir}/ceph_erasure_code
428 %attr(755,root,root) %{_bindir}/ceph_erasure_code_benchmark
429 %attr(755,root,root) %{_bindir}/ceph_kvstorebench
430 %attr(755,root,root) %{_bindir}/ceph_multi_stress_watch
431 %attr(755,root,root) %{_bindir}/ceph_objectstore_bench
432 %attr(755,root,root) %{_bindir}/ceph_omapbench
433 %attr(755,root,root) %{_bindir}/ceph_perf_local
434 %attr(755,root,root) %{_bindir}/ceph_perf_msgr_client
435 %attr(755,root,root) %{_bindir}/ceph_perf_msgr_server
436 %attr(755,root,root) %{_bindir}/ceph_perf_objectstore
437 %attr(755,root,root) %{_bindir}/ceph_psim
438 %attr(755,root,root) %{_bindir}/ceph_radosacl
439 %attr(755,root,root) %{_bindir}/ceph_rgw_jsonparser
440 %attr(755,root,root) %{_bindir}/ceph_rgw_multiparser
441 %attr(755,root,root) %{_bindir}/ceph_scratchtool
442 %attr(755,root,root) %{_bindir}/ceph_scratchtoolpp
443 %attr(755,root,root) %{_bindir}/ceph_smalliobench
444 %attr(755,root,root) %{_bindir}/ceph_smalliobenchdumb
445 %attr(755,root,root) %{_bindir}/ceph_smalliobenchfs
446 %attr(755,root,root) %{_bindir}/ceph_smalliobenchrbd
447 %attr(755,root,root) %{_bindir}/ceph_tpbench
448 %attr(755,root,root) %{_bindir}/ceph_xattr_bench
449 %attr(755,root,root) %{_bindir}/cephctl
450 %attr(755,root,root) %{_bindir}/cephfs-data-scan
451 %attr(755,root,root) %{_bindir}/cephfs-journal-tool
452 %attr(755,root,root) %{_bindir}/cephfs-table-tool
453 %attr(755,root,root) %{_bindir}/crushtool
454 %attr(755,root,root) %{_bindir}/librados-config
455 %attr(755,root,root) %{_bindir}/monmaptool
456 %attr(755,root,root) %{_bindir}/osdmaptool
457 %attr(755,root,root) %{_bindir}/rados
458 %attr(755,root,root) %{_bindir}/rbd
459 %attr(755,root,root) %{_bindir}/rbd-fuse
460 %attr(755,root,root) %{_bindir}/rbd-mirror
461 %attr(755,root,root) %{_bindir}/rbd-nbd
462 %attr(755,root,root) %{_bindir}/rbd-replay
463 %attr(755,root,root) %{_bindir}/rbd-replay-many
464 %attr(755,root,root) %{_bindir}/rbd-replay-prep
465 %attr(755,root,root) %{_bindir}/rbdmap
466 %attr(755,root,root) %{_sbindir}/ceph-create-keys
467 %attr(755,root,root) %{_sbindir}/ceph-disk
468 %attr(755,root,root) %{_sbindir}/ceph-volume
469 %attr(755,root,root) %{_sbindir}/ceph-volume-systemd
470 %attr(755,root,root) /sbin/mount.ceph
471 %attr(755,root,root) /sbin/mount.fuse.ceph
472 %if "%{_libexecdir}" != "%{_libdir}"
473 %dir %{_libexecdir}/ceph
475 %attr(755,root,root) %{_libexecdir}/ceph/ceph-monstore-update-crush.sh
476 %attr(755,root,root) %{_libexecdir}/ceph/ceph-osd-prestart.sh
477 %{_libdir}/ceph/ceph_common.sh
479 %dir %{_libdir}/ceph/compressor
480 %attr(755,root,root) %{_libdir}/ceph/compressor/libceph_lz4.so*
481 %attr(755,root,root) %{_libdir}/ceph/compressor/libceph_snappy.so*
482 %attr(755,root,root) %{_libdir}/ceph/compressor/libceph_zlib.so*
483 %attr(755,root,root) %{_libdir}/ceph/compressor/libceph_zstd.so*
484 %dir %{_libdir}/ceph/erasure-code
486 %attr(755,root,root) %{_libdir}/ceph/erasure-code/libec_isa.so*
488 %attr(755,root,root) %{_libdir}/ceph/erasure-code/libec_jerasure.so*
489 %attr(755,root,root) %{_libdir}/ceph/erasure-code/libec_jerasure_generic.so*
491 %attr(755,root,root) %{_libdir}/ceph/erasure-code/libec_jerasure_neon.so*
493 %ifarch %{ix86} %{x8664} x32
494 %attr(755,root,root) %{_libdir}/ceph/erasure-code/libec_jerasure_sse3.so*
495 %attr(755,root,root) %{_libdir}/ceph/erasure-code/libec_jerasure_sse4.so*
497 %attr(755,root,root) %{_libdir}/ceph/erasure-code/libec_lrc.so*
498 %attr(755,root,root) %{_libdir}/ceph/erasure-code/libec_shec.so*
499 %attr(755,root,root) %{_libdir}/ceph/erasure-code/libec_shec_generic.so*
500 %ifarch %{ix86} %{x8664} x32
501 %attr(755,root,root) %{_libdir}/ceph/erasure-code/libec_shec_sse3.so*
502 %attr(755,root,root) %{_libdir}/ceph/erasure-code/libec_shec_sse4.so*
504 %dir %{_libdir}/rados-classes
505 %attr(755,root,root) %{_libdir}/rados-classes/libcls_cephfs.so*
506 %attr(755,root,root) %{_libdir}/rados-classes/libcls_hello.so*
507 %attr(755,root,root) %{_libdir}/rados-classes/libcls_journal.so*
508 %attr(755,root,root) %{_libdir}/rados-classes/libcls_kvs.so*
509 %attr(755,root,root) %{_libdir}/rados-classes/libcls_lock.so*
510 %attr(755,root,root) %{_libdir}/rados-classes/libcls_log.so*
511 %attr(755,root,root) %{_libdir}/rados-classes/libcls_lua.so*
512 %attr(755,root,root) %{_libdir}/rados-classes/libcls_numops.so*
513 %attr(755,root,root) %{_libdir}/rados-classes/libcls_rbd.so*
514 %attr(755,root,root) %{_libdir}/rados-classes/libcls_refcount.so*
515 %attr(755,root,root) %{_libdir}/rados-classes/libcls_replica_log.so*
516 %attr(755,root,root) %{_libdir}/rados-classes/libcls_rgw.so*
517 %attr(755,root,root) %{_libdir}/rados-classes/libcls_sdk.so*
518 %attr(755,root,root) %{_libdir}/rados-classes/libcls_statelog.so*
519 %attr(755,root,root) %{_libdir}/rados-classes/libcls_timeindex.so*
520 %attr(755,root,root) %{_libdir}/rados-classes/libcls_user.so*
521 %attr(755,root,root) %{_libdir}/rados-classes/libcls_version.so*
523 %config(noreplace) /etc/logrotate.d/ceph
524 %config(noreplace) %{_sysconfdir}/bash_completion.d/rados
525 %config(noreplace) %{_sysconfdir}/bash_completion.d/ceph
526 %config(noreplace) %{_sysconfdir}/bash_completion.d/rbd
527 %{_mandir}/man8/ceph.8*
528 %{_mandir}/man8/ceph-authtool.8*
529 %{_mandir}/man8/ceph-bluestore-tool.8*
530 %{_mandir}/man8/ceph-clsinfo.8*
531 %{_mandir}/man8/ceph-conf.8*
532 %{_mandir}/man8/ceph-create-keys.8*
533 %{_mandir}/man8/ceph-debugpack.8*
534 %{_mandir}/man8/ceph-dencoder.8*
535 %{_mandir}/man8/ceph-deploy.8*
536 %{_mandir}/man8/ceph-detect-init.8*
537 %{_mandir}/man8/ceph-disk.8*
538 %{_mandir}/man8/ceph-kvstore-tool.8*
539 %{_mandir}/man8/ceph-mds.8*
540 %{_mandir}/man8/ceph-mon.8*
541 %{_mandir}/man8/ceph-osd.8*
542 %{_mandir}/man8/ceph-post-file.8*
543 %{_mandir}/man8/ceph-rbdnamer.8*
544 %{_mandir}/man8/ceph-rest-api.8*
545 %{_mandir}/man8/ceph-run.8*
546 %{_mandir}/man8/ceph-syn.8*
547 %{_mandir}/man8/ceph-volume.8*
548 %{_mandir}/man8/ceph-volume-systemd.8*
549 %{_mandir}/man8/crushtool.8*
550 %{_mandir}/man8/librados-config.8*
551 %{_mandir}/man8/monmaptool.8*
552 %{_mandir}/man8/mount.ceph.8*
553 %{_mandir}/man8/osdmaptool.8*
554 %{_mandir}/man8/rados.8*
555 %{_mandir}/man8/rbd.8*
556 %{_mandir}/man8/rbd-fuse.8*
557 %{_mandir}/man8/rbd-mirror.8*
558 %{_mandir}/man8/rbd-nbd.8*
559 %{_mandir}/man8/rbd-replay.8*
560 %{_mandir}/man8/rbd-replay-many.8*
561 %{_mandir}/man8/rbd-replay-prep.8*
562 %{_mandir}/man8/rbdmap.8*
564 %dir %{_localstatedir}/lib/ceph
565 %dir %{_localstatedir}/lib/ceph/bootstrap-mds
566 %dir %{_localstatedir}/lib/ceph/bootstrap-mgr
567 %dir %{_localstatedir}/lib/ceph/bootstrap-osd
568 %dir %{_localstatedir}/lib/ceph/bootstrap-rbd
569 %dir %{_localstatedir}/lib/ceph/bootstrap-rgw
570 %dir %{_localstatedir}/lib/ceph/mds
571 %dir %{_localstatedir}/lib/ceph/mgr
572 %dir %{_localstatedir}/lib/ceph/mon
573 %dir %{_localstatedir}/lib/ceph/osd
574 %dir %{_localstatedir}/lib/ceph/tmp
575 %dir %{_localstatedir}/log/ceph
576 %dir %{_localstatedir}/run/ceph
579 %defattr(644,root,root,755)
580 %attr(755,root,root) %{_libdir}/libcephfs.so.*.*.*
581 %attr(755,root,root) %ghost %{_libdir}/libcephfs.so.2
582 %attr(755,root,root) %{_libdir}/libos_tp.so.*.*.*
583 %attr(755,root,root) %ghost %{_libdir}/libos_tp.so.1
584 %attr(755,root,root) %{_libdir}/libosd_tp.so.*.*.*
585 %attr(755,root,root) %ghost %{_libdir}/libosd_tp.so.1
586 %attr(755,root,root) %{_libdir}/librados.so.*.*.*
587 %attr(755,root,root) %ghost %{_libdir}/librados.so.2
588 %attr(755,root,root) %{_libdir}/librados_tp.so.*.*.*
589 %attr(755,root,root) %ghost %{_libdir}/librados_tp.so.2
590 %attr(755,root,root) %{_libdir}/libradosstriper.so.*.*.*
591 %attr(755,root,root) %ghost %{_libdir}/libradosstriper.so.1
592 %attr(755,root,root) %{_libdir}/librbd.so.*.*.*
593 %attr(755,root,root) %ghost %{_libdir}/librbd.so.1
594 %attr(755,root,root) %{_libdir}/librbd_tp.so.*.*.*
595 %attr(755,root,root) %ghost %{_libdir}/librbd_tp.so.1
596 %attr(755,root,root) %{_libdir}/librgw.so.*.*.*
597 %attr(755,root,root) %ghost %{_libdir}/librgw.so.2
599 %attr(755,root,root) %{_libdir}/ceph/libceph-common.so.0
602 %defattr(644,root,root,755)
603 %attr(755,root,root) %{_libdir}/libcephfs.so
604 %attr(755,root,root) %{_libdir}/libos_tp.so
605 %attr(755,root,root) %{_libdir}/libosd_tp.so
606 %attr(755,root,root) %{_libdir}/librados.so
607 %attr(755,root,root) %{_libdir}/librados_tp.so
608 %attr(755,root,root) %{_libdir}/libradosstriper.so
609 %attr(755,root,root) %{_libdir}/librbd.so
610 %attr(755,root,root) %{_libdir}/librbd_tp.so
611 %attr(755,root,root) %{_libdir}/librgw.so
612 %attr(755,root,root) %{_libdir}/ceph/libceph-common.so
613 %{_includedir}/cephfs
615 %{_includedir}/radosstriper
618 %files -n python-ceph
619 %defattr(644,root,root,755)
620 %attr(755,root,root) %{py_sitedir}/cephfs.so
621 %attr(755,root,root) %{py_sitedir}/rados.so
622 %attr(755,root,root) %{py_sitedir}/rbd.so
623 %attr(755,root,root) %{py_sitedir}/rgw.so
624 %{py_sitedir}/ceph_detect_init
625 %{py_sitedir}/ceph_detect_init-1.0.1-py*.egg-info
626 %{py_sitedir}/ceph_disk
627 %{py_sitedir}/ceph_disk-1.0.0-py*.egg-info
628 %{py_sitedir}/ceph_volume
629 %{py_sitedir}/ceph_volume-1.0.0-py*.egg-info
630 %{py_sitedir}/cephfs-2.0.0-py*.egg-info
631 %{py_sitedir}/rados-2.0.0-py*.egg-info
632 %{py_sitedir}/rbd-2.0.0-py*.egg-info
633 %{py_sitedir}/rgw-2.0.0-py*.egg-info
634 %{py_sitescriptdir}/ceph_argparse.py[co]
635 %{py_sitescriptdir}/ceph_daemon.py[co]
636 %{py_sitescriptdir}/ceph_rest_api.py[co]
637 %{py_sitescriptdir}/ceph_volume_client.py[co]
639 %files -n python3-ceph
640 %defattr(644,root,root,755)
641 %attr(755,root,root) %{py3_sitedir}/cephfs.cpython-*.so
642 %attr(755,root,root) %{py3_sitedir}/rados.cpython-*.so
643 %attr(755,root,root) %{py3_sitedir}/rbd.cpython-*.so
644 %attr(755,root,root) %{py3_sitedir}/rgw.cpython-*.so
645 %{py3_sitedir}/cephfs-2.0.0-py*.egg-info
646 %{py3_sitedir}/rados-2.0.0-py*.egg-info
647 %{py3_sitedir}/rbd-2.0.0-py*.egg-info
648 %{py3_sitedir}/rgw-2.0.0-py*.egg-info
649 %{py3_sitescriptdir}/ceph_argparse.py
650 %{py3_sitescriptdir}/ceph_daemon.py
651 %{py3_sitescriptdir}/ceph_volume_client.py
652 %{py3_sitescriptdir}/__pycache__/ceph_argparse.cpython-*.py[co]
653 %{py3_sitescriptdir}/__pycache__/ceph_daemon.cpython-*.py[co]
654 %{py3_sitescriptdir}/__pycache__/ceph_volume_client.cpython-*.py[co]
657 %files -n java-cephfs
658 %defattr(644,root,root,755)
659 %attr(755,root,root) %{_libdir}/libcephfs_jni.so.*.*.*
660 %attr(755,root,root) %ghost %{_libdir}/libcephfs_jni.so.1
661 %attr(755,root,root) %{_libdir}/libcephfs_jni.so
662 %{_javadir}/libcephfs.jar
663 %{_javadir}/libcephfs-test.jar
667 %defattr(644,root,root,755)
668 %attr(755,root,root) %{_bindir}/ceph-fuse
669 %{_mandir}/man8/ceph-fuse.8*
672 %defattr(644,root,root,755)
673 %attr(755,root,root) %{_bindir}/radosgw
674 %attr(755,root,root) %{_bindir}/radosgw-admin
675 %attr(755,root,root) %{_bindir}/radosgw-es
676 %attr(755,root,root) %{_bindir}/radosgw-object-expirer
677 %attr(755,root,root) %{_bindir}/radosgw-token
678 %{systemdunitdir}/ceph-radosgw.target
679 %{systemdunitdir}/ceph-radosgw@.service
680 %{_sysconfdir}/bash_completion.d/radosgw-admin
681 %dir %{_localstatedir}/lib/ceph/radosgw
682 %{_mandir}/man8/radosgw.8*
683 %{_mandir}/man8/radosgw-admin.8*
685 %files resource-agents
686 %defattr(644,root,root,755)
687 %dir %{_prefix}/lib/ocf/resource.d/ceph
688 %attr(755,root,root) %{_prefix}/lib/ocf/resource.d/ceph/rbd
691 %files -n fio-ceph-objectstore
692 %defattr(644,root,root,755)
693 %doc src/test/fio/{README.md,ceph-*.conf,ceph-*.fio}
694 %attr(755,root,root) %{_libdir}/libfio_ceph_objectstore.so