From: SnickerSun Date: Thu, 25 Apr 2024 14:48:36 +0000 (+0800) Subject: ota包制作脚本自动添加fs data 打包 X-Git-Tag: release_V1.2.70_20241020_135402~1108^2~33 X-Git-Url: http://git.snicker.com.cn/css/static/gitweb.css?a=commitdiff_plain;h=0ee88d9460d9d3036b693629560e70d9750e936c;p=mirrors%2FFD230.git ota包制作脚本自动添加fs data 打包 --- diff --git a/code/sdk/build/config/target_config/brandy/build_brandy_update.py b/code/sdk/build/config/target_config/brandy/build_brandy_update.py index 42ad65c40..234c7d3d5 100755 --- a/code/sdk/build/config/target_config/brandy/build_brandy_update.py +++ b/code/sdk/build/config/target_config/brandy/build_brandy_update.py @@ -59,7 +59,11 @@ class upg_base_info: self.res_dir = os.path.join(self.output, "res_file") #待打包目录路径, 如果仅删除则填None,此时是打包res_file目录下的所有文件 self.res_index = os.path.join(self.output, "res_index.bin") #生成的索引文件路径 self.res_data = os.path.join(self.output, "res_data.bin") #生成的数据文件路径, 仅删除时此参数无效 - self.res_delfile = [] # [ "/user/exc/exc_info.bin"] #待删除文件列表,删除/user/exc/目录下的exc_info.bin文件 + if os.path.exists(os.path.join(self.output,"delfiles")) : + with open(os.path.join(self.output,"delfiles"),"r") as file: + self.res_delfile = file.readlines() # [ "/user/exc/exc_info.bin"] #待删除文件列表,删除/user/exc/目录下的exc_info.bin文件 + else: + self.res_delfile = [] # [ "/user/exc/exc_info.bin"] #待删除文件列表,删除/user/exc/目录下的exc_info.bin文件 # self.res_delfile = [ "/user/exc/exc_info.bin"] #待删除文件列表,删除/user/exc/目录下的exc_info.bin文件 self.res_rmdir = [] # ["/user/test","/user/test1"] #删除/user/test/,/user/test1两个目录 diff --git a/gen_fs_otapkg.sh b/gen_fs_otapkg.sh index f71684d05..17ad1947f 100644 --- a/gen_fs_otapkg.sh +++ b/gen_fs_otapkg.sh @@ -1,48 +1,58 @@ #!/bin/bash #set -e -version=HEAD +NEWVERSION=HEAD +OLDVERSION=HEAD DATE=$(date +%Y%m%d.%H%M%S) -HOMEDIR=$PWD -TMPDIR=/tmp/${USER}_${DATE} FSDATADIR=code/sdk/build/config/target_config/brandy/mk_fs_image/fd230 - if ! [ "$1" = "" ] then +OLDVERSION=$1 +fi -version=$1 +if ! [ "$2" = "" ] +then +NEWVERSION=$2 +fi +if ! [ "$3" = "" ] +then +DATE=$3 fi -echo $version + +HOMEDIR=$PWD +TMPDIR=/tmp/${USER}_${DATE} + +echo get diff $OLDVERSION ... $NEWVERSION to $TMPDIR BACKUPDIR_HOME=$HOMEDIR/../PATCHES/$(basename $HOMEDIR)_FSOTA_${DATE} genpatch() { -TARGETDIR=$1 tmpfile_changelist=/$TMPDIR/changelist.txt -tmpfile_removedfiles=/$TMPDIR/deletedfiles.sh +tmpfile_removedfiles=/$TMPDIR/deletedfiles.txt tmpfile_modified_or_new_files=/$TMPDIR/modified_or_new_files.txt tmpfile_git_commit_file=/$TMPDIR/commit.txt BACKUPDIR=$BACKUPDIR_HOME/ BACKUPDIR_DIFF=$BACKUPDIR_HOME/diff/ +TARGETDIR=$1/$FSDATADIR rm -rf $TMPDIR mkdir -p $TMPDIR -cd $TARGETDIR/$FSDATADIR +cd $TARGETDIR git config core.filemode false -git diff $version --name-status . |awk '{gsub(/code\/sdk\/build\/config\/target_config\/brandy\/mk_fs_image\/fd230\//,"") ;print $0 }' > $tmpfile_changelist +git diff ${OLDVERSION}...${NEWVERSION} --name-status . |awk '{gsub(/code\/sdk\/build\/config\/target_config\/brandy\/mk_fs_image\/fd230\//,"") ;print $0 }' > $tmpfile_changelist export count=`wc $tmpfile_changelist -l|awk '{print $1}'` echo $TARGETDIR $count if [ "$count" == "0" ] ; then echo $TARGETDIR no change else - echo $version >$tmpfile_git_commit_file + echo ${OLDVERSION}...${NEWVERSION} >$tmpfile_git_commit_file - git diff $version --name-status . |awk ' ($1 != "D" ) {print $2 }'|awk '{gsub(/code\/sdk\/build\/config\/target_config\/brandy\/mk_fs_image\/fd230\//,"") ;print $0 }' >$tmpfile_modified_or_new_files - git diff $version --name-status . |awk ' ($1 == "D" ) {print $2 }'|awk '{gsub(/code\/sdk\/build\/config\/target_config\/brandy\/mk_fs_image\/fd230\//,"") ;print $0 }' >$tmpfile_removedfiles + git diff ${OLDVERSION}...${NEWVERSION} --name-only --diff-filter=ACMR . |awk '{gsub(/code\/sdk\/build\/config\/target_config\/brandy\/mk_fs_image\/fd230\//,"") ;print $0 }' >$tmpfile_modified_or_new_files + git diff ${OLDVERSION}...${NEWVERSION} --name-only --diff-filter=D . |awk ' ($1 == "D" ) {print $2 }'|awk '{gsub(/code\/sdk\/build\/config\/target_config\/brandy\/mk_fs_image\/fd230\//,"") ;print $0 }' >$tmpfile_removedfiles mkdir -p $BACKUPDIR mkdir -p $BACKUPDIR_DIFF diff --git a/mkota.sh b/mkota.sh index 5382fb63f..82ac5b758 100644 --- a/mkota.sh +++ b/mkota.sh @@ -24,10 +24,24 @@ rm -rf code/sdk/output/brandy/TestOTA/* cp -r $SOURCE_DIR code/sdk/output/brandy/TestOTA/oldsoftware cp -r $TARGET_DIR code/sdk/output/brandy/TestOTA/newsoftware + +OLD_COMMIT_VERSION=`cat code/sdk/output/brandy/TestOTA/oldsoftware/readme.txt | awk '$1 == "commit" { print $2}'` +NEW_COMMIT_VERSION=`cat code/sdk/output/brandy/TestOTA/newsoftware/readme.txt | awk '$1 == "commit" { print $2}'` + +TMPDIR=/tmp/${USER}_F +rm -rf $TMPDIR +echo ./gen_fs_otapkg.sh $OLD_COMMIT_VERSION $NEW_COMMIT_VERSION F +./gen_fs_otapkg.sh $OLD_COMMIT_VERSION $NEW_COMMIT_VERSION F +if [ -d "$TMPDIR" ] ; then +RES_DIR=$TMPDIR +fi + if [ -d "$RES_DIR" ] ; then cp -r $RES_DIR/fs code/sdk/output/brandy/TestOTA/res_file +cp -f $RES_DIR/diff/deletedfiles.txt code/sdk/output/brandy/TestOTA/delfiles fi + cd code/sdk/ ./build/config/target_config/brandy/build_brandy_update.py cd -