feature(helpers): add exit codes to update script
This commit is contained in:
parent
16f302c3fd
commit
f7a6d924d9
@ -10,7 +10,7 @@
|
|||||||
# functions
|
# functions
|
||||||
errMsg() {
|
errMsg() {
|
||||||
printf "\n%s%s%s\n\n" "$err" "$1" "$norm"
|
printf "\n%s%s%s\n\n" "$err" "$1" "$norm"
|
||||||
exit 1
|
[ -n "$2" ] && exit "$2" || exit 1
|
||||||
}
|
}
|
||||||
|
|
||||||
errNotify() {
|
errNotify() {
|
||||||
@ -136,19 +136,19 @@ done
|
|||||||
if [ "$doDockerUpdate" -eq 1 ]; then
|
if [ "$doDockerUpdate" -eq 1 ]; then
|
||||||
# check if docker is installed
|
# check if docker is installed
|
||||||
if ! command -v docker >/dev/null 2>&1; then
|
if ! command -v docker >/dev/null 2>&1; then
|
||||||
errMsg "Sorry, it appears that docker is not installed on this machine! Exiting."
|
errMsg "Sorry, it appears that docker is not installed on this machine! Exiting." 2
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# is user root or in the docker group?
|
# is user root or in the docker group?
|
||||||
if [ ! "$(id -u)" -eq 0 ]; then
|
if [ ! "$(id -u)" -eq 0 ]; then
|
||||||
if ! id -Gn | grep docker >/dev/null; then
|
if ! id -Gn | grep docker >/dev/null; then
|
||||||
errMsg "You must either be root or in the 'docker' group to pull container updates."
|
errMsg "You must either be root or in the 'docker' group to pull container updates." 2
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
|
|
||||||
printf "%s\n*** Updating %s container ***\n\n%s" "$info" "$containerName" "$norm"
|
printf "%s\n*** Updating %s container ***\n\n%s" "$info" "$containerName" "$norm"
|
||||||
if ! docker pull "$containerUpdatePath"; then
|
if ! docker pull "$containerUpdatePath"; then
|
||||||
errMsg "There was an error updating the container. Try again later."
|
errMsg "There was an error updating the container. Try again later." 31
|
||||||
else
|
else
|
||||||
okMsg "Container updated!"
|
okMsg "Container updated!"
|
||||||
fi
|
fi
|
||||||
@ -163,7 +163,7 @@ if [ "$doScriptUpdate" -eq 1 ]; then
|
|||||||
printf "Getting latest checksums... "
|
printf "Getting latest checksums... "
|
||||||
if ! wget --quiet --tries=3 --timeout=10 -N "${server}${checksumFilename}"; then
|
if ! wget --quiet --tries=3 --timeout=10 -N "${server}${checksumFilename}"; then
|
||||||
errNotify
|
errNotify
|
||||||
errMsg "Unable to download checksums. Try again later."
|
errMsg "Unable to download checksums. Try again later." 41
|
||||||
else
|
else
|
||||||
okNotify
|
okNotify
|
||||||
fi
|
fi
|
||||||
@ -182,7 +182,7 @@ if [ "$doScriptUpdate" -eq 1 ]; then
|
|||||||
errNotify
|
errNotify
|
||||||
# delete failed download as necessary
|
# delete failed download as necessary
|
||||||
rm -f ./update.sh.tmp 2>/dev/null
|
rm -f ./update.sh.tmp 2>/dev/null
|
||||||
errMsg "Unable to download script update. Try again later."
|
errMsg "Unable to download script update. Try again later." 42
|
||||||
else
|
else
|
||||||
# verify download
|
# verify download
|
||||||
dlScriptChecksum=$(sha256sum "update.sh.tmp" | grep -o '^\S*')
|
dlScriptChecksum=$(sha256sum "update.sh.tmp" | grep -o '^\S*')
|
||||||
@ -190,7 +190,7 @@ if [ "$doScriptUpdate" -eq 1 ]; then
|
|||||||
printf "[ERROR]\n"
|
printf "[ERROR]\n"
|
||||||
# delete corrupt download as necessary
|
# delete corrupt download as necessary
|
||||||
rm -f ./update.sh.tmp 2>/dev/null
|
rm -f ./update.sh.tmp 2>/dev/null
|
||||||
errMsg "Checksum mismatch! Try again later."
|
errMsg "Checksum mismatch! Try again later." 42
|
||||||
else
|
else
|
||||||
okNotify
|
okNotify
|
||||||
printf "\n%s*** This script has been updated. Please re-run it to load the updated version of this file. ***%s\n\n" "$warn" "$norm"
|
printf "\n%s*** This script has been updated. Please re-run it to load the updated version of this file. ***%s\n\n" "$warn" "$norm"
|
||||||
@ -255,4 +255,29 @@ if [ "$doScriptUpdate" -eq 1 ]; then
|
|||||||
printf "\tUpdates: %s%s applied%s, %s%s failed%s\n" "$ok" "$updateSuccess" "$norm" "$err" "$updateFailed" "$norm"
|
printf "\tUpdates: %s%s applied%s, %s%s failed%s\n" "$ok" "$updateSuccess" "$norm" "$err" "$updateFailed" "$norm"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
#
|
||||||
|
# exit
|
||||||
|
if [ "$downloadFailed" -gt 0 ]; then
|
||||||
|
exit 43
|
||||||
|
elif [ "$updateFailed" -gt 0 ]; then
|
||||||
|
exit 44
|
||||||
|
else
|
||||||
exit 0
|
exit 0
|
||||||
|
fi
|
||||||
|
# this is a trap for mis-coding... should never get an exit code 99!
|
||||||
|
exit 99
|
||||||
|
|
||||||
|
#
|
||||||
|
# exit return codes
|
||||||
|
# 0: normal exit, no errors
|
||||||
|
# 1: missing or invalid parameter
|
||||||
|
# 2: docker not found or no docker permissions
|
||||||
|
# 31: unable to update docker container
|
||||||
|
# 4x: helper files errors
|
||||||
|
# 41: unable to download checksums
|
||||||
|
# 42: update script: unable to download or bad checksum
|
||||||
|
# 43: update helpers: unable to download
|
||||||
|
# 44: update helpers: bad checksum, no update
|
||||||
|
# 99: coding mistake trap -- this return code should never happen!
|
||||||
|
|
||||||
|
#EOF
|
||||||
|
Loading…
Reference in New Issue
Block a user