add source build for lance (rust) worker to avoid glibc compat dependency
Build Alpine Packages / build-and-publish (v3.24, 3.24) (pull_request) Failing after 31m33s

This commit is contained in:
Joachim Schlöffel
2026-09-06 05:46:50 +02:00
parent b5af335ec5
commit acb19ebd29
7 changed files with 32 additions and 52 deletions
+21 -31
View File
@@ -7,6 +7,7 @@ url="https://github.com/seaweedfs/seaweedfs"
arch="x86_64 aarch64"
license="Apache-2.0"
depends="ca-certificates /bin/sh"
makedepends="build-base cargo rust protobuf-dev"
provides="!$pkgname-openrc cmd:weed=$pkgver-r$pkgrel"
install="$pkgname.pre-install"
subpackages="
@@ -20,27 +21,24 @@ subpackages="
$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
$pkgname-worker-lance:_worker_lance
$pkgname-worker-lance-openrc:_openrc_worker_lance: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
$pkgname-$pkgver-src.tar.gz::https://github.com/seaweedfs/seaweedfs/archive/refs/tags/$pkgver.tar.gz
admin.toml
example-admin.toml
credential.toml
@@ -66,35 +64,28 @@ source="
seaweedfs.volume.confd
seaweedfs.webdav.confd
seaweedfs.worker.confd
seaweedfs.worker-rust.confd
weed-worker-wrapper
seaweedfs.worker-lance.confd
weed.bash-completion
"
builddir="$srcdir"
_worker_builddir="$builddir/$pkgname-$pkgver/seaweed-worker"
prepare() {
default_prepare
tar -xzf "$srcdir/$_archive" -C "$builddir"
tar -xzf "$srcdir/$_worker_archive" -C "$builddir"
tar -xzf "$srcdir/$pkgname-$pkgver-src.tar.gz" -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
cd "$_worker_builddir"
cargo build --locked --release -p weed-lance-worker
}
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
install -Dm755 "${CARGO_TARGET_DIR:-$_worker_builddir/target}/release/weed-worker" \
"$pkgdir"/usr/bin/weed-worker
local _config
for _config in admin credential filer master notification replication security shell; do
install -Dm644 "$srcdir"/$_config.toml \
@@ -123,16 +114,17 @@ _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
_worker_lance() {
pkgdesc="SeaweedFS Lance table maintenance worker"
depends="$pkgname=$pkgver-r$pkgrel libgcc"
amove usr/bin/weed-worker
}
_openrc_worker_rust() {
_openrc_service worker-rust
depends="$pkgname-worker-rust=$pkgver-r$pkgrel $depends"
_openrc_worker_lance() {
_openrc_service worker-lance
depends="$pkgname-worker-lance=$pkgver-r$pkgrel $depends"
}
_bashcomp() {
@@ -147,8 +139,7 @@ _bashcomp() {
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
0ec16ea593cf154caf04b53bd81ce9a24276ecc1f6c09f0f91d82ee1218b1c12c4e8ebc79aea5ca166b988e6f8dcaffdb87ef3ff8816a99f14719c054c7fc144 seaweedfs-4.45-src.tar.gz
4f24760848c909fdee1ae8569ef7ef7cbec2c885d891a543d7beddee492bddbf266e6789601095a86798d1b00256782c45297ea36cdb527bb6b64980dd02486a admin.toml
507b389f6373b5f4d8ca69f27bc806b39bda8edf7f58e4f32720958e7782ee171dd0461bdecb285e5a8bf2cf4ea3d6cbe8b62ae6ac43c2a40d0eb053d50a22f8 example-admin.toml
b6ce09d6d83dd70e2797a185171eea3587436fb024a99b4998f714b713244d6f768ef59f67c9b7251650d4f19d414eea231eab92099763d85cd92e41cb2bdc3f credential.toml
@@ -174,7 +165,6 @@ d21981923b5964cf8365185a4f7c28a14e33ba6f60ad63e797e315544a6c22efdaa72814292824c0
262cc5132a70a43f9f154d24da16fe2f34f736c0bfdafd56cd341b7f34b48b82aa3a38a93d64206360c391e1167e2b665a3ade5c7eddfe4b322253521629f4e0 seaweedfs.volume.confd
84a9caa8f5203a31f2f96ef812dca8e4f7597f8f06ed3f55db38daff167448b0332564a421dcb356405d761c7a9e815656208d431e84b8106951554ab7ef2142 seaweedfs.webdav.confd
b586dfbdbcf17591366a7a62c4da6f2b13e1bd5dfb5b066beea114d01057eeb3d81172814655d812c48e02336277b3d70fa9f9550923cfe616e9dd8162661f51 seaweedfs.worker.confd
72508778ad85fc9722c4d4e9d862434b0714e0e37315550ae05210090131fc3ad857635ff248cc978199b3612ea3c085b4f34904ec00bb7ceca6258ba0dc26c9 seaweedfs.worker-rust.confd
8deb0d366b54238c0fbd64fc0473f7212b95472f6dd1708f30131ae66d3d40d89c8f5de8093d5a5bd7b84fd4568f3844ca5ec4b86a2166708746da4b87449fc4 weed-worker-wrapper
72508778ad85fc9722c4d4e9d862434b0714e0e37315550ae05210090131fc3ad857635ff248cc978199b3612ea3c085b4f34904ec00bb7ceca6258ba0dc26c9 seaweedfs.worker-lance.confd
2815330810545d17cffd993d93502c934c24af5aeff8f7096bcf0f020f895f1da50b74c356c028b67de552cbd8e4ccfa176636da2642feae99542035e4272171 weed.bash-completion
"