Adjust upgrade script 22/263822/1
authorJunghyun Yeon <jungh.yeon@samsung.com>
Fri, 10 Sep 2021 09:43:39 +0000 (18:43 +0900)
committerJunghyun Yeon <jungh.yeon@samsung.com>
Fri, 10 Sep 2021 09:43:39 +0000 (18:43 +0900)
- Move contents of script 30006 to 30007.
- Add pkg db user version set script to 30007.
- Change 30006 scripts to handle priv_shared_res directory creation.

Change-Id: I28ddcd4b660ef31704902dea4a0603c4f1d71636
Signed-off-by: Junghyun Yeon <jungh.yeon@samsung.com>
CMakeLists.txt
data/updates/upgrade_to_30006.sh.in
data/updates/upgrade_to_30007.sh.in [new file with mode: 0644]
packaging/pkgmgr-tool.spec

index adb4e43..c1a028c 100644 (file)
@@ -90,3 +90,5 @@ CONFIGURE_FILE(${CMAKE_CURRENT_SOURCE_DIR}/data/updates/upgrade_to_30005.sh.in u
 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/)
+CONFIGURE_FILE(${CMAKE_CURRENT_SOURCE_DIR}/data/updates/upgrade_to_30007.sh.in upgrade_to_30007.sh @ONLY)
+INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/upgrade_to_30007.sh DESTINATION /etc/package-manager/updates/)
index 1ff76f7..4a8e7b6 100644 (file)
@@ -8,67 +8,44 @@ 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_skel_dir() {
+  mkdir /etc/skel/priv_shared_res
+  chmod 755 /etc/skel/priv_shared_res
+  chsmack -t -a User::Home /etc/skel/priv_shared_res
 }
 
-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
+function migrate_user_dir() {
+  ls $TZ_SYS_HOME | while read USERNAME
+  do
+    echo "#create priv_shared_res for user $USERNAME"
+    mkdir $TZ_SYS_HOME/$USERNAME/priv_shared_res
+    chmod 755 $TZ_SYS_HOME/$USERNAME/priv_shared_res
+    chown $USERNAME:users $TZ_SYS_HOME/$USERNAME/priv_shared_res
+    chsmack -t -a User::Home $TZ_SYS_HOME/$USERNAME/priv_shared_res
+  done
+}
 
-  echo "PRAGMA user_version=30006;" | sqlite3 $db_path
+function migrate_global_certdb() {
+  echo "Migrate database version $GLOBAL_CERT_DB_PATH"
+       echo "PRAGMA user_version=30006;" | sqlite3 $GLOBAL_CERT_DB_PATH
 }
 
 function migrate_global_parserdb() {
-  echo "#migrate global parserdb"
-  migrate_parserdb $GLOBAL_PARSER_DB_PATH
+  echo "Migrate database version $GLOBAL_PARSER_DB_PATH"
+       echo "PRAGMA user_version=30006;" | sqlite3 $GLOBAL_PARSER_DB_PATH
 }
 
 function migrate_user_parserdb() {
-  echo "#migrate user parserdb"
-  ls $TZ_SYS_DB/user | while read USERID
+  ls $TZ_SYS_DB/user | while read USERNAME
   do
-    migrate_parserdb $TZ_SYS_DB/user/$USERID/$PARSER_DB_NAME
+    echo "Migrate database version $TZ_SYS_DB/user/$USERNAME/$PARSER_DB_NAME"
+    echo "PRAGMA user_version=30006;" | sqlite3 $TZ_SYS_DB/user/$USERNAME/$PARSER_DB_NAME
   done
 }
 
-rm -f $DB_RESULT_FILE
-
-#migrate global parser db and version
-migrate_global_parserdb
+migrate_skel_dir
+migrate_user_dir
 
-#migrate user parser db and version
-migrate_user_parserdb
-
-#migrade cert db and version
 migrate_global_certdb
+migrate_user_parserdb
+migrate_global_parserdb
\ No newline at end of file
diff --git a/data/updates/upgrade_to_30007.sh.in b/data/updates/upgrade_to_30007.sh.in
new file mode 100644 (file)
index 0000000..c93cee9
--- /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=30007;" | 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=30007;" | 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 36c17f4..41182d4 100644 (file)
@@ -129,6 +129,7 @@ update-mime-database %{_datadir}/mime
 %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) /etc/package-manager/updates/upgrade_to_30007.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