diff --git a/recipes-openharmony/openharmony/files/openharmony-preinit b/recipes-openharmony/openharmony/files/openharmony-preinit index f7eb48ef132e6f6d7e439640d5608886649cee00..8bcfaa9ad1449e5da7775d7d8134ebee797ccdfd 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 ca384e6a6104516c8bf5026614ba36e1e69e3a49..bad291a2fa5152e9b9a1eedffe9ed8270440e5b9 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 bb66c394846c8e39f705162f49950b30546ec069..16a22ceebaa1c77f3e0b17a5c26cd7e1df001b48 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 caec79db5bc6fab822b131c1842bc1a729e51753..7c4010f7d5ce0829c77944e8f9786d683a99bed2 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 818ff5fcea00eee8f92596134b0fe60258623468..c1bfbe4b859b69bc43d1a0b953fee304e963a1e2 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"