From: Sunmin Lee Date: Wed, 23 Aug 2017 09:18:16 +0000 (+0900) Subject: Unify UPG bin directory X-Git-Tag: accepted/tizen/unified/20240419.110853~111 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=38bb67549748e45d033844a96cdf49c55831d80f;p=platform%2Fcore%2Fsystem%2Fupgrade-tools.git Unify UPG bin directory Most of bin scripts in each target is same. There is no reason of separating bin directory at each target. This patch integrates these scripts to common bin diretory. Change-Id: Icf7597a25a196f43666683c0de5fb7b9dfc3d977 Signed-off-by: Sunmin Lee --- diff --git a/mk_delta/rpi3/bin/batch_mk_delta.sh b/mk_delta/common/bin/batch_mk_delta.sh similarity index 100% rename from mk_delta/rpi3/bin/batch_mk_delta.sh rename to mk_delta/common/bin/batch_mk_delta.sh diff --git a/mk_delta/tw1/bin/mk_delta.sh b/mk_delta/common/bin/mk_delta.sh similarity index 99% rename from mk_delta/tw1/bin/mk_delta.sh rename to mk_delta/common/bin/mk_delta.sh index 32eb61c..3493555 100755 --- a/mk_delta/tw1/bin/mk_delta.sh +++ b/mk_delta/common/bin/mk_delta.sh @@ -173,7 +173,7 @@ fn_gen_update_cfg() fn_set_default_params() { MY_ID=`whoami` - MK_PART_DELTA=./bin/mk_part_delta.sh + MK_PART_DELTA=${COMMON_BINDIR}/mk_part_delta.sh DELTA_CFG_PATH=./cfg/delta.cfg PART_CFG_PATH=./cfg/default_part.cfg UPDATE_CFG_PATH=./cfg/update.cfg @@ -270,6 +270,8 @@ fn_process_extra_delta() # Main Start #================== +COMMON_BINDIR=${PWD}/../common/bin + fn_set_default_params fn_read_delta_cfg ${DELTA_CFG_PATH} @@ -278,9 +280,6 @@ fn_read_part_cfg ${PART_CFG_PATH} fn_gen_update_cfg ${UPDATE_CFG_PATH} -COMMON_BINDIR=${PWD}/../common/bin - - ################### Make delta Forward and Backward ##################### if [ "z${FW_BW}" = "z" ]; then #FW_BW="FW_DELTA BW_DELTA" diff --git a/mk_delta/rpi3/bin/mk_part_delta.sh b/mk_delta/common/bin/mk_part_delta.sh similarity index 99% rename from mk_delta/rpi3/bin/mk_part_delta.sh rename to mk_delta/common/bin/mk_part_delta.sh index 7a19337..236f322 100755 --- a/mk_delta/rpi3/bin/mk_part_delta.sh +++ b/mk_delta/common/bin/mk_part_delta.sh @@ -356,6 +356,10 @@ fn_mk_delta_fs() EXCLUDE_FILES="lost+found" TGT_MNT_PNT=${FAKE_ROOT}/lib/modules ;; + "RAMDISK1") + EXCLUDE_FILES="lost+found dev proc tmp sys" + TGT_MNT_PNT=${FAKE_ROOT}/mnt/initrd + ;; "RAMDISK2") EXCLUDE_FILES="lost+found" TGT_MNT_PNT= diff --git a/mk_delta/tw1/bin/pack_delta_tar.sh b/mk_delta/common/bin/pack_delta_tar.sh similarity index 100% rename from mk_delta/tw1/bin/pack_delta_tar.sh rename to mk_delta/common/bin/pack_delta_tar.sh diff --git a/mk_delta/rpi3/bin/mk_delta.sh b/mk_delta/rpi3/bin/mk_delta.sh deleted file mode 100755 index 32eb61c..0000000 --- a/mk_delta/rpi3/bin/mk_delta.sh +++ /dev/null @@ -1,366 +0,0 @@ -#!/bin/bash - - -#================== -# funtions -#================== - -#------------------------------------------------------------------------------ -# Function : -# fn_read_delta_cfg -# -# Description : -# read configuration file for delta generation. -# config file format : PART_NAME PART_BIN UPDATE_TYPE (deliminator : TAB) -# - -fn_read_delta_cfg() -{ - in_file=$1 - - if [ ! -r ${in_file} ]; then - echo "file ${in_file} cannot be read" - return 1 - fi - - line_num=0 - while read line - do - # skip comment line - if [ "${line:0:1}" = "#" ]; then - continue - fi - - # skip empty line - line_len=${#line} - if [ "${line_len}" = "0" ]; then - continue - fi - - - fields=(${line}) - PART_NAME_delta[${line_num}]=${fields[0]} - PART_BIN_delta[${line_num}]=${fields[1]} - UPDATE_TYPE_delta[${line_num}]=${fields[2]} - - line_num=$(($line_num + 1)) - - done < ${in_file} - - PART_NUM_delta=${line_num} - - return 0 -} - -#------------------------------------------------------------------------------ -# Function : -# fn_read_part_cfg -# -# Description : -# read configuration file for partition information. -# config file format : PART_NAME DELTA_BIN UPDATE_TYPE BLK_DEV BLK_OFFSET (deliminator : TAB) -# - -fn_read_part_cfg() -{ - in_file=$1 - - if [ ! -r ${in_file} ]; then - echo "file ${in_file} cannot be read" - return 1 - fi - - line_num=0 - while read line - do - # skip comment line - if [ "${line:0:1}" = "#" ]; then - continue - fi - - # skip empty line - line_len=${#line} - if [ "${line_len}" = "0" ]; then - continue - fi - - - fields=(${line}) - PART_NAME_part[${line_num}]=${fields[0]} - DELTA_BIN_part[${line_num}]=${fields[1]} - UPDATE_TYPE_part[${line_num}]=${fields[2]} - BLK_DEV_part[${line_num}]=${fields[3]} - BLK_OFFSET_part[${line_num}]=${fields[4]} - - line_num=$(($line_num + 1)) - - done < ${in_file} - - PART_NUM_part=${line_num} - - return 0 -} - -#------------------------------------------------------------------------------ -# Function : -# fn_gen_update_cfg -# -# Description : -# generate configuration file to be used during update. -# - -fn_gen_update_cfg() -{ - out_file=$1 - - update_idx=0 - - for ((delta_idx=0;delta_idx> ${out_file} - done - - return 0 -} - -#------------------------------------------------------------------------------ -# Function : -# fn_set_default_params -# -# Description : -# set default params used globally in this script -# - -fn_set_default_params() -{ - MY_ID=`whoami` - MK_PART_DELTA=./bin/mk_part_delta.sh - DELTA_CFG_PATH=./cfg/delta.cfg - PART_CFG_PATH=./cfg/default_part.cfg - UPDATE_CFG_PATH=./cfg/update.cfg - - LOG_PATH=./data/Delta.log - # Getting date and minor version - MONDATE=$(date +%m%d) - i=1 - while [ -d "result/${MONDATE}_${i}" ] - do - i=$(($i + 1)) - done - MONDATE="${MONDATE}_${i}" - echo "MONDATE = ${MONDATE}" - - if [ "z${OLD_TAR_DIR}" = "z" ]; then - export OLD_TAR_DIR="old_tar" - fi - if [ "z${NEW_TAR_DIR}" = "z" ]; then - export NEW_TAR_DIR="new_tar" - fi -} - -#------------------------------------------------------------------------------ -# Function : -# fn_swap_binary_files -# -# Description : -# change old & new for making backward delta -# - -fn_swap_binary_files() -{ - TEMP_TAR_DIR=${OLD_TAR_DIR} - export OLD_TAR_DIR=${NEW_TAR_DIR} - export NEW_TAR_DIR=${TEMP_TAR_DIR} -} - -#------------------------------------------------------------------------------ -# Function : -# fn_print_update_cfg - -fn_print_update_cfg() -{ - for ((update_idx=0;update_idx ${DELTA_DIR}/${delta_bin} - elif [ "${part_name}" = "EXTRA" ]; then - echo "---" - fi -} - -############################################################################### -#================== -# Main Start -#================== - -fn_set_default_params - -fn_read_delta_cfg ${DELTA_CFG_PATH} - -fn_read_part_cfg ${PART_CFG_PATH} - -fn_gen_update_cfg ${UPDATE_CFG_PATH} - -COMMON_BINDIR=${PWD}/../common/bin - - -################### Make delta Forward and Backward ##################### -if [ "z${FW_BW}" = "z" ]; then - #FW_BW="FW_DELTA BW_DELTA" - FW_BW="FW_DELTA" -fi - -START_TIMESTAMP="$(date +%T)" - -for Make_Delta in $FW_BW -do - #--- archive result directory --- - echo "Make $Make_Delta Delta file" - RESULT_DIR=result/$MONDATE/$Make_Delta - DELTA_DIR=${RESULT_DIR}/DELTA - mkdir -p ${DELTA_DIR} - - if [ "$Make_Delta" = "BW_DELTA" ]; then - fn_swap_binary_files - fi - - - #--- make delta for each partition --- - for ((part_num=0;part_num ${V1_ATTR_FILE} - sudo find ./${BASE_DIR_OLD} -type l -printf '"/%P" SymLink 14 %04m:%04U:%04G:' -exec ${COMMON_BINDIR}/${ATTR_CMD} {} \; >> ${V1_ATTR_FILE} - sudo find ./${BASE_DIR_OLD} -type d -printf '"/%P" Regular 14 %04m:%04U:%04G:' -exec ${COMMON_BINDIR}/${ATTR_CMD} {} \; >> ${V1_ATTR_FILE} - - sudo find ./${BASE_DIR_NEW} -type f -printf '"/%P" Regular 14 %04m:%04U:%04G:' -exec ${COMMON_BINDIR}/${ATTR_CMD} {} \; > ${V2_ATTR_FILE} - sudo find ./${BASE_DIR_NEW} -type l -printf '"/%P" SymLink 14 %04m:%04U:%04G:' -exec ${COMMON_BINDIR}/${ATTR_CMD} {} \; >> ${V2_ATTR_FILE} - sudo find ./${BASE_DIR_NEW} -type d -printf '"/%P" Regular 14 %04m:%04U:%04G:' -exec ${COMMON_BINDIR}/${ATTR_CMD} {} \; >> ${V2_ATTR_FILE} - - ################ Change user and group permission from '0' to '0000' ############ - sed -i 's/: 0/:0000/g' ${V1_ATTR_FILE} - sed -i 's/: /:000/g' ${V1_ATTR_FILE} - sed -i 's/: /:00/g' ${V1_ATTR_FILE} - sed -i 's/: /:0/g' ${V1_ATTR_FILE} - - sed -i 's/: 0/:0000/g' ${V2_ATTR_FILE} - sed -i 's/: /:000/g' ${V2_ATTR_FILE} - sed -i 's/: /:00/g' ${V2_ATTR_FILE} - sed -i 's/: /:0/g' ${V2_ATTR_FILE} - - ################ Change ":./old" to "/" ############ - sed -i "s/:.\/${BASE_DIR_OLD}\//:\//" ${V1_ATTR_FILE} - sed -i "s/:.\/${BASE_DIR_OLD}/:\//" ${V1_ATTR_FILE} - sed -i "s/:.\/${BASE_DIR_NEW}\//:\//" ${V2_ATTR_FILE} - sed -i "s/:.\/${BASE_DIR_NEW}/:\//" ${V2_ATTR_FILE} - - echo "Attribut generation for ${TARGET} [END] $(date +%T)" -} - -#------------------------------------------------------------------------------ -# Function : -# fn_mk_full_img -# - -fn_mk_full_img() -{ - PART_IMG_ORG=${PART_BIN} - PART_IMG_OLD=${PART_IMG_ORG}.old - PART_IMG_NEW=${PART_IMG_ORG}.new - - #---- untar partition image and rename for old & new ---- - echo "untar ${OLD_TAR_FILE}" - tar xvf ${OLD_TAR_DIR}/${OLD_TAR_FILE} ${PART_IMG_ORG} - if [ "$?" != "0" ]; then - return 1; - fi - sudo mv ${PART_IMG_ORG} ${PART_IMG_OLD} - - echo "untar ${NEW_TAR_FILE}" - tar xvf ${NEW_TAR_DIR}/${NEW_TAR_FILE} ${PART_IMG_ORG} - if [ "$?" != "0" ]; then - return 1; - fi - sudo mv ${PART_IMG_ORG} ${PART_IMG_NEW} - - #---- check whether the binaries are same ---- - sudo diff ${PART_IMG_OLD} ${PART_IMG_NEW} - if [ "$?" = "0" ]; then - echo "[${PART_NAME}] two binaries are same" - sudo rm -rf ${PART_IMG_OLD} - sudo rm -rf ${PART_IMG_NEW} - return 1 - fi - sudo python ${COMMON_BINDIR}/CreatePatch.py ${UPDATE_TYPE} ${PART_NAME} ${PART_IMG_OLD} ${PART_IMG_NEW} ${OUTPUT_DIR} ${UPDATE_CFG_PATH} - PythonRet=$? - sudo rm ${PART_IMG_OLD} - sudo mv ${PART_IMG_NEW} ${OUTPUT_DIR}/${PART_IMG_ORG} - sudo chown ${MY_ID}:${MY_ID} ${OUTPUT_DIR}/${PART_IMG_ORG} - - if [ $PythonRet != "0" ]; then - echo "[${PART_NAME}] Failed to generate DELTA" - exit 1 - fi - return 0 -} - -#------------------------------------------------------------------------------ -# Function : -# fn_mk_delta_img_core -# -# Description : -# core routine for delta generation -# Image Update Type -# - -fn_mk_delta_img_core() -{ - - START_TIMESTAMP="generation of ${DELTA} [START] $(date +%T)" - - #---- untar partition image and rename for old & new ---- - echo "untar ${OLD_TAR_FILE}" - tar xvf ${OLD_TAR_DIR}/${OLD_TAR_FILE} ${PART_IMG_ORG} - if [ "$?" != "0" ]; then - return 1; - fi - sudo mv ${PART_IMG_ORG} ${PART_IMG_OLD} - - echo "untar ${NEW_TAR_FILE}" - tar xvf ${NEW_TAR_DIR}/${NEW_TAR_FILE} ${PART_IMG_ORG} - if [ "$?" != "0" ]; then - return 1; - fi - sudo mv ${PART_IMG_ORG} ${PART_IMG_NEW} - - #---- check whether the binaries are same ---- - sudo diff ${PART_IMG_OLD} ${PART_IMG_NEW} - if [ "$?" = "0" ]; then - echo "[${PART_NAME}] two binaries are same" - sudo rm -rf ${PART_IMG_OLD} - sudo rm -rf ${PART_IMG_NEW} - return 1 - fi - - #---- make delta file ---- - echo "make ${DELTA}" - sudo python ${COMMON_BINDIR}/CreatePatch.py ${UPDATE_TYPE} ${PART_NAME} ${PART_IMG_OLD} ${PART_IMG_NEW} ${OUTPUT_DIR} ${UPDATE_CFG_PATH} - PythonRet=$? - #sudo xdelta delta ${PART_IMG_OLD} ${PART_IMG_NEW} ./${OUTPUT_DIR}/${PART_NAME}".delta" - - #---- remove files & directories ---- - echo "remove temp files/directory & move delta/log to result directory" - sudo rm -rf ${PART_IMG_OLD} - sudo rm -rf ${PART_IMG_NEW} - sudo rm -rf x - - if [ $PythonRet != "0" ]; then - echo "[${PART_NAME}] Failed to generate DELTA" - exit 1 - fi - END_TIMESTAMP="generation of ${DELTA} [END] $(date +%T)" - echo "${START_TIMESTAMP}" - echo "${END_TIMESTAMP}" - - - return 0 -} - -#------------------------------------------------------------------------------ -# Function : -# fn_mk_delta_img -# -# Description : -# generate delta file for image type partition -# - -fn_mk_delta_img() -{ - PART_IMG_ORG=${PART_BIN} - PART_IMG_OLD=${PART_IMG_ORG}.old - PART_IMG_NEW=${PART_IMG_ORG}.new - - DELTA=${DELTA_BIN} - DEBUG_DELTA=debug_${DELTA} - #CFG_XML=${PART_NAME}_IMG.xml - mkdir ${OUTPUT_DIR}/i - fn_mk_delta_img_core - if [ "$?" != "0" ]; then - return 1 - fi - - return 0 - -} -#------------------------------------------------------------------------------ -# Function : -# mk_inter_attrib_file -# -# Description : -# makes a list of attributes for those files which differ between v1 aND V2 -#manoj:to create intermediate attribute list -fn_mk_inter_attrib_file() -{ - V1ref_ATTR_FILE=${OUTPUT_DIR}/v1_${TARGET}_attr.txt - V2ref_ATTR_FILE=${OUTPUT_DIR}/v2_${TARGET}_attr.txt -} - -#------------------------------------------------------------------------------ -# Function : -# fn_mk_delta_fs_core -# -# Description : -# core routine for delta generation -# File System Update Type (DELTA_FS) -# - -fn_mk_delta_fs_core() -{ - START_TIMESTAMP="generation of ${DELTA} [START] $(date +%T)" - - #---- untar partition image and rename for old & new ---- - echo "untar ${OLD_TAR_FILE}" - tar xvf ${OLD_TAR_DIR}/${OLD_TAR_FILE} ${PART_IMG_ORG} - if [ "$?" != "0" ]; then - return 1; - fi - sudo mv ${PART_IMG_ORG} ${PART_IMG_OLD} - - echo "untar ${NEW_TAR_FILE}" - tar xvf ${NEW_TAR_DIR}/${NEW_TAR_FILE} ${PART_IMG_ORG} - if [ "$?" != "0" ]; then - return 1; - fi - sudo mv ${PART_IMG_ORG} ${PART_IMG_NEW} - - #---- check whether the binaries are same ---- - sudo diff ${PART_IMG_OLD} ${PART_IMG_NEW} - if [ "$?" = "0" ]; then - echo "[${PART_NAME}] two binaries are same" - sudo rm -rf ${PART_IMG_OLD} - sudo rm -rf ${PART_IMG_NEW} - return 1 - fi - - #---- make mount point ---- - mkdir -p ${MNT_PNT_OLD} - mkdir -p ${MNT_PNT_NEW} - - #---- mount partition image to mount point ---- - echo "mount ${PART_IMG_OLD} & ${PART_IMG_NEW}" - sudo mount -t ext4 -o loop ${PART_IMG_OLD} ${MNT_PNT_OLD} - if [ "$?" != "0" ]; then - return 1; - fi - sudo mount -t ext4 -o loop ${PART_IMG_NEW} ${MNT_PNT_NEW} - if [ "$?" != "0" ]; then - return 1; - fi - - #---- remove unnecessary files & directories ---- - for ff in ${EXCLUDE_FILES} - do - sudo rm -rf ${MNT_PNT_OLD}/${ff} - sudo rm -rf ${MNT_PNT_NEW}/${ff} - done - - #---- make attribute ---- - fn_mk_attribute ${PART_NAME} ${BASE_OLD} ${BASE_NEW} - - #PART_IMG_ORG parameter should match with DELTA name that is part of default config file. Which will be used to update MAX size file that is present in respective partition. - sudo python ${COMMON_BINDIR}/CreatePatch.py ${UPDATE_TYPE} ${PART_NAME} ${BASE_OLD} ${BASE_NEW} ${OUTPUT_DIR} ${V1_ATTR_FILE} ${V2_ATTR_FILE} ${UPDATE_CFG_PATH} - PythonRet=$? - - #---- unmount partition image ---- - echo "umount ${MNT_PNT_OLD} & ${MNT_PNT_NEW}" - sudo umount ${MNT_PNT_OLD} - sudo umount ${MNT_PNT_NEW} - - #---- remove files & directories ---- - echo "remove temp files/directory & move delta/log to result directory" - sudo rm -rf ${PART_IMG_OLD} - sudo rm -rf ${PART_IMG_NEW} - sudo rm -rf ${BASE_OLD} ${BASE_NEW} - sudo rm -rf x - - #---- extra cleanup ---- - sudo mv ./file_attr_updated_image.txt ${OUTPUT_DIR}/${PART_NAME}_file_attr_updated_image.txt - - if [ $PythonRet != "0" ]; then - echo "[${PART_NAME}] Failed to generate DELTA" - exit 1 - fi - END_TIMESTAMP="generation of ${DELTA} [END] $(date +%T)" - echo "${START_TIMESTAMP}" - echo "${END_TIMESTAMP}" - - return 0 -} - -#------------------------------------------------------------------------------ -# Function : -# Mk_delta_fs -# -# Description : -# generate delta file for filesystem type partition -# - -fn_mk_delta_fs() -{ - PART_IMG_ORG=${PART_BIN} - PART_IMG_OLD=${PART_IMG_ORG}.old - PART_IMG_NEW=${PART_IMG_ORG}.new - - DELTA=${DELTA_BIN} - DEBUG_DELTA=debug_${DELTA} - #CFG_XML=${PART_NAME}_FS.xml - - FAKE_ROOT=system - BASE_OLD=${PART_NAME}_OLD - BASE_NEW=${PART_NAME}_NEW - - #--- !!! this should be modified according to partition --- - if [ "${PART_NAME}" = "ROOTFS" ]; then - EXCLUDE_FILES="lost+found dev proc tmp var sys csa" - TGT_MNT_PNT=${FAKE_ROOT} - elif [ "${PART_NAME}" = "RAMDISK2" ]; then - EXCLUDE_FILES="lost+found" - TGT_MNT_PNT= - else - echo "${PART_NAME} not supported !!!" - return 1 - fi - - MNT_PNT_OLD=${BASE_OLD}/${TGT_MNT_PNT} - MNT_PNT_NEW=${BASE_NEW}/${TGT_MNT_PNT} - - - fn_mk_delta_fs_core - if [ "$?" != "0" ]; then - return 1 - fi - - return 0 -} - - -#------------------------------------------------------------------------------ -# Function : -# get_tar_file_names -# -# Description : -# find tar file name (without path) that contains given partition binary -# - -fn_get_tar_file_names() -{ - BIN_TO_FIND=$1 - - cd ${DATA_DIR}/${OLD_TAR_DIR} - OLD_TAR_LIST=`ls *.tar *.tar.gz *.tgz *.tar.md5 2>/dev/null` - cd ${CUR_DIR} - - cd ${DATA_DIR}/${NEW_TAR_DIR} - NEW_TAR_LIST=`ls *.tar *.tar.gz *.tgz *.tar.md5 2>/dev/null` - cd ${CUR_DIR} - - #--- find which tar contains the binary --- - for tar_file in ${OLD_TAR_LIST} - do - result=`tar -tvf ${DATA_DIR}/${OLD_TAR_DIR}/${tar_file} | grep " ${BIN_TO_FIND}$"` - if [ "$?" = "0" ]; then - OLD_TAR_FILE=${tar_file} - break - fi - done - - for tar_file in ${NEW_TAR_LIST} - do - result=`tar -tvf ${DATA_DIR}/${NEW_TAR_DIR}/${tar_file} | grep " ${BIN_TO_FIND}$"` - if [ "$?" = "0" ]; then - NEW_TAR_FILE=${tar_file} - break - fi - done - -} - - -############################################################################### -#================== -# Main Start -#================== - -fn_print_line - 80 - -#--- assign input params to internal variables --- -param_num=$# -if [ "${param_num}" != "4" ]; then - echo "Invalid param num" - echo "[Usage] $0 PART_NAME UPDATE_TYPE PART_BIN DELTA_BIN" - exit 1 -fi - -PART_NAME=$1 -UPDATE_TYPE=$2 -PART_BIN=$3 -DELTA_BIN=$4 - -#--- set some default variables --- -MY_ID=`whoami` -CUR_DIR=`pwd` -DATA_DIR=./data -CFG_DIR=./cfg -#XML_DIR=./xml -COMMON_BINDIR=${CUR_DIR}/../common/bin -UPDATE_CFG_PATH=./cfg/update.cfg - -#--- check if the current working directory is the parent directory of bin, data, cfg, xml --- -TEST_DIR=${DATA_DIR} -if [ ! -d ${TEST_DIR} ]; then - echo "Invalid working directory. ${TEST_DIR} does not exist" - exit 1 -fi - -TEST_DIR=${CFG_DIR} -if [ ! -d ${TEST_DIR} ]; then - echo "Invalid working directory. ${TEST_DIR} does not exist" - exit 1 -fi - -#TEST_DIR=${XML_DIR} -#if [ ! -d ${TEST_DIR} ]; then -# echo "Invalid working directory. ${TEST_DIR} does not exist" -# exit 1 -#fi - -#--- get old/new tar file which includes $PART_BIN --- -if [ "z${OLD_TAR_DIR}" = "z" ]; then - OLD_TAR_DIR="old_tar" -fi -if [ "z${NEW_TAR_DIR}" = "z" ]; then - NEW_TAR_DIR="new_tar" -fi -OLD_TAR_FILE= -NEW_TAR_FILE= - -fn_get_tar_file_names ${PART_BIN} - -if [ "z${OLD_TAR_FILE}" = "z" ]; then - echo "[old] tar file does not exist in ${DATA_DIR}/${OLD_TAR_DIR} which contains ${PART_BIN}" - #exit 0, cos this is not an error. - exit 0 -fi - -if [ "z${NEW_TAR_FILE}" = "z" ]; then - echo "[new] tar file does not exist in ${DATA_DIR}/${NEW_TAR_DIR} which contains ${PART_BIN}" - exit 0 -fi - -echo "[old] ${OLD_TAR_FILE} contains ${PART_BIN}" -echo "[new] ${NEW_TAR_FILE} contains ${PART_BIN}" - - -#--- generate delta binary --- - -cd ${DATA_DIR} - -OUTPUT_DIR=${PART_NAME}_OUT -if [ ! -d ${OUTPUT_DIR} ]; then - if [ -f ${OUTPUT_DIR} ]; then - sudo rm -f ${OUTPUT_DIR} - fi - mkdir ${OUTPUT_DIR} -fi - -if [ "${UPDATE_TYPE}" = "FULL_IMG" ]; then - fn_mk_full_img -elif [ "${UPDATE_TYPE}" = "DELTA_IMG" ]; then - fn_mk_delta_img -elif [ "${UPDATE_TYPE}" = "DELTA_FS" ]; then - fn_mk_delta_fs -else - echo "Invalid update type" - exit 1 -fi - -exit 0