32 lines
1.1 KiB
Bash
Executable File
32 lines
1.1 KiB
Bash
Executable File
#!/usr/bin/env bash
|
|
set -euo pipefail
|
|
|
|
package_dir="${PACKAGE_DIR:-$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)}"
|
|
configs=(admin credential filer master volume notification replication security shell)
|
|
pkgver="$(
|
|
awk -F= '$1 == "pkgver" { print $2; exit }' "${package_dir}/APKBUILD"
|
|
)"
|
|
tmpdir="$(mktemp -d)"
|
|
|
|
cleanup() {
|
|
rm -rf "${tmpdir}"
|
|
}
|
|
trap cleanup EXIT
|
|
|
|
curl -fsSL \
|
|
-o "${tmpdir}/seaweedfs-${pkgver}-src.tar.gz" \
|
|
"https://github.com/seaweedfs/seaweedfs/archive/refs/tags/${pkgver}.tar.gz"
|
|
tar -xzf "${tmpdir}/seaweedfs-${pkgver}-src.tar.gz" -C "${tmpdir}"
|
|
source_dir="${tmpdir}/seaweedfs-${pkgver}"
|
|
tar -xzf "${package_dir}/seaweedfs-${pkgver}-go-vendor.tar.gz" -C "${source_dir}"
|
|
go build -mod=vendor -buildvcs=false -trimpath -o "${tmpdir}/weed" "${source_dir}/weed"
|
|
|
|
for config in "${configs[@]}"; do
|
|
"${tmpdir}/weed" scaffold -config "${config}" 2>/dev/null \
|
|
> "${package_dir}/example-${config}.toml"
|
|
done
|
|
|
|
"${tmpdir}/weed" autocomplete bash 2>/dev/null \
|
|
| sed -E 's#complete -C "?[^"]*/weed"? weed#complete -C /usr/bin/weed weed#' \
|
|
> "${package_dir}/weed.bash-completion"
|