MK_PART_DELTA=${COMMON_BINDIR}/mk_part_delta.sh
DELTA_CFG_PATH=./cfg/delta.cfg
UPDATE_CFG_PATH=./cfg/update.cfg
- PRE_SCRIPT_PATH=./cfg/pre.sh
+ UPDATE_INFO_FILE=update-info.ini
+ UPDATE_INFO_PATH=./data/${UPDATE_INFO_FILE}
+ SETUP_SCRIPT_PATH=./cfg/setup.sh
DELTA_UA=./data/delta.ua
UPDATE_MANAGER=./data/upgrade-trigger.sh
LOG_PATH=./data/Delta.log
+ BUILD_STRING_FILE=build_string.txt
+ BUILD_STRING_PATH=./data/${BUILD_STRING_FILE}
# Getting date and minor version
MONDATE=$(date +%m%d)
i=1
return 1;
fi
- sudo mount -t ext4 -o loop ${IMAGE} ${MNT_PNT}
+ sudo mount -o loop ${IMAGE} ${MNT_PNT}
if [ "$?" != "0" ]; then
return 1;
fi
sudo mv data/${PART_OUT} ${RESULT_DIR}/${part_bin}
sudo mv ${RESULT_DIR}/${part_bin}/${delta_bin} ${DELTA_DIR}
fi
+ if [ "$?" != "0" ]; then
+ echo "Warning: No differences - remove record for \"${part_name}\" from the final update.cfg"
+ sed -i "/^${part_name}\b/d" "${UPDATE_CFG_PATH}"
+ fi
else
sudo rm -rf ${RESULT_DIR}/${part_bin}
echo "Error: Abort Delta Generation"
sudo rm -rf ${RESULT_DIR}/${part_bin}
done
+ if [ ! -s "${UPDATE_CFG_PATH}" ]; then
+ echo "Error: No differences between versions - abort delta generation"
+ exit 2
+ fi
+
#move update.cfg to delta directory
if [ -r ${UPDATE_CFG_PATH} ]; then
sudo cp ${UPDATE_CFG_PATH} ${DELTA_DIR}/update.cfg
sudo cp ${LOG_PATH} ${RESULT_DIR}/Delta.log
sudo rm ${LOG_PATH}
fi
- if [ -r ${PRE_SCRIPT_PATH} ]; then
- sudo cp ${PRE_SCRIPT_PATH} ${DELTA_DIR}/pre.sh
+
+ if [ -r ${BUILD_STRING_PATH} ]; then
+ sudo cp ${BUILD_STRING_PATH} ${DELTA_DIR}/${BUILD_STRING_FILE}
+ sudo rm ${BUILD_STRING_PATH}
+ fi
+
+ if [ -r ${UPDATE_INFO_PATH} ]; then
+ sudo cp ${UPDATE_INFO_PATH} ${DELTA_DIR}/${UPDATE_INFO_FILE}
+ sudo rm ${UPDATE_INFO_PATH}
+ fi
+
+ if [ -r ${SETUP_SCRIPT_PATH} ]; then
+ sudo cp ${SETUP_SCRIPT_PATH} ${DELTA_DIR}/setup.sh
fi
#--- extract files which would be appended to delta.tar ---
fi
cd ${DELTA_DIR}
sudo cp ${COMMON_BINDIR}/unpack.sh ./
-sudo tar --overwrite -cf ../delta.tar *
+
+# Ensure essential files are at beginning of archive (metadata, scripts and binaries to perform upgrade)
+touch *.txt *.cfg *.ini *.sh *.ua
+sudo tar --overwrite -cpf ../delta.tar $(ls -1td *)
+
+SIGN_PKCS_FILE=$1
+SIGN_PKCS_PASSWORD=$2
+if [ "z${SIGN_PKCS_FILE}" != "z" ]; then
+ if [ "z${SIGN_PKCS_PASSWORD}" != "z" ]; then
+ SIGNER_OPTIONAL_ARGUMENT="-p ${SIGN_PKCS_PASSWORD}"
+ fi
+ sudo ${COMMON_BINDIR}/sign_img.sh -k ${SIGN_PKCS_FILE} -i ../delta.tar ${SIGNER_OPTIONAL_ARGUMENT}
+fi
cd -
END_TIMESTAMP="$(date +%T)"