From: Prashant Kumar Jangid
Date: Wed, 11 Jan 2023 05:28:17 +0000 (+0530)
Subject: [TCT][Scripts][NonACR]Feature added to use latest rootstrap
X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=2a76370118f1aa4416d7935b91470e512fcb8e1e;p=test%2Ftct%2Fnative%2Fapi.git
[TCT][Scripts][NonACR]Feature added to use latest rootstrap
-If rootstrap.txt file is empty then use latest installed rootstrap in the system.
Change-Id: I54f30d70045c91946b0ab928057f4a4b7ba9337d
Signed-off-by: Prashant Kumar Jangid
(cherry picked from commit b8ba1a68f4712a10cfc7e701f007d0ce3587dd3a)
---
diff --git a/scripts_tpk/tpk_create.sh b/scripts_tpk/tpk_create.sh
index e20c10cb7..63af222c3 100755
--- a/scripts_tpk/tpk_create.sh
+++ b/scripts_tpk/tpk_create.sh
@@ -548,7 +548,32 @@ deploySourceFile() {
cd $2/../../../scripts_tpk
}
+getlatestrootstrap() {
+ SEARCH_PROFILE=$1
+ SEARCH_DEVICE=$2
+ SEARCH_VERSION=$3
+ if [ "$4" = "x86" ]; then
+ SEARCH_ARCHITECTURE="i586"
+ else
+ SEARCH_ARCHITECTURE=$4
+ fi
+ echo $yellow"Getting latest Rootstrap information"$reset
+ ROOTSTRAP_LIST=`tizen list rootstrap | grep "${SEARCH_PROFILE}" | grep "${SEARCH_DEVICE}" | grep "${SEARCH_VERSION}" | grep "${SEARCH_ARCHITECTURE}" | cut -f1 -d' '`
+ LATEST_DATE=""
+ EXISTING_ROOTSTRAP=""
+ ROOTSTRAP_STRING_ARRAY=($ROOTSTRAP_LIST)
+ for ROOTSTRAP_NAME in "${ROOTSTRAP_STRING_ARRAY[@]}";
+ do
+ DATE_STR="cut -d'.' -f5 <<<$ROOTSTRAP_NAME" #extracting date string from rootstrap name and finding the latest date and rootstrap
+ if [[ "$DATE_STR" > "$LATEST_DATE" ]] && [[ ! -z "$DATE_STR" ]]; then
+ LATEST_DATE=$DATE_STR
+ EXISTING_ROOTSTRAP=$ROOTSTRAP_NAME
+ fi
+ done
+ echo $bold$green$"Latest rootstrap is : $EXISTING_ROOTSTRAP"$reset
+
+}
checkRootstrap() {
ROOTSTRAP_TYPE=$1
PROFILE_TYPE=$2
@@ -556,7 +581,20 @@ checkRootstrap() {
CURRENT_VERSION=$4
if [ -z "$ROOTSTRAP_TYPE" ]; then
echo $yellow"rootstrap.txt file is empty."$reset
- EXISTING_ROOTSTRAP=`tizen list rootstrap | grep "${PROFILE_TYPE}" | grep "${DEVICE_TYPE}" | grep "${CURRENT_VERSION}" | cut -f1 -d' ' |grep -v "public"`
+ getlatestrootstrap $PROFILE_TYPE $DEVICE_TYPE $CURRENT_VERSION $ARCHITECTURE
+
+ if [ $PROFILE_TYPE=="mobile" ]; then
+ ROOTSTRAP_MOBILE=$EXISTING_ROOTSTRAP
+ fi
+ if [ $PROFILE_TYPE=="tv" ]; then
+ ROOTSTRAP_TV=$EXISTING_ROOTSTRAP
+ fi
+ if [ $PROFILE_TYPE=="wearable" ]; then
+ ROOTSTRAP_WEARABLE=$EXISTING_ROOTSTRAP
+ fi
+ if [ $PROFILE_TYPE=="tizeniot" ]; then
+ ROOTSTRAP_TIZENIOT=$EXISTING_ROOTSTRAP
+ fi
if [ -z "$EXISTING_ROOTSTRAP" ]; then
echo $red"Default rootstrap is not installed for ${CURRENT_VERSION} version"$reset
OPTIONAL_ROOTSTRAP=`tizen list rootstrap | grep "${PROFILE_TYPE}" | grep "${DEVICE_TYPE}" | grep "${CURRENT_VERSION}" | cut -f1 -d' ' |grep -i "public"`
@@ -723,15 +761,16 @@ echo "[APPLLICATION_PROFILE] : $APPLLICATION_PROFILE"
RunCommand "tizen create native-project -p $BUILD_PROFILE-6.0 -t $APPLLICATION_PROFILE -n $PROJECT_NAME -- $WORKSPACE_PATH" "Project creation $PROJECT_NAME"
deploySourceFile "$WORKSPACE_PATH/$PROJECT_NAME" "$SRC_DIRCTORY/$TESTCASE_TYPE/$MODULE_NAME" "$PROFILE_TYPE" "$PROJECT_NAME" "$TESTCASE_TYPE" "$MODULE_NAME"
+
#Checking rootstrap
if [ $PROFILE_TYPE == "mobile" ]; then
- checkRootstrap "$ROOTSTRAP_MOBILE" $PROFILE_TYPE $DEVICE_TYPE $CURRENT_VERSION
+ checkRootstrap "$ROOTSTRAP_MOBILE" $PROFILE_TYPE $DEVICE_TYPE $CURRENT_VERSION $ARCH_TYPE
elif [ $PROFILE_TYPE == "wearable" ]; then
- checkRootstrap "$ROOTSTRAP_WEARABLE" $PROFILE_TYPE $DEVICE_TYPE $CURRENT_VERSION
+ checkRootstrap "$ROOTSTRAP_WEARABLE" $PROFILE_TYPE $DEVICE_TYPE $CURRENT_VERSION $ARCH_TYPE
elif [ $PROFILE_TYPE == "tizeniot" ]; then
- checkRootstrap "$ROOTSTRAP_TIZENIOT" $PROFILE_TYPE $DEVICE_TYPE $CURRENT_VERSION
+ checkRootstrap "$ROOTSTRAP_TIZENIOT" $PROFILE_TYPE $DEVICE_TYPE $CURRENT_VERSION $ARCH_TYPE
elif [ $PROFILE_TYPE == "tv" ]; then
- checkRootstrap "$ROOTSTRAP_TV" $PROFILE_TYPE $DEVICE_TYPE $CURRENT_VERSION
+ checkRootstrap "$ROOTSTRAP_TV" $PROFILE_TYPE $DEVICE_TYPE $CURRENT_VERSION $ARCH_TYPE
fi
if [ $BUILD_PROFILE == "wearable" ]; then