Fix upgrade script 39/160339/3
authorJunghyun Yeon <jungh.yeon@samsung.com>
Wed, 15 Nov 2017 11:45:46 +0000 (20:45 +0900)
committerJunghyun Yeon <jungh.yeon@samsung.com>
Thu, 16 Nov 2017 00:27:57 +0000 (09:27 +0900)
- Fix to support preload-rw but non-removable package.
- remove unnecessary spaces.

Change-Id: I20ac5a85df864033bea5f341822d1c48efab4643
Signed-off-by: Junghyun Yeon <jungh.yeon@samsung.com>
data/700.pkgmgr.patch.sh.in

index 07cba2a12ff6c5190c4b4f10bc0e2e5c108f4cb5..b8075bde016bd12f69e2f6c7adb7e4f9d8b7116f 100644 (file)
@@ -351,20 +351,29 @@ function remove_backup_db(){
 function init_user_tpk_preload_rw_packages() {
        echo "#init tpk preload rw packages"
        echo ".separator \" \"
-           SELECT package FROM package_info WHERE package_readonly='false' COLLATE NOCASE AND package_preload='true' COLLATE NOCASE AND package_type COLLATE NOCASE IN ('tpk', 'rpm');" |
-       sqlite3 $PARSER_BACKUP_DB_PATH > $DB_RESULT_FILE
-
-       while read package
+           SELECT package, LOWER(package_removable) FROM package_info WHERE
+           package_readonly='false' COLLATE NOCASE AND
+           package_preload='true' COLLATE NOCASE AND
+           package_type COLLATE NOCASE IN ('tpk', 'rpm');" |
+       sqlite3 $PARSER_BACKUP_DB_PATH |
+       while read -a value
        do
+               local package=${value[0]}
+               local package_removable=${value[1]}
                #migrate preload rw package
-               result=$(sqlite3 $PARSER_DB_PATH "SELECT COUNT(*) FROM package_info WHERE package='$package';")
+               local result=$(sqlite3 $PARSER_DB_PATH "SELECT COUNT(*) FROM package_info WHERE package='$package';")
                if [ $result != "1" ]
                then
                        echo "init tpk preload rw package $package..."
                        echo "SELECT cert_info FROM package_cert_index_info WHERE cert_id=(SELECT dist_root_cert FROM package_cert_info WHERE package='$package');" |
                        sqlite3 $CERT_BACKUP_DB_PATH > $CERT_TEMP_FILEPATH/$package.txt
 
-                       tpk-backend -y $package --preload-rw
+                       if [ "$package_removable" == "false" ]; then
+                               tpk-backend -y $package --preload-rw --no-remove
+                       else
+                               tpk-backend -y $package --preload-rw
+                       fi
+
                        rm -f $CERT_TEMP_FILEPATH/$package.txt
                        migrate_cert_info $package
                        move_user_tpk_rw_files $package
@@ -375,24 +384,31 @@ function init_user_tpk_preload_rw_packages() {
                                rm -rf "$DEFAULT_PKG_APP_LOCATION/$package"
                        fi
                fi
-       done < $DB_RESULT_FILE
-       rm -f $DB_RESULT_FILE
+       done
 }
 
 function init_user_wgt_preload_rw_packages() {
        echo "#init wgt preload rw packages"
        echo ".separator \" \"
-           SELECT package FROM package_info WHERE package_readonly='false' COLLATE NOCASE AND package_preload='true' COLLATE NOCASE AND package_type='wgt';" |
-       sqlite3 $PARSER_BACKUP_DB_PATH > $DB_RESULT_FILE
-
-       while read package
+           SELECT package, LOWER(package_removable) FROM package_info WHERE
+           package_readonly='false' COLLATE NOCASE AND
+           package_preload='true' COLLATE NOCASE AND package_type='wgt';" |
+       sqlite3 $PARSER_BACKUP_DB_PATH |
+       while read -a value
        do
+               local package=${value[0]}
+               local package_removable=${value[1]}
                #migrate preload rw package
-               result=$(sqlite3 $PARSER_DB_PATH "SELECT COUNT(*) FROM package_info WHERE package='$package';")
+               local result=$(sqlite3 $PARSER_DB_PATH "SELECT COUNT(*) FROM package_info WHERE package='$package';")
                if [ $result != "1" ]
                then
                        echo "init wgt preload rw package $package..."
-                       wgt-backend -y $package --preload-rw
+                       if [ "$package_removable" == "false" ]; then
+                               wgt-backend -y $package --preload-rw --no-remove
+                       else
+                               wgt-backend -y $package --preload-rw
+                       fi
+
                        move_user_wgt_rw_files $package
                else
                        echo "Remove readonly updated pkg $package"
@@ -400,8 +416,7 @@ function init_user_wgt_preload_rw_packages() {
                                rm -rf "$DEFAULT_PKG_APP_LOCATION/$package"
                        fi
                fi
-       done < $DB_RESULT_FILE
-       rm -f $DB_RESULT_FILE
+       done
 }
 
 function insert_cert_index_info() {
@@ -577,7 +592,7 @@ function migrate_external_info(){
        rm -f $DB_RESULT_FILE
 }
 
- function make_web_widget_symlink(){
+function make_web_widget_symlink(){
         echo "#make web widget symlink"
         echo ".separator \" \"
             SELECT package, app_id FROM package_app_info WHERE app_component='widgetapp' AND app_type='webapp';" |
@@ -596,7 +611,7 @@ function migrate_external_info(){
         rm -f $DB_RESULT_FILE
 }
 
- backup_db
+backup_db
 
 create_restriction_db