From 800948edf8c81cff38235947fe602b42d8125a63 Mon Sep 17 00:00:00 2001
From: guowenxue <guowenxue@gmail.com>
Date: Mon, 18 Jul 2022 13:23:05 +0800
Subject: [PATCH] update root build shell script to fix decompress twice bug

---
 bsp/rootfs/build.sh |   28 ++++++++++++++--------------
 1 files changed, 14 insertions(+), 14 deletions(-)

diff --git a/bsp/rootfs/build.sh b/bsp/rootfs/build.sh
index 6a1079c..7cf4a54 100755
--- a/bsp/rootfs/build.sh
+++ b/bsp/rootfs/build.sh
@@ -1,12 +1,14 @@
 #!/bin/bash
 
-source ../scripts//setup_env.sh
+source ../scripts/setup_env.sh
 
 JSON_CONF=rootfs.json
 
 DEF_USER=`jq -r ".SYS_CONF.DEF_USER" $JSON_CONF`
 DEF_PASSWD=`jq -r ".SYS_CONF.DEF_PASSWD" $JSON_CONF`
 DEF_HOSTNAME=${BOARD}
+
+TARBALL_DIR=${PRJ_PATH}/../tarballs/
 
 set -e
 
@@ -137,7 +139,7 @@
     pr_warn "start fetch rootfs tree for $SYSTEM($DISTRO) "
 
     if [ -f $ROOTFS_DIR.tar.bz2 ] ; then
-        do_unpack $ROOTFS_DIR.tar.bz2 $ROOTFS_DIR
+        do_unpack $TARBALL_DIR/$ROOTFS_DIR.tar.bz2 $ROOTFS_DIR
         return;
     fi
 
@@ -145,20 +147,17 @@
 
         mkdir -p $ROOTFS_DIR
         do_fetch_json  $JSON_CONF SYS_YOCTO $ROOTFS_DIR
-        do_unpack $ROOTFS_DIR.tar.bz2 $ROOTFS_DIR
 
     elif [ $SYSTEM == "buildroot" ] ; then
 
         mkdir -p $ROOTFS_DIR
         do_fetch_json  $JSON_CONF SYS_BUILDROOT $ROOTFS_DIR
-        do_unpack $ROOTFS_DIR.tar.bz2 $ROOTFS_DIR
 
     elif [ $SYSTEM == "debian" ] ; then
         protocal=`jq -r ".SYS_DEBIAN.PROTOCAL" $JSON_CONF`
         if [ $protocal != "debootstrap" ] ; then
             mkdir -p $ROOTFS_DIR
             do_fetch_json $JSON_CONF SYS_DEBIAN $ROOTFS_DIR
-            do_unpack $ROOTFS_DIR.tar.bz2 $ROOTFS_DIR
 
         else
             debian_src=`jq -r ".SYS_DEBIAN.URL" $JSON_CONF`
@@ -173,6 +172,9 @@
 
 function do_install()
 {
+    # Remove lib/modules first
+    rm -rf $ROOTFS_DIR/lib/modules/*
+
     # apt install extra packet for debian rootfs
     if [ $SYSTEM == "debian" ] ; then
         do_debian_apt
@@ -183,7 +185,6 @@
     elif [ $SYSTEM == "buildroot" ] ; then
         do_install_json $JSON_CONF SYS_BUILDROOT.INSTALL_FILES
     fi
-
 }
 
 function do_config()
@@ -226,11 +227,6 @@
 
 function do_pack()
 {
-    if [ -f ${ROOTFS_DIR}.tar.bz2 ] ; then
-       pr_warn "rootfs already generate, skip it"
-       return ;
-    fi
-
     pr_warn "start generate $SYSTEM($DISTRO) rootfs packet"
 
     cd ${ROOTFS_DIR}
@@ -254,7 +250,6 @@
     do_fetch
     do_install
     do_config
-    do_pack
 }
 
 function do_root()
@@ -275,8 +270,9 @@
 {
     echo ""
     echo "Usage:"
-    echo "   $0 [-b] [-c] [-h]"
+    echo "   $0 [-b] [p] [-c] [-h]"
     echo "       -b: download and build $PRJ_NAME"
+    echo "       -p: packet the rootfs tree source"
     echo "       -c: clean all the source code"
     echo "       -h: show this help message"
     echo ""
@@ -285,13 +281,17 @@
     exit;
 }
 
-while getopts "bch" OPTNAME
+while getopts "bpch" OPTNAME
 do
     case "${OPTNAME}" in
         "b")
             break;
             ;;
 
+        "p")
+            do_pack
+            ;;
+
         "c")
             do_root "yes"
             do_distclean

--
Gitblit v1.9.1