Add initial values support - values to feed the shared database on first startup.
[platform/core/security/key-manager.git] / data / scripts / 230.key-manager-migrate-dkek.patch.sh
1 #!/bin/bash
2
3 CKM_DATA_PATH=/opt/data/ckm
4 VERSION_INFO_PATH=${CKM_DATA_PATH}/version-info
5 CURRENT_VERSION=1
6
7 migrate_from_0_to_1()
8 {
9     ARR_UID=()
10     ARR_IDX=()
11
12     # Extract uids from DKEK files
13     for uid in `ls ${CKM_DATA_PATH} | grep "^key-[0-9]*-[0-9]*$" | awk 'BEGIN { FS = "-" }; { print $2 }' | awk '!x[$0]++'`
14     do
15         ARR_UID+=($uid)
16     done
17
18     for (( i = 0; i < ${#ARR_UID[@]}; i++ ))
19     do
20         idx_max=0
21         idx_submax=0
22
23         uid=${ARR_UID[$i]}
24         ARR_IDX=()
25         # Extract autoincremented index per uids
26         for file in `ls ${CKM_DATA_PATH} | grep "^key-${uid}-[0-9]*$"`
27         do
28             idx=`echo $file | awk 'BEGIN { FS = "-" }; { print $3 }'`
29             ARR_IDX+=($idx)
30         done
31
32         # Find max index(for key-<uid>) and submax index(for key-backup-<uid>)
33         for idx in ${ARR_IDX[@]}
34         do
35             if [ $idx -gt $idx_max ]
36             then
37                 idx_submax=$idx_max
38                 idx_max=$idx
39             fi
40         done
41
42         # Rename file
43         # smack label setting isn't needed.
44         # (Because not remove/add new file, but just rename file)
45         mv "${CKM_DATA_PATH}/key-${uid}-${idx_max}" "${CKM_DATA_PATH}/key-${uid}"
46         if [ -f "${CKM_DATA_PATH}/key-${uid}-${idx_submax}" ]
47         then
48             mv "${CKM_DATA_PATH}/key-${uid}-${idx_submax}" "${CKM_DATA_PATH}/key-backup-${uid}"
49         fi
50
51         # [Optional] Remove other key-<uid>-<numeric> files.
52         for file in `ls ${CKM_DATA_PATH} | grep "^key-${uid}-[0-9]*$"`
53         do
54             rm ${CKM_DATA_PATH}/${file}
55         done
56     done
57 }
58
59 if [ ! -f ${VERSION_INFO_PATH} ]
60 then
61     echo "CKM VERSION_INFO NOT EXIST."
62     echo "$CURRENT_VERSION" > $VERSION_INFO_PATH
63     migrate_from_0_to_1
64 fi