Fixed sdk from local file installation
[src/xds/xds-server.git] / scripts / sdks / agl / get-sdk-info
index 8840bf0..485d5fe 100755 (executable)
@@ -27,6 +27,7 @@ usage() {
 SDK_FILE=""
 MD5VAL=""
 URL=""
+UUID=""
 
 while [ $# -ne 0 ]; do
     case $1 in
@@ -45,6 +46,10 @@ while [ $# -ne 0 ]; do
             shift
             URL=$1
             ;;
+        --uuid)
+            shift
+            UUID=$1
+            ;;
         *)
             echo "Invalid argument: $1"
             usage
@@ -113,15 +118,27 @@ fi
 profile=$(echo "${filename}" | sed -r 's/(.*)-glibc.*/\1/')
 version=$(echo "${filename}" | sed -r 's/.*toolchain-(.*).sh/\1/')
 arch=$(echo "${filename}" | sed -r 's/.*crosssdk-(.*)-toolchain.*/\1/')
+installPath=${SDK_ROOT_DIR}/${profile}/${version}/${arch}
 
 [ "${profile}" = "" ] && { echo "profile not set"; exit 7; }
 [ "${version}" = "" ] && { echo "version not set"; exit 8; }
 [ "${arch}" = "" ] && { echo " arch not set"; exit 9; }
 
 # Define a unique ID to be able to distinguish for example corei7-64 from qemux86-64
-uuid=$(echo "${sdkUrl}" | md5sum |cut -d' ' -f1)
-
-installPath=${SDK_ROOT_DIR}/${profile}/${version}/${arch}/${uuid}
+if [ "${UUID}" = "" ]; then
+    curInstDir=$(ls -d "${installPath}/*" 2> /dev/null)
+    if [ -d "${curInstDir}" ]; then
+        UUID="basename ${curInstDir}"
+    elif [ "$URL" != "" ]; then
+        UUID=$(echo "$URL" | md5sum |cut -d' ' -f1)
+    elif [ "$filename" != "" ]; then
+        UUID=$(echo $(basename $filename) | md5sum |cut -d' ' -f1)
+    else
+        echo "UUID value must be specify using --uuid option."
+        exit 1
+    fi
+fi
+installPath="${installPath}/${UUID}"
 
 status="Not Installed"
 if [ -d "${installPath}" ]; then
@@ -132,6 +149,7 @@ fi
 read -r -d '' res <<- EndOfMessage
 {
     "name":         "${profile}_${arch}_${version}",
+    "uuid":         "${UUID}",
     "description":  "AGL SDK ${arch} (version ${version})",
     "profile":      "${profile}",
     "version":      "${version}",