poky/scripts/oe-find-native-sysroot
Richard Purdie ffae400179 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: f8c9c511b5f1b7dbd45b77f345cb6c048ae6763e)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-05-09 16:31:55 +01:00

3.2 KiB
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

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 [-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