Fixed sdk uuid setting during install [SPEC-1377]
[src/xds/xds-server.git] / scripts / sdks / agl / db-update
index 68bd26a..a1f949e 100755 (executable)
@@ -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"