Update FOTA script of privacy package migration 99/191699/1
authorYunjin Lee <yunjin-.lee@samsung.com>
Mon, 22 Oct 2018 10:45:38 +0000 (19:45 +0900)
committerYunjin Lee <yunjin-.lee@samsung.com>
Mon, 22 Oct 2018 10:45:38 +0000 (19:45 +0900)
- Modified to pass unsettable packages
- Handle packages not in privacy whitelist

Change-Id: I2f74b1bb7ab644859648ff3be45de4d82b3eec12
Signed-off-by: Yunjin Lee <yunjin-.lee@samsung.com>
upgrade/711.security_privacy_package_migration.sh

index 07071c6b2f2b4a73f7ec7e235fc1037b8971a3ff..fb378b40a795c470b540aa5fd5a02971dc728e5c 100644 (file)
@@ -15,28 +15,41 @@ privilege_list=`sqlite3 $CORE_PRIVILEGE_INFO_DB "select distinct privilege_name
 for i in $privilege_list
 do
        pkg_list=`sqlite3 $PKGMGR_DB "select distinct package from package_privilege_info where privilege='$i'"`
-       privacy_name=`sqlite3 $CORE_PRIVILEGE_INFO_DB "select privacy_name from privilege_info where privilege_name='$i'"`
+       privacy_name=`sqlite3 $CORE_PRIVILEGE_INFO_DB "select distinct privacy_name from privilege_info where privilege_name='$i'"`
        privacy_id=`sqlite3 $CORE_PRIVILEGE_INFO_DB "select privacy_id from privacy_info where privacy_name='$privacy_name'"`
        for j in $pkg_list
        do
+               check_whitelist="0"
+               api_version=`sqlite3 $PKGMGR_DB "select package_api_version from package_info where package='$j'"`
                privacy_option_list=`sqlite3 $CORE_PRIVILEGE_INFO_DB "select privacy_option from privacy_whitelist where pkg_id='$j' and settable='0'"`
                for k in $privacy_option_list
                do
+                       if [ "$k" == "" ]; then
+                               continue;
+                       fi
                        privacy_option=`echo ${k:$privacy_id:1}`
-                       if [ "$privacy_option" == "0" ]; then
-                               api_version=`sqlite3 $PKGMGR_DB "select package_api_version from package_info where package='$j'"`
-                               sqlite3 $PRIVACY_DB "insert or ignore into privacy_package values ('$j', $globalapp_uid, '$privacy_name', '$i', 0, '$api_version')"
+                       if [ "$privacy_option" == "1" ]; then
+                               check_whitelist="1"
+                               #echo "PASS, pkgid = $j, privacy_name = $privacy_name, privacy option = '$k', privacy_id='$privacy_id', value = '$privacy_option'"
                        fi
                done
                privacy_option_list=`sqlite3 $CORE_PRIVILEGE_INFO_DB "select privacy_option from privacy_whitelist where pkg_id='$j' and settable='1'"`
                for k in $privacy_option_list
                do
+                       if [ "$k" == "" ]; then
+                               continue;
+                       fi
                        privacy_option=`echo ${k:$privacy_id:1}`
                        if [ "$privacy_option" == "1" ]; then
-                               api_version=`sqlite3 $PKGMGR_DB "select package_api_version from package_info where package='$j'"`
+                               check_whitelist="1"
+                               #echo "ADD, pkgid = $j, privacy_name = $privacy_name, privacy option = '$k', privacy_id='$privacy_id', value = '$privacy_option'"
                                sqlite3 $PRIVACY_DB "insert or ignore into privacy_package values ('$j', $globalapp_uid, '$privacy_name', '$i', 0, '$api_version')"
                        fi
                done
+               if [ "$check_whitelist" == "0" ]; then
+                       #echo "ADD, pkgid = $j, privacy_name = $privacy_name"
+                       sqlite3 $PRIVACY_DB "insert into privacy_package values('$j', $globalapp_uid, '$privacy_name', '$i', 0, '$api_version')"
+               fi
        done
 done