Skip to contentSkip to conversation

populate_sdk_ext.bbclass: avoid populating tools twice

PATCH New Jens Rehsack 1 participant 1 message Oct 9, 2018

lore
Share & tools
lore
#0 lore raw

PATCH 1/1 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 <module>
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.

---
 meta/classes/populate_sdk_ext.bbclass | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)
meta/classes/populate_sdk_ext.bbclass +2 -1
index 9c31d70f2a..e30c49296d 100644
@@ -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
Signature · 1 line
2.17.1