Files
alpine-packages/scripts/apk/container-entrypoint.sh
T
Joachim Schlöffel 7781653941
Build Alpine Packages / build-and-publish (v3.24, 3.24) (push) Successful in 27m36s
Use repository owner as CI packager
2026-07-12 08:05:55 +02:00

78 lines
2.1 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}"
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}"
install_repo_keys() {
local key
shopt -s nullglob
for key in "/home/builder/packages/${repo_name}"/*/*.rsa.pub; do
doas cp "${key}" /etc/apk/keys/
done
shopt -u nullglob
}
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
install_repo_keys
case "${command_name}" in
build)
doas apk update
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