2 # spec file for package ceph
4 # Copyright (C) 2004-2019 The Ceph Project Developers. See COPYING file
5 # at the top-level directory of this distribution and at
6 # https://github.com/ceph/ceph/blob/master/COPYING
8 # All modifications and additions to the file contributed by third parties
9 # remain the property of their copyright owners, unless otherwise agreed
12 # This file is under the GNU Lesser General Public License, version 2.1
14 # Please submit bugfixes or comments via http://tracker.ceph.com/
17 #################################################################################
18 # conditional build section
20 # please read http://rpm.org/user_doc/conditional_builds.html for explanation of
22 #################################################################################
23 %bcond_with make_check
25 %bcond_with cmake_verbose_logging
26 %bcond_without ceph_test_package
30 %bcond_without tcmalloc
32 %bcond_with system_pmdk
33 %if 0%{?fedora} || 0%{?rhel}
34 %bcond_without selinux
35 %ifarch x86_64 ppc64le
36 %bcond_without rbd_rwl_cache
37 %bcond_without rbd_ssd_cache
39 %bcond_with rbd_rwl_cache
40 %bcond_with rbd_ssd_cache
43 %bcond_with cephfs_java
45 %bcond_without cephfs_java
47 %bcond_without amqp_endpoint
48 %bcond_without kafka_endpoint
50 %bcond_without libradosstriper
52 %global luarocks_package_name luarocks
53 %bcond_without lua_packages
54 %global _remote_tarball_prefix https
://download.ceph.com
/tarballs
/
57 %bcond_with amqp_endpoint
58 %bcond_with cephfs_java
59 %bcond_with kafka_endpoint
60 %bcond_with libradosstriper
61 %ifarch x86_64 aarch64 ppc64le
63 %bcond_without rbd_rwl_cache
64 %bcond_without rbd_ssd_cache
67 %bcond_with rbd_rwl_cache
68 %bcond_with rbd_ssd_cache
72 #Compat macro for _fillupdir macro introduced in Nov 2017
73 %if ! %{defined _fillupdir}
74 %global _fillupdir
/var
/adm
/fillup
-templates
79 %bcond_without lua_packages
82 %global luarocks_package_name lua53
-luarocks
85 %global luarocks_package_name lua54
-luarocks
89 %bcond_with lua_packages
94 %if 0%{?fedora} || 0%{?suse_version} >= 1500
95 # distros that ship cmd2 and/or colorama
96 %bcond_without cephfs_shell
98 # distros that do _not_ ship cmd2/colorama
99 %bcond_with cephfs_shell
101 %if 0%{?fedora} || 0%{?suse_version} || 0%{?rhel} >= 8
105 # get selinux policy version
106 # Force 0.0.0 policy version for centos builds to avoid repository sync issues between rhel and centos
108 %global _selinux_policy_version
0.0.0
110 %{!?_selinux_policy_version: %global _selinux_policy_version 0.0.0}
114 %{!?_udevrulesdir: %global _udevrulesdir /lib/udev/rules.d}
115 %{!?tmpfiles_create: %global tmpfiles_create systemd-tmpfiles --create}
116 %{!?python3_pkgversion: %global python3_pkgversion 3}
117 %{!?python3_version_nodots: %global python3_version_nodots 3}
118 %{!?python3_version: %global python3_version 3}
120 # disable dwz which compresses the debuginfo
121 %global _find_debuginfo_dwz_opts
%{nil}
123 #################################################################################
124 # main package definition
125 #################################################################################
129 %if 0%{?fedora} || 0%{?rhel}
133 # define _epoch_prefix macro which will expand to the empty string if epoch is
135 %global _epoch_prefix
%{?epoch:%{epoch}:}
137 Summary: User space components of the Ceph file system
138 License: LGPL
-2.1 and LGPL
-3.0 and CC
-BY
-SA
-3.0 and GPL
-2.0 and BSL
-1.0 and BSD
-3-Clause and MIT
139 %if 0%{?suse_version}
140 Group: System
/Filesystems
142 URL: http
://ceph.com
/
143 Source0: %{?_remote_tarball_prefix}ceph
-16.2.7.tar.bz2
144 %if 0%{?suse_version}
145 # _insert_obs_source_lines_here
146 ExclusiveArch: x86_64 aarch64 ppc64le s390x
148 #################################################################################
149 # dependencies that apply across all distro families
150 #################################################################################
151 Requires: ceph
-osd
= %{_epoch_prefix}%{version}-%{release}
152 Requires: ceph
-mds
= %{_epoch_prefix}%{version}-%{release}
153 Requires: ceph
-mgr
= %{_epoch_prefix}%{version}-%{release}
154 Requires: ceph
-mon
= %{_epoch_prefix}%{version}-%{release}
155 Requires(post
): binutils
156 %if 0%{with cephfs_java}
157 BuildRequires
: java
-devel
158 BuildRequires
: sharutils
161 BuildRequires
: checkpolicy
162 BuildRequires
: selinux
-policy
-devel
165 BuildRequires
: cmake
> 3.5
166 BuildRequires
: cryptsetup
167 BuildRequires
: fuse
-devel
169 BuildRequires
: gcc
-toolset
-9-gcc
-c
++ >= 9.2.1-2.3
171 BuildRequires
: gcc
-c
++
173 %if 0%{with tcmalloc}
174 # libprofiler did not build on ppc64le until 2.7.90
175 %if 0%{?fedora} || 0%{?rhel} >= 8
176 BuildRequires
: gperftools
-devel
>= 2.7.90
178 %if 0%{?rhel} && 0%{?rhel} < 8
179 BuildRequires
: gperftools
-devel
>= 2.6.1
181 %if 0%{?suse_version}
182 BuildRequires
: gperftools
-devel
>= 2.4
185 BuildRequires
: leveldb
-devel
> 1.2
186 BuildRequires
: libaio
-devel
187 BuildRequires
: libblkid
-devel
>= 2.17
188 BuildRequires
: cryptsetup
-devel
189 BuildRequires
: libcurl
-devel
190 BuildRequires
: libcap
-ng
-devel
191 BuildRequires
: fmt
-devel
>= 5.2.1
192 BuildRequires
: pkgconfig
(libudev
)
193 BuildRequires
: libnl3
-devel
194 BuildRequires
: liboath
-devel
195 BuildRequires
: libtool
196 BuildRequires
: libxml2
-devel
198 BuildRequires
: ncurses
-devel
199 BuildRequires
: libicu
-devel
200 BuildRequires
: parted
203 BuildRequires
: pkgconfig
204 BuildRequires
: procps
205 BuildRequires
: python
%{python3_pkgversion}
206 BuildRequires
: python
%{python3_pkgversion}-devel
207 BuildRequires
: snappy
-devel
208 BuildRequires
: sqlite
-devel
210 BuildRequires
: pkgconfig
(udev
)
211 BuildRequires
: util
-linux
212 BuildRequires
: valgrind
-devel
214 BuildRequires
: xfsprogs
215 BuildRequires
: xfsprogs
-devel
216 BuildRequires
: xmlstarlet
218 BuildRequires
: lua
-devel
219 %if 0%{with amqp_endpoint}
220 BuildRequires
: librabbitmq
-devel
222 %if 0%{with kafka_endpoint}
223 BuildRequires
: librdkafka
-devel
225 %if 0%{with lua_packages}
226 BuildRequires
: %{luarocks_package_name}
228 %if 0%{with make_check}
230 BuildRequires
: libuuid
-devel
231 BuildRequires
: python
%{python3_pkgversion}-bcrypt
232 BuildRequires
: python
%{python3_pkgversion}-nose
233 BuildRequires
: python
%{python3_pkgversion}-pecan
234 BuildRequires
: python
%{python3_pkgversion}-requests
235 BuildRequires
: python
%{python3_pkgversion}-dateutil
236 BuildRequires
: python
%{python3_pkgversion}-coverage
237 BuildRequires
: python
%{python3_pkgversion}-pyOpenSSL
241 BuildRequires
: libzbd
-devel
246 %if 0%{?fedora} || 0%{?rhel}
247 BuildRequires
: json
-devel
249 %if 0%{?suse_version}
250 BuildRequires
: nlohmann_json
-devel
252 BuildRequires
: libevent
-devel
253 BuildRequires
: yaml
-cpp
-devel
255 %if 0%{with system_pmdk}
256 BuildRequires
: libpmem
-devel
257 BuildRequires
: libpmemobj
-devel
260 BuildRequires
: c
-ares
-devel
261 BuildRequires
: gnutls
-devel
262 BuildRequires
: hwloc
-devel
263 BuildRequires
: libpciaccess
-devel
264 BuildRequires
: lksctp
-tools
-devel
265 BuildRequires
: protobuf
-devel
267 BuildRequires
: systemtap
-sdt
-devel
268 BuildRequires
: yaml
-cpp
-devel
270 BuildRequires
: libubsan
271 BuildRequires
: libasan
272 BuildRequires
: libatomic
275 BuildRequires
: gcc
-toolset
-9-annobin
276 BuildRequires
: gcc
-toolset
-9-libubsan
-devel
277 BuildRequires
: gcc
-toolset
-9-libasan
-devel
278 BuildRequires
: gcc
-toolset
-9-libatomic
-devel
281 #################################################################################
282 # distro-conditional dependencies
283 #################################################################################
284 %if 0%{?suse_version}
285 BuildRequires
: pkgconfig
(systemd
)
286 BuildRequires
: systemd
-rpm
-macros
288 PreReq
: %fillup_prereq
289 BuildRequires
: fdupes
290 BuildRequires
: net
-tools
291 BuildRequires
: libbz2
-devel
292 BuildRequires
: mozilla
-nss
-devel
293 BuildRequires
: keyutils
-devel
294 BuildRequires
: libopenssl
-devel
295 BuildRequires
: openldap2
-devel
297 #BuildRequires: krb5-devel
298 BuildRequires
: cunit
-devel
299 BuildRequires
: python
%{python3_pkgversion}-setuptools
300 BuildRequires
: python
%{python3_pkgversion}-Cython
301 BuildRequires
: python
%{python3_pkgversion}-PrettyTable
302 BuildRequires
: python
%{python3_pkgversion}-Sphinx
303 BuildRequires
: rdma
-core
-devel
304 BuildRequires
: liblz4
-devel
>= 1.7
305 # for prometheus-alerts
306 BuildRequires
: golang
-github
-prometheus
-prometheus
308 %if 0%{?fedora} || 0%{?rhel}
310 BuildRequires
: boost
-random
311 BuildRequires
: nss
-devel
312 BuildRequires
: keyutils
-libs
-devel
313 BuildRequires
: libibverbs
-devel
314 BuildRequires
: librdmacm
-devel
315 BuildRequires
: openldap
-devel
316 #BuildRequires: krb5-devel
317 BuildRequires
: openssl
-devel
318 BuildRequires
: CUnit
-devel
319 BuildRequires
: python
%{python3_pkgversion}-devel
320 BuildRequires
: python
%{python3_pkgversion}-setuptools
321 BuildRequires
: python
%{python3_pkgversion}-Cython
322 BuildRequires
: python
%{python3_pkgversion}-prettytable
323 BuildRequires
: python
%{python3_pkgversion}-sphinx
324 BuildRequires
: lz4
-devel
>= 1.7
326 # distro-conditional make check dependencies
327 %if 0%{with make_check}
328 %if 0%{?fedora} || 0%{?rhel}
329 BuildRequires
: golang
-github
-prometheus
330 BuildRequires
: jsonnet
331 BuildRequires
: libtool
-ltdl
-devel
332 BuildRequires
: xmlsec1
333 BuildRequires
: xmlsec1
-devel
335 BuildRequires
: xmlsec1
-nss
337 BuildRequires
: xmlsec1
-openssl
338 BuildRequires
: xmlsec1
-openssl
-devel
339 BuildRequires
: python
%{python3_pkgversion}-cherrypy
340 BuildRequires
: python
%{python3_pkgversion}-jwt
341 BuildRequires
: python
%{python3_pkgversion}-routes
342 BuildRequires
: python
%{python3_pkgversion}-scipy
343 BuildRequires
: python
%{python3_pkgversion}-werkzeug
344 BuildRequires
: python
%{python3_pkgversion}-pyOpenSSL
346 %if 0%{?suse_version}
347 BuildRequires
: golang
-github
-prometheus
-prometheus
348 BuildRequires
: jsonnet
349 BuildRequires
: libxmlsec1
-1
350 BuildRequires
: libxmlsec1
-nss1
351 BuildRequires
: libxmlsec1
-openssl1
352 BuildRequires
: python
%{python3_pkgversion}-CherryPy
353 BuildRequires
: python
%{python3_pkgversion}-PyJWT
354 BuildRequires
: python
%{python3_pkgversion}-Routes
355 BuildRequires
: python
%{python3_pkgversion}-Werkzeug
356 BuildRequires
: python
%{python3_pkgversion}-numpy
-devel
357 BuildRequires
: xmlsec1
-devel
358 BuildRequires
: xmlsec1
-openssl
-devel
361 # lttng and babeltrace for rbd-replay-prep
363 %if 0%{?fedora} || 0%{?rhel}
364 BuildRequires
: lttng
-ust
-devel
365 BuildRequires
: libbabeltrace
-devel
367 %if 0%{?suse_version}
368 BuildRequires
: lttng
-ust
-devel
369 BuildRequires
: babeltrace
-devel
372 %if 0%{?suse_version}
373 BuildRequires
: libexpat
-devel
375 %if 0%{?rhel} || 0%{?fedora}
376 BuildRequires
: expat
-devel
379 %if 0%{?fedora} || 0%{?rhel}
380 BuildRequires
: redhat
-rpm
-config
383 %if 0%{?fedora} || 0%{?rhel}
384 BuildRequires
: cryptopp
-devel
385 BuildRequires
: numactl
-devel
386 BuildRequires
: protobuf
-compiler
388 %if 0%{?suse_version}
389 BuildRequires
: libcryptopp
-devel
390 BuildRequires
: libnuma
-devel
394 BuildRequires
: /usr
/bin
/pathfix.py
398 Ceph is a massively scalable
, open
-source, distributed storage system that runs
399 on commodity hardware and delivers object
, block and file system storage.
402 #################################################################################
404 #################################################################################
406 Summary: Ceph Base Package
407 %if 0%{?suse_version}
408 Group: System
/Filesystems
410 Provides: ceph
-test:/usr
/bin
/ceph
-kvstore
-tool
411 Requires: ceph
-common
= %{_epoch_prefix}%{version}-%{release}
412 Requires: librbd1
= %{_epoch_prefix}%{version}-%{release}
413 Requires: librados2
= %{_epoch_prefix}%{version}-%{release}
414 Requires: libcephfs2
= %{_epoch_prefix}%{version}-%{release}
415 Requires: librgw2
= %{_epoch_prefix}%{version}-%{release}
417 Requires: ceph
-selinux
= %{_epoch_prefix}%{version}-%{release}
426 Requires: python
%{python3_pkgversion}-setuptools
430 %if 0%{?rhel} && 0%{?rhel} < 8
431 # The following is necessary due to tracker 36508 and can be removed once the
432 # associated upstream bugs are resolved.
433 %if 0%{with tcmalloc}
434 Requires: gperftools
-libs
>= 2.6.1
440 %if 0%{?suse_version}
441 Requires: smartmontools
443 Recommends
: smartmontools
447 Base is the package that includes all the files shared amongst ceph servers
450 Summary: Utility to bootstrap Ceph clusters
453 Requires: python
%{python3_pkgversion}
455 Recommends
: podman
>= 2.0.2
457 %description -n cephadm
458 Utility to bootstrap a Ceph cluster and manage Ceph daemons deployed
459 with systemd and podman.
461 %package -n ceph
-common
463 %if 0%{?suse_version}
464 Group: System
/Filesystems
466 Requires: librbd1
= %{_epoch_prefix}%{version}-%{release}
467 Requires: librados2
= %{_epoch_prefix}%{version}-%{release}
468 Requires: libcephfs2
= %{_epoch_prefix}%{version}-%{release}
469 Requires: python
%{python3_pkgversion}-rados = %{_epoch_prefix}%{version}-%{release}
470 Requires: python
%{python3_pkgversion}-rbd = %{_epoch_prefix}%{version}-%{release}
471 Requires: python
%{python3_pkgversion}-cephfs = %{_epoch_prefix}%{version}-%{release}
472 Requires: python
%{python3_pkgversion}-rgw = %{_epoch_prefix}%{version}-%{release}
473 Requires: python
%{python3_pkgversion}-ceph-argparse = %{_epoch_prefix}%{version}-%{release}
474 Requires: python
%{python3_pkgversion}-ceph-common = %{_epoch_prefix}%{version}-%{release}
476 Requires: libjaeger
= %{_epoch_prefix}%{version}-%{release}
478 %if 0%{?fedora} || 0%{?rhel}
479 Requires: python
%{python3_pkgversion}-prettytable
481 %if 0%{?suse_version}
482 Requires: python
%{python3_pkgversion}-PrettyTable
484 %if 0%{with libradosstriper}
485 Requires: libradosstriper1
= %{_epoch_prefix}%{version}-%{release}
488 %if 0%{?suse_version}
489 Requires(pre
): pwdutils
491 %description -n ceph
-common
492 Common utilities to mount and interact with a ceph storage cluster.
493 Comprised of files that are common to Ceph clients and servers.
496 Summary: Ceph Metadata Server Daemon
497 %if 0%{?suse_version}
498 Group: System
/Filesystems
500 Requires: ceph
-base
= %{_epoch_prefix}%{version}-%{release}
502 ceph
-mds is the metadata server daemon
for the Ceph distributed file system.
503 One or more instances of ceph
-mds collectively manage the file system
504 namespace
, coordinating access to the shared OSD cluster.
507 Summary: Ceph Monitor Daemon
508 %if 0%{?suse_version}
509 Group: System
/Filesystems
511 Provides: ceph
-test:/usr
/bin
/ceph
-monstore
-tool
512 Requires: ceph
-base
= %{_epoch_prefix}%{version}-%{release}
514 Requires: libjaeger
= %{_epoch_prefix}%{version}-%{release}
517 ceph
-mon is the cluster monitor daemon
for the Ceph distributed file
518 system. One or more instances of ceph
-mon form a Paxos part
-time
519 parliament cluster that provides extremely reliable and durable storage
520 of cluster membership
, configuration
, and state.
523 Summary: Ceph Manager Daemon
524 %if 0%{?suse_version}
525 Group: System
/Filesystems
527 Requires: ceph
-base
= %{_epoch_prefix}%{version}-%{release}
528 Requires: ceph
-mgr
-modules
-core
= %{_epoch_prefix}%{version}-%{release}
529 Requires: libcephsqlite
= %{_epoch_prefix}%{version}-%{release}
531 Recommends
: ceph
-mgr
-dashboard
= %{_epoch_prefix}%{version}-%{release}
532 Recommends
: ceph
-mgr
-diskprediction
-local = %{_epoch_prefix}%{version}-%{release}
533 Recommends
: ceph
-mgr
-k8sevents
= %{_epoch_prefix}%{version}-%{release}
534 Recommends
: ceph
-mgr
-cephadm
= %{_epoch_prefix}%{version}-%{release}
535 Recommends
: python
%{python3_pkgversion}-influxdb
538 ceph
-mgr enables python modules that provide services
(such as the REST
539 module derived from Calamari
) and expose CLI hooks. ceph
-mgr gathers
540 the cluster maps
, the daemon metadata
, and performance counters
, and
541 exposes all these to the python modules.
543 %package mgr
-dashboard
544 Summary: Ceph Dashboard
546 %if 0%{?suse_version}
547 Group: System
/Filesystems
549 Requires: ceph
-mgr
= %{_epoch_prefix}%{version}-%{release}
550 Requires: ceph
-grafana
-dashboards
= %{_epoch_prefix}%{version}-%{release}
551 Requires: ceph
-prometheus
-alerts
= %{_epoch_prefix}%{version}-%{release}
552 %if 0%{?fedora} || 0%{?rhel}
553 Requires: python
%{python3_pkgversion}-cherrypy
554 Requires: python
%{python3_pkgversion}-jwt
555 Requires: python
%{python3_pkgversion}-routes
556 Requires: python
%{python3_pkgversion}-werkzeug
558 Recommends
: python
%{python3_pkgversion}-saml
561 %if 0%{?suse_version}
562 Requires: python
%{python3_pkgversion}-CherryPy
563 Requires: python
%{python3_pkgversion}-PyJWT
564 Requires: python
%{python3_pkgversion}-Routes
565 Requires: python
%{python3_pkgversion}-Werkzeug
566 Recommends
: python
%{python3_pkgversion}-python3
-saml
568 %description mgr
-dashboard
569 ceph
-mgr
-dashboard is a manager module
, providing a web
-based application
570 to monitor and manage many aspects of a Ceph cluster and related components.
571 See the Dashboard documentation at http
://docs.ceph.com
/ for details and a
572 detailed feature overview.
574 %package mgr
-diskprediction
-local
575 Summary: Ceph Manager module
for predicting disk failures
577 %if 0%{?suse_version}
578 Group: System
/Filesystems
580 Requires: ceph
-mgr
= %{_epoch_prefix}%{version}-%{release}
581 Requires: python
%{python3_pkgversion}-numpy
582 %if 0%{?fedora} || 0%{?suse_version}
583 Requires: python
%{python3_pkgversion}-scikit
-learn
585 Requires: python3
-scipy
586 %description mgr
-diskprediction
-local
587 ceph
-mgr
-diskprediction
-local is a ceph
-mgr module that tries to predict
588 disk failures using
local algorithms and machine
-learning databases.
590 %package mgr
-modules
-core
591 Summary: Ceph Manager modules which are always enabled
593 %if 0%{?suse_version}
594 Group: System
/Filesystems
596 Requires: python
%{python3_pkgversion}-bcrypt
597 Requires: python
%{python3_pkgversion}-pecan
598 Requires: python
%{python3_pkgversion}-pyOpenSSL
599 Requires: python
%{python3_pkgversion}-requests
600 Requires: python
%{python3_pkgversion}-dateutil
601 %if 0%{?fedora} || 0%{?rhel} >= 8
602 Requires: python
%{python3_pkgversion}-cherrypy
603 Requires: python
%{python3_pkgversion}-pyyaml
604 Requires: python
%{python3_pkgversion}-werkzeug
606 %if 0%{?suse_version}
607 Requires: python
%{python3_pkgversion}-CherryPy
608 Requires: python
%{python3_pkgversion}-PyYAML
609 Requires: python
%{python3_pkgversion}-Werkzeug
612 Recommends
: ceph
-mgr
-rook
= %{_epoch_prefix}%{version}-%{release}
614 %description mgr
-modules
-core
615 ceph
-mgr
-modules
-core provides a
set of modules which are always
620 Summary: Ceph Manager module
for Rook
-based orchestration
621 %if 0%{?suse_version}
622 Group: System
/Filesystems
624 Requires: ceph
-mgr
= %{_epoch_prefix}%{version}-%{release}
625 Requires: python
%{python3_pkgversion}-kubernetes
626 Requires: python
%{python3_pkgversion}-jsonpatch
627 %description mgr
-rook
628 ceph
-mgr
-rook is a ceph
-mgr module
for orchestration functions using
631 %package mgr
-k8sevents
633 Summary: Ceph Manager module to orchestrate ceph
-events to kubernetes' events API
634 %if 0%{?suse_version}
635 Group: System
/Filesystems
637 Requires: ceph
-mgr
= %{_epoch_prefix}%{version}-%{release}
638 Requires: python
%{python3_pkgversion}-kubernetes
639 %description mgr
-k8sevents
640 ceph
-mgr
-k8sevents is a ceph
-mgr module that sends every ceph
-events
641 to kubernetes' events API
644 Summary: Ceph Manager module
for cephadm
-based orchestration
646 %if 0%{?suse_version}
647 Group: System
/Filesystems
649 Requires: ceph
-mgr
= %{_epoch_prefix}%{version}-%{release}
650 Requires: python
%{python3_pkgversion}-remoto
651 Requires: cephadm
= %{_epoch_prefix}%{version}-%{release}
652 %if 0%{?suse_version}
654 Requires: python
%{python3_pkgversion}-Jinja2
656 %if 0%{?rhel} || 0%{?fedora}
657 Requires: openssh
-clients
658 Requires: python
%{python3_pkgversion}-jinja2
660 %description mgr
-cephadm
661 ceph
-mgr
-cephadm is a ceph
-mgr module
for orchestration functions using
662 the integrated cephadm deployment tool management operations.
665 Summary: Ceph fuse
-based client
666 %if 0%{?suse_version}
667 Group: System
/Filesystems
670 Requires: python
%{python3_pkgversion}
672 FUSE based client
for Ceph distributed network file system
674 %package -n cephfs
-mirror
675 Summary: Ceph daemon
for mirroring CephFS snapshots
676 %if 0%{?suse_version}
677 Group: System
/Filesystems
679 Requires: ceph
-base
= %{_epoch_prefix}%{version}-%{release}
680 Requires: librados2
= %{_epoch_prefix}%{version}-%{release}
681 Requires: libcephfs2
= %{_epoch_prefix}%{version}-%{release}
682 %description -n cephfs
-mirror
683 Daemon
for mirroring CephFS snapshots between Ceph clusters.
686 Summary: Ceph fuse
-based client
687 %if 0%{?suse_version}
688 Group: System
/Filesystems
690 Requires: librados2
= %{_epoch_prefix}%{version}-%{release}
691 Requires: librbd1
= %{_epoch_prefix}%{version}-%{release}
692 %description -n rbd
-fuse
693 FUSE based client to map Ceph rbd images to files
695 %package -n rbd
-mirror
696 Summary: Ceph daemon
for mirroring RBD images
697 %if 0%{?suse_version}
698 Group: System
/Filesystems
700 Requires: ceph
-base
= %{_epoch_prefix}%{version}-%{release}
701 Requires: librados2
= %{_epoch_prefix}%{version}-%{release}
702 Requires: librbd1
= %{_epoch_prefix}%{version}-%{release}
703 %description -n rbd
-mirror
704 Daemon
for mirroring RBD images between Ceph clusters
, streaming
705 changes asynchronously.
707 %package immutable
-object
-cache
708 Summary: Ceph daemon
for immutable object cache
709 %if 0%{?suse_version}
710 Group: System
/Filesystems
712 Requires: ceph
-base
= %{_epoch_prefix}%{version}-%{release}
713 Requires: librados2
= %{_epoch_prefix}%{version}-%{release}
714 %description immutable
-object
-cache
715 Daemon
for immutable object cache.
718 Summary: Ceph RBD client base on NBD
719 %if 0%{?suse_version}
720 Group: System
/Filesystems
722 Requires: librados2
= %{_epoch_prefix}%{version}-%{release}
723 Requires: librbd1
= %{_epoch_prefix}%{version}-%{release}
724 %description -n rbd
-nbd
725 NBD based client to map Ceph rbd images to
local device
728 Summary: Rados REST gateway
729 %if 0%{?suse_version}
730 Group: System
/Filesystems
732 Requires: ceph
-base
= %{_epoch_prefix}%{version}-%{release}
734 Requires: ceph
-selinux
= %{_epoch_prefix}%{version}-%{release}
736 Requires: librados2
= %{_epoch_prefix}%{version}-%{release}
737 Requires: librgw2
= %{_epoch_prefix}%{version}-%{release}
738 %if 0%{?rhel} || 0%{?fedora}
745 RADOS is a distributed object store used by the Ceph distributed
746 storage system. This package provides a REST gateway to the
747 object store that aims to implement a superset of Amazon's S3
748 service as well as the OpenStack Object Storage
("Swift"
) API.
750 %package -n cephfs
-top
751 Summary: top
(1) like utility
for Ceph Filesystem
753 Requires: python
%{python3_pkgversion}-rados
754 %description -n cephfs
-top
755 This package provides a top
(1) like utility to display Ceph Filesystem metrics
759 %package resource
-agents
760 Summary: OCF
-compliant resource agents
for Ceph daemons
761 %if 0%{?suse_version}
762 Group: System
/Filesystems
764 Requires: ceph
-base
= %{_epoch_prefix}%{version}
765 Requires: resource
-agents
766 %description resource
-agents
767 Resource agents
for monitoring and managing Ceph daemons
768 under Open Cluster Framework
(OCF
) compliant resource
769 managers such as Pacemaker.
773 Summary: Ceph Object Storage Daemon
774 %if 0%{?suse_version}
775 Group: System
/Filesystems
777 Provides: ceph
-test:/usr
/bin
/ceph
-osdomap
-tool
778 Requires: ceph
-base
= %{_epoch_prefix}%{version}-%{release}
781 Requires: libstoragemgmt
782 Requires: python
%{python3_pkgversion}-ceph-common = %{_epoch_prefix}%{version}-%{release}
784 ceph
-osd is the object storage daemon
for the Ceph distributed file
785 system. It is responsible
for storing objects on a
local file system
786 and providing access to them over the network.
790 Summary: Ceph Object Storage Daemon
(crimson
)
791 %if 0%{?suse_version}
792 Group: System
/Filesystems
794 Requires: ceph
-osd
= %{_epoch_prefix}%{version}-%{release}
795 %description crimson
-osd
796 crimson
-osd is the object storage daemon
for the Ceph distributed file
797 system. It is responsible
for storing objects on a
local file system
798 and providing access to them over the network.
801 %package -n librados2
802 Summary: RADOS distributed object store client library
803 %if 0%{?suse_version}
804 Group: System
/Libraries
806 %if 0%{?rhel} || 0%{?fedora}
807 Obsoletes
: ceph
-libs
< %{_epoch_prefix}%{version}-%{release}
809 %description -n librados2
810 RADOS is a reliable
, autonomic distributed object storage cluster
811 developed as part of the Ceph distributed storage system. This is a
812 shared library allowing applications to access the distributed object
813 store using a simple file
-like interface.
815 %package -n librados
-devel
816 Summary: RADOS headers
817 %if 0%{?suse_version}
818 Group: Development
/Libraries
/C and C
++
820 Requires: librados2
= %{_epoch_prefix}%{version}-%{release}
821 Obsoletes
: ceph
-devel
< %{_epoch_prefix}%{version}-%{release}
822 Provides: librados2
-devel
= %{_epoch_prefix}%{version}-%{release}
823 Obsoletes
: librados2
-devel
< %{_epoch_prefix}%{version}-%{release}
824 %description -n librados
-devel
825 This package contains C libraries and headers needed to develop programs
826 that use RADOS object store.
828 %package -n libradospp
-devel
829 Summary: RADOS headers
830 %if 0%{?suse_version}
831 Group: Development
/Libraries
/C and C
++
833 Requires: librados2
= %{_epoch_prefix}%{version}-%{release}
834 Requires: librados
-devel
= %{_epoch_prefix}%{version}-%{release}
835 %description -n libradospp
-devel
836 This package contains C
++ libraries and headers needed to develop programs
837 that use RADOS object store.
840 Summary: RADOS gateway client library
841 %if 0%{?suse_version}
842 Group: System
/Libraries
844 Requires: librados2
= %{_epoch_prefix}%{version}-%{release}
845 %description -n librgw2
846 This package provides a library implementation of the RADOS gateway
847 (distributed object store with S3 and Swift personalities
).
849 %package -n librgw
-devel
850 Summary: RADOS gateway client library
851 %if 0%{?suse_version}
852 Group: Development
/Libraries
/C and C
++
854 Requires: librados
-devel
= %{_epoch_prefix}%{version}-%{release}
855 Requires: librgw2
= %{_epoch_prefix}%{version}-%{release}
856 Provides: librgw2
-devel
= %{_epoch_prefix}%{version}-%{release}
857 Obsoletes
: librgw2
-devel
< %{_epoch_prefix}%{version}-%{release}
858 %description -n librgw
-devel
859 This package contains libraries and headers needed to develop programs
860 that use RADOS gateway client library.
862 %package -n python
%{python3_pkgversion}-rgw
863 Summary: Python
3 libraries
for the RADOS gateway
864 %if 0%{?suse_version}
865 Group: Development
/Libraries
/Python
867 Requires: librgw2
= %{_epoch_prefix}%{version}-%{release}
868 Requires: python
%{python3_pkgversion}-rados = %{_epoch_prefix}%{version}-%{release}
869 %{?python_provide:%python_provide python%{python3_pkgversion}-rgw}
870 Provides: python
-rgw
= %{_epoch_prefix}%{version}-%{release}
871 Obsoletes
: python
-rgw
< %{_epoch_prefix}%{version}-%{release}
872 %description -n python
%{python3_pkgversion}-rgw
873 This package contains Python
3 libraries
for interacting with Ceph RADOS
876 %package -n python
%{python3_pkgversion}-rados
877 Summary: Python
3 libraries
for the RADOS object store
878 %if 0%{?suse_version}
879 Group: Development
/Libraries
/Python
881 Requires: python
%{python3_pkgversion}
882 Requires: librados2
= %{_epoch_prefix}%{version}-%{release}
883 %{?python_provide:%python_provide python%{python3_pkgversion}-rados}
884 Provides: python
-rados
= %{_epoch_prefix}%{version}-%{release}
885 Obsoletes
: python
-rados
< %{_epoch_prefix}%{version}-%{release}
886 %description -n python
%{python3_pkgversion}-rados
887 This package contains Python
3 libraries
for interacting with Ceph RADOS
890 %package -n libcephsqlite
891 Summary: SQLite3 VFS
for Ceph
892 %if 0%{?suse_version}
893 Group: System
/Libraries
895 Requires: librados2
= %{_epoch_prefix}%{version}-%{release}
896 %description -n libcephsqlite
897 A SQLite3 VFS
for storing and manipulating databases stored on Ceph's RADOS
898 distributed object store.
900 %package -n libcephsqlite
-devel
901 Summary: SQLite3 VFS
for Ceph headers
902 %if 0%{?suse_version}
903 Group: Development
/Libraries
/C and C
++
905 Requires: sqlite
-devel
906 Requires: libcephsqlite
= %{_epoch_prefix}%{version}-%{release}
907 Requires: librados
-devel
= %{_epoch_prefix}%{version}-%{release}
908 Requires: libradospp
-devel
= %{_epoch_prefix}%{version}-%{release}
909 Obsoletes
: ceph
-devel
< %{_epoch_prefix}%{version}-%{release}
910 Provides: libcephsqlite
-devel
= %{_epoch_prefix}%{version}-%{release}
911 Obsoletes
: libcephsqlite
-devel
< %{_epoch_prefix}%{version}-%{release}
912 %description -n libcephsqlite
-devel
913 A SQLite3 VFS
for storing and manipulating databases stored on Ceph's RADOS
914 distributed object store.
916 %if 0%{with libradosstriper}
917 %package -n libradosstriper1
918 Summary: RADOS striping interface
919 %if 0%{?suse_version}
920 Group: System
/Libraries
922 Requires: librados2
= %{_epoch_prefix}%{version}-%{release}
923 %description -n libradosstriper1
924 Striping interface built on top of the rados library
, allowing
925 to stripe bigger objects onto several standard rados objects using
926 an interface very similar to the rados one.
928 %package -n libradosstriper
-devel
929 Summary: RADOS striping interface headers
930 %if 0%{?suse_version}
931 Group: Development
/Libraries
/C and C
++
933 Requires: libradosstriper1
= %{_epoch_prefix}%{version}-%{release}
934 Requires: librados
-devel
= %{_epoch_prefix}%{version}-%{release}
935 Requires: libradospp
-devel
= %{_epoch_prefix}%{version}-%{release}
936 Obsoletes
: ceph
-devel
< %{_epoch_prefix}%{version}-%{release}
937 Provides: libradosstriper1
-devel
= %{_epoch_prefix}%{version}-%{release}
938 Obsoletes
: libradosstriper1
-devel
< %{_epoch_prefix}%{version}-%{release}
939 %description -n libradosstriper
-devel
940 This package contains libraries and headers needed to develop programs
941 that use RADOS striping interface.
945 Summary: RADOS block device client library
946 %if 0%{?suse_version}
947 Group: System
/Libraries
949 Requires: librados2
= %{_epoch_prefix}%{version}-%{release}
950 %if 0%{?suse_version}
951 Requires(post
): coreutils
953 %if 0%{?rhel} || 0%{?fedora}
954 Obsoletes
: ceph
-libs
< %{_epoch_prefix}%{version}-%{release}
956 %description -n librbd1
957 RBD is a block device striped across multiple distributed objects
in
958 RADOS
, a reliable
, autonomic distributed object storage cluster
959 developed as part of the Ceph distributed storage system. This is a
960 shared library allowing applications to manage these block devices.
962 %package -n librbd
-devel
963 Summary: RADOS block device headers
964 %if 0%{?suse_version}
965 Group: Development
/Libraries
/C and C
++
967 Requires: librbd1
= %{_epoch_prefix}%{version}-%{release}
968 Requires: librados
-devel
= %{_epoch_prefix}%{version}-%{release}
969 Requires: libradospp
-devel
= %{_epoch_prefix}%{version}-%{release}
970 Obsoletes
: ceph
-devel
< %{_epoch_prefix}%{version}-%{release}
971 Provides: librbd1
-devel
= %{_epoch_prefix}%{version}-%{release}
972 Obsoletes
: librbd1
-devel
< %{_epoch_prefix}%{version}-%{release}
973 %description -n librbd
-devel
974 This package contains libraries and headers needed to develop programs
975 that use RADOS block device.
977 %package -n python
%{python3_pkgversion}-rbd
978 Summary: Python
3 libraries
for the RADOS block device
979 %if 0%{?suse_version}
980 Group: Development
/Libraries
/Python
982 Requires: librbd1
= %{_epoch_prefix}%{version}-%{release}
983 Requires: python
%{python3_pkgversion}-rados = %{_epoch_prefix}%{version}-%{release}
984 %{?python_provide:%python_provide python%{python3_pkgversion}-rbd}
985 Provides: python
-rbd
= %{_epoch_prefix}%{version}-%{release}
986 Obsoletes
: python
-rbd
< %{_epoch_prefix}%{version}-%{release}
987 %description -n python
%{python3_pkgversion}-rbd
988 This package contains Python
3 libraries
for interacting with Ceph RADOS
991 %package -n libcephfs2
992 Summary: Ceph distributed file system client library
993 %if 0%{?suse_version}
994 Group: System
/Libraries
996 Obsoletes
: libcephfs1
< %{_epoch_prefix}%{version}-%{release}
997 %if 0%{?rhel} || 0%{?fedora}
998 Obsoletes
: ceph
-libs
< %{_epoch_prefix}%{version}-%{release}
999 Obsoletes
: ceph
-libcephfs
1001 %description -n libcephfs2
1002 Ceph is a distributed network file system designed to provide excellent
1003 performance
, reliability
, and scalability. This is a shared library
1004 allowing applications to access a Ceph distributed file system via a
1005 POSIX
-like interface.
1007 %package -n libcephfs
-devel
1008 Summary: Ceph distributed file system headers
1009 %if 0%{?suse_version}
1010 Group: Development
/Libraries
/C and C
++
1012 Requires: libcephfs2
= %{_epoch_prefix}%{version}-%{release}
1013 Requires: librados
-devel
= %{_epoch_prefix}%{version}-%{release}
1014 Obsoletes
: ceph
-devel
< %{_epoch_prefix}%{version}-%{release}
1015 Provides: libcephfs2
-devel
= %{_epoch_prefix}%{version}-%{release}
1016 Obsoletes
: libcephfs2
-devel
< %{_epoch_prefix}%{version}-%{release}
1017 %description -n libcephfs
-devel
1018 This package contains libraries and headers needed to develop programs
1019 that use Ceph distributed file system.
1022 %package -n libjaeger
1023 Summary: Ceph distributed file system tracing library
1024 %if 0%{?suse_version}
1025 Group: System
/Libraries
1027 Provides: libjaegertracing.so
.0()(64bit
)
1028 Provides: libopentracing.so
.1()(64bit
)
1029 Provides: libthrift.so
.0.13.0()(64bit
)
1030 %description -n libjaeger
1031 This package contains libraries needed to provide distributed
1035 %package -n python
%{python3_pkgversion}-cephfs
1036 Summary: Python
3 libraries
for Ceph distributed file system
1037 %if 0%{?suse_version}
1038 Group: Development
/Libraries
/Python
1040 Requires: libcephfs2
= %{_epoch_prefix}%{version}-%{release}
1041 Requires: python
%{python3_pkgversion}-rados = %{_epoch_prefix}%{version}-%{release}
1042 Requires: python
%{python3_pkgversion}-ceph-argparse = %{_epoch_prefix}%{version}-%{release}
1043 %{?python_provide:%python_provide python%{python3_pkgversion}-cephfs}
1044 Provides: python
-cephfs
= %{_epoch_prefix}%{version}-%{release}
1045 Obsoletes
: python
-cephfs
< %{_epoch_prefix}%{version}-%{release}
1046 %description -n python
%{python3_pkgversion}-cephfs
1047 This package contains Python
3 libraries
for interacting with Ceph distributed
1050 %package -n python
%{python3_pkgversion}-ceph
-argparse
1051 Summary: Python
3 utility libraries
for Ceph CLI
1052 %if 0%{?suse_version}
1053 Group: Development
/Libraries
/Python
1055 %{?python_provide:%python_provide python%{python3_pkgversion}-ceph-argparse}
1056 %description -n python
%{python3_pkgversion}-ceph
-argparse
1057 This package contains types and routines
for Python
3 used by the Ceph CLI as
1058 well as the RESTful interface. These have to
do with querying the daemons
for
1059 command-description information
, validating user
command input against those
1060 descriptions
, and submitting the
command to the appropriate daemon.
1062 %package -n python
%{python3_pkgversion}-ceph
-common
1063 Summary: Python
3 utility libraries
for Ceph
1064 %if 0%{?fedora} || 0%{?rhel} >= 8
1065 Requires: python
%{python3_pkgversion}-pyyaml
1067 %if 0%{?suse_version}
1068 Requires: python
%{python3_pkgversion}-PyYAML
1070 %if 0%{?suse_version}
1071 Group: Development
/Libraries
/Python
1073 %{?python_provide:%python_provide python%{python3_pkgversion}-ceph-common}
1074 %description -n python
%{python3_pkgversion}-ceph
-common
1075 This package contains data structures
, classes and functions used by Ceph.
1076 It also contains utilities used
for the cephadm orchestrator.
1078 %if 0%{with cephfs_shell}
1079 %package -n cephfs
-shell
1080 Summary: Interactive shell
for Ceph file system
1081 Requires: python
%{python3_pkgversion}-cmd2
1082 Requires: python
%{python3_pkgversion}-colorama
1083 Requires: python
%{python3_pkgversion}-cephfs
1084 %description -n cephfs
-shell
1085 This package contains an interactive tool that allows accessing a Ceph
1086 file system without mounting it by providing a nice pseudo
-shell which
1087 works like an FTP client.
1090 %if 0%{with ceph_test_package}
1091 %package -n ceph
-test
1092 Summary: Ceph benchmarks and
test tools
1093 %if 0%{?suse_version}
1094 Group: System
/Benchmark
1096 Requires: ceph
-common
= %{_epoch_prefix}%{version}-%{release}
1097 Requires: xmlstarlet
1100 %description -n ceph
-test
1101 This package contains Ceph benchmarks and
test tools.
1104 %if 0%{with cephfs_java}
1106 %package -n libcephfs_jni1
1107 Summary: Java Native Interface library
for CephFS Java bindings
1108 %if 0%{?suse_version}
1109 Group: System
/Libraries
1112 Requires: libcephfs2
= %{_epoch_prefix}%{version}-%{release}
1113 %description -n libcephfs_jni1
1114 This package contains the Java Native Interface library
for CephFS Java
1117 %package -n libcephfs_jni
-devel
1118 Summary: Development files
for CephFS Java Native Interface library
1119 %if 0%{?suse_version}
1120 Group: Development
/Libraries
/Java
1123 Requires: libcephfs_jni1
= %{_epoch_prefix}%{version}-%{release}
1124 Obsoletes
: ceph
-devel
< %{_epoch_prefix}%{version}-%{release}
1125 Provides: libcephfs_jni1
-devel
= %{_epoch_prefix}%{version}-%{release}
1126 Obsoletes
: libcephfs_jni1
-devel
< %{_epoch_prefix}%{version}-%{release}
1127 %description -n libcephfs_jni
-devel
1128 This package contains the development files
for CephFS Java Native Interface
1131 %package -n cephfs
-java
1132 Summary: Java libraries
for the Ceph File System
1133 %if 0%{?suse_version}
1134 Group: System
/Libraries
1137 Requires: libcephfs_jni1
= %{_epoch_prefix}%{version}-%{release}
1139 BuildRequires
: junit
1140 %description -n cephfs
-java
1141 This package contains the Java libraries
for the Ceph File System.
1145 %package -n rados
-objclass
-devel
1146 Summary: RADOS object class development kit
1147 %if 0%{?suse_version}
1148 Group: Development
/Libraries
/C and C
++
1150 Requires: libradospp
-devel
= %{_epoch_prefix}%{version}-%{release}
1151 %description -n rados
-objclass
-devel
1152 This package contains libraries and headers needed to develop RADOS object
1155 %if 0%{with selinux}
1158 Summary: SELinux support
for Ceph MON
, OSD and MDS
1159 %if 0%{?suse_version}
1160 Group: System
/Filesystems
1162 Requires: ceph
-base
= %{_epoch_prefix}%{version}-%{release}
1163 Requires: policycoreutils
, libselinux
-utils
1164 Requires(post
): ceph
-base
= %{_epoch_prefix}%{version}-%{release}
1165 Requires(post
): selinux
-policy
-base
>= %{_selinux_policy_version}, policycoreutils
, gawk
1166 Requires(postun
): policycoreutils
1167 %description selinux
1168 This package contains SELinux support
for Ceph MON
, OSD and MDS. The package
1169 also performs file
-system relabelling which can take a long
time on heavily
1170 populated file
-systems.
1174 %package grafana
-dashboards
1175 Summary: The
set of Grafana dashboards
for monitoring purposes
1177 %if 0%{?suse_version}
1178 Group: System
/Filesystems
1180 %description grafana
-dashboards
1181 This package provides a
set of Grafana dashboards
for monitoring of
1182 Ceph clusters. The dashboards require a Prometheus server setup
1183 collecting data from Ceph Manager "prometheus" module and Prometheus
1184 project "node_exporter" module. The dashboards are designed to be
1185 integrated with the Ceph Manager Dashboard web UI.
1187 %package prometheus
-alerts
1188 Summary: Prometheus alerts
for a Ceph deployment
1190 Group: System
/Monitoring
1191 %description prometheus
-alerts
1192 This package provides Ceph default alerts
for Prometheus.
1194 #################################################################################
1196 #################################################################################
1198 %autosetup -p1
-n ceph
-16.2.7
1201 # LTO can be enabled as soon as the following GCC bug is fixed:
1202 # https://gcc.gnu.org/bugzilla/show_bug.cgi?id=48200
1203 %define _lto_cflags
%{nil}
1205 %if 0%{with seastar} && 0%{?rhel}
1206 .
/opt
/rh
/gcc
-toolset
-9/enable
1209 %if 0%{with cephfs_java}
1211 for i
in /usr
/{lib64
,lib
}/jvm
/java
/include
{,/linux
}; do
1212 [ -d $i
] && java_inc
="$java_inc
-I$i"
1216 %if 0%{?suse_version}
1217 # the following setting fixed an OOM condition we once encountered in the OBS
1218 RPM_OPT_FLAGS
="$RPM_OPT_FLAGS
--param ggc
-min
-expand
=20 --param ggc
-min
-heapsize
=32768"
1221 export CPPFLAGS
="$java_inc"
1222 export CFLAGS
="$RPM_OPT_FLAGS"
1223 export CXXFLAGS
="$RPM_OPT_FLAGS"
1224 export LDFLAGS
="$RPM_LD_FLAGS"
1226 %if 0%{with seastar}
1227 # seastar uses longjmp() to implement coroutine. and this annoys longjmp_chk()
1228 export CXXFLAGS
=$
(echo $RPM_OPT_FLAGS | sed
-e 's
/-Wp
,-D_FORTIFY_SOURCE
=2//g'
)
1231 # Parallel build settings ...
1232 CEPH_MFLAGS_JOBS
="
%{?_smp_mflags}"
1233 CEPH_SMP_NCPUS
=$
(echo "$CEPH_MFLAGS_JOBS" | sed 's
/-j
//'
)
1234 %if 0%{?__isa_bits} == 32
1235 # 32-bit builds can use 3G memory max, which is not enough even for -j2
1238 # do not eat all memory
1239 echo "Available memory
:"
1241 echo "System limits
:"
1243 if test -n "$CEPH_SMP_NCPUS"
-a "$CEPH_SMP_NCPUS"
-gt
1 ; then
1244 mem_per_process
=2500
1245 max_mem
=$
(LANG
=C free
-m | sed
-n "s|^Mem
: *\
([0-9]*\
).
*$|\
1|p"
)
1246 max_jobs
="$
(($max_mem
/ $mem_per_process
))"
1247 test "$CEPH_SMP_NCPUS"
-gt "$max_jobs"
&& CEPH_SMP_NCPUS
="$max_jobs"
&& echo "Warning
: Reducing build parallelism to
-j$max_jobs because of memory limits"
1248 test "$CEPH_SMP_NCPUS"
-le
0 && CEPH_SMP_NCPUS
="
1"
&& echo "Warning
: Not using parallel build at all because of memory limits"
1250 export CEPH_SMP_NCPUS
1251 export CEPH_MFLAGS_JOBS
="
-j$CEPH_SMP_NCPUS"
1259 -DCMAKE_INSTALL_PREFIX
=%{_prefix} \
1260 -DCMAKE_INSTALL_LIBDIR
=%{_libdir} \
1261 -DCMAKE_INSTALL_LIBEXECDIR
=%{_libexecdir} \
1262 -DCMAKE_INSTALL_LOCALSTATEDIR
=%{_localstatedir} \
1263 -DCMAKE_INSTALL_SYSCONFDIR
=%{_sysconfdir} \
1264 -DCMAKE_INSTALL_MANDIR
=%{_mandir} \
1265 -DCMAKE_INSTALL_DOCDIR
=%{_docdir}/ceph \
1266 -DCMAKE_INSTALL_INCLUDEDIR
=%{_includedir} \
1267 -DCMAKE_INSTALL_SYSTEMD_SERVICEDIR
=%{_unitdir} \
1269 -DWITH_PYTHON3
=%{python3_version} \
1270 -DWITH_MGR_DASHBOARD_FRONTEND
=OFF \
1271 %if 0%{without ceph_test_package}
1274 %if 0%{with cephfs_java}
1275 -DWITH_CEPHFS_JAVA
=ON \
1277 %if 0%{with selinux}
1282 -DWITH_BABELTRACE
=ON \
1285 -DWITH_BABELTRACE
=OFF \
1287 $CEPH_EXTRA_CMAKE_ARGS \
1291 %if 0%{with cephfs_shell}
1292 -DWITH_CEPHFS_SHELL
=ON \
1294 %if 0%{with libradosstriper}
1295 -DWITH_LIBRADOSSTRIPER
=ON \
1297 -DWITH_LIBRADOSSTRIPER
=OFF \
1299 %if 0%{with amqp_endpoint}
1300 -DWITH_RADOSGW_AMQP_ENDPOINT
=ON \
1302 -DWITH_RADOSGW_AMQP_ENDPOINT
=OFF \
1304 %if 0%{with kafka_endpoint}
1305 -DWITH_RADOSGW_KAFKA_ENDPOINT
=ON \
1307 -DWITH_RADOSGW_KAFKA_ENDPOINT
=OFF \
1309 %if 0%{without lua_packages}
1310 -DWITH_RADOSGW_LUA_PACKAGES
=OFF \
1315 %if 0%{with cmake_verbose_logging}
1316 -DCMAKE_VERBOSE_MAKEFILE
=ON \
1318 %if 0%{with rbd_rwl_cache}
1321 %if 0%{with rbd_ssd_cache}
1322 -DWITH_RBD_SSD_CACHE
=ON \
1324 %if 0%{with system_pmdk}
1325 -DWITH_SYSTEM_PMDK
:BOOL
=ON \
1327 -DBOOST_J
=$CEPH_SMP_NCPUS \
1329 -DWITH_FMT_HEADER_ONLY
:BOOL
=ON \
1333 %if %{with cmake_verbose_logging}
1334 cat .
/CMakeFiles
/CMakeOutput.log
1335 cat .
/CMakeFiles
/CMakeError.log
1338 make "$CEPH_MFLAGS_JOBS"
1341 %if 0%{with make_check}
1343 # run in-tree unittests
1345 ctest "$CEPH_MFLAGS_JOBS"
1351 make DESTDIR
=%{buildroot} install
1352 # we have dropped sysvinit bits
1353 rm -f
%{buildroot}/%{_sysconfdir}/init.d
/ceph
1356 %if 0%{with seastar}
1357 # package crimson-osd with the name of ceph-osd
1358 install -m
0755 %{buildroot}%{_bindir}/crimson-osd %{buildroot}%{_bindir}/ceph
-osd
1361 install -m
0644 -D src
/etc
-rbdmap
%{buildroot}%{_sysconfdir}/ceph
/rbdmap
1362 %if 0%{?fedora} || 0%{?rhel}
1363 install -m
0644 -D etc
/sysconfig
/ceph
%{buildroot}%{_sysconfdir}/sysconfig
/ceph
1365 %if 0%{?suse_version}
1366 install -m
0644 -D etc
/sysconfig
/ceph
%{buildroot}%{_fillupdir}/sysconfig.%{name}
1368 install -m
0644 -D systemd
/ceph.tmpfiles.d
%{buildroot}%{_tmpfilesdir}/ceph
-common.conf
1369 install -m
0644 -D systemd
/50-ceph.preset
%{buildroot}%{_presetdir}/50-ceph.preset
1370 mkdir -p
%{buildroot}%{_sbindir}
1371 install -m
0644 -D src
/logrotate.conf
%{buildroot}%{_sysconfdir}/logrotate.d
/ceph
1372 chmod
0644 %{buildroot}%{_docdir}/ceph
/sample.ceph.conf
1373 install -m
0644 -D COPYING
%{buildroot}%{_docdir}/ceph
/COPYING
1374 install -m
0644 -D etc
/sysctl
/90-ceph
-osd.conf
%{buildroot}%{_sysctldir}/90-ceph
-osd.conf
1375 install -m
0755 -D src
/tools
/rbd_nbd
/rbd
-nbd_quiesce
%{buildroot}%{_libexecdir}/rbd
-nbd
/rbd
-nbd_quiesce
1377 install -m
0755 src
/cephadm
/cephadm
%{buildroot}%{_sbindir}/cephadm
1378 mkdir -p
%{buildroot}%{_sharedstatedir}/cephadm
1379 chmod
0700 %{buildroot}%{_sharedstatedir}/cephadm
1380 mkdir -p
%{buildroot}%{_sharedstatedir}/cephadm
/.ssh
1381 chmod
0700 %{buildroot}%{_sharedstatedir}/cephadm
/.ssh
1382 touch
%{buildroot}%{_sharedstatedir}/cephadm
/.ssh
/authorized_keys
1383 chmod
0600 %{buildroot}%{_sharedstatedir}/cephadm
/.ssh
/authorized_keys
1385 # firewall templates and /sbin/mount.ceph symlink
1386 %if 0%{?suse_version} && !0%{?usrmerged}
1387 mkdir -p
%{buildroot}/sbin
1388 ln
-sf
%{_sbindir}/mount.ceph %{buildroot}/sbin
/mount.ceph
1392 install -m
0644 -D udev
/50-rbd.rules
%{buildroot}%{_udevrulesdir}/50-rbd.rules
1395 install -m
0440 -D sudoers.d
/ceph
-smartctl
%{buildroot}%{_sysconfdir}/sudoers.d
/ceph
-smartctl
1398 pathfix.py
-pni "
%{__python3} %{py3_shbang_opts}" %{buildroot}%{_bindir}/*
1399 pathfix.py
-pni "
%{__python3} %{py3_shbang_opts}" %{buildroot}%{_sbindir}/*
1402 #set up placeholder directories
1403 mkdir -p
%{buildroot}%{_sysconfdir}/ceph
1404 mkdir -p
%{buildroot}%{_localstatedir}/run
/ceph
1405 mkdir -p
%{buildroot}%{_localstatedir}/log
/ceph
1406 mkdir -p
%{buildroot}%{_localstatedir}/lib
/ceph
/tmp
1407 mkdir -p
%{buildroot}%{_localstatedir}/lib
/ceph
/mon
1408 mkdir -p
%{buildroot}%{_localstatedir}/lib
/ceph
/osd
1409 mkdir -p
%{buildroot}%{_localstatedir}/lib
/ceph
/mds
1410 mkdir -p
%{buildroot}%{_localstatedir}/lib
/ceph
/mgr
1411 mkdir -p
%{buildroot}%{_localstatedir}/lib
/ceph
/crash
1412 mkdir -p
%{buildroot}%{_localstatedir}/lib
/ceph
/crash
/posted
1413 mkdir -p
%{buildroot}%{_localstatedir}/lib
/ceph
/radosgw
1414 mkdir -p
%{buildroot}%{_localstatedir}/lib
/ceph
/bootstrap
-osd
1415 mkdir -p
%{buildroot}%{_localstatedir}/lib
/ceph
/bootstrap
-mds
1416 mkdir -p
%{buildroot}%{_localstatedir}/lib
/ceph
/bootstrap
-rgw
1417 mkdir -p
%{buildroot}%{_localstatedir}/lib
/ceph
/bootstrap
-mgr
1418 mkdir -p
%{buildroot}%{_localstatedir}/lib
/ceph
/bootstrap
-rbd
1419 mkdir -p
%{buildroot}%{_localstatedir}/lib
/ceph
/bootstrap
-rbd
-mirror
1422 install -m
644 -D monitoring
/prometheus
/alerts
/ceph_default_alerts.yml
%{buildroot}/etc
/prometheus
/ceph
/ceph_default_alerts.yml
1424 %if 0%{?suse_version}
1425 # create __pycache__ directories and their contents
1426 %py3_compile %{buildroot}%{python3_sitelib}
1427 # hardlink duplicate files under /usr to save space
1428 %fdupes %{buildroot}%{_prefix}
1432 %py_byte_compile %{__python3} %{buildroot}%{python3_sitelib}
1438 #################################################################################
1439 # files and systemd scriptlets
1440 #################################################################################
1444 %{_bindir}/ceph
-crash
1445 %{_bindir}/crushtool
1446 %{_bindir}/monmaptool
1447 %{_bindir}/osdmaptool
1448 %{_bindir}/ceph
-kvstore
-tool
1450 %{_presetdir}/50-ceph.preset
1451 %{_sbindir}/ceph
-create
-keys
1452 %dir %{_libexecdir}/ceph
1453 %{_libexecdir}/ceph
/ceph_common.sh
1454 %dir %{_libdir}/rados
-classes
1455 %{_libdir}/rados
-classes
/*
1456 %dir %{_libdir}/ceph
1457 %dir %{_libdir}/ceph
/erasure
-code
1458 %{_libdir}/ceph
/erasure
-code
/libec_
*.so
*
1459 %dir %{_libdir}/ceph
/compressor
1460 %{_libdir}/ceph
/compressor
/libceph_
*.so
*
1461 %{_unitdir}/ceph
-crash.service
1462 %dir %{_libdir}/ceph
/crypto
1463 %{_libdir}/ceph
/crypto
/libceph_
*.so
*
1465 %{_libdir}/libos_tp.so
*
1466 %{_libdir}/libosd_tp.so
*
1468 %config(noreplace
) %{_sysconfdir}/logrotate.d
/ceph
1469 %if 0%{?fedora} || 0%{?rhel}
1470 %config(noreplace
) %{_sysconfdir}/sysconfig
/ceph
1472 %if 0%{?suse_version}
1473 %{_fillupdir}/sysconfig.
*
1475 %{_unitdir}/ceph.target
1476 %dir %{python3_sitelib}/ceph_volume
1477 %{python3_sitelib}/ceph_volume
/*
1478 %{python3_sitelib}/ceph_volume
-*
1479 %{_mandir}/man8
/ceph
-deploy
.8*
1480 %{_mandir}/man8
/ceph
-create
-keys
.8*
1481 %{_mandir}/man8
/ceph
-run
.8*
1482 %{_mandir}/man8
/crushtool
.8*
1483 %{_mandir}/man8
/osdmaptool
.8*
1484 %{_mandir}/man8
/monmaptool
.8*
1485 %{_mandir}/man8
/ceph
-kvstore
-tool
.8*
1486 #set up placeholder directories
1487 %attr(750,ceph
,ceph
) %dir %{_localstatedir}/lib
/ceph
/crash
1488 %attr(750,ceph
,ceph
) %dir %{_localstatedir}/lib
/ceph
/crash
/posted
1489 %attr(750,ceph
,ceph
) %dir %{_localstatedir}/lib
/ceph
/tmp
1490 %attr(750,ceph
,ceph
) %dir %{_localstatedir}/lib
/ceph
/bootstrap
-osd
1491 %attr(750,ceph
,ceph
) %dir %{_localstatedir}/lib
/ceph
/bootstrap
-mds
1492 %attr(750,ceph
,ceph
) %dir %{_localstatedir}/lib
/ceph
/bootstrap
-rgw
1493 %attr(750,ceph
,ceph
) %dir %{_localstatedir}/lib
/ceph
/bootstrap
-mgr
1494 %attr(750,ceph
,ceph
) %dir %{_localstatedir}/lib
/ceph
/bootstrap
-rbd
1495 %attr(750,ceph
,ceph
) %dir %{_localstatedir}/lib
/ceph
/bootstrap
-rbd
-mirror
1496 %{_sysconfdir}/sudoers.d
/ceph
-smartctl
1500 %if 0%{?suse_version}
1502 if [ $
1 -eq
1 ] ; then
1503 /usr
/bin
/systemctl preset ceph.target ceph
-crash.service
>/dev
/null
2>&1 ||
:
1506 %if 0%{?fedora} || 0%{?rhel}
1507 %systemd_post ceph.target ceph
-crash.service
1509 if [ $
1 -eq
1 ] ; then
1510 /usr
/bin
/systemctl start ceph.target ceph
-crash.service
>/dev
/null
2>&1 ||
:
1514 %if 0%{?suse_version}
1515 %service_del_preun ceph.target ceph
-crash.service
1517 %if 0%{?fedora} || 0%{?rhel}
1518 %systemd_preun ceph.target ceph
-crash.service
1523 %systemd_postun ceph.target
1526 getent group cephadm
>/dev
/null || groupadd
-r cephadm
1527 getent passwd cephadm
>/dev
/null || useradd
-r
-g cephadm
-s
/bin
/bash
-c "cephadm user
for mgr
/cephadm"
-d
%{_sharedstatedir}/cephadm cephadm
1530 %if ! 0%{?suse_version}
1532 userdel
-r cephadm || true
1538 %{_mandir}/man8
/cephadm
.8*
1539 %attr(0700,cephadm
,cephadm
) %dir %{_sharedstatedir}/cephadm
1540 %attr(0700,cephadm
,cephadm
) %dir %{_sharedstatedir}/cephadm
/.ssh
1541 %attr(0600,cephadm
,cephadm
) %{_sharedstatedir}/cephadm
/.ssh
/authorized_keys
1544 %dir %{_docdir}/ceph
1545 %doc %{_docdir}/ceph
/sample.ceph.conf
1546 %license %{_docdir}/ceph
/COPYING
1548 %{_bindir}/ceph
-authtool
1549 %{_bindir}/ceph
-conf
1550 %{_bindir}/ceph
-dencoder
1551 %{_bindir}/ceph
-rbdnamer
1553 %{_bindir}/cephfs
-data
-scan
1554 %{_bindir}/cephfs
-journal
-tool
1555 %{_bindir}/cephfs
-table
-tool
1557 %{_bindir}/radosgw
-admin
1559 %{_bindir}/rbd
-replay
1560 %{_bindir}/rbd
-replay
-many
1562 %{_sbindir}/mount.ceph
1563 %if 0%{?suse_version} && !0%{?usrmerged}
1567 %{_bindir}/rbd
-replay
-prep
1569 %{_bindir}/ceph
-post
-file
1570 %{_tmpfilesdir}/ceph
-common.conf
1571 %{_mandir}/man8
/ceph
-authtool
.8*
1572 %{_mandir}/man8
/ceph
-conf
.8*
1573 %{_mandir}/man8
/ceph
-dencoder
.8*
1574 %{_mandir}/man8
/ceph
-diff
-sorted
.8*
1575 %{_mandir}/man8
/ceph
-rbdnamer
.8*
1576 %{_mandir}/man8
/ceph
-syn
.8*
1577 %{_mandir}/man8
/ceph
-post
-file
.8*
1578 %{_mandir}/man8
/ceph
.8*
1579 %{_mandir}/man8
/mount.ceph
.8*
1580 %{_mandir}/man8
/rados
.8*
1581 %{_mandir}/man8
/radosgw
-admin
.8*
1582 %{_mandir}/man8
/rbd
.8*
1583 %{_mandir}/man8
/rbdmap
.8*
1584 %{_mandir}/man8
/rbd
-replay
.8*
1585 %{_mandir}/man8
/rbd
-replay
-many
.8*
1586 %{_mandir}/man8
/rbd
-replay
-prep
.8*
1587 %{_mandir}/man8
/rgw
-orphan
-list
.8*
1588 %dir %{_datadir}/ceph
/
1589 %{_datadir}/ceph
/known_hosts_drop.ceph.com
1590 %{_datadir}/ceph
/id_rsa_drop.ceph.com
1591 %{_datadir}/ceph
/id_rsa_drop.ceph.com.pub
1592 %dir %{_sysconfdir}/ceph
/
1593 %config %{_sysconfdir}/bash_completion.d
/ceph
1594 %config %{_sysconfdir}/bash_completion.d
/rados
1595 %config %{_sysconfdir}/bash_completion.d
/rbd
1596 %config %{_sysconfdir}/bash_completion.d
/radosgw
-admin
1597 %config(noreplace
) %{_sysconfdir}/ceph
/rbdmap
1598 %{_unitdir}/rbdmap.service
1599 %dir %{_udevrulesdir}
1600 %{_udevrulesdir}/50-rbd.rules
1601 %attr(3770,ceph
,ceph
) %dir %{_localstatedir}/log
/ceph
/
1602 %attr(750,ceph
,ceph
) %dir %{_localstatedir}/lib
/ceph
/
1607 %if 0%{?rhel} || 0%{?fedora}
1608 /usr
/sbin
/groupadd ceph
-g $CEPH_GROUP_ID
-o
-r
2>/dev
/null ||
:
1609 /usr
/sbin
/useradd ceph
-u $CEPH_USER_ID
-o
-r
-g ceph
-s
/sbin
/nologin
-c "Ceph daemons"
-d
%{_localstatedir}/lib
/ceph
2>/dev
/null ||
:
1611 %if 0%{?suse_version}
1612 if ! getent group ceph
>/dev
/null
; then
1613 CEPH_GROUP_ID_OPTION
=""
1614 getent group $CEPH_GROUP_ID
>/dev
/null || CEPH_GROUP_ID_OPTION
="
-g $CEPH_GROUP_ID"
1615 groupadd ceph $CEPH_GROUP_ID_OPTION
-r
2>/dev
/null ||
:
1617 if ! getent passwd ceph
>/dev
/null
; then
1618 CEPH_USER_ID_OPTION
=""
1619 getent passwd $CEPH_USER_ID
>/dev
/null || CEPH_USER_ID_OPTION
="
-u $CEPH_USER_ID"
1620 useradd ceph $CEPH_USER_ID_OPTION
-r
-g ceph
-s
/sbin
/nologin
2>/dev
/null ||
:
1622 usermod
-c "Ceph storage service" \
1623 -d
%{_localstatedir}/lib
/ceph \
1631 %tmpfiles_create %{_tmpfilesdir}/ceph
-common.conf
1634 # Package removal cleanup
1635 if [ "$
1"
-eq "
0"
] ; then
1636 rm -rf
%{_localstatedir}/log
/ceph
1637 rm -rf
%{_sysconfdir}/ceph
1642 %{_mandir}/man8
/ceph
-mds
.8*
1643 %{_unitdir}/ceph
-mds@.service
1644 %{_unitdir}/ceph
-mds.target
1645 %attr(750,ceph
,ceph
) %dir %{_localstatedir}/lib
/ceph
/mds
1648 %if 0%{?suse_version}
1649 if [ $
1 -eq
1 ] ; then
1650 /usr
/bin
/systemctl preset ceph
-mds@\
*.service ceph
-mds.target
>/dev
/null
2>&1 ||
:
1653 %if 0%{?fedora} || 0%{?rhel}
1654 %systemd_post ceph
-mds@\
*.service ceph
-mds.target
1656 if [ $
1 -eq
1 ] ; then
1657 /usr
/bin
/systemctl start ceph
-mds.target
>/dev
/null
2>&1 ||
:
1661 %if 0%{?suse_version}
1662 %service_del_preun ceph
-mds@\
*.service ceph
-mds.target
1664 %if 0%{?fedora} || 0%{?rhel}
1665 %systemd_preun ceph
-mds@\
*.service ceph
-mds.target
1669 %systemd_postun ceph
-mds@\
*.service ceph
-mds.target
1670 if [ $
1 -ge
1 ] ; then
1671 # Restart on upgrade, but only if "CEPH_AUTO_RESTART_ON_UPGRADE" is set to
1672 # "yes". In any case: if units are not running, do not touch them.
1673 SYSCONF_CEPH
=%{_sysconfdir}/sysconfig
/ceph
1674 if [ -f $SYSCONF_CEPH
-a
-r $SYSCONF_CEPH
] ; then
1675 source $SYSCONF_CEPH
1677 if [ "X$CEPH_AUTO_RESTART_ON_UPGRADE"
= "Xyes"
] ; then
1678 /usr
/bin
/systemctl try
-restart ceph
-mds@\
*.service
> /dev
/null
2>&1 ||
:
1684 %dir %{_datadir}/ceph
/mgr
1685 %{_datadir}/ceph
/mgr
/mgr_module.
*
1686 %{_datadir}/ceph
/mgr
/mgr_util.
*
1687 %{_unitdir}/ceph
-mgr@.service
1688 %{_unitdir}/ceph
-mgr.target
1689 %attr(750,ceph
,ceph
) %dir %{_localstatedir}/lib
/ceph
/mgr
1692 %if 0%{?suse_version}
1693 if [ $
1 -eq
1 ] ; then
1694 /usr
/bin
/systemctl preset ceph
-mgr@\
*.service ceph
-mgr.target
>/dev
/null
2>&1 ||
:
1697 %if 0%{?fedora} || 0%{?rhel}
1698 %systemd_post ceph
-mgr@\
*.service ceph
-mgr.target
1700 if [ $
1 -eq
1 ] ; then
1701 /usr
/bin
/systemctl start ceph
-mgr.target
>/dev
/null
2>&1 ||
:
1705 %if 0%{?suse_version}
1706 %service_del_preun ceph
-mgr@\
*.service ceph
-mgr.target
1708 %if 0%{?fedora} || 0%{?rhel}
1709 %systemd_preun ceph
-mgr@\
*.service ceph
-mgr.target
1713 %systemd_postun ceph
-mgr@\
*.service ceph
-mgr.target
1714 if [ $
1 -ge
1 ] ; then
1715 # Restart on upgrade, but only if "CEPH_AUTO_RESTART_ON_UPGRADE" is set to
1716 # "yes". In any case: if units are not running, do not touch them.
1717 SYSCONF_CEPH
=%{_sysconfdir}/sysconfig
/ceph
1718 if [ -f $SYSCONF_CEPH
-a
-r $SYSCONF_CEPH
] ; then
1719 source $SYSCONF_CEPH
1721 if [ "X$CEPH_AUTO_RESTART_ON_UPGRADE"
= "Xyes"
] ; then
1722 /usr
/bin
/systemctl try
-restart ceph
-mgr@\
*.service
> /dev
/null
2>&1 ||
:
1726 %files mgr
-dashboard
1727 %{_datadir}/ceph
/mgr
/dashboard
1730 if [ $
1 -eq
1 ] ; then
1731 /usr
/bin
/systemctl try
-restart ceph
-mgr.target
>/dev
/null
2>&1 ||
:
1734 %postun mgr
-dashboard
1735 if [ $
1 -eq
1 ] ; then
1736 /usr
/bin
/systemctl try
-restart ceph
-mgr.target
>/dev
/null
2>&1 ||
:
1739 %files mgr
-diskprediction
-local
1740 %{_datadir}/ceph
/mgr
/diskprediction_local
1742 %post mgr
-diskprediction
-local
1743 if [ $
1 -eq
1 ] ; then
1744 /usr
/bin
/systemctl try
-restart ceph
-mgr.target
>/dev
/null
2>&1 ||
:
1747 %postun mgr
-diskprediction
-local
1748 if [ $
1 -eq
1 ] ; then
1749 /usr
/bin
/systemctl try
-restart ceph
-mgr.target
>/dev
/null
2>&1 ||
:
1752 %files mgr
-modules
-core
1753 %dir %{_datadir}/ceph
/mgr
1754 %{_datadir}/ceph
/mgr
/alerts
1755 %{_datadir}/ceph
/mgr
/balancer
1756 %{_datadir}/ceph
/mgr
/crash
1757 %{_datadir}/ceph
/mgr
/devicehealth
1758 %{_datadir}/ceph
/mgr
/influx
1759 %{_datadir}/ceph
/mgr
/insights
1760 %{_datadir}/ceph
/mgr
/iostat
1761 %{_datadir}/ceph
/mgr
/localpool
1762 %{_datadir}/ceph
/mgr
/mds_autoscaler
1763 %{_datadir}/ceph
/mgr
/mirroring
1764 %{_datadir}/ceph
/mgr
/nfs
1765 %{_datadir}/ceph
/mgr
/orchestrator
1766 %{_datadir}/ceph
/mgr
/osd_perf_query
1767 %{_datadir}/ceph
/mgr
/osd_support
1768 %{_datadir}/ceph
/mgr
/pg_autoscaler
1769 %{_datadir}/ceph
/mgr
/progress
1770 %{_datadir}/ceph
/mgr
/prometheus
1771 %{_datadir}/ceph
/mgr
/rbd_support
1772 %{_datadir}/ceph
/mgr
/restful
1773 %{_datadir}/ceph
/mgr
/selftest
1774 %{_datadir}/ceph
/mgr
/snap_schedule
1775 %{_datadir}/ceph
/mgr
/stats
1776 %{_datadir}/ceph
/mgr
/status
1777 %{_datadir}/ceph
/mgr
/telegraf
1778 %{_datadir}/ceph
/mgr
/telemetry
1779 %{_datadir}/ceph
/mgr
/test_orchestrator
1780 %{_datadir}/ceph
/mgr
/volumes
1781 %{_datadir}/ceph
/mgr
/zabbix
1784 %{_datadir}/ceph
/mgr
/rook
1787 if [ $
1 -eq
1 ] ; then
1788 /usr
/bin
/systemctl try
-restart ceph
-mgr.target
>/dev
/null
2>&1 ||
:
1792 if [ $
1 -eq
1 ] ; then
1793 /usr
/bin
/systemctl try
-restart ceph
-mgr.target
>/dev
/null
2>&1 ||
:
1796 %files mgr
-k8sevents
1797 %{_datadir}/ceph
/mgr
/k8sevents
1800 if [ $
1 -eq
1 ] ; then
1801 /usr
/bin
/systemctl try
-restart ceph
-mgr.target
>/dev
/null
2>&1 ||
:
1804 %postun mgr
-k8sevents
1805 if [ $
1 -eq
1 ] ; then
1806 /usr
/bin
/systemctl try
-restart ceph
-mgr.target
>/dev
/null
2>&1 ||
:
1810 %{_datadir}/ceph
/mgr
/cephadm
1813 if [ $
1 -eq
1 ] ; then
1814 /usr
/bin
/systemctl try
-restart ceph
-mgr.target
>/dev
/null
2>&1 ||
:
1818 if [ $
1 -eq
1 ] ; then
1819 /usr
/bin
/systemctl try
-restart ceph
-mgr.target
>/dev
/null
2>&1 ||
:
1824 %{_bindir}/ceph
-monstore
-tool
1825 %{_mandir}/man8
/ceph
-mon
.8*
1826 %{_unitdir}/ceph
-mon@.service
1827 %{_unitdir}/ceph
-mon.target
1828 %attr(750,ceph
,ceph
) %dir %{_localstatedir}/lib
/ceph
/mon
1831 %if 0%{?suse_version}
1832 if [ $
1 -eq
1 ] ; then
1833 /usr
/bin
/systemctl preset ceph
-mon@\
*.service ceph
-mon.target
>/dev
/null
2>&1 ||
:
1836 %if 0%{?fedora} || 0%{?rhel}
1837 %systemd_post ceph
-mon@\
*.service ceph
-mon.target
1839 if [ $
1 -eq
1 ] ; then
1840 /usr
/bin
/systemctl start ceph
-mon.target
>/dev
/null
2>&1 ||
:
1844 %if 0%{?suse_version}
1845 %service_del_preun ceph
-mon@\
*.service ceph
-mon.target
1847 %if 0%{?fedora} || 0%{?rhel}
1848 %systemd_preun ceph
-mon@\
*.service ceph
-mon.target
1852 %systemd_postun ceph
-mon@\
*.service ceph
-mon.target
1853 if [ $
1 -ge
1 ] ; then
1854 # Restart on upgrade, but only if "CEPH_AUTO_RESTART_ON_UPGRADE" is set to
1855 # "yes". In any case: if units are not running, do not touch them.
1856 SYSCONF_CEPH
=%{_sysconfdir}/sysconfig
/ceph
1857 if [ -f $SYSCONF_CEPH
-a
-r $SYSCONF_CEPH
] ; then
1858 source $SYSCONF_CEPH
1860 if [ "X$CEPH_AUTO_RESTART_ON_UPGRADE"
= "Xyes"
] ; then
1861 /usr
/bin
/systemctl try
-restart ceph
-mon@\
*.service
> /dev
/null
2>&1 ||
:
1866 %{_bindir}/ceph
-fuse
1867 %{_mandir}/man8
/ceph
-fuse
.8*
1868 %{_sbindir}/mount.fuse.ceph
1869 %{_mandir}/man8
/mount.fuse.ceph
.8*
1870 %{_unitdir}/ceph
-fuse@.service
1871 %{_unitdir}/ceph
-fuse.target
1873 %files -n cephfs
-mirror
1874 %{_bindir}/cephfs
-mirror
1875 %{_mandir}/man8
/cephfs
-mirror
.8*
1876 %{_unitdir}/cephfs
-mirror@.service
1877 %{_unitdir}/cephfs
-mirror.target
1879 %post -n cephfs
-mirror
1880 %if 0%{?suse_version}
1881 if [ $
1 -eq
1 ] ; then
1882 /usr
/bin
/systemctl preset cephfs
-mirror@\
*.service cephfs
-mirror.target
>/dev
/null
2>&1 ||
:
1885 %if 0%{?fedora} || 0%{?rhel}
1886 %systemd_post cephfs
-mirror@\
*.service cephfs
-mirror.target
1888 if [ $
1 -eq
1 ] ; then
1889 /usr
/bin
/systemctl start cephfs
-mirror.target
>/dev
/null
2>&1 ||
:
1892 %preun -n cephfs
-mirror
1893 %if 0%{?suse_version}
1894 %service_del_preun cephfs
-mirror@\
*.service cephfs
-mirror.target
1896 %if 0%{?fedora} || 0%{?rhel}
1897 %systemd_preun cephfs
-mirror@\
*.service cephfs
-mirror.target
1900 %postun -n cephfs
-mirror
1901 %systemd_postun cephfs
-mirror@\
*.service cephfs
-mirror.target
1902 if [ $
1 -ge
1 ] ; then
1903 # Restart on upgrade, but only if "CEPH_AUTO_RESTART_ON_UPGRADE" is set to
1904 # "yes". In any case: if units are not running, do not touch them.
1905 SYSCONF_CEPH
=%{_sysconfdir}/sysconfig
/ceph
1906 if [ -f $SYSCONF_CEPH
-a
-r $SYSCONF_CEPH
] ; then
1907 source $SYSCONF_CEPH
1909 if [ "X$CEPH_AUTO_RESTART_ON_UPGRADE"
= "Xyes"
] ; then
1910 /usr
/bin
/systemctl try
-restart cephfs
-mirror@\
*.service
> /dev
/null
2>&1 ||
:
1916 %{_mandir}/man8
/rbd
-fuse
.8*
1918 %files -n rbd
-mirror
1919 %{_bindir}/rbd
-mirror
1920 %{_mandir}/man8
/rbd
-mirror
.8*
1921 %{_unitdir}/ceph
-rbd
-mirror@.service
1922 %{_unitdir}/ceph
-rbd
-mirror.target
1925 %if 0%{?suse_version}
1926 if [ $
1 -eq
1 ] ; then
1927 /usr
/bin
/systemctl preset ceph
-rbd
-mirror@\
*.service ceph
-rbd
-mirror.target
>/dev
/null
2>&1 ||
:
1930 %if 0%{?fedora} || 0%{?rhel}
1931 %systemd_post ceph
-rbd
-mirror@\
*.service ceph
-rbd
-mirror.target
1933 if [ $
1 -eq
1 ] ; then
1934 /usr
/bin
/systemctl start ceph
-rbd
-mirror.target
>/dev
/null
2>&1 ||
:
1937 %preun -n rbd
-mirror
1938 %if 0%{?suse_version}
1939 %service_del_preun ceph
-rbd
-mirror@\
*.service ceph
-rbd
-mirror.target
1941 %if 0%{?fedora} || 0%{?rhel}
1942 %systemd_preun ceph
-rbd
-mirror@\
*.service ceph
-rbd
-mirror.target
1945 %postun -n rbd
-mirror
1946 %systemd_postun ceph
-rbd
-mirror@\
*.service ceph
-rbd
-mirror.target
1947 if [ $
1 -ge
1 ] ; then
1948 # Restart on upgrade, but only if "CEPH_AUTO_RESTART_ON_UPGRADE" is set to
1949 # "yes". In any case: if units are not running, do not touch them.
1950 SYSCONF_CEPH
=%{_sysconfdir}/sysconfig
/ceph
1951 if [ -f $SYSCONF_CEPH
-a
-r $SYSCONF_CEPH
] ; then
1952 source $SYSCONF_CEPH
1954 if [ "X$CEPH_AUTO_RESTART_ON_UPGRADE"
= "Xyes"
] ; then
1955 /usr
/bin
/systemctl try
-restart ceph
-rbd
-mirror@\
*.service
> /dev
/null
2>&1 ||
:
1959 %files immutable
-object
-cache
1960 %{_bindir}/ceph
-immutable
-object
-cache
1961 %{_mandir}/man8
/ceph
-immutable
-object
-cache
.8*
1962 %{_unitdir}/ceph
-immutable
-object
-cache@.service
1963 %{_unitdir}/ceph
-immutable
-object
-cache.target
1965 %post immutable
-object
-cache
1966 %if 0%{?suse_version}
1967 if [ $
1 -eq
1 ] ; then
1968 /usr
/bin
/systemctl preset ceph
-immutable
-object
-cache@\
*.service ceph
-immutable
-object
-cache.target
>/dev
/null
2>&1 ||
:
1971 %if 0%{?fedora} || 0%{?rhel}
1972 %systemd_post ceph
-immutable
-object
-cache@\
*.service ceph
-immutable
-object
-cache.target
1974 if [ $
1 -eq
1 ] ; then
1975 /usr
/bin
/systemctl start ceph
-immutable
-object
-cache.target
>/dev
/null
2>&1 ||
:
1978 %preun immutable
-object
-cache
1979 %if 0%{?suse_version}
1980 %service_del_preun ceph
-immutable
-object
-cache@\
*.service ceph
-immutable
-object
-cache.target
1982 %if 0%{?fedora} || 0%{?rhel}
1983 %systemd_preun ceph
-immutable
-object
-cache@\
*.service ceph
-immutable
-object
-cache.target
1986 %postun immutable
-object
-cache
1987 %systemd_postun ceph
-immutable
-object
-cache@\
*.service ceph
-immutable
-object
-cache.target
1988 if [ $
1 -ge
1 ] ; then
1989 # Restart on upgrade, but only if "CEPH_AUTO_RESTART_ON_UPGRADE" is set to
1990 # "yes". In any case: if units are not running, do not touch them.
1991 SYSCONF_CEPH
=%{_sysconfdir}/sysconfig
/ceph
1992 if [ -f $SYSCONF_CEPH
-a
-r $SYSCONF_CEPH
] ; then
1993 source $SYSCONF_CEPH
1995 if [ "X$CEPH_AUTO_RESTART_ON_UPGRADE"
= "Xyes"
] ; then
1996 /usr
/bin
/systemctl try
-restart ceph
-immutable
-object
-cache@\
*.service
> /dev
/null
2>&1 ||
:
2002 %{_mandir}/man8
/rbd
-nbd
.8*
2003 %dir %{_libexecdir}/rbd
-nbd
2004 %{_libexecdir}/rbd
-nbd
/rbd
-nbd_quiesce
2007 %{_bindir}/ceph
-diff
-sorted
2009 %{_bindir}/radosgw
-token
2010 %{_bindir}/radosgw
-es
2011 %{_bindir}/radosgw
-object
-expirer
2012 %{_bindir}/rgw
-gap
-list
2013 %{_bindir}/rgw
-gap
-list
-comparator
2014 %{_bindir}/rgw
-orphan
-list
2015 %{_libdir}/libradosgw.so
*
2016 %{_mandir}/man8
/radosgw
.8*
2017 %dir %{_localstatedir}/lib
/ceph
/radosgw
2018 %{_unitdir}/ceph
-radosgw@.service
2019 %{_unitdir}/ceph
-radosgw.target
2023 %if 0%{?suse_version}
2024 if [ $
1 -eq
1 ] ; then
2025 /usr
/bin
/systemctl preset ceph
-radosgw@\
*.service ceph
-radosgw.target
>/dev
/null
2>&1 ||
:
2028 %if 0%{?fedora} || 0%{?rhel}
2029 %systemd_post ceph
-radosgw@\
*.service ceph
-radosgw.target
2031 if [ $
1 -eq
1 ] ; then
2032 /usr
/bin
/systemctl start ceph
-radosgw.target
>/dev
/null
2>&1 ||
:
2036 %if 0%{?suse_version}
2037 %service_del_preun ceph
-radosgw@\
*.service ceph
-radosgw.target
2039 %if 0%{?fedora} || 0%{?rhel}
2040 %systemd_preun ceph
-radosgw@\
*.service ceph
-radosgw.target
2045 %systemd_postun ceph
-radosgw@\
*.service ceph
-radosgw.target
2046 if [ $
1 -ge
1 ] ; then
2047 # Restart on upgrade, but only if "CEPH_AUTO_RESTART_ON_UPGRADE" is set to
2048 # "yes". In any case: if units are not running, do not touch them.
2049 SYSCONF_CEPH
=%{_sysconfdir}/sysconfig
/ceph
2050 if [ -f $SYSCONF_CEPH
-a
-r $SYSCONF_CEPH
] ; then
2051 source $SYSCONF_CEPH
2053 if [ "X$CEPH_AUTO_RESTART_ON_UPGRADE"
= "Xyes"
] ; then
2054 /usr
/bin
/systemctl try
-restart ceph
-radosgw@\
*.service
> /dev
/null
2>&1 ||
:
2059 %{_bindir}/ceph
-clsinfo
2060 %{_bindir}/ceph
-bluestore
-tool
2061 %{_bindir}/ceph
-erasure
-code
-tool
2062 %{_bindir}/ceph
-objectstore
-tool
2063 %{_bindir}/ceph
-osdomap
-tool
2065 %{_libexecdir}/ceph
/ceph
-osd
-prestart.sh
2066 %{_sbindir}/ceph
-volume
2067 %{_sbindir}/ceph
-volume
-systemd
2068 %{_mandir}/man8
/ceph
-clsinfo
.8*
2069 %{_mandir}/man8
/ceph
-osd
.8*
2070 %{_mandir}/man8
/ceph
-bluestore
-tool
.8*
2071 %{_mandir}/man8
/ceph
-volume
.8*
2072 %{_mandir}/man8
/ceph
-volume
-systemd
.8*
2073 %{_unitdir}/ceph
-osd@.service
2074 %{_unitdir}/ceph
-osd.target
2075 %{_unitdir}/ceph
-volume@.service
2076 %attr(750,ceph
,ceph
) %dir %{_localstatedir}/lib
/ceph
/osd
2077 %config(noreplace
) %{_sysctldir}/90-ceph
-osd.conf
2080 %if 0%{?suse_version}
2081 if [ $
1 -eq
1 ] ; then
2082 /usr
/bin
/systemctl preset ceph
-osd@\
*.service ceph
-volume@\
*.service ceph
-osd.target
>/dev
/null
2>&1 ||
:
2085 %if 0%{?fedora} || 0%{?rhel}
2086 %systemd_post ceph
-osd@\
*.service ceph
-volume@\
*.service ceph
-osd.target
2088 if [ $
1 -eq
1 ] ; then
2089 /usr
/bin
/systemctl start ceph
-osd.target
>/dev
/null
2>&1 ||
:
2091 %if 0%{?sysctl_apply}
2092 %sysctl_apply 90-ceph
-osd.conf
2094 /usr
/lib
/systemd
/systemd
-sysctl
%{_sysctldir}/90-ceph
-osd.conf
> /dev
/null
2>&1 ||
:
2098 %if 0%{?suse_version}
2099 %service_del_preun ceph
-osd@\
*.service ceph
-volume@\
*.service ceph
-osd.target
2101 %if 0%{?fedora} || 0%{?rhel}
2102 %systemd_preun ceph
-osd@\
*.service ceph
-volume@\
*.service ceph
-osd.target
2106 %systemd_postun ceph
-osd@\
*.service ceph
-volume@\
*.service ceph
-osd.target
2107 if [ $
1 -ge
1 ] ; then
2108 # Restart on upgrade, but only if "CEPH_AUTO_RESTART_ON_UPGRADE" is set to
2109 # "yes". In any case: if units are not running, do not touch them.
2110 SYSCONF_CEPH
=%{_sysconfdir}/sysconfig
/ceph
2111 if [ -f $SYSCONF_CEPH
-a
-r $SYSCONF_CEPH
] ; then
2112 source $SYSCONF_CEPH
2114 if [ "X$CEPH_AUTO_RESTART_ON_UPGRADE"
= "Xyes"
] ; then
2115 /usr
/bin
/systemctl try
-restart ceph
-osd@\
*.service ceph
-volume@\
*.service
> /dev
/null
2>&1 ||
:
2119 %if 0%{with seastar}
2121 %{_bindir}/crimson
-osd
2126 %files resource
-agents
2127 %dir %{_prefix}/lib
/ocf
2128 %dir %{_prefix}/lib
/ocf
/resource.d
2129 %dir %{_prefix}/lib
/ocf
/resource.d
/ceph
2130 %attr(0755,-,-) %{_prefix}/lib
/ocf
/resource.d
/ceph
/rbd
2135 %{_libdir}/librados.so.
*
2136 %dir %{_libdir}/ceph
2137 %{_libdir}/ceph
/libceph
-common.so.
*
2139 %{_libdir}/librados_tp.so.
*
2141 %dir %{_sysconfdir}/ceph
2143 %post -n librados2
-p
/sbin
/ldconfig
2145 %postun -n librados2
-p
/sbin
/ldconfig
2147 %files -n librados
-devel
2148 %dir %{_includedir}/rados
2149 %{_includedir}/rados
/librados.h
2150 %{_includedir}/rados
/rados_types.h
2151 %{_libdir}/librados.so
2153 %{_libdir}/librados_tp.so
2155 %{_bindir}/librados
-config
2156 %{_mandir}/man8
/librados
-config
.8*
2158 %files -n libradospp
-devel
2159 %dir %{_includedir}/rados
2160 %{_includedir}/rados
/buffer.h
2161 %{_includedir}/rados
/buffer_fwd.h
2162 %{_includedir}/rados
/crc32c.h
2163 %{_includedir}/rados
/inline_memory.h
2164 %{_includedir}/rados
/librados.hpp
2165 %{_includedir}/rados
/librados_fwd.hpp
2166 %{_includedir}/rados
/page.h
2167 %{_includedir}/rados
/rados_types.hpp
2169 %files -n python
%{python3_pkgversion}-rados
2170 %{python3_sitearch}/rados.cpython
*.so
2171 %{python3_sitearch}/rados
-*.egg
-info
2173 %files -n libcephsqlite
2174 %{_libdir}/libcephsqlite.so
2176 %post -n libcephsqlite
-p
/sbin
/ldconfig
2178 %postun -n libcephsqlite
-p
/sbin
/ldconfig
2180 %files -n libcephsqlite
-devel
2181 %{_includedir}/libcephsqlite.h
2183 %if 0%{with libradosstriper}
2184 %files -n libradosstriper1
2185 %{_libdir}/libradosstriper.so.
*
2187 %post -n libradosstriper1
-p
/sbin
/ldconfig
2189 %postun -n libradosstriper1
-p
/sbin
/ldconfig
2191 %files -n libradosstriper
-devel
2192 %dir %{_includedir}/radosstriper
2193 %{_includedir}/radosstriper
/libradosstriper.h
2194 %{_includedir}/radosstriper
/libradosstriper.hpp
2195 %{_libdir}/libradosstriper.so
2199 %{_libdir}/librbd.so.
*
2201 %{_libdir}/librbd_tp.so.
*
2203 %dir %{_libdir}/ceph
/librbd
2204 %{_libdir}/ceph
/librbd
/libceph_
*.so
*
2206 %post -n librbd1
-p
/sbin
/ldconfig
2208 %postun -n librbd1
-p
/sbin
/ldconfig
2210 %files -n librbd
-devel
2211 %dir %{_includedir}/rbd
2212 %{_includedir}/rbd
/librbd.h
2213 %{_includedir}/rbd
/librbd.hpp
2214 %{_includedir}/rbd
/features.h
2215 %{_libdir}/librbd.so
2217 %{_libdir}/librbd_tp.so
2221 %{_libdir}/librgw.so.
*
2223 %{_libdir}/librgw_op_tp.so.
*
2224 %{_libdir}/librgw_rados_tp.so.
*
2227 %post -n librgw2
-p
/sbin
/ldconfig
2229 %postun -n librgw2
-p
/sbin
/ldconfig
2231 %files -n librgw
-devel
2232 %dir %{_includedir}/rados
2233 %{_includedir}/rados
/librgw.h
2234 %{_includedir}/rados
/rgw_file.h
2235 %{_libdir}/librgw.so
2237 %{_libdir}/librgw_op_tp.so
2238 %{_libdir}/librgw_rados_tp.so
2241 %files -n python
%{python3_pkgversion}-rgw
2242 %{python3_sitearch}/rgw.cpython
*.so
2243 %{python3_sitearch}/rgw
-*.egg
-info
2245 %files -n python
%{python3_pkgversion}-rbd
2246 %{python3_sitearch}/rbd.cpython
*.so
2247 %{python3_sitearch}/rbd
-*.egg
-info
2249 %files -n libcephfs2
2250 %{_libdir}/libcephfs.so.
*
2251 %dir %{_sysconfdir}/ceph
2253 %post -n libcephfs2
-p
/sbin
/ldconfig
2255 %postun -n libcephfs2
-p
/sbin
/ldconfig
2257 %files -n libcephfs
-devel
2258 %dir %{_includedir}/cephfs
2259 %{_includedir}/cephfs
/libcephfs.h
2260 %{_includedir}/cephfs
/ceph_ll_client.h
2261 %dir %{_includedir}/cephfs
/metrics
2262 %{_includedir}/cephfs
/metrics
/Types.h
2263 %{_libdir}/libcephfs.so
2267 %{_libdir}/libopentracing.so.
*
2268 %{_libdir}/libthrift.so.
*
2269 %{_libdir}/libjaegertracing.so.
*
2270 %post -n libjaeger
-p
/sbin
/ldconfig
2271 %postun -n libjaeger
-p
/sbin
/ldconfig
2274 %files -n python
%{python3_pkgversion}-cephfs
2275 %{python3_sitearch}/cephfs.cpython
*.so
2276 %{python3_sitearch}/cephfs
-*.egg
-info
2277 %{python3_sitelib}/ceph_volume_client.py
2278 %{python3_sitelib}/__pycache__
/ceph_volume_client.cpython
*.py
*
2280 %files -n python
%{python3_pkgversion}-ceph
-argparse
2281 %{python3_sitelib}/ceph_argparse.py
2282 %{python3_sitelib}/__pycache__
/ceph_argparse.cpython
*.py
*
2283 %{python3_sitelib}/ceph_daemon.py
2284 %{python3_sitelib}/__pycache__
/ceph_daemon.cpython
*.py
*
2286 %files -n python
%{python3_pkgversion}-ceph
-common
2287 %{python3_sitelib}/ceph
2288 %{python3_sitelib}/ceph
-*.egg
-info
2290 %if 0%{with cephfs_shell}
2291 %files -n cephfs
-shell
2292 %{python3_sitelib}/cephfs_shell
-*.egg
-info
2293 %{_bindir}/cephfs
-shell
2296 %files -n cephfs
-top
2297 %{python3_sitelib}/cephfs_top
-*.egg
-info
2298 %{_bindir}/cephfs
-top
2299 %{_mandir}/man8
/cephfs
-top
.8*
2301 %if 0%{with ceph_test_package}
2303 %{_bindir}/ceph
-client
-debug
2304 %{_bindir}/ceph_bench_log
2305 %{_bindir}/ceph_kvstorebench
2306 %{_bindir}/ceph_multi_stress_watch
2307 %{_bindir}/ceph_erasure_code_benchmark
2308 %{_bindir}/ceph_omapbench
2309 %{_bindir}/ceph_objectstore_bench
2310 %{_bindir}/ceph_perf_objectstore
2311 %{_bindir}/ceph_perf_local
2312 %{_bindir}/ceph_perf_msgr_client
2313 %{_bindir}/ceph_perf_msgr_server
2314 %{_bindir}/ceph_psim
2315 %{_bindir}/ceph_radosacl
2316 %{_bindir}/ceph_rgw_jsonparser
2317 %{_bindir}/ceph_rgw_multiparser
2318 %{_bindir}/ceph_scratchtool
2319 %{_bindir}/ceph_scratchtoolpp
2320 %{_bindir}/ceph_test_
*
2321 %{_bindir}/ceph
-coverage
2322 %{_bindir}/ceph
-debugpack
2323 %{_bindir}/ceph
-dedup
-tool
2324 %if 0%{with seastar}
2325 %{_bindir}/crimson
-store
-nbd
2327 %{_mandir}/man8
/ceph
-debugpack
.8*
2328 %dir %{_libdir}/ceph
2329 %{_libdir}/ceph
/ceph
-monstore
-update
-crush.sh
2332 %if 0%{with cephfs_java}
2333 %files -n libcephfs_jni1
2334 %{_libdir}/libcephfs_jni.so.
*
2336 %post -n libcephfs_jni1
-p
/sbin
/ldconfig
2338 %postun -n libcephfs_jni1
-p
/sbin
/ldconfig
2340 %files -n libcephfs_jni
-devel
2341 %{_libdir}/libcephfs_jni.so
2343 %files -n cephfs
-java
2344 %{_javadir}/libcephfs.jar
2345 %{_javadir}/libcephfs
-test.jar
2348 %files -n rados
-objclass
-devel
2349 %dir %{_includedir}/rados
2350 %{_includedir}/rados
/objclass.h
2352 %if 0%{with selinux}
2354 %attr(0600,root
,root
) %{_datadir}/selinux
/packages
/ceph.pp
2355 %{_datadir}/selinux
/devel
/include
/contrib
/ceph.
if
2356 %{_mandir}/man8
/ceph_selinux
.8*
2359 # backup file_contexts before update
2360 .
/etc
/selinux
/config
2361 FILE_CONTEXT
=/etc
/selinux
/$
{SELINUXTYPE
}/contexts
/files
/file_contexts
2362 cp $
{FILE_CONTEXT
} $
{FILE_CONTEXT
}.pre
2364 # Install the policy
2365 /usr
/sbin
/semodule
-i
%{_datadir}/selinux
/packages
/ceph.pp
2367 # Load the policy if SELinux is enabled
2368 if ! /usr
/sbin
/selinuxenabled
; then
2369 # Do not relabel if selinux is not enabled
2373 if diff $
{FILE_CONTEXT
} $
{FILE_CONTEXT
}.pre
> /dev
/null
2>&1; then
2374 # Do not relabel if file contexts did not change
2378 # Stop ceph.target while relabeling if CEPH_AUTO_RESTART_ON_UPGRADE=yes
2379 SYSCONF_CEPH
=%{_sysconfdir}/sysconfig
/ceph
2380 if [ -f $SYSCONF_CEPH
-a
-r $SYSCONF_CEPH
] ; then
2381 source $SYSCONF_CEPH
2384 # Check whether the daemons are running
2385 /usr
/bin
/systemctl status ceph.target
> /dev
/null
2>&1
2388 # Stop the daemons if they were running
2389 if test $STATUS
-eq
0; then
2390 if [ "X$CEPH_AUTO_RESTART_ON_UPGRADE"
= "Xyes"
] ; then
2391 /usr
/bin
/systemctl stop ceph.target
> /dev
/null
2>&1
2395 # Relabel the files fix for first package install
2396 /usr
/sbin
/fixfiles
-C $
{FILE_CONTEXT
}.pre restore
2> /dev
/null
2398 rm -f $
{FILE_CONTEXT
}.pre
2399 # The fixfiles command won't fix label for /var/run/ceph
2400 /usr
/sbin
/restorecon
-R
/var
/run
/ceph
> /dev
/null
2>&1
2402 # Start the daemons iff they were running before
2403 if test $STATUS
-eq
0; then
2404 if [ "X$CEPH_AUTO_RESTART_ON_UPGRADE"
= "Xyes"
] ; then
2405 /usr
/bin
/systemctl start ceph.target
> /dev
/null
2>&1 ||
:
2411 if [ $
1 -eq
0 ]; then
2412 # backup file_contexts before update
2413 .
/etc
/selinux
/config
2414 FILE_CONTEXT
=/etc
/selinux
/$
{SELINUXTYPE
}/contexts
/files
/file_contexts
2415 cp $
{FILE_CONTEXT
} $
{FILE_CONTEXT
}.pre
2418 /usr
/sbin
/semodule
-n
-r ceph
> /dev
/null
2>&1
2420 # Reload the policy if SELinux is enabled
2421 if ! /usr
/sbin
/selinuxenabled
; then
2422 # Do not relabel if SELinux is not enabled
2426 # Stop ceph.target while relabeling if CEPH_AUTO_RESTART_ON_UPGRADE=yes
2427 SYSCONF_CEPH
=%{_sysconfdir}/sysconfig
/ceph
2428 if [ -f $SYSCONF_CEPH
-a
-r $SYSCONF_CEPH
] ; then
2429 source $SYSCONF_CEPH
2432 # Check whether the daemons are running
2433 /usr
/bin
/systemctl status ceph.target
> /dev
/null
2>&1
2436 # Stop the daemons if they were running
2437 if test $STATUS
-eq
0; then
2438 if [ "X$CEPH_AUTO_RESTART_ON_UPGRADE"
= "Xyes"
] ; then
2439 /usr
/bin
/systemctl stop ceph.target
> /dev
/null
2>&1
2443 /usr
/sbin
/fixfiles
-C $
{FILE_CONTEXT
}.pre restore
2> /dev
/null
2444 rm -f $
{FILE_CONTEXT
}.pre
2445 # The fixfiles command won't fix label for /var/run/ceph
2446 /usr
/sbin
/restorecon
-R
/var
/run
/ceph
> /dev
/null
2>&1
2448 # Start the daemons if they were running before
2449 if test $STATUS
-eq
0; then
2450 if [ "X$CEPH_AUTO_RESTART_ON_UPGRADE"
= "Xyes"
] ; then
2451 /usr
/bin
/systemctl start ceph.target
> /dev
/null
2>&1 ||
:
2458 %files grafana
-dashboards
2459 %if 0%{?suse_version}
2460 %attr(0755,root
,root
) %dir %{_sysconfdir}/grafana
2461 %attr(0755,root
,root
) %dir %{_sysconfdir}/grafana
/dashboards
2463 %attr(0755,root
,root
) %dir %{_sysconfdir}/grafana
/dashboards
/ceph
-dashboard
2464 %config %{_sysconfdir}/grafana
/dashboards
/ceph
-dashboard
/*
2465 %doc monitoring
/grafana
/dashboards
/README
2466 %doc monitoring
/grafana
/README.md
2468 %files prometheus
-alerts
2469 %if 0%{?suse_version}
2470 %attr(0755,root
,root
) %dir %{_sysconfdir}/prometheus
2472 %attr(0755,root
,root
) %dir %{_sysconfdir}/prometheus
/ceph
2473 %config %{_sysconfdir}/prometheus
/ceph
/ceph_default_alerts.yml