Add upgrade script 43/320843/2
authorJi-hoon Lee <dalton.lee@samsung.com>
Mon, 25 Nov 2024 04:43:30 +0000 (13:43 +0900)
committerJi-hoon Lee <dalton.lee@samsung.com>
Mon, 25 Nov 2024 04:58:13 +0000 (13:58 +0900)
Change-Id: Id47d9327ceb47c6fe5d1a6f94cc37343c99fe511

packaging/multi-assistant.spec
script/migration/multi-assistant.sh [new file with mode: 0644]

index 8ec3bbdd4e494627de7b1d5793ac05ce075f8995..5a4138bf854c3eaa0ff874840b3673c1af2eb469 100644 (file)
@@ -100,6 +100,9 @@ make %{?jobs:-j%jobs}
 %install
 rm -rf %{buildroot}
 
+mkdir -p %{buildroot}%{_datadir}/upgrade/vd_scripts/additional_scripts
+install -p -m 500 script/migration/multi-assistant.sh %{buildroot}%{_datadir}/upgrade/vd_scripts/additional_scripts/multi-assistant.sh
+
 %make_install
 
 %if 0%{?gcov:1}
@@ -163,6 +166,7 @@ mkdir -p %{_libdir}/multiassistant/ma
 %{TZ_SYS_RO_SHARE}/dbus-1/services/org.tizen.multiassistant*
 %{TZ_SYS_RO_SHARE}/parser-plugins/multi-assistant.info
 %{TZ_SYS_RO_ETC}/package-manager/parserlib/metadata/libma_assistant_parser.so*
+%{_datadir}/upgrade/vd_scripts/additional_scripts/multi-assistant.sh
 
 %files devel
 %manifest %{name}-devel.manifest
diff --git a/script/migration/multi-assistant.sh b/script/migration/multi-assistant.sh
new file mode 100644 (file)
index 0000000..d1edfd2
--- /dev/null
@@ -0,0 +1,66 @@
+#!/bin/bash
+
+# list vconf keys of multi-assistant up to migrate
+###BackupVconfkey: db/multi-assistant/activated
+###BackupVconfkey: db/multi-assistant/conversation_timeout
+###BackupVconfkey: db/multi-assistant/default_assistant_appid
+###BackupVconfkey: db/multi-assistant/dependency_module_path
+###BackupVconfkey: db/multi-assistant/enabled_assistants
+###BackupVconfkey: db/multi-assistant/multiple_mode
+###BackupVconfkey: db/multi-assistant/streaming_duration_max
+
+
+# sourcing headers for Migration API
+source "$UPDATE_EXEC_PATH/common/util.inc"
+source "$UPDATE_EXEC_PATH/common/debug.inc"
+source "$UPDATE_EXEC_PATH/common/mig_ctl.inc"
+source "$UPDATE_EXEC_PATH/common/path_ctl.inc"
+source "$UPDATE_EXEC_PATH/common/error_handle.inc"
+
+# migration Main function
+function set_dst_path() {
+    local DST_PARENT_PATH=$(dirname $1)
+    if [ ! -e $DST_PARENT_PATH ]; then
+        mkdir -p -m 0777 $DST_PARENT_PATH
+        chown "owner:users" $DST_PARENT_PATH
+        chsmack -t $DST_PARENT_PATH
+        chsmack -a "User::App::Shared" $DST_PARENT_PATH
+    fi
+}
+
+function multi_assistant_migration() {
+    log I "multi-assistant Migration START"
+
+    local SRC_OWNER_PATH=$(get_old_rw_path)/usr/home/owner/share/.multiassistant/
+    local SRC_GUEST_PATH=$(get_old_rw_path)/usr/home/guest/share/.multiassistant/
+
+    if [ ! -e $SRC_OWNER_PATH ]; then
+        return
+    fi
+    if [ ! -e $SRC_GUEST_PATH ]; then
+        return
+    fi
+
+    local DST_OWNER_PATH=$(get_rw_path)/usr/home/owner/share/.multiassistant/
+    local DST_GUEST_PATH=$(get_rw_path)/usr/home/guest/share/.multiassistant/
+
+    set_dst_path $DST_OWNER_PATH
+    set_dst_path $DST_GUEST_PATH
+
+    mig_copy $SRC_OWNER_PATH $DST_OWNER_PATH || error_handle "default_data" $LINENO
+    mig_copy $SRC_GUEST_PATH $DST_GUEST_PATH || error_handle "default_data" $LINENO
+
+    log I "multi-assistant Migration DONE"
+}
+
+# trace flag check & enable
+if is_trace_enable; then
+    is_trace_enable
+fi
+
+# running part: b/w mig_init and mig_finish
+mig_init
+multi_assistant_migration
+mig_finish
+
+exit 0