From: Junghyun Yeon Date: Tue, 29 Dec 2020 03:45:36 +0000 (+0900) Subject: Add upgrade script for pkg db version 30006 X-Git-Tag: submit/tizen/20210617.070222~2 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=d90ec20514c3f415c2b0c6532329a52978dd2b83;p=platform%2Fcore%2Fappfw%2Fpkgmgr-tool.git Add upgrade script for pkg db version 30006 Change-Id: I1e10a44388d8886f4ca32cf2fb4afe11eb46e11c Signed-off-by: Junghyun Yeon --- diff --git a/CMakeLists.txt b/CMakeLists.txt index 4695cbf..d583b18 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -85,3 +85,5 @@ CONFIGURE_FILE(${CMAKE_CURRENT_SOURCE_DIR}/data/updates/upgrade_to_30004.sh.in u INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/upgrade_to_30004.sh DESTINATION /etc/package-manager/updates/) CONFIGURE_FILE(${CMAKE_CURRENT_SOURCE_DIR}/data/updates/upgrade_to_30005.sh.in upgrade_to_30005.sh @ONLY) INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/upgrade_to_30005.sh DESTINATION /etc/package-manager/updates/) +CONFIGURE_FILE(${CMAKE_CURRENT_SOURCE_DIR}/data/updates/upgrade_to_30006.sh.in upgrade_to_30006.sh @ONLY) +INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/upgrade_to_30006.sh DESTINATION /etc/package-manager/updates/) diff --git a/data/updates/upgrade_to_30006.sh.in b/data/updates/upgrade_to_30006.sh.in new file mode 100644 index 0000000..1ff76f7 --- /dev/null +++ b/data/updates/upgrade_to_30006.sh.in @@ -0,0 +1,74 @@ +#!/bin/sh +PATH=/bin:/usr/bin:/sbin:/usr/sbin + +source /etc/tizen-platform.conf + +PARSER_DB_NAME=.pkgmgr_parser.db +CERT_DB_NAME=.pkgmgr_cert.db +GLOBAL_PARSER_DB_PATH=$TZ_SYS_DB/$PARSER_DB_NAME +GLOBAL_CERT_DB_PATH=$TZ_SYS_DB/$CERT_DB_NAME + +DB_RESULT_FILE=/tmp/result.log + +function migrate_global_certdb() { + echo "PRAGMA user_version=30006;" | sqlite3 $GLOBAL_CERT_DB_PATH +} + +function migrate_parserdb() { + local db_path=$1 + + #package_app_res_control + echo "CREATE TABLE IF NOT EXISTS package_app_res_control ( + app_id TEXT NOT NULL, + res_type TEXT NOT NULL, + min_res_version TEXT, + max_res_version TEXT, + auto_close TEXT, + PRIMARY KEY(app_id, res_type) + FOREIGN KEY(app_id) + REFERENCES package_app_info(app_id) ON DELETE CASCADE);" | sqlite3 $db_path + + #package_res_info + echo "CREATE TABLE IF NOT EXISTS package_res_info ( + package TEXT NOT NULL, + res_type TEXT NOT NULL, + res_version TEXT NOT NULL, + PRIMARY KEY(res_type, res_version) + FOREIGN KEY(package) + REFERENCES package_info(package) ON DELETE CASCADE);" | sqlite3 $db_path + + #package_res_allowed_package + echo "CREATE TABLE IF NOT EXISTS package_res_allowed_package ( + package TEXT NOT NULL, + allowed_package TEXT NOT NULL, + required_privilege TEXT, + PRIMARY KEY(package, allowed_package, required_privilege) + FOREIGN KEY(package) + REFERENCES package_info(package) ON DELETE CASCADE);" | sqlite3 $db_path + + echo "PRAGMA user_version=30006;" | sqlite3 $db_path +} + +function migrate_global_parserdb() { + echo "#migrate global parserdb" + migrate_parserdb $GLOBAL_PARSER_DB_PATH +} + +function migrate_user_parserdb() { + echo "#migrate user parserdb" + ls $TZ_SYS_DB/user | while read USERID + do + migrate_parserdb $TZ_SYS_DB/user/$USERID/$PARSER_DB_NAME + done +} + +rm -f $DB_RESULT_FILE + +#migrate global parser db and version +migrate_global_parserdb + +#migrate user parser db and version +migrate_user_parserdb + +#migrade cert db and version +migrate_global_certdb diff --git a/packaging/pkgmgr-tool.spec b/packaging/pkgmgr-tool.spec index 1d5afdd..1a449ee 100644 --- a/packaging/pkgmgr-tool.spec +++ b/packaging/pkgmgr-tool.spec @@ -124,6 +124,7 @@ update-mime-database %{_datadir}/mime %attr(0700,root,root) /etc/package-manager/updates/upgrade_to_30003.sh %attr(0700,root,root) /etc/package-manager/updates/upgrade_to_30004.sh %attr(0700,root,root) /etc/package-manager/updates/upgrade_to_30005.sh +%attr(0700,root,root) /etc/package-manager/updates/upgrade_to_30006.sh %attr(0700,root,root) /usr/share/upgrade/scripts/701.app2sd.patch.sh %attr(0700,root,root) /usr/share/fixed_multiuser/scripts/pkgmgr-clear-skel.sh %attr(0700,root,root) %{_sysconfdir}/package-manager/pkgmgr-label-initial-image.sh