X-Git-Url: https://gerrit.automotivelinux.org/gerrit/gitweb?a=blobdiff_plain;f=scripts%2Fsdks%2Fagl%2Fadd;h=f602fa9fec7f9fc8e5d4df1ceb0549c963a633b3;hb=8e18650d881cbf3d7016e10442e34096d7cca127;hp=e9a9fd175b4b6255ba2a0e23f12aa1f8cbe55f69;hpb=f2eecfb601acc6c67fb52bf2edda93505bc44da5;p=src%2Fxds%2Fxds-server.git diff --git a/scripts/sdks/agl/add b/scripts/sdks/agl/add index e9a9fd1..f602fa9 100755 --- a/scripts/sdks/agl/add +++ b/scripts/sdks/agl/add @@ -17,7 +17,8 @@ # limitations under the License. ########################################################################### -. $(dirname "$0")/_env-init.sh +SCRIPTS_DIR=$(cd $(dirname "$0") && pwd) +. ${SCRIPTS_DIR}/_env-init.sh usage() { echo "Usage: $(basename $0) [-h|--help] [-f|--file ] [-u|--url ] [--force] [--no-clean]" @@ -27,10 +28,16 @@ usage() { TMPDIR="" SDK_FILE="" URL="" +DEBUG_OPT="" +UUID="" do_cleanup=true do_force=false while [ $# -ne 0 ]; do case $1 in + --debug) + set -x + DEBUG_OPT="-D" + ;; -f|--file) shift SDK_FILE=$1 @@ -42,6 +49,10 @@ while [ $# -ne 0 ]; do shift URL=$1 ;; + --uuid) + shift + UUID=$1 + ;; -no-clean) do_cleanup=false ;; @@ -59,8 +70,8 @@ done [ "$SDK_FILE" = "" ] && [ "$URL" = "" ] && { echo "--file or --url option must be set"; exit 1; } # Create SDK root dir if needed -[ ! -d ${SDK_ROOT_DIR} ] && mkdir -p ${SDK_ROOT_DIR} -cd ${SDK_ROOT_DIR} || exit 1 +[ ! -d "${SDK_ROOT_DIR}" ] && mkdir -p "${SDK_ROOT_DIR}" +cd "${SDK_ROOT_DIR}" || exit 1 # Cleanup trap "cleanExit" 0 1 2 15 @@ -74,30 +85,43 @@ cleanExit () # Download sdk if [ "$URL" != "" ]; then TMPDIR=$(mktemp -d) - SDK_FILE=${TMPDIR}/$(basename ${URL}) - echo "Downloading $(basename ${SDK_FILE}) ..." + SDK_FILE=${TMPDIR}/$(basename "${URL}") + echo "Downloading $(basename "${SDK_FILE}") ..." wget --no-check-certificate "$URL" -O "${SDK_FILE}" || exit 1 fi -# Retreive default install dir to extract version -offset=$(grep -na -m1 "^MARKER:$" "${SDK_FILE}" | cut -d':' -f1) -eval $(head -n $offset "${SDK_FILE}" | grep ^DEFAULT_INSTALL_DIR= ) +# Compute uuid when needed +if [ "$UUID" = "" ] && [ "$URL" != "" ]; then + UUID=$(echo "$URL" | md5sum |cut -d' ' -f1) +elif [ "$SDK_FILE" != "" ]; then + UUID=$(echo $(basename $SDK_FILE) | md5sum |cut -d' ' -f1) +else + echo "UUID value must be specify using --uuid option." + exit 1 +fi -PROFILE=$(basename $(dirname $DEFAULT_INSTALL_DIR)) -VERSION=$(basename $DEFAULT_INSTALL_DIR) -ARCH=$(echo "$SDK_FILE" | sed -r 's/.*crosssdk-(.*)-toolchain.*/\1/') +# Retreive SDK info +sdkNfo=$(${SCRIPTS_DIR}/get-sdk-info --file "${SDK_FILE}" --uuid "${UUID}") +if [ "$?" != "0" ]; then + echo "$sdkNfo" + exit 1 +fi + +PROFILE=$(echo "$sdkNfo" |grep -Eo '"profile"[^,]*' |cut -d'"' -f4) +VERSION=$(echo "$sdkNfo" |grep -Eo '"version"[^,]*' |cut -d'"' -f4) +ARCH=$(echo "$sdkNfo" |grep -Eo '"arch"[^,]*' |cut -d'"' -f4) +DESTDIR=$(echo "$sdkNfo" |grep -Eo '"path"[^,]*' |cut -d'"' -f4) [ "$PROFILE" = "" ] && { echo "PROFILE is not set"; exit 1; } [ "$VERSION" = "" ] && { echo "VERSION is not set"; exit 1; } [ "$ARCH" = "" ] && { echo "ARCH is not set"; exit 1; } +[ "$DESTDIR" = "" ] && { echo "DESTDIR (path) is not set"; exit 1; } -DESTDIR=${SDK_ROOT_DIR}/${PROFILE}/${VERSION}/${ARCH} - -[ -d ${DESTDIR} ] && [ "$do_force" != "true" ] && { echo "SDK already installed in $DESTDIR"; exit 1; } +[ -d "${DESTDIR}" ] && [ "$do_force" != "true" ] && { echo "SDK already installed in $DESTDIR"; exit 1; } # Cleanup previous install -rm -rf ${DESTDIR} && mkdir -p ${DESTDIR} || exit 1 +rm -rf "${DESTDIR}" && mkdir -p "${DESTDIR}" || exit 1 # Install sdk -chmod +x ${SDK_FILE} -${SDK_FILE} -y -d ${DESTDIR} +chmod +x "${SDK_FILE}" +${SDK_FILE} ${DEBUG_OPT} -y -d "${DESTDIR}" 2>&1