build_inf_prepare_jenkins: fix the dir creation
[pti/rtp.git] / scripts / build_inf_yocto / build_inf_yocto.sh
index cdfa5f4..e28f6f7 100755 (executable)
@@ -210,9 +210,10 @@ DRYRUN=""
 EXTRA_CONF=""
 SKIP_UPDATE="Yes"
 RM_WORK="Yes"
+GET_SSTATE="No"
 BSP="intel-corei7-64"
 
-while getopts "w:b:e:r:unh" OPTION; do
+while getopts "w:b:e:r:unsh" OPTION; do
     case ${OPTION} in
         w)
             WORKSPACE=`readlink -f ${OPTARG}`
@@ -232,6 +233,9 @@ while getopts "w:b:e:r:unh" OPTION; do
         r)
             check_yn_rm_work ${OPTARG}
             ;;
+        s)
+            GET_SSTATE="Yes"
+           ;;
         h)
             help_info
             exit
@@ -276,8 +280,10 @@ ISO_ANACONDA=${PRJ_BUILD_DIR_ANACONDA}/tmp-glibc/deploy/images/${BSP}/${IMG_ANAC
 ISO_INF=${PRJ_BUILD_DIR_ANACONDA}/tmp-glibc/deploy/images/${BSP}/${IMG_INF}-${BSP}.iso
 ISO_INF_ALIAS=${PRJ_OUTPUT_DIR}/inf-image-yocto-aio-${IMG_ARCH}.iso
 
+SSTATE_CONTAINER_IMG=infbuilder/inf-yocto-sstate:2022.05
+
 prepare_workspace () {
-    msg_step="Create workspace for the build"
+    msg_step="Create workspace for the Yocto build"
     echo_step_start
 
     mkdir -p ${PRJ_BUILD_DIR} ${SRC_ORAN_DIR} ${PRJ_BUILD_DIR_ANACONDA} \
@@ -291,6 +297,23 @@ prepare_workspace () {
     echo_step_end
 }
 
+# This is tend to be used for CI Jenkins build only
+get_sstate () {
+    msg_step="Get sstate cache from dockerhub image"
+    echo_step_start
+
+    for i in {1..5}; do
+        docker pull ${SSTATE_CONTAINER_IMG}-${i}
+        docker create -ti --name inf-yocto-sstate-${i} ${SSTATE_CONTAINER_IMG}-${i} sh
+        docker cp inf-yocto-sstate-${i}:/sstate${i} ${PRJ_SHARED_SS_DIR}/sstate${i}
+        docker rm inf-yocto-sstate-${i}
+    done
+    mv ${PRJ_SHARED_SS_DIR}/sstate*/* ${PRJ_SHARED_SS_DIR}
+    #rm -rf ${PRJ_SHARED_SS_DIR}/sstate*
+
+    echo_step_end
+}
+
 prepare_src () {
     msg_step="Get the source code repos"
     echo_step_start
@@ -530,7 +553,7 @@ build_anaconda_image () {
 
     if [ -z "${DRYRUN}" ]; then
         cp -Pf ${ISO_ANACONDA} ${ISO_INF}
-        cp -Pf ${ISO_ANACONDA} ${ISO_INF_ALIAS}
+        cp -f ${ISO_ANACONDA} ${ISO_INF_ALIAS}
     fi
 
     echo_step_end
@@ -543,6 +566,9 @@ build_anaconda_image () {
 #########################################################################
 
 prepare_workspace
+if [ "${GET_SSTATE}" == "Yes" ]; then
+    get_sstate
+fi
 prepare_src
 setup_stx_build
 setup_anaconda_build