Add update start script 23/155223/1
authorJunghyun Yeon <jungh.yeon@samsung.com>
Thu, 12 Oct 2017 10:02:53 +0000 (19:02 +0900)
committerJunghyun Yeon <jungh.yeon@samsung.com>
Thu, 12 Oct 2017 10:02:53 +0000 (19:02 +0900)
- Pkgmgr db upgrade will be happened even if there are no platform update
  so seperate update initialization script from platform update script.

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

index 9e507f8..a27b62e 100644 (file)
@@ -76,6 +76,8 @@ CONFIGURE_FILE(${CMAKE_CURRENT_SOURCE_DIR}/data/pkgmgr-clear-skel.sh.in pkgmgr-c
 INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/pkgmgr-clear-skel.sh DESTINATION /usr/share/fixed_multiuser/scripts/)
 CONFIGURE_FILE(${CMAKE_CURRENT_SOURCE_DIR}/data/pkgmgr-label-initial-image.sh.in pkgmgr-label-initial-image.sh @ONLY)
 INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/pkgmgr-label-initial-image.sh DESTINATION ${SYSCONF_INSTALL_DIR}/package-manager/)
+CONFIGURE_FILE(${CMAKE_CURRENT_SOURCE_DIR}/data/updates/update.sh.in update.sh @ONLY)
+INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/update.sh DESTINATION /etc/package-manager/updates/)
 CONFIGURE_FILE(${CMAKE_CURRENT_SOURCE_DIR}/data/700.pkgmgr.patch.sh.in 700.pkgmgr.patch.sh @ONLY)
 INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/700.pkgmgr.patch.sh DESTINATION /usr/share/upgrade/scripts/)
 CONFIGURE_FILE(${CMAKE_CURRENT_SOURCE_DIR}/data/701.app2sd.patch.sh.in 701.app2sd.patch.sh @ONLY)
index 4ed13ca..fc8fb07 100644 (file)
@@ -2,34 +2,4 @@
 
 source /etc/tizen-platform.conf
 
-PARSER_DB_NAME=.pkgmgr_parser.db
-PARSER_DB_PATH=$TZ_SYS_DB/$PARSER_DB_NAME
-DB_VERSION_FILE_PATH="/etc/package-manager/pkg_db_version.txt"
-DB_VERSION_OLD="`\"sqlite3\" \"$PARSER_DB_PATH\" 'PRAGMA user_version;'`"
-DB_VERSION_NEW="`cat $DB_VERSION_FILE_PATH`"
-DB_VERSION_TIZEN24=1
-DB_VERSION_TIZEN30_DEFAULT=30000
-UPDATE_SCRIPT_LOCATION="/etc/package-manager/updates/"
-UPDATE_SCRIPT_PREFIX="upgrade_to_"
-
-#execute script from DB_VERSION_OLD to DB_VERSION_OLD+1 until DB_VERSION_OLD+1 reaches DB_VERSION_NEW
-
-[ $DB_VERSION_OLD -eq $DB_VERSION_NEW ] && echo "Database is already up to date." && exit
-[ $DB_VERSION_OLD -gt $DB_VERSION_NEW ] && echo "Downgrading is not supported." && exit
-
-echo "Current version: $DB_VERSION_OLD, target version: $DB_VERSION_NEW"
-
-#if old version is less than 1, upgrade to 30000, default version of tizen_3.0
-if [ $DB_VERSION_OLD -le $DB_VERSION_TIZEN24 ]; then
-       echo "Updating $PARSER_DB_PATH to $DB_VERSION_TIZEN30_DEFAULT"
-       exec "$UPDATE_SCRIPT_LOCATION/$UPDATE_SCRIPT_PREFIX$DB_VERSION_TIZEN30_DEFAULT.sh"
-       DB_VERSION_OLD=30000
-fi
-
-for i in `seq $(($DB_VERSION_OLD+1)) $DB_VERSION_NEW`
-do
-    echo "Updating $PARSER_DB_PATH to $i (target version is $DB_VERSION_NEW)"
-    UPDATE_SCRIPT="$UPDATE_SCRIPT_LOCATION/$UPDATE_SCRIPT_PREFIX$i.sh"
-    [ ! -e "$UPDATE_SCRIPT" ] && echo "Can't find script $UPDATE_SCRIPT" && exit 1
-    exec $UPDATE_SCRIPT
-done
+exec "/etc/package-manager/updates/update.sh
diff --git a/data/updates/update.sh.in b/data/updates/update.sh.in
new file mode 100644 (file)
index 0000000..81cd697
--- /dev/null
@@ -0,0 +1,35 @@
+#!/bin/sh
+
+source /etc/tizen-platform.conf
+
+PARSER_DB_NAME=.pkgmgr_parser.db
+PARSER_DB_PATH=$TZ_SYS_DB/$PARSER_DB_NAME
+DB_VERSION_FILE_PATH="/etc/package-manager/pkg_db_version.txt"
+DB_VERSION_OLD="`\"sqlite3\" \"$PARSER_DB_PATH\" 'PRAGMA user_version;'`"
+DB_VERSION_NEW="`cat $DB_VERSION_FILE_PATH`"
+DB_VERSION_TIZEN24=1
+DB_VERSION_TIZEN30_DEFAULT=30000
+UPDATE_SCRIPT_LOCATION="/etc/package-manager/updates/"
+UPDATE_SCRIPT_PREFIX="upgrade_to_"
+
+#execute script from DB_VERSION_OLD to DB_VERSION_OLD+1 until DB_VERSION_OLD+1 reaches DB_VERSION_NEW
+
+[ $DB_VERSION_OLD -eq $DB_VERSION_NEW ] && echo "Pkgmgr database is already up to date v$DB_VERSION_NEW" && exit
+[ $DB_VERSION_OLD -gt $DB_VERSION_NEW ] && echo "Pkgmgr database downgrading is not supported." && exit
+
+echo "Pkgmgr database current version: $DB_VERSION_OLD, target version: $DB_VERSION_NEW"
+
+#if old version is less than 1, upgrade to 30000, default version of tizen_3.0
+if [ $DB_VERSION_OLD -le $DB_VERSION_TIZEN24 ]; then
+       echo "Updating $PARSER_DB_PATH to $DB_VERSION_TIZEN30_DEFAULT"
+       exec "$UPDATE_SCRIPT_LOCATION/$UPDATE_SCRIPT_PREFIX$DB_VERSION_TIZEN30_DEFAULT.sh"
+       DB_VERSION_OLD=30000
+fi
+
+for i in `seq $(($DB_VERSION_OLD+1)) $DB_VERSION_NEW`
+do
+    echo "Updating $PARSER_DB_PATH to $i (target version is $DB_VERSION_NEW)"
+    UPDATE_SCRIPT="$UPDATE_SCRIPT_LOCATION/$UPDATE_SCRIPT_PREFIX$i.sh"
+    [ ! -e "$UPDATE_SCRIPT" ] && echo "Can't find script $UPDATE_SCRIPT" && exit 1
+    exec $UPDATE_SCRIPT
+done
index da57428..e4e6b59 100644 (file)
@@ -72,6 +72,7 @@ update-mime-database %{_datadir}/mime
 %attr(0700,root,root) /etc/package-manager/pkgmgr-unzip-pkg.sh
 %attr(0700,root,root) /etc/package-manager/pkgmgr-create-delta.sh
 %attr(0700,root,root) /usr/share/upgrade/scripts/700.pkgmgr.patch.sh
+%attr(0700,root,root) /etc/package-manager/updates/update.sh
 %attr(0700,root,root) /etc/package-manager/updates/upgrade_to_30000.sh
 %attr(0700,root,root) /etc/package-manager/updates/upgrade_to_30001.sh
 %attr(0700,root,root) /usr/share/upgrade/scripts/701.app2sd.patch.sh