Sign with PKCS file instead of raw key/cert
[platform/core/system/upgrade-tools.git] / scripts / delta-generation.sh
1 #!/bin/bash
2 #---------------------------------------------------------#
3 #                Delta Generation Script
4 #                  (Tizen 4.0 Upgrade)
5 #
6 # Preconditions
7 #  * tota-upg
8 #  * diff binary and libraries:
9 #   ss_bsdiff, lib7zip, libdivsufsort
10 #
11 # Upgrade procedure
12 #  1. Download images (old, new)
13 #  2. Download old image to target
14 #  3. Generate delta
15 #  4. Download delta to target
16 #  5. Execute upgrade trigger
17 #
18 # This script covers step 3
19 #
20 #---------------------------------------------------------#
21
22 # Get argument
23 if [ $# -lt 2 ]; then
24         echo "Usage: delta-generation.sh TOTA_UPG_PATH TARGET [SIGN_PKCS_FILE SIGN_PKCS_PASSWORD]"
25         echo " TARGET> rpi3 | tw1"
26         exit
27 fi
28
29 TOTA_UPG_PATH=$1
30 TARGET=$2
31 SIGN_PKCS_FILE=$3
32 SIGN_PKCS_PASSWORD=$4
33
34 # Path of downloaded images (old, new)
35 TOTA_UPG_WORK=${TOTA_UPG_PATH}/mk_delta/${TARGET}
36 OLD_IMG_PATH=${TOTA_UPG_WORK}/data/old_tar
37 NEW_IMG_PATH=${TOTA_UPG_WORK}/data/new_tar
38
39 # Cleanup previous data
40 MOUNT_LIST=$(mount | grep ${TOTA_UPG_WORK})
41 if [ ! -z "$MOUNT_LIST" ]; then
42         echo "$MOUNT_LIST" | \
43         while read LINE
44         do
45                 MOUNT_PATH=$(echo "$LINE" | awk '{print $3}')
46                 sudo umount $MOUNT_PATH
47         done
48 fi
49
50 CWD=${PWD}
51 cd $TOTA_UPG_WORK
52 ls | grep -vE "cfg|data" | xargs rm -rf
53 cd data
54 ls | grep -vE "old_tar|new_tar" | xargs rm -rf
55 cd ${CWD}
56
57 # Execute mk_delta script
58 CWD=${PWD}
59 cd ${TOTA_UPG_WORK}
60 ../common/bin/mk_delta.sh ${SIGN_PKCS_FILE} ${SIGN_PKCS_PASSWORD}
61 cd ${CWD}