mirror of
https://github.com/ceph/ceph
synced 2026-08-02 07:03:18 +00:00
ceph.spec.in: use pkgconfig() for library BuildRequires
Library BuildRequires used per-distro -devel package names, some split across %if suse / %if rhel branches only because the names differ. The pkgconfig() virtual provides resolve identically on every rpm distro; the spec already relies on them for fuse3, systemd and udev. Switch every library dependency that ships a .pc to pkgconfig(), preserving version constraints and feature guards. This collapses the suse-vs-rhel naming splits (nss, keyutils, openssl, ldap, ibverbs, rdmacm, lz4, thrift, libcryptopp) and the dedicated split blocks (nlohmann_json, lttng-ust, babeltrace, expat) into single lines, and folds the duplicated xmlsec1 devel packages together. Left as package names: libaio and xfsprogs ship no reliable .pc; gperftools carries version and tcmalloc-variant logic; numa is unconditional on rhel but crimson-only on suse; and the xmlsec1 runtime backend plugins are runtime test deps, not build-time pkgconfig() deps. Signed-off-by: Kefu Chai <k.chai@proxmox.com>
This commit is contained in:
parent
eb595fbad5
commit
8664e52d4b
146
ceph.spec.in
146
ceph.spec.in
@ -254,7 +254,7 @@ BuildRequires: gperf
|
||||
BuildRequires: cmake > 3.5
|
||||
BuildRequires: pkgconfig(fuse3)
|
||||
BuildRequires: git
|
||||
BuildRequires: grpc-devel
|
||||
BuildRequires: pkgconfig(grpc++)
|
||||
# Before 13.3, an lto bug resulted in a segfault in SafeTimer and perhaps
|
||||
# elsewhere. Require the fixed version so we can reenable lto. See
|
||||
# ceph bug https://tracker.ceph.com/issues/63867
|
||||
@ -281,21 +281,28 @@ BuildRequires: gperftools-devel >= 2.4
|
||||
%endif
|
||||
%endif
|
||||
BuildRequires: libaio-devel
|
||||
BuildRequires: libblkid-devel >= 2.17
|
||||
BuildRequires: cryptsetup-devel
|
||||
BuildRequires: libnbd-devel
|
||||
BuildRequires: libcurl-devel
|
||||
BuildRequires: libcap-devel
|
||||
BuildRequires: libcap-ng-devel
|
||||
BuildRequires: fmt-devel >= 6.2.1
|
||||
BuildRequires: pkgconfig(blkid) >= 2.17
|
||||
BuildRequires: pkgconfig(libcryptsetup)
|
||||
BuildRequires: pkgconfig(libnbd)
|
||||
BuildRequires: pkgconfig(libcurl)
|
||||
BuildRequires: pkgconfig(libcap)
|
||||
BuildRequires: pkgconfig(libcap-ng)
|
||||
BuildRequires: pkgconfig(fmt) >= 6.2.1
|
||||
BuildRequires: pkgconfig(libudev)
|
||||
BuildRequires: libnl3-devel
|
||||
BuildRequires: liboath-devel
|
||||
BuildRequires: pkgconfig(nss)
|
||||
BuildRequires: pkgconfig(libkeyutils)
|
||||
BuildRequires: pkgconfig(openssl)
|
||||
BuildRequires: pkgconfig(ldap)
|
||||
BuildRequires: pkgconfig(libibverbs)
|
||||
BuildRequires: pkgconfig(librdmacm)
|
||||
BuildRequires: pkgconfig(liblz4) >= 1.7
|
||||
BuildRequires: pkgconfig(libnl-3.0)
|
||||
BuildRequires: pkgconfig(liboath)
|
||||
BuildRequires: libtool
|
||||
BuildRequires: libxml2-devel
|
||||
BuildRequires: pkgconfig(libxml-2.0)
|
||||
BuildRequires: make
|
||||
BuildRequires: ncurses-devel
|
||||
BuildRequires: libicu-devel
|
||||
BuildRequires: pkgconfig(ncurses)
|
||||
BuildRequires: pkgconfig(icu-uc)
|
||||
BuildRequires: patch
|
||||
BuildRequires: perl
|
||||
BuildRequires: pkgconfig
|
||||
@ -306,25 +313,25 @@ BuildRequires: python%{python3_pkgversion}-setuptools
|
||||
BuildRequires: python%{python3_pkgversion}-Cython
|
||||
BuildRequires: python%{python3_pkgversion}-pip
|
||||
BuildRequires: python%{python3_pkgversion}-wheel
|
||||
BuildRequires: snappy-devel
|
||||
BuildRequires: sqlite-devel
|
||||
BuildRequires: pkgconfig(snappy)
|
||||
BuildRequires: pkgconfig(sqlite3)
|
||||
BuildRequires: sudo
|
||||
BuildRequires: pkgconfig(udev)
|
||||
BuildRequires: valgrind-devel
|
||||
BuildRequires: pkgconfig(valgrind)
|
||||
BuildRequires: which
|
||||
BuildRequires: xfsprogs-devel
|
||||
BuildRequires: xmlstarlet
|
||||
BuildRequires: nasm
|
||||
BuildRequires: lua-devel
|
||||
BuildRequires: lmdb-devel
|
||||
BuildRequires: pkgconfig(lua)
|
||||
BuildRequires: pkgconfig(lmdb)
|
||||
%if 0%{with crimson} || 0%{with jaeger}
|
||||
BuildRequires: yaml-cpp-devel >= 0.6
|
||||
BuildRequires: pkgconfig(yaml-cpp) >= 0.6
|
||||
%endif
|
||||
%if 0%{with amqp_endpoint}
|
||||
BuildRequires: librabbitmq-devel
|
||||
BuildRequires: pkgconfig(librabbitmq)
|
||||
%endif
|
||||
%if 0%{with kafka_endpoint}
|
||||
BuildRequires: librdkafka-devel >= 1.1.0
|
||||
BuildRequires: pkgconfig(rdkafka) >= 1.1.0
|
||||
%endif
|
||||
%if 0%{with lua_packages}
|
||||
Requires: lua-devel
|
||||
@ -333,7 +340,7 @@ Requires: %{luarocks_package_name}
|
||||
%if 0%{with make_check}
|
||||
BuildRequires: hostname
|
||||
BuildRequires: jq
|
||||
BuildRequires: libuuid-devel
|
||||
BuildRequires: pkgconfig(uuid)
|
||||
BuildRequires: python%{python3_pkgversion}-bcrypt
|
||||
BuildRequires: python%{python3_pkgversion}-requests
|
||||
BuildRequires: python%{python3_pkgversion}-dateutil
|
||||
@ -343,53 +350,44 @@ BuildRequires: socat
|
||||
BuildRequires: python%{python3_pkgversion}-asyncssh
|
||||
BuildRequires: python%{python3_pkgversion}-natsort
|
||||
%endif
|
||||
%if 0%{?suse_version}
|
||||
BuildRequires: libthrift-devel >= 0.13.0
|
||||
%else
|
||||
BuildRequires: thrift-devel >= 0.13.0
|
||||
%endif
|
||||
BuildRequires: re2-devel
|
||||
BuildRequires: pkgconfig(thrift) >= 0.13.0
|
||||
BuildRequires: pkgconfig(re2)
|
||||
%if 0%{with jaeger}
|
||||
BuildRequires: bison
|
||||
BuildRequires: flex
|
||||
%if 0%{?fedora} || 0%{?rhel}
|
||||
BuildRequires: json-devel
|
||||
%endif
|
||||
%if 0%{?suse_version}
|
||||
BuildRequires: nlohmann_json-devel
|
||||
%endif
|
||||
BuildRequires: libevent-devel
|
||||
BuildRequires: pkgconfig(nlohmann_json)
|
||||
BuildRequires: pkgconfig(libevent)
|
||||
%endif
|
||||
%if 0%{with system_pmdk}
|
||||
%if 0%{?suse_version}
|
||||
BuildRequires: libndctl-devel >= 63
|
||||
BuildRequires: pkgconfig(libndctl) >= 63
|
||||
%else
|
||||
BuildRequires: ndctl-devel >= 63
|
||||
BuildRequires: daxctl-devel >= 63
|
||||
BuildRequires: pkgconfig(libndctl) >= 63
|
||||
BuildRequires: pkgconfig(libdaxctl) >= 63
|
||||
%endif
|
||||
BuildRequires: libpmem-devel
|
||||
BuildRequires: libpmemobj-devel >= 1.8
|
||||
BuildRequires: pkgconfig(libpmem)
|
||||
BuildRequires: pkgconfig(libpmemobj) >= 1.8
|
||||
%endif
|
||||
%if 0%{with system_arrow}
|
||||
BuildRequires: libarrow-devel
|
||||
BuildRequires: parquet-libs-devel
|
||||
BuildRequires: utf8proc-devel
|
||||
BuildRequires: pkgconfig(arrow)
|
||||
BuildRequires: pkgconfig(parquet)
|
||||
BuildRequires: pkgconfig(libutf8proc)
|
||||
%endif
|
||||
%if 0%{with system_qat}
|
||||
BuildRequires: qatlib-devel
|
||||
BuildRequires: qatzip-devel
|
||||
BuildRequires: pkgconfig(qatlib)
|
||||
BuildRequires: pkgconfig(qatzip)
|
||||
%endif
|
||||
%if 0%{with crimson}
|
||||
BuildRequires: c-ares-devel
|
||||
BuildRequires: gnutls-devel
|
||||
BuildRequires: hwloc-devel
|
||||
BuildRequires: libpciaccess-devel
|
||||
BuildRequires: lksctp-tools-devel
|
||||
BuildRequires: pkgconfig(libcares)
|
||||
BuildRequires: pkgconfig(gnutls)
|
||||
BuildRequires: pkgconfig(hwloc)
|
||||
BuildRequires: pkgconfig(pciaccess)
|
||||
BuildRequires: pkgconfig(libsctp)
|
||||
BuildRequires: ragel
|
||||
BuildRequires: systemtap-sdt-devel
|
||||
BuildRequires: libubsan
|
||||
BuildRequires: libasan
|
||||
BuildRequires: protobuf-devel
|
||||
BuildRequires: pkgconfig(protobuf)
|
||||
BuildRequires: protobuf-compiler
|
||||
%if 0%{?gts_version} > 0
|
||||
BuildRequires: gcc-toolset-%{gts_version}-gcc-plugin-annobin
|
||||
@ -408,20 +406,14 @@ PreReq: %fillup_prereq
|
||||
BuildRequires: fdupes
|
||||
BuildRequires: memory-constraints
|
||||
BuildRequires: net-tools
|
||||
BuildRequires: libbz2-devel
|
||||
BuildRequires: mozilla-nss-devel
|
||||
BuildRequires: keyutils-devel
|
||||
BuildRequires: libopenssl-devel
|
||||
BuildRequires: pkgconfig(bzip2)
|
||||
BuildRequires: ninja
|
||||
BuildRequires: openldap2-devel
|
||||
#BuildRequires: krb5
|
||||
#BuildRequires: krb5-devel
|
||||
BuildRequires: cunit-devel
|
||||
BuildRequires: python%{python3_pkgversion}-PrettyTable
|
||||
BuildRequires: python%{python3_pkgversion}-PyYAML
|
||||
BuildRequires: python%{python3_pkgversion}-Sphinx
|
||||
BuildRequires: rdma-core-devel
|
||||
BuildRequires: liblz4-devel >= 1.7
|
||||
# for prometheus-alerts
|
||||
BuildRequires: golang-github-prometheus-prometheus
|
||||
BuildRequires: jsonnet
|
||||
@ -429,36 +421,29 @@ BuildRequires: jsonnet
|
||||
%if 0%{?fedora} || 0%{?rhel} || 0%{?openEuler}
|
||||
Requires: systemd
|
||||
BuildRequires: boost-random
|
||||
BuildRequires: nss-devel
|
||||
BuildRequires: keyutils-libs-devel
|
||||
BuildRequires: libatomic
|
||||
BuildRequires: libibverbs-devel
|
||||
BuildRequires: librdmacm-devel
|
||||
BuildRequires: ninja-build
|
||||
BuildRequires: openldap-devel
|
||||
BuildRequires: numactl-devel
|
||||
#BuildRequires: krb5-devel
|
||||
BuildRequires: openssl-devel
|
||||
BuildRequires: CUnit-devel
|
||||
BuildRequires: python%{python3_pkgversion}-devel
|
||||
BuildRequires: python%{python3_pkgversion}-prettytable
|
||||
BuildRequires: python%{python3_pkgversion}-pyyaml
|
||||
BuildRequires: python%{python3_pkgversion}-sphinx
|
||||
BuildRequires: lz4-devel >= 1.7
|
||||
%endif
|
||||
# distro-conditional make check dependencies
|
||||
%if 0%{with make_check}
|
||||
BuildRequires: golang
|
||||
BuildRequires: pkgconfig(xmlsec1)
|
||||
BuildRequires: pkgconfig(xmlsec1-openssl)
|
||||
%if 0%{?fedora} || 0%{?rhel} || 0%{?openEuler}
|
||||
BuildRequires: /usr/bin/promtool
|
||||
BuildRequires: libtool-ltdl-devel
|
||||
BuildRequires: xmlsec1
|
||||
BuildRequires: xmlsec1-devel
|
||||
%ifarch x86_64
|
||||
BuildRequires: xmlsec1-nss
|
||||
%endif
|
||||
BuildRequires: xmlsec1-openssl
|
||||
BuildRequires: xmlsec1-openssl-devel
|
||||
BuildRequires: python%{python3_pkgversion}-cherrypy
|
||||
BuildRequires: python%{python3_pkgversion}-routes
|
||||
BuildRequires: python%{python3_pkgversion}-scipy
|
||||
@ -473,27 +458,14 @@ BuildRequires: libxmlsec1-openssl1
|
||||
BuildRequires: python%{python3_pkgversion}-CherryPy
|
||||
BuildRequires: python%{python3_pkgversion}-Routes
|
||||
BuildRequires: python%{python3_pkgversion}-numpy-devel
|
||||
BuildRequires: xmlsec1-devel
|
||||
BuildRequires: xmlsec1-openssl-devel
|
||||
%endif
|
||||
%endif
|
||||
# lttng and babeltrace for rbd-replay-prep
|
||||
%if %{with lttng}
|
||||
%if 0%{?fedora} || 0%{?rhel} || 0%{?openEuler}
|
||||
BuildRequires: lttng-ust-devel
|
||||
BuildRequires: libbabeltrace-devel
|
||||
%endif
|
||||
%if 0%{?suse_version}
|
||||
BuildRequires: lttng-ust-devel
|
||||
BuildRequires: babeltrace-devel
|
||||
%endif
|
||||
%endif
|
||||
%if 0%{?suse_version}
|
||||
BuildRequires: libexpat-devel
|
||||
%endif
|
||||
%if 0%{?rhel} || 0%{?fedora} || 0%{?openEuler}
|
||||
BuildRequires: expat-devel
|
||||
BuildRequires: pkgconfig(lttng-ust)
|
||||
BuildRequires: pkgconfig(babeltrace)
|
||||
%endif
|
||||
BuildRequires: pkgconfig(expat)
|
||||
#hardened-cc1
|
||||
%if 0%{?fedora} || 0%{?rhel}
|
||||
BuildRequires: redhat-rpm-config
|
||||
@ -502,11 +474,11 @@ BuildRequires: redhat-rpm-config
|
||||
BuildRequires: openEuler-rpm-config
|
||||
%endif
|
||||
%if 0%{with crimson}
|
||||
%if 0%{?fedora} || 0%{?rhel} || 0%{?openEuler}
|
||||
BuildRequires: cryptopp-devel
|
||||
%endif
|
||||
# EPEL9's cryptopp-devel ships its pkgconfig file as cryptopp.pc (providing
|
||||
# pkgconfig(cryptopp)), while el10 and SUSE's cryptopp/libcryptopp-devel
|
||||
# provide pkgconfig(libcryptopp); accept either.
|
||||
BuildRequires: (pkgconfig(libcryptopp) or pkgconfig(cryptopp))
|
||||
%if 0%{?suse_version}
|
||||
BuildRequires: libcryptopp-devel
|
||||
BuildRequires: libnuma-devel
|
||||
%endif
|
||||
%endif
|
||||
|
||||
Loading…
Reference in New Issue
Block a user