#!/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