6 fn_set_default_params()
11 DELTA_CFG_PATH=${CFG_DIR}/delta.cfg
12 UPDATE_CFG_PATH=${DATA_DIR}/update.cfg
13 UPDATE_INFO_FILE=update-info.ini
14 UPDATE_INFO_ORIG_PATH=${CFG_DIR}/${UPDATE_INFO_FILE}
15 UPDATE_INFO_PATH=${DATA_DIR}/${UPDATE_INFO_FILE}
16 SETUP_SCRIPT_PATH=${CFG_DIR}/setup.sh
18 COMMON_BIN_DIR=$(realpath ../common/bin)
19 UPDATE_INFO_PATH=${COMMON_BIN_DIR}/update-info-builder.py
21 LOG_PATH=${DATA_DIR}/Delta.log
22 BUILD_STRING_FILE=build_string.txt
23 BUILD_STRING_PATH=${DATA_DIR}/${BUILD_STRING_FILE}
24 # Getting date and minor version
27 while [ -d "result/${MONDATE}_${i}" ]
31 MONDATE="${MONDATE}_${i}"
32 echo "MONDATE = ${MONDATE}"
35 RESULT_DIR=result/$MONDATE/FW_DELTA
36 DELTA_DIR=${RESULT_DIR}/DELTA
39 DIR_WITH_IMAGES=${DATA_DIR}/images
40 mkdir -p ${DIR_WITH_IMAGES}
42 ROOTFS_EXCTRACTED="rootfs-model-config.xml"
43 TIZEN_EXCTRACTED="tizen-build.conf"
44 HAL_EXCTRACTED="hal-model-conf.xml"
45 UPDATE_INFO_FILE="update-info.ini"
48 fn_extract_mounting_wrapper()
50 if [ "$PART_NAME" != "rootfs" ] && [ "$PART_NAME" != "hal" ]; then
53 local MNT_PNT="MNT_PNT"
55 sudo mount -o loop,ro "${DELTA_DIR}/${PART_BIN}" ${MNT_PNT}
57 fn_extract_needed_files ${MNT_PNT}
59 sudo umount ${MNT_PNT}
63 fn_extract_needed_files()
67 if [ "$PART_NAME" == "hal" ]; then
68 local HAL_TARG_NAME="hal-model-conf.xml"
69 local HAL_MODEL_CONFIG_PATH=${MNT_PNT}"/etc/config/model-config.xml"
71 # exctarct files/binaries
72 cp "${HAL_MODEL_CONFIG_PATH}" ${DELTA_DIR}/${HAL_EXCTRACTED}
74 elif [ "$PART_NAME" == "rootfs" ]; then
75 local UPGRADE_SUPPORT="upgrade-support"
76 local UPGRADE_APPLY="upgrade-apply"
77 local UPGRADE_APPLY_DELTAFS="upgrade-apply-deltafs"
79 local ROOTFS_MODEL_CONFIG_PATH=${MNT_PNT}"/etc/config/model-config.xml"
80 local TIZEN_BUILD_CONFIG_PATH=${MNT_PNT}"/etc/tizen-build.conf"
81 local UPGRADE_SUPPORT_PATH=${MNT_PNT}"/usr/libexec/"${UPGRADE_SUPPORT}
82 local UPGRADE_APPLY_PATH=${MNT_PNT}"/usr/bin/"${UPGRADE_APPLY}
83 local UPGRADE_APPLY_DELTAFS_PATH=${MNT_PNT}"/usr/bin/"${UPGRADE_APPLY_DELTAFS}
85 echo "===== Start writing image versions ====="
86 local OLD_BUILD_STRING="0.0"
87 local NEW_BUILD_STRING=`cat ${MNT_PNT}/etc/info.ini | grep "Date=" | sed "s/Date=//" | sed "s/;$//"`
88 echo "${BUILD_STRING_FILE} : ${OLD_BUILD_STRING}@${NEW_BUILD_STRING}"
89 echo -n ${OLD_BUILD_STRING}@${NEW_BUILD_STRING} > ${BUILD_STRING_PATH}
90 echo "===== Finish writing image versions ====="
92 ## exctarct files/binaries
93 cp "${ROOTFS_MODEL_CONFIG_PATH}" ${DELTA_DIR}/${ROOTFS_EXCTRACTED}
94 cp "${TIZEN_BUILD_CONFIG_PATH}" ${DELTA_DIR}/${TIZEN_EXCTRACTED}
95 cp "${UPGRADE_SUPPORT_PATH}"/* ${DELTA_DIR}/
96 cp "${UPGRADE_APPLY_PATH}" ${DELTA_DIR}/
97 cp "${UPGRADE_APPLY_DELTAFS_PATH}" ${DELTA_DIR}/
105 echo "Read ${in_file}"
107 if [ ! -r ${in_file} ]; then
108 echo "file ${in_file} cannot be read"
116 if [ "${line:0:1}" = "#" ]; then
122 if [ "${line_len}" = "0" ]; then
128 PART_NAME[${line_num}]=${fields[0]}
129 PART_BIN[${line_num}]=${fields[1]}
130 DELTA_BIN[${line_num}]=${fields[2]}
132 line_num=$(($line_num + 1))
140 fn_extract_all_images()
142 echo "Extracting archives with images:"
143 for tar_file in "${DATA_DIR}/${NEW_TAR_DIR}"/*.{tar,tar.gz}
145 echo -e "\t$(basename ${tar_file})"
146 tar xf "${tar_file}" -C "${DIR_WITH_IMAGES}"
157 echo -ne "Add an image for ${PART_NAME} (${PART_BIN} -> ${DELTA_BIN})"
158 IMG_SIZE=$(du -b ${DIR_WITH_IMAGES}/${PART_BIN} | awk '{print $1}')
159 SHA1_SUM=$(sha1sum ${DIR_WITH_IMAGES}/${PART_BIN} | awk '{print $1}')
160 echo -e "\t\t${IMG_SIZE}\t[${SHA1_SUM}]"
162 sudo mv ${DIR_WITH_IMAGES}/${PART_BIN} ${DELTA_DIR}/${DELTA_BIN}
163 sudo chown ${MY_ID}:${MY_ID} ${DELTA_DIR}/${PART_BIN}
165 fn_extract_mounting_wrapper
167 echo -e "${PART_NAME}\t${DELTA_BIN}\tFULL_IMAGE:BEFORE_BOOT_FOTA\t/dev/null\t0\t0\t${IMG_SIZE}\t0\t${SHA1_SUM}" >> ${UPDATE_CFG_PATH}
170 fn_build_update_info()
172 sudo python3 "${UPDATE_INFO_PATH}" ${HAL_EXCTRACTED} ${ROOTFS_EXCTRACTED} ${TIZEN_EXCTRACTED} ${UPDATE_INFO_FILE} --full_type
174 rm -f ${HAL_EXCTRACTED} ${ROOTFS_EXCTRACTED} ${TIZEN_EXCTRACTED}
179 echo "Make full delta file"
180 fn_extract_all_images $DIR_WITH_IMAGES
182 for ((part_num=0;part_num<PART_NUM;part_num++))
184 part_name=${PART_NAME[${part_num}]}
185 part_bin=${PART_BIN[${part_num}]}
186 delta_bin=${DELTA_BIN[${part_num}]}
188 fn_copy_image ${part_name} ${part_bin} ${delta_bin}
189 if [ "$?" != "0" ]; then
190 echo "Error: Abort Delta Generation"
195 #move update.cfg to delta directory
196 if [ -r ${UPDATE_CFG_PATH} ]; then
197 sudo cp ${UPDATE_CFG_PATH} ${DELTA_DIR}/update.cfg
198 sudo rm ${UPDATE_CFG_PATH}
200 if [ -r ${LOG_PATH} ]; then
201 sudo cp ${LOG_PATH} ${RESULT_DIR}/Delta.log
205 if [ -r ${BUILD_STRING_PATH} ]; then
206 sudo cp ${BUILD_STRING_PATH} ${DELTA_DIR}/${BUILD_STRING_FILE}
207 sudo rm ${BUILD_STRING_PATH}
210 if [ -r ${SETUP_SCRIPT_PATH} ]; then
211 sudo cp ${SETUP_SCRIPT_PATH} ${DELTA_DIR}/setup.sh
214 if [ -r ${DIR_WITH_IMAGES} ]; then
215 sudo rm -r ${DIR_WITH_IMAGES}
218 #--- archive result directory ---
221 if [ ! -r ${UPDATE_INFO_FILE} ]; then
222 echo "Delta generation failed - no ${UPDATE_INFO_FILE} generated."
226 sha1sum * > checksum.SHA1
227 echo "tar result directory"
228 sudo tar cf ../delta.tar *
231 echo "Making delta binary is End!!"
238 COMMON_BINDIR=${PWD}/../common/bin
240 fn_set_default_params
242 fn_read_delta_cfg ${DELTA_CFG_PATH}