Skip to content
Snippets Groups Projects
Commit a654c3dc authored by Robert Drab's avatar Robert Drab
Browse files

param_service: Split out from the unused OHOS Init service

In OpenHarmony 3.0 Param Service is a part of the whole Init system. This
service is required by many other services. Therefore we have to split out
the service as an independent from Init when Init is not used.

Closes: https://gitlab.eclipse.org/eclipse/oniro-core/meta-openharmony/-/issues/28


Signed-off-by: default avatarRobert Drab <robert.drab@huawei.com>
parent 8295fd9e
No related branches found
No related tags found
No related merge requests found
# SPDX-FileCopyrightText: Huawei Inc.
#
# SPDX-License-Identifier: Apache-2.0
appspawn_standard: Add param_service to startup l2 part
In OpenHarmony 3.0 param service is a part of init part which is we don not
use and therefore we have to add it to a different part.
Signed-off-by: Robert Drab <robert.drab@huawei.com>
Upstream-Status: Inappropriate
diff --git a/ohos.build b/ohos.build
index 650790f..12372a6 100644
--- a/ohos.build
+++ b/ohos.build
@@ -9,7 +9,10 @@
"//base/startup/appspawn_standard:appspawn.rc",
"//base/startup/syspara_lite/interfaces/innerkits/native/syspara:syspara",
"//base/startup/syspara_lite/interfaces/kits/js:deviceinfo",
- "//base/startup/syspara_lite/interfaces/kits/js:systemparameter"
+ "//base/startup/syspara_lite/interfaces/kits/js:systemparameter",
+ "//base/startup/init_lite/services:param_service",
+ "//base/startup/init_lite/services/param:getparam",
+ "//base/startup/init_lite/services/param:setparam"
],
"inner_kits": [
{
/*
* SPDX-FileCopyrightText: Huawei Inc.
*
* SPDX-License-Identifier: Apache-2.0
*/
#include <signal.h>
#include <init_log.h>
#include <init_param.h>
void sig_handler(int signum) {
INIT_LOGI("Stopping param service...");
StopParamService();
}
int main(int argc, char **argv)
{
struct sigaction action = { 0 };
InitParamService();
LoadDefaultParams("/system/etc/ohos.para");
action.sa_handler = sig_handler;
sigaction(SIGTERM, &action, NULL);
sigaction(SIGINT, &action, NULL);
sigaction(SIGHUP, &action, NULL);
// Following call spins up libuv event loop that will keep service running
INIT_LOGI("Starting param service...");
StartParamService();
return 0;
}
# SPDX-FileCopyrightText: Huawei Inc.
#
# SPDX-License-Identifier: Apache-2.0
param_service: Add to build system
In OpenHarmony 3.0 Param Service is a part of the whole Init system. This
service is required by many other services. Therefore we have to split out
the service as an independent from Init when Init is not used.
Signed-off-by: Robert Drab <robert.drab@huawei.com>
Upstream-Status: Inappropriate
diff --git a/services/BUILD.gn b/services/BUILD.gn
index 1994c2ef..e094f7ce 100644
--- a/services/BUILD.gn
+++ b/services/BUILD.gn
@@ -85,6 +85,25 @@ if (defined(ohos_lite)) {
} else {
import("//build/ohos.gni")
+ ohos_executable("param_service") {
+ sources = [ "param/src/param_service.c" ]
+ include_dirs = [
+ "//base/startup/init_lite/services/include/param",
+ "//base/startup/init_lite/services/log",
+ "//third_party/cJSON",
+ ]
+ deps = [
+ "//base/startup/init_lite/services/log:init_log",
+ "//base/startup/init_lite/services/param:paramservice",
+ ]
+ install_images = [
+ "system",
+ "updater",
+ ]
+ install_enable = true
+ part_name = "startup_l2"
+ }
+
ohos_executable("init") {
sources = [
"src/device.c",
@@ -132,6 +151,7 @@ if (defined(ohos_lite)) {
group("startup_init") {
deps = [
+ ":param_service",
":init",
":init_etc",
"//base/startup/init_lite/interfaces/innerkits/socket:libsocket",
@@ -180,7 +200,7 @@ if (defined(ohos_lite)) {
ohos_prebuilt_etc("ohos.para") {
source = "//base/startup/init_lite/services/etc/ohos.para"
- part_name = "init"
+ part_name = "startup_l2"
}
group("init_etc") {
diff --git a/services/param/BUILD.gn b/services/param/BUILD.gn
index 07e1d278..ba420b66 100644
--- a/services/param/BUILD.gn
+++ b/services/param/BUILD.gn
@@ -83,7 +83,7 @@ ohos_executable("getparam") {
"//third_party/cJSON:cjson_static",
]
install_enable = true
- part_name = "init"
+ part_name = "startup_l2"
}
ohos_executable("setparam") {
@@ -100,5 +100,5 @@ ohos_executable("setparam") {
"//third_party/cJSON:cjson_static",
]
install_enable = true
- part_name = "init"
+ part_name = "startup_l2"
}
diff --git a/services/param/service/param_service.c b/services/param/service/param_service.c
index cd5d93be..03a10ae0 100644
--- a/services/param/service/param_service.c
+++ b/services/param/service/param_service.c
@@ -131,7 +131,11 @@ static int ProcessParamSet(const RequestMsg *msg)
ret = WritePersistParam(info[0].value, info[1].value);
PARAM_CHECK(ret == 0, return ret, "Failed to set param");
// notify event to process trigger
+// TODO: add some flag or something instead of if 0
+// The following call is a part of OpenHarmony init system
+#if 0
PostTrigger(EVENT_PROPERTY, msg->content, msg->contentSize);
+#endif
return 0;
}
@@ -267,7 +271,11 @@ int SystemWriteParam(const char *name, const char *value)
PARAM_CHECK(ret == 0, return ret, "Failed to set persist param %s", name);
// notify event to process trigger
+// TODO: add some flag or something instead of if 0
+// The following call is a part of OpenHarmony init system
+#if 0
PostParamTrigger(name, value);
+#endif
return ret;
}
...@@ -64,6 +64,10 @@ SRC_URI += "file://xf86drm.c-Add-drmWaitVBlank-hack.patch;patchdir=${S}/third_pa ...@@ -64,6 +64,10 @@ SRC_URI += "file://xf86drm.c-Add-drmWaitVBlank-hack.patch;patchdir=${S}/third_pa
SRC_URI += "file://graphic-standard-Add-missing-entry-for-libwms_client.patch;patchdir=${S}/foundation/graphic/standard" SRC_URI += "file://graphic-standard-Add-missing-entry-for-libwms_client.patch;patchdir=${S}/foundation/graphic/standard"
SRC_URI += "file://param_service.c;subdir=${S}/base/startup/init_lite/services/param/src"
SRC_URI += "file://param_service.patch;patchdir=${S}/base/startup/init_lite"
SRC_URI += "file://param_service-Add-to-startup-l2-part.patch;patchdir=${S}/base/startup/appspawn_standard"
inherit python3native gn_base ptest inherit python3native gn_base ptest
B = "${S}/out/ohos-arm-release" B = "${S}/out/ohos-arm-release"
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment