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 this for explanation of bcond syntax:
21 # https://rpm-software-management.github.io/rpm/manual/conditionalbuilds.html
22 #################################################################################
23 %bcond_with make_check
25 %bcond_with cmake_verbose_logging
26 %bcond_without ceph_test_package
30 %bcond_without tcmalloc
32 %bcond_without rbd_ssd_cache
34 %bcond_without rbd_rwl_cache
36 %bcond_with rbd_rwl_cache
38 %if 0%{?fedora} || 0%{?rhel}
40 %bcond_with system_pmdk
43 %bcond_with system_pmdk
45 %bcond_without system_pmdk
48 %bcond_without selinux
50 %bcond_with cephfs_java
52 %bcond_without cephfs_java
54 %bcond_without amqp_endpoint
55 %bcond_without kafka_endpoint
57 %bcond_without libradosstriper
59 %global luarocks_package_name luarocks
60 %bcond_without lua_packages
61 %global _remote_tarball_prefix https
://download.ceph.com
/tarballs
/
64 %bcond_without system_pmdk
65 %bcond_with amqp_endpoint
66 %bcond_with cephfs_java
67 %bcond_with kafka_endpoint
68 %bcond_with libradosstriper
69 %ifarch x86_64 aarch64 ppc64le
76 #Compat macro for _fillupdir macro introduced in Nov 2017
77 %if ! %{defined _fillupdir}
78 %global _fillupdir
/var
/adm
/fillup
-templates
83 %bcond_without lua_packages
86 %global luarocks_package_name lua53
-luarocks
89 %global luarocks_package_name lua54
-luarocks
93 %bcond_with lua_packages
98 %if 0%{?fedora} || 0%{?suse_version} >= 1500
99 # distros that ship cmd2 and/or colorama
100 %bcond_without cephfs_shell
102 # distros that do _not_ ship cmd2/colorama
103 %bcond_with cephfs_shell
105 %bcond_with system_arrow
106 %bcond_with system_utf8proc
107 %if 0%{?fedora} || 0%{?suse_version} || 0%{?rhel} >= 8
111 # get selinux policy version
112 # Force 0.0.0 policy version for centos builds to avoid repository sync issues between rhel and centos
114 %global _selinux_policy_version
0.0.0
116 %{!?_selinux_policy_version: %global _selinux_policy_version 0.0.0}
120 %{!?_udevrulesdir: %global _udevrulesdir /lib/udev/rules.d}
121 %{!?tmpfiles_create: %global tmpfiles_create systemd-tmpfiles --create}
122 %{!?python3_pkgversion: %global python3_pkgversion 3}
123 %{!?python3_version_nodots: %global python3_version_nodots 3}
124 %{!?python3_version: %global python3_version 3}
125 %{!?gts_prefix: %global gts_prefix gcc-toolset-11}
127 %if ! 0%{?suse_version}
128 # use multi-threaded xz compression: xz level 7 using ncpus threads
129 %global _source_payload w7T
%{_smp_build_ncpus}.xzdio
130 %global _binary_payload w7T
%{_smp_build_ncpus}.xzdio
133 %define smp_limit_mem_per_job
() %
( \
135 kb_total
=$
(head
-3 /proc
/meminfo | sed
-n 's
/MemAvailable
:\\s
*\\
(.
*\\
) kB.
*/\\
1/p'
) \
136 jobs=$
(( $kb_total
/ $kb_per_job
)) \
137 [ $
jobs -lt
1 ] && jobs=1 \
140 %if 0%{?_smp_ncpus_max} == 0
141 %if 0%{?__isa_bits} == 32
142 # 32-bit builds can use 3G memory max, which is not enough even for -j2
143 %global _smp_ncpus_max
1
145 # 3.0 GiB mem per job
146 # SUSE distros use limit_build in the place of smp_limit_mem_per_job, please
147 # be sure to update it (in the build section, below) as well when changing this
149 %global _smp_ncpus_max
%{smp_limit_mem_per_job 3000000}
153 # disable -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1, as gcc-toolset-{10,11}-annobin
154 # do not provide gcc-annobin.so anymore, despite that they provide annobin.so. but
155 # redhat-rpm-config still passes -fplugin=gcc-annobin to the compiler.
156 %undefine _annotated_build
157 %if 0%{?rhel} == 8 && 0%{?enable_devtoolset11:1}
161 #################################################################################
162 # main package definition
163 #################################################################################
165 Version: @PROJECT_VERSION@
166 Release: @RPM_RELEASE@
%{?dist}
167 %if 0%{?fedora} || 0%{?rhel}
171 # define _epoch_prefix macro which will expand to the empty string if epoch is
173 %global _epoch_prefix
%{?epoch:%{epoch}:}
175 Summary: User space components of the Ceph file system
176 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
177 %if 0%{?suse_version}
178 Group: System
/Filesystems
180 URL: http
://ceph.com
/
181 Source0: %{?_remote_tarball_prefix}@TARBALL_BASENAME@.tar.bz2
182 %if 0%{?suse_version}
183 # _insert_obs_source_lines_here
184 ExclusiveArch: x86_64 aarch64 ppc64le s390x
186 #################################################################################
187 # dependencies that apply across all distro families
188 #################################################################################
189 Requires: ceph
-osd
= %{_epoch_prefix}%{version}-%{release}
190 Requires: ceph
-mds
= %{_epoch_prefix}%{version}-%{release}
191 Requires: ceph
-mgr
= %{_epoch_prefix}%{version}-%{release}
192 Requires: ceph
-mon
= %{_epoch_prefix}%{version}-%{release}
193 Requires(post
): binutils
194 %if 0%{with cephfs_java}
195 BuildRequires
: java
-devel
196 BuildRequires
: sharutils
199 BuildRequires
: checkpolicy
200 BuildRequires
: selinux
-policy
-devel
203 BuildRequires
: cmake
> 3.5
204 BuildRequires
: fuse
-devel
205 %if 0%{?fedora} || 0%{?suse_version} || 0%{?rhel} == 9
206 BuildRequires
: gcc
-c
++ >= 11
209 BuildRequires
: %{gts_prefix}-gcc
-c
++
210 BuildRequires
: %{gts_prefix}-build
212 BuildRequires
: %{gts_prefix}-libatomic
-devel
215 %if 0%{?fedora} || 0%{?rhel} == 9
216 BuildRequires
: libatomic
218 %if 0%{with tcmalloc}
219 # libprofiler did not build on ppc64le until 2.7.90
220 %if 0%{?fedora} || 0%{?rhel} >= 8
221 BuildRequires
: gperftools
-devel
>= 2.7.90
223 %if 0%{?rhel} && 0%{?rhel} < 8
224 BuildRequires
: gperftools
-devel
>= 2.6.1
226 %if 0%{?suse_version}
227 BuildRequires
: gperftools
-devel
>= 2.4
230 BuildRequires
: libaio
-devel
231 BuildRequires
: libblkid
-devel
>= 2.17
232 BuildRequires
: cryptsetup
-devel
233 BuildRequires
: libcurl
-devel
234 BuildRequires
: libcap
-ng
-devel
235 BuildRequires
: fmt
-devel
>= 6.2.1
236 BuildRequires
: pkgconfig
(libudev
)
237 BuildRequires
: libnl3
-devel
238 BuildRequires
: liboath
-devel
239 BuildRequires
: libtool
240 BuildRequires
: libxml2
-devel
242 BuildRequires
: ncurses
-devel
243 BuildRequires
: libicu
-devel
246 BuildRequires
: pkgconfig
247 BuildRequires
: procps
248 BuildRequires
: python
%{python3_pkgversion}
249 BuildRequires
: python
%{python3_pkgversion}-devel
250 BuildRequires
: python
%{python3_pkgversion}-setuptools
251 BuildRequires
: python
%{python3_pkgversion}-Cython
252 BuildRequires
: snappy
-devel
253 BuildRequires
: sqlite
-devel
255 BuildRequires
: pkgconfig
(udev
)
256 BuildRequires
: valgrind
-devel
258 BuildRequires
: xfsprogs
-devel
259 BuildRequires
: xmlstarlet
261 BuildRequires
: lua
-devel
262 %if 0%{with seastar} || 0%{with jaeger}
263 BuildRequires
: yaml
-cpp
-devel
>= 0.6
265 %if 0%{with amqp_endpoint}
266 BuildRequires
: librabbitmq
-devel
268 %if 0%{with kafka_endpoint}
269 BuildRequires
: librdkafka
-devel
271 %if 0%{with lua_packages}
272 BuildRequires
: %{luarocks_package_name}
274 %if 0%{with make_check}
275 BuildRequires
: hostname
277 BuildRequires
: libuuid
-devel
278 BuildRequires
: python
%{python3_pkgversion}-bcrypt
279 BuildRequires
: python
%{python3_pkgversion}-pecan
280 BuildRequires
: python
%{python3_pkgversion}-requests
281 BuildRequires
: python
%{python3_pkgversion}-dateutil
282 BuildRequires
: python
%{python3_pkgversion}-coverage
283 BuildRequires
: python
%{python3_pkgversion}-pyOpenSSL
285 BuildRequires
: python
%{python3_pkgversion}-asyncssh
286 BuildRequires
: python
%{python3_pkgversion}-natsort
289 BuildRequires
: libzbd
-devel
291 %if 0%{?suse_version}
292 BuildRequires
: libthrift
-devel
>= 0.13.0
294 BuildRequires
: thrift
-devel
>= 0.13.0
296 BuildRequires
: re2
-devel
300 %if 0%{?fedora} || 0%{?rhel}
301 BuildRequires
: json
-devel
303 %if 0%{?suse_version}
304 BuildRequires
: nlohmann_json
-devel
306 BuildRequires
: libevent
-devel
308 %if 0%{with system_pmdk}
309 BuildRequires
: libpmem
-devel
310 BuildRequires
: libpmemobj
-devel
312 %if 0%{with system_arrow}
313 BuildRequires
: arrow
-devel
314 BuildRequires
: parquet
-devel
316 %if 0%{with system_utf8proc}
317 BuildRequires
: utf8proc
-devel
320 BuildRequires
: c
-ares
-devel
321 BuildRequires
: gnutls
-devel
322 BuildRequires
: hwloc
-devel
323 BuildRequires
: libpciaccess
-devel
324 BuildRequires
: lksctp
-tools
-devel
326 BuildRequires
: systemtap
-sdt
-devel
328 BuildRequires
: libubsan
329 BuildRequires
: libasan
332 BuildRequires
: %{gts_prefix}-annobin
333 BuildRequires
: %{gts_prefix}-annobin
-plugin
-gcc
334 BuildRequires
: %{gts_prefix}-libubsan
-devel
335 BuildRequires
: %{gts_prefix}-libasan
-devel
338 #################################################################################
339 # distro-conditional dependencies
340 #################################################################################
341 %if 0%{?suse_version}
342 BuildRequires
: pkgconfig
(systemd
)
343 BuildRequires
: systemd
-rpm
-macros
345 PreReq
: %fillup_prereq
346 BuildRequires
: fdupes
347 BuildRequires
: memory
-constraints
348 BuildRequires
: net
-tools
349 BuildRequires
: libbz2
-devel
350 BuildRequires
: mozilla
-nss
-devel
351 BuildRequires
: keyutils
-devel
352 BuildRequires
: libopenssl
-devel
354 BuildRequires
: openldap2
-devel
356 #BuildRequires: krb5-devel
357 BuildRequires
: cunit
-devel
358 BuildRequires
: python
%{python3_pkgversion}-PrettyTable
359 BuildRequires
: python
%{python3_pkgversion}-PyYAML
360 BuildRequires
: python
%{python3_pkgversion}-Sphinx
361 BuildRequires
: rdma
-core
-devel
362 BuildRequires
: liblz4
-devel
>= 1.7
363 # for prometheus-alerts
364 BuildRequires
: golang
-github
-prometheus
-prometheus
365 BuildRequires
: jsonnet
367 %if 0%{?fedora} || 0%{?rhel}
369 BuildRequires
: boost
-random
370 BuildRequires
: nss
-devel
371 BuildRequires
: keyutils
-libs
-devel
372 BuildRequires
: libibverbs
-devel
373 BuildRequires
: librdmacm
-devel
374 BuildRequires
: ninja
-build
375 BuildRequires
: openldap
-devel
376 #BuildRequires: krb5-devel
377 BuildRequires
: openssl
-devel
378 BuildRequires
: CUnit
-devel
379 BuildRequires
: python
%{python3_pkgversion}-devel
380 BuildRequires
: python
%{python3_pkgversion}-prettytable
381 BuildRequires
: python
%{python3_pkgversion}-pyyaml
382 BuildRequires
: python
%{python3_pkgversion}-sphinx
383 BuildRequires
: lz4
-devel
>= 1.7
385 # distro-conditional make check dependencies
386 %if 0%{with make_check}
387 BuildRequires
: golang
388 %if 0%{?fedora} || 0%{?rhel}
389 BuildRequires
: golang
-github
-prometheus
390 BuildRequires
: libtool
-ltdl
-devel
391 BuildRequires
: xmlsec1
392 BuildRequires
: xmlsec1
-devel
394 BuildRequires
: xmlsec1
-nss
396 BuildRequires
: xmlsec1
-openssl
397 BuildRequires
: xmlsec1
-openssl
-devel
398 BuildRequires
: python
%{python3_pkgversion}-cherrypy
399 BuildRequires
: python
%{python3_pkgversion}-jwt
400 BuildRequires
: python
%{python3_pkgversion}-routes
401 BuildRequires
: python
%{python3_pkgversion}-scipy
402 BuildRequires
: python
%{python3_pkgversion}-werkzeug
403 BuildRequires
: python
%{python3_pkgversion}-pyOpenSSL
405 %if 0%{?suse_version}
406 BuildRequires
: golang
-github
-prometheus
-prometheus
407 BuildRequires
: jsonnet
408 BuildRequires
: libxmlsec1
-1
409 BuildRequires
: libxmlsec1
-nss1
410 BuildRequires
: libxmlsec1
-openssl1
411 BuildRequires
: python
%{python3_pkgversion}-CherryPy
412 BuildRequires
: python
%{python3_pkgversion}-PyJWT
413 BuildRequires
: python
%{python3_pkgversion}-Routes
414 BuildRequires
: python
%{python3_pkgversion}-Werkzeug
415 BuildRequires
: python
%{python3_pkgversion}-numpy
-devel
416 BuildRequires
: xmlsec1
-devel
417 BuildRequires
: xmlsec1
-openssl
-devel
420 # lttng and babeltrace for rbd-replay-prep
422 %if 0%{?fedora} || 0%{?rhel}
423 BuildRequires
: lttng
-ust
-devel
424 BuildRequires
: libbabeltrace
-devel
426 %if 0%{?suse_version}
427 BuildRequires
: lttng
-ust
-devel
428 BuildRequires
: babeltrace
-devel
431 %if 0%{?suse_version}
432 BuildRequires
: libexpat
-devel
434 %if 0%{?rhel} || 0%{?fedora}
435 BuildRequires
: expat
-devel
438 %if 0%{?fedora} || 0%{?rhel}
439 BuildRequires
: redhat
-rpm
-config
442 %if 0%{?fedora} || 0%{?rhel}
443 BuildRequires
: cryptopp
-devel
444 BuildRequires
: numactl
-devel
446 %if 0%{?suse_version}
447 BuildRequires
: libcryptopp
-devel
448 BuildRequires
: libnuma
-devel
452 BuildRequires
: /usr
/bin
/pathfix.py
456 Ceph is a massively scalable
, open
-source, distributed storage system that runs
457 on commodity hardware and delivers object
, block and file system storage.
460 #################################################################################
462 #################################################################################
464 Summary: Ceph Base Package
465 %if 0%{?suse_version}
466 Group: System
/Filesystems
468 Provides: ceph
-test:/usr
/bin
/ceph
-kvstore
-tool
469 Requires: ceph
-common
= %{_epoch_prefix}%{version}-%{release}
470 Requires: librbd1
= %{_epoch_prefix}%{version}-%{release}
471 Requires: librados2
= %{_epoch_prefix}%{version}-%{release}
472 Requires: libcephfs2
= %{_epoch_prefix}%{version}-%{release}
473 Requires: librgw2
= %{_epoch_prefix}%{version}-%{release}
475 Requires: ceph
-selinux
= %{_epoch_prefix}%{version}-%{release}
483 %if 0%{?rhel} && 0%{?rhel} < 8
484 # The following is necessary due to tracker 36508 and can be removed once the
485 # associated upstream bugs are resolved.
486 %if 0%{with tcmalloc}
487 Requires: gperftools
-libs
>= 2.6.1
493 %if 0%{?suse_version}
494 Requires: smartmontools
496 Recommends
: smartmontools
500 Base is the package that includes all the files shared amongst ceph servers
503 Summary: Utility to bootstrap Ceph clusters
506 Requires: python
%{python3_pkgversion}
507 Requires: openssh
-server
510 Recommends
: podman
>= 2.0.2
512 %description -n cephadm
513 Utility to bootstrap a Ceph cluster and manage Ceph daemons deployed
514 with systemd and podman.
516 %package -n ceph
-common
518 %if 0%{?suse_version}
519 Group: System
/Filesystems
521 Requires: librbd1
= %{_epoch_prefix}%{version}-%{release}
522 Requires: librados2
= %{_epoch_prefix}%{version}-%{release}
523 Requires: libcephfs2
= %{_epoch_prefix}%{version}-%{release}
524 Requires: python
%{python3_pkgversion}-rados = %{_epoch_prefix}%{version}-%{release}
525 Requires: python
%{python3_pkgversion}-rbd = %{_epoch_prefix}%{version}-%{release}
526 Requires: python
%{python3_pkgversion}-cephfs = %{_epoch_prefix}%{version}-%{release}
527 Requires: python
%{python3_pkgversion}-rgw = %{_epoch_prefix}%{version}-%{release}
528 Requires: python
%{python3_pkgversion}-ceph-argparse = %{_epoch_prefix}%{version}-%{release}
529 Requires: python
%{python3_pkgversion}-ceph-common = %{_epoch_prefix}%{version}-%{release}
530 %if 0%{?fedora} || 0%{?rhel}
531 Requires: python
%{python3_pkgversion}-prettytable
533 %if 0%{?suse_version}
534 Requires: python
%{python3_pkgversion}-PrettyTable
536 %if 0%{with libradosstriper}
537 Requires: libradosstriper1
= %{_epoch_prefix}%{version}-%{release}
540 %if 0%{?suse_version}
541 Requires(pre
): pwdutils
543 %description -n ceph
-common
544 Common utilities to mount and interact with a ceph storage cluster.
545 Comprised of files that are common to Ceph clients and servers.
548 Summary: Ceph Metadata Server Daemon
549 %if 0%{?suse_version}
550 Group: System
/Filesystems
552 Requires: ceph
-base
= %{_epoch_prefix}%{version}-%{release}
554 ceph
-mds is the metadata server daemon
for the Ceph distributed file system.
555 One or more instances of ceph
-mds collectively manage the file system
556 namespace
, coordinating access to the shared OSD cluster.
559 Summary: Ceph Monitor Daemon
560 %if 0%{?suse_version}
561 Group: System
/Filesystems
563 Provides: ceph
-test:/usr
/bin
/ceph
-monstore
-tool
564 Requires: ceph
-base
= %{_epoch_prefix}%{version}-%{release}
566 ceph
-mon is the cluster monitor daemon
for the Ceph distributed file
567 system. One or more instances of ceph
-mon form a Paxos part
-time
568 parliament cluster that provides extremely reliable and durable storage
569 of cluster membership
, configuration
, and state.
572 Summary: Ceph Manager Daemon
573 %if 0%{?suse_version}
574 Group: System
/Filesystems
576 Requires: ceph
-base
= %{_epoch_prefix}%{version}-%{release}
577 Requires: ceph
-mgr
-modules
-core
= %{_epoch_prefix}%{version}-%{release}
578 Requires: libcephsqlite
= %{_epoch_prefix}%{version}-%{release}
580 Recommends
: ceph
-mgr
-dashboard
= %{_epoch_prefix}%{version}-%{release}
581 Recommends
: ceph
-mgr
-diskprediction
-local = %{_epoch_prefix}%{version}-%{release}
582 Recommends
: ceph
-mgr
-k8sevents
= %{_epoch_prefix}%{version}-%{release}
583 Recommends
: ceph
-mgr
-cephadm
= %{_epoch_prefix}%{version}-%{release}
584 Recommends
: python
%{python3_pkgversion}-influxdb
587 ceph
-mgr enables python modules that provide services
(such as the REST
588 module derived from Calamari
) and expose CLI hooks. ceph
-mgr gathers
589 the cluster maps
, the daemon metadata
, and performance counters
, and
590 exposes all these to the python modules.
592 %package mgr
-dashboard
593 Summary: Ceph Dashboard
595 %if 0%{?suse_version}
596 Group: System
/Filesystems
598 Requires: ceph
-mgr
= %{_epoch_prefix}%{version}-%{release}
599 Requires: ceph
-grafana
-dashboards
= %{_epoch_prefix}%{version}-%{release}
600 Requires: ceph
-prometheus
-alerts
= %{_epoch_prefix}%{version}-%{release}
601 Requires: python
%{python3_pkgversion}-setuptools
602 %if 0%{?fedora} || 0%{?rhel}
603 Requires: python
%{python3_pkgversion}-cherrypy
604 Requires: python
%{python3_pkgversion}-jwt
605 Requires: python
%{python3_pkgversion}-routes
606 Requires: python
%{python3_pkgversion}-werkzeug
608 Recommends
: python
%{python3_pkgversion}-saml
611 %if 0%{?suse_version}
612 Requires: python
%{python3_pkgversion}-CherryPy
613 Requires: python
%{python3_pkgversion}-PyJWT
614 Requires: python
%{python3_pkgversion}-Routes
615 Requires: python
%{python3_pkgversion}-Werkzeug
616 Recommends
: python
%{python3_pkgversion}-python3
-saml
618 %description mgr
-dashboard
619 ceph
-mgr
-dashboard is a manager module
, providing a web
-based application
620 to monitor and manage many aspects of a Ceph cluster and related components.
621 See the Dashboard documentation at http
://docs.ceph.com
/ for details and a
622 detailed feature overview.
624 %package mgr
-diskprediction
-local
625 Summary: Ceph Manager module
for predicting disk failures
627 %if 0%{?suse_version}
628 Group: System
/Filesystems
630 Requires: ceph
-mgr
= %{_epoch_prefix}%{version}-%{release}
631 Requires: python
%{python3_pkgversion}-numpy
632 %if 0%{?fedora} || 0%{?suse_version}
633 Requires: python
%{python3_pkgversion}-scikit
-learn
635 Requires: python3
-scipy
636 %description mgr
-diskprediction
-local
637 ceph
-mgr
-diskprediction
-local is a ceph
-mgr module that tries to predict
638 disk failures using
local algorithms and machine
-learning databases.
640 %package mgr
-modules
-core
641 Summary: Ceph Manager modules which are always enabled
643 %if 0%{?suse_version}
644 Group: System
/Filesystems
646 Requires: python
%{python3_pkgversion}-bcrypt
647 Requires: python
%{python3_pkgversion}-pecan
648 Requires: python
%{python3_pkgversion}-pyOpenSSL
649 Requires: python
%{python3_pkgversion}-requests
650 Requires: python
%{python3_pkgversion}-dateutil
651 %if 0%{?fedora} || 0%{?rhel} >= 8
652 Requires: python
%{python3_pkgversion}-cherrypy
653 Requires: python
%{python3_pkgversion}-pyyaml
654 Requires: python
%{python3_pkgversion}-werkzeug
656 %if 0%{?suse_version}
657 Requires: python
%{python3_pkgversion}-CherryPy
658 Requires: python
%{python3_pkgversion}-PyYAML
659 Requires: python
%{python3_pkgversion}-Werkzeug
662 Recommends
: ceph
-mgr
-rook
= %{_epoch_prefix}%{version}-%{release}
664 %description mgr
-modules
-core
665 ceph
-mgr
-modules
-core provides a
set of modules which are always
670 Summary: Ceph Manager module
for Rook
-based orchestration
671 %if 0%{?suse_version}
672 Group: System
/Filesystems
674 Requires: ceph
-mgr
= %{_epoch_prefix}%{version}-%{release}
675 Requires: python
%{python3_pkgversion}-kubernetes
676 Requires: python
%{python3_pkgversion}-jsonpatch
677 %description mgr
-rook
678 ceph
-mgr
-rook is a ceph
-mgr module
for orchestration functions using
681 %package mgr
-k8sevents
683 Summary: Ceph Manager module to orchestrate ceph
-events to kubernetes' events API
684 %if 0%{?suse_version}
685 Group: System
/Filesystems
687 Requires: ceph
-mgr
= %{_epoch_prefix}%{version}-%{release}
688 Requires: python
%{python3_pkgversion}-kubernetes
689 %description mgr
-k8sevents
690 ceph
-mgr
-k8sevents is a ceph
-mgr module that sends every ceph
-events
691 to kubernetes' events API
694 Summary: Ceph Manager module
for cephadm
-based orchestration
696 %if 0%{?suse_version}
697 Group: System
/Filesystems
699 Requires: ceph
-mgr
= %{_epoch_prefix}%{version}-%{release}
700 Requires: python
%{python3_pkgversion}-asyncssh
701 Requires: python
%{python3_pkgversion}-natsort
702 Requires: cephadm
= %{_epoch_prefix}%{version}-%{release}
703 %if 0%{?suse_version}
705 Requires: python
%{python3_pkgversion}-CherryPy
706 Requires: python
%{python3_pkgversion}-Jinja2
708 %if 0%{?rhel} || 0%{?fedora}
709 Requires: openssh
-clients
710 Requires: python
%{python3_pkgversion}-cherrypy
711 Requires: python
%{python3_pkgversion}-jinja2
713 %description mgr
-cephadm
714 ceph
-mgr
-cephadm is a ceph
-mgr module
for orchestration functions using
715 the integrated cephadm deployment tool management operations.
718 Summary: Ceph fuse
-based client
719 %if 0%{?suse_version}
720 Group: System
/Filesystems
723 Requires: python
%{python3_pkgversion}
725 FUSE based client
for Ceph distributed network file system
727 %package -n cephfs
-mirror
728 Summary: Ceph daemon
for mirroring CephFS snapshots
729 %if 0%{?suse_version}
730 Group: System
/Filesystems
732 Requires: ceph
-base
= %{_epoch_prefix}%{version}-%{release}
733 Requires: librados2
= %{_epoch_prefix}%{version}-%{release}
734 Requires: libcephfs2
= %{_epoch_prefix}%{version}-%{release}
735 %description -n cephfs
-mirror
736 Daemon
for mirroring CephFS snapshots between Ceph clusters.
738 %package -n ceph
-exporter
739 Summary: Daemon
for exposing perf counters as Prometheus metrics
740 %if 0%{?suse_version}
741 Group: System
/Filesystems
743 Requires: ceph
-base
= %{_epoch_prefix}%{version}-%{release}
744 %description -n ceph
-exporter
745 Daemon
for exposing perf counters as Prometheus metrics
748 Summary: Ceph fuse
-based client
749 %if 0%{?suse_version}
750 Group: System
/Filesystems
752 Requires: librados2
= %{_epoch_prefix}%{version}-%{release}
753 Requires: librbd1
= %{_epoch_prefix}%{version}-%{release}
754 %description -n rbd
-fuse
755 FUSE based client to map Ceph rbd images to files
757 %package -n rbd
-mirror
758 Summary: Ceph daemon
for mirroring RBD images
759 %if 0%{?suse_version}
760 Group: System
/Filesystems
762 Requires: ceph
-base
= %{_epoch_prefix}%{version}-%{release}
763 Requires: librados2
= %{_epoch_prefix}%{version}-%{release}
764 Requires: librbd1
= %{_epoch_prefix}%{version}-%{release}
765 %description -n rbd
-mirror
766 Daemon
for mirroring RBD images between Ceph clusters
, streaming
767 changes asynchronously.
769 %package immutable
-object
-cache
770 Summary: Ceph daemon
for immutable object cache
771 %if 0%{?suse_version}
772 Group: System
/Filesystems
774 Requires: ceph
-base
= %{_epoch_prefix}%{version}-%{release}
775 Requires: librados2
= %{_epoch_prefix}%{version}-%{release}
776 %description immutable
-object
-cache
777 Daemon
for immutable object cache.
780 Summary: Ceph RBD client base on NBD
781 %if 0%{?suse_version}
782 Group: System
/Filesystems
784 Requires: librados2
= %{_epoch_prefix}%{version}-%{release}
785 Requires: librbd1
= %{_epoch_prefix}%{version}-%{release}
786 %description -n rbd
-nbd
787 NBD based client to map Ceph rbd images to
local device
790 Summary: Rados REST gateway
791 %if 0%{?suse_version}
792 Group: System
/Filesystems
794 Requires: ceph
-base
= %{_epoch_prefix}%{version}-%{release}
796 Requires: ceph
-selinux
= %{_epoch_prefix}%{version}-%{release}
798 Requires: librados2
= %{_epoch_prefix}%{version}-%{release}
799 Requires: librgw2
= %{_epoch_prefix}%{version}-%{release}
800 %if 0%{?rhel} || 0%{?fedora}
807 RADOS is a distributed object store used by the Ceph distributed
808 storage system. This package provides a REST gateway to the
809 object store that aims to implement a superset of Amazon's S3
810 service as well as the OpenStack Object Storage
("Swift"
) API.
812 %package -n cephfs
-top
813 Summary: top
(1) like utility
for Ceph Filesystem
815 Requires: python
%{python3_pkgversion}-rados
816 %description -n cephfs
-top
817 This package provides a top
(1) like utility to display Ceph Filesystem metrics
821 %package resource
-agents
822 Summary: OCF
-compliant resource agents
for Ceph daemons
824 %if 0%{?suse_version}
825 Group: System
/Filesystems
827 Requires: ceph
-base
= %{_epoch_prefix}%{version}
828 Requires: resource
-agents
829 %description resource
-agents
830 Resource agents
for monitoring and managing Ceph daemons
831 under Open Cluster Framework
(OCF
) compliant resource
832 managers such as Pacemaker.
836 Summary: Ceph Object Storage Daemon
837 %if 0%{?suse_version}
838 Group: System
/Filesystems
840 Provides: ceph
-test:/usr
/bin
/ceph
-osdomap
-tool
841 Requires: ceph
-base
= %{_epoch_prefix}%{version}-%{release}
843 Requires: libstoragemgmt
845 Recommends
: ceph
-volume
= %{_epoch_prefix}%{version}-%{release}
848 ceph
-osd is the object storage daemon
for the Ceph distributed file
849 system. It is responsible
for storing objects on a
local file system
850 and providing access to them over the network.
854 Summary: Ceph Object Storage Daemon
(crimson
)
855 %if 0%{?suse_version}
856 Group: System
/Filesystems
858 Requires: ceph
-osd
= %{_epoch_prefix}%{version}-%{release}
860 %description crimson
-osd
861 crimson
-osd is the object storage daemon
for the Ceph distributed file
862 system. It is responsible
for storing objects on a
local file system
863 and providing access to them over the network.
867 Summary: Ceph OSD deployment and inspection tool
869 %if 0%{?suse_version}
870 Group: System
/Filesystems
872 Requires: ceph
-osd
= %{_epoch_prefix}%{version}-%{release}
879 Requires: python
%{python3_pkgversion}-setuptools
880 Requires: python
%{python3_pkgversion}-ceph-common = %{_epoch_prefix}%{version}-%{release}
882 This package contains a tool to deploy OSD with different devices like
883 lvm or physical disks
, and trying to follow a predictable
, and robust
884 way of preparing
, activating
, and starting the deployed OSD.
886 %package -n librados2
887 Summary: RADOS distributed object store client library
888 %if 0%{?suse_version}
889 Group: System
/Libraries
891 %if 0%{?rhel} || 0%{?fedora}
892 Obsoletes
: ceph
-libs
< %{_epoch_prefix}%{version}-%{release}
894 %description -n librados2
895 RADOS is a reliable
, autonomic distributed object storage cluster
896 developed as part of the Ceph distributed storage system. This is a
897 shared library allowing applications to access the distributed object
898 store using a simple file
-like interface.
900 %package -n librados
-devel
901 Summary: RADOS headers
902 %if 0%{?suse_version}
903 Group: Development
/Libraries
/C and C
++
905 Requires: librados2
= %{_epoch_prefix}%{version}-%{release}
906 Obsoletes
: ceph
-devel
< %{_epoch_prefix}%{version}-%{release}
907 Provides: librados2
-devel
= %{_epoch_prefix}%{version}-%{release}
908 Obsoletes
: librados2
-devel
< %{_epoch_prefix}%{version}-%{release}
909 %description -n librados
-devel
910 This package contains C libraries and headers needed to develop programs
911 that use RADOS object store.
913 %package -n libradospp
-devel
914 Summary: RADOS headers
915 %if 0%{?suse_version}
916 Group: Development
/Libraries
/C and C
++
918 Requires: librados2
= %{_epoch_prefix}%{version}-%{release}
919 Requires: librados
-devel
= %{_epoch_prefix}%{version}-%{release}
920 %description -n libradospp
-devel
921 This package contains C
++ libraries and headers needed to develop programs
922 that use RADOS object store.
925 Summary: RADOS gateway client library
926 %if 0%{?suse_version}
927 Group: System
/Libraries
929 Requires: librados2
= %{_epoch_prefix}%{version}-%{release}
930 %description -n librgw2
931 This package provides a library implementation of the RADOS gateway
932 (distributed object store with S3 and Swift personalities
).
934 %package -n librgw
-devel
935 Summary: RADOS gateway client library
936 %if 0%{?suse_version}
937 Group: Development
/Libraries
/C and C
++
939 Requires: librados
-devel
= %{_epoch_prefix}%{version}-%{release}
940 Requires: librgw2
= %{_epoch_prefix}%{version}-%{release}
941 Provides: librgw2
-devel
= %{_epoch_prefix}%{version}-%{release}
942 Obsoletes
: librgw2
-devel
< %{_epoch_prefix}%{version}-%{release}
943 %description -n librgw
-devel
944 This package contains libraries and headers needed to develop programs
945 that use RADOS gateway client library.
947 %package -n python
%{python3_pkgversion}-rgw
948 Summary: Python
3 libraries
for the RADOS gateway
949 %if 0%{?suse_version}
950 Group: Development
/Libraries
/Python
952 Requires: librgw2
= %{_epoch_prefix}%{version}-%{release}
953 Requires: python
%{python3_pkgversion}-rados = %{_epoch_prefix}%{version}-%{release}
954 %{?python_provide:%python_provide python%{python3_pkgversion}-rgw}
955 Provides: python
-rgw
= %{_epoch_prefix}%{version}-%{release}
956 Obsoletes
: python
-rgw
< %{_epoch_prefix}%{version}-%{release}
957 %description -n python
%{python3_pkgversion}-rgw
958 This package contains Python
3 libraries
for interacting with Ceph RADOS
961 %package -n python
%{python3_pkgversion}-rados
962 Summary: Python
3 libraries
for the RADOS object store
963 %if 0%{?suse_version}
964 Group: Development
/Libraries
/Python
966 Requires: python
%{python3_pkgversion}
967 Requires: librados2
= %{_epoch_prefix}%{version}-%{release}
968 %{?python_provide:%python_provide python%{python3_pkgversion}-rados}
969 Provides: python
-rados
= %{_epoch_prefix}%{version}-%{release}
970 Obsoletes
: python
-rados
< %{_epoch_prefix}%{version}-%{release}
971 %description -n python
%{python3_pkgversion}-rados
972 This package contains Python
3 libraries
for interacting with Ceph RADOS
975 %package -n libcephsqlite
976 Summary: SQLite3 VFS
for Ceph
977 %if 0%{?suse_version}
978 Group: System
/Libraries
980 Requires: librados2
= %{_epoch_prefix}%{version}-%{release}
981 %description -n libcephsqlite
982 A SQLite3 VFS
for storing and manipulating databases stored on Ceph's RADOS
983 distributed object store.
985 %package -n libcephsqlite
-devel
986 Summary: SQLite3 VFS
for Ceph headers
987 %if 0%{?suse_version}
988 Group: Development
/Libraries
/C and C
++
990 Requires: sqlite
-devel
991 Requires: libcephsqlite
= %{_epoch_prefix}%{version}-%{release}
992 Requires: librados
-devel
= %{_epoch_prefix}%{version}-%{release}
993 Requires: libradospp
-devel
= %{_epoch_prefix}%{version}-%{release}
994 Obsoletes
: ceph
-devel
< %{_epoch_prefix}%{version}-%{release}
995 Provides: libcephsqlite
-devel
= %{_epoch_prefix}%{version}-%{release}
996 Obsoletes
: libcephsqlite
-devel
< %{_epoch_prefix}%{version}-%{release}
997 %description -n libcephsqlite
-devel
998 A SQLite3 VFS
for storing and manipulating databases stored on Ceph's RADOS
999 distributed object store.
1001 %if 0%{with libradosstriper}
1002 %package -n libradosstriper1
1003 Summary: RADOS striping interface
1004 %if 0%{?suse_version}
1005 Group: System
/Libraries
1007 Requires: librados2
= %{_epoch_prefix}%{version}-%{release}
1008 %description -n libradosstriper1
1009 Striping interface built on top of the rados library
, allowing
1010 to stripe bigger objects onto several standard rados objects using
1011 an interface very similar to the rados one.
1013 %package -n libradosstriper
-devel
1014 Summary: RADOS striping interface headers
1015 %if 0%{?suse_version}
1016 Group: Development
/Libraries
/C and C
++
1018 Requires: libradosstriper1
= %{_epoch_prefix}%{version}-%{release}
1019 Requires: librados
-devel
= %{_epoch_prefix}%{version}-%{release}
1020 Requires: libradospp
-devel
= %{_epoch_prefix}%{version}-%{release}
1021 Obsoletes
: ceph
-devel
< %{_epoch_prefix}%{version}-%{release}
1022 Provides: libradosstriper1
-devel
= %{_epoch_prefix}%{version}-%{release}
1023 Obsoletes
: libradosstriper1
-devel
< %{_epoch_prefix}%{version}-%{release}
1024 %description -n libradosstriper
-devel
1025 This package contains libraries and headers needed to develop programs
1026 that use RADOS striping interface.
1030 Summary: RADOS block device client library
1031 %if 0%{?suse_version}
1032 Group: System
/Libraries
1034 Requires: librados2
= %{_epoch_prefix}%{version}-%{release}
1035 %if 0%{?suse_version}
1036 Requires(post
): coreutils
1038 %if 0%{?rhel} || 0%{?fedora}
1039 Obsoletes
: ceph
-libs
< %{_epoch_prefix}%{version}-%{release}
1041 %description -n librbd1
1042 RBD is a block device striped across multiple distributed objects
in
1043 RADOS
, a reliable
, autonomic distributed object storage cluster
1044 developed as part of the Ceph distributed storage system. This is a
1045 shared library allowing applications to manage these block devices.
1047 %package -n librbd
-devel
1048 Summary: RADOS block device headers
1049 %if 0%{?suse_version}
1050 Group: Development
/Libraries
/C and C
++
1052 Requires: librbd1
= %{_epoch_prefix}%{version}-%{release}
1053 Requires: librados
-devel
= %{_epoch_prefix}%{version}-%{release}
1054 Requires: libradospp
-devel
= %{_epoch_prefix}%{version}-%{release}
1055 Obsoletes
: ceph
-devel
< %{_epoch_prefix}%{version}-%{release}
1056 Provides: librbd1
-devel
= %{_epoch_prefix}%{version}-%{release}
1057 Obsoletes
: librbd1
-devel
< %{_epoch_prefix}%{version}-%{release}
1058 %description -n librbd
-devel
1059 This package contains libraries and headers needed to develop programs
1060 that use RADOS block device.
1062 %package -n python
%{python3_pkgversion}-rbd
1063 Summary: Python
3 libraries
for the RADOS block device
1064 %if 0%{?suse_version}
1065 Group: Development
/Libraries
/Python
1067 Requires: librbd1
= %{_epoch_prefix}%{version}-%{release}
1068 Requires: python
%{python3_pkgversion}-rados = %{_epoch_prefix}%{version}-%{release}
1069 %{?python_provide:%python_provide python%{python3_pkgversion}-rbd}
1070 Provides: python
-rbd
= %{_epoch_prefix}%{version}-%{release}
1071 Obsoletes
: python
-rbd
< %{_epoch_prefix}%{version}-%{release}
1072 %description -n python
%{python3_pkgversion}-rbd
1073 This package contains Python
3 libraries
for interacting with Ceph RADOS
1076 %package -n libcephfs2
1077 Summary: Ceph distributed file system client library
1078 %if 0%{?suse_version}
1079 Group: System
/Libraries
1081 Obsoletes
: libcephfs1
< %{_epoch_prefix}%{version}-%{release}
1082 %if 0%{?rhel} || 0%{?fedora}
1083 Obsoletes
: ceph
-libs
< %{_epoch_prefix}%{version}-%{release}
1084 Obsoletes
: ceph
-libcephfs
1086 %description -n libcephfs2
1087 Ceph is a distributed network file system designed to provide excellent
1088 performance
, reliability
, and scalability. This is a shared library
1089 allowing applications to access a Ceph distributed file system via a
1090 POSIX
-like interface.
1092 %package -n libcephfs
-devel
1093 Summary: Ceph distributed file system headers
1094 %if 0%{?suse_version}
1095 Group: Development
/Libraries
/C and C
++
1097 Requires: libcephfs2
= %{_epoch_prefix}%{version}-%{release}
1098 Requires: librados
-devel
= %{_epoch_prefix}%{version}-%{release}
1099 Obsoletes
: ceph
-devel
< %{_epoch_prefix}%{version}-%{release}
1100 Provides: libcephfs2
-devel
= %{_epoch_prefix}%{version}-%{release}
1101 Obsoletes
: libcephfs2
-devel
< %{_epoch_prefix}%{version}-%{release}
1102 %description -n libcephfs
-devel
1103 This package contains libraries and headers needed to develop programs
1104 that use Ceph distributed file system.
1106 %package -n python
%{python3_pkgversion}-cephfs
1107 Summary: Python
3 libraries
for Ceph distributed file system
1108 %if 0%{?suse_version}
1109 Group: Development
/Libraries
/Python
1111 Requires: libcephfs2
= %{_epoch_prefix}%{version}-%{release}
1112 Requires: python
%{python3_pkgversion}-rados = %{_epoch_prefix}%{version}-%{release}
1113 Requires: python
%{python3_pkgversion}-ceph-argparse = %{_epoch_prefix}%{version}-%{release}
1114 %{?python_provide:%python_provide python%{python3_pkgversion}-cephfs}
1115 Provides: python
-cephfs
= %{_epoch_prefix}%{version}-%{release}
1116 Obsoletes
: python
-cephfs
< %{_epoch_prefix}%{version}-%{release}
1117 %description -n python
%{python3_pkgversion}-cephfs
1118 This package contains Python
3 libraries
for interacting with Ceph distributed
1121 %package -n python
%{python3_pkgversion}-ceph
-argparse
1122 Summary: Python
3 utility libraries
for Ceph CLI
1123 %if 0%{?suse_version}
1124 Group: Development
/Libraries
/Python
1126 %{?python_provide:%python_provide python%{python3_pkgversion}-ceph-argparse}
1127 %description -n python
%{python3_pkgversion}-ceph
-argparse
1128 This package contains types and routines
for Python
3 used by the Ceph CLI as
1129 well as the RESTful interface. These have to
do with querying the daemons
for
1130 command-description information
, validating user
command input against those
1131 descriptions
, and submitting the
command to the appropriate daemon.
1133 %package -n python
%{python3_pkgversion}-ceph
-common
1134 Summary: Python
3 utility libraries
for Ceph
1135 %if 0%{?fedora} || 0%{?rhel} >= 8
1136 Requires: python
%{python3_pkgversion}-pyyaml
1138 %if 0%{?suse_version}
1139 Requires: python
%{python3_pkgversion}-PyYAML
1141 %if 0%{?suse_version}
1142 Group: Development
/Libraries
/Python
1144 %{?python_provide:%python_provide python%{python3_pkgversion}-ceph-common}
1145 %description -n python
%{python3_pkgversion}-ceph
-common
1146 This package contains data structures
, classes and functions used by Ceph.
1147 It also contains utilities used
for the cephadm orchestrator.
1149 %if 0%{with cephfs_shell}
1150 %package -n cephfs
-shell
1151 Summary: Interactive shell
for Ceph file system
1152 Requires: python
%{python3_pkgversion}-cmd2
1153 Requires: python
%{python3_pkgversion}-colorama
1154 Requires: python
%{python3_pkgversion}-cephfs
1155 %description -n cephfs
-shell
1156 This package contains an interactive tool that allows accessing a Ceph
1157 file system without mounting it by providing a nice pseudo
-shell which
1158 works like an FTP client.
1161 %if 0%{with ceph_test_package}
1162 %package -n ceph
-test
1163 Summary: Ceph benchmarks and
test tools
1164 %if 0%{?suse_version}
1165 Group: System
/Benchmark
1167 Requires: ceph
-common
= %{_epoch_prefix}%{version}-%{release}
1168 Requires: xmlstarlet
1171 %description -n ceph
-test
1172 This package contains Ceph benchmarks and
test tools.
1175 %if 0%{with cephfs_java}
1177 %package -n libcephfs_jni1
1178 Summary: Java Native Interface library
for CephFS Java bindings
1179 %if 0%{?suse_version}
1180 Group: System
/Libraries
1183 Requires: libcephfs2
= %{_epoch_prefix}%{version}-%{release}
1184 %description -n libcephfs_jni1
1185 This package contains the Java Native Interface library
for CephFS Java
1188 %package -n libcephfs_jni
-devel
1189 Summary: Development files
for CephFS Java Native Interface library
1190 %if 0%{?suse_version}
1191 Group: Development
/Libraries
/Java
1194 Requires: libcephfs_jni1
= %{_epoch_prefix}%{version}-%{release}
1195 Obsoletes
: ceph
-devel
< %{_epoch_prefix}%{version}-%{release}
1196 Provides: libcephfs_jni1
-devel
= %{_epoch_prefix}%{version}-%{release}
1197 Obsoletes
: libcephfs_jni1
-devel
< %{_epoch_prefix}%{version}-%{release}
1198 %description -n libcephfs_jni
-devel
1199 This package contains the development files
for CephFS Java Native Interface
1202 %package -n cephfs
-java
1203 Summary: Java libraries
for the Ceph File System
1204 %if 0%{?suse_version}
1205 Group: System
/Libraries
1208 Requires: libcephfs_jni1
= %{_epoch_prefix}%{version}-%{release}
1210 BuildRequires
: junit
1211 %description -n cephfs
-java
1212 This package contains the Java libraries
for the Ceph File System.
1216 %package -n rados
-objclass
-devel
1217 Summary: RADOS object class development kit
1218 %if 0%{?suse_version}
1219 Group: Development
/Libraries
/C and C
++
1221 Requires: libradospp
-devel
= %{_epoch_prefix}%{version}-%{release}
1222 %description -n rados
-objclass
-devel
1223 This package contains libraries and headers needed to develop RADOS object
1226 %if 0%{with selinux}
1229 Summary: SELinux support
for Ceph MON
, OSD and MDS
1230 %if 0%{?suse_version}
1231 Group: System
/Filesystems
1233 Requires: ceph
-base
= %{_epoch_prefix}%{version}-%{release}
1234 Requires: policycoreutils
, libselinux
-utils
1235 Requires(post
): ceph
-base
= %{_epoch_prefix}%{version}-%{release}
1236 Requires(post
): selinux
-policy
-base
>= %{_selinux_policy_version}, policycoreutils
, gawk
1237 Requires(postun
): policycoreutils
1238 %description selinux
1239 This package contains SELinux support
for Ceph MON
, OSD and MDS. The package
1240 also performs file
-system relabelling which can take a long
time on heavily
1241 populated file
-systems.
1245 %package grafana
-dashboards
1246 Summary: The
set of Grafana dashboards
for monitoring purposes
1248 %if 0%{?suse_version}
1249 Group: System
/Filesystems
1251 %description grafana
-dashboards
1252 This package provides a
set of Grafana dashboards
for monitoring of
1253 Ceph clusters. The dashboards require a Prometheus server setup
1254 collecting data from Ceph Manager "prometheus" module and Prometheus
1255 project "node_exporter" module. The dashboards are designed to be
1256 integrated with the Ceph Manager Dashboard web UI.
1258 %package prometheus
-alerts
1259 Summary: Prometheus alerts
for a Ceph deployment
1261 Group: System
/Monitoring
1262 %description prometheus
-alerts
1263 This package provides Ceph default alerts
for Prometheus.
1265 #################################################################################
1267 #################################################################################
1269 %autosetup -p1
-n @TARBALL_BASENAME@
1272 # Disable lto on systems that do not support symver attribute
1273 # See https://gcc.gnu.org/bugzilla/show_bug.cgi?id=48200 for details
1274 %if ( 0%{?rhel} && 0%{?rhel} < 9 ) || ( 0%{?suse_version} && 0%{?suse_version} <= 1500 )
1275 %define _lto_cflags
%{nil}
1278 %if 0%{with cephfs_java}
1280 for i
in /usr
/{lib64
,lib
}/jvm
/java
/include
{,/linux
}; do
1281 [ -d $i
] && java_inc
="$java_inc
-I$i"
1285 %if 0%{?suse_version}
1286 %limit_build -m
3000
1289 export CPPFLAGS
="$java_inc"
1290 export CFLAGS
="$RPM_OPT_FLAGS"
1291 export CXXFLAGS
="$RPM_OPT_FLAGS"
1292 export LDFLAGS
="$RPM_LD_FLAGS"
1294 %if 0%{with seastar}
1295 # seastar uses longjmp() to implement coroutine. and this annoys longjmp_chk()
1296 export CXXFLAGS
=$
(echo $RPM_OPT_FLAGS | sed
-e 's
/-Wp
,-D_FORTIFY_SOURCE
=2//g'
)
1297 # remove from CFLAGS too because it causes the arrow submodule to fail with:
1298 # warning _FORTIFY_SOURCE requires compiling with optimization (-O)
1299 export CFLAGS
=$
(echo $RPM_OPT_FLAGS | sed
-e 's
/-Wp
,-D_FORTIFY_SOURCE
=2//g'
)
1304 %{?!_vpath_builddir:%global _vpath_builddir %{_target_platform}}
1306 # TODO: drop this step once we can use `cmake -B`
1307 mkdir -p
%{_vpath_builddir}
1308 pushd %{_vpath_builddir}
1310 -DCMAKE_INSTALL_PREFIX
=%{_prefix} \
1311 -DCMAKE_INSTALL_LIBDIR
:PATH
=%{_libdir} \
1312 -DCMAKE_INSTALL_LIBEXECDIR
:PATH
=%{_libexecdir} \
1313 -DCMAKE_INSTALL_LOCALSTATEDIR
:PATH
=%{_localstatedir} \
1314 -DCMAKE_INSTALL_SYSCONFDIR
:PATH
=%{_sysconfdir} \
1315 -DCMAKE_INSTALL_MANDIR
:PATH
=%{_mandir} \
1316 -DCMAKE_INSTALL_DOCDIR
:PATH
=%{_docdir}/ceph \
1317 -DCMAKE_INSTALL_INCLUDEDIR
:PATH
=%{_includedir} \
1318 -DSYSTEMD_SYSTEM_UNIT_DIR
:PATH
=%{_unitdir} \
1319 -DWITH_MANPAGE
:BOOL
=ON \
1320 -DWITH_PYTHON3
:STRING
=%{python3_version} \
1321 -DWITH_MGR_DASHBOARD_FRONTEND
:BOOL
=OFF \
1322 %if 0%{?suse_version}
1323 -DWITH_RADOSGW_SELECT_PARQUET
:BOOL
=OFF \
1325 %if 0%{without ceph_test_package}
1326 -DWITH_TESTS
:BOOL
=OFF \
1328 %if 0%{with cephfs_java}
1329 -DWITH_CEPHFS_JAVA
:BOOL
=ON \
1331 %if 0%{with selinux}
1332 -DWITH_SELINUX
:BOOL
=ON \
1335 -DWITH_LTTNG
:BOOL
=ON \
1336 -DWITH_BABELTRACE
:BOOL
=ON \
1338 -DWITH_LTTNG
:BOOL
=OFF \
1339 -DWITH_BABELTRACE
:BOOL
=OFF \
1341 $CEPH_EXTRA_CMAKE_ARGS \
1343 -DWITH_OCF
:BOOL
=ON \
1345 %if 0%{with cephfs_shell}
1346 -DWITH_CEPHFS_SHELL
:BOOL
=ON \
1348 %if 0%{with libradosstriper}
1349 -DWITH_LIBRADOSSTRIPER
:BOOL
=ON \
1351 -DWITH_LIBRADOSSTRIPER
:BOOL
=OFF \
1353 %if 0%{with amqp_endpoint}
1354 -DWITH_RADOSGW_AMQP_ENDPOINT
:BOOL
=ON \
1356 -DWITH_RADOSGW_AMQP_ENDPOINT
:BOOL
=OFF \
1358 %if 0%{with kafka_endpoint}
1359 -DWITH_RADOSGW_KAFKA_ENDPOINT
:BOOL
=ON \
1361 -DWITH_RADOSGW_KAFKA_ENDPOINT
:BOOL
=OFF \
1363 %if 0%{without lua_packages}
1364 -DWITH_RADOSGW_LUA_PACKAGES
:BOOL
=OFF \
1367 -DWITH_ZBD
:BOOL
=ON \
1369 %if 0%{with cmake_verbose_logging}
1370 -DCMAKE_VERBOSE_MAKEFILE
:BOOL
=ON \
1372 %if 0%{with rbd_rwl_cache}
1373 -DWITH_RBD_RWL
:BOOL
=ON \
1375 %if 0%{with rbd_ssd_cache}
1376 -DWITH_RBD_SSD_CACHE
:BOOL
=ON \
1378 %if 0%{with system_pmdk}
1379 -DWITH_SYSTEM_PMDK
:BOOL
=ON \
1382 -DWITH_JAEGER
:BOOL
=ON \
1384 %if 0%{?suse_version}
1385 -DBOOST_J
:STRING
=%{jobs} \
1387 -DBOOST_J
:STRING
=%{_smp_build_ncpus} \
1390 -DWITH_FMT_HEADER_ONLY
:BOOL
=ON \
1392 %if 0%{with system_arrow}
1393 -DWITH_SYSTEM_ARROW
:BOOL
=ON \
1395 %if 0%{with system_utf8proc}
1396 -DWITH_SYSTEM_UTF8PROC
:BOOL
=ON \
1398 %if 0%{with seastar}
1399 -DWITH_SEASTAR
:BOOL
=ON \
1400 -DWITH_JAEGER
:BOOL
=OFF \
1402 -DWITH_GRAFANA
:BOOL
=ON
1404 %if %{with cmake_verbose_logging}
1405 cat .
/CMakeFiles
/CMakeOutput.log
1406 cat .
/CMakeFiles
/CMakeError.log
1409 %if 0%{?suse_version}
1417 %if 0%{with make_check}
1419 # run in-tree unittests
1420 pushd %{_vpath_builddir}
1421 ctest
%{_smp_mflags}
1428 pushd %{_vpath_builddir}
1430 # we have dropped sysvinit bits
1431 rm -f
%{buildroot}/%{_sysconfdir}/init.d
/ceph
1434 %if 0%{with seastar}
1435 # package crimson-osd with the name of ceph-osd
1436 install -m
0755 %{buildroot}%{_bindir}/crimson-osd %{buildroot}%{_bindir}/ceph
-osd
1439 install -m
0644 -D src
/etc
-rbdmap
%{buildroot}%{_sysconfdir}/ceph
/rbdmap
1440 %if 0%{?fedora} || 0%{?rhel}
1441 install -m
0644 -D etc
/sysconfig
/ceph
%{buildroot}%{_sysconfdir}/sysconfig
/ceph
1443 %if 0%{?suse_version}
1444 install -m
0644 -D etc
/sysconfig
/ceph
%{buildroot}%{_fillupdir}/sysconfig.%{name}
1446 install -m
0644 -D systemd
/ceph.tmpfiles.d
%{buildroot}%{_tmpfilesdir}/ceph
-common.conf
1447 install -m
0644 -D systemd
/50-ceph.preset
%{buildroot}%{_presetdir}/50-ceph.preset
1448 mkdir -p
%{buildroot}%{_sbindir}
1449 install -m
0644 -D src
/logrotate.conf
%{buildroot}%{_sysconfdir}/logrotate.d
/ceph
1450 chmod
0644 %{buildroot}%{_docdir}/ceph
/sample.ceph.conf
1451 install -m
0644 -D COPYING
%{buildroot}%{_docdir}/ceph
/COPYING
1452 install -m
0644 -D etc
/sysctl
/90-ceph
-osd.conf
%{buildroot}%{_sysctldir}/90-ceph
-osd.conf
1453 install -m
0755 -D src
/tools
/rbd_nbd
/rbd
-nbd_quiesce
%{buildroot}%{_libexecdir}/rbd
-nbd
/rbd
-nbd_quiesce
1455 install -m
0755 src
/cephadm
/cephadm
%{buildroot}%{_sbindir}/cephadm
1456 mkdir -p
%{buildroot}%{_sharedstatedir}/cephadm
1457 chmod
0700 %{buildroot}%{_sharedstatedir}/cephadm
1458 mkdir -p
%{buildroot}%{_sharedstatedir}/cephadm
/.ssh
1459 chmod
0700 %{buildroot}%{_sharedstatedir}/cephadm
/.ssh
1460 touch
%{buildroot}%{_sharedstatedir}/cephadm
/.ssh
/authorized_keys
1461 chmod
0600 %{buildroot}%{_sharedstatedir}/cephadm
/.ssh
/authorized_keys
1463 # firewall templates and /sbin/mount.ceph symlink
1464 %if 0%{?suse_version} && !0%{?usrmerged}
1465 mkdir -p
%{buildroot}/sbin
1466 ln
-sf
%{_sbindir}/mount.ceph %{buildroot}/sbin
/mount.ceph
1470 install -m
0644 -D udev
/50-rbd.rules
%{buildroot}%{_udevrulesdir}/50-rbd.rules
1473 install -m
0440 -D sudoers.d
/ceph
-smartctl
%{buildroot}%{_sysconfdir}/sudoers.d
/ceph
-smartctl
1476 pathfix.py
-pni "
%{__python3} %{py3_shbang_opts}" %{buildroot}%{_bindir}/*
1477 pathfix.py
-pni "
%{__python3} %{py3_shbang_opts}" %{buildroot}%{_sbindir}/*
1480 #set up placeholder directories
1481 mkdir -p
%{buildroot}%{_sysconfdir}/ceph
1482 mkdir -p
%{buildroot}%{_localstatedir}/run
/ceph
1483 mkdir -p
%{buildroot}%{_localstatedir}/log
/ceph
1484 mkdir -p
%{buildroot}%{_localstatedir}/lib
/ceph
/tmp
1485 mkdir -p
%{buildroot}%{_localstatedir}/lib
/ceph
/mon
1486 mkdir -p
%{buildroot}%{_localstatedir}/lib
/ceph
/osd
1487 mkdir -p
%{buildroot}%{_localstatedir}/lib
/ceph
/mds
1488 mkdir -p
%{buildroot}%{_localstatedir}/lib
/ceph
/mgr
1489 mkdir -p
%{buildroot}%{_localstatedir}/lib
/ceph
/crash
1490 mkdir -p
%{buildroot}%{_localstatedir}/lib
/ceph
/crash
/posted
1491 mkdir -p
%{buildroot}%{_localstatedir}/lib
/ceph
/radosgw
1492 mkdir -p
%{buildroot}%{_localstatedir}/lib
/ceph
/bootstrap
-osd
1493 mkdir -p
%{buildroot}%{_localstatedir}/lib
/ceph
/bootstrap
-mds
1494 mkdir -p
%{buildroot}%{_localstatedir}/lib
/ceph
/bootstrap
-rgw
1495 mkdir -p
%{buildroot}%{_localstatedir}/lib
/ceph
/bootstrap
-mgr
1496 mkdir -p
%{buildroot}%{_localstatedir}/lib
/ceph
/bootstrap
-rbd
1497 mkdir -p
%{buildroot}%{_localstatedir}/lib
/ceph
/bootstrap
-rbd
-mirror
1500 install -m
644 -D monitoring
/ceph
-mixin
/prometheus_alerts.yml
%{buildroot}/etc
/prometheus
/ceph
/ceph_default_alerts.yml
1502 %if 0%{?suse_version}
1503 # create __pycache__ directories and their contents
1504 %py3_compile %{buildroot}%{python3_sitelib}
1505 # hardlink duplicate files under /usr to save space
1506 %fdupes %{buildroot}%{_prefix}
1510 %py_byte_compile %{__python3} %{buildroot}%{python3_sitelib}
1515 # built binaries are no longer necessary at this point,
1516 # but are consuming ~17GB of disk in the build environment
1517 rm -rf
%{_vpath_builddir}
1519 #################################################################################
1520 # files and systemd scriptlets
1521 #################################################################################
1525 %{_bindir}/ceph
-crash
1526 %{_bindir}/crushtool
1527 %{_bindir}/monmaptool
1528 %{_bindir}/osdmaptool
1529 %{_bindir}/ceph
-kvstore
-tool
1531 %{_presetdir}/50-ceph.preset
1532 %{_sbindir}/ceph
-create
-keys
1533 %dir %{_libexecdir}/ceph
1534 %{_libexecdir}/ceph
/ceph_common.sh
1535 %dir %{_libdir}/rados
-classes
1536 %{_libdir}/rados
-classes
/*
1537 %dir %{_libdir}/ceph
1538 %dir %{_libdir}/ceph
/erasure
-code
1539 %{_libdir}/ceph
/erasure
-code
/libec_
*.so
*
1540 %dir %{_libdir}/ceph
/compressor
1541 %{_libdir}/ceph
/compressor
/libceph_
*.so
*
1542 %{_unitdir}/ceph
-crash.service
1543 %dir %{_libdir}/ceph
/crypto
1544 %{_libdir}/ceph
/crypto
/libceph_
*.so
*
1546 %{_libdir}/libos_tp.so
*
1547 %{_libdir}/libosd_tp.so
*
1549 %config(noreplace
) %{_sysconfdir}/logrotate.d
/ceph
1550 %if 0%{?fedora} || 0%{?rhel}
1551 %config(noreplace
) %{_sysconfdir}/sysconfig
/ceph
1553 %if 0%{?suse_version}
1554 %{_fillupdir}/sysconfig.
*
1556 %{_unitdir}/ceph.target
1557 %{_mandir}/man8
/ceph
-create
-keys
.8*
1558 %{_mandir}/man8
/ceph
-run
.8*
1559 %{_mandir}/man8
/crushtool
.8*
1560 %{_mandir}/man8
/osdmaptool
.8*
1561 %{_mandir}/man8
/monmaptool
.8*
1562 %{_mandir}/man8
/ceph
-kvstore
-tool
.8*
1563 #set up placeholder directories
1564 %attr(750,ceph
,ceph
) %dir %{_localstatedir}/lib
/ceph
/crash
1565 %attr(750,ceph
,ceph
) %dir %{_localstatedir}/lib
/ceph
/crash
/posted
1566 %attr(750,ceph
,ceph
) %dir %{_localstatedir}/lib
/ceph
/tmp
1567 %attr(750,ceph
,ceph
) %dir %{_localstatedir}/lib
/ceph
/bootstrap
-osd
1568 %attr(750,ceph
,ceph
) %dir %{_localstatedir}/lib
/ceph
/bootstrap
-mds
1569 %attr(750,ceph
,ceph
) %dir %{_localstatedir}/lib
/ceph
/bootstrap
-rgw
1570 %attr(750,ceph
,ceph
) %dir %{_localstatedir}/lib
/ceph
/bootstrap
-mgr
1571 %attr(750,ceph
,ceph
) %dir %{_localstatedir}/lib
/ceph
/bootstrap
-rbd
1572 %attr(750,ceph
,ceph
) %dir %{_localstatedir}/lib
/ceph
/bootstrap
-rbd
-mirror
1573 %{_sysconfdir}/sudoers.d
/ceph
-smartctl
1577 %if 0%{?suse_version}
1579 if [ $
1 -eq
1 ] ; then
1580 /usr
/bin
/systemctl preset ceph.target ceph
-crash.service
>/dev
/null
2>&1 ||
:
1583 %if 0%{?fedora} || 0%{?rhel}
1584 %systemd_post ceph.target ceph
-crash.service
1586 if [ $
1 -eq
1 ] ; then
1587 /usr
/bin
/systemctl start ceph.target ceph
-crash.service
>/dev
/null
2>&1 ||
:
1591 %if 0%{?suse_version}
1592 %service_del_preun ceph.target ceph
-crash.service
1594 %if 0%{?fedora} || 0%{?rhel}
1595 %systemd_preun ceph.target ceph
-crash.service
1600 %systemd_postun ceph.target
1603 getent group cephadm
>/dev
/null || groupadd
-r cephadm
1604 getent passwd cephadm
>/dev
/null || useradd
-r
-g cephadm
-s
/bin
/bash
-c "cephadm user
for mgr
/cephadm"
-d
%{_sharedstatedir}/cephadm cephadm
1607 %if ! 0%{?suse_version}
1609 [ $
1 -ne
0 ] || userdel cephadm ||
:
1614 %{_mandir}/man8
/cephadm
.8*
1615 %attr(0700,cephadm
,cephadm
) %dir %{_sharedstatedir}/cephadm
1616 %attr(0700,cephadm
,cephadm
) %dir %{_sharedstatedir}/cephadm
/.ssh
1617 %config(noreplace
) %attr(0600,cephadm
,cephadm
) %{_sharedstatedir}/cephadm
/.ssh
/authorized_keys
1620 %dir %{_docdir}/ceph
1621 %doc %{_docdir}/ceph
/sample.ceph.conf
1622 %license %{_docdir}/ceph
/COPYING
1624 %{_bindir}/ceph
-authtool
1625 %{_bindir}/ceph
-conf
1626 %{_bindir}/ceph
-dencoder
1627 %{_bindir}/ceph
-rbdnamer
1629 %{_bindir}/cephfs
-data
-scan
1630 %{_bindir}/cephfs
-journal
-tool
1631 %{_bindir}/cephfs
-table
-tool
1632 %{_bindir}/crushdiff
1634 %{_bindir}/radosgw
-admin
1636 %{_bindir}/rbd
-replay
1637 %{_bindir}/rbd
-replay
-many
1639 %{_sbindir}/mount.ceph
1640 %if 0%{?suse_version} && !0%{?usrmerged}
1644 %{_bindir}/rbd
-replay
-prep
1646 %{_bindir}/ceph
-post
-file
1647 %dir %{_libdir}/ceph
/denc
1648 %{_libdir}/ceph
/denc
/denc
-mod
-*.so
1649 %{_tmpfilesdir}/ceph
-common.conf
1650 %{_mandir}/man8
/ceph
-authtool
.8*
1651 %{_mandir}/man8
/ceph
-conf
.8*
1652 %{_mandir}/man8
/ceph
-dencoder
.8*
1653 %{_mandir}/man8
/ceph
-diff
-sorted
.8*
1654 %{_mandir}/man8
/ceph
-rbdnamer
.8*
1655 %{_mandir}/man8
/ceph
-syn
.8*
1656 %{_mandir}/man8
/ceph
-post
-file
.8*
1657 %{_mandir}/man8
/ceph
.8*
1658 %{_mandir}/man8
/crushdiff
.8*
1659 %{_mandir}/man8
/mount.ceph
.8*
1660 %{_mandir}/man8
/rados
.8*
1661 %{_mandir}/man8
/radosgw
-admin
.8*
1662 %{_mandir}/man8
/rbd
.8*
1663 %{_mandir}/man8
/rbdmap
.8*
1664 %{_mandir}/man8
/rbd
-replay
.8*
1665 %{_mandir}/man8
/rbd
-replay
-many
.8*
1666 %{_mandir}/man8
/rbd
-replay
-prep
.8*
1667 %{_mandir}/man8
/rgw
-orphan
-list
.8*
1668 %dir %{_datadir}/ceph
/
1669 %{_datadir}/ceph
/known_hosts_drop.ceph.com
1670 %{_datadir}/ceph
/id_rsa_drop.ceph.com
1671 %{_datadir}/ceph
/id_rsa_drop.ceph.com.pub
1672 %dir %{_sysconfdir}/ceph
/
1673 %config %{_sysconfdir}/bash_completion.d
/ceph
1674 %config %{_sysconfdir}/bash_completion.d
/rados
1675 %config %{_sysconfdir}/bash_completion.d
/rbd
1676 %config %{_sysconfdir}/bash_completion.d
/radosgw
-admin
1677 %config(noreplace
) %{_sysconfdir}/ceph
/rbdmap
1678 %{_unitdir}/rbdmap.service
1679 %dir %{_udevrulesdir}
1680 %{_udevrulesdir}/50-rbd.rules
1681 %attr(3770,ceph
,ceph
) %dir %{_localstatedir}/log
/ceph
/
1682 %attr(750,ceph
,ceph
) %dir %{_localstatedir}/lib
/ceph
/
1687 %if 0%{?rhel} || 0%{?fedora}
1688 /usr
/sbin
/groupadd ceph
-g $CEPH_GROUP_ID
-o
-r
2>/dev
/null ||
:
1689 /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 ||
:
1691 %if 0%{?suse_version}
1692 if ! getent group ceph
>/dev
/null
; then
1693 CEPH_GROUP_ID_OPTION
=""
1694 getent group $CEPH_GROUP_ID
>/dev
/null || CEPH_GROUP_ID_OPTION
="
-g $CEPH_GROUP_ID"
1695 groupadd ceph $CEPH_GROUP_ID_OPTION
-r
2>/dev
/null ||
:
1697 if ! getent passwd ceph
>/dev
/null
; then
1698 CEPH_USER_ID_OPTION
=""
1699 getent passwd $CEPH_USER_ID
>/dev
/null || CEPH_USER_ID_OPTION
="
-u $CEPH_USER_ID"
1700 useradd ceph $CEPH_USER_ID_OPTION
-r
-g ceph
-s
/sbin
/nologin
2>/dev
/null ||
:
1702 usermod
-c "Ceph storage service" \
1703 -d
%{_localstatedir}/lib
/ceph \
1711 %tmpfiles_create %{_tmpfilesdir}/ceph
-common.conf
1714 # Package removal cleanup
1715 if [ "$
1"
-eq "
0"
] ; then
1716 rm -rf
%{_localstatedir}/log
/ceph
1717 rm -rf
%{_sysconfdir}/ceph
1722 %{_mandir}/man8
/ceph
-mds
.8*
1723 %{_unitdir}/ceph
-mds@.service
1724 %{_unitdir}/ceph
-mds.target
1725 %attr(750,ceph
,ceph
) %dir %{_localstatedir}/lib
/ceph
/mds
1728 %if 0%{?suse_version}
1729 if [ $
1 -eq
1 ] ; then
1730 /usr
/bin
/systemctl preset ceph
-mds@\
*.service ceph
-mds.target
>/dev
/null
2>&1 ||
:
1733 %if 0%{?fedora} || 0%{?rhel}
1734 %systemd_post ceph
-mds@\
*.service ceph
-mds.target
1736 if [ $
1 -eq
1 ] ; then
1737 /usr
/bin
/systemctl start ceph
-mds.target
>/dev
/null
2>&1 ||
:
1741 %if 0%{?suse_version}
1742 %service_del_preun ceph
-mds@\
*.service ceph
-mds.target
1744 %if 0%{?fedora} || 0%{?rhel}
1745 %systemd_preun ceph
-mds@\
*.service ceph
-mds.target
1749 %systemd_postun ceph
-mds@\
*.service ceph
-mds.target
1750 if [ $
1 -ge
1 ] ; then
1751 # Restart on upgrade, but only if "CEPH_AUTO_RESTART_ON_UPGRADE" is set to
1752 # "yes". In any case: if units are not running, do not touch them.
1753 SYSCONF_CEPH
=%{_sysconfdir}/sysconfig
/ceph
1754 if [ -f $SYSCONF_CEPH
-a
-r $SYSCONF_CEPH
] ; then
1755 source $SYSCONF_CEPH
1757 if [ "X$CEPH_AUTO_RESTART_ON_UPGRADE"
= "Xyes"
] ; then
1758 /usr
/bin
/systemctl try
-restart ceph
-mds@\
*.service
> /dev
/null
2>&1 ||
:
1764 %dir %{_datadir}/ceph
/mgr
1765 %{_datadir}/ceph
/mgr
/mgr_module.
*
1766 %{_datadir}/ceph
/mgr
/mgr_util.
*
1767 %{_datadir}/ceph
/mgr
/object_format.
*
1768 %{_unitdir}/ceph
-mgr@.service
1769 %{_unitdir}/ceph
-mgr.target
1770 %attr(750,ceph
,ceph
) %dir %{_localstatedir}/lib
/ceph
/mgr
1773 %if 0%{?suse_version}
1774 if [ $
1 -eq
1 ] ; then
1775 /usr
/bin
/systemctl preset ceph
-mgr@\
*.service ceph
-mgr.target
>/dev
/null
2>&1 ||
:
1778 %if 0%{?fedora} || 0%{?rhel}
1779 %systemd_post ceph
-mgr@\
*.service ceph
-mgr.target
1781 if [ $
1 -eq
1 ] ; then
1782 /usr
/bin
/systemctl start ceph
-mgr.target
>/dev
/null
2>&1 ||
:
1786 %if 0%{?suse_version}
1787 %service_del_preun ceph
-mgr@\
*.service ceph
-mgr.target
1789 %if 0%{?fedora} || 0%{?rhel}
1790 %systemd_preun ceph
-mgr@\
*.service ceph
-mgr.target
1794 %systemd_postun ceph
-mgr@\
*.service ceph
-mgr.target
1795 if [ $
1 -ge
1 ] ; then
1796 # Restart on upgrade, but only if "CEPH_AUTO_RESTART_ON_UPGRADE" is set to
1797 # "yes". In any case: if units are not running, do not touch them.
1798 SYSCONF_CEPH
=%{_sysconfdir}/sysconfig
/ceph
1799 if [ -f $SYSCONF_CEPH
-a
-r $SYSCONF_CEPH
] ; then
1800 source $SYSCONF_CEPH
1802 if [ "X$CEPH_AUTO_RESTART_ON_UPGRADE"
= "Xyes"
] ; then
1803 /usr
/bin
/systemctl try
-restart ceph
-mgr@\
*.service
> /dev
/null
2>&1 ||
:
1807 %files mgr
-dashboard
1808 %{_datadir}/ceph
/mgr
/dashboard
1811 if [ $
1 -eq
1 ] ; then
1812 /usr
/bin
/systemctl try
-restart ceph
-mgr.target
>/dev
/null
2>&1 ||
:
1815 %postun mgr
-dashboard
1816 if [ $
1 -eq
1 ] ; then
1817 /usr
/bin
/systemctl try
-restart ceph
-mgr.target
>/dev
/null
2>&1 ||
:
1820 %files mgr
-diskprediction
-local
1821 %{_datadir}/ceph
/mgr
/diskprediction_local
1823 %post mgr
-diskprediction
-local
1824 if [ $
1 -eq
1 ] ; then
1825 /usr
/bin
/systemctl try
-restart ceph
-mgr.target
>/dev
/null
2>&1 ||
:
1828 %postun mgr
-diskprediction
-local
1829 if [ $
1 -eq
1 ] ; then
1830 /usr
/bin
/systemctl try
-restart ceph
-mgr.target
>/dev
/null
2>&1 ||
:
1833 %files mgr
-modules
-core
1834 %dir %{_datadir}/ceph
/mgr
1835 %{_datadir}/ceph
/mgr
/alerts
1836 %{_datadir}/ceph
/mgr
/balancer
1837 %{_datadir}/ceph
/mgr
/crash
1838 %{_datadir}/ceph
/mgr
/devicehealth
1839 %{_datadir}/ceph
/mgr
/influx
1840 %{_datadir}/ceph
/mgr
/insights
1841 %{_datadir}/ceph
/mgr
/iostat
1842 %{_datadir}/ceph
/mgr
/localpool
1843 %{_datadir}/ceph
/mgr
/mds_autoscaler
1844 %{_datadir}/ceph
/mgr
/mirroring
1845 %{_datadir}/ceph
/mgr
/nfs
1846 %{_datadir}/ceph
/mgr
/orchestrator
1847 %{_datadir}/ceph
/mgr
/osd_perf_query
1848 %{_datadir}/ceph
/mgr
/osd_support
1849 %{_datadir}/ceph
/mgr
/pg_autoscaler
1850 %{_datadir}/ceph
/mgr
/progress
1851 %{_datadir}/ceph
/mgr
/prometheus
1852 %{_datadir}/ceph
/mgr
/rbd_support
1853 %{_datadir}/ceph
/mgr
/restful
1854 %{_datadir}/ceph
/mgr
/selftest
1855 %{_datadir}/ceph
/mgr
/snap_schedule
1856 %{_datadir}/ceph
/mgr
/stats
1857 %{_datadir}/ceph
/mgr
/status
1858 %{_datadir}/ceph
/mgr
/telegraf
1859 %{_datadir}/ceph
/mgr
/telemetry
1860 %{_datadir}/ceph
/mgr
/test_orchestrator
1861 %{_datadir}/ceph
/mgr
/volumes
1862 %{_datadir}/ceph
/mgr
/zabbix
1865 %{_datadir}/ceph
/mgr
/rook
1868 if [ $
1 -eq
1 ] ; then
1869 /usr
/bin
/systemctl try
-restart ceph
-mgr.target
>/dev
/null
2>&1 ||
:
1873 if [ $
1 -eq
1 ] ; then
1874 /usr
/bin
/systemctl try
-restart ceph
-mgr.target
>/dev
/null
2>&1 ||
:
1877 %files mgr
-k8sevents
1878 %{_datadir}/ceph
/mgr
/k8sevents
1881 if [ $
1 -eq
1 ] ; then
1882 /usr
/bin
/systemctl try
-restart ceph
-mgr.target
>/dev
/null
2>&1 ||
:
1885 %postun mgr
-k8sevents
1886 if [ $
1 -eq
1 ] ; then
1887 /usr
/bin
/systemctl try
-restart ceph
-mgr.target
>/dev
/null
2>&1 ||
:
1891 %{_datadir}/ceph
/mgr
/cephadm
1894 if [ $
1 -eq
1 ] ; then
1895 /usr
/bin
/systemctl try
-restart ceph
-mgr.target
>/dev
/null
2>&1 ||
:
1899 if [ $
1 -eq
1 ] ; then
1900 /usr
/bin
/systemctl try
-restart ceph
-mgr.target
>/dev
/null
2>&1 ||
:
1905 %{_bindir}/ceph
-monstore
-tool
1906 %{_mandir}/man8
/ceph
-mon
.8*
1907 %{_unitdir}/ceph
-mon@.service
1908 %{_unitdir}/ceph
-mon.target
1909 %attr(750,ceph
,ceph
) %dir %{_localstatedir}/lib
/ceph
/mon
1912 %if 0%{?suse_version}
1913 if [ $
1 -eq
1 ] ; then
1914 /usr
/bin
/systemctl preset ceph
-mon@\
*.service ceph
-mon.target
>/dev
/null
2>&1 ||
:
1917 %if 0%{?fedora} || 0%{?rhel}
1918 %systemd_post ceph
-mon@\
*.service ceph
-mon.target
1920 if [ $
1 -eq
1 ] ; then
1921 /usr
/bin
/systemctl start ceph
-mon.target
>/dev
/null
2>&1 ||
:
1925 %if 0%{?suse_version}
1926 %service_del_preun ceph
-mon@\
*.service ceph
-mon.target
1928 %if 0%{?fedora} || 0%{?rhel}
1929 %systemd_preun ceph
-mon@\
*.service ceph
-mon.target
1933 %systemd_postun ceph
-mon@\
*.service ceph
-mon.target
1934 if [ $
1 -ge
1 ] ; then
1935 # Restart on upgrade, but only if "CEPH_AUTO_RESTART_ON_UPGRADE" is set to
1936 # "yes". In any case: if units are not running, do not touch them.
1937 SYSCONF_CEPH
=%{_sysconfdir}/sysconfig
/ceph
1938 if [ -f $SYSCONF_CEPH
-a
-r $SYSCONF_CEPH
] ; then
1939 source $SYSCONF_CEPH
1941 if [ "X$CEPH_AUTO_RESTART_ON_UPGRADE"
= "Xyes"
] ; then
1942 /usr
/bin
/systemctl try
-restart ceph
-mon@\
*.service
> /dev
/null
2>&1 ||
:
1947 %{_bindir}/ceph
-fuse
1948 %{_mandir}/man8
/ceph
-fuse
.8*
1949 %{_sbindir}/mount.fuse.ceph
1950 %{_mandir}/man8
/mount.fuse.ceph
.8*
1951 %{_unitdir}/ceph
-fuse@.service
1952 %{_unitdir}/ceph
-fuse.target
1954 %files -n cephfs
-mirror
1955 %{_bindir}/cephfs
-mirror
1956 %{_mandir}/man8
/cephfs
-mirror
.8*
1957 %{_unitdir}/cephfs
-mirror@.service
1958 %{_unitdir}/cephfs
-mirror.target
1960 %post -n cephfs
-mirror
1961 %if 0%{?suse_version}
1962 if [ $
1 -eq
1 ] ; then
1963 /usr
/bin
/systemctl preset cephfs
-mirror@\
*.service cephfs
-mirror.target
>/dev
/null
2>&1 ||
:
1966 %if 0%{?fedora} || 0%{?rhel}
1967 %systemd_post cephfs
-mirror@\
*.service cephfs
-mirror.target
1969 if [ $
1 -eq
1 ] ; then
1970 /usr
/bin
/systemctl start cephfs
-mirror.target
>/dev
/null
2>&1 ||
:
1973 %preun -n cephfs
-mirror
1974 %if 0%{?suse_version}
1975 %service_del_preun cephfs
-mirror@\
*.service cephfs
-mirror.target
1977 %if 0%{?fedora} || 0%{?rhel}
1978 %systemd_preun cephfs
-mirror@\
*.service cephfs
-mirror.target
1981 %postun -n cephfs
-mirror
1982 %systemd_postun cephfs
-mirror@\
*.service cephfs
-mirror.target
1983 if [ $
1 -ge
1 ] ; then
1984 # Restart on upgrade, but only if "CEPH_AUTO_RESTART_ON_UPGRADE" is set to
1985 # "yes". In any case: if units are not running, do not touch them.
1986 SYSCONF_CEPH
=%{_sysconfdir}/sysconfig
/ceph
1987 if [ -f $SYSCONF_CEPH
-a
-r $SYSCONF_CEPH
] ; then
1988 source $SYSCONF_CEPH
1990 if [ "X$CEPH_AUTO_RESTART_ON_UPGRADE"
= "Xyes"
] ; then
1991 /usr
/bin
/systemctl try
-restart cephfs
-mirror@\
*.service
> /dev
/null
2>&1 ||
:
1995 %files -n ceph
-exporter
1996 %{_bindir}/ceph
-exporter
2000 %{_mandir}/man8
/rbd
-fuse
.8*
2002 %files -n rbd
-mirror
2003 %{_bindir}/rbd
-mirror
2004 %{_mandir}/man8
/rbd
-mirror
.8*
2005 %{_unitdir}/ceph
-rbd
-mirror@.service
2006 %{_unitdir}/ceph
-rbd
-mirror.target
2009 %if 0%{?suse_version}
2010 if [ $
1 -eq
1 ] ; then
2011 /usr
/bin
/systemctl preset ceph
-rbd
-mirror@\
*.service ceph
-rbd
-mirror.target
>/dev
/null
2>&1 ||
:
2014 %if 0%{?fedora} || 0%{?rhel}
2015 %systemd_post ceph
-rbd
-mirror@\
*.service ceph
-rbd
-mirror.target
2017 if [ $
1 -eq
1 ] ; then
2018 /usr
/bin
/systemctl start ceph
-rbd
-mirror.target
>/dev
/null
2>&1 ||
:
2021 %preun -n rbd
-mirror
2022 %if 0%{?suse_version}
2023 %service_del_preun ceph
-rbd
-mirror@\
*.service ceph
-rbd
-mirror.target
2025 %if 0%{?fedora} || 0%{?rhel}
2026 %systemd_preun ceph
-rbd
-mirror@\
*.service ceph
-rbd
-mirror.target
2029 %postun -n rbd
-mirror
2030 %systemd_postun ceph
-rbd
-mirror@\
*.service ceph
-rbd
-mirror.target
2031 if [ $
1 -ge
1 ] ; then
2032 # Restart on upgrade, but only if "CEPH_AUTO_RESTART_ON_UPGRADE" is set to
2033 # "yes". In any case: if units are not running, do not touch them.
2034 SYSCONF_CEPH
=%{_sysconfdir}/sysconfig
/ceph
2035 if [ -f $SYSCONF_CEPH
-a
-r $SYSCONF_CEPH
] ; then
2036 source $SYSCONF_CEPH
2038 if [ "X$CEPH_AUTO_RESTART_ON_UPGRADE"
= "Xyes"
] ; then
2039 /usr
/bin
/systemctl try
-restart ceph
-rbd
-mirror@\
*.service
> /dev
/null
2>&1 ||
:
2043 %files immutable
-object
-cache
2044 %{_bindir}/ceph
-immutable
-object
-cache
2045 %{_mandir}/man8
/ceph
-immutable
-object
-cache
.8*
2046 %{_unitdir}/ceph
-immutable
-object
-cache@.service
2047 %{_unitdir}/ceph
-immutable
-object
-cache.target
2049 %post immutable
-object
-cache
2050 %if 0%{?suse_version}
2051 if [ $
1 -eq
1 ] ; then
2052 /usr
/bin
/systemctl preset ceph
-immutable
-object
-cache@\
*.service ceph
-immutable
-object
-cache.target
>/dev
/null
2>&1 ||
:
2055 %if 0%{?fedora} || 0%{?rhel}
2056 %systemd_post ceph
-immutable
-object
-cache@\
*.service ceph
-immutable
-object
-cache.target
2058 if [ $
1 -eq
1 ] ; then
2059 /usr
/bin
/systemctl start ceph
-immutable
-object
-cache.target
>/dev
/null
2>&1 ||
:
2062 %preun immutable
-object
-cache
2063 %if 0%{?suse_version}
2064 %service_del_preun ceph
-immutable
-object
-cache@\
*.service ceph
-immutable
-object
-cache.target
2066 %if 0%{?fedora} || 0%{?rhel}
2067 %systemd_preun ceph
-immutable
-object
-cache@\
*.service ceph
-immutable
-object
-cache.target
2070 %postun immutable
-object
-cache
2071 %systemd_postun ceph
-immutable
-object
-cache@\
*.service ceph
-immutable
-object
-cache.target
2072 if [ $
1 -ge
1 ] ; then
2073 # Restart on upgrade, but only if "CEPH_AUTO_RESTART_ON_UPGRADE" is set to
2074 # "yes". In any case: if units are not running, do not touch them.
2075 SYSCONF_CEPH
=%{_sysconfdir}/sysconfig
/ceph
2076 if [ -f $SYSCONF_CEPH
-a
-r $SYSCONF_CEPH
] ; then
2077 source $SYSCONF_CEPH
2079 if [ "X$CEPH_AUTO_RESTART_ON_UPGRADE"
= "Xyes"
] ; then
2080 /usr
/bin
/systemctl try
-restart ceph
-immutable
-object
-cache@\
*.service
> /dev
/null
2>&1 ||
:
2086 %{_mandir}/man8
/rbd
-nbd
.8*
2087 %dir %{_libexecdir}/rbd
-nbd
2088 %{_libexecdir}/rbd
-nbd
/rbd
-nbd_quiesce
2091 %{_bindir}/ceph
-diff
-sorted
2093 %{_bindir}/radosgw
-token
2094 %{_bindir}/radosgw
-es
2095 %{_bindir}/radosgw
-object
-expirer
2096 %{_bindir}/rgw
-gap
-list
2097 %{_bindir}/rgw
-gap
-list
-comparator
2098 %{_bindir}/rgw
-orphan
-list
2099 %{_libdir}/libradosgw.so
*
2100 %{_mandir}/man8
/radosgw
.8*
2101 %dir %{_localstatedir}/lib
/ceph
/radosgw
2102 %{_unitdir}/ceph
-radosgw@.service
2103 %{_unitdir}/ceph
-radosgw.target
2107 %if 0%{?suse_version}
2108 if [ $
1 -eq
1 ] ; then
2109 /usr
/bin
/systemctl preset ceph
-radosgw@\
*.service ceph
-radosgw.target
>/dev
/null
2>&1 ||
:
2112 %if 0%{?fedora} || 0%{?rhel}
2113 %systemd_post ceph
-radosgw@\
*.service ceph
-radosgw.target
2115 if [ $
1 -eq
1 ] ; then
2116 /usr
/bin
/systemctl start ceph
-radosgw.target
>/dev
/null
2>&1 ||
:
2120 %if 0%{?suse_version}
2121 %service_del_preun ceph
-radosgw@\
*.service ceph
-radosgw.target
2123 %if 0%{?fedora} || 0%{?rhel}
2124 %systemd_preun ceph
-radosgw@\
*.service ceph
-radosgw.target
2129 %systemd_postun ceph
-radosgw@\
*.service ceph
-radosgw.target
2130 if [ $
1 -ge
1 ] ; then
2131 # Restart on upgrade, but only if "CEPH_AUTO_RESTART_ON_UPGRADE" is set to
2132 # "yes". In any case: if units are not running, do not touch them.
2133 SYSCONF_CEPH
=%{_sysconfdir}/sysconfig
/ceph
2134 if [ -f $SYSCONF_CEPH
-a
-r $SYSCONF_CEPH
] ; then
2135 source $SYSCONF_CEPH
2137 if [ "X$CEPH_AUTO_RESTART_ON_UPGRADE"
= "Xyes"
] ; then
2138 /usr
/bin
/systemctl try
-restart ceph
-radosgw@\
*.service
> /dev
/null
2>&1 ||
:
2143 %{_bindir}/ceph
-clsinfo
2144 %{_bindir}/ceph
-bluestore
-tool
2145 %{_bindir}/ceph
-erasure
-code
-tool
2146 %{_bindir}/ceph
-objectstore
-tool
2147 %{_bindir}/ceph
-osdomap
-tool
2149 %{_libexecdir}/ceph
/ceph
-osd
-prestart.sh
2150 %{_mandir}/man8
/ceph
-clsinfo
.8*
2151 %{_mandir}/man8
/ceph
-osd
.8*
2152 %{_mandir}/man8
/ceph
-bluestore
-tool
.8*
2153 %{_unitdir}/ceph
-osd@.service
2154 %{_unitdir}/ceph
-osd.target
2155 %attr(750,ceph
,ceph
) %dir %{_localstatedir}/lib
/ceph
/osd
2156 %config(noreplace
) %{_sysctldir}/90-ceph
-osd.conf
2159 %if 0%{?suse_version}
2160 if [ $
1 -eq
1 ] ; then
2161 /usr
/bin
/systemctl preset ceph
-osd@\
*.service ceph
-osd.target
>/dev
/null
2>&1 ||
:
2164 %if 0%{?fedora} || 0%{?rhel}
2165 %systemd_post ceph
-osd@\
*.service ceph
-osd.target
2167 if [ $
1 -eq
1 ] ; then
2168 /usr
/bin
/systemctl start ceph
-osd.target
>/dev
/null
2>&1 ||
:
2170 %if 0%{?sysctl_apply}
2171 %sysctl_apply 90-ceph
-osd.conf
2173 /usr
/lib
/systemd
/systemd
-sysctl
%{_sysctldir}/90-ceph
-osd.conf
> /dev
/null
2>&1 ||
:
2177 %if 0%{?suse_version}
2178 %service_del_preun ceph
-osd@\
*.service ceph
-osd.target
2180 %if 0%{?fedora} || 0%{?rhel}
2181 %systemd_preun ceph
-osd@\
*.service ceph
-osd.target
2185 %systemd_postun ceph
-osd@\
*.service ceph
-volume@\
*.service ceph
-osd.target
2186 if [ $
1 -ge
1 ] ; then
2187 # Restart on upgrade, but only if "CEPH_AUTO_RESTART_ON_UPGRADE" is set to
2188 # "yes". In any case: if units are not running, do not touch them.
2189 SYSCONF_CEPH
=%{_sysconfdir}/sysconfig
/ceph
2190 if [ -f $SYSCONF_CEPH
-a
-r $SYSCONF_CEPH
] ; then
2191 source $SYSCONF_CEPH
2193 if [ "X$CEPH_AUTO_RESTART_ON_UPGRADE"
= "Xyes"
] ; then
2194 /usr
/bin
/systemctl try
-restart ceph
-osd@\
*.service ceph
-volume@\
*.service
> /dev
/null
2>&1 ||
:
2198 %if 0%{with seastar}
2200 %{_bindir}/crimson
-osd
2204 %{_sbindir}/ceph
-volume
2205 %{_sbindir}/ceph
-volume
-systemd
2206 %dir %{python3_sitelib}/ceph_volume
2207 %{python3_sitelib}/ceph_volume
/*
2208 %{python3_sitelib}/ceph_volume
-*
2209 %{_mandir}/man8
/ceph
-volume
.8*
2210 %{_mandir}/man8
/ceph
-volume
-systemd
.8*
2211 %{_unitdir}/ceph
-volume@.service
2214 %if 0%{?suse_version}
2215 if [ $
1 -eq
1 ] ; then
2216 /usr
/bin
/systemctl preset ceph
-volume@\
*.service
>/dev
/null
2>&1 ||
:
2219 %if 0%{?fedora} || 0%{?rhel}
2220 %systemd_post ceph
-volume@\
*.service
2224 %if 0%{?suse_version}
2225 %service_del_preun ceph
-volume@\
*.service
2227 %if 0%{?fedora} || 0%{?rhel}
2228 %systemd_preun ceph
-volume@\
*.service
2232 %systemd_postun ceph
-volume@\
*.service
2233 if [ $
1 -ge
1 ] ; then
2234 # Restart on upgrade, but only if "CEPH_AUTO_RESTART_ON_UPGRADE" is set to
2235 # "yes". In any case: if units are not running, do not touch them.
2236 SYSCONF_CEPH
=%{_sysconfdir}/sysconfig
/ceph
2237 if [ -f $SYSCONF_CEPH
-a
-r $SYSCONF_CEPH
] ; then
2238 source $SYSCONF_CEPH
2240 if [ "X$CEPH_AUTO_RESTART_ON_UPGRADE"
= "Xyes"
] ; then
2241 /usr
/bin
/systemctl try
-restart ceph
-volume@\
*.service
> /dev
/null
2>&1 ||
:
2247 %files resource
-agents
2248 %dir %{_prefix}/lib
/ocf
2249 %dir %{_prefix}/lib
/ocf
/resource.d
2250 %dir %{_prefix}/lib
/ocf
/resource.d
/ceph
2251 %attr(0755,-,-) %{_prefix}/lib
/ocf
/resource.d
/ceph
/rbd
2256 %{_libdir}/librados.so.
*
2257 %dir %{_libdir}/ceph
2258 %{_libdir}/ceph
/libceph
-common.so.
*
2260 %{_libdir}/librados_tp.so.
*
2262 %dir %{_sysconfdir}/ceph
2264 %post -n librados2
-p
/sbin
/ldconfig
2266 %postun -n librados2
-p
/sbin
/ldconfig
2268 %files -n librados
-devel
2269 %dir %{_includedir}/rados
2270 %{_includedir}/rados
/librados.h
2271 %{_includedir}/rados
/rados_types.h
2272 %{_libdir}/librados.so
2274 %{_libdir}/librados_tp.so
2276 %{_bindir}/librados
-config
2277 %{_mandir}/man8
/librados
-config
.8*
2279 %files -n libradospp
-devel
2280 %dir %{_includedir}/rados
2281 %{_includedir}/rados
/buffer.h
2282 %{_includedir}/rados
/buffer_fwd.h
2283 %{_includedir}/rados
/crc32c.h
2284 %{_includedir}/rados
/inline_memory.h
2285 %{_includedir}/rados
/librados.hpp
2286 %{_includedir}/rados
/librados_fwd.hpp
2287 %{_includedir}/rados
/page.h
2288 %{_includedir}/rados
/rados_types.hpp
2290 %files -n python
%{python3_pkgversion}-rados
2291 %{python3_sitearch}/rados.cpython
*.so
2292 %{python3_sitearch}/rados
-*.egg
-info
2294 %files -n libcephsqlite
2295 %{_libdir}/libcephsqlite.so
2297 %post -n libcephsqlite
-p
/sbin
/ldconfig
2299 %postun -n libcephsqlite
-p
/sbin
/ldconfig
2301 %files -n libcephsqlite
-devel
2302 %{_includedir}/libcephsqlite.h
2304 %if 0%{with libradosstriper}
2305 %files -n libradosstriper1
2306 %{_libdir}/libradosstriper.so.
*
2308 %post -n libradosstriper1
-p
/sbin
/ldconfig
2310 %postun -n libradosstriper1
-p
/sbin
/ldconfig
2312 %files -n libradosstriper
-devel
2313 %dir %{_includedir}/radosstriper
2314 %{_includedir}/radosstriper
/libradosstriper.h
2315 %{_includedir}/radosstriper
/libradosstriper.hpp
2316 %{_libdir}/libradosstriper.so
2320 %{_libdir}/librbd.so.
*
2322 %{_libdir}/librbd_tp.so.
*
2324 %dir %{_libdir}/ceph
/librbd
2325 %{_libdir}/ceph
/librbd
/libceph_
*.so
*
2327 %post -n librbd1
-p
/sbin
/ldconfig
2329 %postun -n librbd1
-p
/sbin
/ldconfig
2331 %files -n librbd
-devel
2332 %dir %{_includedir}/rbd
2333 %{_includedir}/rbd
/librbd.h
2334 %{_includedir}/rbd
/librbd.hpp
2335 %{_includedir}/rbd
/features.h
2336 %{_libdir}/librbd.so
2338 %{_libdir}/librbd_tp.so
2342 %{_libdir}/librgw.so.
*
2344 %{_libdir}/librgw_op_tp.so.
*
2345 %{_libdir}/librgw_rados_tp.so.
*
2348 %post -n librgw2
-p
/sbin
/ldconfig
2350 %postun -n librgw2
-p
/sbin
/ldconfig
2352 %files -n librgw
-devel
2353 %dir %{_includedir}/rados
2354 %{_includedir}/rados
/librgw.h
2355 %{_includedir}/rados
/rgw_file.h
2356 %{_libdir}/librgw.so
2358 %{_libdir}/librgw_op_tp.so
2359 %{_libdir}/librgw_rados_tp.so
2362 %files -n python
%{python3_pkgversion}-rgw
2363 %{python3_sitearch}/rgw.cpython
*.so
2364 %{python3_sitearch}/rgw
-*.egg
-info
2366 %files -n python
%{python3_pkgversion}-rbd
2367 %{python3_sitearch}/rbd.cpython
*.so
2368 %{python3_sitearch}/rbd
-*.egg
-info
2370 %files -n libcephfs2
2371 %{_libdir}/libcephfs.so.
*
2372 %dir %{_sysconfdir}/ceph
2374 %post -n libcephfs2
-p
/sbin
/ldconfig
2376 %postun -n libcephfs2
-p
/sbin
/ldconfig
2378 %files -n libcephfs
-devel
2379 %dir %{_includedir}/cephfs
2380 %{_includedir}/cephfs
/libcephfs.h
2381 %{_includedir}/cephfs
/ceph_ll_client.h
2382 %dir %{_includedir}/cephfs
/metrics
2383 %{_includedir}/cephfs
/metrics
/Types.h
2384 %{_libdir}/libcephfs.so
2386 %files -n python
%{python3_pkgversion}-cephfs
2387 %{python3_sitearch}/cephfs.cpython
*.so
2388 %{python3_sitearch}/cephfs
-*.egg
-info
2390 %files -n python
%{python3_pkgversion}-ceph
-argparse
2391 %{python3_sitelib}/ceph_argparse.py
2392 %{python3_sitelib}/__pycache__
/ceph_argparse.cpython
*.py
*
2393 %{python3_sitelib}/ceph_daemon.py
2394 %{python3_sitelib}/__pycache__
/ceph_daemon.cpython
*.py
*
2396 %files -n python
%{python3_pkgversion}-ceph
-common
2397 %{python3_sitelib}/ceph
2398 %{python3_sitelib}/ceph
-*.egg
-info
2400 %if 0%{with cephfs_shell}
2401 %files -n cephfs
-shell
2402 %{python3_sitelib}/cephfs_shell
-*.egg
-info
2403 %{_bindir}/cephfs
-shell
2404 %{_mandir}/man8
/cephfs
-shell
.8*
2407 %files -n cephfs
-top
2408 %{python3_sitelib}/cephfs_top
-*.egg
-info
2409 %{_bindir}/cephfs
-top
2410 %{_mandir}/man8
/cephfs
-top
.8*
2412 %if 0%{with ceph_test_package}
2414 %{_bindir}/ceph
-client
-debug
2415 %{_bindir}/ceph_bench_log
2416 %{_bindir}/ceph_multi_stress_watch
2417 %{_bindir}/ceph_erasure_code_benchmark
2418 %{_bindir}/ceph_omapbench
2419 %{_bindir}/ceph_objectstore_bench
2420 %{_bindir}/ceph_perf_objectstore
2421 %{_bindir}/ceph_perf_local
2422 %{_bindir}/ceph_perf_msgr_client
2423 %{_bindir}/ceph_perf_msgr_server
2424 %{_bindir}/ceph_psim
2425 %{_bindir}/ceph_radosacl
2426 %{_bindir}/ceph_rgw_jsonparser
2427 %{_bindir}/ceph_rgw_multiparser
2428 %{_bindir}/ceph_scratchtool
2429 %{_bindir}/ceph_scratchtoolpp
2430 %{_bindir}/ceph_test_
*
2431 %{_bindir}/ceph
-coverage
2432 %{_bindir}/ceph
-debugpack
2433 %{_bindir}/ceph
-dedup
-tool
2434 %if 0%{with seastar}
2435 %{_bindir}/crimson
-store
-nbd
2437 %{_mandir}/man8
/ceph
-debugpack
.8*
2438 %dir %{_libdir}/ceph
2439 %{_libdir}/ceph
/ceph
-monstore
-update
-crush.sh
2442 %if 0%{with cephfs_java}
2443 %files -n libcephfs_jni1
2444 %{_libdir}/libcephfs_jni.so.
*
2446 %post -n libcephfs_jni1
-p
/sbin
/ldconfig
2448 %postun -n libcephfs_jni1
-p
/sbin
/ldconfig
2450 %files -n libcephfs_jni
-devel
2451 %{_libdir}/libcephfs_jni.so
2453 %files -n cephfs
-java
2454 %{_javadir}/libcephfs.jar
2455 %{_javadir}/libcephfs
-test.jar
2458 %files -n rados
-objclass
-devel
2459 %dir %{_includedir}/rados
2460 %{_includedir}/rados
/objclass.h
2462 %if 0%{with selinux}
2464 %attr(0600,root
,root
) %{_datadir}/selinux
/packages
/ceph.pp
2465 %{_datadir}/selinux
/devel
/include
/contrib
/ceph.
if
2466 %{_mandir}/man8
/ceph_selinux
.8*
2469 # backup file_contexts before update
2470 .
/etc
/selinux
/config
2471 FILE_CONTEXT
=/etc
/selinux
/$
{SELINUXTYPE
}/contexts
/files
/file_contexts
2472 cp $
{FILE_CONTEXT
} $
{FILE_CONTEXT
}.pre
2474 # Install the policy
2475 /usr
/sbin
/semodule
-i
%{_datadir}/selinux
/packages
/ceph.pp
2477 # Load the policy if SELinux is enabled
2478 if ! /usr
/sbin
/selinuxenabled
; then
2479 # Do not relabel if selinux is not enabled
2483 if diff $
{FILE_CONTEXT
} $
{FILE_CONTEXT
}.pre
> /dev
/null
2>&1; then
2484 # Do not relabel if file contexts did not change
2488 # Stop ceph.target while relabeling if CEPH_AUTO_RESTART_ON_UPGRADE=yes
2489 SYSCONF_CEPH
=%{_sysconfdir}/sysconfig
/ceph
2490 if [ -f $SYSCONF_CEPH
-a
-r $SYSCONF_CEPH
] ; then
2491 source $SYSCONF_CEPH
2494 # Check whether the daemons are running
2495 /usr
/bin
/systemctl status ceph.target
> /dev
/null
2>&1
2498 # Stop the daemons if they were running
2499 if test $STATUS
-eq
0; then
2500 if [ "X$CEPH_AUTO_RESTART_ON_UPGRADE"
= "Xyes"
] ; then
2501 /usr
/bin
/systemctl stop ceph.target
> /dev
/null
2>&1
2505 # Relabel the files fix for first package install
2506 /usr
/sbin
/fixfiles
-C $
{FILE_CONTEXT
}.pre restore
2> /dev
/null
2508 rm -f $
{FILE_CONTEXT
}.pre
2509 # The fixfiles command won't fix label for /var/run/ceph
2510 /usr
/sbin
/restorecon
-R
/var
/run
/ceph
> /dev
/null
2>&1
2512 # Start the daemons iff they were running before
2513 if test $STATUS
-eq
0; then
2514 if [ "X$CEPH_AUTO_RESTART_ON_UPGRADE"
= "Xyes"
] ; then
2515 /usr
/bin
/systemctl start ceph.target
> /dev
/null
2>&1 ||
:
2521 if [ $
1 -eq
0 ]; then
2522 # backup file_contexts before update
2523 .
/etc
/selinux
/config
2524 FILE_CONTEXT
=/etc
/selinux
/$
{SELINUXTYPE
}/contexts
/files
/file_contexts
2525 cp $
{FILE_CONTEXT
} $
{FILE_CONTEXT
}.pre
2528 /usr
/sbin
/semodule
-n
-r ceph
> /dev
/null
2>&1
2530 # Reload the policy if SELinux is enabled
2531 if ! /usr
/sbin
/selinuxenabled
; then
2532 # Do not relabel if SELinux is not enabled
2536 # Stop ceph.target while relabeling if CEPH_AUTO_RESTART_ON_UPGRADE=yes
2537 SYSCONF_CEPH
=%{_sysconfdir}/sysconfig
/ceph
2538 if [ -f $SYSCONF_CEPH
-a
-r $SYSCONF_CEPH
] ; then
2539 source $SYSCONF_CEPH
2542 # Check whether the daemons are running
2543 /usr
/bin
/systemctl status ceph.target
> /dev
/null
2>&1
2546 # Stop the daemons if they were running
2547 if test $STATUS
-eq
0; then
2548 if [ "X$CEPH_AUTO_RESTART_ON_UPGRADE"
= "Xyes"
] ; then
2549 /usr
/bin
/systemctl stop ceph.target
> /dev
/null
2>&1
2553 /usr
/sbin
/fixfiles
-C $
{FILE_CONTEXT
}.pre restore
2> /dev
/null
2554 rm -f $
{FILE_CONTEXT
}.pre
2555 # The fixfiles command won't fix label for /var/run/ceph
2556 /usr
/sbin
/restorecon
-R
/var
/run
/ceph
> /dev
/null
2>&1
2558 # Start the daemons if they were running before
2559 if test $STATUS
-eq
0; then
2560 if [ "X$CEPH_AUTO_RESTART_ON_UPGRADE"
= "Xyes"
] ; then
2561 /usr
/bin
/systemctl start ceph.target
> /dev
/null
2>&1 ||
:
2568 %files grafana
-dashboards
2569 %if 0%{?suse_version}
2570 %attr(0755,root
,root
) %dir %{_sysconfdir}/grafana
2571 %attr(0755,root
,root
) %dir %{_sysconfdir}/grafana
/dashboards
2573 %attr(0755,root
,root
) %dir %{_sysconfdir}/grafana
/dashboards
/ceph
-dashboard
2574 %config %{_sysconfdir}/grafana
/dashboards
/ceph
-dashboard
/*
2576 %files prometheus
-alerts
2577 %if 0%{?suse_version}
2578 %attr(0755,root
,root
) %dir %{_sysconfdir}/prometheus
2580 %attr(0755,root
,root
) %dir %{_sysconfdir}/prometheus
/ceph
2581 %config %{_sysconfdir}/prometheus
/ceph
/ceph_default_alerts.yml