| Submitter | Paul Eggleton |
|---|---|
| Date | March 27, 2012, 11:50 a.m. |
| Message ID | <4a226262b48b8f0c56019183604b70c0f565d5f2.1332848153.git.paul.eggleton@linux.intel.com> |
| Download | mbox | patch |
| Permalink | /patch/24641/ |
| State | New |
| Headers | show |
Comments
On 27.03.2012 13:50, Paul Eggleton wrote: > If pseudodone doesn't exist, we can get STAGING_BINDIR_NATIVE by calling > bitbake -e and use that as the path to check for pseudo before we give > up and try to build it explicitly first. > > This is useful for people who share TMPDIR between multiple build > directories. > > Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> This adds a 3s delay over the previous setup on my build system, which I deem acceptable. See one minor suggestion inline. Acked-by: Andreas Oberritter <obi@opendreambox.org> > --- > scripts/bitbake | 12 +++++++++--- > 1 files changed, 9 insertions(+), 3 deletions(-) > > diff --git a/scripts/bitbake b/scripts/bitbake > index 45c8697..1ba1839 100755 > --- a/scripts/bitbake > +++ b/scripts/bitbake > @@ -53,14 +53,21 @@ if [ "`pwd`" != "$BUILDDIR" ] ; then > fi > > buildpseudo="1" > -if [ $needpseudo = "1" ] && [ -e "$BUILDDIR/pseudodone" ]; then > - PSEUDOBINDIR=`cat $BUILDDIR/pseudodone` > +if [ $needpseudo = "1" ]; then > + if [ -e "$BUILDDIR/pseudodone" ]; then > + PSEUDOBINDIR=`cat $BUILDDIR/pseudodone` > + else > + PSEUDOBINDIR=`bitbake -e | grep STAGING_BINDIR_NATIVE=\" | cut -d '=' -f2 | cut -d '"' -f2` I think using sed might improve readability: bitbake -e | grep ^STAGING_BINDIR_NATIVE= | sed -e 's,^STAGING_BINDIR_NATIVE="\(.*\)"$,\1,' This may be a subjective impression, though. > + fi > if [ -e "$PSEUDOBINDIR/pseudo" -a -e "$PSEUDOBINDIR/tar" -a "$needtar" = "1" ]; then > buildpseudo="0" > fi > if [ -e "$PSEUDOBINDIR/pseudo" -a $needtar = "0" ]; then > buildpseudo="0" > fi > + if [ $buildpseudo = "0" -a ! -e "$BUILDDIR/pseudodone" ] ; then > + echo $PSEUDOBINDIR > $BUILDDIR/pseudodone > + fi > fi > if [ $needpseudo = "0" ]; then > buildpseudo="0" > @@ -104,7 +111,6 @@ BITBAKE=`which bitbake` > export PATH=$OLDPATH > if [ $needpseudo = "1" ]; then > export PSEUDO_BUILD=2 > - PSEUDOBINDIR=`cat $BUILDDIR/pseudodone` > PSEUDO_BINDIR=$PSEUDOBINDIR PSEUDO_LIBDIR=$PSEUDOBINDIR/../lib/pseudo/lib PSEUDO_PREFIX=$PSEUDOBINDIR/../../ PSEUDO_DISABLED=1 $PSEUDOBINDIR/pseudo $BITBAKE $@ > else > export PSEUDO_BUILD=0
On Tuesday 27 March 2012 15:08:28 Andreas Oberritter wrote: > On 27.03.2012 13:50, Paul Eggleton wrote: > > + PSEUDOBINDIR=`bitbake -e | grep STAGING_BINDIR_NATIVE=\" | cut -d > > '=' -f2 | cut -d '"' -f2` > I think using sed might improve readability: > > bitbake -e | grep ^STAGING_BINDIR_NATIVE= | sed -e > 's,^STAGING_BINDIR_NATIVE="\(.*\)"$,\1,' > > This may be a subjective impression, though. I just copied this from further down in the script. Personally I find the original more readable although the sed version spawns less processes. Cheers, Paul
Patch
diff --git a/scripts/bitbake b/scripts/bitbake index 45c8697..1ba1839 100755 --- a/scripts/bitbake +++ b/scripts/bitbake @@ -53,14 +53,21 @@ if [ "`pwd`" != "$BUILDDIR" ] ; then fi buildpseudo="1" -if [ $needpseudo = "1" ] && [ -e "$BUILDDIR/pseudodone" ]; then - PSEUDOBINDIR=`cat $BUILDDIR/pseudodone` +if [ $needpseudo = "1" ]; then + if [ -e "$BUILDDIR/pseudodone" ]; then + PSEUDOBINDIR=`cat $BUILDDIR/pseudodone` + else + PSEUDOBINDIR=`bitbake -e | grep STAGING_BINDIR_NATIVE=\" | cut -d '=' -f2 | cut -d '"' -f2` + fi if [ -e "$PSEUDOBINDIR/pseudo" -a -e "$PSEUDOBINDIR/tar" -a "$needtar" = "1" ]; then buildpseudo="0" fi if [ -e "$PSEUDOBINDIR/pseudo" -a $needtar = "0" ]; then buildpseudo="0" fi + if [ $buildpseudo = "0" -a ! -e "$BUILDDIR/pseudodone" ] ; then + echo $PSEUDOBINDIR > $BUILDDIR/pseudodone + fi fi if [ $needpseudo = "0" ]; then buildpseudo="0" @@ -104,7 +111,6 @@ BITBAKE=`which bitbake` export PATH=$OLDPATH if [ $needpseudo = "1" ]; then export PSEUDO_BUILD=2 - PSEUDOBINDIR=`cat $BUILDDIR/pseudodone` PSEUDO_BINDIR=$PSEUDOBINDIR PSEUDO_LIBDIR=$PSEUDOBINDIR/../lib/pseudo/lib PSEUDO_PREFIX=$PSEUDOBINDIR/../../ PSEUDO_DISABLED=1 $PSEUDOBINDIR/pseudo $BITBAKE $@ else export PSEUDO_BUILD=0
If pseudodone doesn't exist, we can get STAGING_BINDIR_NATIVE by calling bitbake -e and use that as the path to check for pseudo before we give up and try to build it explicitly first. This is useful for people who share TMPDIR between multiple build directories. Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> --- scripts/bitbake | 12 +++++++++--- 1 files changed, 9 insertions(+), 3 deletions(-)