Add package dependency attribute to upgrade script 58/199058/7
authorSangyoon Jang <jeremy.jang@samsung.com>
Wed, 16 Jan 2019 09:39:40 +0000 (18:39 +0900)
committerSangyoon Jang <jeremy.jang@samsung.com>
Mon, 18 Feb 2019 02:22:09 +0000 (02:22 +0000)
Change-Id: Ic85f83896f6de645b572f884407f77e3099ecc04
Signed-off-by: Sangyoon Jang <jeremy.jang@samsung.com>
CMakeLists.txt
data/updates/upgrade_to_30004.sh.in [new file with mode: 0644]
packaging/pkgmgr-tool.spec

index d54965e..f688adc 100644 (file)
@@ -90,3 +90,5 @@ CONFIGURE_FILE(${CMAKE_CURRENT_SOURCE_DIR}/data/updates/upgrade_to_30002.sh.in u
 INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/upgrade_to_30002.sh DESTINATION /etc/package-manager/updates/)
 CONFIGURE_FILE(${CMAKE_CURRENT_SOURCE_DIR}/data/updates/upgrade_to_30003.sh.in upgrade_to_30003.sh $ONLY)
 INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/upgrade_to_30003.sh DESTINATION /etc/package-manager/updates/)
+CONFIGURE_FILE(${CMAKE_CURRENT_SOURCE_DIR}/data/updates/upgrade_to_30004.sh.in upgrade_to_30004.sh $ONLY)
+INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/upgrade_to_30004.sh DESTINATION /etc/package-manager/updates/)
diff --git a/data/updates/upgrade_to_30004.sh.in b/data/updates/upgrade_to_30004.sh.in
new file mode 100644 (file)
index 0000000..23509a3
--- /dev/null
@@ -0,0 +1,34 @@
+#!/bin/sh
+PATH=/bin:/usr/bin:/sbin:/usr/sbin
+
+source /etc/tizen-platform.conf
+
+PARSER_DB_NAME=.pkgmgr_parser.db
+PARSER_DB_PATH=$TZ_SYS_DB/$PARSER_DB_NAME
+
+function migrate_parser_db() {
+       local dbpath=$1
+
+       echo -e "CREATE TABLE IF NOT EXISTS package_dependency_info (\n" \
+               "  package TEXT NOT NULL,\n" \
+               "  depends_on TEXT NOT NULL,\n" \
+               "  type TEXT NOT NULL,\n" \
+               "  required_version TEXT,\n" \
+               "  PRIMARY KEY(package, depends_on, type, required_version)\n" \
+               "  FOREIGN KEY(package)\n" \
+               "  REFERENCES package_info(package) ON DELETE CASCADE);" | sqlite3 $dbpath
+
+       echo "PRAGMA user_version=30004;" | sqlite3 $dbpath
+}
+
+function migrate_user_db() {
+       #get each user db path and call migrate_parser_db for each of it
+
+       find $TZ_SYS_DB/user -name $PARSER_DB_NAME | while read DBPATH
+       do
+               migrate_parser_db $DBPATH
+       done
+}
+
+migrate_parser_db $PARSER_DB_PATH
+migrate_user_db
index ca78341..c2cc48d 100644 (file)
@@ -75,6 +75,7 @@ update-mime-database %{_datadir}/mime
 %attr(0700,root,root) /etc/package-manager/updates/upgrade_to_30001.sh
 %attr(0700,root,root) /etc/package-manager/updates/upgrade_to_30002.sh
 %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) /usr/share/upgrade/scripts/701.app2sd.patch.sh
 %attr(0700,root,root) %{_sysconfdir}/opt/upgrade/pkgmgr.patch.sh
 %attr(0700,root,root) /usr/share/fixed_multiuser/scripts/pkgmgr-clear-skel.sh