Files
Linux/ensure-apk-packages.sh

33 lines
662 B
Bash

#!/bin/sh
set -eu
log() {
echo "$(date -u '+%Y-%m-%dT%H:%M:%SZ') $*"
}
if [ "$#" -eq 0 ]; then
log "no packages supplied; nothing to ensure"
exit 0
fi
log "ensuring packages: $*"
missing_packages=""
for pkg in "$@"; do
if ! command -v "$pkg" >/dev/null 2>&1; then
if [ -n "$missing_packages" ]; then
missing_packages="$missing_packages $pkg"
else
missing_packages="$pkg"
fi
fi
done
if [ -n "$missing_packages" ]; then
log "installing $missing_packages"
set -- $missing_packages
apk add --no-cache "$@" >/dev/null 2>&1
else
log "all requested packages already available"
fi