There's no need to manually relocate .pc files in relocatable.bbclass
as the path remapping in sstate.bbclass can do it, if we add .pc to
SSTATE_SCAN_FILES.
This removes some hardcoded behaviour, and puts absolute sysroot paths
into the .pc files instead of paths like ${pcfiledir}/../../include,
which makes it possible for pkgconfig to normalise and strip redundant
paths.
This also has the side effect of not forcibly turning .pc symlinks into
real files, which the sed was doing.
Signed-off-by: Ross Burton <[email protected]>
---
meta/classes-global/sstate.bbclass | 2 +-
meta/classes/relocatable.bbclass | 15 +--------------
2 files changed, 2 insertions(+), 15 deletions(-)
diff --git a/meta/classes-global/sstate.bbclass
b/meta/classes-global/sstate.bbclass
index 88449d19c7b..3b50985eab1 100644
--- a/meta/classes-global/sstate.bbclass
+++ b/meta/classes-global/sstate.bbclass
@@ -67,7 +67,7 @@ SSTATE_ALLOW_OVERLAP_FILES += "${DEPLOY_DIR_IMAGE}/grub-efi"
SSTATE_ALLOW_OVERLAP_FILES += "${DEPLOY_DIR_IMAGE}/systemd-boot"
SSTATE_ALLOW_OVERLAP_FILES += "${DEPLOY_DIR_IMAGE}/microcode"
-SSTATE_SCAN_FILES ?= "*.la *-config *_config postinst-*"
+SSTATE_SCAN_FILES ?= "*.la *-config *_config postinst-* *.pc"
SSTATE_SCAN_CMD ??= 'find ${SSTATE_BUILDDIR} \( -name "${@"\" -o -name
\"".join(d.getVar("SSTATE_SCAN_FILES").split())}" \) -type f'
SSTATE_SCAN_CMD_NATIVE ??= 'grep -Irl -e ${RECIPE_SYSROOT} -e
${RECIPE_SYSROOT_NATIVE} -e ${HOSTTOOLS_DIR} ${SSTATE_BUILDDIR}'
SSTATE_HASHEQUIV_FILEMAP ?= " \
diff --git a/meta/classes/relocatable.bbclass b/meta/classes/relocatable.bbclass
index d0a623fb0a9..35b2d6ec474 100644
--- a/meta/classes/relocatable.bbclass
+++ b/meta/classes/relocatable.bbclass
@@ -6,21 +6,8 @@
inherit chrpath
-SYSROOT_PREPROCESS_FUNCS += "relocatable_binaries_preprocess
relocatable_native_pcfiles"
+SYSROOT_PREPROCESS_FUNCS += "relocatable_binaries_preprocess"
python relocatable_binaries_preprocess() {
rpath_replace(d.expand('${SYSROOT_DESTDIR}'), d)
}
-
-relocatable_native_pcfiles() {
- for dir in ${libdir}/pkgconfig ${datadir}/pkgconfig; do
- files_template=${SYSROOT_DESTDIR}$dir/*.pc
- # Expand to any files matching $files_template
- files=$(echo $files_template)
- # $files_template and $files will differ if any files were found
- if [ "$files_template" != "$files" ]; then
- rel=$(realpath -m --relative-to=$dir ${base_prefix})
- sed -i -e "s:${base_prefix}:\${pcfiledir}/$rel:g" $files
- fi
- done
-}
--
2.43.0
-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#233599):
https://lists.openembedded.org/g/openembedded-core/message/233599
Mute This Topic: https://lists.openembedded.org/mt/118416242/21656
Group Owner: [email protected]
Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub
[[email protected]]
-=-=-=-=-=-=-=-=-=-=-=-