Add ISU package 91/298391/3 accepted/tizen/unified/20230912.013602
authorMateusz Moscicki <m.moscicki2@samsung.com>
Tue, 18 Jul 2023 13:12:44 +0000 (15:12 +0200)
committerMateusz Moscicki <m.moscicki2@partner.samsung.com>
Wed, 6 Sep 2023 10:26:32 +0000 (12:26 +0200)
This commit adds Individual Service Upgrade (ISU) feature to muse package.
When installed it will allow to upgrade this service using ISU mechanism,
without the need to perform full OS Upgrade.

This commits add necessary configuration to create upgrade packages of
needed format.  ISU framework itself is maintained and installed separately.

Change-Id: Ib30741bf33cb82d4d8565bae2b65520f3e9b430a
Signed-off-by: Mateusz Moscicki <m.moscicki2@samsung.com>
CMakeLists.txt
isu/CMakeLists.txt [new file with mode: 0644]
isu/isu.cfg [new file with mode: 0644]
isu/system-services/muse-server.service [new file with mode: 0644]
packaging/mused.spec

index 5880713..3e90b65 100644 (file)
@@ -91,6 +91,7 @@ INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/${MUSE_CORE}.pc DESTINATION ${LIBDIR}/
 
 ADD_SUBDIRECTORY(server)
 ADD_SUBDIRECTORY(client)
+ADD_SUBDIRECTORY(isu)
 IF(MUSE_GTESTS_BUILD)
 ADD_SUBDIRECTORY(unittest)
 ENDIF(MUSE_GTESTS_BUILD)
diff --git a/isu/CMakeLists.txt b/isu/CMakeLists.txt
new file mode 100644 (file)
index 0000000..427195d
--- /dev/null
@@ -0,0 +1,5 @@
+CMAKE_MINIMUM_REQUIRED(VERSION 2.6)
+PROJECT(ISU C)
+
+INSTALL(FILES isu.cfg DESTINATION /etc/isu/muse-server/ PERMISSIONS OWNER_WRITE OWNER_READ)
+INSTALL(FILES system-services/muse-server.service DESTINATION /etc/isu/muse-server/system-services/ PERMISSIONS OWNER_WRITE OWNER_READ)
diff --git a/isu/isu.cfg b/isu/isu.cfg
new file mode 100644 (file)
index 0000000..5a3feae
--- /dev/null
@@ -0,0 +1,9 @@
+[isu]
+name=muse-server
+version=#VERSION#
+system_service=muse-server.service
+
+[files]
+/usr/bin/muse-server
+/usr/lib*/libmuse-server*
+/usr/lib*/libmuse-core*
diff --git a/isu/system-services/muse-server.service b/isu/system-services/muse-server.service
new file mode 100644 (file)
index 0000000..63772f3
--- /dev/null
@@ -0,0 +1,28 @@
+[Unit]
+Description=muse server
+After=display-manager.service mm-resource-managerd.service
+StartLimitIntervalSec=0
+
+[Service]
+Type=forking
+User=multimedia_fw
+Group=multimedia_fw
+SmackProcessLabel=System
+ExecStart=/bin/isu-sandbox $ISU_SANDBOX_INVOCATION \
+           --bind /tmp /tmp \
+           --bind #ISU_RUN_PATH#/muse-server/rootfs/usr/bin/muse-server /usr/bin/muse-server \
+           --bind-try #ISU_RUN_PATH#/muse-server/rootfs/usr/lib64/libmuse-core.so.0 /usr/lib64/libmuse-core.so.0 \
+           --bind-try #ISU_RUN_PATH#/muse-server/rootfs/usr/lib64/libmuse-server.so.0 /usr/lib64/libmuse-server.so.0 \
+           --bind-try #ISU_RUN_PATH#/muse-server/rootfs/usr/lib/libmuse-core.so.0 /usr/lib/libmuse-core.so.0 \
+           --bind-try #ISU_RUN_PATH#/muse-server/rootfs/usr/lib/libmuse-server.so.0 /usr/lib/libmuse-server.so.0 \
+           --cap-add CAP_DAC_OVERRIDE \
+          /usr/bin/muse-server -D
+PIDFile=/run/mused/muse-server.pid
+Restart=always
+MemoryLimit=300M
+EnvironmentFile=/run/tizen-system-env
+EnvironmentFile=/run/xdg-root-env
+EnvironmentFile=/etc/isu/service-common.inc
+SupplementaryGroups=priv_mediastorage priv_camera priv_recorder
+AmbientCapabilities=CAP_SETFCAP CAP_SETUID CAP_SETGID
+SecureBits=keep-caps
index 2167895..acd1bb0 100644 (file)
@@ -54,6 +54,11 @@ Group:    Multimedia/Service
 Requires: %{name} = %{version}-%{release}
 %description devel
 
+%package isu
+Summary: muse server ISU pacakge
+Group:   Multimedia/Service
+%description isu
+
 %prep
 %setup -q
 
@@ -160,3 +165,7 @@ chsmack -a "System::Shared" /var/log/%{name}
 %{_includedir}/media/*.h
 %{_libdir}/pkgconfig/*.pc
 %{_libdir}/*.so
+
+%files isu
+/etc/isu/muse-server/isu.cfg
+/etc/isu/muse-server/system-services/muse-server.service