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
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"
rm -rf "$DEFAULT_PKG_APP_LOCATION/$package"
fi
fi
- done < $DB_RESULT_FILE
- rm -f $DB_RESULT_FILE
+ done
}
function insert_cert_index_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';" |
rm -f $DB_RESULT_FILE
}
- backup_db
+backup_db
create_restriction_db