X-Git-Url: https://gerrit.o-ran-sc.org/r/gitweb?a=blobdiff_plain;ds=sidebyside;f=scripts%2Fbuild_inf_yocto%2Fbuild_inf_yocto.sh;h=e28f6f73eebf6b11fb1eaa21908a7df9b256e692;hb=refs%2Fchanges%2F57%2F8357%2F1;hp=cdfa5f4173f3a54b490e87b4dc198139dd1840c9;hpb=7fdcdb16c5fd45ad077cf0dffdd99f34cadcbdd4;p=pti%2Frtp.git diff --git a/scripts/build_inf_yocto/build_inf_yocto.sh b/scripts/build_inf_yocto/build_inf_yocto.sh index cdfa5f4..e28f6f7 100755 --- a/scripts/build_inf_yocto/build_inf_yocto.sh +++ b/scripts/build_inf_yocto/build_inf_yocto.sh @@ -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