poky/scripts/oe-setup-builddir
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.8 KiB
Executable File

#!/bin/sh

OE Build Environment Setup Script

Copyright (C) 2006-2011 Linux Foundation

SPDX-License-Identifier: GPL-2.0-or-later

if [ -z "$BUILDDIR" ]; then echo >&2 "Error: The build directory (BUILDDIR) must be set!" exit 1 fi

if [ "$1" = '--help' -o "$1" = '-h' ]; then echo 'Usage: oe-setup-builddir' echo '' echo "OpenEmbedded setup-builddir - setup build directory $BUILDDIR" echo '' exit 2 fi

mkdir -p "$BUILDDIR/conf"

if [ ! -d "$BUILDDIR" ]; then echo >&2 "Error: The builddir ($BUILDDIR) does not exist!" exit 1 fi

if [ ! -w "$BUILDDIR" ]; then echo >&2 "Error: Cannot write to $BUILDDIR, perhaps try sourcing with a writable path? i.e. . oe-init-build-env ~/my-build" exit 1 fi

Attempting removal of sticky,setuid bits from BUILDDIR, BUILDDIR/conf

chmod -st "$BUILDDIR" 2>/dev/null || echo "WARNING: unable to chmod $BUILDDIR" chmod -st "$BUILDDIR/conf" 2>/dev/null || echo "WARNING: unable to chmod $BUILDDIR/conf"

cd "$BUILDDIR"

if [ -f "$BUILDDIR/conf/templateconf.cfg" ]; then TEMPLATECONF=$(cat "$BUILDDIR/conf/templateconf.cfg") fi

. $OEROOT/.templateconf

if [ ! -f "$BUILDDIR/conf/templateconf.cfg" ]; then echo "$TEMPLATECONF" >"$BUILDDIR/conf/templateconf.cfg" fi

$TEMPLATECONF can point to a directory for the template local.conf & bblayers.conf

if [ -n "$TEMPLATECONF" ]; then if [ ! -d "$TEMPLATECONF" ]; then # Allow TEMPLATECONF=meta-xyz/conf as a shortcut if [ -d "$OEROOT/$TEMPLATECONF" ]; then TEMPLATECONF="$OEROOT/$TEMPLATECONF" fi if [ ! -d "$TEMPLATECONF" ]; then echo >&2 "Error: TEMPLATECONF value points to nonexistent directory '$TEMPLATECONF'" exit 1 fi fi OECORELAYERCONF="$TEMPLATECONF/bblayers.conf.sample" OECORELOCALCONF="$TEMPLATECONF/local.conf.sample" OECORENOTESCONF="$TEMPLATECONF/conf-notes.txt" fi

unset SHOWYPDOC if [ -z "$OECORELOCALCONF" ]; then OECORELOCALCONF="$OEROOT/meta/conf/local.conf.sample" fi if [ ! -r "$BUILDDIR/conf/local.conf" ]; then cat <<EOM You had no conf/local.conf file. This configuration file has therefore been created for you with some default values. You may wish to edit it to, for example, select a different MACHINE (target hardware). See conf/local.conf for more information as common configuration options are commented.

EOM cp -f $OECORELOCALCONF "$BUILDDIR/conf/local.conf" SHOWYPDOC=yes fi

if [ -z "$OECORELAYERCONF" ]; then OECORELAYERCONF="$OEROOT/meta/conf/bblayers.conf.sample" fi if [ ! -r "$BUILDDIR/conf/bblayers.conf" ]; then cat <<EOM You had no conf/bblayers.conf file. This configuration file has therefore been created for you with some default values. To add additional metadata layers into your configuration please add entries to conf/bblayers.conf.

EOM

# Put the abosolute path to the layers in bblayers.conf so we can run
# bitbake without the init script after the first run
# ##COREBASE## is deprecated as it's meaning was inconsistent, but continue
# to replace it for compatibility.
sed -e "s|##OEROOT##|$OEROOT|g" \
    -e "s|##COREBASE##|$OEROOT|g" \
    $OECORELAYERCONF > "$BUILDDIR/conf/bblayers.conf"
SHOWYPDOC=yes

fi

Prevent disturbing a new GIT clone in same console

unset OECORELOCALCONF unset OECORELAYERCONF

Ending the first-time run message. Show the YP Documentation banner.

if [ ! -z "$SHOWYPDOC" ]; then cat <<EOM The Yocto Project has extensive documentation about OE including a reference manual which can be found at: http://yoctoproject.org/documentation

For more information about OpenEmbedded see their website: http://www.openembedded.org/

EOM

unset SHOWYPDOC

fi

if [ -z "$OECORENOTESCONF" ]; then OECORENOTESCONF="$OEROOT/meta/conf/conf-notes.txt" fi [ ! -r "$OECORENOTESCONF" ] || cat $OECORENOTESCONF unset OECORENOTESCONF