mirror of
git://git.yoctoproject.org/poky.git
synced 2025-07-05 05:04:44 +02:00

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>
57 lines
1.6 KiB
Bash
Executable File
57 lines
1.6 KiB
Bash
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: <native recipe> <native tool>'
|
|
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
|