summary refs log blame commit diff
path: root/pkgs/build-support/setup-hooks/die.sh
blob: 0db41e030f4c219c79e06cc06e19d3ff42c53076 (plain) (tree)




















                                                                        
# Exit with backtrace and error message
#
# Usage: die "Error message"
die() {
    # Let us be a little sloppy with errors, because otherwise the final
    # invocation of `caller` below will cause the script to exit.
    set +e

    # Print our error message
    printf "\nBuilder called die: %b\n" "$*"
    printf "Backtrace:\n"

    # Print a backtrace.
    local frame=0
    while caller $frame; do
        ((frame++));
    done
    printf "\n"

    exit 1
}