#!/bin/bash ########################################################################### # Copyright 2017-2018 IoT.bzh # # author: Sebastien Douheret # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. ########################################################################### . $(dirname "$0")/_env-init.sh 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"