mirror of
https://git.yoctoproject.org/poky
synced 2026-02-11 19:23:03 +01:00
The output of: $ source poky-init-build-env would wrap on 80 character terminals, making the output difficult to read. Replace the somewhat clumsy repeated usage of "echo" with bash here documents, limiting line length to 80 characters. The use of here documents simplifies this by removing any leading commands or indentation from the output being generated. A bash'ism should be acceptable here as poky-init-build-env already aborts if the shell is not bash. Signed-off-by: Darren Hart <darren@dvhart.com>
136 lines
4.2 KiB
Bash
Executable File
136 lines
4.2 KiB
Bash
Executable File
#!/bin/sh
|
|
|
|
# Poky Build Enviroment Setup Script
|
|
#
|
|
# Copyright (C) 2006-2007 OpenedHand Ltd.
|
|
#
|
|
# This program is free software; you can redistribute it and/or modify
|
|
# it under the terms of the GNU General Public License as published by
|
|
# the Free Software Foundation; either version 2 of the License, or
|
|
# (at your option) any later version.
|
|
#
|
|
# This program is distributed in the hope that it will be useful,
|
|
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
# GNU General Public License for more details.
|
|
#
|
|
# You should have received a copy of the GNU General Public License
|
|
# along with this program; if not, write to the Free Software
|
|
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
|
|
|
# scripts/ is a sub-directory of OEROOT, we use readlink to get the full path
|
|
SCRIPTPATH=`readlink -f "$BASH_SOURCE"`
|
|
OEROOT="`dirname $SCRIPTPATH`/../"
|
|
|
|
if [ "x$BDIR" = "x" ]; then
|
|
if [ "x$1" = "x" ]; then
|
|
BDIR="build"
|
|
else
|
|
BDIR=`readlink -f "$1"`
|
|
fi
|
|
fi
|
|
if [[ "$BDIR" = /* ]] ; then
|
|
BUILDDIR="$BDIR"
|
|
else
|
|
BUILDDIR="`pwd`/$BDIR"
|
|
fi
|
|
unset BDIR
|
|
|
|
mkdir -p $BUILDDIR/conf
|
|
if ! (test -w "$BUILDDIR"); then
|
|
echo >&2 "Error: Cannot write to $BUILDDIR, perhaps try sourcing with a writable path? i.e. . poky-init-build-env ~/my-build"
|
|
return
|
|
fi
|
|
|
|
BITBAKEDIR="$OEROOT/bitbake$BBEXTRA/"
|
|
|
|
PATH="$BITBAKEDIR/bin/:$OEROOT/scripts:$PATH"
|
|
|
|
# Remove any symlinks from paths
|
|
BITBAKEDIR=`readlink -f "$BITBAKEDIR"`
|
|
BUILDDIR=`readlink -f "$BUILDDIR"`
|
|
OEROOT=`readlink -f "$OEROOT"`
|
|
|
|
cd "$BUILDDIR"
|
|
|
|
if ! (test -d "$BITBAKEDIR" && test -d "$BUILDDIR"); then
|
|
echo >&2 "Error: Not all directories exist! Did you run this script in poky directory?"
|
|
return
|
|
fi
|
|
|
|
if [ "x" = "x$POKYLOCALCONF" ]; then
|
|
POKYLOCALCONF="$OEROOT/meta/conf/local.conf.sample"
|
|
fi
|
|
if ! (test -r "$BUILDDIR/conf/local.conf"); then
|
|
cat <<EOM
|
|
You had no conf/local.conf file. Poky has created this configuration file for
|
|
you with some default values. You may wish to edit it to use a different MACHINE
|
|
(target hardware) or enable parallel build options to take advantage of multiple
|
|
cores for example. See the file for more information as common configuration
|
|
options are commented.
|
|
|
|
Also, for more information see the Poky handbook:
|
|
http://pokylinux.org/doc/poky-handbook.html
|
|
|
|
EOM
|
|
cp -f $POKYLOCALCONF $BUILDDIR/conf/local.conf
|
|
fi
|
|
|
|
if [ "x" = "x$POKYLAYERCONF" ]; then
|
|
POKYLAYERCONF="$OEROOT/meta/conf/bblayers.conf.sample"
|
|
fi
|
|
if ! (test -r "$BUILDDIR/conf/bblayers.conf"); then
|
|
cat <<EOM
|
|
You had no conf/bblayers.conf file. Poky has created this configuration file for
|
|
you with some default values. To add additional metadata layers into your
|
|
configuration please add entries to this file.
|
|
|
|
For more information see the Poky handbook:
|
|
http://pokylinux.org/doc/poky-handbook.html
|
|
|
|
EOM
|
|
|
|
# Put the abosolute path to the layers in bblayers.conf so we can run
|
|
# bitbake without the init script after the first run
|
|
sed "s|##POKYBASE##|$OEROOT|g" $POKYLAYERCONF > $BUILDDIR/conf/bblayers.conf
|
|
fi
|
|
|
|
# Prevent disturbing a new GIT clone in same console
|
|
unset POKYLOCALCONF
|
|
unset POKYLAYERCONF
|
|
|
|
export OEROOT BUILDDIR
|
|
|
|
# Kill off the TERMINFO variable, as glibc will grab its contents in its 'make
|
|
# install' if set
|
|
unset TERMINFO
|
|
# kill this so we don't link non-arm libraries
|
|
unset LD_LIBRARY_PATH
|
|
# Don't export TARGET_ARCH - it *will* cause build failures
|
|
export PATH LD_LIBRARY_PATH OEROOT
|
|
# Stop multi byte characters breaking the patcher stuff - This is for Redhat / Fedora people really
|
|
export LANG=C
|
|
# Kill PYTHONPATH as otherwise the Python specified there will conflict with
|
|
# python-native.
|
|
unset PYTHONPATH
|
|
# Don't allow custom GConf schema paths to get into the system
|
|
unset GCONF_SCHEMA_INSTALL_SOURCE
|
|
|
|
cat <<EOM
|
|
|
|
### Shell environment set up for Poky builds. ###
|
|
|
|
You can now run 'bitbake <target>'
|
|
|
|
Common targets are:
|
|
poky-image-minimal
|
|
poky-image-sato
|
|
meta-toolchain
|
|
meta-toolchain-sdk
|
|
|
|
You can also run generated qemu images with a command like 'runqemu qemux86'
|
|
|
|
EOM
|
|
|
|
export BB_ENV_EXTRAWHITE="MACHINE DISTRO POKYMODE POKYLIBC OEROOT http_proxy ftp_proxy https_proxy no_proxy SSH_AGENT_PID SSH_AUTH_SOCK BB_SRCREV_POLICY SDKMACHINE BB_NUMBER_THREADS GIT_PROXY_COMMAND"
|