add upgrade script 99/85999/2
authorYounho Park <younho.park@samsung.com>
Tue, 30 Aug 2016 05:42:23 +0000 (14:42 +0900)
committerYounho Park <younho.park@samsung.com>
Tue, 30 Aug 2016 07:37:34 +0000 (16:37 +0900)
Change-Id: I40bf644a2bbe7e0257d26eb3592c4a0d05c172ce
Signed-off-by: Younho Park <younho.park@samsung.com>
packaging/account-manager.spec
scripts/account-manager-upgrade.sh [new file with mode: 0644]

index cb9741b..f0b247f 100644 (file)
@@ -24,6 +24,8 @@ BuildRequires:  pkgconfig(cynara-creds-gdbus)
 BuildRequires:  pkgconfig(account-common)
 #BuildRequires:  pkgconfig(libtzplatform-config)
 
+%define upgrade_script_path /usr/share/upgrade/scripts
+
 Requires(post): /sbin/ldconfig
 Requires(post): /usr/bin/sqlite3
 Requires(postun): /sbin/ldconfig
@@ -70,6 +72,9 @@ mkdir -p %{buildroot}%{_unitdir}/multi-user.target.wants
 install -m 644 %SOURCE3 %{buildroot}%{_unitdir}/accounts-service.service
 %install_service multi-user.target.wants accounts-service.service
 
+mkdir -p %{buildroot}%{upgrade_script_path}
+cp -f scripts/%{name}-upgrade.sh %{buildroot}%{upgrade_script_path}
+
 %post
 /sbin/ldconfig
 #if [ ! -d /opt/usr/dbspace ]
@@ -113,4 +118,5 @@ chmod 660 %{TZ_SYS_DB}/.account.db-journal
 %attr(0644,root,root) %{_unitdir}/accounts-service.service
 %attr(0644,root,root) %{_unitdir}/multi-user.target.wants/accounts-service.service
 %attr(0644,root,root) /usr/share/dbus-1/system-services/org.tizen.account.manager.service
+%{upgrade_script_path}/%{name}-upgrade.sh
 
diff --git a/scripts/account-manager-upgrade.sh b/scripts/account-manager-upgrade.sh
new file mode 100644 (file)
index 0000000..594c47c
--- /dev/null
@@ -0,0 +1,48 @@
+#!/bin/sh
+
+#------------------------------------------------#
+# Account Manager patch for upgrade (2.4 -> 3.0) #
+#------------------------------------------------#
+
+# 2.4
+ACCOUNT_DB_DIR_24=/opt/usr/dbspace
+
+# 3.0
+ACCOUNT_GLOBAL_USER_DB_DIR_30=/opt/dbspace
+ACCOUNT_USER_DB_DIR_30=/opt/dbspace/5001
+
+ACCOUNT_DB_24=$ACCOUNT_DB_DIR_24/.account.db
+ACCOUNT_GLOBAL_USER_DB_30=$ACCOUNT_GLOBAL_USER_DB_DIR_30/.account.db
+ACCOUNT_USER_DB_30=$ACCOUNT_USER_DB_DIR_30/.account.db
+
+mkdir -p $ACCOUNT_GLOBAL_USER_DB_DIR_30
+mkdir -p $ACCOUNT_USER_DB_DIR_30
+
+# Copy DB
+cp -rf $ACCOUNT_DB_24 $ACCOUNT_GLOBAL_USER_DB_DIR_30
+cp -rf $ACCOUNT_DB_24-journal $ACCOUNT_GLOBAL_USER_DB_DIR_30
+
+cp -rf $ACCOUNT_DB_24 $ACCOUNT_USER_DB_DIR_30
+cp -rf $ACCOUNT_DB_24-journal $ACCOUNT_USER_DB_DIR_30
+
+chown service_fw:service_fw $ACCOUNT_GLOBAL_USER_DB_30
+chown service_fw:service_fw $ACCOUNT_GLOBAL_USER_DB_30-journal
+chown service_fw:service_fw $ACCOUNT_USER_DB_30
+chown service_fw:service_fw $ACCOUNT_USER_DB_30-journal
+
+chmod 660 $ACCOUNT_GLOBAL_USER_DB_30
+chmod 660 $ACCOUNT_GLOBAL_USER_DB_30-journal
+chmod 660 $ACCOUNT_USER_DB_30
+chmod 660 $ACCOUNT_USER_DB_30-journal
+
+# Delete DB
+rm -rf $ACCOUNT_DB_24
+rm -rf $ACCOUNT_DB_24-journal
+
+#update account DB
+sqlite3 $ACCOUNT_GLOBAL_USER_DB_30 "delete from account"
+sqlite3 $ACCOUNT_GLOBAL_USER_DB_30 "delete from capability"
+sqlite3 $ACCOUNT_USER_DB_30 "delete from account_type"
+sqlite3 $ACCOUNT_USER_DB_30 "delete from label"
+sqlite3 $ACCOUNT_USER_DB_30 "delete from provider_feature"
+