37 lines
943 B
Bash
Executable File
37 lines
943 B
Bash
Executable File
#!/usr/bin/env bash
|
|
set -euo pipefail
|
|
|
|
repo_root="$(cd "$(dirname "${BASH_SOURCE[0]}")/../.." && pwd)"
|
|
repo_dir="${repo_root}/packages/local"
|
|
|
|
if [[ -n "${ALPINE_ARCH:-}" ]]; then
|
|
package_dirs=("${repo_dir}/${ALPINE_ARCH}")
|
|
else
|
|
package_dirs=("${repo_dir}"/*)
|
|
fi
|
|
|
|
if [[ ! -d "${repo_dir}" || ! -d "${package_dirs[0]}" ]]; then
|
|
printf 'missing local repository: packages/local\n' >&2
|
|
printf 'run: mise run apk:build-all\n' >&2
|
|
exit 1
|
|
fi
|
|
|
|
for package_dir in "${package_dirs[@]}"; do
|
|
[[ -d "${package_dir}" ]] || continue
|
|
|
|
shopt -s nullglob
|
|
apks=("${package_dir}"/*.apk)
|
|
shopt -u nullglob
|
|
|
|
if [[ "${#apks[@]}" -eq 0 ]]; then
|
|
continue
|
|
fi
|
|
|
|
printf '## %s\n' "$(basename "${package_dir}")"
|
|
for apk in "${apks[@]}"; do
|
|
printf '### %s\n' "$(basename "${apk}")"
|
|
tar -xOf "${apk}" .PKGINFO 2>/dev/null \
|
|
| sed -n '/^pkgname =/p;/^pkgver =/p;/^arch =/p;/^depend =/p;/^provides =/p;/^install_if =/p'
|
|
done
|
|
done
|