Add OS upgrade script for TV 25/321125/2 accepted/tizen/unified/20241130.125032 accepted/tizen/unified/x/20241218.032638 accepted/tizen/unified/x/asan/20241224.004401
authorJiyong <jiyong.min@samsung.com>
Thu, 28 Nov 2024 01:11:50 +0000 (10:11 +0900)
committerJiyong <jiyong.min@samsung.com>
Thu, 28 Nov 2024 01:14:20 +0000 (10:14 +0900)
Change-Id: I58c094dadc787c72431087cb9225e19d5911e1e8

packaging/capi-media-controller.spec
packaging/media-controller.sh [new file with mode: 0644]

index 26267b8a1e9c79171b39e96b8d0d61ed231f2e30..131f05634f219f45ad5c7108026f95a02314cb87 100644 (file)
@@ -1,6 +1,6 @@
 Name:       capi-media-controller
 Summary:    A media controller library in Tizen Native API
-Version:    1.0.6
+Version:    1.0.7
 Release:    0
 Group:      Multimedia/API
 License:    Apache-2.0
@@ -25,12 +25,14 @@ BuildRequires:  pkgconfig(vconf)
 
 # socket activation enable(1), disable(0)
 %if ("%{tizen_profile_name}" == "tv")
+%define product_tv 1
 %if ("%{sec_buildconf_optimized_memory}" == "1")
 %define on_demand 1
 %else
 %define on_demand 0
 %endif
 %else
+%define product_tv 1
 %define on_demand 1
 %endif
 
@@ -110,6 +112,12 @@ install -m 644 %{SOURCE3} %{buildroot}%{_unitdir}/mediacontroller.service
 ln -s ../mediacontroller.service %{buildroot}%{_unitdir}/multi-user.target.wants/mediacontroller.service
 %endif
 
+%if 0%{?product_tv}
+# os update
+mkdir -p %{buildroot}%{_datadir}/upgrade/vd_scripts/additional_scripts
+install -p -m 500 packaging/media-controller.sh %{buildroot}%{_datadir}/upgrade/vd_scripts/additional_scripts/media-controller.sh
+%endif
+
 %if 0%{?gcov:1}
 builddir=$(basename $PWD)
 gcno_obj_dir=%{buildroot}%{_datadir}/gcov/obj/%{name}/"$builddir"
@@ -145,6 +153,9 @@ chmod 755 /etc/gumd/useradd.d/30_media-controller-add.post
 %else
 %{_unitdir}/multi-user.target.wants/mediacontroller.service
 %endif
+%if 0%{?product_tv}
+%{_datadir}/upgrade/vd_scripts/additional_scripts/media-controller.sh
+%endif
 %license LICENSE.APLv2.0
 
 %files devel
diff --git a/packaging/media-controller.sh b/packaging/media-controller.sh
new file mode 100644 (file)
index 0000000..bbc5712
--- /dev/null
@@ -0,0 +1,35 @@
+#!/bin/bash
+
+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"
+
+function mediacontroller_database_migration() {
+       local SRC_PATH=$(get_old_rw_path)/usr/home/owner/.applications/dbspace/.media_controller.db
+        local DST_PATH=$(get_rw_path)/usr/home/owner/.applications/dbspace/.media_controller.db
+
+        if [ ! -e $SRC_PATH ]; then
+                return
+        fi
+
+        if [ ! -e $(get_rw_path)/usr/home/owner/.applications/dbspace/ ]; then
+                mkdir -p $(get_rw_path)/usr/home/owner/.applications/dbspace/
+                chown "owner:system_share" $(get_rw_path)/usr/home/owner/.applications/dbspace/
+                chsmack -a "User::Home" $(get_rw_path)/usr/home/owner/.applications/dbspace/
+                chmod 770 $(get_rw_path)/usr/home/owner/.applications/dbspace/
+        fi
+
+       mig_copy $SRC_PATH $DST_PATH || error_handler "default_data" $LINENO
+}
+
+# start main function
+mig_init
+
+mediacontroller_database_migration
+
+mig_finish
+
+exit 0
+