From 69c4f2ed44e6af2449ace191b840dbf40bd49cac Mon Sep 17 00:00:00 2001 From: Esben Haabendal <esben@geanix.com> Date: Fri, 3 Mar 2023 16:57:43 +0100 Subject: [PATCH] openharmony-standard: Run samgr as systemd service Signed-off-by: Esben Haabendal <esben@geanix.com> --- .../openharmony/files/openharmony-preinit | 6 ------ .../openharmony/files/openharmony-preinit.service | 2 ++ recipes-openharmony/openharmony/files/samgr.service | 11 ++++++++--- .../openharmony-standard-3.0/samgr-sd-notify.patch | 12 ++++++++++++ .../openharmony/openharmony-standard_3.0.bb | 1 - 5 files changed, 22 insertions(+), 10 deletions(-) diff --git a/recipes-openharmony/openharmony/files/openharmony-preinit b/recipes-openharmony/openharmony/files/openharmony-preinit index f7eb48ef..8bcfaa9a 100644 --- a/recipes-openharmony/openharmony/files/openharmony-preinit +++ b/recipes-openharmony/openharmony/files/openharmony-preinit @@ -104,12 +104,6 @@ setparam persist.ace.trace.enabled 0 # - pre-init stage # - init stage -if systemctl -q is-enabled samgr.service; then - echo >/dev/console "Starting OpenHarmony samgr service" - /system/bin/samgr & - sleep "$STARTUP_CMD_SLEEP" -fi - # - post-init stage # - "trigger early-fs", # - "trigger fs", diff --git a/recipes-openharmony/openharmony/files/openharmony-preinit.service b/recipes-openharmony/openharmony/files/openharmony-preinit.service index ca384e6a..bad291a2 100644 --- a/recipes-openharmony/openharmony/files/openharmony-preinit.service +++ b/recipes-openharmony/openharmony/files/openharmony-preinit.service @@ -2,6 +2,8 @@ Description=OpenHarmony pre-init setup After=param.service Requires=param.service +After=samgr.service +Requires=samgr.service [Service] Type=oneshot diff --git a/recipes-openharmony/openharmony/files/samgr.service b/recipes-openharmony/openharmony/files/samgr.service index bb66c394..16a22cee 100644 --- a/recipes-openharmony/openharmony/files/samgr.service +++ b/recipes-openharmony/openharmony/files/samgr.service @@ -1,10 +1,15 @@ [Unit] Description=OpenHarmony SystemAbilityFramework service +# Logging to hilogd, but seems to work without it +Wants=hilogd.service +After=hilogd.service [Service] -Type=oneshot -ExecStart=/bin/echo "OpenHarmony SystemAbilityFramework Service" -RemainAfterExit=yes +Type=notify +ExecStartPre=!install -m 755 -o system -g system -d /data/sadata_de /data/sadata_de/samgr +User=system +Group=system +ExecStart=/usr/bin/samgr [Install] WantedBy=multi-user.target diff --git a/recipes-openharmony/openharmony/openharmony-standard-3.0/samgr-sd-notify.patch b/recipes-openharmony/openharmony/openharmony-standard-3.0/samgr-sd-notify.patch index caec79db..7c4010f7 100644 --- a/recipes-openharmony/openharmony/openharmony-standard-3.0/samgr-sd-notify.patch +++ b/recipes-openharmony/openharmony/openharmony-standard-3.0/samgr-sd-notify.patch @@ -1,3 +1,15 @@ +# SPDX-FileCopyrightText: Huawei Inc. +# +# SPDX-License-Identifier: Apache-2.0 + +Patch for //foundation/distributedschedule/samgr of OpenHarmony 3.0 codebase + +This adds sd_notify(3) ready notification to samgr service for better +integration with systemd. + +Signed-off-by: Esben Haabendal <esben@geanix.com> +Upstream-Status: Pending + diff --git a/services/samgr/native/BUILD.gn b/services/samgr/native/BUILD.gn index 9b7e4a4e6301..48c512f430e6 100755 --- a/services/samgr/native/BUILD.gn diff --git a/recipes-openharmony/openharmony/openharmony-standard_3.0.bb b/recipes-openharmony/openharmony/openharmony-standard_3.0.bb index 818ff5fc..c1bfbe4b 100644 --- a/recipes-openharmony/openharmony/openharmony-standard_3.0.bb +++ b/recipes-openharmony/openharmony/openharmony-standard_3.0.bb @@ -771,7 +771,6 @@ FILES:${PN}-samgr = " \ ${bindir}/samgr \ ${libdir}/libsamgr*${SOLIBS} \ ${libdir}/liblsamgr*${SOLIBS} \ - ${systemd_unitdir}/samgr.service \ " SYSTEMD_PACKAGES += "${PN}-samgr" SYSTEMD_SERVICE:${PN}-samgr = "samgr.service" -- GitLab