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