Add ISU package 86/298186/9
authorMateusz Moscicki <m.moscicki2@partner.samsung.com>
Fri, 1 Sep 2023 15:51:19 +0000 (17:51 +0200)
committerHwanKyu Jhun <h.jhun@samsung.com>
Thu, 14 Sep 2023 05:28:58 +0000 (05:28 +0000)
This commit adds Individual Service Upgrade (ISU) feature to amd
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: I62916eb3c0956d5fe65202656fe148db93032cd6

CMakeLists.txt
isu/CMakeLists.txt [new file with mode: 0644]
isu/isu.cfg [new file with mode: 0644]
isu/system-services/ac.service [new file with mode: 0644]
packaging/amd.spec

index e27a84a..8cbe7a3 100644 (file)
@@ -91,6 +91,7 @@ PKG_CHECK_MODULES(WAYLAND_TBM_CLIENT_DEPS REQUIRED wayland-tbm-client)
 PKG_CHECK_MODULES(XKBCOMMON_DEPS REQUIRED xkbcommon)
 
 ADD_SUBDIRECTORY(src)
+ADD_SUBDIRECTORY(isu)
 
 INSTALL(FILES package/org.tizen.NUIGadgetViewer-1.0.0.tpk
   DESTINATION /usr/apps/.preload-tpk)
diff --git a/isu/CMakeLists.txt b/isu/CMakeLists.txt
new file mode 100644 (file)
index 0000000..e33534b
--- /dev/null
@@ -0,0 +1,5 @@
+CMAKE_MINIMUM_REQUIRED(VERSION 2.6)
+PROJECT(ISU C)
+
+INSTALL(FILES isu.cfg DESTINATION /etc/isu/amd/ PERMISSIONS OWNER_WRITE OWNER_READ)
+INSTALL(FILES system-services/ac.service DESTINATION /etc/isu/amd/system-services/ PERMISSIONS OWNER_WRITE OWNER_READ WORLD_READ)
diff --git a/isu/isu.cfg b/isu/isu.cfg
new file mode 100644 (file)
index 0000000..cee8c1c
--- /dev/null
@@ -0,0 +1,38 @@
+[isu]
+name=#NAME#
+version=#VERSION#
+system_service=ac.service
+
+[files]
+/usr/bin/amd
+/usr/lib*/libamd.so.1.*
+/usr/lib*/libamd.so.1
+#/usr/share/amd/conf/amd.conf
+#/usr/share/amd/conf/amd_argos_watchdog.conf
+#/usr/share/amd/conf/amd_input.conf
+#/usr/share/amd/conf/amd_screen_resolution.conf
+#/usr/share/amd/conf/amd_watchdog.conf
+#/usr/share/amd/mod/libamd-mod-argos-watchdog.so
+#/usr/share/amd/mod/libamd-mod-boost.so
+#/usr/share/amd/mod/libamd-mod-complication.so
+#/usr/share/amd/mod/libamd-mod-component-manager.so
+#/usr/share/amd/mod/libamd-mod-cooldown.so
+#/usr/share/amd/mod/libamd-mod-cpu-monitor.so
+#/usr/share/amd/mod/libamd-mod-cynara-core.so
+#/usr/share/amd/mod/libamd-mod-extractor.so
+#/usr/share/amd/mod/libamd-mod-input.so
+#/usr/share/amd/mod/libamd-mod-job-scheduler.so
+#/usr/share/amd/mod/libamd-mod-light-user.so
+#/usr/share/amd/mod/libamd-mod-loader-manager.so
+#/usr/share/amd/mod/libamd-mod-proc-group.so
+#/usr/share/amd/mod/libamd-mod-rpc-port.so
+#/usr/share/amd/mod/libamd-mod-rua.so
+#/usr/share/amd/mod/libamd-mod-screen-resolution.so
+#/usr/share/amd/mod/libamd-mod-share.so
+#/usr/share/amd/mod/libamd-mod-splash-screen.so
+#/usr/share/amd/mod/libamd-mod-ui-core.so
+#/usr/share/amd/mod/libamd-mod-watch.so
+#/usr/share/amd/mod/libamd-mod-watchdog.so
+#/usr/share/amd/mod/libamd-mod-wayland-core.so
+#/usr/share/amd/mod/libamd-mod-widget.so
+
diff --git a/isu/system-services/ac.service b/isu/system-services/ac.service
new file mode 100644 (file)
index 0000000..36ad8dc
--- /dev/null
@@ -0,0 +1,39 @@
+#
+#  Systemd script to Launch AMD
+#
+
+[Unit]
+Description=Start Application Management Daemon
+DefaultDependencies=no
+Requires=dbus.socket tizen-system-env.service ac.socket buxton2.socket
+After=dbus.socket tizen-system-env.service systemd-tmpfiles-setup.service buxton2.socket
+
+[Service]
+User=app_fw
+Group=app_fw
+NotifyAccess=all
+SmackProcessLabel=System
+EnvironmentFile=/etc/isu/service-common.inc
+ExecStart=/bin/isu-sandbox $ISU_SANDBOX_INVOCATION \
+                     --bind #ISU_RUN_PATH#/amd/rootfs/usr/bin/amd /usr/bin/amd \
+                     --bind-try #ISU_RUN_PATH#/amd/rootfs/usr/lib/libamd.so.1 /usr/lib/libamd.so.1 \
+                     --bind-try #ISU_RUN_PATH#/amd/rootfs/usr/lib64/libamd.so.1 /usr/lib64/libamd.so.1 \
+                     --cap-add CAP_SETUID \
+                     --cap-add CAP_SETGID \
+                     --cap-add CAP_MAC_ADMIN \
+                     --cap-add CAP_KILL \
+                     --cap-add CAP_DAC_OVERRIDE \
+                     --cap-add CAP_SYS_ADMIN \
+                     --set-listen-pid \
+                     /usr/bin/amd
+AmbientCapabilities=CAP_SETFCAP CAP_SETUID CAP_SETGID
+SecureBits=keep-caps
+Type=notify
+EnvironmentFile=/run/tizen-system-env
+EnvironmentFile=/run/xdg-root-env
+OOMScoreAdjust=-100
+Restart=on-failure
+RestartSec=3
+
+[Install]
+WantedBy=basic.target
index d345c9f..2711d03 100644 (file)
@@ -239,6 +239,13 @@ Group:      Application Framework/Service
 %description -n amd-mod-cpu-monitor
 This module is for monitoring cpu usage
 
+%package isu
+Summary: ISU package for sensord
+Group:   Application Framework/Service
+
+%description isu
+Configuration files to generate the ISU (Individual Service Upgrade) package
+
 
 %if 0%{?gcov:1}
 %package gcov
@@ -487,3 +494,7 @@ systemctl daemon-reload
 %files gcov
 %{_datadir}/gcov/obj/*
 %endif
+
+%files isu
+/etc/isu/amd/isu.cfg
+/etc/isu/amd/system-services/ac.service