Unverified Commit daa4dad5 authored by Kroese's avatar Kroese Committed by GitHub
Browse files

Better error handling

Better error handling
parents 8f053a8e ce1e1dea
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
#!/usr/bin/env bash
set -eu
set -Eeuo pipefail

# Docker environment variables

+2 −2
Original line number Diff line number Diff line
#!/usr/bin/env bash
set -eu
set -Eeuo pipefail

# Display wait message on port 5000
HTML="Please wait while Virtual DSM is installing...<script>\
@@ -47,7 +47,7 @@ if [ "$SUM" != "14fb88cb7cabddb5af1d0269bf032845" ]; then
fi

set +e
xz -dc <"$RD" >"$TMP/rd" 2>/dev/null
xz -dc <"$RD" >"$TMP/rd" 2>/dev/null || true
(cd "$TMP" && cpio -idm <"$TMP/rd" 2>/dev/null)
set -e

+3 −3
Original line number Diff line number Diff line
#!/usr/bin/env bash
set -eu
set -Eeuo pipefail

# Docker environment variables

@@ -155,8 +155,8 @@ configureNAT () {
    echo "/etc/resolv.conf:" && echo && cat /etc/resolv.conf && echo
  fi

  mapfile -t nameservers < <(grep '^nameserver' /etc/resolv.conf | sed 's/\t/ /g' | sed 's/nameserver //' | sed 's/ //g')
  searchdomains=$(grep '^search' /etc/resolv.conf | sed 's/\t/ /g' | sed 's/search //' | sed 's/#.*//' | sed 's/\s*$//g' | sed 's/ /,/g')
  mapfile -t nameservers < <( { grep '^nameserver' /etc/resolv.conf || true; } | sed 's/\t/ /g' | sed 's/nameserver //' | sed 's/ //g')
  searchdomains=$( { grep '^search' /etc/resolv.conf || true; } | sed 's/\t/ /g' | sed 's/search //' | sed 's/#.*//' | sed 's/\s*$//g' | sed 's/ /,/g')
  domainname=$(echo "$searchdomains" | awk -F"," '{print $1}')

  for nameserver in "${nameservers[@]}"; do
+1 −1
Original line number Diff line number Diff line
#!/usr/bin/env bash
set -eu
set -Eeuo pipefail

# Configure QEMU for graceful shutdown

+2 −3
Original line number Diff line number Diff line
#!/usr/bin/env bash
set -eu
set -Eeuo pipefail

# Docker environment variables

@@ -15,8 +15,7 @@ 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
trap 'echo >&2 "Error status $? for: ${BASH_COMMAND} (line $LINENO/$BASH_LINENO)"' ERR

[ ! -d "$STORAGE" ] && echo "Storage folder (${STORAGE}) not found!" && exit 69
[ ! -f "/run/run.sh" ] && echo "Script must run inside Docker container!" && exit 60
Loading