diff --git a/run/install.sh b/run/install.sh index 3f0cf90..a5d8514 100644 --- a/run/install.sh +++ b/run/install.sh @@ -213,4 +213,4 @@ rm -rf "$TMP" { set +x; } 2>/dev/null [ "$DEBUG" = "Y" ] && echo -exit 0 +return 0 diff --git a/run/network.sh b/run/network.sh index 2f75188..77856d3 100644 --- a/run/network.sh +++ b/run/network.sh @@ -247,4 +247,4 @@ fi [ "$DEBUG" = "Y" ] && echo && echo "Finished network setup.." && echo -exit 0 +return 0 diff --git a/run/run.sh b/run/run.sh index 7efac0f..777ab08 100755 --- a/run/run.sh +++ b/run/run.sh @@ -15,6 +15,9 @@ echo "Starting Virtual DSM for Docker v${VERSION}..." STORAGE="/storage" KERNEL=$(uname -r | cut -b 1) +trap 'echo >&2 "Error - exited with status $? at line $LINENO:"; + pr -tn $0 | tail -n+$((LINENO - 3)) | head -n7 >&2' ERR + [ ! -d "$STORAGE" ] && echo "Storage folder (${STORAGE}) not found!" && exit 69 [ ! -f "/run/run.sh" ] && echo "Script must run inside Docker container!" && exit 60 @@ -72,6 +75,8 @@ EXTRA_OPTS="$EXTRA_OPTS -device virtio-rng-pci,rng=objrng0,id=rng0,bus=pcie.0,ad ARGS="${DEF_OPTS} ${CPU_OPTS} ${RAM_OPTS} ${MAC_OPTS} ${MON_OPTS} ${SERIAL_OPTS} ${NET_OPTS} ${DISK_OPTS} ${EXTRA_OPTS}" ARGS=$(echo "$ARGS" | sed 's/\t/ /g' | tr -s ' ') +trap - ERR + set -m ( [ "$DEBUG" = "Y" ] && set -x