X-Git-Url: https://gerrit.automotivelinux.org/gerrit/gitweb?a=blobdiff_plain;f=scripts%2Fsdks%2Fagl%2Fdb-update;h=a1f949e6336da5bc2befb37c40f1175c897af6aa;hb=607fa1dcb03e482415cf70a50fcd094c8bd88c9d;hp=68bd26afe5f232b6de39cea7b6962a61c989c763;hpb=889325999e1755b57631d380a048b365ea26fc37;p=src%2Fxds%2Fxds-server.git diff --git a/scripts/sdks/agl/db-update b/scripts/sdks/agl/db-update index 68bd26a..a1f949e 100755 --- a/scripts/sdks/agl/db-update +++ b/scripts/sdks/agl/db-update @@ -23,12 +23,29 @@ sdksDBFile=${1} [ "${sdksDBFile}" = "" ] && sdksDBFile=${SDK_ROOT_DIR}/sdks_latest.json -# Backup previous file -[ -f "${sdksDBFile}" ] && mv "${sdksDBFile}" "${sdksDBFile}.old" +# Restore previous file on error +exitCode=0 +trap "OnExit" 0 1 2 15 +OnExit () +{ + if [ "${exitCode}" != "0" ] && [ -f "${sdksDBFile}.old" ]; then + echo "Error detected, restore previous database version" + mv "${sdksDBFile}.old" "${sdksDBFile}" + fi +} # Create destination directory when needed instDir=$(dirname "${sdksDBFile}") [ ! -d "${instDir}" ] && mkdir -p "${instDir}" # Get database -wget -q --connect-timeout=30 "${SDK_DATABASE}" -O "${sdksDBFile}" +echo "Updating AGL SDK database..." +wget --no-verbose --connect-timeout=30 "${SDK_DATABASE}" -O "${sdksDBFile}.new" || exit $? + +# Backup previous file +[ -f "${sdksDBFile}" ] && cp -f "${sdksDBFile}" "${sdksDBFile}.old" + +mv --update "${sdksDBFile}.new" "${sdksDBFile}" +[ -f "${sdksDBFile}.new" ] && rm -f "${sdksDBFile}.new" + +echo "Done: AGL SDK database is up-to-date"