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