Fix pkgmgr migration script 34/141034/9
authorJunghyun Yeon <jungh.yeon@samsung.com>
Fri, 28 Jul 2017 01:46:43 +0000 (10:46 +0900)
committerJunghyun Yeon <jungh.yeon@samsung.com>
Fri, 4 Aug 2017 07:01:42 +0000 (07:01 +0000)
- change to pkg_initdb handle only readonly packages
- seperate preload rw package and normal rw packages as seperate functions

Related changes:
[tpk-backend] : https://review.tizen.org/gerrit/#/c/141412/

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

index e845d9c..cd0f1f9 100644 (file)
@@ -126,7 +126,7 @@ function copy_user_tpk_manifest(){
 
 function move_user_tpk_files(){
        echo "#move user TPK's files"
-       echo "SELECT package FROM package_info WHERE package_preload='false' COLLATE NOCASE AND package_type='tpk' COLLATE NOCASE;" |
+       echo "SELECT package FROM package_info WHERE package_readonly='false' COLLATE NOCASE AND package_type='tpk' COLLATE NOCASE;" |
        sqlite3 $PARSER_BACKUP_DB_PATH > $DB_RESULT_FILE
 
        while read package
@@ -181,7 +181,7 @@ function move_user_wgt_rw_files(){
 
 function move_user_wgt_files(){
        echo "#move user WGT's files"
-       echo "SELECT package FROM package_info WHERE package_preload='false' COLLATE NOCASE AND package_type='wgt' COLLATE NOCASE;" |
+       echo "SELECT package FROM package_info WHERE package_readonly='false' COLLATE NOCASE AND package_type='wgt' COLLATE NOCASE;" |
        sqlite3 $PARSER_BACKUP_DB_PATH > $DB_RESULT_FILE
 
        while read package
@@ -196,7 +196,7 @@ function move_user_wgt_files(){
 
 function initdb(){
        echo "#pkg_initdb"
-       pkg_initdb --partial-rw
+       pkg_initdb --ro --partial-rw
 
        mkdir -m 770 -p /opt/dbspace/user/5001
        chmod 755 /opt/dbspace/user
@@ -209,7 +209,7 @@ function initdb(){
 function migrate_user_tpk(){
        #run manifest direct install of user tpk pkgs
        echo ".separator \" \"
-           SELECT package, LOWER(package_type) FROM package_info WHERE package_preload='false' COLLATE NOCASE AND (package_type='tpk' COLLATE NOCASE OR package_type='wgt' COLLATE NOCASE);" |
+           SELECT package, LOWER(package_type) FROM package_info WHERE package_readonly='false' COLLATE NOCASE AND (package_type='tpk' COLLATE NOCASE OR package_type='wgt' COLLATE NOCASE);" |
        sqlite3 $PARSER_BACKUP_DB_PATH > $DB_RESULT_FILE
 
        while read package type
@@ -224,7 +224,7 @@ function remove_files_for_deleted_packages(){
        #delete userdata of packages which are removed in 3.0
        echo "#delete userdata of removed packages"
        echo "ATTACH DATABASE '$PARSER_BACKUP_DB_PATH' AS backup;
-           SELECT package FROM backup.package_info WHERE package_preload='true' COLLATE NOCASE AND
+           SELECT package FROM backup.package_info WHERE package_readonly='true' COLLATE NOCASE AND
            package NOT IN (SELECT package FROM package_info);" |
        sqlite3 $PARSER_DB_PATH > $DB_RESULT_FILE
 
@@ -239,7 +239,7 @@ function remove_files_for_deleted_packages(){
 function move_preload_pkg_userdata(){
        echo "#move preload pkg's userdata"
        echo "ATTACH DATABASE '$PARSER_BACKUP_DB_PATH' AS backup;
-           SELECT package FROM backup.package_info WHERE package_preload='true' COLLATE NOCASE AND
+           SELECT package FROM backup.package_info WHERE package_readonly='true' COLLATE NOCASE AND
            package IN (SELECT package FROM package_info);" |
        sqlite3 $PARSER_DB_PATH > $DB_RESULT_FILE
        while read package
@@ -270,7 +270,7 @@ function move_preload_pkg_userdata(){
 function disable_preload_pkg(){
        echo "#disable preload rpm, tpk pkg"
        echo "ATTACH DATABASE '$PARSER_BACKUP_DB_PATH' AS backup;
-           SELECT package FROM backup.package_info WHERE package_preload='true' COLLATE NOCASE AND package_type!='wgt' COLLATE NOCASE AND package_disable='true' COLLATE NOCASE AND
+           SELECT package FROM backup.package_info WHERE package_readonly='true' COLLATE NOCASE AND package_type!='wgt' COLLATE NOCASE AND package_disable='true' COLLATE NOCASE AND
            package IN (SELECT package FROM package_info);" |
        sqlite3 $PARSER_DB_PATH > $DB_RESULT_FILE
 
@@ -283,7 +283,7 @@ function disable_preload_pkg(){
 
        echo "#disable preload wgt pkg"
        echo "ATTACH DATABASE '$PARSER_BACKUP_DB_PATH' AS backup;
-           SELECT package FROM backup.package_info WHERE package_preload='true' COLLATE NOCASE AND package_type='wgt' COLLATE NOCASE AND package_disable='true' COLLATE NOCASE AND
+           SELECT package FROM backup.package_info WHERE package_readonly='true' COLLATE NOCASE AND package_type='wgt' COLLATE NOCASE AND package_disable='true' COLLATE NOCASE AND
            package IN (SELECT package FROM package_info);" |
        sqlite3 $PARSER_DB_PATH > $DB_RESULT_FILE
 
@@ -299,7 +299,7 @@ function disable_user_pkg(){
        echo "#disable user pkg"
        echo ".separator \" \"
            ATTACH DATABASE '$PARSER_BACKUP_DB_PATH' AS backup;
-           SELECT package, package_type FROM backup.package_info WHERE package_preload='false' COLLATE NOCASE AND package_type !='rpm' COLLATE NOCASE AND package_disable='true' COLLATE NOCASE AND
+           SELECT package, package_type FROM backup.package_info WHERE package_readonly='false' COLLATE NOCASE AND package_type !='rpm' COLLATE NOCASE AND package_disable='true' COLLATE NOCASE AND
            package IN (SELECT package FROM package_info);" |
        sqlite3 $PARSER_DB_PATH > $DB_RESULT_FILE
 
@@ -316,10 +316,52 @@ function remove_backup_db(){
        rm $PARSER_BACKUP_DB_PATH
 }
 
+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='tpk';" |
+       sqlite3 $PARSER_BACKUP_DB_PATH > $DB_RESULT_FILE
+
+       while read package
+       do
+               echo "init tpk preload rw package $package..."
+               tpk-backend -y $package --preload-rw
+       done < $DB_RESULT_FILE
+       rm -f $DB_RESULT_FILE
+}
+
+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
+       do
+               echo "init wgt preload rw package $package..."
+               wgt-backend -y $package --preload-rw
+       done < $DB_RESULT_FILE
+       rm -f $DB_RESULT_FILE
+}
+
+function init_user_tpk_packages() {
+       echo "#init user tpk packages"
+       echo ".separator \" \"
+           SELECT package FROM package_info WHERE package_readonly='false' COLLATE NOCASE AND package_preload='false' COLLATE NOCASE AND package_type='tpk';" |
+       sqlite3 $PARSER_BACKUP_DB_PATH > $DB_RESULT_FILE
+
+       while read package
+       do
+               echo "init user tpk package $package..."
+               tpk-backend -y $package
+       done < $DB_RESULT_FILE
+       rm -f $DB_RESULT_FILE
+}
+
 function init_user_wgt_packages(){
        echo "#init user wgt packages"
        echo ".separator \" \"
-           SELECT package FROM package_info WHERE package_preload='false' COLLATE NOCASE AND package_type='wgt';" |
+           SELECT package FROM package_info WHERE package_readonly='false' COLLATE NOCASE AND package_type='wgt';" |
        sqlite3 $PARSER_BACKUP_DB_PATH > $DB_RESULT_FILE
 
        while read package
@@ -348,7 +390,10 @@ move_user_tpk_files
 move_user_wgt_files
 
 initdb
+init_user_tpk_packages
+init_user_tpk_preload_rw_packages
 init_user_wgt_packages
+init_user_wgt_preload_rw_packages
 
 remove_files_for_deleted_packages
 move_preload_pkg_userdata