mirror of
https://gitlab.alpinelinux.org/alpine/aports.git
synced 2025-06-09 12:47:05 +02:00
774 lines
21 KiB
Text
774 lines
21 KiB
Text
# Contributor: John Coyle <dx9err@gmail.com>
|
|
# Contributor: Iggy Jackson <iggy@kws1.com>
|
|
# Contributor: Duncan Bellamy <dunk@denkimushi.com>
|
|
# Maintainer: Duncan Bellamy <dunk@denkimushi.com>
|
|
_pkgname=ceph
|
|
pkgver=19.2.2
|
|
pkgrel=2
|
|
_majorver=${pkgver%%.*}
|
|
pkgname=$_pkgname$_majorver
|
|
pkgdesc="Ceph is a distributed object store and file system, version $_majorver"
|
|
pkgusers="ceph"
|
|
pkggroups="ceph"
|
|
url="https://ceph.io/en/"
|
|
# 32-bit: needs more patching specific to 32bit builds
|
|
arch="all !armhf !armv7 !x86"
|
|
# https://github.com/ceph/ceph/blob/master/COPYING
|
|
license="LGPL-2.1-only AND BSD-3-Clause AND CC-BY-SA-3.0 AND BSL-1.0 AND Apache-2.0 AND MIT AND CC0-1.0"
|
|
depends="$pkgname-mds=$pkgver-r$pkgrel $pkgname-mgr=$pkgver-r$pkgrel $pkgname-mon=$pkgver-r$pkgrel $pkgname-osd=$pkgver-r$pkgrel"
|
|
builddir="$srcdir/ceph-$pkgver"
|
|
_lua=5.4
|
|
_base_deps="
|
|
cryptsetup
|
|
e2fsprogs
|
|
logrotate
|
|
parted
|
|
psmisc
|
|
xfsprogs
|
|
"
|
|
_osd_daemon_deps="fuse snappy lz4-libs"
|
|
_osd_tools_deps="lz4-libs"
|
|
_ceph_volume_deps="$pkgname-common=$pkgver-r$pkgrel $pkgname-osd-tools=$pkgver-r$pkgrel lvm2 py3-$pkgname-common=$pkgver-r$pkgrel"
|
|
_ceph_test_deps="
|
|
gtest-dev
|
|
py3-coverage
|
|
py3-flake8
|
|
py3-nodeenv
|
|
py3-pytest
|
|
py3-tox
|
|
py3-yaml
|
|
xmlstarlet
|
|
"
|
|
_dashboard_deps="
|
|
py3-bcrypt-ceph
|
|
py3-cherrypy
|
|
py3-more-itertools
|
|
py3-openssl
|
|
py3-prettytable
|
|
py3-requests
|
|
py3-routes
|
|
py3-yaml
|
|
"
|
|
_mgr_modules_deps="
|
|
py3-bcrypt-ceph
|
|
py3-cherrypy
|
|
py3-dateutil
|
|
py3-natsort
|
|
py3-openssl
|
|
py3-pecan
|
|
py3-requests
|
|
py3-werkzeug
|
|
"
|
|
_arrow_deps="apache-arrow-dev c-ares-dev re2-dev"
|
|
# TODO
|
|
#_crimson_deps="gnutls-dev libucontext-dev lksctp-tools-dev numactl-dev protobuf-dev ragel valgrind-dev yaml-cpp-dev"
|
|
makedepends="
|
|
acl-dev
|
|
argp-standalone
|
|
bc
|
|
boost-dev
|
|
btrfs-progs
|
|
bzip2-dev
|
|
cmake
|
|
coreutils
|
|
cryptsetup-dev
|
|
cunit-dev
|
|
curl-dev
|
|
cython
|
|
diffutils
|
|
doxygen
|
|
eudev-dev
|
|
expat-dev
|
|
fcgi-dev
|
|
flex
|
|
fuse-dev
|
|
git
|
|
graphviz-dev
|
|
gperf
|
|
isa-l-dev
|
|
jq
|
|
keyutils-dev
|
|
libaio-dev
|
|
libatomic_ops-dev
|
|
libcap-dev
|
|
libcap-ng-dev
|
|
libedit-dev
|
|
librdkafka-dev
|
|
libnl3-dev
|
|
libtirpc-dev
|
|
libtool
|
|
liburing-dev
|
|
libxml2-dev
|
|
linux-headers
|
|
lmdb-dev
|
|
lua$_lua-dev
|
|
lvm2-dev
|
|
lz4-dev
|
|
nasm
|
|
nodejs
|
|
npm
|
|
nss-dev
|
|
oath-toolkit-dev
|
|
openldap-dev
|
|
openssl-dev>3
|
|
procps
|
|
python3-dev
|
|
py3-setuptools
|
|
py3-sphinx
|
|
rabbitmq-c-dev
|
|
readline-dev
|
|
rocksdb7-dev
|
|
rpcgen
|
|
samurai
|
|
snappy-dev
|
|
sqlite-dev
|
|
userspace-rcu-dev
|
|
util-linux-dev
|
|
xfsprogs-dev
|
|
xxhash-dev
|
|
yarn
|
|
zstd-dev
|
|
$_dashboard_deps
|
|
$_mgr_modules_deps
|
|
$_base_deps
|
|
$_osd_daemon_deps
|
|
$_osd_tools_deps
|
|
$_ceph_volume_deps
|
|
$_ceph_test_deps
|
|
$_arrow_deps
|
|
"
|
|
case "$CARCH" in
|
|
aarch64|x86_64) makedepends="$makedepends isa-l_crypto-dev" ;;
|
|
esac
|
|
source="https://download.ceph.com/tarballs/ceph-$pkgver.tar.gz
|
|
ceph.confd
|
|
ceph.initd
|
|
10-isal_crypto.patch
|
|
10-isal.patch
|
|
10-musl-fixes.patch
|
|
10-xxhash.patch
|
|
11-dump_time_header_impl.patch
|
|
11-lfs.patch
|
|
11-parse_rfc1123_alt.patch
|
|
21-yarn.patch
|
|
35-fix_ErasureCodeShec.patch
|
|
47-bcrypt.patch
|
|
48-arrow.patch
|
|
gcc13.patch
|
|
boost-url.patch
|
|
ppc64le.patch
|
|
py3-importlib-metadata-5.0.0.patch
|
|
ceph-19.2.2-py313-1.patch
|
|
ceph-19.2.2-py313-2.patch
|
|
ceph-19.2.2-py313-3.patch
|
|
"
|
|
# to prevent things from installing wrong ceph libs, since they have the same SOMAJOR
|
|
sonameprefix="ceph$_majorver:"
|
|
options="!check" # todo
|
|
subpackages="
|
|
$pkgname-doc
|
|
$pkgname-base
|
|
$pkgname-common
|
|
$pkgname-mds
|
|
$pkgname-mgr-diskprediction-local:mgr_diskpredicton_local:noarch
|
|
$pkgname-mgr-modules-core:mgr_modules_core:noarch
|
|
$pkgname-mgr-rook:mgr_rook:noarch
|
|
$pkgname-mgr-k8events:mgr_k8events:noarch
|
|
$pkgname-mgr
|
|
$pkgname-mon::noarch
|
|
$pkgname-mon-daemon:mon_daemon
|
|
$pkgname-mon-tools:mon_tools
|
|
$pkgname-mount:ceph_mount
|
|
$pkgname-fuse:ceph_fuse
|
|
$pkgname-openrc
|
|
$pkgname-osd::noarch
|
|
$pkgname-osd-daemon:osd_daemon
|
|
$pkgname-osd-tools:osd_tools
|
|
$pkgname-volume:ceph_volume:noarch
|
|
$pkgname-radosgw
|
|
$pkgname-bash-completion:bash_completion:noarch
|
|
$pkgname-dev
|
|
$pkgname-user::noarch
|
|
$pkgname-utils
|
|
$pkgname-cephadm::noarch
|
|
cephfs$_majorver-mirror:mirror
|
|
cephfs$_majorver-shell:shell:noarch
|
|
cephfs$_majorver-top:top:noarch
|
|
rbd-fuse$_majorver:rbd_fuse
|
|
rbd-mirror$_majorver:rbd_mirror
|
|
rbd-nbd$_majorver:rbd_nbd
|
|
librbd$_majorver:librbd
|
|
libcephfs$_majorver:libcephfs
|
|
libcephsqlite$_majorver:libcephsqlite
|
|
librados$_majorver:librados
|
|
py3-rados$_majorver:_py3_rados
|
|
libradosstriper$_majorver:libradosstriper
|
|
py3-rbd$_majorver:_py3_rbd
|
|
py3-cephfs$_majorver:_py3_cephfs
|
|
py3-$pkgname-common:_py3_ceph_common:noarch
|
|
"
|
|
case "$CARCH" in
|
|
riscv64) ;;
|
|
*) subpackages="$pkgname-mgr-dashboard:mgr_dashboard:noarch $subpackages" ;;
|
|
esac
|
|
|
|
# Whether this package is the default (latest) ceph version.
|
|
_default_ceph="yes"
|
|
|
|
if [ "$_default_ceph" = yes ]; then
|
|
provides="ceph=$pkgver-r$pkgrel"
|
|
replaces="ceph"
|
|
subpackages="$subpackages ceph-dev:_dev"
|
|
_libdir=""
|
|
else
|
|
_libdir=/ceph$_majorver
|
|
fi
|
|
|
|
_ceph_uid=167
|
|
_ceph_gid=167
|
|
|
|
_py3_sitelib() {
|
|
python3 -c "import site; print(site.getsitepackages()[0])"
|
|
}
|
|
|
|
prepare() {
|
|
default_prepare
|
|
rm -r src/isa-l
|
|
rm -r src/xxHash
|
|
rm -r src/seastar
|
|
}
|
|
|
|
build() {
|
|
export CEPH_BUILD_VIRTUALENV="$builddir"
|
|
export CFLAGS="${CFLAGS/-fno-plt} -O2 -DNDEBUG"
|
|
export CXXFLAGS="${CXXFLAGS/-fno-plt} -O2 -DNDEBUG -Wno-deprecated-declarations -fno-permissive"
|
|
|
|
case "$CARCH" in
|
|
riscv64) local _dash="OFF" ;;
|
|
*) local _dash="ON" ;;
|
|
esac
|
|
|
|
cmake -B build -G Ninja -Wno-dev \
|
|
-DCMAKE_BUILD_TYPE=MinSizeRel \
|
|
-DCMAKE_INSTALL_PREFIX=/usr \
|
|
-DCMAKE_INSTALL_LIBDIR=/usr/lib$_libdir \
|
|
-DCMAKE_INSTALL_LOCALSTATEDIR=/var \
|
|
-DCMAKE_INSTALL_SYSCONFDIR=/etc \
|
|
-DNINJA_MAX_COMPILE_JOBS=$JOBS \
|
|
-DALLOCATOR=libc \
|
|
-DENABLE_GIT_VERSION=OFF \
|
|
-DLUA_LIBRARIES=/usr/lib/lua"$_lua"/liblua.so \
|
|
-DWITH_BABELTRACE=OFF \
|
|
-DWITH_JAEGER=OFF \
|
|
-DWITH_LTTNG=OFF \
|
|
-DWITH_MANPAGE=ON \
|
|
-DWITH_MGR_DASHBOARD_FRONTEND="$_dash" \
|
|
-DWITH_PYTHON3=3 \
|
|
-DWITH_RADOSGW_AMQP_ENDPOINT=OFF \
|
|
-DWITH_RADOSGW_SELECT_PARQUET=ON \
|
|
-DWITH_RADOSGW_POSIX=OFF \
|
|
-DWITH_RDMA=OFF \
|
|
-DWITH_REENTRANT_STRSIGNAL=ON \
|
|
-DWITH_SEASTAR=OFF \
|
|
-DWITH_SPDK=OFF \
|
|
-DWITH_SYSTEMD=OFF \
|
|
-DWITH_CEPHFS_SHELL=ON \
|
|
-DWITH_SYSTEM_ARROW=ON \
|
|
-DWITH_SYSTEM_BOOST=ON \
|
|
-DWITH_SYSTEM_FMT=OFF \
|
|
-DWITH_SYSTEM_LIBURING=ON \
|
|
-DWITH_SYSTEM_NPM=ON \
|
|
-DWITH_SYSTEM_ROCKSDB=ON \
|
|
-DWITH_SYSTEM_ZSTD=ON \
|
|
-DWITH_QATLIB=OFF \
|
|
-DWITH_QATZIP=OFF \
|
|
-DWITH_TESTS="$(want_check && echo ON || echo OFF)" \
|
|
-DWITH_THREAD_SAFE_RES_QUERY=ON
|
|
|
|
export NODE_OPTIONS="--openssl-legacy-provider"
|
|
cmake --build build --target common-options-objs
|
|
cmake --build build
|
|
}
|
|
|
|
package() {
|
|
DESTDIR="$pkgdir" cmake --install build
|
|
|
|
# remove the upstream init file and put in openrc ones
|
|
rm -f "$pkgdir"/etc/init.d/ceph
|
|
install -D -m 755 "$srcdir"/"$_pkgname".initd "$pkgdir"/etc/init.d/ceph
|
|
install -D -m 644 "$srcdir"/"$_pkgname".confd "$pkgdir"/etc/conf.d/ceph
|
|
|
|
# move mount.* binaries to /sbin
|
|
mkdir -p "$pkgdir"/sbin
|
|
mv "$pkgdir"/usr/sbin/mount.* "$pkgdir"/sbin
|
|
|
|
install -m 644 -D src/etc-rbdmap "$pkgdir"/etc/ceph/rbdmap
|
|
install -m 644 -D src/logrotate.conf "$pkgdir"/etc/logrotate.d/ceph
|
|
install -m 644 -D etc/sysctl/90-ceph-osd.conf "$pkgdir"/etc/sysctl.d/90-ceph-osd.conf
|
|
|
|
# udev rules
|
|
install -m 644 -D udev/50-rbd.rules "$pkgdir"/usr/lib/udev/rules.d/50-rbd.rules
|
|
# sudoers.d
|
|
install -m 600 -D sudoers.d/ceph-smartctl "$pkgdir"/etc/sudoers.d/ceph-smartctl
|
|
|
|
# delete systemd related stuff
|
|
rm -f "$pkgdir"/usr/sbin/ceph-volume-systemd
|
|
|
|
# move docs to docs
|
|
mkdir -p "$pkgdir"/usr/share/doc/ceph/dashboard
|
|
mv "$pkgdir"/usr/share/ceph/mgr/dashboard/*.rst "$pkgdir"/usr/share/doc/ceph/dashboard/
|
|
mv "$pkgdir"/usr/share/ceph/mgr/cephadm/HACKING.rst "$pkgdir"/usr/share/doc/ceph/cephadm-HACKING.rst
|
|
}
|
|
|
|
check() {
|
|
cd "$builddir"/build
|
|
ctest
|
|
}
|
|
|
|
_dev() {
|
|
mkdir -p "$subpkgdir"
|
|
depends="$pkgname-dev=$pkgver-r$pkgrel"
|
|
}
|
|
|
|
# This subpackage is a little weird and a side effect of trying to keep
|
|
# the daemon packages as small as possible. We might be able to roll this into
|
|
# the base/common package later if we can slim those down or break them up in a
|
|
# different way
|
|
user() {
|
|
pkgdesc="Minimal package to create a user for other ceph packages."
|
|
depends=""
|
|
install="$pkgname-user.pre-install"
|
|
_default_replace_majorversion
|
|
|
|
mkdir -p "$subpkgdir"
|
|
}
|
|
|
|
base() {
|
|
pkgdesc="Base is the package that includes all the files shared amongst ceph servers"
|
|
depends="$_base_deps
|
|
$pkgname-user=$pkgver-r$pkgrel
|
|
$pkgname-common=$pkgver-r$pkgrel
|
|
librbd$_majorver=$pkgver-r$pkgrel
|
|
librados$_majorver=$pkgver-r$pkgrel
|
|
libcephfs$_majorver=$pkgver-r$pkgrel
|
|
"
|
|
_default_replace_majorversion
|
|
|
|
amove usr/bin/ceph-crash \
|
|
usr/bin/crushtool \
|
|
usr/bin/*maptool \
|
|
usr/bin/ceph-kvstore-tool \
|
|
usr/bin/ceph-run \
|
|
usr/sbin/ceph-create-keys \
|
|
usr/libexec/ceph/ceph_common.sh \
|
|
usr/lib/rados-classes/*.so* \
|
|
usr/lib/ceph/erasure-code/libec_*.so* \
|
|
usr/lib/ceph/compressor/libceph_*.so* \
|
|
usr/lib/ceph/crypto/libceph_*.so* \
|
|
usr/lib/ceph/extblkdev/*.so* \
|
|
etc/logrotate.d/ceph
|
|
for dir in crash crash/posted tmp bootstrap-osd bootstrap-mds \
|
|
bootstrap-rgw bootstrap-mgr bootstrap-rbd \
|
|
bootstrap-rbd-mirror; do
|
|
|
|
install -m 750 -o $_ceph_uid -g $_ceph_gid -d \
|
|
"$subpkgdir"/var/lib/ceph/$dir
|
|
done
|
|
}
|
|
|
|
common() {
|
|
pkgdesc="Common utilities to mount and interact with a ceph storage cluster."
|
|
depends="py3-cephfs$_majorver=$pkgver-r$pkgrel
|
|
py3-prettytable
|
|
py3-rados$_majorver=$pkgver-r$pkgrel
|
|
py3-rbd$_majorver=$pkgver-r$pkgrel
|
|
"
|
|
_default_replace_majorversion
|
|
|
|
amove usr/bin/ceph \
|
|
usr/bin/ceph-authtool \
|
|
usr/bin/ceph-conf \
|
|
usr/bin/ceph-rbdnamer \
|
|
usr/bin/rados \
|
|
usr/bin/rbd \
|
|
usr/bin/rbdmap \
|
|
usr/share/ceph/*.ceph.com* \
|
|
etc/ceph/rbdmap
|
|
|
|
amove "$(_py3_sitelib)"/ceph_argparse.py* "$(_py3_sitelib)"/ceph_daemon.py*
|
|
|
|
amove usr/lib/udev/rules.d/50-rbd.rules
|
|
install -m 3770 -o $_ceph_uid -g $_ceph_gid -d \
|
|
"$subpkgdir"/var/log/ceph
|
|
install -m 750 -o $_ceph_uid -g $_ceph_gid -d \
|
|
"$subpkgdir"/var/lib/ceph
|
|
}
|
|
|
|
mds() {
|
|
pkgdesc="Metadata server daemon for the Ceph distributed file system."
|
|
depends="$pkgname-base=$pkgver-r$pkgrel"
|
|
_default_replace_majorversion
|
|
|
|
amove usr/bin/ceph-mds
|
|
install -m 750 -o $_ceph_uid -g $_ceph_gid -d \
|
|
"$subpkgdir"/var/lib/ceph/mds
|
|
}
|
|
|
|
mon() {
|
|
pkgdesc="Cluster monitor daemon virtual package for the Ceph distributed file system."
|
|
depends="$pkgname-base=$pkgver-r$pkgrel
|
|
$pkgname-mon-daemon=$pkgver-r$pkgrel
|
|
$pkgname-mon-tools=$pkgver-r$pkgrel
|
|
"
|
|
_default_replace_majorversion
|
|
|
|
mkdir -p "$subpkgdir"
|
|
}
|
|
|
|
mon_daemon() {
|
|
pkgdesc="Cluster monitor daemon for the Ceph distributed file system."
|
|
depends="$pkgname-user=$pkgver-r$pkgrel"
|
|
_default_replace_majorversion
|
|
|
|
amove usr/bin/ceph-mon
|
|
install -m 750 -o $_ceph_uid -g $_ceph_gid -d \
|
|
"$subpkgdir"/var/lib/ceph/mon
|
|
}
|
|
|
|
mon_tools() {
|
|
pkgdesc="Cluster monitor tools for the Ceph distributed file system."
|
|
depends=
|
|
_default_replace_majorversion
|
|
|
|
amove usr/bin/ceph-monstore-tool
|
|
install -m 750 -o $_ceph_uid -g $_ceph_gid -d \
|
|
"$subpkgdir"/var/lib/ceph/mon
|
|
}
|
|
|
|
ceph_fuse() {
|
|
pkgdesc="FUSE based client for Ceph distributed network file system."
|
|
depends=
|
|
_default_replace_majorversion
|
|
|
|
amove usr/bin/ceph-fuse sbin/mount.fuse.ceph
|
|
}
|
|
|
|
ceph_mount() {
|
|
pkgdesc="CephFS mount tools"
|
|
depends="librados$_majorver=$pkgver-r$pkgrel"
|
|
_default_replace_majorversion
|
|
|
|
amove sbin/mount.ceph
|
|
}
|
|
|
|
rbd_fuse() {
|
|
pkgdesc="FUSE based client to map Ceph rbd images to files."
|
|
depends=
|
|
_default_replace_majorversion
|
|
|
|
amove usr/bin/rbd-fuse
|
|
}
|
|
|
|
rbd_mirror() {
|
|
pkgdesc="Daemon for mirroring RBD images between Ceph clusters."
|
|
depends="$pkgname-common=$pkgver-r$pkgrel"
|
|
_default_replace_majorversion
|
|
|
|
amove usr/bin/rbd-mirror
|
|
}
|
|
|
|
rbd_nbd() {
|
|
pkgdesc="NBD based client to map Ceph rbd images to local device."
|
|
depends=
|
|
_default_replace_majorversion
|
|
|
|
amove usr/bin/rbd-nbd
|
|
}
|
|
|
|
radosgw() {
|
|
pkgdesc="Rados REST gateway which implements Amazon's S3 and OpenStack's Swift APIs."
|
|
depends="$pkgname-common=$pkgver-r$pkgrel oath-toolkit-liboath"
|
|
_default_replace_majorversion
|
|
|
|
amove usr/bin/radosgw*
|
|
amove usr/bin/rgw-*
|
|
mkdir -p "$subpkgdir"/var/lib/ceph/radosgw
|
|
}
|
|
|
|
osd() {
|
|
pkgdesc="Object storage daemon virtual package for the Ceph distributed file system."
|
|
depends="$pkgname-osd-daemon=$pkgver-r$pkgrel
|
|
$pkgname-osd-tools=$pkgver-r$pkgrel
|
|
$pkgname-volume=$pkgver-r$pkgrel"
|
|
_default_replace_majorversion
|
|
|
|
mkdir -p "$subpkgdir"
|
|
}
|
|
|
|
osd_daemon() {
|
|
pkgdesc="Object storage daemon for the Ceph distributed file system."
|
|
depends="$_osd_daemon_deps $pkgname-user=$pkgver-r$pkgrel"
|
|
_default_replace_majorversion
|
|
|
|
amove usr/bin/ceph-osd \
|
|
usr/libexec/ceph/ceph-osd-prestart.sh \
|
|
etc/sudoers.d/ceph-smartctl \
|
|
etc/sysctl.d/90-ceph-osd.conf
|
|
install -m 750 -o $_ceph_uid -g $_ceph_gid -d \
|
|
"$subpkgdir"/var/lib/ceph/osd
|
|
}
|
|
|
|
osd_tools() {
|
|
pkgdesc="Object storage daemon tools for the Ceph distributed file system."
|
|
depends="$pkgname-base=$pkgver-r$pkgrel $_osd_tools_deps"
|
|
_default_replace_majorversion
|
|
|
|
amove usr/bin/ceph-clsinfo usr/bin/ceph-*-tool
|
|
install -m 750 -o $_ceph_uid -g $_ceph_gid -d \
|
|
"$subpkgdir"/var/lib/ceph/osd
|
|
}
|
|
|
|
ceph_volume() {
|
|
pkgdesc="ceph-volume tool for the Ceph distributed file system."
|
|
depends="$_ceph_volume_deps"
|
|
_default_replace_majorversion
|
|
|
|
amove usr/sbin/ceph-volume \
|
|
"$(_py3_sitelib)"/ceph_volume "$(_py3_sitelib)"/ceph_volume-*
|
|
}
|
|
|
|
librados() {
|
|
pkgdesc="RADOS distributed object store client library"
|
|
depends=
|
|
_default_replace_majorversion
|
|
|
|
amove usr/lib/librados.so.* usr/lib/ceph/libceph-common.so.*
|
|
}
|
|
|
|
_py3_rados() {
|
|
pkgdesc="Python libraries for the RADOS object store"
|
|
depends=py3-$pkgname-common=$pkgver-r$pkgrel
|
|
_default_replace_majorversion
|
|
|
|
amove "$(_py3_sitelib)"/rados*
|
|
}
|
|
|
|
libradosstriper() {
|
|
pkgdesc="RADOS striping library"
|
|
depends=
|
|
_default_replace_majorversion
|
|
|
|
amove usr/lib/libradosstriper.so.*
|
|
}
|
|
|
|
librbd() {
|
|
pkgdesc="RADOS block device client library"
|
|
depends=
|
|
_default_replace_majorversion
|
|
|
|
amove usr/lib/librbd.so.*
|
|
}
|
|
|
|
_py3_rbd() {
|
|
pkgdesc="Python libraries for the RADOS block device"
|
|
depends="py3-rados$_majorver=$pkgver-r$pkgrel"
|
|
_default_replace_majorversion
|
|
|
|
amove "$(_py3_sitelib)"/rbd*
|
|
}
|
|
|
|
libcephsqlite() {
|
|
pkgdesc="SQLite Virtual File System (VFS) on top of RADOS"
|
|
depends=
|
|
_default_replace_majorversion
|
|
|
|
amove usr/lib/libcephsqlite.so*
|
|
}
|
|
|
|
libcephfs() {
|
|
pkgdesc="Ceph distributed file system client library"
|
|
depends=
|
|
_default_replace_majorversion
|
|
|
|
amove usr/lib/libcephfs.so.*
|
|
}
|
|
|
|
mirror() {
|
|
pkgdesc="daemon for mirroring CephFS directory snapshots between Ceph clusters"
|
|
depends=
|
|
_default_replace_majorversion
|
|
|
|
amove /usr/bin/cephfs-mirror
|
|
}
|
|
|
|
shell() {
|
|
pkgdesc="interactive shell for the Ceph distributed file system"
|
|
depends="py3-rados$_majorver=$pkgver-r$pkgrel"
|
|
_default_replace_majorversion
|
|
|
|
amove "$(_py3_sitelib)"/cephfs_shell*
|
|
amove /usr/bin/cephfs-shell
|
|
}
|
|
|
|
top() {
|
|
pkgdesc="top like utility to display various filesystem metrics in realtime"
|
|
depends="py3-rados$_majorver=$pkgver-r$pkgrel"
|
|
_default_replace_majorversion
|
|
|
|
amove "$(_py3_sitelib)"/cephfs_top*
|
|
amove /usr/bin/cephfs-top
|
|
}
|
|
|
|
_py3_cephfs() {
|
|
pkgdesc="Python libraries for Ceph distributed file system"
|
|
depends="py3-rados$_majorver=$pkgver-r$pkgrel"
|
|
_default_replace_majorversion
|
|
|
|
amove "$(_py3_sitelib)"/cephfs*
|
|
}
|
|
|
|
_py3_ceph_common() {
|
|
pkgdesc="Python dependencies for $pkgname distributed file system"
|
|
depends="py3-setuptools py3-yaml"
|
|
_default_replace_majorversion
|
|
|
|
amove "$(_py3_sitelib)"/ceph-*.egg-info "$(_py3_sitelib)"/ceph
|
|
}
|
|
|
|
utils() {
|
|
pkgdesc="Ceph utils and recovery tools"
|
|
depends="$pkgname-common=$pkgver-r$pkgrel"
|
|
_default_replace_majorversion
|
|
|
|
amove usr/bin/ceph-diff-sorted \
|
|
usr/bin/ceph-post-file \
|
|
usr/bin/ceph-syn \
|
|
usr/bin/cephfs-data-scan \
|
|
usr/bin/ceph-dencoder \
|
|
usr/lib/ceph/denc \
|
|
usr/bin/cephfs-journal-tool \
|
|
usr/bin/cephfs-table-tool \
|
|
usr/bin/rbd-replay* \
|
|
usr/bin/crushdiff
|
|
}
|
|
|
|
bash_completion() {
|
|
pkgdesc="Bash completions for Ceph"
|
|
depends=
|
|
_default_replace_majorversion
|
|
|
|
install_if="ceph=$pkgver-r$pkgrel bash-completion"
|
|
amove etc/bash_completion.d/*
|
|
}
|
|
|
|
mgr_dashboard() {
|
|
pkgdesc="Dashboard module for ceph-mgr"
|
|
depends="
|
|
$pkgname-common=$pkgver-r$pkgrel
|
|
$pkgname-mgr=$pkgver-r$pkgrel
|
|
$_dashboard_deps
|
|
"
|
|
_default_replace_majorversion
|
|
|
|
amove usr/share/ceph/mgr/dashboard
|
|
}
|
|
|
|
mgr_diskpredicton_local() {
|
|
pkgdesc="diskprediction-local module for ceph-mgr"
|
|
depends="$pkgname-mgr=$pkgver-r$pkgrel
|
|
py3-numpy
|
|
py3-scikit-learn
|
|
py3-scipy
|
|
"
|
|
_default_replace_majorversion
|
|
|
|
amove usr/share/ceph/mgr/diskprediction_local
|
|
}
|
|
|
|
mgr_modules_core() {
|
|
pkgdesc="ceph manager modules which are always enabled"
|
|
depends="
|
|
$_mgr_modules_deps
|
|
"
|
|
_default_replace_majorversion
|
|
|
|
local _mod="alerts balancer crash devicehealth influx insights iostat localpool mirroring nfs orchestrator \
|
|
osd_perf_query osd_support pg_autoscaler progress prometheus rbd_support restful selftest snap_schedule \
|
|
stats status telegraf telemetry test_orchestrator volumes zabbix"
|
|
for _m in ${_mod}; do
|
|
amove usr/share/ceph/mgr/"$_m"
|
|
done
|
|
}
|
|
|
|
mgr_rook() {
|
|
pkgdesc="rook module for ceph-mgr"
|
|
depends="$pkgname-mgr=$pkgver-r$pkgrel
|
|
py3-jsonpatch
|
|
py3-kubernetes"
|
|
_default_replace_majorversion
|
|
|
|
amove usr/share/ceph/mgr/rook
|
|
}
|
|
|
|
mgr_k8events() {
|
|
pkgdesc="kubernetes events module for ceph-mgr"
|
|
depends="$pkgname-mgr=$pkgver-r$pkgrel
|
|
py3-kubernetes
|
|
py3-yaml"
|
|
_default_replace_majorversion
|
|
|
|
amove usr/share/ceph/mgr/k8sevents
|
|
}
|
|
|
|
mgr() {
|
|
pkgdesc="Ceph Manager Daemon"
|
|
depends="$pkgname-base=$pkgver-r$pkgrel
|
|
$pkgname-mgr-modules-core=$pkgver-r$pkgrel"
|
|
_default_replace_majorversion
|
|
|
|
amove usr/bin/ceph-mgr usr/share/ceph/mgr
|
|
|
|
install -m 750 -o $_ceph_uid -g $_ceph_gid -d \
|
|
"$subpkgdir"/var/lib/ceph/mgr
|
|
}
|
|
|
|
cephadm() {
|
|
pkgdesc="cephadm tool $pkgver"
|
|
depends="lvm2"
|
|
_default_replace_majorversion
|
|
|
|
amove usr/sbin/cephadm
|
|
}
|
|
|
|
_default_replace_majorversion() {
|
|
if [ "$_default_ceph" = "yes" ]; then
|
|
local stripped="${subpkgname/"$_majorver"/}"
|
|
# we want to replace both the generic name (ceph-) and the prior major (ceph1X-)
|
|
replaces="$stripped ${subpkgname/"$_majorver"/"$(( _majorver - 1 ))"}"
|
|
provides="$stripped=$pkgver-r$pkgrel"
|
|
fi
|
|
}
|
|
|
|
sha512sums="
|
|
ee47c1cb7cb5084b87bcc5a35b3df88fb49683524bba8f2e1ced9d2f8891af53e4b5fb5aa153ed6bce31683625d9bf5176bab9f55bc71671f0e34667948f7285 ceph-19.2.2.tar.gz
|
|
110bdbcb40216c7ed155a8d23020784741b4992d895f4f04a146d275506e4e68053854d3b063b41e9c9b3e3e4f95b6b90602f92c185c853c0d8f47ad0c6b7121 ceph.confd
|
|
ce5f162501f6b67fe254546dddf880d1a5b1d1a0fa69e0b1918de17e8da45c5c6124512b8cbd98b76f29d931403de0d11c5ffd330ed8ee1f4dc75bb04baecae3 ceph.initd
|
|
3b5d0e7082755598c0f8d5a3bc26bcecd2dd110d80a4dfb0673568b837b8e4a565ec41742a43ffbd992538756ac1fc819f115544c5878bbbc0c0864aef4aef5f 10-isal_crypto.patch
|
|
439f39e62468c55654156832041acb1eec4cf1204c8e7c5a7530974461eb864d5c3a4615ce4baff9633de39d02c8a88965c5407961fd455708d378f46ecc13e1 10-isal.patch
|
|
94687578411bf0de1b17555ed81c188c88ea63ac4a25993bd8fde9cf68afbbfbdec7b2d7c54fdcfbd4aed4eb78754e8061c308955596cbe037ff15b575874cc6 10-musl-fixes.patch
|
|
54ff5e84b3b6fea2e259b74d4cba9c0bedda89ad6b11ec8be24507bca1c6175912b71b9006ea616af8d7527ae7339c24d74c68b4379ebc110b1315d0e3d47f85 10-xxhash.patch
|
|
211e6f5f8fc962878196ec917984781eb4a8a9495bcc8d1729b34ac66abd2d4a0b7388ae2caee9d5deb664d54860d120a37215924625e82eac9bfca16179667a 11-dump_time_header_impl.patch
|
|
149cdeccedcd9cf951769814a93b2eea654fd98361853ae040c18862e133c4419d3cf0de2d77dc5328e9c437122424159c6384c74e55e297309f58ae9933e36f 11-lfs.patch
|
|
253a7bf9fa6a68547f2c9269570be86aa659ef75ab0ed4c9d1a53be70de1ca6079508f19fe5ddb02ed9edda349e121037f8ed4d6b5b0e640edaab863ce6b280d 11-parse_rfc1123_alt.patch
|
|
b947a8f13e08b1cfaad82906ac04fa875c651cff660e64c43c7ba52eedb2a79fb2dc276f8e3ac9ee7d1264414bcee78640ec0cfc31600394313ddb0c6baf76c8 21-yarn.patch
|
|
abb3cab9c01cc3d6d42a9858678059a8c9c43bda2649bf97b489fdc205eb10ae27f9fb7302062e0fb41f5cffddbfc2ae529130569034f373732a0a5d33aba86e 35-fix_ErasureCodeShec.patch
|
|
71ffe6f3263b3546bb3d3593981a288ee8136d44f8c1e734ecfae65b71ea3f7c91e6040c337f237fa41269328378c955e93ed13b9d35e0ad8efd785b75d0f595 47-bcrypt.patch
|
|
df20d148f0a2aec170d2ef5afa2fda30ecb2f91ea206d00556736936529fa8ef8b47c6e6b88f29a4d779a025612fe0d1ea964316f46d61cc557ea07aaa8274d6 48-arrow.patch
|
|
afef1cc7e43f500d95d2ffd1687cfcb756e9d8dec729186a25d513d4401b38f00edac922562a161575b1da1a65ded3e99d01cf34f9bc329f6d08cf2b896acd0c gcc13.patch
|
|
8290fdfe74573ad5558066425f59185230f040e01c6a5437116b27715914dc56fda86a1b73fbed7abf727a574f1d50fe643c62958d9ce7162e769b6eaf880d80 boost-url.patch
|
|
c2e047da6f721bf64053571bbad60c5948a2bfd7c28f01b4816a274c2f0b8a60812344030d9b2cfd224edaf54fcfa94858d7ba5d3c0d3e2519585f3e61d34cda ppc64le.patch
|
|
bf088eeeac8554a66012f076745714326ab31632021ca2eeffa3b525bfa7fa5263096f2b0e0157e16c50c77ecf8b7771ee388e9472852e6860b160e1417e7ee1 py3-importlib-metadata-5.0.0.patch
|
|
bdb5e3bc3e2449b92570ddd2874982f4286ab3406a149d222d4ad4d6362ae3d20c519999b83efea4febab1cf01522b0bee9c0334cd059394e54004def14658e9 ceph-19.2.2-py313-1.patch
|
|
e393c7754c9977a3aeba85db29d4b9ed66a1687cc7d164849af50030a2c55ee5980a2619deb0e80395cde9679982fc42cf77e28e6c4242a6e4819ded6dee5e07 ceph-19.2.2-py313-2.patch
|
|
780f327b6d86511eb8128b4742a082d79ab617fbb11203090e01bd0b35ba887d9f33ef515f35d4d2fbee36d28a63548591b4a5ea8dd42aee0a93cb6b849e32e4 ceph-19.2.2-py313-3.patch
|
|
"
|