summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRichard Purdie <richard.purdie@linuxfoundation.org>2011-11-29 12:21:07 +0000
committerRichard Purdie <richard.purdie@linuxfoundation.org>2012-01-30 16:39:04 +0000
commitbc8a384c49c60feab9d01f8277e92ac0603c8f93 (patch)
tree991c260b59b5342a521a9a834c8a61d6b9a84e12
parent896bd7d1442dcd3f080dc741a72f50ab95d7c38f (diff)
downloadopenembedded-core-bc8a384c49c60feab9d01f8277e92ac0603c8f93.tar.gz
eglibc-initial: Ensure symlinks point to the correct location when built from sstate cache
If the sstate files are installed into a sysroot from the sstate cache, the directory to the main sysroot can change and the symlinks aren't adjusted to account for this. This is a problem specific to the toolchain bootstrap process. This patch adds up a function to recreate the symlinks, hence ensuring they always point at the correct location. (From OE-Core rev: ad0baa7d2f33a865011e0c6afe29f22aa1beea32) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
-rw-r--r--meta/recipes-core/eglibc/eglibc-initial.inc12
1 files changed, 12 insertions, 0 deletions
diff --git a/meta/recipes-core/eglibc/eglibc-initial.inc b/meta/recipes-core/eglibc/eglibc-initial.inc
index 448f73a971..906251633b 100644
--- a/meta/recipes-core/eglibc/eglibc-initial.inc
+++ b/meta/recipes-core/eglibc/eglibc-initial.inc
@@ -60,4 +60,16 @@ do_siteconfig () {
:
}
+SSTATEPOSTINSTFUNCS += "eglibcinitial_sstate_postinst"
+eglibcinitial_sstate_postinst() {
+ if [ "${BB_CURRENTTASK}" = "populate_sysroot" -o "${BB_CURRENTTASK}" = "populate_sysroot_setscene" ]
+ then
+ # Recreate the symlinks to ensure they point to the correct location
+ for t in linux asm asm-generic; do
+ rm -f ${STAGING_DIR_TCBOOTSTRAP}${includedir}/$t
+ ln -s ${STAGING_DIR_TARGET}${includedir}/$t ${STAGING_DIR_TCBOOTSTRAP}${includedir}/
+ done
+ fi
+}
+
do_populate_sysroot[sstate-outputdirs] = "${STAGING_DIR_TCBOOTSTRAP}"