X-Git-Url: https://gerrit.automotivelinux.org/gerrit/gitweb?a=blobdiff_plain;f=scripts%2Fxds-utils%2Finstall-agl-sdks.sh;h=36849f976fee5b1d7b795f271a1ca2bc008b1bfc;hb=acdff5a1bc9028bd79eeba16d507ea4c652b4185;hp=8edac2d3100291b1f4f95f0d79a3a10c88688c1a;hpb=472d4b34027f37b05f10d5558d28d6c6bca74ff2;p=src%2Fxds%2Fxds-server.git diff --git a/scripts/xds-utils/install-agl-sdks.sh b/scripts/xds-utils/install-agl-sdks.sh index 8edac2d..36849f9 100755 --- a/scripts/xds-utils/install-agl-sdks.sh +++ b/scripts/xds-utils/install-agl-sdks.sh @@ -11,7 +11,7 @@ PROFILE="poky-agl" SDKS=$(curl -s ${SDK_BASEURL} | grep -oP 'href="[^"]*.sh"' | cut -d '"' -f 2) usage() { - echo "Usage: $(basename $0) [-h|--help] [-noclean] [-a|--arch ] [-l|--list]" + echo "Usage: $(basename $0) [-h|--help] [-clean] [-f|--file ] [-a|--arch ] [-l|--list]" echo "For example, arch name is: aarch64, armv7vehf or x86-64" exit 1 } @@ -29,7 +29,7 @@ getFile() { return 1 } -do_cleanup=true +do_cleanup=false FILE="" ARCH="" while [ $# -ne 0 ]; do @@ -37,21 +37,21 @@ while [ $# -ne 0 ]; do -h|--help|"") usage ;; + -f|--file) + shift + FILE=$1 + ;; -a|--arch) shift ARCH=$1 - FILE=$(getFile $ARCH) - if [ "$?" != 0 ]; then - exit 1 - fi ;; -l|--list) echo "Available SDKs tarballs:" for sdk in $SDKS; do echo " $sdk"; done exit 0 ;; - -noclean) - do_cleanup=false + -clean) + do_cleanup=true ;; *) echo "Invalid argument: $1" @@ -61,15 +61,34 @@ while [ $# -ne 0 ]; do shift done +[ ! -d ${XDT_SDK} ] && mkdir -p ${XDT_SDK} + if [ "$FILE" = "" ]; then - echo "Option -a|--arch must be set" - usage + FILE=$(getFile $ARCH) + SDK_FILE=${XDT_SDK}/${FILE} + if [ "$?" != 0 ]; then + exit 1 + fi +elif [ ! -f $FILE ]; then + echo "SDK file not found: $FILE" + exit 1 +else + DIR=$(cd $(dirname $FILE); pwd) + SDK_FILE=${DIR}/${FILE} fi + if [ "$ARCH" = "" ]; then - echo "Unsupport architecture name !" + echo "Option -a|--arch must be set" usage fi +# Check that ARCH name matching SDK tarball filename +echo "$FILE" | grep "$ARCH" > /dev/null 2>&1 +if [ "$?" = "1" ]; then + echo "ARCH and provided filename doesn't match !" + exit 1 +fi + cd ${XDT_SDK} || exit 1 # Cleanup @@ -77,25 +96,29 @@ trap "cleanExit" 0 1 2 15 cleanExit () { if ($do_cleanup); then - [[ -f ${XDT_SDK}/${FILE} ]] && rm -f ${XDT_SDK}/${FILE} + [[ -f ${SDK_FILE} ]] && rm -f ${SDK_FILE} fi } # Get SDK installer -if [ ! -f $FILE ]; then - wget "$SDK_BASEURL/$FILE" -O ${XDT_SDK}/${FILE} || exit 1 +if [ ! -f ${SDK_FILE} ]; then + do_cleanup=true + wget "$SDK_BASEURL/$FILE" -O ${SDK_FILE} || exit 1 fi # Retreive default install dir to extract version -offset=$(grep -na -m1 "^MARKER:$" $FILE | cut -d':' -f1) -eval $(head -n $offset $FILE | grep ^DEFAULT_INSTALL_DIR= ) +offset=$(grep -na -m1 "^MARKER:$" ${SDK_FILE} | cut -d':' -f1) +eval $(head -n $offset ${SDK_FILE} | grep ^DEFAULT_INSTALL_DIR= ) VERSION=$(basename $DEFAULT_INSTALL_DIR) +[ "$PROFILE" = "" ] && { echo "PROFILE is not set"; exit 1; } +[ "$VERSION" = "" ] && { echo "VERSION is not set"; exit 1; } + DESTDIR=${XDT_SDK}/${PROFILE}/${VERSION}/${ARCH} # Cleanup previous install rm -rf ${DESTDIR} && mkdir -p ${DESTDIR} || exit 1 # Install sdk -chmod +x ${XDT_SDK}/${FILE} -${XDT_SDK}/${FILE} -y -d ${DESTDIR} +chmod +x ${SDK_FILE} +${SDK_FILE} -y -d ${DESTDIR}