74 lines
2.1 KiB
Bash
Executable File
74 lines
2.1 KiB
Bash
Executable File
#!/usr/bin/env bash
|
|
set -euo pipefail
|
|
|
|
repo_root="${REPO_ROOT:-$(cd "$(dirname "${BASH_SOURCE[0]}")/../../../../.." && pwd)}"
|
|
package_name="${PACKAGE_NAME:-seaweedfs}"
|
|
alpine_version="${ALPINE_VERSION:-3.23}"
|
|
arch="${ALPINE_ARCH:-x86_64}"
|
|
|
|
case "${arch}" in
|
|
x86_64)
|
|
platform="${ALPINE_TEST_PLATFORM:-linux/amd64}"
|
|
;;
|
|
aarch64)
|
|
platform="${ALPINE_TEST_PLATFORM:-linux/arm64}"
|
|
;;
|
|
*)
|
|
printf 'unsupported Alpine architecture: %s\n' "${arch}" >&2
|
|
exit 2
|
|
;;
|
|
esac
|
|
|
|
if [[ "${SKIP_BUILD:-0}" != "1" ]]; then
|
|
ALPINE_PACKAGE="${package_name}" "${repo_root}/scripts/apk/build.sh" build "${arch}"
|
|
fi
|
|
|
|
if [[ ! -d "${repo_root}/packages/local/${arch}" ]]; then
|
|
printf 'missing local repository: packages/local/%s\n' "${arch}" >&2
|
|
printf 'run: ALPINE_PACKAGE=%s mise run apk:build\n' "${package_name}" >&2
|
|
exit 1
|
|
fi
|
|
|
|
docker run --rm --platform "${platform}" \
|
|
-e "ALPINE_ARCH=${arch}" \
|
|
-v "${repo_root}/packages/local:/repo:ro" \
|
|
"alpine:${alpine_version}" \
|
|
sh -lc '
|
|
set -e
|
|
|
|
cp "/repo/${ALPINE_ARCH}"/*.rsa.pub /etc/apk/keys/
|
|
printf "%s\n" /repo >> /etc/apk/repositories
|
|
apk update
|
|
|
|
apk add seaweedfs \
|
|
seaweedfs-master-openrc \
|
|
seaweedfs-volume-openrc \
|
|
seaweedfs-filer-openrc
|
|
|
|
test -x /usr/bin/weed
|
|
test -d /etc/seaweedfs
|
|
test -f /etc/seaweedfs/master.toml
|
|
test -f /etc/seaweedfs/filer.toml
|
|
test -f /etc/conf.d/seaweedfs.master
|
|
test -f /etc/conf.d/seaweedfs.volume
|
|
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
|
|
|
|
weed version
|
|
|
|
rc-update add seaweedfs.master default
|
|
rc-update add seaweedfs.volume default
|
|
rc-update add seaweedfs.filer default
|
|
test -L /etc/runlevels/default/seaweedfs.master
|
|
test -L /etc/runlevels/default/seaweedfs.volume
|
|
test -L /etc/runlevels/default/seaweedfs.filer
|
|
|
|
apk add seaweedfs-doc bash-completion
|
|
apk info -e seaweedfs-bash-completion
|
|
test -d /usr/share/doc/seaweedfs/examples
|
|
test -f /usr/share/doc/seaweedfs/examples/master.toml
|
|
test -f /usr/share/bash-completion/completions/weed
|
|
'
|