]>
Commit | Line | Data |
---|---|---|
b6163d67 | 1 | # TODO: |
32e4d0ff | 2 | # - QATZIP? (WITH_QATZIP=ON, BR: QATzip-devel) |
682d6dd5 | 3 | # - brotli? (WITH_BROTLI=ON, uses internal brotli as downloaded subproject) |
6b8625f1 | 4 | # - seastar (WITH_SEASTAR=ON, BR: c-ares-devel >= 1.13.0) |
737284c4 | 5 | # - proper init scripts if non-systemd boot is to be supported |
bbcdc7ce JB |
6 | # (upstream scripts seem overcomplicated and hardly useful) |
7 | # - run as non-root user | |
f7926bf0 JB |
8 | # - build selinux policy (-DWITH_SELINUX=ON) |
9 | # - package sphinx docs (from doc/) | |
b6163d67 | 10 | # |
19c20e80 JR |
11 | # Note on versioning: http://docs.ceph.com/docs/master/releases/ |
12 | # | |
714b93ed | 13 | # Conditional build: |
7f577810 | 14 | %bcond_without java # Java binding |
f7926bf0 | 15 | %bcond_with angular # Angular-based mgr/dashboard frontend (built using npm, too outdated currently) |
32e4d0ff | 16 | %bcond_without bluefs # BlueFS library |
d8321c07 | 17 | %bcond_with dpdk # DPDK messaging |
737284c4 JB |
18 | # 15.2.x/16.2.x build fails with: |
19 | # src/rgw/rgw_fcgi_process.cc:92:53: error: 'class rgw::sal::RGWRadosStore' has no member named 'get_new_req_id' | |
d5cae1aa | 20 | %bcond_with fcgi # RADOS Gateway FCGI frontend |
737284c4 | 21 | %bcond_with fio # FIO engines support (16.x: downloads fio as internal subproject) |
682d6dd5 | 22 | %bcond_with kerberos # GSSAPI/KRB5 support |
1b11728e | 23 | %bcond_without pmem # PMDK (persistent memory) support |
32e4d0ff JB |
24 | %bcond_without qat # QAT driver |
25 | %bcond_without qatzip # QATZIP | |
682d6dd5 | 26 | %bcond_without rdma # RDMA transport support |
6d7dd22f | 27 | %bcond_with seastar # seastar components (64-bit pointers required) |
1b11728e JB |
28 | %bcond_with spdk # Ceph SPDK support (DPDK based) |
29 | %bcond_without system_rocksdb # system RocksDB storage support | |
32e4d0ff | 30 | %bcond_without zbd # ZBD bluestore backend |
737284c4 | 31 | # 15.2.x/16.2.x: "fallthrough" define from OpenZFS's spl breaks "[[fallthrough]]" in src/include/blobhash.h |
d5cae1aa | 32 | %bcond_with zfs # ZFS support [not ready for zfs 0.8.x] |
7f577810 JB |
33 | %bcond_without lttng # LTTng tracing |
34 | %bcond_without babeltrace # Babeltrace traces support | |
35 | %bcond_without tcmalloc # tcmalloc allocator | |
c37aec31 | 36 | %bcond_with tests # build tests |
6fce7056 JR |
37 | |
38 | %ifarch x32 | |
39 | %undefine with_tcmalloc | |
40 | %endif | |
1b11728e JB |
41 | %ifnarch %{x8664} aarch64 |
42 | %undefine with_pmem | |
43 | %endif | |
32e4d0ff JB |
44 | %ifnarch %{x8664} aarch64 mips64 ppc64 sparc64 s390x |
45 | %undefine with_seastar | |
46 | %endif | |
714b93ed | 47 | # |
2a1a6301 | 48 | Summary: User space components of the Ceph file system |
e5fc70df | 49 | Summary(pl.UTF-8): Działające w przestrzeni użytkownika elementy systemu plików Ceph |
2a1a6301 | 50 | Name: ceph |
dc8b799e | 51 | Version: 17.2.3 |
2b3ddb3f | 52 | Release: 1 |
9e1f65de | 53 | License: LGPL v2.1 (libraries), GPL v2 (some programs) |
2a1a6301 | 54 | Group: Base |
4447516f | 55 | Source0: http://download.ceph.com/tarballs/%{name}-%{version}.tar.gz |
dc8b799e | 56 | # Source0-md5: 96f10fa942ec0db4008993cddaec88ec |
b6163d67 | 57 | Source1: ceph.sysconfig |
bbcdc7ce | 58 | Source3: ceph.tmpfiles |
f8bb146f | 59 | Patch0: %{name}-python.patch |
737284c4 | 60 | Patch1: %{name}-fio.patch |
f8f6a16f JB |
61 | Patch2: %{name}-cmake-static.patch |
62 | Patch3: %{name}-arrow-pld.patch | |
f8bb146f | 63 | Patch4: no-virtualenvs.patch |
32e4d0ff | 64 | Patch5: %{name}-libdir.patch |
c8d4a223 | 65 | Patch6: types.patch |
bbe36688 JR |
66 | Patch7: use-provided-cpu-flag-values.patch |
67 | Patch8: ix86-no-asm.patch | |
68 | Patch9: long-int-time_t.patch | |
32e4d0ff | 69 | Patch10: %{name}-qat.patch |
682d6dd5 | 70 | Patch11: %{name}-liburing.patch |
cc053f74 JB |
71 | Patch12: %{name}-glibc.patch |
72 | Patch13: %{name}-libfmt.patch | |
e3919159 | 73 | URL: https://ceph.io/ |
32e4d0ff | 74 | %{?with_qatzip:BuildRequires: QATzip-devel} |
7f577810 | 75 | %{?with_babeltrace:BuildRequires: babeltrace-devel} |
682d6dd5 JB |
76 | BuildRequires: boost-devel >= 1.72 |
77 | BuildRequires: boost-python3-devel >= 1.72 | |
32e4d0ff | 78 | %{?with_seastar:BuildRequires: c-ares-devel >= 1.13.0} |
d5cae1aa | 79 | BuildRequires: cmake >= 3.22.2 |
32e4d0ff | 80 | %{?with_seastar:BuildRequires: cryptopp-devel >= 5.6.5} |
682d6dd5 | 81 | BuildRequires: cryptsetup-devel >= 2.0.5 |
2a1a6301 | 82 | BuildRequires: curl-devel |
cc053f74 JB |
83 | %if %{with dpdk} || %{with spdk} |
84 | # also seastar with dpdk support | |
1b11728e JB |
85 | BuildRequires: dpdk-devel |
86 | %endif | |
682d6dd5 | 87 | BuildRequires: doxygen |
714b93ed | 88 | BuildRequires: expat-devel >= 1.95 |
1b11728e | 89 | %{?with_fcgi:BuildRequires: fcgi-devel} |
682d6dd5 | 90 | %{?with_fio:BuildRequires: fio-devel >= 3.15} |
2a1a6301 | 91 | BuildRequires: gdbm-devel |
32e4d0ff | 92 | %{?with_seastar:BuildRequires: gnutls-devel >= 3.3.26} |
d8321c07 | 93 | BuildRequires: gperf |
682d6dd5 JB |
94 | %{?with_tcmalloc:BuildRequires: gperftools-devel >= 2.6.2} |
95 | %{?with_kerberos:BuildRequires: heimdal-devel} | |
32e4d0ff | 96 | %{?with_seastar:BuildRequires: hwloc-devel >= 1.11.2} |
7db8c214 | 97 | %if %{with java} |
4f42482b | 98 | BuildRequires: jdk |
b5d07312 | 99 | BuildRequires: jre-X11 |
4f42482b | 100 | %endif |
2a1a6301 | 101 | BuildRequires: keyutils-devel |
b44a3efd | 102 | BuildRequires: leveldb-devel >= 1.23-2 |
714b93ed | 103 | BuildRequires: libaio-devel |
2a1a6301 | 104 | BuildRequires: libatomic_ops |
548e0d3f | 105 | BuildRequires: libblkid-devel >= 2.17 |
682d6dd5 | 106 | BuildRequires: libcap-ng-devel |
714b93ed | 107 | BuildRequires: libedit-devel >= 2.11 |
682d6dd5 JB |
108 | BuildRequires: libfmt-devel >= 6.0.0 |
109 | BuildRequires: libfuse3-devel >= 3 | |
110 | %{?with_rdma:BuildRequires: libibverbs-devel} | |
111 | BuildRequires: libicu-devel >= 52.0 | |
2a1a6301 | 112 | BuildRequires: libltdl-devel |
682d6dd5 JB |
113 | BuildRequires: libnl-devel >= 3.2 |
114 | BuildRequires: librdkafka-devel >= 0.9.2 | |
115 | %{?with_rdma:BuildRequires: librdmacm-devel} | |
32e4d0ff | 116 | %{?with_seastar:BuildRequires: libsctp-devel} |
682d6dd5 JB |
117 | BuildRequires: libstdc++-devel >= 6:7 |
118 | %{?with_tcmalloc:BuildRequires: libtcmalloc-devel >= 2.6.2} | |
714b93ed | 119 | BuildRequires: libtool >= 2:1.5 |
682d6dd5 | 120 | BuildRequires: liburing-devel |
2a1a6301 | 121 | BuildRequires: libuuid-devel |
bbcdc7ce | 122 | BuildRequires: libxml2-devel >= 2.0 |
32e4d0ff | 123 | %{?with_zbd:BuildRequires: libzbd-devel} |
7f577810 | 124 | %{?with_lttng:BuildRequires: lttng-ust-devel} |
682d6dd5 | 125 | BuildRequires: lua-devel >= 5.3 |
32e4d0ff | 126 | BuildRequires: lz4-devel >= 1:1.7.3 |
682d6dd5 | 127 | BuildRequires: ncurses-devel |
f7926bf0 | 128 | %{?with_angular:BuildRequires: npm} |
d8321c07 JB |
129 | BuildRequires: nspr-devel >= 4 |
130 | BuildRequires: nss-devel >= 3 | |
32e4d0ff | 131 | %{?with_seastar:BuildRequires: numactl-devel} |
d5cae1aa | 132 | BuildRequires: oath-toolkit-devel |
bbcdc7ce | 133 | BuildRequires: openldap-devel |
682d6dd5 | 134 | BuildRequires: openssl-devel >= 1.1 |
e5fc70df | 135 | BuildRequires: perl-base |
2a1a6301 | 136 | BuildRequires: pkgconfig |
f8f6a16f | 137 | %{?with_pmem:BuildRequires: pmdk-devel >= 1.10.0} |
62624566 | 138 | BuildRequires: python3 >= 1:3.2 |
dc8b799e JB |
139 | BuildRequires: python3-Cython |
140 | BuildRequires: python3-PyYAML | |
62624566 | 141 | BuildRequires: python3-devel >= 1:3.2 |
682d6dd5 | 142 | %{?with_tests:BuildRequires: python3-tox >= 2.9.1} |
682d6dd5 | 143 | BuildRequires: rabbitmq-c-devel |
32e4d0ff | 144 | %{?with_seastar:BuildRequires: ragel >= 6.10} |
6b8625f1 | 145 | %{?with_system_rocksdb:BuildRequires: rocksdb-devel >= 5.14} |
bef2a0ad | 146 | BuildRequires: rpmbuild(macros) >= 1.671 |
32e4d0ff | 147 | %{?with_qat:BuildRequires: qatlib-devel} |
e3919159 | 148 | BuildRequires: sed >= 4.0 |
f965be58 | 149 | BuildRequires: snappy-devel |
2b3ddb3f | 150 | BuildRequires: sphinx-pdg >= 4.4.0 |
682d6dd5 | 151 | BuildRequires: sqlite3-devel >= 3 |
dc8b799e JB |
152 | # >= 0.13.0 wanted, but seems to build with 0.11.0 |
153 | BuildRequires: thrift-devel | |
548e0d3f | 154 | BuildRequires: udev-devel |
b1fa8ffe | 155 | %{?with_dpdk:BuildRequires: xorg-lib-libpciaccess-devel} |
fa260b6c | 156 | BuildRequires: xfsprogs-devel |
32e4d0ff | 157 | %{?with_seastar:BuildRequires: yaml-cpp-devel >= 0.5.1} |
7db8c214 JB |
158 | %ifarch %{x8664} |
159 | BuildRequires: yasm | |
160 | %endif | |
101b8bdd | 161 | %{?with_zfs:BuildRequires: zfs-devel >= 0.8.0} |
bbcdc7ce | 162 | BuildRequires: zlib-devel |
d8321c07 | 163 | BuildRequires: zstd-devel >= 1.4.4 |
2a1a6301 JR |
164 | Requires(post,preun): /sbin/chkconfig |
165 | Requires(preun): rc-scripts | |
166 | Requires: %{name}-libs = %{version}-%{release} | |
32e4d0ff | 167 | Requires: lz4 >= 1:1.7.3 |
d5cae1aa | 168 | Requires: python3-%{name} = %{version}-%{release} |
6b8625f1 | 169 | %{?with_system_rocksdb:Requires: rocksdb >= 5.14} |
bef2a0ad | 170 | Requires: systemd-units >= 38 |
d8321c07 | 171 | Requires: zstd >= 1.4.4 |
c89c1ad8 JB |
172 | Obsoletes: gcephtool < 0.51 |
173 | Obsoletes: hadoop-cephfs < 0.71 | |
2a1a6301 JR |
174 | BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n) |
175 | ||
cc053f74 | 176 | %define skip_post_check_so libceph_crypto_isal.so.* libceph_crypto_qat.so.* libceph_lz4.so.* libceph_snappy.so.* libceph_zlib.so.* libceph_zstd.so.* libcls_.*.so.* libec_.*.so.* |
2a1a6301 JR |
177 | |
178 | %description | |
179 | Ceph is a distributed network file system designed to provide | |
180 | excellent performance, reliability, and scalability. | |
181 | ||
e5fc70df JB |
182 | %description -l pl.UTF-8 |
183 | Ceph to rozproszony sieciowy system plików zaprojektowany z myślą o | |
184 | dobrej wydajności, wiarygodności i skalowalności. | |
185 | ||
2a1a6301 JR |
186 | %package libs |
187 | Summary: Ceph shared libraries | |
e5fc70df | 188 | Summary(pl.UTF-8): Biblioteki współdzielone Cepha |
2a1a6301 | 189 | Group: Libraries |
737284c4 | 190 | Requires: libfmt >= 6.0.0 |
6b8625f1 | 191 | Requires: librdkafka >= 0.9.2 |
d8321c07 | 192 | Requires: openssl >= 1.1 |
2a1a6301 JR |
193 | |
194 | %description libs | |
195 | Ceph shared libraries. | |
196 | ||
e5fc70df JB |
197 | %description libs -l pl.UTF-8 |
198 | Biblioteki współdzielone Cepha. | |
2a1a6301 JR |
199 | |
200 | %package devel | |
e5fc70df JB |
201 | Summary: Ceph header files |
202 | Summary(pl.UTF-8): Pliki nagłówkowe bibliotek Cepha | |
96c29907 | 203 | License: LGPL v2.1 |
2a1a6301 JR |
204 | Group: Development/Libraries |
205 | Requires: %{name}-libs = %{version}-%{release} | |
682d6dd5 | 206 | Requires: boost-devel >= 1.72 |
bbcdc7ce | 207 | Requires: curl-devel |
6b8625f1 | 208 | Requires: expat-devel >= 1.95 |
bbcdc7ce JB |
209 | Requires: fcgi-devel |
210 | Requires: nss-devel >= 3 | |
b44a3efd | 211 | Requires: leveldb-devel >= 1.23-2 |
96c29907 | 212 | Requires: libatomic_ops |
bbcdc7ce | 213 | Requires: libblkid-devel >= 2.17 |
682d6dd5 | 214 | Requires: libstdc++-devel >= 6:7 |
96c29907 | 215 | Requires: libuuid-devel |
bbcdc7ce JB |
216 | %{?with_lttng:Requires: lttng-ust-devel} |
217 | Requires: openldap-devel | |
1b11728e | 218 | Obsoletes: ceph-static < 12 |
2a1a6301 JR |
219 | |
220 | %description devel | |
221 | This package contains the headers needed to develop programs that use | |
222 | Ceph. | |
223 | ||
e5fc70df JB |
224 | %description devel -l pl.UTF-8 |
225 | Ten pakiet zawiera pliki nagłówkowe potrzebne do tworzenia programów | |
226 | wykorzystujących Cepha. | |
227 | ||
1b11728e JB |
228 | %package -n python3-ceph |
229 | Summary: Ceph Python 3 bindings | |
230 | Summary(pl.UTF-8): Wiązania Pythona 3 do bibliotek Cepha | |
231 | Group: Development/Languages/Python | |
232 | Requires: %{name}-libs = %{version}-%{release} | |
6b8625f1 | 233 | Obsoletes: python-ceph < 15 |
1b11728e JB |
234 | |
235 | %description -n python3-ceph | |
236 | Ceph Python 3 bindings. | |
237 | ||
238 | %description -n python3-ceph -l pl.UTF-8 | |
239 | Wiązania Pythona 3 do bibliotek Cepha. | |
e5fc70df | 240 | |
4f42482b JB |
241 | %package -n java-cephfs |
242 | Summary: CephFS Java bindings | |
243 | Summary(pl.UTF-8): Wiązania Javy do biblioteki CephFS | |
244 | Group: Libraries/Java | |
245 | Requires: %{name}-libs = %{version}-%{release} | |
246 | ||
247 | %description -n java-cephfs | |
248 | CephFS Java bindings. | |
249 | ||
250 | %description -n java-cephfs -l pl.UTF-8 | |
251 | Wiązania Javy do biblioteki CephFS. | |
252 | ||
e5fc70df JB |
253 | %package fuse |
254 | Summary: Ceph FUSE-based client | |
255 | Summary(pl.UTF-8): Klient Cepha oparty na FUSE | |
256 | Group: Base | |
257 | Requires: %{name} = %{version}-%{release} | |
258 | ||
259 | %description fuse | |
260 | FUSE based client for Ceph distributed network file system. | |
261 | ||
262 | %description fuse -l pl.UTF-8 | |
263 | Oparty na FUSE klient rozproszonego sieciowego systemu plików Ceph. | |
264 | ||
2a1a6301 JR |
265 | %package radosgw |
266 | Summary: rados REST gateway | |
e5fc70df JB |
267 | Summary(pl.UTF-8): Bramka REST-owa rados |
268 | Group: Applications/System | |
2a1a6301 JR |
269 | #Requires: apache-mod_fcgid |
270 | ||
271 | %description radosgw | |
272 | radosgw is an S3 HTTP REST gateway for the RADOS object store. It is | |
273 | implemented as a FastCGI module using libfcgi, and can be used in | |
274 | conjunction with any FastCGI capable web server. | |
275 | ||
e5fc70df JB |
276 | %description radosgw -l pl.UTF-8 |
277 | radosgw to REST-owa bramka HTTP S3 do przechowalni obiektów RADOS. | |
278 | Jest zaimplementowana jako moduł FastCGI wykorzystujący libfcgi i może | |
279 | być używana w połączeniu z dowolnym serwerem WWW obsługującym FastCGI. | |
280 | ||
245cb856 | 281 | %package resource-agents |
8029515d JB |
282 | Summary: OCF Resource Agents for Ceph processes |
283 | Summary(pl.UTF-8): Agenci OCF do monitorowania procesów Cepha | |
284 | Group: Applications/System | |
285 | Requires: %{name} = %{version}-%{release} | |
286 | Requires: resource-agents | |
287 | ||
245cb856 | 288 | %description resource-agents |
8029515d JB |
289 | OCF Resource Agents for Ceph processes. |
290 | ||
245cb856 | 291 | %description resource-agents -l pl.UTF-8 |
8029515d JB |
292 | Agenci OCF do monitorowania procesów Cepha. |
293 | ||
9911b50d JP |
294 | %package test |
295 | Summary: Ceph benchmarks and test tools | |
296 | Summary(pl.UTF-8): Narzędzia testowe oraz do mierzenia wydajności dla Ceph | |
297 | Group: Applications/System | |
298 | Requires: %{name} = %{version}-%{release} | |
299 | ||
300 | %description test | |
301 | Ceph benchmarks and test tools. | |
302 | ||
303 | %description test -l pl.UTF-8 | |
304 | Narzędzia testowe oraz do mierzenia wydajności dla Ceph. | |
305 | ||
79dc5cad JB |
306 | %package -n fio-ceph-objectstore |
307 | Summary: FIO engine module for Ceph ObjectStore | |
308 | Summary(pl.UTF-8): Moduł silnika FIO do używania Ceph ObjectStore | |
309 | Group: Libraries | |
310 | Requires: %{name}-libs = %{version}-%{release} | |
101b8bdd | 311 | %if %{with fio} |
79dc5cad | 312 | %requires_ge_to fio fio-devel |
101b8bdd | 313 | %endif |
79dc5cad JB |
314 | |
315 | %description -n fio-ceph-objectstore | |
316 | This FIO engine allows you to mount and use a ceph object store | |
317 | directly, without having to build a ceph cluster or start any daemons. | |
318 | ||
319 | %description -n fio-ceph-objectstore -l pl.UTF-8 | |
320 | Ten silnik FIO pozwala na bezpośrednie montowanie i używanie | |
321 | przestrzeni obiektów ceph, bez potrzeby budowania klastra ceph czy | |
322 | uruchamiania demonów. | |
323 | ||
2a1a6301 JR |
324 | %prep |
325 | %setup -q | |
326 | %patch0 -p1 | |
737284c4 | 327 | %patch1 -p1 |
f8bb146f JR |
328 | %patch2 -p1 |
329 | %patch3 -p1 | |
330 | %patch4 -p1 | |
32e4d0ff | 331 | %patch5 -p1 |
c8d4a223 | 332 | %patch6 -p1 |
c8d4a223 | 333 | %patch7 -p1 |
bbe36688 | 334 | %patch8 -p1 |
9d79249d | 335 | %ifarch %{ix86} |
bbe36688 | 336 | %patch9 -p1 |
9d79249d | 337 | %endif |
32e4d0ff | 338 | %patch10 -p1 |
682d6dd5 | 339 | %patch11 -p1 |
cc053f74 JB |
340 | %patch12 -p1 |
341 | %patch13 -p1 | |
e3919159 | 342 | |
f7926bf0 | 343 | %{__sed} -i -e '1s,/usr/bin/env bash,/bin/bash,' \ |
d8321c07 JB |
344 | src/{ceph-post-file.in,rbd-replay-many,rbdmap} \ |
345 | src/rgw/rgw-{gap,orphan}-list | |
f7926bf0 | 346 | |
737284c4 | 347 | %{__sed} -i -e '1s,/usr/bin/awk,/bin/awk,' \ |
370f7446 JR |
348 | src/rgw/rgw-gap-list-comparator |
349 | ||
f7926bf0 JB |
350 | %if %{with angular} |
351 | # stub virtualenv with npm for src/pybind/mgr/dashboard bootstrapping | |
352 | install -d build/src/pybind/mgr/dashboard/node-env/bin | |
353 | ln -sf /usr/bin/npm build/src/pybind/mgr/dashboard/node-env/bin/npm | |
354 | cat >build/src/pybind/mgr/dashboard/node-env/bin/activate <<EOF | |
355 | deactivate() { | |
356 | unset -f deactivate | |
357 | } | |
358 | EOF | |
f7926bf0 JB |
359 | %endif |
360 | ||
2a1a6301 | 361 | %build |
1b11728e JB |
362 | install -d build |
363 | cd build | |
364 | %cmake .. \ | |
bbe36688 JR |
365 | %ifarch %{x8664} %{ix86} x32 |
366 | -DHAVE_INTEL_SSE=1 \ | |
367 | %endif | |
368 | %ifarch %{x8664} x32 | |
369 | -DHAVE_INTEL_SSE2=1 \ | |
370 | -DHAVE_INTEL_SSE3=1 \ | |
371 | -DHAVE_INTEL_SSSE3=1 \ | |
372 | -DHAVE_INTEL_PCLMUL=1 \ | |
373 | -DHAVE_INTEL_SSE4_1=1 \ | |
374 | -DHAVE_INTEL_SSE4_2=1 \ | |
375 | %endif | |
1b11728e JB |
376 | -DALLOCATOR="%{?with_tcmalloc:tcmalloc}%{!?with_tcmalloc:libc}" \ |
377 | -DFIO_INCLUDE_DIR=/usr/include/fio \ | |
737284c4 | 378 | %{?with_java:-DJAVA_HOME:PATH=%{java_home}} \ |
d9328226 | 379 | -DLUA_INCLUDE_DIR=%{_includedir}/lua \ |
d5cae1aa | 380 | -DPYTHON=%{__python3} \ |
f8bb146f | 381 | -DSPHINX_BUILD=/usr/bin/sphinx-build \ |
1b11728e | 382 | %{!?with_babeltrace:-DWITH_BABELTRACE=OFF} \ |
32e4d0ff | 383 | %{?with_bluefs:-DWITH_BLUEFS=ON} \ |
720615cf JR |
384 | %if %{with pmem} |
385 | -DWITH_BLUESTORE_PMEM=ON \ | |
386 | -DWITH_SYSTEM_PMDK:BOOL=ON \ | |
387 | %endif | |
1b11728e JB |
388 | %{?with_java:-DWITH_CEPHFS_JAVA=ON} \ |
389 | %{?with_dpdk:-DWITH_DPDK=ON} \ | |
390 | %{?with_fio:-DWITH_FIO=ON} \ | |
682d6dd5 | 391 | %{?with_kerberos:-DWITH_GSSAPI=ON} \ |
1b11728e JB |
392 | %{!?with_lttng:-DWITH_LTTNG=OFF} \ |
393 | -DWITH_LZ4=ON \ | |
f7926bf0 | 394 | %{!?with_angular:-DWITH_MGR_DASHBOARD_FRONTEND=OFF} \ |
1b11728e | 395 | -DWITH_OCF=ON \ |
737284c4 | 396 | -DWITH_PYTHON3=%{py3_ver} \ |
1b11728e | 397 | %{?with_fcgi:-DWITH_RADOSGW_FCGI_FRONTEND=ON} \ |
682d6dd5 | 398 | %{!?with_rdma:-DWITH_RDMA=OFF} \ |
737284c4 | 399 | -DWITH_REENTRANT_STRSIGNAL=ON \ |
32e4d0ff JB |
400 | %{?with_qat:-DWITH_QAT=ON} \ |
401 | %{?with_qatzip:-DWITH_QATZIP=ON} \ | |
402 | %{?with_seastar:-DWITH_SEASTAR=ON} \ | |
1b11728e JB |
403 | %{?with_spdk:-DWITH_SPDK=ON} \ |
404 | -DWITH_SYSTEM_BOOST=ON \ | |
682d6dd5 | 405 | -DWITH_SYSTEM_LIBURING=ON \ |
d8321c07 | 406 | %{?with_angular:-DWITH_SYSTEM_NPM=ON} \ |
1b11728e | 407 | %{?with_system_rocksdb:-DWITH_SYSTEM_ROCKSDB=ON} \ |
d8321c07 | 408 | -DWITH_SYSTEM_ZSTD=ON \ |
1b11728e | 409 | -DWITH_SYSTEMD=ON \ |
737284c4 | 410 | %{!?with_tests:-DWITH_TESTS=OFF} \ |
32e4d0ff | 411 | %{?with_zbd:-DWITH_ZBD=ON} \ |
737284c4 | 412 | %{?with_zfs:-DWITH_ZFS=ON} |
1b11728e | 413 | |
dc8b799e JB |
414 | # some object files have missing dependencies on these, pregenerate to avoid global -j1 |
415 | %{__make} legacy-option-headers | |
416 | ||
f8bb146f | 417 | %{__make} |
2a1a6301 JR |
418 | |
419 | %install | |
420 | rm -rf $RPM_BUILD_ROOT | |
1b11728e JB |
421 | 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} \ |
422 | $RPM_BUILD_ROOT%{_sysconfdir}/{ceph,bash_completion.d,logrotate.d,rc.d,sysconfig} \ | |
423 | $RPM_BUILD_ROOT{%{systemdunitdir},%{systemdtmpfilesdir},/etc/systemd/system/ceph.target.wants,/sbin} | |
4f42482b | 424 | |
1b11728e JB |
425 | %{__make} -C build install \ |
426 | DESTDIR=$RPM_BUILD_ROOT | |
2a1a6301 | 427 | |
1b11728e JB |
428 | # sanitize paths; no config options for cmake |
429 | %{__mv} $RPM_BUILD_ROOT/etc/init.d $RPM_BUILD_ROOT/etc/rc.d | |
1b11728e JB |
430 | %{__mv} $RPM_BUILD_ROOT%{_sbindir}/mount.* $RPM_BUILD_ROOT/sbin |
431 | ||
432 | cp -p src/logrotate.conf $RPM_BUILD_ROOT%{_sysconfdir}/logrotate.d/ceph | |
2a1a6301 | 433 | |
bbcdc7ce | 434 | cp -p %{SOURCE1} $RPM_BUILD_ROOT/etc/sysconfig/ceph |
b6163d67 | 435 | ln -sf /dev/null $RPM_BUILD_ROOT%{systemdunitdir}/ceph.service |
bbcdc7ce | 436 | cp -p %{SOURCE3} $RPM_BUILD_ROOT%{systemdtmpfilesdir}/ceph.conf |
b6163d67 | 437 | |
682d6dd5 JB |
438 | %if %{without tests} |
439 | %{__rm} $RPM_BUILD_ROOT%{_javadir}/libcephfs-test.jar | |
2df85c68 | 440 | %{__rm} -r $RPM_BUILD_ROOT%{py3_sitescriptdir}/{ceph,ceph_volume}/tests |
682d6dd5 JB |
441 | %endif |
442 | ||
1b11728e JB |
443 | %py3_comp $RPM_BUILD_ROOT%{py3_sitescriptdir} |
444 | %py3_ocomp $RPM_BUILD_ROOT%{py3_sitescriptdir} | |
245cb856 | 445 | |
1b11728e JB |
446 | # packaged as %doc |
447 | %{__rm} $RPM_BUILD_ROOT%{_docdir}/sample.ceph.conf | |
bb30e67a | 448 | |
f7926bf0 | 449 | %if %{with angular} |
d8321c07 | 450 | %{__rm} $RPM_BUILD_ROOT%{_libdir}/ceph/mgr/dashboard/HACKING.rst |
f7926bf0 JB |
451 | %{__rm} $RPM_BUILD_ROOT%{_libdir}/ceph/mgr/{.gitignore,dashboard/static/AdminLTE-2.3.7/{.gitignore,.jshintrc,README.md}} |
452 | %endif | |
2a1a6301 JR |
453 | |
454 | %clean | |
455 | rm -rf $RPM_BUILD_ROOT | |
456 | ||
457 | %post | |
458 | /sbin/chkconfig --add ceph | |
459 | %service ceph restart | |
460 | ||
bef2a0ad JK |
461 | # actual services are to be enabled on cluster deployment |
462 | %systemd_post %{name}.target | |
463 | ||
2a1a6301 JR |
464 | %preun |
465 | if [ "$1" = "0" ] ; then | |
72daa1da JR |
466 | %service ceph stop |
467 | /sbin/chkconfig --del ceph | |
2a1a6301 | 468 | fi |
bef2a0ad JK |
469 | %systemd_preun %{name}.target |
470 | ||
471 | %postun | |
472 | %systemd_reload | |
2a1a6301 | 473 | |
e5fc70df JB |
474 | %post libs -p /sbin/ldconfig |
475 | %postun libs -p /sbin/ldconfig | |
2a1a6301 | 476 | |
4f42482b JB |
477 | %post -n java-cephfs -p /sbin/ldconfig |
478 | %postun -n java-cephfs -p /sbin/ldconfig | |
479 | ||
2a1a6301 JR |
480 | %files |
481 | %defattr(644,root,root,755) | |
9e1f65de | 482 | # COPYING specifies licenses of individual parts |
f7926bf0 | 483 | %doc AUTHORS COPYING PendingReleaseNotes README.md src/sample.ceph.conf doc/releases |
2a1a6301 | 484 | %attr(754,root,root) /etc/rc.d/init.d/ceph |
bef2a0ad JK |
485 | %config(noreplace) /etc/sysconfig/ceph |
486 | %dir /etc/systemd/system/ceph.target.wants | |
bbcdc7ce JB |
487 | %{systemdunitdir}/ceph.service |
488 | %{systemdunitdir}/ceph.target | |
bb30e67a | 489 | %{systemdunitdir}/ceph-crash.service |
1b11728e JB |
490 | %{systemdunitdir}/ceph-fuse.target |
491 | %{systemdunitdir}/ceph-fuse@.service | |
bb30e67a JR |
492 | %{systemdunitdir}/ceph-immutable-object-cache.target |
493 | %{systemdunitdir}/ceph-immutable-object-cache@.service | |
bbcdc7ce | 494 | %{systemdunitdir}/ceph-mds.target |
bef2a0ad | 495 | %{systemdunitdir}/ceph-mds@.service |
1b11728e JB |
496 | %{systemdunitdir}/ceph-mgr.target |
497 | %{systemdunitdir}/ceph-mgr@.service | |
bbcdc7ce | 498 | %{systemdunitdir}/ceph-mon.target |
bef2a0ad | 499 | %{systemdunitdir}/ceph-mon@.service |
bbcdc7ce | 500 | %{systemdunitdir}/ceph-osd.target |
bef2a0ad | 501 | %{systemdunitdir}/ceph-osd@.service |
bbcdc7ce JB |
502 | %{systemdunitdir}/ceph-rbd-mirror.target |
503 | %{systemdunitdir}/ceph-rbd-mirror@.service | |
1b11728e | 504 | %{systemdunitdir}/ceph-volume@.service |
737284c4 JB |
505 | %{systemdunitdir}/cephfs-mirror.target |
506 | %{systemdunitdir}/cephfs-mirror@.service | |
bbcdc7ce | 507 | %{systemdunitdir}/rbdmap.service |
bef2a0ad | 508 | %{systemdtmpfilesdir}/ceph.conf |
2a1a6301 JR |
509 | %dir %{_sysconfdir}/ceph |
510 | %attr(755,root,root) %{_bindir}/ceph | |
8c5712e2 | 511 | %attr(755,root,root) %{_bindir}/ceph-authtool |
1b11728e | 512 | %attr(755,root,root) %{_bindir}/ceph-bluestore-tool |
2a1a6301 | 513 | %attr(755,root,root) %{_bindir}/ceph-clsinfo |
8c5712e2 | 514 | %attr(755,root,root) %{_bindir}/ceph-conf |
bb30e67a | 515 | %attr(755,root,root) %{_bindir}/ceph-crash |
60d5543f | 516 | %attr(755,root,root) %{_bindir}/ceph-dencoder |
bb30e67a JR |
517 | %attr(755,root,root) %{_bindir}/ceph-diff-sorted |
518 | %attr(755,root,root) %{_bindir}/ceph-erasure-code-tool | |
bb30e67a JR |
519 | %attr(755,root,root) %{_bindir}/ceph-immutable-object-cache |
520 | %attr(755,root,root) %{_bindir}/ceph-kvstore-tool | |
2a1a6301 | 521 | %attr(755,root,root) %{_bindir}/ceph-mds |
1b11728e | 522 | %attr(755,root,root) %{_bindir}/ceph-mgr |
8c5712e2 | 523 | %attr(755,root,root) %{_bindir}/ceph-mon |
bb30e67a | 524 | %attr(755,root,root) %{_bindir}/ceph-monstore-tool |
7f577810 | 525 | %attr(755,root,root) %{_bindir}/ceph-objectstore-tool |
2a1a6301 | 526 | %attr(755,root,root) %{_bindir}/ceph-osd |
bb30e67a | 527 | %attr(755,root,root) %{_bindir}/ceph-osdomap-tool |
5e39e43e | 528 | %attr(755,root,root) %{_bindir}/ceph-post-file |
2a1a6301 | 529 | %attr(755,root,root) %{_bindir}/ceph-rbdnamer |
8c5712e2 JB |
530 | %attr(755,root,root) %{_bindir}/ceph-run |
531 | %attr(755,root,root) %{_bindir}/ceph-syn | |
bbcdc7ce | 532 | %attr(755,root,root) %{_bindir}/cephfs-data-scan |
ae4b5127 | 533 | %attr(755,root,root) %{_bindir}/cephfs-journal-tool |
737284c4 | 534 | %attr(755,root,root) %{_bindir}/cephfs-mirror |
b431df60 | 535 | %attr(755,root,root) %{_bindir}/cephfs-table-tool |
737284c4 | 536 | %attr(755,root,root) %{_bindir}/cephfs-top |
f8f6a16f | 537 | %attr(755,root,root) %{_bindir}/crushdiff |
8c5712e2 | 538 | %attr(755,root,root) %{_bindir}/crushtool |
2a1a6301 | 539 | %attr(755,root,root) %{_bindir}/librados-config |
8c5712e2 JB |
540 | %attr(755,root,root) %{_bindir}/monmaptool |
541 | %attr(755,root,root) %{_bindir}/osdmaptool | |
2a1a6301 JR |
542 | %attr(755,root,root) %{_bindir}/rados |
543 | %attr(755,root,root) %{_bindir}/rbd | |
8c5712e2 | 544 | %attr(755,root,root) %{_bindir}/rbd-fuse |
bbcdc7ce JB |
545 | %attr(755,root,root) %{_bindir}/rbd-mirror |
546 | %attr(755,root,root) %{_bindir}/rbd-nbd | |
9a1a508c | 547 | %attr(755,root,root) %{_bindir}/rbd-replay |
7f577810 | 548 | %attr(755,root,root) %{_bindir}/rbd-replay-many |
9a1a508c | 549 | %attr(755,root,root) %{_bindir}/rbd-replay-prep |
bbcdc7ce | 550 | %attr(755,root,root) %{_bindir}/rbdmap |
bb30e67a JR |
551 | %attr(755,root,root) %{_bindir}/rgw-gap-list |
552 | %attr(755,root,root) %{_bindir}/rgw-gap-list-comparator | |
553 | %attr(755,root,root) %{_bindir}/rgw-orphan-list | |
1b11728e | 554 | %attr(755,root,root) %{_sbindir}/ceph-create-keys |
1b11728e JB |
555 | %attr(755,root,root) %{_sbindir}/ceph-volume |
556 | %attr(755,root,root) %{_sbindir}/ceph-volume-systemd | |
4f42482b JB |
557 | %attr(755,root,root) /sbin/mount.ceph |
558 | %attr(755,root,root) /sbin/mount.fuse.ceph | |
e3919159 | 559 | %if "%{_libexecdir}" != "%{_libdir}" |
c1965bc2 | 560 | %dir %{_libexecdir}/ceph |
e3919159 | 561 | %endif |
a92d2e05 | 562 | %{_libexecdir}/ceph/ceph_common.sh |
c1965bc2 | 563 | %attr(755,root,root) %{_libexecdir}/ceph/ceph-osd-prestart.sh |
bbcdc7ce | 564 | %dir %{_libdir}/ceph/compressor |
1b11728e | 565 | %attr(755,root,root) %{_libdir}/ceph/compressor/libceph_lz4.so* |
bbcdc7ce JB |
566 | %attr(755,root,root) %{_libdir}/ceph/compressor/libceph_snappy.so* |
567 | %attr(755,root,root) %{_libdir}/ceph/compressor/libceph_zlib.so* | |
1b11728e | 568 | %attr(755,root,root) %{_libdir}/ceph/compressor/libceph_zstd.so* |
d65c5c24 | 569 | %dir %{_libdir}/ceph/crypto |
bb30e67a | 570 | %ifarch %{x8664} |
d65c5c24 JB |
571 | %attr(755,root,root) %{_libdir}/ceph/crypto/libceph_crypto_isal.so* |
572 | %endif | |
737284c4 | 573 | %attr(755,root,root) %{_libdir}/ceph/crypto/libceph_crypto_openssl.so* |
cc053f74 JB |
574 | %if %{with qat} |
575 | %attr(755,root,root) %{_libdir}/ceph/crypto/libceph_crypto_qat.so* | |
576 | %endif | |
f8f6a16f JB |
577 | %dir %{_libdir}/ceph/denc |
578 | %attr(755,root,root) %{_libdir}/ceph/denc/denc-mod-cephfs.so | |
579 | %attr(755,root,root) %{_libdir}/ceph/denc/denc-mod-common.so | |
580 | %attr(755,root,root) %{_libdir}/ceph/denc/denc-mod-osd.so | |
581 | %attr(755,root,root) %{_libdir}/ceph/denc/denc-mod-rbd.so | |
582 | %attr(755,root,root) %{_libdir}/ceph/denc/denc-mod-rgw.so | |
c408d7b3 | 583 | %dir %{_libdir}/ceph/erasure-code |
bb30e67a | 584 | %attr(755,root,root) %{_libdir}/ceph/erasure-code/libec_clay.so* |
58dc957f | 585 | %ifarch %{x8664} |
066d8601 | 586 | %attr(755,root,root) %{_libdir}/ceph/erasure-code/libec_isa.so* |
6fce7056 | 587 | %endif |
c408d7b3 | 588 | %attr(755,root,root) %{_libdir}/ceph/erasure-code/libec_jerasure.so* |
0509a77e | 589 | %attr(755,root,root) %{_libdir}/ceph/erasure-code/libec_jerasure_generic.so* |
bbcdc7ce | 590 | %ifarch %{arm} |
7f577810 JB |
591 | %attr(755,root,root) %{_libdir}/ceph/erasure-code/libec_jerasure_neon.so* |
592 | %endif | |
593 | %ifarch %{ix86} %{x8664} x32 | |
0509a77e JB |
594 | %attr(755,root,root) %{_libdir}/ceph/erasure-code/libec_jerasure_sse3.so* |
595 | %attr(755,root,root) %{_libdir}/ceph/erasure-code/libec_jerasure_sse4.so* | |
bb30e67a JR |
596 | %attr(755,root,root) %{_libdir}/ceph/erasure-code/libec_shec_sse3.so* |
597 | %attr(755,root,root) %{_libdir}/ceph/erasure-code/libec_shec_sse4.so* | |
7f577810 | 598 | %endif |
9a1a508c | 599 | %attr(755,root,root) %{_libdir}/ceph/erasure-code/libec_lrc.so* |
b431df60 | 600 | %attr(755,root,root) %{_libdir}/ceph/erasure-code/libec_shec.so* |
bbcdc7ce | 601 | %attr(755,root,root) %{_libdir}/ceph/erasure-code/libec_shec_generic.so* |
bb30e67a JR |
602 | %dir %{_libdir}/ceph/librbd |
603 | %attr(755,root,root) %{_libdir}/ceph/librbd/libceph_librbd_parent_cache.so* | |
2a1a6301 | 604 | %dir %{_libdir}/rados-classes |
bb30e67a JR |
605 | %attr(755,root,root) %{_libdir}/rados-classes/libcls_2pc_queue.so* |
606 | %attr(755,root,root) %{_libdir}/rados-classes/libcls_cas.so* | |
1b11728e | 607 | %attr(755,root,root) %{_libdir}/rados-classes/libcls_cephfs.so* |
bb30e67a JR |
608 | %attr(755,root,root) %{_libdir}/rados-classes/libcls_cmpomap.so* |
609 | %attr(755,root,root) %{_libdir}/rados-classes/libcls_fifo.so* | |
1b11728e JB |
610 | %attr(755,root,root) %{_libdir}/rados-classes/libcls_hello.so* |
611 | %attr(755,root,root) %{_libdir}/rados-classes/libcls_journal.so* | |
1b11728e JB |
612 | %attr(755,root,root) %{_libdir}/rados-classes/libcls_lock.so* |
613 | %attr(755,root,root) %{_libdir}/rados-classes/libcls_log.so* | |
614 | %attr(755,root,root) %{_libdir}/rados-classes/libcls_lua.so* | |
615 | %attr(755,root,root) %{_libdir}/rados-classes/libcls_numops.so* | |
bb30e67a JR |
616 | %attr(755,root,root) %{_libdir}/rados-classes/libcls_otp.so* |
617 | %attr(755,root,root) %{_libdir}/rados-classes/libcls_queue.so* | |
1b11728e JB |
618 | %attr(755,root,root) %{_libdir}/rados-classes/libcls_rbd.so* |
619 | %attr(755,root,root) %{_libdir}/rados-classes/libcls_refcount.so* | |
1b11728e | 620 | %attr(755,root,root) %{_libdir}/rados-classes/libcls_rgw.so* |
6b8625f1 | 621 | %attr(755,root,root) %{_libdir}/rados-classes/libcls_rgw_gc.so* |
1b11728e | 622 | %attr(755,root,root) %{_libdir}/rados-classes/libcls_sdk.so* |
f8f6a16f | 623 | %attr(755,root,root) %{_libdir}/rados-classes/libcls_test_remote_reads.so* |
1b11728e JB |
624 | %attr(755,root,root) %{_libdir}/rados-classes/libcls_timeindex.so* |
625 | %attr(755,root,root) %{_libdir}/rados-classes/libcls_user.so* | |
626 | %attr(755,root,root) %{_libdir}/rados-classes/libcls_version.so* | |
5e39e43e | 627 | %{_datadir}/ceph |
2a1a6301 JR |
628 | %config(noreplace) /etc/logrotate.d/ceph |
629 | %config(noreplace) %{_sysconfdir}/bash_completion.d/rados | |
630 | %config(noreplace) %{_sysconfdir}/bash_completion.d/ceph | |
631 | %config(noreplace) %{_sysconfdir}/bash_completion.d/rbd | |
632 | %{_mandir}/man8/ceph.8* | |
633 | %{_mandir}/man8/ceph-authtool.8* | |
1b11728e | 634 | %{_mandir}/man8/ceph-bluestore-tool.8* |
2a1a6301 JR |
635 | %{_mandir}/man8/ceph-clsinfo.8* |
636 | %{_mandir}/man8/ceph-conf.8* | |
63709ae0 | 637 | %{_mandir}/man8/ceph-create-keys.8* |
60d5543f | 638 | %{_mandir}/man8/ceph-dencoder.8* |
bb30e67a | 639 | %{_mandir}/man8/ceph-diff-sorted.8* |
bb30e67a JR |
640 | %{_mandir}/man8/ceph-immutable-object-cache.8* |
641 | %{_mandir}/man8/ceph-kvstore-tool.8* | |
2a1a6301 JR |
642 | %{_mandir}/man8/ceph-mds.8* |
643 | %{_mandir}/man8/ceph-mon.8* | |
644 | %{_mandir}/man8/ceph-osd.8* | |
5e39e43e | 645 | %{_mandir}/man8/ceph-post-file.8* |
60d5543f | 646 | %{_mandir}/man8/ceph-rbdnamer.8* |
2a1a6301 JR |
647 | %{_mandir}/man8/ceph-run.8* |
648 | %{_mandir}/man8/ceph-syn.8* | |
1b11728e JB |
649 | %{_mandir}/man8/ceph-volume.8* |
650 | %{_mandir}/man8/ceph-volume-systemd.8* | |
6b8625f1 | 651 | %{_mandir}/man8/cephadm.8* |
737284c4 JB |
652 | %{_mandir}/man8/cephfs-mirror.8* |
653 | %{_mandir}/man8/cephfs-top.8* | |
f8f6a16f | 654 | %{_mandir}/man8/crushdiff.8* |
2a1a6301 JR |
655 | %{_mandir}/man8/crushtool.8* |
656 | %{_mandir}/man8/librados-config.8* | |
2a1a6301 JR |
657 | %{_mandir}/man8/monmaptool.8* |
658 | %{_mandir}/man8/mount.ceph.8* | |
bb30e67a | 659 | %{_mandir}/man8/mount.fuse.ceph.8* |
2a1a6301 JR |
660 | %{_mandir}/man8/osdmaptool.8* |
661 | %{_mandir}/man8/rados.8* | |
2a1a6301 | 662 | %{_mandir}/man8/rbd.8* |
8c5712e2 | 663 | %{_mandir}/man8/rbd-fuse.8* |
bbcdc7ce JB |
664 | %{_mandir}/man8/rbd-mirror.8* |
665 | %{_mandir}/man8/rbd-nbd.8* | |
9a1a508c | 666 | %{_mandir}/man8/rbd-replay.8* |
7f577810 | 667 | %{_mandir}/man8/rbd-replay-many.8* |
9a1a508c | 668 | %{_mandir}/man8/rbd-replay-prep.8* |
bbcdc7ce | 669 | %{_mandir}/man8/rbdmap.8* |
bb30e67a | 670 | %{_mandir}/man8/rgw-orphan-list.8* |
60d5543f | 671 | |
2a1a6301 | 672 | %dir %{_localstatedir}/lib/ceph |
1b11728e JB |
673 | %dir %{_localstatedir}/lib/ceph/bootstrap-mds |
674 | %dir %{_localstatedir}/lib/ceph/bootstrap-mgr | |
675 | %dir %{_localstatedir}/lib/ceph/bootstrap-osd | |
676 | %dir %{_localstatedir}/lib/ceph/bootstrap-rbd | |
677 | %dir %{_localstatedir}/lib/ceph/bootstrap-rgw | |
b6163d67 | 678 | %dir %{_localstatedir}/lib/ceph/mds |
1b11728e | 679 | %dir %{_localstatedir}/lib/ceph/mgr |
b6163d67 JK |
680 | %dir %{_localstatedir}/lib/ceph/mon |
681 | %dir %{_localstatedir}/lib/ceph/osd | |
2a1a6301 JR |
682 | %dir %{_localstatedir}/lib/ceph/tmp |
683 | %dir %{_localstatedir}/log/ceph | |
bef2a0ad | 684 | %dir %{_localstatedir}/run/ceph |
2a1a6301 JR |
685 | |
686 | %files libs | |
687 | %defattr(644,root,root,755) | |
32e4d0ff JB |
688 | %if %{with bluefs} |
689 | %attr(755,root,root) %{_libdir}/libbluefs.so | |
690 | %endif | |
2a1a6301 | 691 | %attr(755,root,root) %{_libdir}/libcephfs.so.*.*.* |
1b11728e | 692 | %attr(755,root,root) %ghost %{_libdir}/libcephfs.so.2 |
4447516f JB |
693 | %attr(755,root,root) %{_libdir}/libos_tp.so.*.*.* |
694 | %attr(755,root,root) %ghost %{_libdir}/libos_tp.so.1 | |
695 | %attr(755,root,root) %{_libdir}/libosd_tp.so.*.*.* | |
696 | %attr(755,root,root) %ghost %{_libdir}/libosd_tp.so.1 | |
2a1a6301 JR |
697 | %attr(755,root,root) %{_libdir}/librados.so.*.*.* |
698 | %attr(755,root,root) %ghost %{_libdir}/librados.so.2 | |
4447516f JB |
699 | %attr(755,root,root) %{_libdir}/librados_tp.so.*.*.* |
700 | %attr(755,root,root) %ghost %{_libdir}/librados_tp.so.2 | |
bb30e67a JR |
701 | %attr(755,root,root) %{_libdir}/libradosgw.so.*.*.* |
702 | %attr(755,root,root) %ghost %{_libdir}/libradosgw.so.2 | |
548e0d3f JB |
703 | %attr(755,root,root) %{_libdir}/libradosstriper.so.*.*.* |
704 | %attr(755,root,root) %ghost %{_libdir}/libradosstriper.so.1 | |
2a1a6301 JR |
705 | %attr(755,root,root) %{_libdir}/librbd.so.*.*.* |
706 | %attr(755,root,root) %ghost %{_libdir}/librbd.so.1 | |
4447516f JB |
707 | %attr(755,root,root) %{_libdir}/librbd_tp.so.*.*.* |
708 | %attr(755,root,root) %ghost %{_libdir}/librbd_tp.so.1 | |
bbcdc7ce JB |
709 | %attr(755,root,root) %{_libdir}/librgw.so.*.*.* |
710 | %attr(755,root,root) %ghost %{_libdir}/librgw.so.2 | |
bb30e67a JR |
711 | %attr(755,root,root) %{_libdir}/librgw_op_tp.so.*.*.* |
712 | %attr(755,root,root) %ghost %{_libdir}/librgw_op_tp.so.2 | |
713 | %attr(755,root,root) %{_libdir}/librgw_rados_tp.so.*.*.* | |
714 | %attr(755,root,root) %ghost %{_libdir}/librgw_rados_tp.so.2 | |
715 | %attr(755,root,root) %{_libdir}/libcephsqlite.so | |
5b8dadc9 | 716 | %dir %{_libdir}/ceph |
bb30e67a | 717 | %attr(755,root,root) %{_libdir}/ceph/libceph-common.so.2 |
2a1a6301 | 718 | |
2a1a6301 JR |
719 | %files devel |
720 | %defattr(644,root,root,755) | |
2a1a6301 | 721 | %attr(755,root,root) %{_libdir}/libcephfs.so |
4447516f JB |
722 | %attr(755,root,root) %{_libdir}/libos_tp.so |
723 | %attr(755,root,root) %{_libdir}/libosd_tp.so | |
2a1a6301 | 724 | %attr(755,root,root) %{_libdir}/librados.so |
4447516f | 725 | %attr(755,root,root) %{_libdir}/librados_tp.so |
bb30e67a | 726 | %attr(755,root,root) %{_libdir}/libradosgw.so |
548e0d3f | 727 | %attr(755,root,root) %{_libdir}/libradosstriper.so |
2a1a6301 | 728 | %attr(755,root,root) %{_libdir}/librbd.so |
4447516f | 729 | %attr(755,root,root) %{_libdir}/librbd_tp.so |
bbcdc7ce | 730 | %attr(755,root,root) %{_libdir}/librgw.so |
bb30e67a JR |
731 | %attr(755,root,root) %{_libdir}/librgw_op_tp.so |
732 | %attr(755,root,root) %{_libdir}/librgw_rados_tp.so | |
e5fc70df JB |
733 | %{_includedir}/cephfs |
734 | %{_includedir}/rados | |
548e0d3f | 735 | %{_includedir}/radosstriper |
e5fc70df | 736 | %{_includedir}/rbd |
bb30e67a | 737 | %{_includedir}/libcephsqlite.h |
2a1a6301 | 738 | |
1b11728e JB |
739 | %files -n python3-ceph |
740 | %defattr(644,root,root,755) | |
741 | %attr(755,root,root) %{py3_sitedir}/cephfs.cpython-*.so | |
bb30e67a | 742 | %attr(755,root,root) %{py3_sitedir}/rados.cpython-*.so |
bb30e67a | 743 | %attr(755,root,root) %{py3_sitedir}/rbd.cpython-*.so |
bb30e67a | 744 | %attr(755,root,root) %{py3_sitedir}/rgw.cpython-*.so |
2df85c68 JR |
745 | %{py3_sitedir}/cephfs-2.0.0-py*.egg-info |
746 | %{py3_sitedir}/rados-2.0.0-py*.egg-info | |
747 | %{py3_sitedir}/rbd-2.0.0-py*.egg-info | |
1b11728e | 748 | %{py3_sitedir}/rgw-2.0.0-py*.egg-info |
2b3ddb3f JB |
749 | %{py3_sitescriptdir}/ceph_*.py |
750 | %{py3_sitescriptdir}/__pycache__/ceph_*.py* | |
751 | %{py3_sitescriptdir}/ceph | |
752 | %{py3_sitescriptdir}/ceph_volume | |
2df85c68 JR |
753 | %{py3_sitescriptdir}/ceph-1.0.0-py*.egg-info |
754 | %{py3_sitescriptdir}/ceph_volume-1.0.0-py*.egg-info | |
755 | %{py3_sitescriptdir}/cephfs_top-0.0.1-py*.egg-info | |
1b11728e | 756 | |
4f42482b JB |
757 | %if %{with java} |
758 | %files -n java-cephfs | |
759 | %defattr(644,root,root,755) | |
760 | %attr(755,root,root) %{_libdir}/libcephfs_jni.so.*.*.* | |
761 | %attr(755,root,root) %ghost %{_libdir}/libcephfs_jni.so.1 | |
762 | %attr(755,root,root) %{_libdir}/libcephfs_jni.so | |
763 | %{_javadir}/libcephfs.jar | |
764 | %endif | |
765 | ||
e5fc70df JB |
766 | %files fuse |
767 | %defattr(644,root,root,755) | |
e5fc70df JB |
768 | %attr(755,root,root) %{_bindir}/ceph-fuse |
769 | %{_mandir}/man8/ceph-fuse.8* | |
770 | ||
2a1a6301 JR |
771 | %files radosgw |
772 | %defattr(644,root,root,755) | |
773 | %attr(755,root,root) %{_bindir}/radosgw | |
774 | %attr(755,root,root) %{_bindir}/radosgw-admin | |
1b11728e | 775 | %attr(755,root,root) %{_bindir}/radosgw-es |
bbcdc7ce JB |
776 | %attr(755,root,root) %{_bindir}/radosgw-object-expirer |
777 | %attr(755,root,root) %{_bindir}/radosgw-token | |
778 | %{systemdunitdir}/ceph-radosgw.target | |
779 | %{systemdunitdir}/ceph-radosgw@.service | |
2a1a6301 | 780 | %{_sysconfdir}/bash_completion.d/radosgw-admin |
1b11728e JB |
781 | %dir %{_localstatedir}/lib/ceph/radosgw |
782 | %{_mandir}/man8/radosgw.8* | |
783 | %{_mandir}/man8/radosgw-admin.8* | |
2a1a6301 | 784 | |
245cb856 | 785 | %files resource-agents |
8029515d JB |
786 | %defattr(644,root,root,755) |
787 | %dir %{_prefix}/lib/ocf/resource.d/ceph | |
8029515d | 788 | %attr(755,root,root) %{_prefix}/lib/ocf/resource.d/ceph/rbd |
79dc5cad | 789 | |
bb30e67a | 790 | %if %{with tests} |
9911b50d JP |
791 | %files test |
792 | %defattr(644,root,root,755) | |
793 | %attr(755,root,root) %{_bindir}/ceph-client-debug | |
794 | %attr(755,root,root) %{_bindir}/ceph-coverage | |
795 | %attr(755,root,root) %{_bindir}/ceph-debugpack | |
796 | %attr(755,root,root) %{_bindir}/ceph-kvstore-tool | |
797 | %attr(755,root,root) %{_bindir}/ceph-monstore-tool | |
798 | %attr(755,root,root) %{_bindir}/ceph-osdomap-tool | |
799 | %attr(755,root,root) %{_bindir}/ceph_bench_log | |
800 | %attr(755,root,root) %{_bindir}/ceph_erasure_code | |
801 | %attr(755,root,root) %{_bindir}/ceph_erasure_code_benchmark | |
802 | %attr(755,root,root) %{_bindir}/ceph_kvstorebench | |
803 | %attr(755,root,root) %{_bindir}/ceph_multi_stress_watch | |
804 | %attr(755,root,root) %{_bindir}/ceph_objectstore_bench | |
805 | %attr(755,root,root) %{_bindir}/ceph_omapbench | |
806 | %attr(755,root,root) %{_bindir}/ceph_perf_local | |
807 | %attr(755,root,root) %{_bindir}/ceph_perf_msgr_client | |
808 | %attr(755,root,root) %{_bindir}/ceph_perf_msgr_server | |
809 | %attr(755,root,root) %{_bindir}/ceph_perf_objectstore | |
810 | %attr(755,root,root) %{_bindir}/ceph_psim | |
811 | %attr(755,root,root) %{_bindir}/ceph_radosacl | |
812 | %attr(755,root,root) %{_bindir}/ceph_rgw_jsonparser | |
813 | %attr(755,root,root) %{_bindir}/ceph_rgw_multiparser | |
814 | %attr(755,root,root) %{_bindir}/ceph_scratchtool | |
815 | %attr(755,root,root) %{_bindir}/ceph_scratchtoolpp | |
816 | %attr(755,root,root) %{_bindir}/ceph_smalliobench | |
817 | %attr(755,root,root) %{_bindir}/ceph_smalliobenchdumb | |
818 | %attr(755,root,root) %{_bindir}/ceph_smalliobenchfs | |
819 | %attr(755,root,root) %{_bindir}/ceph_smalliobenchrbd | |
820 | %attr(755,root,root) %{_bindir}/ceph_test_* | |
821 | %attr(755,root,root) %{_bindir}/ceph_tpbench | |
822 | %attr(755,root,root) %{_bindir}/ceph_xattr_bench | |
823 | %attr(755,root,root) %{_libdir}/ceph/ceph-monstore-update-crush.sh | |
682d6dd5 JB |
824 | %{py3_sitedir}/ceph/tests |
825 | %{py3_sitedir}/ceph_volume/tests | |
826 | %if %{with java} | |
827 | %{_javadir}/libcephfs-test.jar | |
828 | %endif | |
9911b50d JP |
829 | %{_mandir}/man8/ceph-debugpack.8* |
830 | %{_mandir}/man8/ceph-kvstore-tool.8* | |
831 | %endif | |
832 | ||
79dc5cad JB |
833 | %if %{with fio} |
834 | %files -n fio-ceph-objectstore | |
835 | %defattr(644,root,root,755) | |
836 | %doc src/test/fio/{README.md,ceph-*.conf,ceph-*.fio} | |
837 | %attr(755,root,root) %{_libdir}/libfio_ceph_objectstore.so | |
838 | %endif |