Add DataMigration Script for OSU 47/308947/3
authorsooyeon <sooyeon.kim@samsung.com>
Wed, 3 Apr 2024 05:37:49 +0000 (14:37 +0900)
committersooyeon <sooyeon.kim@samsung.com>
Wed, 3 Apr 2024 07:43:53 +0000 (16:43 +0900)
When OS upgrade is carried out, previous RW data will be initialized.
This patch provides keeping the previous configuration with a migration script.

Change-Id: If82aaf45fb1dc03ef32faac3d0ee0e74a8421a39
Signed-off-by: sooyeon <sooyeon.kim@samsung.com>
packaging/stt.spec
script/migration/stt.sh [new file with mode: 0644]

index e78f3619f5a58e86b69b86895ebf3e747f4ff2b9..44a00b8897337fe48d0d60dad758ee61b4cd3f18 100644 (file)
@@ -137,6 +137,9 @@ make %{?jobs:-j%jobs}
 %install
 rm -rf %{buildroot}
 
+mkdir -p %{buildroot}%{_datadir}/upgrade/vd_scripts/additional_scripts
+install -p -m 500 script/migration/stt.sh %{buildroot}%{_datadir}/upgrade/vd_scripts/additional_scripts/stt.sh
+
 %if "%{tizen_profile_name}" == "tv"
 mv -f org.tizen.voice.sttserver.tv.service org.tizen.voice.sttserver.service
 %endif
@@ -215,6 +218,7 @@ mkdir -p %{TZ_SYS_RO_SHARE}/voice/test
 #%{TZ_SYS_BIN}/*
 %{_bindir}/voice_getengine
 %{TZ_SYS_RO_ETC}/package-manager/parserlib/metadata/libstt-engine-parser.so*
+%{_datadir}/upgrade/vd_scripts/additional_scripts/stt.sh
 
 %files devel
 %manifest %{name}-devel.manifest
diff --git a/script/migration/stt.sh b/script/migration/stt.sh
new file mode 100644 (file)
index 0000000..a3f20d5
--- /dev/null
@@ -0,0 +1,61 @@
+#!/bin/bash
+
+# list vconf keys of STT up to migrate
+###BackupVconfkey: db/voice/stt/engine/default
+
+# 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() {
+    if [ ! -e $1 ]; then
+        log I "STT Migration set destination path $1"
+        mkdir -p -m 0755 $1
+        chsmack -t $1
+        chsmack -a "User::App::Shared" $1
+    else
+        log E "Already exist path $1"
+    fi
+}
+
+function stt_migration() {
+    log I "STT Migration START"
+    log I "STT Migration config files"
+
+    local SRC_OWNER_PATH=${get_old_rw_path}/usr/home/owner/share/.voice/
+    local SRC_GUEST_PATH=${get_old_rw_path}/usr/home/guest/share/.voice/
+    local SRC_GLOBAL_PATH=${get_old_rw_path}/etc/skel/share/.voice/
+    local SRC_CONF_FILE=${get_old_rw_path}/usr/home/owner/share/.voice/stt-config.xml
+
+    local DST_OWNER_PATH=${get_rw_path}/usr/home/owner/share/.voice/
+    local DST_GUEST_PATH=${get_rw_path}/usr/home/guest/share/.voice/
+    local DST_GLOBAL_PATH=${get_rw_path}/etc/skel/share/.voice/
+
+    set_dst_path DST_OWNER_PATH
+    set_dst_path DST_GUEST_PATH
+    set_dst_path DST_GLOBAL_PATH
+
+    mig_copy $SRC_OWNER_PATH/stt $DST_OWNER_PATH || error_handle "default_data" $LINENO
+    mig_copy $SRC_GUEST_PATH/stt $DST_GUEST_PATH || error_handle "default_data" $LINENO
+    mig_copy $SRC_GLOBAL_PATH/stt $DST_GLOBAL_PATH || error_handle "default_data" $LINENO
+    mig_copy $SRC_CONF_FILE $DST_OWNER_PATH || error_handle "default_data" $LINENO
+
+
+    log I "STT 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
+stt_migration
+mig_finish
+
+exit 0
\ No newline at end of file