From 03553bb020b4f826ee94ff20fb5166822798235d Mon Sep 17 00:00:00 2001 From: David Schulz Date: Thu, 10 Dec 2015 08:59:23 +0100 Subject: Replace all symlinks in the target sysroot for mingw hosts. Change-Id: I0a7b95ac2940e4a29112e70c7b29870eb6a6be39 Reviewed-by: Samuli Piippo --- classes/populate_b2qt_sdk.bbclass | 26 ++++++++++++++++++-------- 1 file changed, 18 insertions(+), 8 deletions(-) diff --git a/classes/populate_b2qt_sdk.bbclass b/classes/populate_b2qt_sdk.bbclass index e09743b..a61d625 100644 --- a/classes/populate_b2qt_sdk.bbclass +++ b/classes/populate_b2qt_sdk.bbclass @@ -21,23 +21,33 @@ inherit populate_sdk -POPULATE_SDK_POST_HOST_COMMAND_append_sdkmingw32 = " replace_host_symlink;" - -replace_host_symlink() { - for SOURCE in `find ${SDK_OUTPUT}/${SDKPATHNATIVE} -type l` +replace_sysroot_symlink() { + SYMLINK_SYSROOT=$1 + for SOURCE in `find ${SYMLINK_SYSROOT} -type l` do - TARGET=`readlink -f "${SOURCE}"` - if [ -e ${TARGET} ]; then - rm "${SOURCE}" - cp -f "${TARGET}" "${SOURCE}" + TARGET=`readlink -m "${SOURCE}"` + #check whether TARGET is inside the sysroot when not prepend the sysroot + TARGET=`echo ${TARGET} | grep "^${SYMLINK_SYSROOT}" || echo ${SYMLINK_SYSROOT}${TARGET}` + rm "${SOURCE}" + if [ -d "${TARGET}" ]; then + cp -r "${TARGET}" "${SOURCE}" + elif [ -f "${TARGET}" ]; then + cp "${TARGET}" "${SOURCE}" + elif [ -e "${TARGET}" ]; then + touch "${SOURCE}" fi done } fakeroot tar_sdk_sdkmingw32() { + replace_sysroot_symlink ${SDK_OUTPUT}${SDKTARGETSYSROOT} + replace_sysroot_symlink ${SDK_OUTPUT}${SDKPATHNATIVE} # Package it up mkdir -p ${SDK_DEPLOY} cd ${SDK_OUTPUT}/${SDKPATH} + if [ -e ${SDK_DEPLOY}/${TOOLCHAIN_OUTPUTNAME}.7z ]; then + rm ${SDK_DEPLOY}/${TOOLCHAIN_OUTPUTNAME}.7z + fi 7z a ${SDK_DEPLOY}/${TOOLCHAIN_OUTPUTNAME}.7z sysroots } -- cgit v1.2.3-54-g00ecf