diff --git a/recipes-openharmony/openharmony/files/run-ptest b/recipes-openharmony/openharmony/files/run-ptest index f2793aa6b4fa5dff66dd79961eadbc6425e6bb0a..f17c82a9e2ba1f33c0b568bd3863c265af3a3462 100644 --- a/recipes-openharmony/openharmony/files/run-ptest +++ b/recipes-openharmony/openharmony/files/run-ptest @@ -54,7 +54,7 @@ for ts in unittest moduletest systemtest ; do done # Component level test fixture teardown -if [ -f setup.sh ]; then +if [ -f teardown.sh ]; then source teardown.sh fi diff --git a/recipes-openharmony/openharmony/openharmony-standard-3.0/param_service-Add-to-build-system.patch b/recipes-openharmony/openharmony/openharmony-standard-3.0/param_service-Add-to-build-system.patch new file mode 100644 index 0000000000000000000000000000000000000000..a0cd282f4d45220d3c1bd9ac90f7b6983fd05228 --- /dev/null +++ b/recipes-openharmony/openharmony/openharmony-standard-3.0/param_service-Add-to-build-system.patch @@ -0,0 +1,110 @@ +# SPDX-FileCopyrightText: Huawei Inc. +# +# SPDX-License-Identifier: Apache-2.0 + +Patch for //base/startup/init_lite + +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_main.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; + } + diff --git a/recipes-openharmony/openharmony/openharmony-standard-3.0/param_service-Add-to-startup-l2-part.patch b/recipes-openharmony/openharmony/openharmony-standard-3.0/param_service-Add-to-startup-l2-part.patch new file mode 100644 index 0000000000000000000000000000000000000000..1160f798c69f2de0e8e561792b22cea6ef57f513 --- /dev/null +++ b/recipes-openharmony/openharmony/openharmony-standard-3.0/param_service-Add-to-startup-l2-part.patch @@ -0,0 +1,31 @@ +# SPDX-FileCopyrightText: Huawei Inc. +# +# SPDX-License-Identifier: Apache-2.0 + +Patch for //base/startup/appspawn_standard + +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..85b3bde 100644 +--- a/ohos.build ++++ b/ohos.build +@@ -9,7 +9,11 @@ + "//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:ohos.para", ++ "//base/startup/init_lite/services/param:getparam", ++ "//base/startup/init_lite/services/param:setparam" + ], + "inner_kits": [ + { diff --git a/recipes-openharmony/openharmony/openharmony-standard-3.0/param_service.c-Fix-stopping-param_service.patch b/recipes-openharmony/openharmony/openharmony-standard-3.0/param_service.c-Fix-stopping-param_service.patch new file mode 100644 index 0000000000000000000000000000000000000000..77a7cb1a2ffd4a4db8e473b39694d030eff713b9 --- /dev/null +++ b/recipes-openharmony/openharmony/openharmony-standard-3.0/param_service.c-Fix-stopping-param_service.patch @@ -0,0 +1,74 @@ +# SPDX-FileCopyrightText: Huawei Inc. +# +# SPDX-License-Identifier: Apache-2.0 + +Patch for //base/startup/init_lite + +param_service.c: Fix stopping param_service + +StopParamService() have to be called from the uv_loop context to be able to +successfully stop the uv_loop. To achieve that we need an uv_idle callback. + +Signed-off-by: Robert Drab <robert.drab@huawei.com> +Upstream-Status: Pending + +diff --git a/services/param/service/param_service.c b/services/param/service/param_service.c +index cd5d93be..6634fa3d 100644 +--- a/services/param/service/param_service.c ++++ b/services/param/service/param_service.c +@@ -241,12 +241,36 @@ void StopParamService() + PARAM_LOGI("StopParamService."); + } + ++/* ++ * uv_stop() must be called from the uv_loop context and therefore ++ * StopParamService() cannot do it's job when called from the signal handler. ++ * We need a uv_idle callback that will call StopParamService() which calls ++ * uv_stop() from the uv_loop context to actually stop the param service loop. ++ */ ++int g_paramService_asyncStopRequest = 0; ++ ++int ParamServiceAsyncStopRequest() { ++ g_paramService_asyncStopRequest = 0; ++ return 0; ++} ++ ++void ParamServiceLoopIdleCallback(uv_idle_t *handle) { ++ if (g_paramService_asyncStopRequest) { ++ PARAM_LOGI("%s(): %d Stopping param service...", __FUNCTION__, __LINE__); ++ StopParamService(); ++ } ++} ++ + int StartParamService() + { + PARAM_LOGI("StartParamService."); + uv_fs_t req; + uv_fs_unlink(uv_default_loop(), &req, PIPE_NAME, NULL); + ++ uv_idle_t idler; ++ uv_idle_init(uv_default_loop(), &idler); ++ uv_idle_start(&idler, ParamServiceLoopIdleCallback); ++ + uv_pipe_t pipeServer; + int ret = uv_pipe_init(uv_default_loop(), &pipeServer, 0); + PARAM_CHECK(ret == 0, return ret, "Failed to uv_pipe_init %d", ret); +diff --git a/services/include/param/init_param.h b/services/include/param/init_param.h +index 73a06795..4574cbaa 100644 +--- a/services/include/param/init_param.h ++++ b/services/include/param/init_param.h +@@ -51,6 +51,14 @@ int StartParamService(); + */ + void StopParamService(); + ++/** ++ * ParamServiceAsyncStopRequest interface ++ * Allows stopping ParamService from outside event loop context, ++ * e.g. from signal handler ++ * ++ */ ++int ParamServiceAsyncStopRequest(void); ++ + /** + * Init æŽ¥å£ + * åŠ è½½é»˜è®¤çš„å‚æ•°å€¼ diff --git a/recipes-openharmony/openharmony/openharmony-standard-3.0/param_service_main.c b/recipes-openharmony/openharmony/openharmony-standard-3.0/param_service_main.c new file mode 100644 index 0000000000000000000000000000000000000000..5cd2a6c2cff59b6b09ddb756e9561c9d841b6332 --- /dev/null +++ b/recipes-openharmony/openharmony/openharmony-standard-3.0/param_service_main.c @@ -0,0 +1,66 @@ +/* + * SPDX-FileCopyrightText: Huawei Inc. + * + * SPDX-License-Identifier: Apache-2.0 + */ + +#include <init_log.h> +#include <init_param.h> +#include <errno.h> +#include <unistd.h> + +#include <signal.h> + +void sig_handler(int signum) { + INIT_LOGI("Requesting param service to stop..."); + ParamServiceAsyncStopRequest(); +} + +char *parse_args(int argc, char **argv) { + char *fpath = NULL; + + if (argc == 2 && argv[1]) { + if (access(argv[1], R_OK) == 0) { + fpath = argv[1]; + } + } + + return fpath; +} + +int main(int argc, char **argv) +{ + char *params_fpath = "/system/etc/ohos.para"; + + if (argc > 1) + params_fpath = parse_args(argc, argv); + + if (!params_fpath) { + INIT_LOGI("Invalid params file path!"); + return -EINVAL; + } + + InitParamService(); + int ret = LoadDefaultParams(params_fpath); + if (ret) { + INIT_LOGE("Failed to load default params! Error code: %d", ret); + } + ret = LoadPersistParams(); + if (ret) { + INIT_LOGE("Failed to load persist params! Error code: %d", ret); + } + + struct sigaction action = { 0 }; + 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(); + INIT_LOGI("Param service stopped."); + + return 0; +} diff --git a/recipes-openharmony/openharmony/openharmony-standard_3.0.bb b/recipes-openharmony/openharmony/openharmony-standard_3.0.bb index 481ab09f1effaf4265fdd9b70722aa1e333afa6e..59aedc490986e46c67a64ccf66fdb74828c5da11 100644 --- a/recipes-openharmony/openharmony/openharmony-standard_3.0.bb +++ b/recipes-openharmony/openharmony/openharmony-standard_3.0.bb @@ -61,6 +61,11 @@ SRC_URI += "file://appspawn-procps.patch;patchdir=${S}/base/startup/appspawn_sta SRC_URI += "file://base_startup_appspawn_standard-disable-longProcName-resetting.patch;patchdir=${S}/base/startup/appspawn_standard" SRC_URI += "file://test_xts_acts-Align-tests-list-with-mandatory-set.patch;patchdir=${S}/test/xts/acts" +SRC_URI += "file://param_service_main.c;subdir=${S}/base/startup/init_lite/services/param/src" +SRC_URI += "file://param_service-Add-to-build-system.patch;patchdir=${S}/base/startup/init_lite" +SRC_URI += "file://param_service.c-Fix-stopping-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 B = "${S}/out/ohos-arm-release" @@ -203,7 +208,12 @@ RDEPENDS:${PN}-ptest += "musl libcxx libcrypto libssl ${PN}-libutils" SOLIBS = ".so" FILES_SOLIBSDEV = "" -FILES:${PN} += "${libdir}/media ${libdir}/module ${libdir}/ark ${libdir}/openharmony ${libdir}/*${SOLIBS}" +# Remove default file patterns from FILES:${PN} and avoid non-packaged +# files to be included in the ${PN} package +FILES:${PN}:remove = "${libdir}/lib*.so" +FILES:${PN}:remove = "${bindir}/*" +FILES:${PN}:remove = "${libdir}/${BPN}/*" + FILES:${PN}-configs = "${sysconfdir}" FILES:${PN}-fonts = "${datadir}/fonts" @@ -347,6 +357,10 @@ copy_subsystem_config_json_file() { cp "${S}/build/subsystem_config.json" "${OHOS_BUILD_CONFIGS_DIR}/" } +inherit systemd +SYSTEMD_AUTO_ENABLE = "enable" + +# //utils/native component PACKAGES =+ "${PN}-libutilsecurec ${PN}-libutils" FILES:${PN}-libutilsecurec = "${libdir}/libutilsecurec*${SOLIBS}" FILES:${PN}-libutils = "${libdir}/libutils*${SOLIBS}" @@ -354,11 +368,21 @@ RDEPENDS:${PN}-libutilsecurec += "musl libcxx" RDEPENDS:${PN}-libutils += "musl libcxx ${PN}-hilog" RDEPENDS:${PN} += "${PN}-libutilsecurec ${PN}-libutils" -inherit systemd -SYSTEMD_AUTO_ENABLE = "enable" +PACKAGES =+ "${PN}-libutils-ptest" +OPENHARMONY_PTEST_IS_BROKEN += "libutils" +FILES:${PN}-libutils-ptest = "${libdir}/${BPN}-libutils/ptest" +do_install_ptest_base[cleandirs] += "${D}${libdir}/${BPN}-libutils/ptest" +do_install_ptest:append() { + install -D ${WORKDIR}/run-ptest ${D}${libdir}/${BPN}-libutils/ptest/run-ptest + mv ${D}${PTEST_PATH}/unittest/utils/base ${D}${libdir}/${BPN}-libutils/ptest/unittest + rmdir ${D}${PTEST_PATH}/unittest/utils +} +RDEPENDS:${PN}-libutils-ptest += "musl libcxx" +RDEPENDS:${PN}-libutils-ptest += "${PN}-libutils ${PN}-hilog" +RDEPENDS:${PN}-ptest += "${PN}-libutils-ptest" # //base/hiviewdfx/hilog component -PACKAGES =+ "${PN}-hilog ${PN}-hilog-ptest" +PACKAGES =+ "${PN}-hilog" SYSTEMD_PACKAGES = "${PN}-hilog" SYSTEMD_SERVICE:${PN}-hilog = "hilogd.service" SRC_URI += "file://hilogd.service" @@ -369,6 +393,17 @@ do_install:append() { install -d ${D}${sysconfdir}/sysctl.d echo "net.unix.max_dgram_qlen=600" > ${D}${sysconfdir}/sysctl.d/hilogd.conf } +FILES:${PN}-hilog = " \ + ${bindir}/hilog* \ + ${libdir}/libhilog*${SOLIBS} \ + ${sysconfdir}/openharmony/hilog*.conf \ + ${systemd_unitdir}/hilogd.service \ +" +RDEPENDS:${PN}-hilog += "musl libcxx" +RDEPENDS:${PN}-hilog += "${PN}-libutilsecurec" +RDEPENDS:${PN} += "${PN}-hilog" + +PACKAGES =+ "${PN}-hilog-ptest" do_install_ptest_base[cleandirs] += "${D}${libdir}/${BPN}-hilog/ptest" do_install_ptest:append() { install -D ${WORKDIR}/run-ptest ${D}${libdir}/${BPN}-hilog/ptest/run-ptest @@ -376,22 +411,13 @@ do_install_ptest:append() { rmdir ${D}${PTEST_PATH}/moduletest/hiviewdfx echo "hilogd.service" > ${D}${libdir}/${BPN}-hilog/ptest/systemd-units } -FILES:${PN}-hilog = "\ - ${bindir}/hilog* \ - ${libdir}/libhilog* \ - ${sysconfdir}/openharmony/hilog*.conf \ - ${systemd_unitdir}/hilogd.service \ -" FILES:${PN}-hilog-ptest = "${libdir}/${BPN}-hilog/ptest" -RDEPENDS:${PN} += "${PN}-hilog" -RDEPENDS:${PN}-ptest += "${PN}-hilog-ptest ${PN}-hilog" -RDEPENDS:${PN}-hilog-ptest += "${PN}-hilog" -RDEPENDS:${PN}-hilog += "musl libcxx" RDEPENDS:${PN}-hilog-ptest += "musl libcxx" -RDEPENDS:${PN}-hilog += "${PN}-libutilsecurec" +RDEPENDS:${PN}-hilog-ptest += "${PN}-hilog" +RDEPENDS:${PN}-ptest += "${PN}-hilog-ptest" # //base/startup/appspawn_standard component -PACKAGES =+ "${PN}-appspawn ${PN}-appspawn-ptest" +PACKAGES =+ "${PN}-appspawn" SYSTEMD_PACKAGES += "${PN}-appspawn" SYSTEMD_SERVICE:${PN}-appspawn = "appspawn.service" SRC_URI += "file://appspawn.service" @@ -400,6 +426,17 @@ do_install:append() { install -m 644 ${WORKDIR}/appspawn.service ${D}${systemd_unitdir}/system/ rm -f ${D}${sysconfdir}/openharmony/init/appspawn.cfg } +FILES:${PN}-appspawn = " \ + ${bindir}/appspawn \ + ${libdir}/libappspawn*${SOLIBS} \ + ${systemd_unitdir}/appspawnd.service \ +" +RDEPENDS:${PN}-appspawn += "musl libcxx" +RDEPENDS:${PN}-appspawn += "${PN}-libutils ${PN}-hilog ${PN}-appexecfwk" +RDEPENDS:${PN} += "${PN}-appspawn" + +PACKAGES =+ "${PN}-appspawn-ptest" +OPENHARMONY_PTEST_IS_BROKEN += "appspawn" do_install_ptest_base[cleandirs] += "${D}${libdir}/${BPN}-appspawn/ptest" do_install_ptest:append() { install -D ${WORKDIR}/run-ptest ${D}${libdir}/${BPN}-appspawn/ptest/run-ptest @@ -408,23 +445,1236 @@ do_install_ptest:append() { rmdir ${D}${PTEST_PATH}/*/startup_l2 echo "appspawn.service" > ${D}${libdir}/${BPN}-appspawn/ptest/systemd-units } -OPENHARMONY_PTEST_IS_BROKEN += "appspawn" -FILES:${PN}-appspawn = "\ - ${bindir}/appspawn* \ - ${libdir}/libappspawn* \ - ${systemd_unitdir}/appspawnd.service \ -" FILES:${PN}-appspawn-ptest = "${libdir}/${BPN}-appspawn/ptest" -RDEPENDS:${PN} += "${PN}-appspawn" -RDEPENDS:${PN}-ptest += "${PN}-appspawn-ptest ${PN}-appspawn" RDEPENDS:${PN}-appspawn-ptest += "${PN}-appspawn" -RDEPENDS:${PN}-appspawn += "musl libcxx" RDEPENDS:${PN}-appspawn-ptest += "musl libcxx" -RDEPENDS:${PN}-appspawn += "${PN}-libutils ${PN}-hilog" -RDEPENDS:${PN}-appspawn-ptest += "${PN}-libutils ${PN}-hilog" -# TODO: remove when needed parts are split out -RDEPENDS:${PN}-appspawn += "${PN}" -RDEPENDS:${PN}-appspawn-ptest += "${PN}" +RDEPENDS:${PN}-appspawn-ptest += "${PN}-libutils ${PN}-hilog ${PN}-appexecfwk" +RDEPENDS:${PN}-ptest += "${PN}-appspawn-ptest" + +# //foundation/appexecfwk/standard component +PACKAGES =+ "${PN}-appexecfwk" +FILES:${PN}-appexecfwk = "\ + ${bindir}/appexec \ + ${bindir}/bm \ + ${bindir}/fm \ + ${bindir}/installs \ + ${bindir}/lmks \ + ${libdir}/libappexecfwk*${SOLIBS} \ + ${libdir}/libappkit_*${SOLIBS} \ + ${libdir}/libeventhandler*${SOLIBS} \ + ${libdir}/libams*${SOLIBS} \ + ${libdir}/libbms*${SOLIBS} \ + ${libdir}/libfms*${SOLIBS} \ + ${libdir}/module/libbundle*${SOLIBS} \ + ${libdir}/module/libnapi_app_mgr*${SOLIBS} \ + ${libdir}/openharmony/profile/foundation.xml \ +" +RDEPENDS:${PN}-appexecfwk += "musl libcxx" +RDEPENDS:${PN}-appexecfwk += "${PN}-libutils ${PN}-hilog ${PN}-samgr ${PN}-ipc ${PN}-appverify ${PN}-distributeddatamgr ${PN}-notification-ces" +RDEPENDS:${PN}-appexecfwk += "${PN}-security-permission ${PN}-appspawn ${PN}-safwk ${PN}-timeservice ${PN}-powermgr ${PN}-dmsfwk ${PN}-resmgr" +RDEPENDS:${PN}-appexecfwk += "${PN}-aafwk ${PN}-ace-napi" +RDEPENDS:${PN} += "${PN}-appexecfwk" + +PACKAGES =+ "${PN}-appexecfwk-ptest" +OPENHARMONY_PTEST_IS_BROKEN += "appexecfwk" +do_install_ptest_base[cleandirs] += "${D}${libdir}/${BPN}-appexecfwk/ptest" +do_install_ptest:append() { + install -D ${WORKDIR}/run-ptest ${D}${libdir}/${BPN}-appexecfwk/ptest/run-ptest + mv ${D}${PTEST_PATH}/moduletest/appexecfwk_standard ${D}${libdir}/${BPN}-appexecfwk/ptest/moduletest + mv ${D}${PTEST_PATH}/unittest/appexecfwk_standard ${D}${libdir}/${BPN}-appexecfwk/ptest/unittest + mv ${D}${PTEST_PATH}/systemtest/appexecfwk_standard ${D}${libdir}/${BPN}-appexecfwk/ptest/systemtest +} +FILES:${PN}-appexecfwk-ptest = "${libdir}/${BPN}-appexecfwk/ptest" +RDEPENDS:${PN}-appexecfwk-ptest += "musl libcxx" +RDEPENDS:${PN}-appexecfwk-ptest += "${PN}-appexecfwk ${PN}-libutils ${PN}-hilog ${PN}-appspawn ${PN}-appverify ${PN}-distributeddatamgr" +RDEPENDS:${PN}-appexecfwk-ptest += "${PN}-thirdparty-jsoncpp ${PN}-samgr ${PN}-ipc ${PN}-safwk ${PN}-aafwk" +RDEPENDS:${PN}-appexecfwk-ptest += "${PN}-samgr ${PN}-notification-ces ${PN}-dmsfwk ${PN}-security-permission" +RDEPENDS:${PN}-appexecfwk-ptest += "${PN}-thirdparty-libxml2" +RDEPENDS:${PN}-ptest += "${PN}-appexecfwk-ptest" + +# //base/security/appverify +PACKAGES =+ "${PN}-appverify" +FILES:${PN}-appverify = "${libdir}/libhapverify*${SOLIBS}" +RDEPENDS:${PN}-appverify += "musl libcxx libcrypto ${PN}-libutils ${PN}-hilog ${PN}-syspara" +RDEPENDS:${PN} += "${PN}-appverify" + +PACKAGES =+ "${PN}-appverify-ptest" +do_install_ptest_base[cleandirs] += "${D}${libdir}/${BPN}-appverify/ptest" +do_install_ptest:append() { + install -D ${WORKDIR}/run-ptest ${D}${libdir}/${BPN}-appverify/ptest/run-ptest + mv ${D}${PTEST_PATH}/unittest/appverify ${D}${libdir}/${BPN}-appverify/ptest/unittest +} +FILES:${PN}-appverify-ptest = "${libdir}/${BPN}-appverify/ptest" +RDEPENDS:${PN}-appverify-ptest += "musl libcxx libcrypto" +RDEPENDS:${PN}-appverify-ptest += "${PN}-appverify ${PN}-libutils ${PN}-hilog ${PN}-syspara" +RDEPENDS:${PN}-ptest += "${PN}-appverify-ptest" + +# //base/startup/syspara_lite +PACKAGES =+ "${PN}-syspara" +FILES:${PN}-syspara = " \ + ${libdir}/libsyspara*${SOLIBS} \ + ${libdir}/module/libdeviceinfo*${SOLIBS} \ + ${libdir}/module/libsystemparameter*${SOLIBS} \ +" +RDEPENDS:${PN}-syspara += "musl libcxx libcrypto ${PN}-libutils ${PN}-hilog ${PN}-ace-napi" +RDEPENDS:${PN} += "${PN}-syspara" + +# //foundation/aafwk +PACKAGES =+ "${PN}-aafwk" +FILES:${PN}-aafwk = " \ + ${bindir}/aa \ + ${libdir}/libability*${SOLIBS} \ + ${libdir}/libbase*${SOLIBS} \ + ${libdir}/libdataobs*${SOLIBS} \ + ${libdir}/libdummy_classes*${SOLIBS} \ + ${libdir}/libintent*${SOLIBS} \ + ${libdir}/libnapi_common*${SOLIBS} \ + ${libdir}/libwant.z${SOLIBS} \ + ${libdir}/module/ability/*${SOLIBS} \ + ${libdir}/module/app/libabilitymanager*${SOLIBS} \ + ${libdir}/module/libzlib*${SOLIBS} \ +" +RDEPENDS:${PN}-aafwk += "musl libcxx" +RDEPENDS:${PN}-aafwk += "${PN}-appexecfwk ${PN}-samgr ${PN}-libutils ${PN}-ipc ${PN}-appdatamgr ${PN}-dmsfwk ${PN}-resmgr ${PN}-security-permission" +RDEPENDS:${PN}-aafwk += "${PN}-safwk ${PN}-notification-ces ${PN}-multimodalinput ${PN}-thirdparty-jsoncpp ${PN}-graphic ${PN}-hilog ${PN}-ace-napi" +RDEPENDS:${PN} += "${PN}-aafwk" + +PACKAGES =+ "${PN}-aafwk-ptest" +OPENHARMONY_PTEST_IS_BROKEN += "aafwk" +do_install_ptest_base[cleandirs] += "${D}${libdir}/${BPN}-aafwk/ptest" +do_install_ptest:append() { + install -D ${WORKDIR}/run-ptest ${D}${libdir}/${BPN}-aafwk/ptest/run-ptest + mv ${D}${PTEST_PATH}/moduletest/aafwk_standard ${D}${libdir}/${BPN}-aafwk/ptest/moduletest + mv ${D}${PTEST_PATH}/unittest/aafwk_standard ${D}${libdir}/${BPN}-aafwk/ptest/unittest + mv ${D}${PTEST_PATH}/systemtest/aafwk_standard ${D}${libdir}/${BPN}-aafwk/ptest/systemtest +} +FILES:${PN}-aafwk-ptest = "${libdir}/${BPN}-aafwk/ptest" +RDEPENDS:${PN}-aafwk-ptest += "musl libcxx" +RDEPENDS:${PN}-aafwk-ptest += "${PN}-aafwk ${PN}-appexecfwk ${PN}-samgr ${PN}-thirdparty-jsoncpp ${PN}-libutils ${PN}-hilog ${PN}-ipc" +RDEPENDS:${PN}-aafwk-ptest += "${PN}-appdatamgr ${PN}-dmsfwk ${PN}-notification-ces ${PN}-multimodalinput ${PN}-resmgr ${PN}-ace-napi" +RDEPENDS:${PN}-aafwk-ptest += "${PN}-security-permission" +RDEPENDS:${PN}-ptest += "${PN}-aafwk-ptest" + +# //base/notification/ans_standard - Advanced Notification Service +PACKAGES =+ "${PN}-notification-ans" +FILES:${PN}-notification-ans = " \ + ${bindir}/anm \ + ${libdir}/libans*${SOLIBS} \ + ${libdir}/libwantagent_innerkits*${SOLIBS} \ + ${libdir}/module/libnotification*${SOLIBS} \ + ${libdir}/module/libwantagent*${SOLIBS} \ +" +RDEPENDS:${PN}-notification-ans += "musl libcxx" +RDEPENDS:${PN}-notification-ans += "${PN}-dmsfwk ${PN}-libutils ${PN}-hilog ${PN}-ipc ${PN}-samgr ${PN}-distributeddatamgr ${PN}-appexecfwk" +RDEPENDS:${PN}-notification-ans += "${PN}-notification-ces ${PN}-safwk ${PN}-aafwk ${PN}-dmsfwk ${PN}-multimedia-image ${PN}-ace-napi" +RDEPENDS:${PN} += "${PN}-notification-ans" + +PACKAGES =+ "${PN}-notification-ans-ptest" +OPENHARMONY_PTEST_IS_BROKEN += "notification-ans" +do_install_ptest_base[cleandirs] += "${D}${libdir}/${BPN}-notification-ans/ptest" +do_install_ptest:append() { + install -D ${WORKDIR}/run-ptest ${D}${libdir}/${BPN}-notification-ans/ptest/run-ptest + + mv ${D}${PTEST_PATH}/moduletest/ans_standard/moduletest ${D}${libdir}/${BPN}-notification-ans/ptest/moduletest + rmdir ${D}${PTEST_PATH}/moduletest/ans_standard + + mv ${D}${PTEST_PATH}/unittest/ans_standard/unittest ${D}${libdir}/${BPN}-notification-ans/ptest/unittest + mv ${D}${PTEST_PATH}/unittest/ans_standard/wantagent ${D}${libdir}/${BPN}-notification-ans/ptest/unittest/ + rmdir ${D}${PTEST_PATH}/unittest/ans_standard +} +FILES:${PN}-notification-ans-ptest = "${libdir}/${BPN}-notification-ans/ptest" +RDEPENDS:${PN}-notification-ans-ptest += "musl libcxx" +RDEPENDS:${PN}-notification-ans-ptest += "${PN}-notification-ans ${PN}-appexecfwk ${PN}-dmsfwk ${PN}-samgr ${PN}-multimedia-image ${PN}-libutils" +RDEPENDS:${PN}-notification-ans-ptest += "${PN}-hilog ${PN}-thirdparty-jsoncpp ${PN}-aafwk ${PN}-ipc ${PN}-safwk ${PN}-notification-ces" +RDEPENDS:${PN}-notification-ans-ptest += "${PN}-resmgr ${PN}-multimodalinput ${PN}-appdatamgr" +RDEPENDS:${PN}-ptest += "${PN}-notification-ans-ptest" + +# //base/notification/ces_standard - Common Event Service +PACKAGES =+ "${PN}-notification-ces" +FILES:${PN}-notification-ces = " \ + ${bindir}/cem \ + ${libdir}/libcesfwk_*${SOLIBS} \ + ${libdir}/libevent_common*${SOLIBS} \ + ${libdir}/module/libcommonevent*${SOLIBS} \ +" +RDEPENDS:${PN}-notification-ces += "musl libcxx" +RDEPENDS:${PN}-notification-ces += "${PN}-ipc ${PN}-libutils ${PN}-hilog ${PN}-thirdparty-libxml2 ${PN}-ipc" +RDEPENDS:${PN}-notification-ces += "${PN}-samgr ${PN}-appexecfwk ${PN}-safwk ${PN}-aafwk ${PN}-dmsfwk ${PN}-ace-napi" +RDEPENDS:${PN} += "${PN}-notification-ces" + +PACKAGES =+ "${PN}-notification-ces-ptest" +# Sometimes passes, sometimes fails... +OPENHARMONY_PTEST_IS_BROKEN += "notification-ces" +do_install_ptest_base[cleandirs] += "${D}${libdir}/${BPN}-notification-ces/ptest" +do_install_ptest:append() { + install -D ${WORKDIR}/run-ptest ${D}${libdir}/${BPN}-notification-ces/ptest/run-ptest + + mv ${D}${PTEST_PATH}/moduletest/ces_standard/mouduletest ${D}${libdir}/${BPN}-notification-ces/ptest/moduletest + mv ${D}${PTEST_PATH}/moduletest/ces_standard/tools ${D}${libdir}/${BPN}-notification-ces/ptest/moduletest/ + rmdir ${D}${PTEST_PATH}/moduletest/ces_standard + + mv ${D}${PTEST_PATH}/unittest/ces_standard ${D}${libdir}/${BPN}-notification-ces/ptest/unittest + + mv ${D}${PTEST_PATH}/systemtest/ces_standard/systemtest ${D}${libdir}/${BPN}-notification-ans/ptest/systemtest + mv ${D}${PTEST_PATH}/systemtest/ces_standard/tools ${D}${libdir}/${BPN}-notification-ans/ptest/systemtest/ + rmdir ${D}${PTEST_PATH}/systemtest/ces_standard +} +FILES:${PN}-notification-ces-ptest = "${libdir}/${BPN}-notification-ces/ptest" +RDEPENDS:${PN}-notification-ces-ptest += "musl libcxx" +RDEPENDS:${PN}-notification-ces-ptest += "${PN}-notification-ces ${PN}-appexecfwk ${PN}-libutils ${PN}-aafwk ${PN}-hilog ${PN}-ipc ${PN}-resmgr" +RDEPENDS:${PN}-notification-ces-ptest += "${PN}-multimodalinput ${PN}-distributeddatamgr" +RDEPENDS:${PN}-ptest += "${PN}-notification-ces-ptest" + +# //foundation/communication/ipc +PACKAGES =+ "${PN}-ipc" +FILES:${PN}-ipc = "\ + ${libdir}/libipc*${SOLIBS} \ + ${libdir}/module/librpc*${SOLIBS} \ + ${libdir}/libdbinder*${SOLIBS} \ +" +RDEPENDS:${PN}-ipc += "musl libcxx" +RDEPENDS:${PN}-ipc += "${PN}-libutils ${PN}-hilog ${PN}-dsoftbus ${PN}-samgr ${PN}-ace-napi" +RDEPENDS:${PN} += "${PN}-ipc" + +PACKAGES =+ "${PN}-ipc-ptest" +# Missing binary and library paths to openharmony-standard-ipc/ptest/*/resource/communication/ipc +# for the tests to be executed +OPENHARMONY_PTEST_IS_BROKEN += "ipc" +FILES:${PN}-ipc-ptest = "${libdir}/${BPN}-ipc/ptest" +do_install_ptest_base[cleandirs] += "${D}${libdir}/${BPN}-ipc/ptest" +do_install_ptest:append() { + install -D ${WORKDIR}/run-ptest ${D}${libdir}/${BPN}-ipc/ptest/run-ptest + mv ${D}${PTEST_PATH}/moduletest/ipc ${D}${libdir}/${BPN}-ipc/ptest/moduletest + mv ${D}${PTEST_PATH}/unittest/ipc ${D}${libdir}/${BPN}-ipc/ptest/unittest +} +RDEPENDS:${PN}-ipc-ptest += "musl libcxx" +RDEPENDS:${PN}-ipc-ptest += "${PN}-libutils ${PN}-hilog ${PN}-dsoftbus ${PN}-ipc ${PN}-samgr" +RDEPENDS:${PN}-ptest += "${PN}-ipc-ptest" + +# //foundation/communication/dsoftbus +PACKAGES =+ "${PN}-dsoftbus" +FILES:${PN}-dsoftbus = " \ + ${libdir}/libsoftbus*${SOLIBS} \ + ${libdir}/libnstackx*${SOLIBS} \ + ${libdir}/libmbedtls*${SOLIBS} \ + ${libdir}/openharmony/profile/softbus_server.xml \ +" +RDEPENDS:${PN} += "${PN}-dsoftbus" +RDEPENDS:${PN}-dsoftbus += "musl libcxx" +RDEPENDS:${PN}-dsoftbus += "${PN}-samgr ${PN}-syspara ${PN}-hilog ${PN}-libutils ${PN}-ipc ${PN}-safwk ${PN}-thirdparty-libcoap" +RDEPENDS:${PN}-dsoftbus += "${PN}-security-deviceauth ${PN}-aafwk ${PN}-notification-ces ${PN}-appexecfwk ${PN}-libutilsecurec" + +PACKAGES =+ "${PN}-dsoftbus-ptest" +# Test discovery/DiscSdkTest segfaults +OPENHARMONY_PTEST_IS_BROKEN += "dsoftbus" +FILES:${PN}-dsoftbus-ptest = "${libdir}/${BPN}-dsoftbus/ptest" +do_install_ptest_base[cleandirs] += "${D}${libdir}/${BPN}-dsoftbus/ptest" +do_install_ptest:append() { + install -D ${WORKDIR}/run-ptest ${D}${libdir}/${BPN}-dsoftbus/ptest/run-ptest + mv ${D}${PTEST_PATH}/unittest/dsoftbus_standard ${D}${libdir}/${BPN}-dsoftbus/ptest/unittest +} +RDEPENDS:${PN}-dsoftbus-ptest += "musl libcxx" +RDEPENDS:${PN}-dsoftbus-ptest += "${PN}-dsoftbus ${PN}-hilog" +RDEPENDS:${PN}-ptest += "${PN}-dsoftbus-ptest" + +# //foundation/distributedschedule/samgr +PACKAGES =+ "${PN}-samgr" +FILES:${PN}-samgr = " \ + ${bindir}/samgr \ + ${libdir}/libsamgr*${SOLIBS} \ + ${libdir}/liblsamgr*${SOLIBS} \ +" +RDEPENDS:${PN}-samgr += "musl libcxx" +RDEPENDS:${PN}-samgr += "${PN}-hilog ${PN}-ipc ${PN}-libutils ${PN}-thirdparty-libxml2" +RDEPENDS:${PN} += "${PN}-samgr" + +PACKAGES =+ "${PN}-samgr-ptest" +# Test unittest/SystemAbilityMgrTest segfaults +OPENHARMONY_PTEST_IS_BROKEN += "samgr" +FILES:${PN}-samgr-ptest = "${libdir}/${BPN}-samgr/ptest" +do_install_ptest_base[cleandirs] += "${D}${libdir}/${BPN}-samgr/ptest" +do_install_ptest:append() { + install -D ${WORKDIR}/run-ptest ${D}${libdir}/${BPN}-samgr/ptest/run-ptest + mv ${D}${PTEST_PATH}/unittest/samgr/samgr ${D}${libdir}/${BPN}-samgr/ptest/unittest + rmdir ${D}${PTEST_PATH}/unittest/samgr +} +RDEPENDS:${PN}-samgr-ptest += "musl libcxx" +RDEPENDS:${PN}-samgr-ptest += "${PN}-samgr ${PN}-libutils ${PN}-hilog ${PN}-ipc" +RDEPENDS:${PN}-ptest += "${PN}-samgr-ptest" + +# //foundation/distributedschedule/safwk +PACKAGES =+ "${PN}-safwk" +FILES:${PN}-safwk = "\ + ${bindir}/sa_main \ + ${libdir}/libsystem_ability_fwk*${SOLIBS} \ +" +RDEPENDS:${PN}-safwk += "musl libcxx" +RDEPENDS:${PN}-safwk += "${PN}-libutils ${PN}-hilog ${PN}-samgr ${PN}-ipc" +RDEPENDS:${PN}-safwk += "${PN}-thirdparty-libxml2" +RDEPENDS:${PN} += "${PN}-safwk" + +# //base/global/resmgr_standard +PACKAGES =+ "${PN}-resmgr" +FILES:${PN}-resmgr = " \ + ${libdir}/libglobal_resmgr*${SOLIBS} \ + ${libdir}/module/libresourcemanager*${SOLIBS} \ +" +RDEPENDS:${PN}-resmgr += "musl libcxx ${PN}-thirdparty-icu ${PN}-hilog ${PN}-aafwk ${PN}-ipc ${PN}-dmsfwk ${PN}-libutils ${PN}-ace-napi" +RDEPENDS:${PN} += "${PN}-resmgr" + +PACKAGES =+ "${PN}-resmgr-ptest" +OPENHARMONY_PTEST_IS_BROKEN += "resmgr" +FILES:${PN}-resmgr-ptest = "${libdir}/${BPN}-resmgr/ptest" +do_install_ptest_base[cleandirs] += "${D}${libdir}/${BPN}-resmgr/ptest" +do_install_ptest:append() { + install -D ${WORKDIR}/run-ptest ${D}${libdir}/${BPN}-resmgr/ptest/run-ptest + mv ${D}${PTEST_PATH}/unittest/resmgr_standard/test ${D}${libdir}/${BPN}-resmgr/ptest/unittest + rmdir ${D}${PTEST_PATH}/unittest/resmgr_standard +} +RDEPENDS:${PN}-resmgr-ptest += "musl libcxx" +RDEPENDS:${PN}-resmgr-ptest += "${PN}-resmgr ${PN}-hilog" +RDEPENDS:${PN}-ptest += "${PN}-resmgr-ptest" + +# //foundation/distributeddatamgr/appdatamgr +PACKAGES =+ "${PN}-appdatamgr" +FILES:${PN}-appdatamgr = " \ + ${libdir}/libnative_rdb*${SOLIBS} \ + ${libdir}/libnative_preferences*${SOLIBS} \ + ${libdir}/libnative_dataability*${SOLIBS} \ + ${libdir}/libnative_appdatafwk*${SOLIBS} \ +" +RDEPENDS:${PN}-appdatamgr += "musl libcxx libcrypto" +RDEPENDS:${PN}-appdatamgr += "${PN}-libutils ${PN}-ipc ${PN}-hilog ${PN}-thirdparty-libxml2 ${PN}-thirdparty-icu ${PN}-thirdparty-sqlite" +RDEPENDS:${PN} += "${PN}-appdatamgr" + +PACKAGES =+ "${PN}-appdatamgr-ptest" +# Test NativeRdbTest segfaults +OPENHARMONY_PTEST_IS_BROKEN += "appdatamgr" +FILES:${PN}-appdatamgr-ptest = "${libdir}/${BPN}-appdatamgr/ptest" +do_install_ptest_base[cleandirs] += "${D}${libdir}/${BPN}-appdatamgr/ptest" +do_install_ptest:append() { + install -D ${WORKDIR}/run-ptest ${D}${libdir}/${BPN}-appdatamgr/ptest/run-ptest + mv ${D}${PTEST_PATH}/unittest/appdatamgr ${D}${libdir}/${BPN}-appdatamgr/ptest/unittest + mv ${D}${PTEST_PATH}/unittest/native_appdatamgr/* ${D}${libdir}/${BPN}-appdatamgr/ptest/unittest/ + rmdir ${D}${PTEST_PATH}/unittest/native_appdatamgr +} +RDEPENDS:${PN}-appdatamgr-ptest += "musl libcxx" +RDEPENDS:${PN}-appdatamgr-ptest += "${PN}-appdatamgr ${PN}-libutils ${PN}-hilog ${PN}-ipc ${PN}-thirdparty-icu" +RDEPENDS:${PN}-ptest += "${PN}-appdatamgr-ptest" + +# //foundation/distributeddatamgr/distributeddatamgr +PACKAGES =+ "${PN}-distributeddatamgr" +FILES:${PN}-distributeddatamgr = " \ + ${libdir}/libdistributeddata*${SOLIBS} \ + ${libdir}/libapp_distributeddata*${SOLIBS} \ + ${libdir}/libdistributeddb*${SOLIBS} \ + ${libdir}/module/data/libdistributeddata*${SOLIBS} \ + ${libdir}/openharmony/profile/distributeddata.xml \ +" +RDEPENDS:${PN}-distributeddatamgr += "musl libcxx libcrypto" +RDEPENDS:${PN}-distributeddatamgr += "${PN}-hilog ${PN}-bytrace ${PN}-hisysevent ${PN}-dsoftbus ${PN}-thirdparty-jsoncpp ${PN}-libutils" +RDEPENDS:${PN}-distributeddatamgr += "${PN}-ipc ${PN}-samgr ${PN}-aafwk ${PN}-powermgr ${PN}-safwk ${PN}-security-permission ${PN}-thirdparty-icu" +RDEPENDS:${PN}-distributeddatamgr += "${PN}-security-huks ${PN}-aafwk ${PN}-notification-ces ${PN}-dmsfwk ${PN}-thirdparty-sqlite ${PN}-ace-napi" +RDEPENDS:${PN}-distributeddatamgr += "${PN}-security-dataclassification ${PN}-os-account ${PN}-power-batterymgr ${PN}-thirdparty-libxml2" +RDEPENDS:${PN} += "${PN}-distributeddatamgr" + +PACKAGES =+ "${PN}-distributeddatamgr-ptest" +OPENHARMONY_PTEST_IS_BROKEN += "distributeddatamgr" +FILES:${PN}-distributeddatamgr-ptest = "${libdir}/${BPN}-distributeddatamgr/ptest" +do_install_ptest_base[cleandirs] += "${D}${libdir}/${BPN}-distributeddatamgr/ptest" +do_install_ptest:append() { + install -D ${WORKDIR}/run-ptest ${D}${libdir}/${BPN}-distributeddatamgr/ptest/run-ptest + mv ${D}${PTEST_PATH}/moduletest/distributeddatamgr ${D}${libdir}/${BPN}-distributeddatamgr/ptest/moduletest + mv ${D}${PTEST_PATH}/unittest/distributeddatamgr ${D}${libdir}/${BPN}-distributeddatamgr/ptest/unittest +} +RDEPENDS:${PN}-distributeddatamgr-ptest += "musl libcxx libcrypto" +RDEPENDS:${PN}-distributeddatamgr-ptest += "${PN}-distributeddatamgr ${PN}-libutils ${PN}-hilog ${PN}-thirdparty-sqlite ${PN}-dsoftbus" +RDEPENDS:${PN}-distributeddatamgr-ptest += "${PN}-bytrace ${PN}-hisysevent ${PN}-aafwk ${PN}-notification-ces ${PN}-os-account" +RDEPENDS:${PN}-distributeddatamgr-ptest += "${PN}-power-batterymgr ${PN}-security-huks ${PN}-ipc ${PN}-safwk ${PN}-samgr ${PN}-aafwk" +RDEPENDS:${PN}-distributeddatamgr-ptest += "${PN}-dmsfwk ${PN}-thirdparty-jsoncpp ${PN}-security-permission ${PN}-powermgr" +RDEPENDS:${PN}-ptest += "${PN}-distributeddatamgr-ptest" + +# //base/account/os_account +PACKAGES =+ "${PN}-os-account" +FILES:${PN}-os-account = " \ + ${libdir}/libaccount*${SOLIBS} \ + ${libdir}/module/account/*${SOLIBS} \ + ${libdir}/openharmony/profile/accountmgr.xml \ +" +RDEPENDS:${PN}-os-account += "musl libcxx" +RDEPENDS:${PN}-os-account += "${PN}-hilog ${PN}-ipc ${PN}-samgr ${PN}-libutils ${PN}-aafwk ${PN}-notification-ces" +RDEPENDS:${PN}-os-account += "${PN}-hisysevent ${PN}-security-permission ${PN}-safwk ${PN}-ace-napi" +RDEPENDS:${PN} += "${PN}-os-account" + +PACKAGES =+ "${PN}-os-account-ptest" +OPENHARMONY_PTEST_IS_BROKEN += "os-account" +FILES:${PN}-os-account-ptest = "${libdir}/${BPN}-os-account/ptest" +do_install_ptest_base[cleandirs] += "${D}${libdir}/${BPN}-os-account/ptest" +do_install_ptest:append() { + install -D ${WORKDIR}/run-ptest ${D}${libdir}/${BPN}-os-account/ptest/run-ptest + mv ${D}${PTEST_PATH}/moduletest/os_account_standard ${D}${libdir}/${BPN}-os-account/ptest/moduletest + mv ${D}${PTEST_PATH}/unittest/os_account_standard ${D}${libdir}/${BPN}-os-account/ptest/unittest +} +RDEPENDS:${PN}-os-account-ptest += "musl libcxx" +RDEPENDS:${PN}-os-account-ptest += "${PN}-os-account ${PN}-hilog ${PN}-ipc ${PN}-samgr ${PN}-libutils ${PN}-aafwk" +RDEPENDS:${PN}-os-account-ptest += "${PN}-notification-ces ${PN}-hisysevent ${PN}-security-permission ${PN}-safwk" +RDEPENDS:${PN}-ptest += "${PN}-os-account-ptest" + +# //base/security/dataclassification +PACKAGES =+ "${PN}-security-dataclassification" +FILES:${PN}-security-dataclassification = " \ + ${libdir}/libfbe_iudf_xattr*${SOLIBS} \ + ${libdir}/libhwdsl*${SOLIBS} \ +" +RDEPENDS:${PN}-security-dataclassification += "musl libcxx" +RDEPENDS:${PN} += "${PN}-security-dataclassification" + +# //foundation/distributedschedule/dmsfwk +PACKAGES =+ "${PN}-dmsfwk" +FILES:${PN}-dmsfwk = " \ + ${libdir}/libdistributedschedsvr*${SOLIBS} \ + ${libdir}/libzuri*${SOLIBS} \ + ${libdir}/openharmony/profile/distributedsched.xml \ +" +RDEPENDS:${PN}-dmsfwk += "musl libcxx" +RDEPENDS:${PN}-dmsfwk += "${PN}-hilog ${PN}-aafwk" +RDEPENDS:${PN}-dmsfwk += "${PN}-appexecfwk ${PN}-safwk" +RDEPENDS:${PN}-dmsfwk += "${PN}-samgr ${PN}-libutils" +RDEPENDS:${PN}-dmsfwk += "${PN}-dsoftbus ${PN}-ipc" +RDEPENDS:${PN} += "${PN}-dmsfwk" + +PACKAGES =+ "${PN}-dmsfwk-ptest" +# Test doesn't produce any output +OPENHARMONY_PTEST_IS_BROKEN += "dmsfwk" +FILES:${PN}-dmsfwk-ptest = "${libdir}/${BPN}-dmsfwk/ptest" +do_install_ptest_base[cleandirs] += "${D}${libdir}/${BPN}-dmsfwk/ptest" +do_install_ptest:append() { + install -D ${WORKDIR}/run-ptest ${D}${libdir}/${BPN}-dmsfwk/ptest/run-ptest + mv ${D}${PTEST_PATH}/unittest/dmsfwk ${D}${libdir}/${BPN}-dmsfwk/ptest/unittest +} +RDEPENDS:${PN}-dmsfwk-ptest += "musl libcxx" +RDEPENDS:${PN}-dmsfwk-ptest += "${PN}-dmsfwk ${PN}-hilog ${PN}-aafwk ${PN}-appexecfwk ${PN}-safwk ${PN}-samgr ${PN}-dsoftbus ${PN}-ipc ${PN}-libutils" +RDEPENDS:${PN}-ptest += "${PN}-dmsfwk-ptest" + +# //base/security/permission +PACKAGES =+ "${PN}-security-permission" +FILES:${PN}-security-permission = "${libdir}/libpermission*${SOLIBS}" +RDEPENDS:${PN}-security-permission += "musl libcxx" +RDEPENDS:${PN}-security-permission += "${PN}-thirdparty-sqlite ${PN}-libutils" +RDEPENDS:${PN}-security-permission += "${PN}-hilog ${PN}-ipc ${PN}-safwk ${PN}-samgr" +RDEPENDS:${PN} += "${PN}-security-permission" + +PACKAGES =+ "${PN}-security-permission-ptest" +OPENHARMONY_PTEST_IS_BROKEN += "security-permission" +FILES:${PN}-security-permission-ptest = "${libdir}/${BPN}-security-permission/ptest" +do_install_ptest_base[cleandirs] += "${D}${libdir}/${BPN}-security-permission/ptest" +do_install_ptest:append() { + install -D ${WORKDIR}/run-ptest ${D}${libdir}/${BPN}-security-permission/ptest/run-ptest + mv ${D}${PTEST_PATH}/unittest/permission_standard/permission_standard ${D}${libdir}/${BPN}-security-permission/ptest/unittest + rmdir ${D}${PTEST_PATH}/unittest/permission_standard +} +RDEPENDS:${PN}-security-permission-ptest += "musl libcxx" +RDEPENDS:${PN}-security-permission-ptest += "${PN}-security-permission ${PN}-libutils" +RDEPENDS:${PN}-ptest += "${PN}-security-permission-ptest" + +# //base/security/huks +PACKAGES =+ "${PN}-security-huks" +FILES:${PN}-security-huks = " \ + ${libdir}/libhuks*${SOLIBS} \ + ${libdir}/openharmony/profile/huks_service.xml \ +" +RDEPENDS:${PN}-security-huks += "musl libcxx libcrypto" +RDEPENDS:${PN}-security-huks += "${PN}-hilog ${PN}-libutils ${PN}-ipc ${PN}-samgr ${PN}-safwk" +RDEPENDS:${PN} += "${PN}-security-huks" + +PACKAGES =+ "${PN}-security-huks-ptest" +OPENHARMONY_PTEST_IS_BROKEN += "security-huks" +FILES:${PN}-security-huks-ptest = "${libdir}/${BPN}-security-huks/ptest" +do_install_ptest_base[cleandirs] += "${D}${libdir}/${BPN}-security-huks/ptest" +do_install_ptest:append() { + install -D ${WORKDIR}/run-ptest ${D}${libdir}/${BPN}-security-huks/ptest/run-ptest + mv ${D}${PTEST_PATH}/unittest/huks_standard/huks_standard_test ${D}${libdir}/${BPN}-security-huks/ptest/unittest + rmdir ${D}${PTEST_PATH}/unittest/huks_standard +} +RDEPENDS:${PN}-security-huks-ptest += "musl libcxx" +RDEPENDS:${PN}-security-huks-ptest += "${PN}-security-huks" +RDEPENDS:${PN}-ptest += "${PN}-security-huks-ptest" + +# //base/security/deviceauth +PACKAGES =+ "${PN}-security-deviceauth" +FILES:${PN}-security-deviceauth = " \ + ${bindir}/deviceauth_service \ + ${libdir}/libdeviceauth*${SOLIBS} \ +" +RDEPENDS:${PN}-security-deviceauth += "musl libcxx libcrypto" +RDEPENDS:${PN}-security-deviceauth += "${PN}-hilog ${PN}-libutils ${PN}-ipc ${PN}-samgr" +RDEPENDS:${PN}-security-deviceauth += "${PN}-security-huks ${PN}-syspara ${PN}-dsoftbus" +RDEPENDS:${PN} += "${PN}-security-deviceauth" + +PACKAGES =+ "${PN}-security-deviceauth-ptest" +FILES:${PN}-security-deviceauth-ptest = "${libdir}/${BPN}-security-deviceauth/ptest" +do_install_ptest_base[cleandirs] += "${D}${libdir}/${BPN}-security-deviceauth/ptest" +do_install_ptest:append() { + install -D ${WORKDIR}/run-ptest ${D}${libdir}/${BPN}-security-deviceauth/ptest/run-ptest + mv ${D}${PTEST_PATH}/unittest/deviceauth_standard/deviceauth_test ${D}${libdir}/${BPN}-security-deviceauth/ptest/unittest + rmdir ${D}${PTEST_PATH}/unittest/deviceauth_standard +} +RDEPENDS:${PN}-security-deviceauth-ptest += "musl libcxx libcrypto libssl" +RDEPENDS:${PN}-security-deviceauth-ptest += "${PN}-security-deviceauth ${PN}-security-huks ${PN}-libutils ${PN}-dsoftbus" +RDEPENDS:${PN}-ptest += "${PN}-security-deviceauth-ptest" + +# //foundation/multimodalinput/input +PACKAGES =+ "${PN}-multimodalinput" +FILES:${PN}-multimodalinput = " \ + ${bindir}/uinput_inject \ + ${libdir}/libmmi_*${SOLIBS} \ + ${libdir}/libmultimodalinput_*${SOLIBS} \ + ${libdir}/module/libinjecteventhandler*${SOLIBS} \ + ${libdir}/openharmony/profile/multimodalinputservice.xml \ +" +RDEPENDS:${PN}-multimodalinput += "musl libcxx" +RDEPENDS:${PN}-multimodalinput += "${PN}-hilog ${PN}-libutils ${PN}-ipc ${PN}-samgr ${PN}-safwk ${PN}-peripheral-input ${PN}-ace-napi" +RDEPENDS:${PN} += "${PN}-multimodalinput" + +PACKAGES =+ "${PN}-multimodalinput-ptest" +FILES:${PN}-multimodalinput-ptest = "${libdir}/${BPN}-multimodalinput/ptest" +do_install_ptest_base[cleandirs] += "${D}${libdir}/${BPN}-multimodalinput/ptest" +do_install_ptest:append() { + install -D ${WORKDIR}/run-ptest ${D}${libdir}/${BPN}-multimodalinput/ptest/run-ptest + mv ${D}${PTEST_PATH}/unittest/multimodalinput_base ${D}${libdir}/${BPN}-multimodalinput/ptest/unittest +} +RDEPENDS:${PN}-multimodalinput-ptest += "musl libcxx" +RDEPENDS:${PN}-multimodalinput-ptest += "${PN}-multimodalinput ${PN}-libutils" +RDEPENDS:${PN}-ptest += "${PN}-multimodalinput-ptest" + +# //drivers/adapter/uhdf2 +PACKAGES =+ "${PN}-uhdf2" +FILES:${PN}-uhdf2 = " \ + ${libdir}/libhdi.z*${SOLIBS} \ + ${libdir}/libhdf_*${SOLIBS} \ +" +RDEPENDS:${PN}-uhdf2 += "musl libcxx" +RDEPENDS:${PN}-uhdf2 += "${PN}-hilog ${PN}-libutils ${PN}-ipc ${PN}-samgr" +RDEPENDS:${PN} += "${PN}-uhdf2" + +PACKAGES =+ "${PN}-uhdf2-ptest" +FILES:${PN}-uhdf2-ptest = "${libdir}/${BPN}-uhdf2/ptest" +do_install_ptest_base[cleandirs] += "${D}${libdir}/${BPN}-uhdf2/ptest" +do_install_ptest:append() { + install -D ${WORKDIR}/run-ptest ${D}${libdir}/${BPN}-uhdf2/ptest/run-ptest + mv ${D}${PTEST_PATH}/unittest/hdf ${D}${libdir}/${BPN}-uhdf2/ptest/unittest +} +RDEPENDS:${PN}-uhdf2-ptest += "musl libcxx" +RDEPENDS:${PN}-uhdf2-ptest += "${PN}-uhdf2" +RDEPENDS:${PN}-ptest += "${PN}-uhdf2-ptest" + +# //drivers/peripheral/camera +PACKAGES =+ "${PN}-peripheral-camera" +FILES:${PN}-peripheral-camera = "${libdir}/libcamera_client*${SOLIBS}" +RDEPENDS:${PN}-peripheral-camera += "musl libcxx" +RDEPENDS:${PN}-peripheral-camera += "${PN}-uhdf2 ${PN}-ipc ${PN}-multimedia-camera ${PN}-libutils ${PN}-hilog" +RDEPENDS:${PN} += "${PN}-peripheral-camera" + +# //drivers/peripheral/display +PACKAGES =+ "${PN}-peripheral-display" +FILES:${PN}-peripheral-display = "${libdir}/libhdi_display_*${SOLIBS}" +RDEPENDS:${PN}-peripheral-display += "musl libcxx" +RDEPENDS:${PN}-peripheral-display += "${PN}-hilog ${PN}-libutils ${PN}-uhdf2 ${PN}-ipc" +RDEPENDS:${PN} += "${PN}-peripheral-display" + +# //drivers/peripheral/input +PACKAGES =+ "${PN}-peripheral-input" +FILES:${PN}-peripheral-input = "${libdir}/libhdi_input*${SOLIBS}" +RDEPENDS:${PN}-peripheral-input += "musl libcxx" +RDEPENDS:${PN}-peripheral-input += "${PN}-hilog ${PN}-libutils ${PN}-uhdf2" +RDEPENDS:${PN} += "${PN}-peripheral-input" + +# //base/miscservices/time +PACKAGES =+ "${PN}-timeservice" +FILES:${PN}-timeservice = " \ + ${libdir}/libtime_service*${SOLIBS} \ + ${libdir}/module/libsystemtime*${SOLIBS} \ + ${libdir}/openharmony/profile/time_service.xml \ +" +RDEPENDS:${PN}-timeservice += "musl libcxx" +RDEPENDS:${PN}-timeservice += "${PN}-appexecfwk ${PN}-aafwk ${PN}-thirdparty-jsoncpp ${PN}-libutils ${PN}-notification-ans" +RDEPENDS:${PN}-timeservice += "${PN}-notification-ces ${PN}-hilog ${PN}-ipc ${PN}-safwk ${PN}-samgr ${PN}-dmsfwk ${PN}-ace-napi" +RDEPENDS:${PN} += "${PN}-timeservice" + +PACKAGES =+ "${PN}-timeservice-ptest" +OPENHARMONY_PTEST_IS_BROKEN += "timeservice" +FILES:${PN}-timeservice-ptest = "${libdir}/${BPN}-timeservice/ptest" +do_install_ptest_base[cleandirs] += "${D}${libdir}/${BPN}-timeservice/ptest" +do_install_ptest:append() { + install -D ${WORKDIR}/run-ptest ${D}${libdir}/${BPN}-timeservice/ptest/run-ptest + mv ${D}${PTEST_PATH}/unittest/time_native/time_service ${D}${libdir}/${BPN}-timeservice/ptest/unittest + rmdir ${D}${PTEST_PATH}/unittest/time_native +} +RDEPENDS:${PN}-timeservice-ptest += "musl libcxx" +RDEPENDS:${PN}-timeservice-ptest += "${PN}-timeservice ${PN}-dmsfwk ${PN}-libutils ${PN}-hilog ${PN}-ipc" +RDEPENDS:${PN}-ptest += "${PN}-timeservice-ptest" + +# //base/hiviewdfx/hisysevent +PACKAGES =+ "${PN}-hisysevent" +FILES:${PN}-hisysevent = "${libdir}/libhisysevent*${SOLIBS}" +RDEPENDS:${PN}-hisysevent += "musl libcxx" +RDEPENDS:${PN}-hisysevent += "${PN}-libutilsecurec ${PN}-hilog" +RDEPENDS:${PN} += "${PN}-hisysevent" + +PACKAGES =+ "${PN}-hisysevent-ptest" +OPENHARMONY_PTEST_IS_BROKEN += "hisysevent" +FILES:${PN}-hisysevent-ptest = "${libdir}/${BPN}-hisysevent/ptest" +do_install_ptest_base[cleandirs] += "${D}${libdir}/${BPN}-hisysevent/ptest" +do_install_ptest:append() { + install -D ${WORKDIR}/run-ptest ${D}${libdir}/${BPN}-hisysevent/ptest/run-ptest + mv ${D}${PTEST_PATH}/moduletest/hisysevent_native/hisysevent_native ${D}${libdir}/${BPN}-hisysevent/ptest/moduletest + rmdir ${D}${PTEST_PATH}/moduletest/hisysevent_native +} +RDEPENDS:${PN}-hisysevent-ptest += "musl libcxx" +RDEPENDS:${PN}-hisysevent-ptest += "${PN}-hisysevent ${PN}-hilog" +RDEPENDS:${PN}-ptest += "${PN}-hisysevent-ptest" + +# //base/powermgr/power_manager +PACKAGES =+ "${PN}-powermgr" +FILES:${PN}-powermgr = " \ + ${libdir}/libpowermgr*${SOLIBS} \ + ${libdir}/module/libpower*${SOLIBS} \ + ${libdir}/module/librunninglock*${SOLIBS} \ +" +RDEPENDS:${PN}-powermgr += "musl libcxx" +RDEPENDS:${PN}-powermgr += "${PN}-libutils ${PN}-hilog ${PN}-ipc ${PN}-samgr ${PN}-syspara ${PN}-aafwk ${PN}-ace-napi" +RDEPENDS:${PN}-powermgr += "${PN}-appexecfwk ${PN}-notification-ces ${PN}-safwk ${PN}-hisysevent ${PN}-power-displaymgr" +RDEPENDS:${PN} += "${PN}-powermgr" + +PACKAGES =+ "${PN}-powermgr-ptest" +OPENHARMONY_PTEST_IS_BROKEN += "powermgr" +FILES:${PN}-powermgr-ptest = "${libdir}/${BPN}-powermgr/ptest" +do_install_ptest_base[cleandirs] += "${D}${libdir}/${BPN}-powermgr/ptest" +do_install_ptest:append() { + install -D ${WORKDIR}/run-ptest ${D}${libdir}/${BPN}-powermgr/ptest/run-ptest + mv ${D}${PTEST_PATH}/unittest/power_manager_native/powermgr_native ${D}${libdir}/${BPN}-powermgr/ptest/unittest + rmdir ${D}${PTEST_PATH}/unittest/power_manager_native +} +RDEPENDS:${PN}-powermgr-ptest += "musl libcxx" +RDEPENDS:${PN}-powermgr-ptest += "${PN}-powermgr ${PN}-libutils ${PN}-ipc ${PN}-hilog ${PN}-samgr ${PN}-power-displaymgr ${PN}-syspara" +RDEPENDS:${PN}-ptest += "${PN}-powermgr-ptest" + +# //base/powermgr/battery_manager +PACKAGES =+ "${PN}-power-batterymgr" +FILES:${PN}-power-batterymgr = " \ + ${libdir}/libbattery*${SOLIBS} \ + ${libdir}/module/libbatteryinfo*${SOLIBS} \ +" +RDEPENDS:${PN}-power-batterymgr += "musl libcxx" +RDEPENDS:${PN}-power-batterymgr += "${PN}-appexecfwk ${PN}-libutils ${PN}-hilog ${PN}-ipc ${PN}-uhdf2" +RDEPENDS:${PN}-power-batterymgr += "${PN}-aafwk ${PN}-notification-ces ${PN}-safwk ${PN}-samgr ${PN}-ace-napi" +RDEPENDS:${PN} += "${PN}-power-batterymgr" + +# //base/powermgr/display_manager +PACKAGES =+ "${PN}-power-displaymgr" +FILES:${PN}-power-displaymgr = " \ + ${libdir}/libdisplaymgr*${SOLIBS} \ + ${libdir}/module/libbrightness*${SOLIBS} \ +" +RDEPENDS:${PN}-power-displaymgr += "musl libcxx" +RDEPENDS:${PN}-power-displaymgr += "${PN}-libutils ${PN}-hilog ${PN}-ipc ${PN}-samgr ${PN}-safwk ${PN}-peripheral-display ${PN}-ace-napi" +RDEPENDS:${PN} += "${PN}-power-displaymgr" + +PACKAGES =+ "${PN}-power-displaymgr-ptest" +OPENHARMONY_PTEST_IS_BROKEN += "power-displaymgr" +FILES:${PN}-power-displaymgr-ptest = "${libdir}/${BPN}-power-displaymgr/ptest" +do_install_ptest_base[cleandirs] += "${D}${libdir}/${BPN}-power-displaymgr/ptest" +do_install_ptest:append() { + install -D ${WORKDIR}/run-ptest ${D}${libdir}/${BPN}-power-displaymgr/ptest/run-ptest + mv ${D}${PTEST_PATH}/unittest/display_manager_native/displaymgr_native ${D}${libdir}/${BPN}-power-displaymgr/ptest/unittest + rmdir ${D}${PTEST_PATH}/unittest/display_manager_native +} +RDEPENDS:${PN}-power-displaymgr-ptest += "musl libcxx libcrypto libssl" +RDEPENDS:${PN}-power-displaymgr-ptest += "${PN}-power-displaymgr ${PN}-libutils ${PN}-samgr" +RDEPENDS:${PN}-ptest += "${PN}-power-displaymgr-ptest" + +# //foundation/ace/ace_engine +PACKAGES =+ "${PN}-ace-engine" +FILES:${PN}-ace-engine = " \ + ${libdir}/libace.z*${SOLIBS} \ + ${libdir}/libace_engine*${SOLIBS} \ + ${libdir}/libintl_qjs*${SOLIBS} \ + ${libdir}/module/libgrid*${SOLIBS} \ + ${libdir}/module/libprompt*${SOLIBS} \ + ${libdir}/module/libconfiguration*${SOLIBS} \ + ${libdir}/module/libdevice*${SOLIBS} \ + ${libdir}/module/libmediaquery*${SOLIBS} \ + ${libdir}/module/librouter*${SOLIBS} \ +" +RDEPENDS:${PN}-ace-engine += "musl libcxx libcrypto libssl" +RDEPENDS:${PN}-ace-engine += "${PN}-ace-napi ${PN}-dmsfwk ${PN}-ipc ${PN}-libutils ${PN}-appexecfwk ${PN}-appdatamgr" +RDEPENDS:${PN}-ace-engine += "${PN}-thirdparty-icu ${PN}-resmgr ${PN}-aafwk ${PN}-multimodalinput ${PN}-syspara ${PN}-hisysevent" +RDEPENDS:${PN}-ace-engine += "${PN}-ark-runtime-core ${PN}-hilog ${PN}-js-worker ${PN}-i18n ${PN}-graphic ${PN}-bytrace" +RDEPENDS:${PN}-ace-engine += "${PN}-ark-js-runtime ${PN}-inputmethod ${PN}-multimedia-media ${PN}-multimedia-camera" +RDEPENDS:${PN} += "${PN}-ace-engine" + +PACKAGES =+ "${PN}-ace-engine-ptest" +# Test doesn't produce any output +OPENHARMONY_PTEST_IS_BROKEN += "ace-engine" +FILES:${PN}-ace-engine-ptest = "${libdir}/${BPN}-ace-engine/ptest" +do_install_ptest_base[cleandirs] += "${D}${libdir}/${BPN}-ace-engine/ptest" +do_install_ptest:append() { + install -D ${WORKDIR}/run-ptest ${D}${libdir}/${BPN}-ace-engine/ptest/run-ptest + mv ${D}${PTEST_PATH}/unittest/ace_engine_standard ${D}${libdir}/${BPN}-ace-engine/ptest/unittest +} +RDEPENDS:${PN}-ace-engine-ptest += "musl libcxx libcrypto libssl" +RDEPENDS:${PN}-ace-engine-ptest += "${PN}-ace-engine ${PN}-libutils ${PN}-multimodalinput ${PN}-appexecfwk ${PN}-ipc ${PN}-resmgr ${PN}-hilog" +RDEPENDS:${PN}-ace-engine-ptest += "${PN}-aafwk ${PN}-dmsfwk ${PN}-graphic ${PN}-appdatamgr ${PN}-bytrace ${PN}-syspara ${PN}-hisysevent" +RDEPENDS:${PN}-ace-engine-ptest += "${PN}-multimedia-camera ${PN}-thirdparty-icu ${PN}-ace-napi ${PN}-inputmethod ${PN}-multimedia-media" +RDEPENDS:${PN}-ptest += "${PN}-ace-engine-ptest" + +# //foundation/ace/napi +PACKAGES =+ "${PN}-ace-napi" +FILES:${PN}-ace-napi = "${libdir}/libace_napi*${SOLIBS}" +RDEPENDS:${PN}-ace-napi += "musl libcxx" +RDEPENDS:${PN}-ace-napi += "${PN}-ark-js-runtime ${PN}-hilog" +RDEPENDS:${PN} += "${PN}-ace-napi" + +# //base/miscservices/inputmethod +PACKAGES =+ "${PN}-inputmethod" +FILES:${PN}-inputmethod = " \ + ${libdir}/libinputmethod_*${SOLIBS} \ + ${libdir}/module/libinputmethodengine*${SOLIBS} \ + ${libdir}/openharmony/profile/inputmethod_service.xml \ +" +RDEPENDS:${PN}-inputmethod += "musl libcxx" +RDEPENDS:${PN}-inputmethod += "${PN}-resmgr ${PN}-ipc ${PN}-samgr ${PN}-libutils ${PN}-hilog" +RDEPENDS:${PN}-inputmethod += "${PN}-appexecfwk ${PN}-aafwk ${PN}-safwk ${PN}-ace-napi" +RDEPENDS:${PN} += "${PN}-inputmethod" + +PACKAGES =+ "${PN}-inputmethod-ptest" +# Test unittest/InputMethodControllerTest segfaults +OPENHARMONY_PTEST_IS_BROKEN += "inputmethod" +FILES:${PN}-inputmethod-ptest = "${libdir}/${BPN}-inputmethod/ptest" +do_install_ptest_base[cleandirs] += "${D}${libdir}/${BPN}-inputmethod/ptest" +do_install_ptest:append() { + install -D ${WORKDIR}/run-ptest ${D}${libdir}/${BPN}-inputmethod/ptest/run-ptest + mv ${D}${PTEST_PATH}/unittest/inputmethod_native/inputmethod_service ${D}${libdir}/${BPN}-inputmethod/ptest/unittest + rmdir ${D}${PTEST_PATH}/unittest/inputmethod_native +} +RDEPENDS:${PN}-inputmethod-ptest += "musl libcxx" +RDEPENDS:${PN}-inputmethod-ptest += "${PN}-inputmethod ${PN}-ipc ${PN}-libutils ${PN}-hilog ${PN}-samgr" +RDEPENDS:${PN}-ptest += "${PN}-inputmethod-ptest" + +# //foundation/graphic/standard +PACKAGES =+ "${PN}-graphic" +FILES:${PN}-graphic = " \ + ${libdir}/libwm*${SOLIBS} \ + ${libdir}/libsurface*${SOLIBS} \ + ${libdir}/libvsync*${SOLIBS} \ + ${libdir}/libsemaphore*${SOLIBS} \ + ${libdir}/module/libdisplay*${SOLIBS} \ + ${libdir}/module/libwindow*${SOLIBS} \ + ${bindir}/bootanimation \ +" +RDEPENDS:${PN}-graphic += "musl libcxx" +RDEPENDS:${PN}-graphic += "${PN}-multimodalinput ${PN}-hilog ${PN}-libutils ${PN}-thirdparty-weston ${PN}-thirdparty-wayland ${PN}-thirdparty-libffi ${PN}-thirdparty-libinput" +RDEPENDS:${PN}-graphic += "${PN}-graphic ${PN}-multimedia-media ${PN}-ipc ${PN}-display-gralloc ${PN}-samgr ${PN}-thirdparty-libdrm ${PN}-thirdparty-libevdev" +RDEPENDS:${PN}-graphic += "${PN}-appexecfwk ${PN}-distributeddatamgr ${PN}-dmsfwk ${PN}-ace-napi" +RDEPENDS:${PN} += "${PN}-graphic" + +PACKAGES =+ "${PN}-graphic-ptest" +# Test stalls with message: "binder: 3751:3751 transaction failed" +OPENHARMONY_PTEST_IS_BROKEN += "graphic" +FILES:${PN}-graphic-ptest = "${libdir}/${BPN}-graphic/ptest" +do_install_ptest_base[cleandirs] += "${D}${libdir}/${BPN}-graphic/ptest" +do_install_ptest:append() { + install -D ${WORKDIR}/run-ptest ${D}${libdir}/${BPN}-graphic/ptest/run-ptest + mv ${D}${PTEST_PATH}/unittest/graphic_standard ${D}${libdir}/${BPN}-graphic/ptest/unittest + mv ${D}${PTEST_PATH}/systemtest/graphic_standard ${D}${libdir}/${BPN}-graphic/ptest/systemtest +} +RDEPENDS:${PN}-graphic-ptest += "musl libcxx" +RDEPENDS:${PN}-graphic-ptest += "${PN}-graphic ${PN}-samgr ${PN}-ipc ${PN}-libutils ${PN}-hilog" +RDEPENDS:${PN}-ptest += "${PN}-graphic-ptest" + +# //developtools/bytrace_standard +PACKAGES =+ "${PN}-bytrace" +FILES:${PN}-bytrace = " \ + ${bindir}/bytrace \ + ${libdir}/libbytrace_core*${SOLIBS} \ + ${libdir}/module/libbytrace*${SOLIBS} \ +" +RDEPENDS:${PN}-bytrace += "musl libcxx" +RDEPENDS:${PN}-bytrace += "${PN}-syspara ${PN}-libutils ${PN}-ace-napi" +RDEPENDS:${PN} += "${PN}-bytrace" + +PACKAGES =+ "${PN}-bytrace-ptest" +OPENHARMONY_PTEST_IS_BROKEN += "bytrace" +FILES:${PN}-bytrace-ptest = "${libdir}/${BPN}-bytrace/ptest" +do_install_ptest_base[cleandirs] += "${D}${libdir}/${BPN}-bytrace/ptest" +do_install_ptest:append() { + install -D ${WORKDIR}/run-ptest ${D}${libdir}/${BPN}-bytrace/ptest/run-ptest + mv ${D}${PTEST_PATH}/moduletest/bytrace_standard/bytrace ${D}${libdir}/${BPN}-bytrace/ptest/moduletest + rmdir ${D}${PTEST_PATH}/moduletest/bytrace_standard +} +RDEPENDS:${PN}-bytrace-ptest += "musl libcxx" +RDEPENDS:${PN}-bytrace-ptest += "${PN}-bytrace ${PN}-syspara ${PN}-libutils ${PN}-hilog" +RDEPENDS:${PN}-ptest += "${PN}-bytrace-ptest" + +# //foundation/multimedia/media_standard +PACKAGES =+ "${PN}-multimedia-media" +FILES:${PN}-multimedia-media = " \ + ${libdir}/libmedia_client*${SOLIBS} \ + ${libdir}/libmedia_local*${SOLIBS} \ + ${libdir}/libmedia_service*${SOLIBS} \ + ${libdir}/libvideodisplaymanager*${SOLIBS} \ + ${libdir}/media/libmedia_engine_gst*${SOLIBS} \ + ${libdir}/media/plugins/libgst_audio_server_sink*${SOLIBS} \ + ${libdir}/media/plugins/libgst_audio_capture_src*${SOLIBS} \ + ${libdir}/media/plugins/libgst_surface_video_src*${SOLIBS} \ + ${libdir}/module/multimedia/libmedia*${SOLIBS} \ + ${libdir}/openharmony/profile/media_service.xml \ +" +RDEPENDS:${PN}-multimedia-media += "musl libcxx" +RDEPENDS:${PN}-multimedia-media += "${PN}-hilog ${PN}-libutils ${PN}-ipc ${PN}-samgr ${PN}-safwk ${PN}-graphic ${PN}-peripheral-display" +RDEPENDS:${PN}-multimedia-media += "${PN}-multimedia-audio ${PN}-thirdparty-gstreamer ${PN}-thirdparty-glib ${PN}-syspara ${PN}-ace-napi" +RDEPENDS:${PN} += "${PN}-multimedia-media" + +# //foundation/multimedia/audio_standard +PACKAGES =+ "${PN}-multimedia-audio" +FILES:${PN}-multimedia-audio = " \ + ${bindir}/pacat \ + ${bindir}/pacmd \ + ${bindir}/pactl \ + ${libdir}/libaudio_capturer*${SOLIBS} \ + ${libdir}/libaudio_client*${SOLIBS} \ + ${libdir}/libaudio_policy_*${SOLIBS} \ + ${libdir}/libaudio_renderer*${SOLIBS} \ + ${libdir}/libaudio_service*${SOLIBS} \ + ${libdir}/libaudio_capturer_source*${SOLIBS} \ + ${libdir}/libsndfile*${SOLIBS} \ + ${libdir}/libpulse*${SOLIBS} \ + ${libdir}/libcli*${SOLIBS} \ + ${libdir}/libprotocol-cli*${SOLIBS} \ + ${libdir}/libprotocol-native*${SOLIBS} \ + ${libdir}/libmodule-hdi-*${SOLIBS} \ + ${libdir}/libmodule-native-protocol-*${SOLIBS} \ + ${libdir}/libmodule-cli-protocol-unix*${SOLIBS} \ + ${libdir}/libmodule-pipe-*${SOLIBS} \ + ${libdir}/libmodule-suspend-on-idle*${SOLIBS} \ + ${libdir}/module/multimedia/libaudio*${SOLIBS} \ + ${libdir}/openharmony/profile/audio_policy.xml \ + ${libdir}/openharmony/profile/pulseaudio.xml \ +" +RDEPENDS:${PN}-multimedia-audio += "musl libcxx" +RDEPENDS:${PN}-multimedia-audio += "${PN}-thirdparty-gstreamer ${PN}-hilog ${PN}-libutils ${PN}-ipc ${PN}-samgr ${PN}-distributeddatamgr" +RDEPENDS:${PN}-multimedia-audio += "${PN}-thirdparty-libxml2 ${PN}-thirdparty-glib ${PN}-safwk ${PN}-ace-napi" +RDEPENDS:${PN} += "${PN}-multimedia-audio" + +PACKAGES =+ "${PN}-audio-ptest" +OPENHARMONY_PTEST_IS_BROKEN += "audio" +FILES:${PN}-audio-ptest = "${libdir}/${BPN}-audio/ptest" +do_install_ptest_base[cleandirs] += "${D}${libdir}/${BPN}-audio/ptest" +do_install_ptest:append() { + install -D ${WORKDIR}/run-ptest ${D}${libdir}/${BPN}-audio/ptest/run-ptest + mv ${D}${PTEST_PATH}/moduletest/audio_standard ${D}${libdir}/${BPN}-audio/ptest/moduletest +} +RDEPENDS:${PN}-audio-ptest += "musl libcxx" +RDEPENDS:${PN}-audio-ptest += "${PN}-multimedia-audio ${PN}-libutils" +RDEPENDS:${PN}-ptest += "${PN}-audio-ptest" + +# //foundation/multimedia/camera_standard +PACKAGES =+ "${PN}-multimedia-camera" +FILES:${PN}-multimedia-camera = " \ + ${libdir}/libcamera_service*${SOLIBS} \ + ${libdir}/libcamera_framework*${SOLIBS} \ + ${libdir}/libmetada*${SOLIBS} \ + ${libdir}/module/multimedia/libcamera_napi*${SOLIBS} \ + ${libdir}/openharmony/profile/camera_service.xml \ +" +RDEPENDS:${PN}-multimedia-camera += "musl libcxx" +RDEPENDS:${PN}-multimedia-camera += "${PN}-peripheral-camera ${PN}-hilog ${PN}-libutils ${PN}-ipc ${PN}-safwk ${PN}-graphic ${PN}-samgr ${PN}-ace-napi" +RDEPENDS:${PN} += "${PN}-multimedia-camera" + +PACKAGES =+ "${PN}-camera-ptest" +OPENHARMONY_PTEST_IS_BROKEN += "camera" +FILES:${PN}-camera-ptest = "${libdir}/${BPN}-camera/ptest" +do_install_ptest_base[cleandirs] += "${D}${libdir}/${BPN}-camera/ptest" +do_install_ptest:append() { + install -D ${WORKDIR}/run-ptest ${D}${libdir}/${BPN}-camera/ptest/run-ptest + mv ${D}${PTEST_PATH}/moduletest/camera_standard ${D}${libdir}/${BPN}-camera/ptest/moduletest +} +RDEPENDS:${PN}-camera-ptest += "musl libcxx" +RDEPENDS:${PN}-camera-ptest += "${PN}-multimedia-camera ${PN}-hilog ${PN}-ipc ${PN}-graphic ${PN}-libutils" +RDEPENDS:${PN}-ptest += "${PN}-camera-ptest" + +# //foundation/multimedia/image_standard +PACKAGES =+ "${PN}-multimedia-image" +FILES:${PN}-multimedia-image = " \ + ${libdir}/libimage*${SOLIBS} \ + ${libdir}/libimageformatagent*${SOLIBS} \ + ${libdir}/libpixelconvertadapter*${SOLIBS} \ + ${libdir}/libpluginmanager*${SOLIBS} \ + ${libdir}/libjpegplugin*${SOLIBS} \ + ${libdir}/libgifplugin*${SOLIBS} \ + ${libdir}/libwebpplugin*${SOLIBS} \ + ${libdir}/libpngplugin*${SOLIBS} \ + ${libdir}/module/multimedia/libimage*${SOLIBS} \ +" +RDEPENDS:${PN}-multimedia-image += "musl libcxx" +RDEPENDS:${PN}-multimedia-image += "${PN}-hilog ${PN}-hilog ${PN}-libutils ${PN}-bytrace ${PN}-ipc" +RDEPENDS:${PN} += "${PN}-multimedia-image" + +# //device/hihope/hardware/display +PACKAGES =+ "${PN}-display-gralloc" +FILES:${PN}-display-gralloc = "${libdir}/libdisplay_gralloc*${SOLIBS}" +RDEPENDS:${PN}-display-gralloc += "musl libcxx" +RDEPENDS:${PN}-display-gralloc += "${PN}-thirdparty-libdrm ${PN}-libutils ${PN}-hilog ${PN}-thirdparty-libffi" +RDEPENDS:${PN} += "${PN}-display-gralloc" + +# //base/global/i18n_standard +PACKAGES =+ "${PN}-i18n" +FILES:${PN}-i18n = " \ + ${libdir}/libintl_util*${SOLIBS} \ + ${libdir}/libzone_util*${SOLIBS} \ + ${libdir}/module/libi18n*${SOLIBS} \ + ${libdir}/module/libintl*${SOLIBS} \ +" +RDEPENDS:${PN}-i18n += "musl libcxx" +RDEPENDS:${PN}-i18n += "${PN}-syspara ${PN}-thirdparty-icu ${PN}-thirdparty-libxml2 ${PN}-libutils ${PN}-telephony-core" +RDEPENDS:${PN}-i18n += "${PN}-thirdparty-libphonenumber ${PN}-hilog ${PN}-ace-napi" +RDEPENDS:${PN} += "${PN}-i18n" + +PACKAGES =+ "${PN}-i18n-ptest" +OPENHARMONY_PTEST_IS_BROKEN += "i18n" +FILES:${PN}-i18n-ptest = "${libdir}/${BPN}-i18n/ptest" +do_install_ptest_base[cleandirs] += "${D}${libdir}/${BPN}-i18n/ptest" +do_install_ptest:append() { + install -D ${WORKDIR}/run-ptest ${D}${libdir}/${BPN}-i18n/ptest/run-ptest + # This folder also contains unitest for libphonenumber + mv ${D}${PTEST_PATH}/unittest/i18n_standard ${D}${libdir}/${BPN}-i18n/ptest/unittest +} +RDEPENDS:${PN}-i18n-ptest += "musl libcxx" +RDEPENDS:${PN}-i18n-ptest += "${PN}-i18n ${PN}-syspara ${PN}-thirdparty-icu ${PN}-thirdparty-libphonenumber ${PN}-thirdparty-protobuf" +RDEPENDS:${PN}-ptest += "${PN}-i18n-ptest" + +# //base/telephony/core_service +PACKAGES =+ "${PN}-telephony-core" +FILES:${PN}-telephony-core = " \ + ${libdir}/libtel_core_*${SOLIBS} \ + ${libdir}/libtelephony_common*${SOLIBS} \ + ${libdir}/libsim*${SOLIBS} \ + ${libdir}/module/telephony/*${SOLIBS} \ + ${libdir}/openharmony/profile/telephony.xml \ +" +RDEPENDS:${PN}-telephony-core += "musl libcxx" +RDEPENDS:${PN}-telephony-core += "${PN}-libutils ${PN}-hilog ${PN}-ipc ${PN}-samgr ${PN}-aafwk ${PN}-uhdf2 ${PN}-ace-napi" +RDEPENDS:${PN}-telephony-core += "${PN}-appexecfwk ${PN}-notification-ces ${PN}-safwk ${PN}-appdatamgr ${PN}-telephony-ril-adapter" +RDEPENDS:${PN} += "${PN}-telephony-core" + +PACKAGES =+ "${PN}-telephony-core-ptest" +# Test stalls with message: "binder: 4296:4296 transaction failed" +OPENHARMONY_PTEST_IS_BROKEN += "telephony-core" +FILES:${PN}-telephony-core-ptest = "${libdir}/${BPN}-telephony-core/ptest" +do_install_ptest_base[cleandirs] += "${D}${libdir}/${BPN}-telephony-core/ptest" +do_install_ptest:append() { + install -D ${WORKDIR}/run-ptest ${D}${libdir}/${BPN}-telephony-core/ptest/run-ptest + mv ${D}${PTEST_PATH}/unittest/core_service/tel_core_service_gtest ${D}${libdir}/${BPN}-telephony-core/ptest/unittest + rmdir ${D}${PTEST_PATH}/unittest/core_service +} +RDEPENDS:${PN}-telephony-core-ptest += "musl libcxx" +RDEPENDS:${PN}-telephony-core-ptest += "${PN}-telephony-core ${PN}-libutils ${PN}-ipc ${PN}-hilog ${PN}-samgr ${PN}-appexecfwk" +RDEPENDS:${PN}-ptest += "${PN}-telephony-core-ptest" + +# //base/telephony/ril_adapter +PACKAGES =+ "${PN}-telephony-ril-adapter" +FILES:${PN}-telephony-ril-adapter = " \ + ${libdir}/libhril*${SOLIBS} \ + ${libdir}/libril_vendor*${SOLIBS} \ +" +RDEPENDS:${PN}-telephony-ril-adapter += "musl libcxx" +RDEPENDS:${PN}-telephony-ril-adapter += "${PN}-uhdf2 ${PN}-hilog ${PN}-libutils ${PN}-ipc ${PN}-faultloggerd" +RDEPENDS:${PN} += "${PN}-telephony-ril-adapter" + +PACKAGES =+ "${PN}-telephony-ril-adapter-ptest" +# Test unittest/tel_ril_adapter_gtest segfaults +OPENHARMONY_PTEST_IS_BROKEN += "telephony-ril-adapter" +FILES:${PN}-telephony-ril-adapter-ptest = "${libdir}/${BPN}-telephony-ril-adapter/ptest" +do_install_ptest_base[cleandirs] += "${D}${libdir}/${BPN}-telephony-ril-adapter/ptest" +do_install_ptest:append() { + install -D ${WORKDIR}/run-ptest ${D}${libdir}/${BPN}-telephony-ril-adapter/ptest/run-ptest + mv ${D}${PTEST_PATH}/unittest/ril_adapter/tel_ril_adapter_gtest ${D}${libdir}/${BPN}-telephony-ril-adapter/ptest/unittest + rmdir ${D}${PTEST_PATH}/unittest/ril_adapter +} +RDEPENDS:${PN}-telephony-ril-adapter-ptest += "musl libcxx" +RDEPENDS:${PN}-telephony-ril-adapter-ptest += "${PN}-telephony-ril-adapter ${PN}-libutils ${PN}-uhdf2 ${PN}-appexecfwk ${PN}-ipc ${PN}-hilog" +RDEPENDS:${PN}-ptest += "${PN}-telephony-ril-adapter-ptest" + +# //base/hiviewdfx/faultloggerd +PACKAGES =+ "${PN}-faultloggerd" +FILES:${PN}-faultloggerd = " \ + ${bindir}/faultloggerd \ + ${bindir}/processdump \ + ${libdir}/libfaultloggerd*${SOLIBS} \ + ${libdir}/libdfx_signalhandler*${SOLIBS} \ +" +RDEPENDS:${PN}-faultloggerd += "musl libcxx" +RDEPENDS:${PN}-faultloggerd += "${PN}-libutils ${PN}-hilog ${PN}-thirdparty-libunwind" +RDEPENDS:${PN} += "${PN}-faultloggerd" + +# //ark/runtime_core +PACKAGES =+ "${PN}-ark-runtime-core" +FILES:${PN}-ark-runtime-core = " \ + ${libdir}/libarkbase*${SOLIBS} \ + ${libdir}/libarkfile*${SOLIBS} \ + ${libdir}/libarkziparchive*${SOLIBS} \ +" +RDEPENDS:${PN}-ark-runtime-core += "musl libcxx" +RDEPENDS:${PN}-ark-runtime-core += "${PN}-libutilsecurec ${PN}-thirdparty-icu" +RDEPENDS:${PN} += "${PN}-ark-runtime-core" + +# //ark/js_runtime +PACKAGES =+ "${PN}-ark-js-runtime" +FILES:${PN}-ark-js-runtime = " \ + ${libdir}/libark_jsruntime*${SOLIBS} \ + ${libdir}/ark/libark_ecma_debugger*${SOLIBS} \ +" +RDEPENDS:${PN}-ark-js-runtime += "musl libcxx" +RDEPENDS:${PN}-ark-js-runtime += "${PN}-ark-runtime-core ${PN}-libutilsecurec ${PN}-thirdparty-icu" +RDEPENDS:${PN} += "${PN}-ark-js-runtime" + +PACKAGES =+ "${PN}-ark-ptest" +# First tests pass but then stalls on HProfTest.GenerateFileForManualCheck +OPENHARMONY_PTEST_IS_BROKEN += "ark" +FILES:${PN}-ark-ptest = "${libdir}/${BPN}-ark/ptest" +do_install_ptest_base[cleandirs] += "${D}${libdir}/${BPN}-ark/ptest" +do_install_ptest:append() { + install -D ${WORKDIR}/run-ptest ${D}${libdir}/${BPN}-ark/ptest/run-ptest + mv ${D}${PTEST_PATH}/unittest/ark ${D}${libdir}/${BPN}-ark/ptest/unittest +} +RDEPENDS:${PN}-ark-ptest += "musl libcxx" +RDEPENDS:${PN}-ark-ptest += "${PN}-ark-runtime-core ${PN}-thirdparty-icu" +RDEPENDS:${PN}-ptest += "${PN}-ark-ptest" + +# //base/compileruntime/js_worker_module +PACKAGES =+ "${PN}-js-worker" +FILES:${PN}-js-worker = " \ + ${libdir}/libworker_init*${SOLIBS} \ + ${libdir}/module/libworker*${SOLIBS} \ +" +RDEPENDS:${PN}-js-worker += "musl libcxx" +RDEPENDS:${PN}-js-worker += "${PN}-hilog ${PN}-ace-napi" +RDEPENDS:${PN} += "${PN}-js-worker" + +# //foundation/distributedhardware/devicemanager +PACKAGES =+ "${PN}-distributedhardware-devicemanager" +FILES:${PN}-distributedhardware-devicemanager = " \ + ${libdir}/libdevicemanager*${SOLIBS} \ + ${libdir}/module/distributedhardware/libdevicemanager*${SOLIBS} \ +" +RDEPENDS:${PN}-distributedhardware-devicemanager += "musl libcxx" +RDEPENDS:${PN}-distributedhardware-devicemanager += "${PN}-libutils ${PN}-ipc ${PN}-samgr ${PN}-security-deviceauth ${PN}-aafwk ${PN}-appexecfwk" +RDEPENDS:${PN}-distributedhardware-devicemanager += "${PN}-dsoftbus ${PN}-safwk ${PN}-syspara ${PN}-hilog ${PN}-ace-napi" +RDEPENDS:${PN} += "${PN}-distributedhardware-devicemanager" + +PACKAGES =+ "${PN}-distributedhardware-devicemanager-ptest" +FILES:${PN}-distributedhardware-devicemanager-ptest = "${libdir}/${BPN}-distributedhardware-devicemanager/ptest" +do_install_ptest_base[cleandirs] += "${D}${libdir}/${BPN}-distributedhardware-devicemanager/ptest" +do_install_ptest:append() { + install -D ${WORKDIR}/run-ptest ${D}${libdir}/${BPN}-distributedhardware-devicemanager/ptest/run-ptest + mv ${D}${PTEST_PATH}/unittest/deviceManager_stander ${D}${libdir}/${BPN}-distributedhardware-devicemanager/ptest/unittest +} +RDEPENDS:${PN}-distributedhardware-devicemanager-ptest += "musl libcxx" +RDEPENDS:${PN}-distributedhardware-devicemanager-ptest += "${PN}-distributedhardware-devicemanager ${PN}-libutils" +RDEPENDS:${PN}-ptest += "${PN}-distributedhardware-devicemanager-ptest" + +# //developtools/hdc_standard +PACKAGES =+ "${PN}-hdc" +FILES:${PN}-hdc = "${bindir}/hdcd" +RDEPENDS:${PN}-hdc += "musl libcxx" +RDEPENDS:${PN}-hdc += "${PN}-libutils ${PN}-syspara libcrypto" +RDEPENDS:${PN} += "${PN}-hdc" + +PACKAGES =+ "${PN}-param-service" +FILES:${PN}-param-service = " \ + ${bindir}/getparam \ + ${bindir}/setparam \ + ${bindir}/param_service \ +" +RDEPENDS:${PN}-param-service += "musl libcxx" +RDEPENDS:${PN} += "${PN}-param-service" + +# Third Party Components (//third_party/*) + +PACKAGES =+ "${PN}-thirdparty-jsoncpp" +FILES:${PN}-thirdparty-jsoncpp = "${libdir}/libjsoncpp*${SOLIBS}" +RDEPENDS:${PN}-thirdparty-jsoncpp += "musl libcxx" +RDEPENDS:${PN} += "${PN}-thirdparty-jsoncpp" + +PACKAGES =+ "${PN}-thirdparty-mtdev" +FILES:${PN}-thirdparty-mtdev = "${libdir}/libmtdev*${SOLIBS}" +RDEPENDS:${PN}-thirdparty-mtdev += "musl libcxx" +RDEPENDS:${PN} += "${PN}-thirdparty-mtdev" + +PACKAGES =+ "${PN}-thirdparty-sqlite" +FILES:${PN}-thirdparty-sqlite = "${libdir}/libsqlite*${SOLIBS}" +RDEPENDS:${PN}-thirdparty-sqlite += "musl libcxx libcrypto ${PN}-libutils" +RDEPENDS:${PN} += "${PN}-thirdparty-sqlite" + +PACKAGES =+ "${PN}-thirdparty-libxml2" +FILES:${PN}-thirdparty-libxml2 = "${libdir}/libxml2*${SOLIBS}" +RDEPENDS:${PN}-thirdparty-libxml2 += "musl libcxx" +RDEPENDS:${PN} += "${PN}-thirdparty-libxml2" + +PACKAGES =+ "${PN}-thirdparty-icu" +FILES:${PN}-thirdparty-icu = "${libdir}/libhmicu*${SOLIBS}" +RDEPENDS:${PN}-thirdparty-icu += "musl libcxx" +RDEPENDS:${PN} += "${PN}-thirdparty-icu" + +PACKAGES =+ "${PN}-thirdparty-gstreamer" +FILES:${PN}-thirdparty-gstreamer = " \ + ${bindir}/gst-inspect \ + ${bindir}/gst-launch \ + ${libdir}/libgstpbutils*${SOLIBS} \ + ${libdir}/libgsttag*${SOLIBS} \ + ${libdir}/libgstfft*${SOLIBS} \ + ${libdir}/libgstvideo*${SOLIBS} \ + ${libdir}/libgstaudio*${SOLIBS} \ + ${libdir}/libgstriff*${SOLIBS} \ + ${libdir}/libgstrtp*${SOLIBS} \ + ${libdir}/libgstreamer*${SOLIBS} \ + ${libdir}/libgstbase*${SOLIBS} \ + ${libdir}/libgstplayer*${SOLIBS} \ + ${libdir}/media/plugins/libgstplayback*${SOLIBS} \ + ${libdir}/media/plugins/libgstvideoconvert*${SOLIBS} \ + ${libdir}/media/plugins/libgstvideoscale*${SOLIBS} \ + ${libdir}/media/plugins/libgstaudiomixer*${SOLIBS} \ + ${libdir}/media/plugins/libgstaudioparsers*${SOLIBS} \ + ${libdir}/media/plugins/libgstaudiorate*${SOLIBS} \ + ${libdir}/media/plugins/libgstaudiofx*${SOLIBS} \ + ${libdir}/media/plugins/libgstaudioconvert*${SOLIBS} \ + ${libdir}/media/plugins/libgstaudioresample*${SOLIBS} \ + ${libdir}/media/plugins/libgsttypefindfunctions*${SOLIBS} \ + ${libdir}/media/plugins/libgstsubparse*${SOLIBS} \ + ${libdir}/media/plugins/libgstrawpars*${SOLIBS} \ + ${libdir}/media/plugins/libgstapp*${SOLIBS} \ + ${libdir}/media/plugins/libgstlibav*${SOLIBS} \ + ${libdir}/media/plugins/libgstautodetect*${SOLIBS} \ + ${libdir}/media/plugins/libgstisomp4*${SOLIBS} \ + ${libdir}/media/plugins/libgstwavparse*${SOLIBS} \ + ${libdir}/media/plugins/libgstmultifile*${SOLIBS} \ + ${libdir}/media/plugins/libgstcoreelements*${SOLIBS} \ + ${libdir}/media/plugins/libgstcoretracers*${SOLIBS} \ +" +RDEPENDS:${PN}-thirdparty-gstreamer += "musl libcxx" +RDEPENDS:${PN}-thirdparty-gstreamer += "${PN}-thirdparty-glib ${PN}-thirdparty-ffmpeg" +RDEPENDS:${PN} += "${PN}-thirdparty-gstreamer" + +PACKAGES =+ "${PN}-thirdparty-glib" +FILES:${PN}-thirdparty-glib = " \ + ${libdir}/libglib*${SOLIBS} \ + ${libdir}/libgmodule*${SOLIBS} \ + ${libdir}/libgobject*${SOLIBS} \ +" +RDEPENDS:${PN}-thirdparty-glib += "musl libcxx" +RDEPENDS:${PN}-thirdparty-glib += "${PN}-thirdparty-libffi" +RDEPENDS:${PN} += "${PN}-thirdparty-glib" + +PACKAGES =+ "${PN}-thirdparty-ffmpeg" +FILES:${PN}-thirdparty-ffmpeg = "${libdir}/libohosffmpeg*${SOLIBS}" +RDEPENDS:${PN}-thirdparty-ffmpeg += "musl libcxx" +RDEPENDS:${PN}-thirdparty-ffmpeg += "" +RDEPENDS:${PN} += "${PN}-thirdparty-ffmpeg" + +PACKAGES =+ "${PN}-thirdparty-pixman" +FILES:${PN}-thirdparty-pixman = "${libdir}/libpixman*${SOLIBS}" +RDEPENDS:${PN}-thirdparty-pixman += "musl libcxx" +RDEPENDS:${PN} += "${PN}-thirdparty-pixman" + +PACKAGES =+ "${PN}-thirdparty-libinput" +FILES:${PN}-thirdparty-libinput = "${libdir}/libinput-third*${SOLIBS}" +RDEPENDS:${PN}-thirdparty-libinput += "musl libcxx" +RDEPENDS:${PN}-thirdparty-libinput += "${PN}-thirdparty-libevdev ${PN}-thirdparty-eudev ${PN}-thirdparty-mtdev" +RDEPENDS:${PN} += "${PN}-thirdparty-libinput" + +PACKAGES =+ "${PN}-thirdparty-libevdev" +FILES:${PN}-thirdparty-libevdev = "${libdir}/libevdev*${SOLIBS}" +RDEPENDS:${PN}-thirdparty-libevdev += "musl libcxx" +RDEPENDS:${PN} += "${PN}-thirdparty-libevdev" + +PACKAGES =+ "${PN}-thirdparty-eudev" +FILES:${PN}-thirdparty-eudev = " \ + ${bindir}/udevd \ + ${libdir}/libudev*${SOLIBS} \ +" +RDEPENDS:${PN}-thirdparty-eudev += "musl libcxx" +RDEPENDS:${PN} += "${PN}-thirdparty-eudev" + +PACKAGES =+ "${PN}-thirdparty-libdrm" +FILES:${PN}-thirdparty-libdrm = "${libdir}/libdrm*${SOLIBS}" +RDEPENDS:${PN}-thirdparty-libdrm += "musl libcxx" +RDEPENDS:${PN} += "${PN}-thirdparty-libdrm" + +PACKAGES =+ "${PN}-thirdparty-libpng" +FILES:${PN}-thirdparty-libpng = "${libdir}/libpng*${SOLIBS}" +RDEPENDS:${PN}-thirdparty-libpng += "musl libcxx" +RDEPENDS:${PN}-thirdparty-libpng += "${PN}-multimedia-image ${PN}-libutils ${PN}-hilog" +RDEPENDS:${PN} += "${PN}-thirdparty-libpng" + +PACKAGES =+ "${PN}-thirdparty-libffi" +FILES:${PN}-thirdparty-libffi = "${libdir}/libffi*${SOLIBS}" +RDEPENDS:${PN}-thirdparty-libffi += "musl libcxx" +RDEPENDS:${PN} += "${PN}-thirdparty-libffi" + +PACKAGES =+ "${PN}-thirdparty-libphonenumber" +FILES:${PN}-thirdparty-libphonenumber = "${libdir}/libphonenumber_standard*${SOLIBS}" +RDEPENDS:${PN}-thirdparty-libphonenumber += "musl libcxx" +RDEPENDS:${PN}-thirdparty-libphonenumber += "${PN}-thirdparty-icu ${PN}-thirdparty-protobuf" +RDEPENDS:${PN} += "${PN}-thirdparty-libphonenumber" + +PACKAGES =+ "${PN}-thirdparty-protobuf" +FILES:${PN}-thirdparty-protobuf = "${libdir}/libprotobuf_standard*${SOLIBS}" +RDEPENDS:${PN}-thirdparty-protobuf += "musl libcxx" +RDEPENDS:${PN} += "${PN}-thirdparty-protobuf" + +PACKAGES =+ "${PN}-thirdparty-libunwind" +FILES:${PN}-thirdparty-libunwind = "${libdir}/libunwind*${SOLIBS}" +RDEPENDS:${PN}-thirdparty-libunwind += "musl libcxx" +RDEPENDS:${PN} += "${PN}-thirdparty-libunwind" + +PACKAGES =+ "${PN}-thirdparty-giflib" +FILES:${PN}-thirdparty-giflib = "${libdir}/libgif*${SOLIBS}" +RDEPENDS:${PN}-thirdparty-giflib += "musl libcxx" +RDEPENDS:${PN}-thirdparty-giflib += "${PN}-libutils ${PN}-hilog ${PN}-multimedia-image" +RDEPENDS:${PN} += "${PN}-thirdparty-giflib" + +PACKAGES =+ "${PN}-thirdparty-libcoap" +FILES:${PN}-thirdparty-libcoap = "${libdir}/libcoap*${SOLIBS}" +RDEPENDS:${PN}-thirdparty-libcoap += "musl libcxx" +RDEPENDS:${PN} += "${PN}-thirdparty-libcoap" + +PACKAGES =+ "${PN}-thirdparty-wayland" +FILES:${PN}-thirdparty-wayland = " \ + ${bindir}/layer-add-surfaces \ + ${bindir}/LayerManagerControl \ + ${bindir}/simple-weston-client \ + ${libdir}/libilm*${SOLIBS} \ + ${libdir}/libivi*${SOLIBS} \ + ${libdir}/libscreen-info-module*${SOLIBS} \ +" +RDEPENDS:${PN}-thirdparty-wayland += "musl libcxx" +RDEPENDS:${PN}-thirdparty-wayland += "${PN}-thirdparty-weston ${PN}-hilog ${PN}-thirdparty-libffi ${PN}-graphic" +RDEPENDS:${PN}-thirdparty-wayland += "${PN}-thirdparty-libevdev ${PN}-thirdparty-libinput ${PN}-thirdparty-libpng" +RDEPENDS:${PN} += "${PN}-thirdparty-wayland" + +PACKAGES =+ "${PN}-thirdparty-weston" +FILES:${PN}-thirdparty-weston = " \ + ${bindir}/weston \ + ${libdir}/libweston*${SOLIBS} \ + ${libdir}/drm-backend*${SOLIBS} \ + ${libdir}/libtrace*${SOLIBS} \ + ${libdir}/libivi-shell*${SOLIBS} \ + ${libdir}/openharmony/profile/multimodalinputservice.xml \ +" +RDEPENDS:${PN}-thirdparty-weston += "musl libcxx" +RDEPENDS:${PN}-thirdparty-weston += "${PN}-hilog ${PN}-libutils ${PN}-thirdparty-libxml2 ${PN}-thirdparty-libffi ${PN}-thirdparty-libdrm ${PN}-graphic" +RDEPENDS:${PN}-thirdparty-weston += "${PN}-thirdparty-libinput ${PN}-thirdparty-libevdev ${PN}-thirdparty-eudev ${PN}-thirdparty-pixman ${PN}-display-gralloc" +RDEPENDS:${PN} += "${PN}-thirdparty-weston" # Disable all ptest suites that are know to not work for now. When the x-bit is # not set, the ptest is visible (using `ptest-runner -l`), but no test cases