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