Patchwork [2/3] scripts/bitbake: allow switching between build directories

login
register
mail settings
Submitter Paul Eggleton
Date March 27, 2012, 11:50 a.m.
Message ID <0b6dadd78b527731df18b8fa308d714b6d3ef956.1332848153.git.paul.eggleton@linux.intel.com>
Download mbox | patch
Permalink /patch/24639/
State Accepted
Commit 769384decb095fb3c49eb13b8f7f69c978d0bcba
Headers show

Comments

Paul Eggleton - March 27, 2012, 11:50 a.m.
The recent addition of the check to ensure the user was in their build
directory disabled the ability to switch between build directories
without re-running the build environment setup script. We can rely
upon checking for conf/bblayers.conf instead, so use this check.

This does allow BUILDDIR (which is normally set by the environment
script) to be unset; however if it is set then it is assumed to be the
correct build directory and will be used in the error message that is
shown when we can't find conf/bblayers.conf.

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
---
 scripts/bitbake |   15 ++++++++++-----
 1 files changed, 10 insertions(+), 5 deletions(-)
Andreas Oberritter - March 27, 2012, 1:09 p.m.
On 27.03.2012 13:50, Paul Eggleton wrote:
> The recent addition of the check to ensure the user was in their build
> directory disabled the ability to switch between build directories
> without re-running the build environment setup script. We can rely
> upon checking for conf/bblayers.conf instead, so use this check.
> 
> This does allow BUILDDIR (which is normally set by the environment
> script) to be unset; however if it is set then it is assumed to be the
> correct build directory and will be used in the error message that is
> shown when we can't find conf/bblayers.conf.
> 
> Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>

Acked-by: Andreas Oberritter <obi@opendreambox.org>

> ---
>  scripts/bitbake |   15 ++++++++++-----
>  1 files changed, 10 insertions(+), 5 deletions(-)
> 
> diff --git a/scripts/bitbake b/scripts/bitbake
> index 1ba1839..f02e89b 100755
> --- a/scripts/bitbake
> +++ b/scripts/bitbake
> @@ -37,6 +37,16 @@ if [ "$py_v26_check" != "True" ]; then
>  	exit 1
>  fi
>  
> +if [ ! -e conf/bblayers.conf ] ; then
> +    BDPRINT=""
> +    [ -n "$BUILDDIR" ] && BDPRINT=": $BUILDDIR"
> +    echo "Unable to find conf/bblayers.conf"
> +    echo "BitBake must be run from within your build directory$BDPRINT"
> +    exit 1
> +elif [ -z "$BUILDDIR" ] ; then
> +    BUILDDIR="`pwd`"
> +fi
> +
>  needtar="1"
>  TARVERSION=`tar --version | head -n 1 | cut -d ' ' -f 4`
>  float_test() {
> @@ -47,11 +57,6 @@ float_test() {
>  # but earlier versions do not
>  float_test "$TARVERSION > 1.23" && needtar="0"
>  
> -if [ "`pwd`" != "$BUILDDIR" ] ; then
> -    echo "BitBake must be run from your build directory: $BUILDDIR"
> -    exit 1
> -fi
> -
>  buildpseudo="1"
>  if [ $needpseudo = "1" ]; then
>      if [ -e "$BUILDDIR/pseudodone" ]; then

Patch

diff --git a/scripts/bitbake b/scripts/bitbake
index 1ba1839..f02e89b 100755
--- a/scripts/bitbake
+++ b/scripts/bitbake
@@ -37,6 +37,16 @@  if [ "$py_v26_check" != "True" ]; then
 	exit 1
 fi
 
+if [ ! -e conf/bblayers.conf ] ; then
+    BDPRINT=""
+    [ -n "$BUILDDIR" ] && BDPRINT=": $BUILDDIR"
+    echo "Unable to find conf/bblayers.conf"
+    echo "BitBake must be run from within your build directory$BDPRINT"
+    exit 1
+elif [ -z "$BUILDDIR" ] ; then
+    BUILDDIR="`pwd`"
+fi
+
 needtar="1"
 TARVERSION=`tar --version | head -n 1 | cut -d ' ' -f 4`
 float_test() {
@@ -47,11 +57,6 @@  float_test() {
 # but earlier versions do not
 float_test "$TARVERSION > 1.23" && needtar="0"
 
-if [ "`pwd`" != "$BUILDDIR" ] ; then
-    echo "BitBake must be run from your build directory: $BUILDDIR"
-    exit 1
-fi
-
 buildpseudo="1"
 if [ $needpseudo = "1" ]; then
     if [ -e "$BUILDDIR/pseudodone" ]; then