constellation/bazel/mkosi/mkosi_wrapper.sh.in

43 lines
1.1 KiB
Bash

#!/usr/bin/env bash
set -euo pipefail
shopt -s inherit_errexit
export PATH=/run/wrappers/bin:/run/current-system/sw/bin:/bin:/usr/bin:/usr/local/bin
VERSION_ARG=""
args=()
while [[ $# -gt 0 ]]; do
key="$1"
case $key in
--*-tree | --initrd | --package-directory | --output-dir)
# absolutize any file paths
shift # past the key and to the value
value="$1"
args+=("${key}" "$(realpath "${value}")")
shift # past the value
;;
*)
args+=("$1")
shift
;;
esac
done
if [[ -n ${VERSION_FILE+x} ]]; then
VERSION_ARG="--environment=IMAGE_VERSION=$(cat "${VERSION_FILE}")"
args+=("$VERSION_ARG")
fi
if [[ -n ${LOCAL_MIRROR+x} ]]; then
LOCAL_MIRROR=$(realpath "${LOCAL_MIRROR}")
reposdir=$(mktemp -d)
# putting an empty repo file under /etc/yum.repos.d/mkosi.repo
# will make mkosi use only package directories
# and not try to fetch packages from the network
touch "${reposdir}/mkosi.repo"
args+=("--package-manager-tree=${reposdir}:/etc/yum.repos.d")
args+=("--package-directory" "${LOCAL_MIRROR}")
fi
exec @@MKOSI@@ "${args[@]}" build