All of lore.kernel.org
 help / color / mirror / Atom feed
* Richard Purdie : build.py: Be determistic about a function's cwd
@ 2011-12-01 12:09 git
  0 siblings, 0 replies; only message in thread
From: git @ 2011-12-01 12:09 UTC (permalink / raw)
  To: bitbake-devel

Module: bitbake.git
Branch: master
Commit: ef0888f83fa4408eb768257d7e03700202faad18
URL:    http://git.openembedded.org/?p=bitbake.git&a=commit;h=ef0888f83fa4408eb768257d7e03700202faad18

Author: Richard Purdie <richard.purdie@linuxfoundation.org>
Date:   Thu Dec  1 11:58:41 2011 +0000

build.py: Be determistic about a function's cwd

There is a subtle but nasty problem that a function's cwd can vary
depending on whether ${B} (often ${S}) exists before the funciton is
called or not. Most functions in the system can cope with this but
its bad practise and I've just witnessed build failures resulting
from this during image generation from bootimg.bbclass. I also
suspect this could explain some odd fetcher behaviour witnessed in
the past.

This change ensures we always call funcitons with a specific build
directory making things deterministic.

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>

---

 lib/bb/build.py |    3 +--
 1 files changed, 1 insertions(+), 2 deletions(-)

diff --git a/lib/bb/build.py b/lib/bb/build.py
index 6982a0a..a9ce14f 100644
--- a/lib/bb/build.py
+++ b/lib/bb/build.py
@@ -149,8 +149,7 @@ def exec_func(func, d, dirs = None):
         adir = dirs[-1]
     else:
         adir = data.getVar('B', d, 1)
-        if not os.path.exists(adir):
-            adir = None
+        bb.utils.mkdirhier(adir)
 
     ispython = flags.get('python')
 




^ permalink raw reply related	[flat|nested] only message in thread

only message in thread, other threads:[~2011-12-01 12:12 UTC | newest]

Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2011-12-01 12:09 Richard Purdie : build.py: Be determistic about a function's cwd git

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.