Add upgrade script for pkg db version 30006 21/250521/5
authorJunghyun Yeon <jungh.yeon@samsung.com>
Tue, 29 Dec 2020 03:45:36 +0000 (12:45 +0900)
committerJunghyun Yeon <jungh.yeon@samsung.com>
Thu, 17 Jun 2021 06:32:05 +0000 (06:32 +0000)
Change-Id: I1e10a44388d8886f4ca32cf2fb4afe11eb46e11c
Signed-off-by: Junghyun Yeon <jungh.yeon@samsung.com>
CMakeLists.txt
data/updates/upgrade_to_30006.sh.in [new file with mode: 0644]
packaging/pkgmgr-tool.spec

index 4695cbf..d583b18 100644 (file)
@@ -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 (file)
index 0000000..1ff76f7
--- /dev/null
@@ -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
index 1d5afdd..1a449ee 100644 (file)
@@ -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