Add ISU package 48/298548/3
authorMateusz Moscicki <m.moscicki2@samsung.com>
Wed, 7 Jun 2023 08:58:34 +0000 (10:58 +0200)
committerSooChan Lim <sc1.lim@samsung.com>
Tue, 12 Sep 2023 23:48:13 +0000 (23:48 +0000)
This patch is a fixed version of commit:

6f01f2f1087bb3d5adf988fc66585be9b23ed02f

which was reverted due to the use of the rpm macro.

This commit adds Individual Service Upgrade (ISU) feature to
enlightenment 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: Ib648b62bcaa3e005095c25af2818a261d2becaaf
Signed-off-by: Mateusz Moscicki <m.moscicki2@samsung.com>
Makefile.am
isu/isu.cfg [new file with mode: 0644]
isu/system-services/display-manager.service [new file with mode: 0644]
packaging/enlightenment.spec

index 0539761..f3a3653 100644 (file)
@@ -64,6 +64,12 @@ pkgconfig_DATA = enlightenment.pc
 
 .PHONY: $(PHONIES)
 
+isudir = $(sysconfdir)/isu/enlightenment/
+isu_DATA = isu/isu.cfg
+
+isusystemservicesdir = $(sysconfdir)/isu/enlightenment/system-services/
+isusystemservices_DATA = isu/system-services/display-manager.service
+
 clean-local:
        rm -rf config/*.cfg config/*~
        rm -rf config/standard/*.cfg config/standard/*~
diff --git a/isu/isu.cfg b/isu/isu.cfg
new file mode 100644 (file)
index 0000000..da86f67
--- /dev/null
@@ -0,0 +1,7 @@
+[isu]
+name=#NAME#
+version=#VERSION#
+system_service=display-manager.service
+
+[files]
+/usr/bin/enlightenment
diff --git a/isu/system-services/display-manager.service b/isu/system-services/display-manager.service
new file mode 100644 (file)
index 0000000..aa017ee
--- /dev/null
@@ -0,0 +1,22 @@
+[Unit]
+Description=Display manager
+
+[Service]
+Type=notify
+NotifyAccess=all
+EnvironmentFile=/etc/sysconfig/enlightenment
+EnvironmentFile=/etc/isu/service-common.inc
+SmackProcessLabel=System
+ExecStartPre=-/usr/bin/keymap_update.sh
+ExecStart=/bin/isu-sandbox $ISU_SANDBOX_INVOCATION \
+          --bind #ISU_RUN_PATH#/enlightenment/rootfs/usr/bin/enlightenment /usr/bin/enlightenment \
+          --bind /sys /sys \
+          --tmpfs /tmp \
+          /usr/bin/enlightenment
+ExecStartPost=/usr/bin/bash -c "/usr/bin/touch $XDG_RUNTIME_DIR/.wm_ready; echo $MAINPID > $XDG_RUNTIME_DIR/enlightenment.pid"
+Restart=always
+RestartSec=10
+AmbientCapabilities=CAP_SETFCAP CAP_SETUID CAP_SETGID
+
+[Install]
+WantedBy=graphical.target
index e3cc0ac..dc7da0a 100644 (file)
@@ -105,6 +105,13 @@ Group: System/Libraries
 %description tests
 Tests binary for internal API in enlightenment
 
+%package isu
+Summary: ISU package for enlightenment
+Group:   Graphics/EFL
+
+%description isu
+Configuration files to generate the ISU (Individual Service Upgrade) package
+
 %prep
 %setup -q -n %{name}-%{version}
 cp %{SOURCE1001} .
@@ -167,3 +174,7 @@ cp %{SOURCE1002} %{buildroot}/%{_sysconfdir}/resourced/vip-process.d/enlightenme
 %files tests
 %defattr(-,root,root,-)
 %attr(550,root,root) %{_bindir}/enlightenment-tests
+
+%files isu
+/etc/isu/enlightenment/isu.cfg
+/etc/isu/enlightenment/system-services/display-manager.service