klcc-cross: fixes for recipe specific sysroot

The klcc script encodes the paths with custom escaping.
As stated in the patch "Turn the horribly encoded paths into something which
sstate can transform using its ususal magic by removing all the crazy escaping".

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Andrea Adami <andrea.adami@gmail.com>
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
This commit is contained in:
Andrea Adami 2017-02-13 23:32:35 +01:00 committed by Martin Jansa
parent 8c5cafe1fc
commit f4fd9a0289

View File

@ -17,8 +17,13 @@ do_compile() {
do_install() {
install -d ${D}${bindir_crossscripts}/
install -m 0755 klcc/klcc ${D}${bindir_crossscripts}/${TARGET_PREFIX}klcc
# Insert an unencoded path as a comment to trigger the sstate renaming functions
sed -i '2i #${STAGING_DIR_TARGET}' ${D}${bindir_crossscripts}/${TARGET_PREFIX}klcc
# Turn the horribly encoded paths into something which sstate can transform using its ususal
# magic by removing all the crazy escaping.
sed -i -e "2i \$TARGETSYSROOT = '${STAGING_DIR_TARGET}';" \
-e "2i \$NATIVESYSROOT = '${STAGING_DIR_NATIVE}';" \
-e 's#${@d.getVar("STAGING_DIR_NATIVE", True).replace("/", "\\\\/").replace("-", "\\\\-").replace(".", "\\\\.")}#${NATIVESYSROOT}#g;' \
-e 's#${@d.getVar("STAGING_DIR_TARGET", True).replace("/", "\\\\/").replace("-", "\\\\-").replace(".", "\\\\.")}#${TARGETSYSROOT}#g' \
${D}${bindir_crossscripts}/${TARGET_PREFIX}klcc
}
SYSROOT_PREPROCESS_FUNCS += "klcc_sysroot_preprocess"
@ -35,6 +40,3 @@ deltask do_package_write_deb
deltask do_package_write_tar
SSTATE_SCAN_FILES = "*"
EXTRA_STAGING_FIXMES = "MANGLEDSTAGINGDIRTARGET MANGLEDSTAGINGDIR"
MANGLEDSTAGINGDIR = "${@d.getVar("STAGING_DIR").replace("/", "\\\\/").replace("-", "\\\\-")}"
MANGLEDSTAGINGDIRTARGET = "${@d.getVar("STAGING_DIR_TARGET").replace("/", "\\\\/").replace("-", "\\\\-")}"