Run pre-script before system-update if exist 92/166292/4
authorKichan Kwon <k_c.kwon@samsung.com>
Tue, 9 Jan 2018 07:50:54 +0000 (16:50 +0900)
committerKichan Kwon <k_c.kwon@samsung.com>
Wed, 10 Jan 2018 01:48:43 +0000 (10:48 +0900)
Change-Id: Ia71e239e87dcf28fc586e6397b78edd611993f96
Signed-off-by: Kichan Kwon <k_c.kwon@samsung.com>
scripts/upgrade-trigger.sh

index f9c700d..4dd80fb 100755 (executable)
@@ -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