Skip to content
Snippets Groups Projects
Commit 81104654 authored by Thierry Escande's avatar Thierry Escande
Browse files

Merge branch 'openharmony-musl-ldso-paths' into 'kirkstone'

Add MUSL_LDSO_PATHS distro variable

See merge request eclipse/oniro-core/meta-openharmony!24
parents a7238ae7 91827b46
No related branches found
No related tags found
1 merge request!24Add MUSL_LDSO_PATHS distro variable
Pipeline #5655 failed
# SPDX-FileCopyrightText: Huawei Inc.
#
# SPDX-License-Identifier: Apache-2.0
MUSL_LDSO_PATHS = " \
module \
module/ability \
module/account \
module/app \
module/data \
module/distributedhardware \
module/multimedia \
module/telephony \
"
MUSL_LDSO_PATHS:append:openharmony-3.1 = " \
module/application \
module/bundle \
module/events \
module/multimodalinput \
module/net \
module/security \
"
......@@ -43,6 +43,7 @@ INHERIT += "uninative"
require include/openssl.inc
require include/java.inc
require include/musl-ldso-paths.inc
# Workaround for missing host tools in do_testimage when not adding testimage to
# IMAGE_CLASSES, but doing a direct `inherit testimage` in image recipes
......
......@@ -25,20 +25,7 @@ LDFLAGS:append:toolchain-clang = " ${@bb.utils.contains('COMPILER_RT', '-rtlib=c
#CFLAGS:append:oniro-openharmony-linux = "-DHOOK_ENABLE"
do_install:append:oniro-openharmony-linux () {
cat >> ${D}${sysconfdir}/ld-musl-${MUSL_LDSO_ARCH}.path << EOF
${libdir}/module
${libdir}/module/ability
${libdir}/module/account
${libdir}/module/app
${libdir}/module/application
${libdir}/module/bundle
${libdir}/module/data
${libdir}/module/distributedhardware
${libdir}/module/events
${libdir}/module/multimedia
${libdir}/module/multimodalinput
${libdir}/module/net
${libdir}/module/security
${libdir}/module/telephony
EOF
for folder in ${MUSL_LDSO_PATHS}; do
echo "${libdir}/${folder}" >> ${D}${sysconfdir}/ld-musl-${MUSL_LDSO_ARCH}.path
done
}
# SPDX-FileCopyrightText: Huawei Inc.
#
# SPDX-License-Identifier: Apache-2.0
# This post do_install() function checks if all subfloders copied from
# system/lib/module are set in the distro variable MUSL_LDSO_PATHS.
#
# This variable is used to generate the content of the file
# /etc/ld-musl-${MUSL_LDSO_ARCH}.path so this function stops bitbake
# if one of the coipied folder from /system/lib/module/* is not in
# MUSL_LDSO_PATHS.
musl_ldso_paths_sanity_check() {
cd "${D}/${libdir}"
MODULE_LIB_PATHS="$(find module -type d)"
for folder in ${MODULE_LIB_PATHS}; do
PAT="(^|[[:space:]])${folder}([[:space:]]|$)"
if [[ ! "${MUSL_LDSO_PATHS}" =~ ${PAT} ]]; then
echo
echo "'${folder}' not in MUSL_LDSO_PATHS"
echo "Add it in conf/distro/include/musl-ldso-paths.inc"
echo
return 1
fi
done
}
do_install[postfuncs] += "musl_ldso_paths_sanity_check"
......@@ -17,6 +17,7 @@ DEPENDS += "bison-native"
DEPENDS += "ruby-native"
require ${PN}-sources-${OPENHARMONY_VERSION}.inc
require musl-ldso-paths-sanity-check.inc
FILESEXTRAPATHS:prepend := "${THISDIR}/openharmony-${OPENHARMONY_VERSION}:"
FILESEXTRAPATHS:prepend := "${THISDIR}/openharmony-standard-${OPENHARMONY_VERSION}:"
......
......@@ -23,6 +23,7 @@ FILESEXTRAPATHS:prepend := "${THISDIR}/openharmony-standard-${OPENHARMONY_VERSIO
require ${PN}-sources-${OPENHARMONY_VERSION}.inc
require java-tools.inc
require musl-ldso-paths-sanity-check.inc
SRC_URI += "${@bb.utils.contains('PTEST_ENABLED', '1', 'file://run-ptest', '', d)}"
......
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