Files
alpine-packages/scripts/apk/container-entrypoint.sh
2026-06-07 14:30:21 +02:00

67 lines
1.9 KiB
Bash
Executable File

#!/usr/bin/env bash
set -euo pipefail
command_name="${1:-build}"
package_dir="${APKBUILD_DIR:-/work/packaging/alpine/local/seaweedfs}"
repo_name="${ALPINE_REPO_NAME:-local}"
arch="${ALPINE_ARCH:-x86_64}"
export CARCH="${CARCH:-$arch}"
export PACKAGER="${PACKAGER:-Local Builder <local@example.invalid>}"
if [[ -n "${PACKAGER_PRIVKEY:-}" ]]; then
export PACKAGER_PRIVKEY
fi
git config --global --add safe.directory /work
mkdir -p /home/builder/.abuild /home/builder/packages "${package_dir}"
if [[ -n "${PACKAGER_PRIVKEY:-}" && ! -f "${PACKAGER_PRIVKEY}" ]]; then
abuild-keygen -a -n
elif ! compgen -G "/home/builder/.abuild/*.rsa" > /dev/null; then
abuild-keygen -a -n
fi
if [[ -z "${PACKAGER_PRIVKEY:-}" && -f /home/builder/.abuild/abuild.conf ]]; then
# shellcheck source=/dev/null
. /home/builder/.abuild/abuild.conf
fi
if [[ -n "${PACKAGER_PRIVKEY:-}" ]]; then
export PACKAGER_PRIVKEY
fi
if [[ -n "${PACKAGER_PRIVKEY:-}" && -f "${PACKAGER_PRIVKEY}.pub" ]]; then
doas cp "${PACKAGER_PRIVKEY}.pub" /etc/apk/keys/
elif compgen -G "/home/builder/.abuild/*.rsa.pub" > /dev/null; then
doas cp /home/builder/.abuild/*.rsa.pub /etc/apk/keys/
fi
case "${command_name}" in
build)
cd "${package_dir}"
abuild -r
mkdir -p "/home/builder/packages/${repo_name}/${arch}"
if [[ -n "${PACKAGER_PRIVKEY:-}" && -f "${PACKAGER_PRIVKEY}.pub" ]]; then
cp "${PACKAGER_PRIVKEY}.pub" "/home/builder/packages/${repo_name}/${arch}/"
elif compgen -G "/home/builder/.abuild/*.rsa.pub" > /dev/null; then
cp /home/builder/.abuild/*.rsa.pub "/home/builder/packages/${repo_name}/${arch}/"
fi
;;
checksum)
cd "${package_dir}"
abuild checksum
;;
lint)
cd "${package_dir}"
apkbuild-lint APKBUILD
;;
shell)
cd "${package_dir}"
exec bash
;;
*)
printf 'unknown command: %s\n' "${command_name}" >&2
printf 'usage: %s [build|checksum|lint|shell]\n' "$0" >&2
exit 2
;;
esac