#------------------------------------------------------------------------------
# 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
+# fn_gen_update_cfg
#
# Description :
-# read configuration file for partition information.
-# config file format : PART_NAME DELTA_BIN UPDATE_TYPE BLK_DEV BLK_OFFSET (deliminator : TAB)
-#
+# read delta configuration file for generating update configuration file to be used during update.
+# delta config file format : PART_NAME PART_BIN DELTA_BIN UPDATE_TYPE BLK_DEV BLK_OFFSET (deliminator : TAB)
-fn_read_part_cfg()
+fn_gen_update_cfg()
{
in_file=$1
+ out_file=$2
if [ ! -r ${in_file} ]; then
echo "file ${in_file} cannot be read"
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]}
+ PART_NAME[${line_num}]=${fields[0]}
+ PART_BIN[${line_num}]=${fields[1]}
+ DELTA_BIN[${line_num}]=${fields[2]}
+ UPDATE_TYPE[${line_num}]=${fields[3]}
+ BLK_DEV[${line_num}]=${fields[4]}
+ BLK_OFFSET[${line_num}]=${fields[5]}
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<PART_NUM_delta;delta_idx++))
- do
- FOUND=0
- for ((part_idx=0;part_idx<PART_NUM_part;part_idx++))
- do
- if [ "${PART_NAME_part[${part_idx}]}" = "${PART_NAME_delta[${delta_idx}]}" ]; then
- FOUND=1
- break
- fi
- done
-
- if [ "${FOUND}" = "1" ]; then
- #-- PART_NAME, DELTA_BIN, BLK_DEV, BLK_OFFSET are from part.cfg
- PART_NAME[${update_idx}]=${PART_NAME_part[${part_idx}]}
- DELTA_BIN[${update_idx}]=${DELTA_BIN_part[${part_idx}]}
- BLK_DEV[${update_idx}]=${BLK_DEV_part[${part_idx}]}
- BLK_OFFSET[${update_idx}]=${BLK_OFFSET_part[${part_idx}]}
-
- #-- PART_BIN, UPDATE_TYPE are from delta.cfg
- PART_BIN[${update_idx}]=${PART_BIN_delta[${delta_idx}]}
- UPDATE_TYPE[${update_idx}]=${UPDATE_TYPE_delta[${delta_idx}]}
-
- update_idx=$(($update_idx + 1))
- fi
-
- done
-
- PART_NUM=${update_idx}
+ PART_NUM=${line_num}
if [ -f ${out_file} ]; then
sudo rm -fr ${out_file}
MY_ID=`whoami`
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
DELTA_UA=./data/delta.ua
UPDATE_MANAGER=./data/upgrade-trigger.sh
echo "------------------------------"
echo "[PART_NAME] ${PART_NAME[${update_idx}]}"
echo "[DELTA_BIN] ${DELTA_BIN[${update_idx}]}"
+ echo "[UPDATE_TYPE] ${UPDATE_TYPE[${update_idx}]}"
echo "[BLK_DEV] ${BLK_DEV[${update_idx}]}"
echo "[BLK_OFFSET] ${BLK_OFFSET[${update_idx}]}"
- echo "[PART_BIN] ${PART_BIN[${update_idx}]}"
- echo "[UPDATE_TYPE] ${UPDATE_TYPE[${update_idx}]}"
done
echo "------------------------------"
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}
+fn_gen_update_cfg ${DELTA_CFG_PATH} ${UPDATE_CFG_PATH}
################### Make delta Forward and Backward #####################
if [ "z${FW_BW}" = "z" ]; then