From 3274819ce3bb64316853c6f0bb7840c38635c26c Mon Sep 17 00:00:00 2001 From: Jens Rehsack Date: Tue, 9 Oct 2018 20:34:56 +0200 Subject: populate_sdk_ext.bbclass: avoid populating tools twice When running `bitbake -c populate_sdk_ext ...` for an image recipe inheriting populate_sdk_qt5, `nativesdk-qemu-helper` is deployed via `nativesdk-packagegroup-sdk-host`, which already contains some of the tools (by name: "oe-find-native-sysroot runqemu*"). To avoid error like: Configuring nativesdk-packagegroup-qt5-toolchain-host. NOTE: Running intercept scripts: NOTE: > Executing update_gio_module_cache-nativesdk intercept ... NOTE: + [ True = False ] + qemu-x86_64 -r 3.2.0 -E LD_LIBRARY_PATH=/home/sno/gpw-community-bsp/mops-yocto-platform/tmp/work/fischer-poky-linux/updatable-app-image/1.0-r0/sdk-ext/image/opt/mops/2.5+snapshot/sysroots/x86_64-pokysdk-linux/usr/lib:/home/sno/gpw-community-bsp/mops-yocto-platform/tmp/work/fischer-poky-linux/updatable-app-image/1.0-r0/sdk-ext/image/opt/mops/2.5+snapshot/sysroots/x86_64-pokysdk-linux/lib -L /home/sno/gpw-community-bsp/mops-yocto-platform/tmp/work/fischer-poky-linux/updatable-app-image/1.0-r0/sdk-ext/image /home/sno/gpw-community-bsp/mops-yocto-platform/tmp/work/fischer-poky-linux/updatable-app-image/1.0-r0/sdk-ext/image/opt/mops/2.5+snapshot/sysroots/x86_64-pokysdk-linux/usr/libexec/nativesdk-gio-querymodules /home/sno/gpw-community-bsp/mops-yocto-platform/tmp/work/fischer-poky-linux/updatable-app-image/1.0-r0/sdk-ext/image/opt/mops/2.5+snapshot/sysroots/x86_64-pokysdk-linux/usr/lib/gio/modules/ NOTE: Executing copy_buildsystem ... DEBUG: Executing python function copy_buildsystem NOTE: Generating sstate task list... NOTE: Generating sstate-cache... NOTE: Generating sstate-cache... DEBUG: Python function copy_buildsystem finished NOTE: Executing install_tools ... DEBUG: Executing shell function install_tools Traceback (most recent call last): File "/home/sno/gpw-community-bsp/sources/poky/scripts/lnr", line 21, in os.symlink(target, linkname) FileExistsError: [Errno 17] File exists: '../../../../layers/poky/scripts/oe-find-native-sysroot' -> '/home/sno/gpw-community-bsp/mops-yocto-platform/tmp/work/fischer-poky-linux/updatable-app-image/1.0-r0/sdk-ext/image//opt/mops/2.5+snapshot/sysroots/x86_64-pokysdk-linux/usr/bin/oe-find-native-sysroot' WARNING: exit code 1 from a shell command. DEBUG: Python function do_populate_sdk_ext finished only add those tools unpackaged to the deployment which are still missing. Signed-off-by: Jens Rehsack Signed-off-by: Richard Purdie --- meta/classes/populate_sdk_ext.bbclass | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/meta/classes/populate_sdk_ext.bbclass b/meta/classes/populate_sdk_ext.bbclass index 9c31d70f2a..e30c49296d 100644 --- a/meta/classes/populate_sdk_ext.bbclass +++ b/meta/classes/populate_sdk_ext.bbclass @@ -531,7 +531,8 @@ install_tools() { scripts="devtool recipetool oe-find-native-sysroot runqemu* wic" for script in $scripts; do for scriptfn in `find ${SDK_OUTPUT}/${SDKPATH}/${scriptrelpath} -maxdepth 1 -executable -name "$script"`; do - lnr ${scriptfn} ${SDK_OUTPUT}/${SDKPATHNATIVE}${bindir_nativesdk}/`basename $scriptfn` + targetscriptfn="${SDK_OUTPUT}/${SDKPATHNATIVE}${bindir_nativesdk}/$(basename $scriptfn)" + test -e ${targetscriptfn} || lnr ${scriptfn} ${targetscriptfn} done done # We can't use the same method as above because files in the sysroot won't exist at this point -- cgit 1.2.3-korg