aports/testing/lizardfs/APKBUILD

160 lines
4.9 KiB
Text

# Contributor: Michael Pirogov <vbnet.ru@gmail.com>
# Maintainer: Michael Pirogov <vbnet.ru@gmail.com>
pkgname=lizardfs
pkgver=3.13.0
pkgrel=15
pkgdesc="Highly reliable, scalable and efficient distributed file system"
url="https://github.com/lizardfs/lizardfs/"
arch="all"
license="GPL-3.0-only"
makedepends="
asciidoc
boost-dev
cmake
db-dev
fuse-dev
fuse3-dev
isa-l-dev
judy-dev
libpcap-dev
libtool
linux-pam-dev
python3-dev
samurai
spdlog-dev
thrift-dev
zlib-dev
"
checkdepends="gtest-dev"
pkgusers="mfs"
pkggroups="mfs"
options="!check" # need to setup a virtual machine
install="$pkgname.pre-install"
subpackages="
$pkgname-doc
$pkgname-client
$pkgname-master
$pkgname-chunkserver
$pkgname-metalogger
$pkgname-cgi::noarch
$pkgname-cgiserv::noarch
$pkgname-metalogger-openrc:metalogger_openrc
$pkgname-master-openrc:master_openrc
$pkgname-chunkserver-openrc:chunkserver_openrc
$pkgname-cgiserv-openrc:cgiserv_openrc
$pkgname-bash-completion
"
source="$pkgname-$pkgver.tar.gz::https://github.com/lizardfs/lizardfs/archive/refs/tags/$pkgver-rc3.tar.gz
gcc13.patch
$pkgname-uraft.patch
$pkgname-cgiserv.initd
$pkgname-chunkserver.initd
$pkgname-cgiserv.confd
$pkgname-master.initd
$pkgname-metalogger.initd
$pkgname-iostat-header.patch
$pkgname-cstdio-header.patch
"
builddir="$srcdir/$pkgname-$pkgver-rc3"
build() {
if [ "$CBUILD" != "$CHOST" ]; then
CMAKE_CROSSOPTS="-DCMAKE_SYSTEM_NAME=Linux -DCMAKE_HOST_SYSTEM_NAME=Linux"
fi
cmake -B build -G Ninja \
-DCMAKE_BUILD_TYPE=MinSizeRel \
-DENABLE_TESTS="$(want_check && echo ON || echo OFF)" \
-DENABLE_DOCS=NO \
-DENABLE_JEMALLOC=YES \
-DCMAKE_INSTALL_PREFIX=/ \
-DENABLE_POLONAISE=OFF \
-DTHROW_INSTEAD_OF_ABORT=YES \
-Wno-dev \
$CMAKE_CROSSOPTS
cmake --build build
}
package() {
DESTDIR="$pkgdir" cmake --install build
chown -R mfs:mfs "$pkgdir"/var/lib/lizardfs
mkdir -p "$pkgdir"/usr/share/bash-completion
mv "$pkgdir"/etc/bash_completion.d "$pkgdir"/usr/share/bash-completion/completions
}
master() {
pkgdesc="LizardFS master server"
depends="lizardfs=$pkgver-r$pkgrel"
amove \
usr/sbin/mfsmaster \
usr/sbin/mfsrestoremaster \
usr/sbin/mfsmetadump \
usr/sbin/mfsmetarestore \
var/lib/lizardfs/metadata.mfs.empty
chown -R $pkgusers:$pkggroups "$subpkgdir"/var/lib/lizardfs
}
master_openrc() {
default_openrc
install -Dm755 "$srcdir"/$pkgname-master.initd "$subpkgdir"/etc/init.d/$pkgname-master
}
metalogger() {
pkgdesc="LizardFS metadata replication server"
depends="lizardfs=$pkgver-r$pkgrel"
amove usr/sbin/mfsmetalogger
}
metalogger_openrc() {
default_openrc
install -Dm755 "$srcdir"/$pkgname-metalogger.initd "$subpkgdir"/etc/init.d/$pkgname-metalogger
}
chunkserver() {
pkgdesc="LizardFS data server"
depends="lizardfs=$pkgver-r$pkgrel"
amove usr/sbin/mfschunkserver
}
chunkserver_openrc() {
default_openrc
install -Dm755 "$srcdir"/$pkgname-chunkserver.initd "$subpkgdir"/etc/init.d/$pkgname-chunkserver
}
client() {
pkgdesc="LizardFS client"
depends="fuse fuse3"
amove usr/bin/*
}
cgi() {
pkgdesc="LizardFS CGI Monitor"
depends="python3"
amove usr/share/mfscgi
}
cgiserv() {
pkgdesc="Simple CGI-capable HTTP server to run LizardFS CGI Monitor"
depends="$pkgname-cgi=$pkgver-r$pkgrel"
amove usr/sbin/mfscgiserv
}
cgiserv_openrc() {
default_openrc
install -Dm755 "$srcdir"/$pkgname-cgiserv.initd "$subpkgdir"/etc/init.d/$pkgname-cgiserv
install -Dm755 "$srcdir"/$pkgname-cgiserv.confd "$subpkgdir"/etc/conf.d/$pkgname-cgiserv
}
sha512sums="
5e57c0704d30d1e4f7fd7c2ac6ed889d0075d86ad20536fc927f4fe0d228b907c4ac2697d3c17d0313853f27506fdf6441bf9559d3ed79ae95f51595ec3363d9 lizardfs-3.13.0.tar.gz
b0c13076aeef2489897ab73138101fbbd239ae4c7375bb45dc280b42dd5d7a761a46a97b64f3b5274c99a4318758024db593cb91a0d9a82e58b71ef45b20bf4c gcc13.patch
ec38f06048c2719bba1a8e751411468270e9bc82c955c897dde21cd1e428be686e2b3ae680a57813370ec89e264f66132acd27f84f2ade6f5a63c0b8e2ece256 lizardfs-uraft.patch
c698aff4de9aeb76202a809e44ac8d0ec9c6348a806b1c813c2a40858339b1c139a480a9c5aff40bf2c9821883c6c0dfeabb010f3faa5746673235f0fb3c5a76 lizardfs-cgiserv.initd
56a714f3d29030ca12dc1859a1121b2a89606a2ccccec65481e2eb0b846757dea71dfe5f5a6d648b32e731d14b7d7725f79703851365b0862d7eb415a5f49dfb lizardfs-chunkserver.initd
b5c625f0004df33889de60ddad37e41f3acf081b37247606a1544e5f63354e121fe4cce511a6e60f4f2c0305155faf0614b8a4bce7267929fe68a1a4b546b582 lizardfs-cgiserv.confd
a041fa324d37bda098ad65e9d6507f281ed388471956ca79aa33b8b0d1c4a9d528662a2410c47f3856183d6378ac7fb417c3d7ec314f624e7e5dac7c5e4247f0 lizardfs-master.initd
8e73a7715e7a010d435efb9058ed67aad1caa95c840d3f1fae6bafd2a700cedbb0244d29363929d8e8d9a2036a2e0b173c0c2f7b52529ba4088e1296479fc0f5 lizardfs-metalogger.initd
fed14323975cd2d916bcc78d15ec105176106024faa6587a5b6dc3f2c7c5cf3632491babf2865459ac614ba885ee79e301aac4f19c27c4f04780a4a9d94e9312 lizardfs-iostat-header.patch
b91f07af8a1d82ac9530e0ddc5984ee1f3cba9af7d6e9bf2093d04fbd0862d98860a2db2bd13fe6e0eea0cd7bfd2254a8973a5a398402c1682c51b54267b82cf lizardfs-cstdio-header.patch
"