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"
78 local ROOTFS_MODEL_CONFIG_PATH=${MNT_PNT}"/etc/config/model-config.xml"
79 local TIZEN_BUILD_CONFIG_PATH=${MNT_PNT}"/etc/tizen-build.conf"
80 local UPGRADE_SUPPORT_PATH=${MNT_PNT}"/usr/libexec/"${UPGRADE_SUPPORT}
81 local UPGRADE_APPLY_PATH=${MNT_PNT}"/usr/bin/"${UPGRADE_APPLY}
83 echo "===== Start writing image versions ====="
84 local OLD_BUILD_STRING="0.0"
85 local NEW_BUILD_STRING=`cat ${MNT_PNT}/etc/info.ini | grep "Date=" | sed "s/Date=//" | sed "s/;$//"`
86 echo "${BUILD_STRING_FILE} : ${OLD_BUILD_STRING}@${NEW_BUILD_STRING}"
87 echo -n ${OLD_BUILD_STRING}@${NEW_BUILD_STRING} > ${BUILD_STRING_PATH}
88 echo "===== Finish writing image versions ====="
90 ## exctarct files/binaries
91 cp "${ROOTFS_MODEL_CONFIG_PATH}" ${DELTA_DIR}/${ROOTFS_EXCTRACTED}
92 cp "${TIZEN_BUILD_CONFIG_PATH}" ${DELTA_DIR}/${TIZEN_EXCTRACTED}
93 cp "${UPGRADE_SUPPORT_PATH}"/* ${DELTA_DIR}/
94 cp "${UPGRADE_APPLY_PATH}" ${DELTA_DIR}/
102 echo "Read ${in_file}"
104 if [ ! -r ${in_file} ]; then
105 echo "file ${in_file} cannot be read"
113 if [ "${line:0:1}" = "#" ]; then
119 if [ "${line_len}" = "0" ]; then
125 PART_NAME[${line_num}]=${fields[0]}
126 PART_BIN[${line_num}]=${fields[1]}
127 DELTA_BIN[${line_num}]=${fields[2]}
129 line_num=$(($line_num + 1))
137 fn_extract_all_images()
139 echo "Extracting archives with images:"
140 for tar_file in "${DATA_DIR}/${NEW_TAR_DIR}"/*.{tar,tar.gz}
142 echo -e "\t$(basename ${tar_file})"
143 tar xf "${tar_file}" -C "${DIR_WITH_IMAGES}"
154 echo -ne "Add an image for ${PART_NAME} (${PART_BIN} -> ${DELTA_BIN})"
155 IMG_SIZE=$(du -b ${DIR_WITH_IMAGES}/${PART_BIN} | awk '{print $1}')
156 SHA1_SUM=$(sha1sum ${DIR_WITH_IMAGES}/${PART_BIN} | awk '{print $1}')
157 echo -e "\t\t${IMG_SIZE}\t[${SHA1_SUM}]"
159 sudo mv ${DIR_WITH_IMAGES}/${PART_BIN} ${DELTA_DIR}/${DELTA_BIN}
160 sudo chown ${MY_ID}:${MY_ID} ${DELTA_DIR}/${PART_BIN}
162 fn_extract_mounting_wrapper
164 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}
167 fn_build_update_info()
169 sudo python3 "${UPDATE_INFO_PATH}" ${HAL_EXCTRACTED} ${ROOTFS_EXCTRACTED} ${TIZEN_EXCTRACTED} ${UPDATE_INFO_FILE} --full_type
171 rm -f ${HAL_EXCTRACTED} ${ROOTFS_EXCTRACTED} ${TIZEN_EXCTRACTED}
176 echo "Make full delta file"
177 fn_extract_all_images $DIR_WITH_IMAGES
179 for ((part_num=0;part_num<PART_NUM;part_num++))
181 part_name=${PART_NAME[${part_num}]}
182 part_bin=${PART_BIN[${part_num}]}
183 delta_bin=${DELTA_BIN[${part_num}]}
185 fn_copy_image ${part_name} ${part_bin} ${delta_bin}
186 if [ "$?" != "0" ]; then
187 echo "Error: Abort Delta Generation"
192 #move update.cfg to delta directory
193 if [ -r ${UPDATE_CFG_PATH} ]; then
194 sudo cp ${UPDATE_CFG_PATH} ${DELTA_DIR}/update.cfg
195 sudo rm ${UPDATE_CFG_PATH}
197 if [ -r ${LOG_PATH} ]; then
198 sudo cp ${LOG_PATH} ${RESULT_DIR}/Delta.log
202 if [ -r ${BUILD_STRING_PATH} ]; then
203 sudo cp ${BUILD_STRING_PATH} ${DELTA_DIR}/${BUILD_STRING_FILE}
204 sudo rm ${BUILD_STRING_PATH}
207 if [ -r ${SETUP_SCRIPT_PATH} ]; then
208 sudo cp ${SETUP_SCRIPT_PATH} ${DELTA_DIR}/setup.sh
211 if [ -r ${DIR_WITH_IMAGES} ]; then
212 sudo rm -r ${DIR_WITH_IMAGES}
215 #--- archive result directory ---
218 if [ ! -r ${UPDATE_INFO_FILE} ]; then
219 echo "Delta generation failed - no ${UPDATE_INFO_FILE} generated."
223 sha1sum * > checksum.SHA1
224 echo "tar result directory"
225 sudo tar cf ../delta.tar *
228 echo "Making delta binary is End!!"
235 COMMON_BINDIR=${PWD}/../common/bin
237 fn_set_default_params
239 fn_read_delta_cfg ${DELTA_CFG_PATH}