diff --git a/packaging/alpine/local/seaweedfs/APKBUILD b/packaging/alpine/local/seaweedfs/APKBUILD index bf13368..02ba14b 100644 --- a/packaging/alpine/local/seaweedfs/APKBUILD +++ b/packaging/alpine/local/seaweedfs/APKBUILD @@ -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 - -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 " diff --git a/packaging/alpine/local/seaweedfs/README.md b/packaging/alpine/local/seaweedfs/README.md index e2397f3..deb0c18 100644 --- a/packaging/alpine/local/seaweedfs/README.md +++ b/packaging/alpine/local/seaweedfs/README.md @@ -54,7 +54,7 @@ seaweedfs-webdav-openrc -> /etc/init.d/seaweedfs.webdav seaweedfs-sftp-openrc -> /etc/init.d/seaweedfs.sftp seaweedfs-admin-openrc -> /etc/init.d/seaweedfs.admin seaweedfs-worker-openrc -> /etc/init.d/seaweedfs.worker -seaweedfs-worker-rust-openrc -> /etc/init.d/seaweedfs.worker-rust +seaweedfs-worker-lance-openrc -> /etc/init.d/seaweedfs.worker-lance ``` Replace Alpine's old generic OpenRC package before installing a role split: @@ -95,9 +95,9 @@ rc-update add seaweedfs.filer default rc-service seaweedfs.filer start # Optional: Lance table maintenance (requires a Lance namespace endpoint) -apk add seaweedfs-worker-rust-openrc -rc-update add seaweedfs.worker-rust default -rc-service seaweedfs.worker-rust start +apk add seaweedfs-worker-lance-openrc +rc-update add seaweedfs.worker-lance default +rc-service seaweedfs.worker-lance start ``` Check status: diff --git a/packaging/alpine/local/seaweedfs/scripts/runtime-test.sh b/packaging/alpine/local/seaweedfs/scripts/runtime-test.sh index d0b272b..02ec569 100755 --- a/packaging/alpine/local/seaweedfs/scripts/runtime-test.sh +++ b/packaging/alpine/local/seaweedfs/scripts/runtime-test.sh @@ -7,7 +7,7 @@ apk add seaweedfs \ seaweedfs-master-openrc \ seaweedfs-volume-openrc \ seaweedfs-filer-openrc \ - seaweedfs-worker-rust-openrc + seaweedfs-worker-lance-openrc test -x /usr/bin/weed test -d /etc/seaweedfs @@ -20,7 +20,7 @@ test -f /etc/conf.d/seaweedfs.filer test -f /etc/init.d/seaweedfs.master test -f /etc/init.d/seaweedfs.volume test -f /etc/init.d/seaweedfs.filer -test -f /etc/init.d/seaweedfs.worker-rust +test -f /etc/init.d/seaweedfs.worker-lance test -x /usr/bin/weed-worker /usr/bin/weed-worker --help >/dev/null test -d /usr/share/doc/seaweedfs/examples diff --git a/packaging/alpine/local/seaweedfs/scripts/test-install.sh b/packaging/alpine/local/seaweedfs/scripts/test-install.sh index 2970b73..44acb83 100755 --- a/packaging/alpine/local/seaweedfs/scripts/test-install.sh +++ b/packaging/alpine/local/seaweedfs/scripts/test-install.sh @@ -16,7 +16,7 @@ apk_test_install_run "${repo_root}" "${PACKAGE_NAME:-seaweedfs}" "${PACKAGE_VERS seaweedfs-master-openrc \ seaweedfs-volume-openrc \ seaweedfs-filer-openrc \ - seaweedfs-worker-rust-openrc + seaweedfs-worker-lance-openrc test -x /usr/bin/weed test -d /etc/seaweedfs @@ -29,7 +29,7 @@ apk_test_install_run "${repo_root}" "${PACKAGE_NAME:-seaweedfs}" "${PACKAGE_VERS test -f /etc/init.d/seaweedfs.master test -f /etc/init.d/seaweedfs.volume test -f /etc/init.d/seaweedfs.filer - test -f /etc/init.d/seaweedfs.worker-rust + test -f /etc/init.d/seaweedfs.worker-lance test -x /usr/bin/weed-worker /usr/bin/weed-worker --help >/dev/null diff --git a/packaging/alpine/local/seaweedfs/seaweedfs.initd b/packaging/alpine/local/seaweedfs/seaweedfs.initd index f1b0720..20507e3 100644 --- a/packaging/alpine/local/seaweedfs/seaweedfs.initd +++ b/packaging/alpine/local/seaweedfs/seaweedfs.initd @@ -46,7 +46,7 @@ build_command_args() { data_dir="${SEAWEEDFS_DATA_DIR:-/var/lib/seaweedfs/worker}" command_args="$command_args -admin=${SEAWEEDFS_ADMIN:-localhost:23646} -workingDir=${data_dir}" ;; - worker-rust) + worker-lance) command="/usr/bin/weed-worker" command_args="--admin ${SEAWEEDFS_ADMIN:-localhost:23646} --namespace ${SEAWEEDFS_LANCE_NAMESPACE:-http://localhost:9101}" ;; @@ -66,7 +66,7 @@ depend() { s3|webdav|sftp) after seaweedfs.filer ;; - worker|worker-rust) + worker|worker-lance) after seaweedfs.admin ;; esac diff --git a/packaging/alpine/local/seaweedfs/seaweedfs.worker-rust.confd b/packaging/alpine/local/seaweedfs/seaweedfs.worker-lance.confd similarity index 56% rename from packaging/alpine/local/seaweedfs/seaweedfs.worker-rust.confd rename to packaging/alpine/local/seaweedfs/seaweedfs.worker-lance.confd index b076bfc..456788c 100644 --- a/packaging/alpine/local/seaweedfs/seaweedfs.worker-rust.confd +++ b/packaging/alpine/local/seaweedfs/seaweedfs.worker-lance.confd @@ -1,4 +1,4 @@ -# Rust Lance maintenance worker. It is optional and requires a Lance namespace. +# Lance maintenance worker. It is optional and requires a Lance namespace. SEAWEEDFS_ADMIN="localhost:23646" SEAWEEDFS_LANCE_NAMESPACE="http://localhost:9101" SEAWEEDFS_OPTS="" diff --git a/packaging/alpine/local/seaweedfs/weed-worker-wrapper b/packaging/alpine/local/seaweedfs/weed-worker-wrapper deleted file mode 100644 index 3302e4a..0000000 --- a/packaging/alpine/local/seaweedfs/weed-worker-wrapper +++ /dev/null @@ -1,10 +0,0 @@ -#!/bin/sh - -shim="/usr/lib/seaweedfs/libresinit.so" -if [ -n "${LD_PRELOAD:-}" ]; then - export LD_PRELOAD="${shim}:${LD_PRELOAD}" -else - export LD_PRELOAD="${shim}" -fi - -exec /usr/lib/seaweedfs/weed-worker "$@"