X-Git-Url: https://gerrit.automotivelinux.org/gerrit/gitweb?a=blobdiff_plain;f=scripts%2Fsdks%2Fagl%2Fdb-update;h=a1f949e6336da5bc2befb37c40f1175c897af6aa;hb=8e18650d881cbf3d7016e10442e34096d7cca127;hp=a222db978dd646903af1ec743b9f73d9f2657938;hpb=1a8b7603899f30f052ad123b7607b45a6d4c8772;p=src%2Fxds%2Fxds-server.git diff --git a/scripts/sdks/agl/db-update b/scripts/sdks/agl/db-update index a222db9..a1f949e 100755 --- a/scripts/sdks/agl/db-update +++ b/scripts/sdks/agl/db-update @@ -1,6 +1,6 @@ #!/bin/bash ########################################################################### -# Copyright 2017 IoT.bzh +# Copyright 2017-2018 IoT.bzh # # author: Sebastien Douheret # @@ -19,4 +19,33 @@ . $(dirname "$0")/_env-init.sh -wget -q --connect-timeout=30 ${SDK_DATABASE} -O $1 +sdksDBFile=${1} + +[ "${sdksDBFile}" = "" ] && sdksDBFile=${SDK_ROOT_DIR}/sdks_latest.json + +# 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 +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"