From 9b800fe261650e4300795ce9762422d93cd31251 Mon Sep 17 00:00:00 2001 From: Joshua Lock Date: Fri, 3 Sep 2010 18:34:24 +0100 Subject: scripts: use the exported POKY_NATIVE_SYSROOT variable Rather than trying to determine things through guess-work use the newly exported variables to determine where the native binaries reside and whether we are running in a build directory or not. Signed-off-by: Joshua Lock --- scripts/poky-export-rootfs | 16 +++++------ scripts/poky-extract-sdk | 2 +- scripts/poky-find-native-sysroot | 59 ++++++++++++++++++---------------------- scripts/poky-qemu-internal | 4 +-- scripts/runqemu-nfs | 2 +- 5 files changed, 39 insertions(+), 44 deletions(-) diff --git a/scripts/poky-export-rootfs b/scripts/poky-export-rootfs index fd9018a9e8..ef527dc058 100755 --- a/scripts/poky-export-rootfs +++ b/scripts/poky-export-rootfs @@ -46,10 +46,10 @@ if [ -z "$SYSROOT_SETUP_SCRIPT" ]; then fi . $SYSROOT_SETUP_SCRIPT -if [ ! -e "$NATIVE_SYSROOT_DIR/usr/sbin/rpc.mountd" ]; then - echo "Error: Unable to find rpc.mountd binary in $NATIVE_SYSROOT_DIR/usr/sbin/" +if [ ! -e "$POKY_NATIVE_SYSROOT/usr/sbin/rpc.mountd" ]; then + echo "Error: Unable to find rpc.mountd binary in $POKY_NATIVE_SYSROOT/usr/sbin/" - if [ "$SYSROOT_MODE" = "in-tree" ]; then + if [ "x$POKY_DISTRO_VERSION" = "x" ]; then echo "Have you run 'bitbake unfs-server-native'?" else echo "This shouldn't happen - something is missing from your toolchain installation" @@ -67,7 +67,7 @@ RMTAB=~/.poky-sdk/rmtab$TARGET_VIRT_INSTANCE NFSPID=~/.poky-sdk/nfs$TARGET_VIRT_INSTANCE.pid MOUNTPID=~/.poky-sdk/mount$TARGET_VIRT_INSTANCE.pid -PSEUDO_OPTS="-P $NATIVE_SYSROOT_DIR/usr" +PSEUDO_OPTS="-P $POKY_NATIVE_SYSROOT/usr" PSEUDO_LOCALSTATEDIR="$NFS_EXPORT_DIR/var/pseudo" export PSEUDO_LOCALSTATEDIR @@ -100,8 +100,8 @@ fi case "$1" in start) echo "Starting User Mode rpc.mountd" - echo " $PSEUDO $PSEUDO_OPTS $NATIVE_SYSROOT_DIR/usr/sbin/rpc.mountd $MOUNTD_OPTS" - $PSEUDO $PSEUDO_OPTS $NATIVE_SYSROOT_DIR/usr/sbin/rpc.mountd $MOUNTD_OPTS + echo " $PSEUDO $PSEUDO_OPTS $POKY_NATIVE_SYSROOT/usr/sbin/rpc.mountd $MOUNTD_OPTS" + $PSEUDO $PSEUDO_OPTS $POKY_NATIVE_SYSROOT/usr/sbin/rpc.mountd $MOUNTD_OPTS if [ ! $? = 0 ] ; then echo "=====================" echo "Error starting MOUNTD" @@ -123,8 +123,8 @@ case "$1" in exit 1 fi echo "Starting User Mode nfsd" - echo " $PSEUDO $PSEUDO_OPTS $NATIVE_SYSROOT_DIR/usr/sbin/rpc.nfsd $NFSD_OPTS" - $PSEUDO $PSEUDO_OPTS $NATIVE_SYSROOT_DIR/usr/sbin/rpc.nfsd $NFSD_OPTS + echo " $PSEUDO $PSEUDO_OPTS $POKY_NATIVE_SYSROOT/usr/sbin/rpc.nfsd $NFSD_OPTS" + $PSEUDO $PSEUDO_OPTS $POKY_NATIVE_SYSROOT/usr/sbin/rpc.nfsd $NFSD_OPTS if [ ! $? = 0 ] ; then echo "Error starting nfsd" exit 1 diff --git a/scripts/poky-extract-sdk b/scripts/poky-extract-sdk index 70bc44b79b..977adde1a6 100755 --- a/scripts/poky-extract-sdk +++ b/scripts/poky-extract-sdk @@ -36,7 +36,7 @@ if [ -z "$SYSROOT_SETUP_SCRIPT" ]; then exit 1 fi . $SYSROOT_SETUP_SCRIPT -PSEUDO_OPTS="-P $NATIVE_SYSROOT_DIR/usr" +PSEUDO_OPTS="-P $POKY_NATIVE_SYSROOT/usr" ROOTFS_TARBALL=$1 SDK_ROOTFS_DIR=$2 diff --git a/scripts/poky-find-native-sysroot b/scripts/poky-find-native-sysroot index fe36a2a932..9182f9d170 100755 --- a/scripts/poky-find-native-sysroot +++ b/scripts/poky-find-native-sysroot @@ -1,10 +1,9 @@ #!/bin/bash # # Find a native sysroot to use - either from an in-tree Poky build or -# from a toolchain installation in /opt/poky. It then sets the variables -# $NATIVE_SYSROOT_DIR to the sysroot's base directory, $PSEUDO to the -# path of the pseudo binary, and $SYSROOT_MODE is set to "in-tree" or -# "toolchain". +# from a toolchain installation in /opt/poky. It then ensures the variable +# $POKY_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: @@ -31,40 +30,36 @@ # with this program; if not, write to the Free Software Foundation, Inc., # 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. -BITBAKE=`which bitbake` -if [ -z "$BITBAKE" ]; then - SYSROOT_MODE="toolchain" - NATIVE_SYSROOT_DIR=`find /opt/poky -name "tunctl" | sed 's/\/usr\/bin\/tunctl//'` -else - SYSROOT_MODE="in-tree" - 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 - NATIVE_SYSROOT_DIR=`bitbake -e | grep ^STAGING_DIR_NATIVE | cut -d '=' -f2 | cut -d '"' -f2` - rm -f conf/sanity.conf +if [ -z "$POKY_NATIVE_SYSROOT" ]; then + BITBAKE=`which bitbake` + 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 + POKY_NATIVE_SYSROOT=`bitbake -e | grep ^STAGING_DIR_NATIVE | cut -d '=' -f2 | cut -d '"' -f2` + rm -f conf/sanity.conf + else + POKY_NATIVE_SYSROOT=`bitbake -e | grep ^STAGING_DIR_NATIVE | cut -d '=' -f2 | cut -d '"' -f2` + fi else - NATIVE_SYSROOT_DIR=`bitbake -e | grep ^STAGING_DIR_NATIVE | cut -d '=' -f2 | cut -d '"' -f2` - fi -fi - -if [ -z "$NATIVE_SYSROOT_DIR" ]; then - echo "Error: Unable to locate your native sysroot." - echo "Did you forget to source the Poky environment script?" + echo "Error: Unable to locate your native sysroot." + echo "Did you forget to source the Poky environment script?" - if [ -z "$SKIP_STRICT_SYSROOT_CHECK" ]; then - exit 1 + if [ -z "$SKIP_STRICT_SYSROOT_CHECK" ]; then + exit 1 + fi fi fi # Set up pseudo command -if [ ! -e "$NATIVE_SYSROOT_DIR/usr/bin/pseudo" ]; then - echo "Error: Unable to find pseudo binary in $NATIVE_SYSROOT_DIR/usr/bin/" +if [ ! -e "$POKY_NATIVE_SYSROOT/usr/bin/pseudo" ]; then + echo "Error: Unable to find pseudo binary in $POKY_NATIVE_SYSROOT/usr/bin/" - if [ "$SYSROT_MODE" = "in-tree" ]; then + if [ "x$POKY_DISTRO_VERSION" = "x" ]; then echo "Have you run 'bitbake pseudo-native'?" else echo "This shouldn't happen - something is wrong with your toolchain installation" @@ -74,4 +69,4 @@ if [ ! -e "$NATIVE_SYSROOT_DIR/usr/bin/pseudo" ]; then exit 1 fi fi -PSEUDO="$NATIVE_SYSROOT_DIR/usr/bin/pseudo" +PSEUDO="$POKY_NATIVE_SYSROOT/usr/bin/pseudo" diff --git a/scripts/poky-qemu-internal b/scripts/poky-qemu-internal index a9029dc63f..b529241cbf 100755 --- a/scripts/poky-qemu-internal +++ b/scripts/poky-qemu-internal @@ -71,10 +71,10 @@ done if [ "$TAP" = "" ]; then GROUPID=`id -g` echo 'Setting up tap interface under sudo' - TAP=`sudo $QEMUIFUP $GROUPID $NATIVE_SYSROOT_DIR` + TAP=`sudo $QEMUIFUP $GROUPID $POKY_NATIVE_SYSROOT` if [ $? -ne 0 ]; then # Re-run standalone to see verbose errors - sudo $QEMUIFUP $GROUPID $NATIVE_SYSROOT_DIR + sudo $QEMUIFUP $GROUPID $POKY_NATIVE_SYSROOT return fi LOCKFILE="" diff --git a/scripts/runqemu-nfs b/scripts/runqemu-nfs index 79b41ca79a..19943a7648 100755 --- a/scripts/runqemu-nfs +++ b/scripts/runqemu-nfs @@ -93,7 +93,7 @@ fi MACHINE=$QEMUARCH TYPE="nfs" HDIMAGE=$SDK_ROOTFS_DIR -CROSSPATH=$NATIVE_SYSROOT_DIR/usr/bin +CROSSPATH=$POKY_NATIVE_SYSROOT/usr/bin . $QEMU_INTERNAL_SCRIPT # Cleanup -- cgit v1.2.3