]>
Commit | Line | Data |
---|---|---|
1 | # TODO: | |
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 | |
5 | # | |
6 | # Note on versioning: http://docs.ceph.com/docs/master/releases/ | |
7 | # | |
8 | # Conditional build: | |
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_without fcgi # RADOS Gateway FCGI frontend | |
14 | %bcond_without 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_without 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 | ||
23 | %ifarch x32 | |
24 | %undefine with_tcmalloc | |
25 | %endif | |
26 | %ifnarch %{x8664} aarch64 | |
27 | %undefine with_pmem | |
28 | %endif | |
29 | %if %{without cryptopp} && %{with dpdk} | |
30 | %error DPDK requires cryptopp | |
31 | %endif | |
32 | # | |
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 | |
35 | Name: ceph | |
36 | Version: 12.2.13 | |
37 | Release: 4 | |
38 | License: LGPL v2.1 (libraries), GPL v2 (some programs) | |
39 | Group: Base | |
40 | Source0: http://download.ceph.com/tarballs/%{name}-%{version}.tar.gz | |
41 | # Source0-md5: 38bd01cf8224c9ca081298e19ab6e5a1 | |
42 | Source1: ceph.sysconfig | |
43 | Source3: ceph.tmpfiles | |
44 | Patch0: %{name}-init-fix.patch | |
45 | Patch2: boost.patch | |
46 | Patch3: %{name}-python.patch | |
47 | Patch4: %{name}-types.patch | |
48 | Patch5: %{name}-tcmalloc.patch | |
49 | Patch6: %{name}-rocksdb.patch | |
50 | Patch7: %{name}-fcgi.patch | |
51 | Patch8: %{name}-fio.patch | |
52 | Patch9: %{name}-zfs.patch | |
53 | Patch10: %{name}-includes.patch | |
54 | URL: https://ceph.io/ | |
55 | %{?with_accelio:BuildRequires: accelio-devel} | |
56 | %{?with_babeltrace:BuildRequires: babeltrace-devel} | |
57 | BuildRequires: boost-devel >= 1.66 | |
58 | BuildRequires: boost-python-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 | |
64 | %endif | |
65 | BuildRequires: expat-devel >= 1.95 | |
66 | %{?with_fcgi:BuildRequires: fcgi-devel} | |
67 | %{?with_fio:BuildRequires: fio-devel} | |
68 | BuildRequires: gdbm-devel | |
69 | %if %{with java} | |
70 | BuildRequires: jdk | |
71 | %endif | |
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 | |
79 | # +RDMA? | |
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 | BuildRequires: python3-Cython | |
101 | # upstream uses 3.0.0, rocksdb patch adjusts for 5.6.0 API change | |
102 | %{?with_system_rocksdb:BuildRequires: rocksdb-devel >= 5.6.0} | |
103 | BuildRequires: rpmbuild(macros) >= 1.671 | |
104 | BuildRequires: sed >= 4.0 | |
105 | BuildRequires: snappy-devel | |
106 | BuildRequires: sphinx-pdg-2 >= 1.0 | |
107 | BuildRequires: udev-devel | |
108 | #BuildRequires: virtualenv for tests | |
109 | %{?with_dpdk:BuildRequires: xorg-lib-libpciaccess-devel} | |
110 | BuildRequires: xfsprogs-devel | |
111 | %ifarch %{x8664} | |
112 | BuildRequires: yasm | |
113 | %endif | |
114 | # zfs patch updates to 0.8.0 API | |
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: python-%{name} = %{version}-%{release} | |
121 | Requires: systemd-units >= 38 | |
122 | Obsoletes: gcephtool | |
123 | Obsoletes: hadoop-cephfs | |
124 | BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n) | |
125 | ||
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.* | |
127 | ||
128 | %description | |
129 | Ceph is a distributed network file system designed to provide | |
130 | excellent performance, reliability, and scalability. | |
131 | ||
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. | |
135 | ||
136 | %package libs | |
137 | Summary: Ceph shared libraries | |
138 | Summary(pl.UTF-8): Biblioteki współdzielone Cepha | |
139 | Group: Libraries | |
140 | ||
141 | %description libs | |
142 | Ceph shared libraries. | |
143 | ||
144 | %description libs -l pl.UTF-8 | |
145 | Biblioteki współdzielone Cepha. | |
146 | ||
147 | %package devel | |
148 | Summary: Ceph header files | |
149 | Summary(pl.UTF-8): Pliki nagłówkowe bibliotek Cepha | |
150 | License: LGPL v2.1 | |
151 | Group: Development/Libraries | |
152 | Requires: %{name}-libs = %{version}-%{release} | |
153 | Requires: boost-devel >= 1.66 | |
154 | Requires: curl-devel | |
155 | Requires: expat-devel | |
156 | Requires: fcgi-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 | |
166 | ||
167 | %description devel | |
168 | This package contains the headers needed to develop programs that use | |
169 | Ceph. | |
170 | ||
171 | %description devel -l pl.UTF-8 | |
172 | Ten pakiet zawiera pliki nagłówkowe potrzebne do tworzenia programów | |
173 | wykorzystujących Cepha. | |
174 | ||
175 | %package -n python-ceph | |
176 | Summary: Ceph Python 2 bindings | |
177 | Summary(pl.UTF-8): Wiązania Pythona 2 do bibliotek Cepha | |
178 | Group: Development/Languages/Python | |
179 | Requires: %{name}-libs = %{version}-%{release} | |
180 | ||
181 | %description -n python-ceph | |
182 | Ceph Python 2 bindings. | |
183 | ||
184 | %description -n python-ceph -l pl.UTF-8 | |
185 | Wiązania Pythona 2 do bibliotek Cepha. | |
186 | ||
187 | %package -n python3-ceph | |
188 | Summary: Ceph Python 3 bindings | |
189 | Summary(pl.UTF-8): Wiązania Pythona 3 do bibliotek Cepha | |
190 | Group: Development/Languages/Python | |
191 | Requires: %{name}-libs = %{version}-%{release} | |
192 | ||
193 | %description -n python3-ceph | |
194 | Ceph Python 3 bindings. | |
195 | ||
196 | %description -n python3-ceph -l pl.UTF-8 | |
197 | Wiązania Pythona 3 do bibliotek Cepha. | |
198 | ||
199 | %package -n java-cephfs | |
200 | Summary: CephFS Java bindings | |
201 | Summary(pl.UTF-8): Wiązania Javy do biblioteki CephFS | |
202 | Group: Libraries/Java | |
203 | Requires: %{name}-libs = %{version}-%{release} | |
204 | ||
205 | %description -n java-cephfs | |
206 | CephFS Java bindings. | |
207 | ||
208 | %description -n java-cephfs -l pl.UTF-8 | |
209 | Wiązania Javy do biblioteki CephFS. | |
210 | ||
211 | %package fuse | |
212 | Summary: Ceph FUSE-based client | |
213 | Summary(pl.UTF-8): Klient Cepha oparty na FUSE | |
214 | Group: Base | |
215 | Requires: %{name} = %{version}-%{release} | |
216 | ||
217 | %description fuse | |
218 | FUSE based client for Ceph distributed network file system. | |
219 | ||
220 | %description fuse -l pl.UTF-8 | |
221 | Oparty na FUSE klient rozproszonego sieciowego systemu plików Ceph. | |
222 | ||
223 | %package radosgw | |
224 | Summary: rados REST gateway | |
225 | Summary(pl.UTF-8): Bramka REST-owa rados | |
226 | Group: Applications/System | |
227 | #Requires: apache-mod_fcgid | |
228 | ||
229 | %description radosgw | |
230 | radosgw is an S3 HTTP REST gateway for the RADOS object store. It is | |
231 | implemented as a FastCGI module using libfcgi, and can be used in | |
232 | conjunction with any FastCGI capable web server. | |
233 | ||
234 | %description radosgw -l pl.UTF-8 | |
235 | radosgw to REST-owa bramka HTTP S3 do przechowalni obiektów RADOS. | |
236 | Jest zaimplementowana jako moduł FastCGI wykorzystujący libfcgi i może | |
237 | być używana w połączeniu z dowolnym serwerem WWW obsługującym FastCGI. | |
238 | ||
239 | %package resource-agents | |
240 | Summary: OCF Resource Agents for Ceph processes | |
241 | Summary(pl.UTF-8): Agenci OCF do monitorowania procesów Cepha | |
242 | Group: Applications/System | |
243 | Requires: %{name} = %{version}-%{release} | |
244 | Requires: resource-agents | |
245 | ||
246 | %description resource-agents | |
247 | OCF Resource Agents for Ceph processes. | |
248 | ||
249 | %description resource-agents -l pl.UTF-8 | |
250 | Agenci OCF do monitorowania procesów Cepha. | |
251 | ||
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 | |
255 | Group: Libraries | |
256 | Requires: %{name}-libs = %{version}-%{release} | |
257 | %if %{with fio} | |
258 | %requires_ge_to fio fio-devel | |
259 | %endif | |
260 | ||
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. | |
264 | ||
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. | |
269 | ||
270 | %prep | |
271 | %setup -q | |
272 | %patch0 -p1 | |
273 | %patch2 -p0 | |
274 | %patch3 -p1 | |
275 | %patch4 -p1 | |
276 | %patch5 -p1 | |
277 | %patch6 -p1 | |
278 | %patch7 -p1 | |
279 | %patch8 -p1 | |
280 | %patch9 -p1 | |
281 | %patch10 -p1 | |
282 | ||
283 | %{__sed} -i -e '1s,/usr/bin/env python$,%{__python},' \ | |
284 | src/{ceph-create-keys,ceph-rest-api,mount.fuse.ceph} \ | |
285 | src/brag/client/ceph-brag \ | |
286 | src/ceph-disk/ceph_disk/main.py | |
287 | ||
288 | %build | |
289 | install -d build | |
290 | cd build | |
291 | %cmake .. \ | |
292 | -DALLOCATOR="%{?with_tcmalloc:tcmalloc}%{!?with_tcmalloc:libc}" \ | |
293 | -DFIO_INCLUDE_DIR=/usr/include/fio \ | |
294 | -DPYTHON=%{__python} \ | |
295 | -DSPHINX_BUILD=/usr/bin/sphinx-build-2 \ | |
296 | %{!?with_babeltrace:-DWITH_BABELTRACE=OFF} \ | |
297 | %{?with_java:-DWITH_CEPHFS_JAVA=ON} \ | |
298 | %{?with_dpdk:-DWITH_DPDK=ON} \ | |
299 | %{?with_fio:-DWITH_FIO=ON} \ | |
300 | %{!?with_lttng:-DWITH_LTTNG=OFF} \ | |
301 | -DWITH_LZ4=ON \ | |
302 | %{?with_cryptopp:-DWITH_NSS=OFF} \ | |
303 | -DWITH_OCF=ON \ | |
304 | %{?with_pmem:-DWITH_PMEM=ON} \ | |
305 | %{?with_fcgi:-DWITH_RADOSGW_FCGI_FRONTEND=ON} \ | |
306 | %{?with_spdk:-DWITH_SPDK=ON} \ | |
307 | -DWITH_SYSTEM_BOOST=ON \ | |
308 | %{?with_system_rocksdb:-DWITH_SYSTEM_ROCKSDB=ON} \ | |
309 | -DWITH_SYSTEMD=ON \ | |
310 | %{?with_accelio:-DWITH_XIO=ON} \ | |
311 | %{?with_zfs:-DWITH_ZFS=ON} \ | |
312 | -DWITH_REENTRANT_STRSIGNAL=ON | |
313 | ||
314 | %{__make} | |
315 | ||
316 | %install | |
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} | |
321 | ||
322 | %{__make} -C build install \ | |
323 | DESTDIR=$RPM_BUILD_ROOT | |
324 | ||
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 | |
329 | ||
330 | cp -p src/logrotate.conf $RPM_BUILD_ROOT%{_sysconfdir}/logrotate.d/ceph | |
331 | ||
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 | |
335 | ||
336 | %py_comp $RPM_BUILD_ROOT%{py_sitescriptdir} | |
337 | %py_ocomp $RPM_BUILD_ROOT%{py_sitescriptdir} | |
338 | %py_postclean | |
339 | ||
340 | %py3_comp $RPM_BUILD_ROOT%{py3_sitescriptdir} | |
341 | %py3_ocomp $RPM_BUILD_ROOT%{py3_sitescriptdir} | |
342 | ||
343 | # tests | |
344 | %{__rm} $RPM_BUILD_ROOT%{_bindir}/ceph_test_* | |
345 | # packaged as %doc | |
346 | %{__rm} $RPM_BUILD_ROOT%{_docdir}/sample.ceph.conf | |
347 | # cleanup | |
348 | %{__rm} $RPM_BUILD_ROOT%{_libdir}/ceph/mgr/{.gitignore,dashboard/HACKING.rst,dashboard/static/AdminLTE-2.3.7/{.gitignore,.jshintrc,README.md}} | |
349 | ||
350 | %clean | |
351 | rm -rf $RPM_BUILD_ROOT | |
352 | ||
353 | %post | |
354 | /sbin/chkconfig --add ceph | |
355 | %service ceph restart | |
356 | ||
357 | # actual services are to be enabled on cluster deployment | |
358 | %systemd_post %{name}.target | |
359 | ||
360 | %preun | |
361 | if [ "$1" = "0" ] ; then | |
362 | %service ceph stop | |
363 | /sbin/chkconfig --del ceph | |
364 | fi | |
365 | %systemd_preun %{name}.target | |
366 | ||
367 | %postun | |
368 | %systemd_reload | |
369 | ||
370 | %post libs -p /sbin/ldconfig | |
371 | %postun libs -p /sbin/ldconfig | |
372 | ||
373 | %post -n java-cephfs -p /sbin/ldconfig | |
374 | %postun -n java-cephfs -p /sbin/ldconfig | |
375 | ||
376 | %files | |
377 | %defattr(644,root,root,755) | |
378 | # COPYING specifies licenses of individual parts | |
379 | %doc AUTHORS COPYING PendingReleaseNotes README.md src/sample.ceph.conf doc/{release-notes,releases}.rst | |
380 | %attr(754,root,root) /etc/rc.d/init.d/ceph | |
381 | %config(noreplace) /etc/sysconfig/ceph | |
382 | %dir /etc/systemd/system/ceph.target.wants | |
383 | %{systemdunitdir}/ceph.service | |
384 | %{systemdunitdir}/ceph.target | |
385 | %{systemdunitdir}/ceph-disk@.service | |
386 | %{systemdunitdir}/ceph-fuse.target | |
387 | %{systemdunitdir}/ceph-fuse@.service | |
388 | %{systemdunitdir}/ceph-mds.target | |
389 | %{systemdunitdir}/ceph-mds@.service | |
390 | %{systemdunitdir}/ceph-mgr.target | |
391 | %{systemdunitdir}/ceph-mgr@.service | |
392 | %{systemdunitdir}/ceph-mon.target | |
393 | %{systemdunitdir}/ceph-mon@.service | |
394 | %{systemdunitdir}/ceph-osd.target | |
395 | %{systemdunitdir}/ceph-osd@.service | |
396 | %{systemdunitdir}/ceph-rbd-mirror.target | |
397 | %{systemdunitdir}/ceph-rbd-mirror@.service | |
398 | %{systemdunitdir}/ceph-volume@.service | |
399 | %{systemdunitdir}/rbdmap.service | |
400 | %{systemdtmpfilesdir}/ceph.conf | |
401 | %dir %{_sysconfdir}/ceph | |
402 | %attr(755,root,root) %{_bindir}/ceph | |
403 | %attr(755,root,root) %{_bindir}/ceph-authtool | |
404 | %attr(755,root,root) %{_bindir}/ceph-bluestore-tool | |
405 | %attr(755,root,root) %{_bindir}/ceph-brag | |
406 | %attr(755,root,root) %{_bindir}/ceph-client-debug | |
407 | %attr(755,root,root) %{_bindir}/ceph-clsinfo | |
408 | %attr(755,root,root) %{_bindir}/ceph-conf | |
409 | %attr(755,root,root) %{_bindir}/ceph-coverage | |
410 | %attr(755,root,root) %{_bindir}/ceph-crush-location | |
411 | %attr(755,root,root) %{_bindir}/ceph-debugpack | |
412 | %attr(755,root,root) %{_bindir}/ceph-dencoder | |
413 | %attr(755,root,root) %{_bindir}/ceph-detect-init | |
414 | %attr(755,root,root) %{_bindir}/ceph-kvstore-tool | |
415 | %attr(755,root,root) %{_bindir}/ceph-mds | |
416 | %attr(755,root,root) %{_bindir}/ceph-mgr | |
417 | %attr(755,root,root) %{_bindir}/ceph-mon | |
418 | %attr(755,root,root) %{_bindir}/ceph-monstore-tool | |
419 | %attr(755,root,root) %{_bindir}/ceph-objectstore-tool | |
420 | %attr(755,root,root) %{_bindir}/ceph-osd | |
421 | %attr(755,root,root) %{_bindir}/ceph-osdomap-tool | |
422 | %attr(755,root,root) %{_bindir}/ceph-post-file | |
423 | %attr(755,root,root) %{_bindir}/ceph-rbdnamer | |
424 | %attr(755,root,root) %{_bindir}/ceph-rest-api | |
425 | %attr(755,root,root) %{_bindir}/ceph-run | |
426 | %attr(755,root,root) %{_bindir}/ceph-syn | |
427 | %attr(755,root,root) %{_bindir}/ceph_bench_log | |
428 | %attr(755,root,root) %{_bindir}/ceph_erasure_code | |
429 | %attr(755,root,root) %{_bindir}/ceph_erasure_code_benchmark | |
430 | %attr(755,root,root) %{_bindir}/ceph_kvstorebench | |
431 | %attr(755,root,root) %{_bindir}/ceph_multi_stress_watch | |
432 | %attr(755,root,root) %{_bindir}/ceph_objectstore_bench | |
433 | %attr(755,root,root) %{_bindir}/ceph_omapbench | |
434 | %attr(755,root,root) %{_bindir}/ceph_perf_local | |
435 | %attr(755,root,root) %{_bindir}/ceph_perf_msgr_client | |
436 | %attr(755,root,root) %{_bindir}/ceph_perf_msgr_server | |
437 | %attr(755,root,root) %{_bindir}/ceph_perf_objectstore | |
438 | %attr(755,root,root) %{_bindir}/ceph_psim | |
439 | %attr(755,root,root) %{_bindir}/ceph_radosacl | |
440 | %attr(755,root,root) %{_bindir}/ceph_rgw_jsonparser | |
441 | %attr(755,root,root) %{_bindir}/ceph_rgw_multiparser | |
442 | %attr(755,root,root) %{_bindir}/ceph_scratchtool | |
443 | %attr(755,root,root) %{_bindir}/ceph_scratchtoolpp | |
444 | %attr(755,root,root) %{_bindir}/ceph_smalliobench | |
445 | %attr(755,root,root) %{_bindir}/ceph_smalliobenchdumb | |
446 | %attr(755,root,root) %{_bindir}/ceph_smalliobenchfs | |
447 | %attr(755,root,root) %{_bindir}/ceph_smalliobenchrbd | |
448 | %attr(755,root,root) %{_bindir}/ceph_tpbench | |
449 | %attr(755,root,root) %{_bindir}/ceph_xattr_bench | |
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 | |
474 | %endif | |
475 | %{_libexecdir}/ceph/ceph_common.sh | |
476 | %attr(755,root,root) %{_libexecdir}/ceph/ceph-osd-prestart.sh | |
477 | %attr(755,root,root) %{_libdir}/ceph/ceph-monstore-update-crush.sh | |
478 | %{_libdir}/ceph/mgr | |
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 | %ifarch %{x8664} | |
485 | %dir %{_libdir}/ceph/crypto | |
486 | %attr(755,root,root) %{_libdir}/ceph/crypto/libceph_crypto_isal.so* | |
487 | %endif | |
488 | %dir %{_libdir}/ceph/erasure-code | |
489 | %ifarch %{x8664} | |
490 | %attr(755,root,root) %{_libdir}/ceph/erasure-code/libec_isa.so* | |
491 | %endif | |
492 | %attr(755,root,root) %{_libdir}/ceph/erasure-code/libec_jerasure.so* | |
493 | %attr(755,root,root) %{_libdir}/ceph/erasure-code/libec_jerasure_generic.so* | |
494 | %ifarch %{arm} | |
495 | %attr(755,root,root) %{_libdir}/ceph/erasure-code/libec_jerasure_neon.so* | |
496 | %endif | |
497 | %ifarch %{ix86} %{x8664} x32 | |
498 | %attr(755,root,root) %{_libdir}/ceph/erasure-code/libec_jerasure_sse3.so* | |
499 | %attr(755,root,root) %{_libdir}/ceph/erasure-code/libec_jerasure_sse4.so* | |
500 | %endif | |
501 | %attr(755,root,root) %{_libdir}/ceph/erasure-code/libec_lrc.so* | |
502 | %attr(755,root,root) %{_libdir}/ceph/erasure-code/libec_shec.so* | |
503 | %attr(755,root,root) %{_libdir}/ceph/erasure-code/libec_shec_generic.so* | |
504 | %ifarch %{ix86} %{x8664} x32 | |
505 | %attr(755,root,root) %{_libdir}/ceph/erasure-code/libec_shec_sse3.so* | |
506 | %attr(755,root,root) %{_libdir}/ceph/erasure-code/libec_shec_sse4.so* | |
507 | %endif | |
508 | %dir %{_libdir}/rados-classes | |
509 | %attr(755,root,root) %{_libdir}/rados-classes/libcls_cephfs.so* | |
510 | %attr(755,root,root) %{_libdir}/rados-classes/libcls_hello.so* | |
511 | %attr(755,root,root) %{_libdir}/rados-classes/libcls_journal.so* | |
512 | %attr(755,root,root) %{_libdir}/rados-classes/libcls_kvs.so* | |
513 | %attr(755,root,root) %{_libdir}/rados-classes/libcls_lock.so* | |
514 | %attr(755,root,root) %{_libdir}/rados-classes/libcls_log.so* | |
515 | %attr(755,root,root) %{_libdir}/rados-classes/libcls_lua.so* | |
516 | %attr(755,root,root) %{_libdir}/rados-classes/libcls_numops.so* | |
517 | %attr(755,root,root) %{_libdir}/rados-classes/libcls_rbd.so* | |
518 | %attr(755,root,root) %{_libdir}/rados-classes/libcls_refcount.so* | |
519 | %attr(755,root,root) %{_libdir}/rados-classes/libcls_replica_log.so* | |
520 | %attr(755,root,root) %{_libdir}/rados-classes/libcls_rgw.so* | |
521 | %attr(755,root,root) %{_libdir}/rados-classes/libcls_sdk.so* | |
522 | %attr(755,root,root) %{_libdir}/rados-classes/libcls_statelog.so* | |
523 | %attr(755,root,root) %{_libdir}/rados-classes/libcls_timeindex.so* | |
524 | %attr(755,root,root) %{_libdir}/rados-classes/libcls_user.so* | |
525 | %attr(755,root,root) %{_libdir}/rados-classes/libcls_version.so* | |
526 | %{_datadir}/ceph | |
527 | %config(noreplace) /etc/logrotate.d/ceph | |
528 | %config(noreplace) %{_sysconfdir}/bash_completion.d/rados | |
529 | %config(noreplace) %{_sysconfdir}/bash_completion.d/ceph | |
530 | %config(noreplace) %{_sysconfdir}/bash_completion.d/rbd | |
531 | %{_mandir}/man8/ceph.8* | |
532 | %{_mandir}/man8/ceph-authtool.8* | |
533 | %{_mandir}/man8/ceph-bluestore-tool.8* | |
534 | %{_mandir}/man8/ceph-clsinfo.8* | |
535 | %{_mandir}/man8/ceph-conf.8* | |
536 | %{_mandir}/man8/ceph-create-keys.8* | |
537 | %{_mandir}/man8/ceph-debugpack.8* | |
538 | %{_mandir}/man8/ceph-dencoder.8* | |
539 | %{_mandir}/man8/ceph-deploy.8* | |
540 | %{_mandir}/man8/ceph-detect-init.8* | |
541 | %{_mandir}/man8/ceph-disk.8* | |
542 | %{_mandir}/man8/ceph-kvstore-tool.8* | |
543 | %{_mandir}/man8/ceph-mds.8* | |
544 | %{_mandir}/man8/ceph-mon.8* | |
545 | %{_mandir}/man8/ceph-osd.8* | |
546 | %{_mandir}/man8/ceph-post-file.8* | |
547 | %{_mandir}/man8/ceph-rbdnamer.8* | |
548 | %{_mandir}/man8/ceph-rest-api.8* | |
549 | %{_mandir}/man8/ceph-run.8* | |
550 | %{_mandir}/man8/ceph-syn.8* | |
551 | %{_mandir}/man8/ceph-volume.8* | |
552 | %{_mandir}/man8/ceph-volume-systemd.8* | |
553 | %{_mandir}/man8/crushtool.8* | |
554 | %{_mandir}/man8/librados-config.8* | |
555 | %{_mandir}/man8/monmaptool.8* | |
556 | %{_mandir}/man8/mount.ceph.8* | |
557 | %{_mandir}/man8/osdmaptool.8* | |
558 | %{_mandir}/man8/rados.8* | |
559 | %{_mandir}/man8/rbd.8* | |
560 | %{_mandir}/man8/rbd-fuse.8* | |
561 | %{_mandir}/man8/rbd-mirror.8* | |
562 | %{_mandir}/man8/rbd-nbd.8* | |
563 | %{_mandir}/man8/rbd-replay.8* | |
564 | %{_mandir}/man8/rbd-replay-many.8* | |
565 | %{_mandir}/man8/rbd-replay-prep.8* | |
566 | %{_mandir}/man8/rbdmap.8* | |
567 | ||
568 | %dir %{_localstatedir}/lib/ceph | |
569 | %dir %{_localstatedir}/lib/ceph/bootstrap-mds | |
570 | %dir %{_localstatedir}/lib/ceph/bootstrap-mgr | |
571 | %dir %{_localstatedir}/lib/ceph/bootstrap-osd | |
572 | %dir %{_localstatedir}/lib/ceph/bootstrap-rbd | |
573 | %dir %{_localstatedir}/lib/ceph/bootstrap-rgw | |
574 | %dir %{_localstatedir}/lib/ceph/mds | |
575 | %dir %{_localstatedir}/lib/ceph/mgr | |
576 | %dir %{_localstatedir}/lib/ceph/mon | |
577 | %dir %{_localstatedir}/lib/ceph/osd | |
578 | %dir %{_localstatedir}/lib/ceph/tmp | |
579 | %dir %{_localstatedir}/log/ceph | |
580 | %dir %{_localstatedir}/run/ceph | |
581 | ||
582 | %files libs | |
583 | %defattr(644,root,root,755) | |
584 | %attr(755,root,root) %{_libdir}/libcephfs.so.*.*.* | |
585 | %attr(755,root,root) %ghost %{_libdir}/libcephfs.so.2 | |
586 | %attr(755,root,root) %{_libdir}/libos_tp.so.*.*.* | |
587 | %attr(755,root,root) %ghost %{_libdir}/libos_tp.so.1 | |
588 | %attr(755,root,root) %{_libdir}/libosd_tp.so.*.*.* | |
589 | %attr(755,root,root) %ghost %{_libdir}/libosd_tp.so.1 | |
590 | %attr(755,root,root) %{_libdir}/librados.so.*.*.* | |
591 | %attr(755,root,root) %ghost %{_libdir}/librados.so.2 | |
592 | %attr(755,root,root) %{_libdir}/librados_tp.so.*.*.* | |
593 | %attr(755,root,root) %ghost %{_libdir}/librados_tp.so.2 | |
594 | %attr(755,root,root) %{_libdir}/libradosstriper.so.*.*.* | |
595 | %attr(755,root,root) %ghost %{_libdir}/libradosstriper.so.1 | |
596 | %attr(755,root,root) %{_libdir}/librbd.so.*.*.* | |
597 | %attr(755,root,root) %ghost %{_libdir}/librbd.so.1 | |
598 | %attr(755,root,root) %{_libdir}/librbd_tp.so.*.*.* | |
599 | %attr(755,root,root) %ghost %{_libdir}/librbd_tp.so.1 | |
600 | %attr(755,root,root) %{_libdir}/librgw.so.*.*.* | |
601 | %attr(755,root,root) %ghost %{_libdir}/librgw.so.2 | |
602 | %dir %{_libdir}/ceph | |
603 | %attr(755,root,root) %{_libdir}/ceph/libceph-common.so.0 | |
604 | ||
605 | %files devel | |
606 | %defattr(644,root,root,755) | |
607 | %attr(755,root,root) %{_libdir}/libcephfs.so | |
608 | %attr(755,root,root) %{_libdir}/libos_tp.so | |
609 | %attr(755,root,root) %{_libdir}/libosd_tp.so | |
610 | %attr(755,root,root) %{_libdir}/librados.so | |
611 | %attr(755,root,root) %{_libdir}/librados_tp.so | |
612 | %attr(755,root,root) %{_libdir}/libradosstriper.so | |
613 | %attr(755,root,root) %{_libdir}/librbd.so | |
614 | %attr(755,root,root) %{_libdir}/librbd_tp.so | |
615 | %attr(755,root,root) %{_libdir}/librgw.so | |
616 | %attr(755,root,root) %{_libdir}/ceph/libceph-common.so | |
617 | %{_includedir}/cephfs | |
618 | %{_includedir}/rados | |
619 | %{_includedir}/radosstriper | |
620 | %{_includedir}/rbd | |
621 | ||
622 | %files -n python-ceph | |
623 | %defattr(644,root,root,755) | |
624 | %attr(755,root,root) %{py_sitedir}/cephfs.so | |
625 | %attr(755,root,root) %{py_sitedir}/rados.so | |
626 | %attr(755,root,root) %{py_sitedir}/rbd.so | |
627 | %attr(755,root,root) %{py_sitedir}/rgw.so | |
628 | %{py_sitedir}/ceph_detect_init | |
629 | %{py_sitedir}/ceph_detect_init-1.0.1-py*.egg-info | |
630 | %{py_sitedir}/ceph_disk | |
631 | %{py_sitedir}/ceph_disk-1.0.0-py*.egg-info | |
632 | %{py_sitedir}/ceph_volume | |
633 | %{py_sitedir}/ceph_volume-1.0.0-py*.egg-info | |
634 | %{py_sitedir}/cephfs-2.0.0-py*.egg-info | |
635 | %{py_sitedir}/rados-2.0.0-py*.egg-info | |
636 | %{py_sitedir}/rbd-2.0.0-py*.egg-info | |
637 | %{py_sitedir}/rgw-2.0.0-py*.egg-info | |
638 | %{py_sitescriptdir}/ceph_argparse.py[co] | |
639 | %{py_sitescriptdir}/ceph_daemon.py[co] | |
640 | %{py_sitescriptdir}/ceph_rest_api.py[co] | |
641 | %{py_sitescriptdir}/ceph_volume_client.py[co] | |
642 | ||
643 | %files -n python3-ceph | |
644 | %defattr(644,root,root,755) | |
645 | %attr(755,root,root) %{py3_sitedir}/cephfs.cpython-*.so | |
646 | %attr(755,root,root) %{py3_sitedir}/rados.cpython-*.so | |
647 | %attr(755,root,root) %{py3_sitedir}/rbd.cpython-*.so | |
648 | %attr(755,root,root) %{py3_sitedir}/rgw.cpython-*.so | |
649 | %{py3_sitedir}/cephfs-2.0.0-py*.egg-info | |
650 | %{py3_sitedir}/rados-2.0.0-py*.egg-info | |
651 | %{py3_sitedir}/rbd-2.0.0-py*.egg-info | |
652 | %{py3_sitedir}/rgw-2.0.0-py*.egg-info | |
653 | %{py3_sitescriptdir}/ceph_argparse.py | |
654 | %{py3_sitescriptdir}/ceph_daemon.py | |
655 | %{py3_sitescriptdir}/ceph_volume_client.py | |
656 | %{py3_sitescriptdir}/__pycache__/ceph_argparse.cpython-*.py[co] | |
657 | %{py3_sitescriptdir}/__pycache__/ceph_daemon.cpython-*.py[co] | |
658 | %{py3_sitescriptdir}/__pycache__/ceph_volume_client.cpython-*.py[co] | |
659 | ||
660 | %if %{with java} | |
661 | %files -n java-cephfs | |
662 | %defattr(644,root,root,755) | |
663 | %attr(755,root,root) %{_libdir}/libcephfs_jni.so.*.*.* | |
664 | %attr(755,root,root) %ghost %{_libdir}/libcephfs_jni.so.1 | |
665 | %attr(755,root,root) %{_libdir}/libcephfs_jni.so | |
666 | %{_javadir}/libcephfs.jar | |
667 | %{_javadir}/libcephfs-test.jar | |
668 | %endif | |
669 | ||
670 | %files fuse | |
671 | %defattr(644,root,root,755) | |
672 | %attr(755,root,root) %{_bindir}/ceph-fuse | |
673 | %{_mandir}/man8/ceph-fuse.8* | |
674 | ||
675 | %files radosgw | |
676 | %defattr(644,root,root,755) | |
677 | %attr(755,root,root) %{_bindir}/radosgw | |
678 | %attr(755,root,root) %{_bindir}/radosgw-admin | |
679 | %attr(755,root,root) %{_bindir}/radosgw-es | |
680 | %attr(755,root,root) %{_bindir}/radosgw-object-expirer | |
681 | %attr(755,root,root) %{_bindir}/radosgw-token | |
682 | %{systemdunitdir}/ceph-radosgw.target | |
683 | %{systemdunitdir}/ceph-radosgw@.service | |
684 | %{_sysconfdir}/bash_completion.d/radosgw-admin | |
685 | %dir %{_localstatedir}/lib/ceph/radosgw | |
686 | %{_mandir}/man8/radosgw.8* | |
687 | %{_mandir}/man8/radosgw-admin.8* | |
688 | ||
689 | %files resource-agents | |
690 | %defattr(644,root,root,755) | |
691 | %dir %{_prefix}/lib/ocf/resource.d/ceph | |
692 | %attr(755,root,root) %{_prefix}/lib/ocf/resource.d/ceph/rbd | |
693 | ||
694 | %if %{with fio} | |
695 | %files -n fio-ceph-objectstore | |
696 | %defattr(644,root,root,755) | |
697 | %doc src/test/fio/{README.md,ceph-*.conf,ceph-*.fio} | |
698 | %attr(755,root,root) %{_libdir}/libfio_ceph_objectstore.so | |
699 | %endif |