poky/scripts/oe-find-native-sysroot
Richard Purdie 913df0de35 meta/lib+scripts: Convert to SPDX license headers
This adds SPDX license headers in place of the wide assortment of things
currently in our script headers. We default to GPL-2.0-only except for the
oeqa code where it was clearly submitted and marked as MIT on the most part
or some scripts which had the "or later" GPL versioning.

The patch also drops other obsolete bits of file headers where they were
encoountered such as editor modelines, obsolete maintainer information or
the phrase "All rights reserved" which is now obsolete and not required in
copyright headers (in this case its actually confusing for licensing as all
rights were not reserved).

More work is needed for OE-Core but this takes care of the bulk of the scripts
and meta/lib directories.

The top level LICENSE files are tweaked to match the new structure and the
SPDX naming.

(From OE-Core rev: 3248a9e3c5a197321b1c4417509b9309cc3bae97)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-06-18 11:28:58 +01:00

104 lines
3.2 KiB
Bash
Executable File

#!/bin/bash
#
# Find a native sysroot to use - either from an in-tree OE build or
# from a toolchain installation. It then ensures the variable
# $OECORE_NATIVE_SYSROOT is set to the sysroot's base directory, and sets
# $PSEUDO to the path of the pseudo binary.
#
# This script is intended to be run within other scripts by source'ing
# it, e.g:
#
# SYSROOT_SETUP_SCRIPT=`which oe-find-native-sysroot`
# . $SYSROOT_SETUP_SCRIPT <recipe>
#
# This script will terminate execution of your calling program unless
# you set a variable $SKIP_STRICT_SYSROOT_CHECK to a non-empty string
# beforehand.
#
# Copyright (c) 2010 Linux Foundation
#
# SPDX-License-Identifier: GPL-2.0-only
#
if [ "$1" = '--help' -o "$1" = '-h' -o $# -ne 1 ] ; then
echo 'Usage: oe-find-native-sysroot <recipe> [-h|--help]'
echo ''
echo 'OpenEmbedded find-native-sysroot - helper script to set'
echo 'environment variables OECORE_NATIVE_SYSROOT and PSEUDO'
echo 'to the path of the native sysroot directory and pseudo'
echo 'executable binary'
echo ''
echo 'options:'
echo ' recipe its STAGING_DIR_NATIVE is used as native sysroot'
echo ' -h, --help show this help message and exit'
echo ''
exit 2
fi
# Global vars
BITBAKE_E=""
set_oe_native_sysroot(){
echo "Running bitbake -e $1"
BITBAKE_E="`bitbake -e $1`"
OECORE_NATIVE_SYSROOT=`echo "$BITBAKE_E" | grep ^STAGING_DIR_NATIVE= | cut -d '"' -f2`
if [ "x$OECORE_NATIVE_SYSROOT" = "x" ]; then
# This indicates that there was an error running bitbake -e that
# the user needs to be informed of
echo "There was an error running bitbake to determine STAGING_DIR_NATIVE"
echo "Here is the output from bitbake -e $1"
echo $BITBAKE_E
exit 1
fi
}
if [ "x$OECORE_NATIVE_SYSROOT" = "x" ]; then
BITBAKE=`which bitbake 2> /dev/null`
if [ "x$BITBAKE" != "x" ]; then
if [ "$UID" = "0" ]; then
# Root cannot run bitbake unless sanity checking is disabled
if [ ! -d "./conf" ]; then
echo "Error: root cannot run bitbake by default, and I cannot find a ./conf directory to be able to disable sanity checking"
exit 1
fi
touch conf/sanity.conf
set_oe_native_sysroot $1
rm -f conf/sanity.conf
else
set_oe_native_sysroot $1
fi
else
echo "Error: Unable to locate bitbake command."
echo "Did you forget to source the build environment setup script?"
if [ -z "$SKIP_STRICT_SYSROOT_CHECK" ]; then
exit 1
fi
fi
fi
if [ ! -e "$OECORE_NATIVE_SYSROOT/" ]; then
echo "Error: $OECORE_NATIVE_SYSROOT doesn't exist."
if [ "x$OECORE_DISTRO_VERSION" = "x" ]; then
if [[ $1 =~ .*native.* ]]; then
echo "Have you run 'bitbake $1 -caddto_recipe_sysroot'?"
else
echo "Have you run 'bitbake $1 '?"
fi
else
echo "This shouldn't happen - something is wrong with your toolchain installation"
fi
if [ -z "$SKIP_STRICT_SYSROOT_CHECK" ]; then
exit 1
fi
fi
# Set up pseudo command
pseudo="$OECORE_NATIVE_SYSROOT/usr/bin/pseudo"
if [ -e "$pseudo" ]; then
echo "PSEUDO=$pseudo"
PSEUDO="$pseudo"
fi