181 lines
9.2 KiB
Bash
181 lines
9.2 KiB
Bash
# Maintainer: Joachim Schlöffel <joachim.schloeffel@financial-service-plus.de>
|
|
pkgname=seaweedfs
|
|
pkgver=4.45
|
|
pkgrel=0
|
|
pkgdesc="Distributed storage system for object storage, file systems, and Iceberg tables"
|
|
url="https://github.com/seaweedfs/seaweedfs"
|
|
arch="x86_64 aarch64"
|
|
license="Apache-2.0"
|
|
depends="ca-certificates /bin/sh"
|
|
provides="!$pkgname-openrc cmd:weed=$pkgver-r$pkgrel"
|
|
install="$pkgname.pre-install"
|
|
subpackages="
|
|
$pkgname-admin-openrc:_openrc_admin:noarch
|
|
$pkgname-bash-completion:_bashcomp:noarch
|
|
$pkgname-doc
|
|
$pkgname-filer-openrc:_openrc_filer:noarch
|
|
$pkgname-master-openrc:_openrc_master:noarch
|
|
$pkgname-s3-openrc:_openrc_s3:noarch
|
|
$pkgname-sftp-openrc:_openrc_sftp:noarch
|
|
$pkgname-volume-openrc:_openrc_volume:noarch
|
|
$pkgname-webdav-openrc:_openrc_webdav:noarch
|
|
$pkgname-worker-openrc:_openrc_worker:noarch
|
|
$pkgname-worker-rust:_worker_rust
|
|
$pkgname-worker-rust-openrc:_openrc_worker_rust:noarch
|
|
"
|
|
options="!check !strip !tracedeps"
|
|
|
|
case "$CARCH" in
|
|
x86_64)
|
|
_archive="$pkgname-$pkgver-linux-amd64.tar.gz"
|
|
_worker_archive="$pkgname-worker-$pkgver-linux-amd64.tar.gz"
|
|
;;
|
|
aarch64)
|
|
_archive="$pkgname-$pkgver-linux-arm64.tar.gz"
|
|
_worker_archive="$pkgname-worker-$pkgver-linux-arm64.tar.gz"
|
|
;;
|
|
esac
|
|
|
|
source="
|
|
$pkgname-$pkgver-linux-amd64.tar.gz::https://github.com/seaweedfs/seaweedfs/releases/download/$pkgver/linux_amd64.tar.gz
|
|
$pkgname-$pkgver-linux-arm64.tar.gz::https://github.com/seaweedfs/seaweedfs/releases/download/$pkgver/linux_arm64.tar.gz
|
|
$pkgname-worker-$pkgver-linux-amd64.tar.gz::https://github.com/seaweedfs/seaweedfs/releases/download/$pkgver/weed-worker_linux_amd64.tar.gz
|
|
$pkgname-worker-$pkgver-linux-arm64.tar.gz::https://github.com/seaweedfs/seaweedfs/releases/download/$pkgver/weed-worker_linux_arm64.tar.gz
|
|
admin.toml
|
|
example-admin.toml
|
|
credential.toml
|
|
example-credential.toml
|
|
example-filer.toml
|
|
example-master.toml
|
|
example-notification.toml
|
|
example-replication.toml
|
|
example-security.toml
|
|
example-shell.toml
|
|
filer.toml
|
|
master.toml
|
|
notification.toml
|
|
replication.toml
|
|
security.toml
|
|
shell.toml
|
|
seaweedfs.admin.confd
|
|
seaweedfs.filer.confd
|
|
seaweedfs.initd
|
|
seaweedfs.master.confd
|
|
seaweedfs.s3.confd
|
|
seaweedfs.sftp.confd
|
|
seaweedfs.volume.confd
|
|
seaweedfs.webdav.confd
|
|
seaweedfs.worker.confd
|
|
seaweedfs.worker-rust.confd
|
|
weed-worker-wrapper
|
|
weed.bash-completion
|
|
"
|
|
|
|
builddir="$srcdir"
|
|
|
|
prepare() {
|
|
default_prepare
|
|
tar -xzf "$srcdir/$_archive" -C "$builddir"
|
|
tar -xzf "$srcdir/$_worker_archive" -C "$builddir"
|
|
}
|
|
|
|
build() {
|
|
cat > "$builddir"/res_init.c <<'EOF'
|
|
#include <resolv.h>
|
|
|
|
int __res_init(void) {
|
|
return res_init();
|
|
}
|
|
EOF
|
|
${CC:-cc} -shared -fPIC -o "$builddir"/libresinit.so "$builddir"/res_init.c
|
|
}
|
|
|
|
package() {
|
|
install -Dm755 "$srcdir"/weed "$pkgdir"/usr/bin/weed
|
|
install -Dm755 "$srcdir"/weed-worker "$pkgdir"/usr/lib/seaweedfs/weed-worker
|
|
install -Dm755 "$srcdir"/weed-worker-wrapper "$pkgdir"/usr/bin/weed-worker
|
|
install -Dm755 "$builddir"/libresinit.so "$pkgdir"/usr/lib/seaweedfs/libresinit.so
|
|
local _config
|
|
for _config in admin credential filer master notification replication security shell; do
|
|
install -Dm644 "$srcdir"/$_config.toml \
|
|
"$pkgdir"/etc/seaweedfs/$_config.toml
|
|
install -Dm644 "$srcdir"/example-$_config.toml \
|
|
"$pkgdir"/usr/share/doc/$pkgname/examples/$_config.toml
|
|
done
|
|
}
|
|
|
|
_openrc_service() {
|
|
local _service="$1"
|
|
pkgdesc="$pkgdesc (OpenRC $_service service)"
|
|
depends="$pkgname=$pkgver-r$pkgrel openrc"
|
|
|
|
install -Dm755 "$srcdir"/seaweedfs.initd \
|
|
"$subpkgdir"/etc/init.d/seaweedfs.$_service
|
|
install -Dm644 "$srcdir"/seaweedfs.$_service.confd \
|
|
"$subpkgdir"/etc/conf.d/seaweedfs.$_service
|
|
}
|
|
|
|
_openrc_admin() { _openrc_service admin; }
|
|
_openrc_filer() { _openrc_service filer; }
|
|
_openrc_master() { _openrc_service master; }
|
|
_openrc_s3() { _openrc_service s3; }
|
|
_openrc_sftp() { _openrc_service sftp; }
|
|
_openrc_volume() { _openrc_service volume; }
|
|
_openrc_webdav() { _openrc_service webdav; }
|
|
_openrc_worker() { _openrc_service worker; }
|
|
_worker_rust() {
|
|
pkgdesc="Rust worker for SeaweedFS Lance table maintenance"
|
|
depends="$pkgname=$pkgver-r$pkgrel gcompat libgcc"
|
|
|
|
amove usr/bin/weed-worker usr/lib/seaweedfs
|
|
}
|
|
|
|
_openrc_worker_rust() {
|
|
_openrc_service worker-rust
|
|
depends="$pkgname-worker-rust=$pkgver-r$pkgrel $depends"
|
|
}
|
|
|
|
_bashcomp() {
|
|
pkgdesc="Bash completions for $pkgname"
|
|
depends=""
|
|
install_if="$pkgname=$pkgver-r$pkgrel bash-completion"
|
|
|
|
install -Dm644 "$srcdir"/weed.bash-completion \
|
|
"$subpkgdir"/usr/share/bash-completion/completions/weed
|
|
}
|
|
|
|
sha512sums="
|
|
7307107cc6c48b37ae019bdde4a2d62408b6577d9276f3b8c94764a716aa3dea919165a7bece94c84f834bd55e0cd2861dfeeeb00c57fd37d8964e9baef29ec0 seaweedfs-4.45-linux-amd64.tar.gz
|
|
2580ccc65fc8704d4534af40475f88dc8e69e807e035d366780ba1dba7df835c591f07ba6414323c79e8ac63565da1533b92724f88eb62096ce15b1a5447a8d9 seaweedfs-4.45-linux-arm64.tar.gz
|
|
fc39b0988ae857f59f2d8da14216743a958a1e7019b01becc65974d759cfdf0bc310e718150efa050d96a69a32bbdd8682447768f9faf792108cb44ff26bc66c seaweedfs-worker-4.45-linux-amd64.tar.gz
|
|
4d5e59fdc029f2b79e8e8de372166bc83382e68d805a141728d34d40a39041eaa0bd3ccde75d8da64d98a3a3f74f60bc45976ab9abc84c9a7ec8a1ef867aa451 seaweedfs-worker-4.45-linux-arm64.tar.gz
|
|
4f24760848c909fdee1ae8569ef7ef7cbec2c885d891a543d7beddee492bddbf266e6789601095a86798d1b00256782c45297ea36cdb527bb6b64980dd02486a admin.toml
|
|
507b389f6373b5f4d8ca69f27bc806b39bda8edf7f58e4f32720958e7782ee171dd0461bdecb285e5a8bf2cf4ea3d6cbe8b62ae6ac43c2a40d0eb053d50a22f8 example-admin.toml
|
|
b6ce09d6d83dd70e2797a185171eea3587436fb024a99b4998f714b713244d6f768ef59f67c9b7251650d4f19d414eea231eab92099763d85cd92e41cb2bdc3f credential.toml
|
|
7105de7053654b8c0502521ce58585915fc831c3152801e1db02b1c5214dc3c3ed31f4fc18000665d8338c7a10ffbf0d248368bef2ef3a6d37d46cd856398366 example-credential.toml
|
|
fe9b11f24bc10297e8a4c411ff28868aafb153d5bb98711bab0c6c0b59aa267c42057a81adbf46809a87004004dfdc403744cf1bb8bebcf0b7030dcb11ba238a example-filer.toml
|
|
e5753bd0bcc60dc84428c40ba556c08acae61dec083a5b76640125f637532e7c5759a72cdfd95114222a7a0901a916ec3c4d12f306853cfca0fe9a0b1857893e example-master.toml
|
|
2c200c28172a5d0b1c80ab28e849287e7af8d103355638fd3183b8614d3e2b1b3482132522663f7c6d844e10e13b8c6e23fb5fba0dec2cc83de45c2f17b33477 example-notification.toml
|
|
328cfe43d0c2ebf5092a1178af45c37b07593085135c31649754f0df9fd4c043847c13b56c3c7c45194541db8082309c4845c825d7011e4c3e503b1e6576528d example-replication.toml
|
|
3b45b0f5bf6c5339cfb63c3ddb489b7122e03996ce380c7a244778ef1e7f6c06b4e3e56ea695a2dc3c9c49322a58df865ff50b2904318abafee5e66b2af757f1 example-security.toml
|
|
70069f97edf261a2cd0669dd60adad80533609a25d7429254e0c3322d7e80337f5ff69a5581bc39e6a15442098d14d610ce5f0cb14f02c461c8d3dd440b22c56 example-shell.toml
|
|
be5771a5e1bf626c53f9dffbfa2a400d9b8f9626d55a7b61dcd853753561989427ba872a2638a5e6343f44dea6790678483bd29101d6495dbbfcd3029947b9a7 filer.toml
|
|
2cd6c73a5e23e0395b6f099dcc3acf9280cbb3e13f54408571e91741c4e6b0dad85f6d4e5a92f23ad541bad57ce295c28bb8450fe11da35acbd4da25848f61e5 master.toml
|
|
0a1b3d0fd1671744f96e7642fb9aee9b80debd0d9a82f586beb36fe32f9ad440332acd2a8b0ee0b210b912cb281d88ca56fd15e3a2ece61be9dcf96afc00a6f8 notification.toml
|
|
5a607ce6cdd11ffbe528b9a85e0012b48accefa6ccfeda9d6aa70d92ccf7f219e75c93cd2f1c36f3eb16204b3652a45dcd52ffcb64bceef91d081702b19cef3c replication.toml
|
|
d21981923b5964cf8365185a4f7c28a14e33ba6f60ad63e797e315544a6c22efdaa72814292824c07ef14554738769e0fd4c670fe797cf77b0226b2595a8b43b security.toml
|
|
7a91ce9da79b92e5ef42d4915f56a010bceaaa6c96dcef1f7b1821ee208d381aaa88b9cf495248276132e66d3215927f589b7fabc4eae2c2cb195645f904fac7 shell.toml
|
|
82e2793bf483ffb5b0c8fbe38e6c9df75afe01f824f8414cafd91e4bed5c79c13dae1ca659070401d4968d16ed4b26455b0c6208f777705527bceb2e5f286988 seaweedfs.admin.confd
|
|
5ad952c37c62a770327bd70f7349fa677406606f0b9bf03fdc8f6c6804701f1e77710ab20d6153f9e0cfb549ec161d68a3316abab9c59837bbe3f91ee99e5ce0 seaweedfs.filer.confd
|
|
8a25e70ea874d58bf5450c91a54b8016d26b0dac61be7634cfbfc196bc2a21ae539911485ba9f72e515b42684c13e25f86cbd4c1427c29dc751c031613b40d32 seaweedfs.initd
|
|
57ba77519bb266f0117eaadae3af5ae6bc99bb653668ff526202f327df1c8d93973c0e19dae0c53a19e06389868043c04e53f16f01c851b77fe1387e92cc993b seaweedfs.master.confd
|
|
22a3ea6c83266a979ea7c848fc74b40fc0f2ade960b273fa11e63d4a72a1328bd688c9918be3e9234cfb19f889fd9c931388bb5c2863cea3500e534b8bd90282 seaweedfs.s3.confd
|
|
3e9c41bc61cdd9a4c53ece64d847eca26ab7d0ce0cc98e72462c3dbb225a40de10a02201362801015a9c629d77d5c0d54c7228e9d20111fb6f478b2267d2db98 seaweedfs.sftp.confd
|
|
262cc5132a70a43f9f154d24da16fe2f34f736c0bfdafd56cd341b7f34b48b82aa3a38a93d64206360c391e1167e2b665a3ade5c7eddfe4b322253521629f4e0 seaweedfs.volume.confd
|
|
84a9caa8f5203a31f2f96ef812dca8e4f7597f8f06ed3f55db38daff167448b0332564a421dcb356405d761c7a9e815656208d431e84b8106951554ab7ef2142 seaweedfs.webdav.confd
|
|
b586dfbdbcf17591366a7a62c4da6f2b13e1bd5dfb5b066beea114d01057eeb3d81172814655d812c48e02336277b3d70fa9f9550923cfe616e9dd8162661f51 seaweedfs.worker.confd
|
|
72508778ad85fc9722c4d4e9d862434b0714e0e37315550ae05210090131fc3ad857635ff248cc978199b3612ea3c085b4f34904ec00bb7ceca6258ba0dc26c9 seaweedfs.worker-rust.confd
|
|
8deb0d366b54238c0fbd64fc0473f7212b95472f6dd1708f30131ae66d3d40d89c8f5de8093d5a5bd7b84fd4568f3844ca5ec4b86a2166708746da4b87449fc4 weed-worker-wrapper
|
|
2815330810545d17cffd993d93502c934c24af5aeff8f7096bcf0f020f895f1da50b74c356c028b67de552cbd8e4ccfa176636da2642feae99542035e4272171 weed.bash-completion
|
|
"
|