aboutsummaryrefslogtreecommitdiffstats
path: root/scripts
diff options
context:
space:
mode:
Diffstat (limited to 'scripts')
-rwxr-xr-xscripts/poky-env-internal49
-rwxr-xr-xscripts/pstage-scanner19
-rwxr-xr-xscripts/qemuimage-tests/sanity/boot3
-rwxr-xr-xscripts/qemuimage-tests/sanity/ssh2
-rwxr-xr-xscripts/runqemu50
5 files changed, 78 insertions, 45 deletions
diff --git a/scripts/poky-env-internal b/scripts/poky-env-internal
index 54b6ee8964..862ce7aec2 100755
--- a/scripts/poky-env-internal
+++ b/scripts/poky-env-internal
@@ -19,19 +19,30 @@
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
-# Change this to the location of this file.
-# Also update the locations at the top of conf/local.conf
+# scripts/ is a sub-directory of OEROOT, we use readlink to get the full path
+SCRIPTPATH=`readlink -f "$BASH_SOURCE"`
+OEROOT="`dirname $SCRIPTPATH`/../"
-OEROOT=`pwd`
if [ "x$BDIR" = "x" ]; then
- if [ "x$1" = "x" ]; then
- BDIR="build"
- else
- BDIR="$1"
- fi
+ if [ "x$1" = "x" ]; then
+ BDIR="build"
+ else
+ BDIR=`readlink -f "$1"`
+ fi
+fi
+if [[ "$BDIR" = /* ]] ; then
+ BUILDDIR="$BDIR"
+else
+ BUILDDIR="`pwd`/$BDIR"
fi
-BUILDDIR="$OEROOT/$BDIR/"
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/"
PKGDIR="$OEROOT/meta/"
BBPATH="$BITBAKEDIR $PKGDIR"
@@ -51,9 +62,8 @@ do
continue
fi
if [ -e $OEROOT/$repo/poky-extra-environment ]; then
- . $OEROOT/$repo/poky-extra-environment
+ . $OEROOT/$repo/poky-extra-environment
fi
- BBPATH=" $BBPATH $OEROOT/$repo"
done
BBPATH="$BBPATH $HOME/.oe $HOME/.poky $BUILDDIR"
@@ -78,12 +88,13 @@ BUILD_SYS="$BUILD_ARCH-$BUILD_OS"
PATH="$BITBAKEDIR/bin/:$OEROOT/scripts:$PATH"
-cd "$BUILDDIR"
-
# Remove any symlinks from paths
BITBAKEDIR=`readlink -f "$BITBAKEDIR"`
PKGDIR=`readlink -f "$PKGDIR"`
BUILDDIR=`readlink -f "$BUILDDIR"`
+OEROOT=`readlink -f "$OEROOT"`
+
+cd "$BUILDDIR"
if ! (test -d "$BITBAKEDIR" && test -d "$PKGDIR" && test -d "$BUILDDIR"); then
echo >&2 "Error: Not all directories exist! Did you run this script in poky directory?"
@@ -91,7 +102,7 @@ if ! (test -d "$BITBAKEDIR" && test -d "$PKGDIR" && test -d "$BUILDDIR"); then
fi
if [ "x" = "x$POKYLOCALCONF" ]; then
- POKYLOCALCONF="$BUILDDIR/conf/local.conf.sample"
+ POKYLOCALCONF="$OEROOT/build/conf/local.conf.sample"
fi
if ! (test -r "$BUILDDIR/conf/local.conf"); then
echo "You had no conf/local.conf file. Poky has created this configuration file for you"
@@ -105,17 +116,19 @@ if ! (test -r "$BUILDDIR/conf/local.conf"); then
fi
if [ "x" = "x$POKYLAYERCONF" ]; then
- POKYLAYERCONF="$BUILDDIR/conf/bblayers.conf.sample"
+ POKYLAYERCONF="$OEROOT/build/conf/bblayers.conf.sample"
fi
if ! (test -r "$BUILDDIR/conf/bblayers.conf"); then
- cp -f $POKYLAYERCONF $BUILDDIR/conf/bblayers.conf
+ # 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 BBPATH OEROOT BUILD_SYS BUILDDIR
+export BBPATH BUILD_SYS BUILDDIR
# Kill off the TERMINFO variable, as glibc will grab its contents in its 'make
# install' if set
@@ -141,4 +154,4 @@ echo "Common targets are poky-image-minimal, poky-image-sato, meta-toolchain or
echo
echo "You can also run generated qemu images with a command like 'runqemu qemux86'"
-export BB_ENV_EXTRAWHITE="MACHINE DISTRO POKYMODE POKYLIBC OEROOT http_proxy ftp_proxy SSH_AGENT_PID SSH_AUTH_SOCK BB_SRCREV_POLICY SDKMACHINE BB_NUMBER_THREADS"
+export BB_ENV_EXTRAWHITE="MACHINE DISTRO POKYMODE POKYLIBC http_proxy ftp_proxy SSH_AGENT_PID SSH_AUTH_SOCK BB_SRCREV_POLICY SDKMACHINE BB_NUMBER_THREADS"
diff --git a/scripts/pstage-scanner b/scripts/pstage-scanner
index 9234912581..4a27aa5d26 100755
--- a/scripts/pstage-scanner
+++ b/scripts/pstage-scanner
@@ -1,7 +1,7 @@
#!/usr/bin/env python
##
-## This script will scan all of the packages in ${OEROOT}/pstage (or argv[1])
+## This script will scan all of the packages in PSTAGE_DIR (or argv[1])
## in search of packages which install files outside of their native sysroot
##
@@ -16,15 +16,24 @@ def main():
"""Generate a list of pstage packages and scan them for badness"""
package_list = []
- ## First we walk the pstage directory, let's assume we're running from
- ## a sibling of pstage (i.e. scripts) if no path defined
try:
path = sysv.arg[1]
except:
- path = os.path.join(os.environ.get("OEROOT"), "pstage")
+ # Assume pstage is a child of tmp, Poky's default
+ tmpdir = None
+ sub.Popen(["bitbake", "-e"], stdout=sub.PIPE,stderr=sub.PIPE)
+ err, out = p.communicate()
+ if (!out):
+ print("bitbake not in your environment, try pstage-scanner /some/path/to/pstage")
+ exit
+ for line in out:
+ if line.find("PSTAGE_DIR=") != -1:
+ tmpdir = line.partition("=")[2].strip("\"")
+ break
if len(path) < 1 or not os.path.exists(path):
- path = os.path.join(os.environ.get("OEROOT"), "pstage")
+ print ("No path defined and bitbake not in your environment, try pstage-scanner /some/path/to/pstage")
+ exit
global logf
try:
diff --git a/scripts/qemuimage-tests/sanity/boot b/scripts/qemuimage-tests/sanity/boot
index b4c0094f25..57b204b170 100755
--- a/scripts/qemuimage-tests/sanity/boot
+++ b/scripts/qemuimage-tests/sanity/boot
@@ -9,8 +9,7 @@
# This file is licensed under the GNU General Public License,
# Version 2.
#
-
-. $OEROOT/scripts/qemuimage-testlib
+. $POKYBASE/scripts/qemuimage-testlib
TIMEOUT=120
QEMU_IPADDR="192.168.7.2"
diff --git a/scripts/qemuimage-tests/sanity/ssh b/scripts/qemuimage-tests/sanity/ssh
index 7dd895951c..3c7638cc2e 100755
--- a/scripts/qemuimage-tests/sanity/ssh
+++ b/scripts/qemuimage-tests/sanity/ssh
@@ -9,7 +9,7 @@
# Version 2.
#
-. $OEROOT/scripts/qemuimage-testlib
+. $POKYBASE/scripts/qemuimage-testlib
TIMEOUT=360
QEMU_IPADDR="192.168.7.2"
diff --git a/scripts/runqemu b/scripts/runqemu
index c7c51ec77a..bb26f8b633 100755
--- a/scripts/runqemu
+++ b/scripts/runqemu
@@ -19,11 +19,23 @@
if [ "x$BUILDDIR" = "x" ]; then
- echo "You need to source poky-init-build-env before running this script"
- exit 1
+ # BUILDDIR unset, try and get TMPDIR from bitbake
+ type -P bitbake &>/dev/null || {
+ echo "You either need bitbake in your PATH or to source poky-init-build-env before running this script" >&2; exit 1; }
+
+ # we have bitbake in PATH, get TMPDIR from the environment
+ TMPDIR=`bitbake -e | grep TMPDIR=\" | cut -d '=' -f2 | cut -d '"' -f2`
+else
+ TMPDIR=$BUILDDIR/tmp
+fi
+
+if ! (test -d "$TMPDIR"); then
+ echo >&2 "Error: no $TMPDIR directory, please re-run the script from the Poky build directory."
+ return
fi
-INTERNAL_SCRIPT=`which poky-qemu-internal`
+SCRIPTSDIR=`dirname "$0"`
+INTERNAL_SCRIPT=SCRIPTSDIR/poky-qemu-internal`
if [ "x$1" = "x" ]; then
echo
@@ -67,9 +79,9 @@ fi
if [ "$MACHINE" = "qemuarm" -o "$MACHINE" = "spitz" -o "$MACHINE" = "borzoi" -o "$MACHINE" = "akita" -o "$MACHINE" = "nokia800" ]; then
if [ "x$ZIMAGE" = "x" ]; then
- ZIMAGE=$BUILDDIR/tmp/deploy/images/zImage-$MACHINE.bin
+ ZIMAGE=$TMPDIR/deploy/images/zImage-$MACHINE.bin
fi
- CROSSPATH=$BUILDDIR/sysroots/$BUILD_SYS/arm-poky-linux-gnueabi/bin
+ CROSSPATH=$TMPDIR/sysroots/$BUILD_SYS/arm-poky-linux-gnueabi/bin
fi
function findimage {
@@ -96,7 +108,7 @@ function findimage {
if [ "$MACHINE" = "qemuarm" ]; then
if [ "$TYPE" = "ext3" ]; then
if [ "x$HDIMAGE" = "x" ]; then
- T=$BUILDDIR/tmp/deploy/images
+ T=$TMPDIR/deploy/images
findimage $T qemuarm ext3 "poky-image-sdk poky-image-sato poky-image-minimal"
fi
fi
@@ -104,34 +116,34 @@ fi
if [ "$MACHINE" = "qemumips" ]; then
if [ "x$ZIMAGE" = "x" ]; then
- ZIMAGE=$BUILDDIR/tmp/deploy/images/vmlinux-$MACHINE.bin
+ ZIMAGE=$TMPDIR/tmp/deploy/images/vmlinux-$MACHINE.bin
fi
if [ "$TYPE" = "ext3" ]; then
if [ "x$HDIMAGE" = "x" ]; then
- T=$BUILDDIR/tmp/deploy/images
+ T=$TMPDIR/tmp/deploy/images
findimage $T $MACHINE ext3 "poky-image-sdk poky-image-sato poky-image-minimal"
fi
fi
- CROSSPATH=$BUILDDIR/tmp/sysroots/$BUILD_SYS/usr
+ CROSSPATH=$TMPDIR/tmp/sysroots/$BUILD_SYS/usr
fi
if [ "$MACHINE" = "qemuppc" ]; then
if [ "x$ZIMAGE" = "x" ]; then
- ZIMAGE=$BUILDDIR/tmp/deploy/images/zImage-$MACHINE.bin
+ ZIMAGE=$TMPDIR/tmp/deploy/images/zImage-$MACHINE.bin
fi
if [ "$TYPE" = "ext3" ]; then
if [ "x$HDIMAGE" = "x" ]; then
- T=$BUILDDIR/tmp/deploy/images
+ T=$TMPDIR/tmp/deploy/images
findimage $T $MACHINE ext3 "poky-image-sdk poky-image-sato poky-image-minimal"
fi
fi
- CROSSPATH=$BUILDDIR/tmp/sysroots/$BUILD_SYS/usr
+ CROSSPATH=$TMPDIR/tmp/sysroots/$BUILD_SYS/usr
fi
if [ "$MACHINE" = "spitz" ]; then
if [ "$TYPE" = "ext3" ]; then
if [ "x$HDIMAGE" = "x" ]; then
- HDIMAGE=$BUILDDIR/tmp/deploy/images/poky-image-sato-spitz.ext3
+ HDIMAGE=$TMPDIR/tmp/deploy/images/poky-image-sato-spitz.ext3
fi
fi
fi
@@ -139,7 +151,7 @@ fi
if [ "$MACHINE" = "akita" ]; then
if [ "$TYPE" = "jffs2" ]; then
if [ "x$HDIMAGE" = "x" ]; then
- HDIMAGE=$BUILDDIR/tmp/deploy/images/poky-image-sato-akita.jffs2
+ HDIMAGE=$TMPDIR/tmp/deploy/images/poky-image-sato-akita.jffs2
fi
fi
fi
@@ -147,7 +159,7 @@ fi
if [ "$MACHINE" = "nokia800" ]; then
if [ "$TYPE" = "jffs2" ]; then
if [ "x$HDIMAGE" = "x" ]; then
- HDIMAGE=$BUILDDIR/tmp/deploy/images/poky-image-sato-nokia800.jffs2
+ HDIMAGE=$TMPDIR/tmp/deploy/images/poky-image-sato-nokia800.jffs2
fi
fi
fi
@@ -155,15 +167,15 @@ fi
if [ "$MACHINE" = "qemux86" ]; then
if [ "x$ZIMAGE" = "x" ]; then
- ZIMAGE=$BUILDDIR/tmp/deploy/images/bzImage-$MACHINE.bin
+ ZIMAGE=$TMPDIR/tmp/deploy/images/bzImage-$MACHINE.bin
fi
if [ "$TYPE" = "ext3" ]; then
if [ "x$HDIMAGE" = "x" ]; then
- T=$BUILDDIR/tmp/deploy/images
+ T=$TMPDIR/tmp/deploy/images
findimage $T qemux86 ext3 "moblin-image-sdk moblin-image-netbook poky-image-sdk poky-image-sato poky-image-minimal"
fi
fi
- CROSSPATH=$BUILDDIR/tmp/sysroots/$BUILD_SYS/usr
+ CROSSPATH=$TMPDIR/tmp/sysroots/$BUILD_SYS/usr
fi
if [ "$MACHINE" = "qemuarm" -o "$MACHINE" = "spitz" -o "$MACHINE" = "borzoi" -o "$MACHINE" = "akita" -o "$MACHINE" = "nokia800" ]; then
@@ -182,6 +194,6 @@ if [ ! -e $CROSSPATH/$TARGET_SYS/bin/gcc ]; then
ln -s $CROSSPATH/bin/$TARGET_SYS-gcc $CROSSPATH/$TARGET_SYS/bin/gcc
fi
-CROSSPATH=$BUILDDIR/tmp/sysroots/$BUILD_SYS/usr/bin:$CROSSPATH:$BUILDDIR/tmp/cross/bin
+CROSSPATH=$TMPDIR/tmp/sysroots/$BUILD_SYS/usr/bin:$CROSSPATH:$TMPDIR/tmp/cross/bin
. $INTERNAL_SCRIPT