SCRIPT_UPGRADE_PARTIAL="upgrade-partial.sh"
SCRIPT_UPGRADE_FOTA="upgrade-fota.sh"
FLOCK_PATH="/var/lock/clone_partitions.lock"
+DELTA_VERIFIER="/usr/bin/delta-verifier"
prepare_fota_dir() {
if [ -d "$FOTA_DIR" ]; then
verify_file "$0"
tar xfp "$DOWNLOAD_DELTA" -C "$FOTA_DIR" upgrade-common.inc
verify_file "$FOTA_DIR/upgrade-common.inc"
+tar xfp "$DOWNLOAD_DELTA" -C "$FOTA_DIR" update-info.ini
+verify_file "$FOTA_DIR/update-info.ini"
+
+if [ ! -x ${DELTA_VERIFIER} ]; then
+ log "[Error] ${DELTA_VERIFIER} binary for delta verification not found"
+ device_board_set_upgrade_status -1
+ exit 1
+fi
+
+log "[Info] Begin delta verification"
+RET=0
+# '||'' used to stop script form exiting (errexit is set)
+${DELTA_VERIFIER} --update_info_path "$FOTA_DIR/update-info.ini" || RET=$?
+
+if [ ${RET} -ne 0 ]; then
+ log "[Error] Delta verification unsuccessful"
+ device_board_set_upgrade_status -1
+ exit 1
+fi
+log "[Info] Delta verification success"
. "$FOTA_DIR"/upgrade-common.inc