
This fixes a crash with "find" when running a native tool and *-native directories do not exist under the binary directory in the sysroot. This happened because the directory wildcard was passed as part of the root directory. The directory wildcard is now passed by "-name", which returns an empty result if no matching directory. (From OE-Core rev: f6c90ed0ad24b7d4f892e22e088b1578824eb1d3) Signed-off-by: Adrian Herrera <adrian.herrera@arm.com> Change-Id: Iba7acd8bbd7e0beb4d25c984f6af7a4fd21486e6 Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
1.6 KiB
Executable File
#!/bin/bash
Copyright (c) 2016, Intel Corporation.
SPDX-License-Identifier: GPL-2.0-or-later
This script is for running tools from native oe sysroot
if [ $# -lt 1 -o "$1" = '--help' -o "$1" = '-h' ] ; then echo 'oe-run-native: the following arguments are required: ' echo 'Usage: oe-run-native native-recipe tool [parameters]' echo '' echo 'OpenEmbedded run-native - runs native tools' echo '' echo 'arguments:' echo ' native-recipe The recipe which provides tool' echo ' tool Native tool to run' echo '' exit 2 fi
native_recipe="$1" tool="$2"
if [ "${native_recipe%-native}" = "$native_recipe" ]; then echo Error: $native_recipe is not a native recipe echo Error: Use "oe-run-native -h" for help exit 1 fi
shift
SYSROOT_SETUP_SCRIPT=which oe-find-native-sysroot 2> /dev/null
if [ -z "$SYSROOT_SETUP_SCRIPT" ]; then
echo "Error: Unable to find oe-find-native-sysroot script"
exit 1
fi
. $SYSROOT_SETUP_SCRIPT $native_recipe
OLD_PATH=$PATH
look for a tool only in native sysroot
PATH=$OECORE_NATIVE_SYSROOT/usr/bin:$OECORE_NATIVE_SYSROOT/bin:$OECORE_NATIVE_SYSROOT/usr/sbin:$OECORE_NATIVE_SYSROOT/sbin$(find $OECORE_NATIVE_SYSROOT/usr/bin -maxdepth 1 -name "*-native" -type d -printf ":%p")
tool_find=/usr/bin/which $tool 2>/dev/null
if [ -n "$tool_find" ] ; then # add old path to allow usage of host tools PATH=$PATH:$OLD_PATH "$@" else echo "Error: Unable to find '$tool' in $PATH" echo "Error: Have you run 'bitbake $native_recipe -caddto_recipe_sysroot'?" exit 1 fi