#!/usr/bin/env sh # SPDX-License-Identifier: GPL-3.0-or-later # Copyright (c) 2014-2015,2020-2024 Leah Rowe # Copyright (c) 2015 Patrick "P. J." McDermott # Copyright (c) 2015-2016 Klemens Nanni # Copyright (c) 2022 Caleb La Grange set -u -e if [ "./${0##*/}" != "${0}" ] || [ ! -f "build" ] || [ -L "build" ]; then printf "You must run this in the proper work directory.\n" 1>&2 exit 1 fi . "include/lib.sh" . "include/vendor.sh" . "include/mrc.sh" err="fail" main() { [ $# -lt 1 ] && $err "bad command" spath="script/$1"; shift 1 [ "${spath#script/}" = "download" ] && vendor_download $@ && return 0 [ -f "$spath" ] || $err "bad command" "$spath" $@ || $err "excmd: $spath $(echo "$@")"; set -u -e } fail() { tmp_cleanup || printf "WARNING: can't rm tmpfiles: %s\n" "$TMPDIR" 1>&2 err_ "${1}" } tmp_cleanup() { [ "$xbmk_parent" = "y" ] || return 0 [ "$TMPDIR" = "/tmp" ] || rm -Rf "$TMPDIR" || return 1 rm -f lock || return 1 } main $@ tmp_cleanup || err_ "can't rm TMPDIR upon non-zero exit: $TMPDIR"