From 59a333e0d033b9153d524c01c81e4ccf59aeebe3 Mon Sep 17 00:00:00 2001
From: guowenxue <guowenxue@gmail.com>
Date: Thu, 06 Oct 2022 17:04:29 +0800
Subject: [PATCH] update yocto build shell script

---
 yocto/build.sh |   49 ++++++++++++++++++++++++++-----------------------
 1 files changed, 26 insertions(+), 23 deletions(-)

diff --git a/yocto/build.sh b/yocto/build.sh
index 9df38ab..b950653 100755
--- a/yocto/build.sh
+++ b/yocto/build.sh
@@ -8,12 +8,12 @@
 #PACKDIR=${HOME}/yocto/yocto_packets
 BUILDIR=$BOARD
 
-WORKDIR=`pwd`/workspace-${VERSION}
-YOCTO_SRC=imx-yocto-bsp
-PRJ_PATH=${WORKDIR}/${YOCTO_SRC}
+PRJ_PATH=`pwd`
+WORKDIR=${PRJ_PATH}/workspace-${VERSION}
 
 SRV_URL=http://weike-iot.com:2211/yocto/
-YOCTO_TAR=${YOCTO_SRC}-${VERSION}.tar.xz
+#SRV_URL=http://127.0.0.1:2211/yocto/
+YOCTO_TAR=imx-yocto-bsp-${VERSION}.tar.xz
 
 set -e
 
@@ -73,57 +73,63 @@
 
 function do_fetch()
 {
-    if [ -d $YOCTO_SRC ] ; then
-        pr_warn "$YOCTO_SRC fetched already."
+    if [ -d ${WORKDIR}/sources/meta-imx/ ] ; then
+        pr_warn "Yocto ${VERSION} fetched already."
         return 0;
     fi
+
+    pr_info "start fetch Yocto ${VERSION}"
+
+    cd ${PRJ_PATH}
 
     if [ ! -f tarballs/$YOCTO_TAR ] ; then
         mkdir -p tarballs/ && cd tarballs
         wget $SRV_URL/$YOCTO_TAR
     fi
 
-    cd $WORKDIR
+    cd ${PRJ_PATH}
     do_unpack tarballs/$YOCTO_TAR
 
-    cd ${PRJ_PATH}
+    mv imx-yocto-bsp workspace-${VERSION}
 }
 
 function do_patch()
 {
-    if [ -d ${PRJ_PATH}/sources/meta-${BOARD} ] ; then
-        pr_warn "$YOCTO_SRC patch already."
+    if [ -d ${WORKDIR}/sources/meta-${BOARD} ] ; then
+        pr_warn "Yocto ${VERSION} patch already."
         return 0;
     fi
 
-    cd ${PRJ_PATH}/sources
-    cp -af ${WORKDIR}/../${VERSION}/meta-${BOARD} .
+    pr_info "start patch Yocto ${VERSION}"
 
-    cd ${PRJ_PATH}
+    cd ${WORKDIR}/sources
+    cp -af ${WORKDIR}/../meta-${BOARD}/${VERSION} meta-${BOARD}
+
+    cd ${WORKDIR}
 }
 
 function do_build()
 {
     TARGET=linuxsys-image
 
-    pr_warn "Build ${YOCTO_SRC} for ${TARGET}."
+    pr_warn "Build Yocto ${VERSION} for ${TARGET}."
 
-    cd ${PRJ_PATH}
+    cd ${WORKDIR}
 
     if [ -f ${BUILDIR}/conf/local.conf ] ; then
-        pr_info "$YOCTO_SRC source poky."
+        pr_info "Yocto ${VERSION} source poky."
         source sources/poky/oe-init-build-env ${BUILDIR}
     else
-        pr_info "$YOCTO_SRC source meta."
+        pr_info "Yocto ${VERSION} source meta."
         MACHINE=${BOARD} source sources/meta-${BOARD}/tools/${BOARD}-setup.sh -b ${BUILDIR}
     fi
 
     sed -i "s|^DL_DIR.*|DL_DIR ?= \"${PACKDIR}\"|g" conf/local.conf
 
     #bitbake -c clean u-boot-imx linux-imx ${TARGET}
-    bitbake ${TARGET}
+    bitbake -k ${TARGET}
 
-    cd ${PRJ_PATH}
+    cd ${WORKDIR}
 }
 
 
@@ -140,7 +146,7 @@
 
 function do_clean()
 {
-    pr_warn "Clean ${YOCTO_SRC} source code"
+    pr_warn "Clean Yocto ${VERSION} source code"
 
     rm -rf $WORKDIR
 }
@@ -182,9 +188,6 @@
 done
 
 #defualt do build action
-
-mkdir -p $WORKDIR
-cd $WORKDIR
 
 do_fetch
 do_patch

--
Gitblit v1.9.1