From c8d3dffe06f1cdf9035618e0e37253cd96bcbf77 Mon Sep 17 00:00:00 2001 From: Kichan Kwon Date: Tue, 9 Jan 2018 16:50:54 +0900 Subject: [PATCH] Run pre-script before system-update if exist Change-Id: Ia71e239e87dcf28fc586e6397b78edd611993f96 Signed-off-by: Kichan Kwon --- scripts/upgrade-trigger.sh | 30 +++++++++++++++++++++++------- 1 file changed, 23 insertions(+), 7 deletions(-) diff --git a/scripts/upgrade-trigger.sh b/scripts/upgrade-trigger.sh index f9c700d..4dd80fb 100755 --- a/scripts/upgrade-trigger.sh +++ b/scripts/upgrade-trigger.sh @@ -3,13 +3,14 @@ source /etc/tizen-platform.conf FOTA_DIR="$TZ_SYS_GLOBALUSER_DATA/update/save" STATUS_DIR="/opt/data/update" VERSION_FILE="/opt/etc/version" +DELTA_TAR=$1 flash_pre_image() { echo "Flash images for update..." DEVICE="/dev/mmcblk0" CONFIG_FILE="update.cfg" - /bin/tar xvfp $1 -C "$FOTA_DIR" $CONFIG_FILE + /bin/tar xvfp $DELTA_TAR -C "$FOTA_DIR" $CONFIG_FILE if [ ! -e "$FOTA_DIR/$CONFIG_FILE" ]; then echo "There is no $CONFIG_FILE" return @@ -18,7 +19,7 @@ flash_pre_image() { while read PART_NAME DELTA_NAME TYPE DEV OFFSET SIZE HASH1 HASH2 do if [ "$TYPE" = "PRE_UA" ]; then - /bin/tar xvfp $1 -C $FOTA_DIR $DELTA_NAME + /bin/tar xvfp $DELTA_TAR -C $FOTA_DIR $DELTA_NAME if [ ! -e "$FOTA_DIR/$DELTA_NAME" ]; then echo "There is no delta for $PART_NAME" continue @@ -47,8 +48,8 @@ flash_pre_image() { > "$FOTA_DIR/${CONFIG_FILE}_tmp" /bin/mv "$FOTA_DIR/${CONFIG_FILE}_tmp" "$FOTA_DIR/$CONFIG_FILE" - /bin/tar --delete --file=$1 $CONFIG_FILE - /bin/tar rvf $1 -C $FOTA_DIR $CONFIG_FILE + /bin/tar --delete --file=$DELTA_TAR $CONFIG_FILE + /bin/tar rvf $DELTA_TAR -C $FOTA_DIR $CONFIG_FILE fi done < "$FOTA_DIR/$CONFIG_FILE" } @@ -61,6 +62,18 @@ write_version_info() { echo "OLD_REL=$OLD_REL" >> $VERSION_FILE } +run_pre_script() { + PRE_SCRIPT_NAME=pre.sh + PRE_SCRIPT_PATH=$FOTA_DIR/$PRE_SCRIPT_NAME + + /bin/tar xvfp $DELTA_TAR -C $FOTA_DIR $PRE_SCRIPT_NAME + + if [ -e $PRE_SCRIPT_PATH ]; then + /bin/sh $PRE_SCRIPT_PATH + rm $PRE_SCRIPT_PATH + fi +} + # Check fota directory if [ ! -d "$FOTA_DIR" ]; then echo "Create fota dir..." @@ -78,19 +91,22 @@ if [ $? -ne 0 ]; then write_version_info fi +# Run pre-script if exist +run_pre_script + # Flash images # - in case of some image was newly included # - in case of some image should be flashed before update -flash_pre_image $1 +flash_pre_image $DELTA_TAR # Extract delta.ua echo "Extract delta.ua..." -/bin/tar xvfp $1 -C "$FOTA_DIR" delta.ua +/bin/tar xvfp $DELTA_TAR -C "$FOTA_DIR" delta.ua sync sleep 1 echo "Move delta.tar..." -mv $1 $FOTA_DIR/delta.tar +mv $DELTA_TAR $FOTA_DIR/delta.tar sync # FOTA: /usr/bin/rw-update-prepare.sh -- 2.7.4