X-Git-Url: https://gerrit.automotivelinux.org/gerrit/gitweb?a=blobdiff_plain;f=scripts%2Fsdks%2Fagl%2Fdb-update;h=a1f949e6336da5bc2befb37c40f1175c897af6aa;hb=607fa1dcb03e482415cf70a50fcd094c8bd88c9d;hp=4f8d933d58ba7c79df52ae9ed18928f967946e7d;hpb=4119f6ebcabfb4285fb2456f10461cee57c6560a;p=src%2Fxds%2Fxds-server.git diff --git a/scripts/sdks/agl/db-update b/scripts/sdks/agl/db-update index 4f8d933..a1f949e 100755 --- a/scripts/sdks/agl/db-update +++ b/scripts/sdks/agl/db-update @@ -23,6 +23,29 @@ sdksDBFile=${1} [ "${sdksDBFile}" = "" ] && sdksDBFile=${SDK_ROOT_DIR}/sdks_latest.json -[ -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 +} -wget -q --connect-timeout=30 "${SDK_DATABASE}" -O "${sdksDBFile}" +# Create destination directory when needed +instDir=$(dirname "${sdksDBFile}") +[ ! -d "${instDir}" ] && mkdir -p "${instDir}" + +# Get database +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"