diff options
author | Richard Purdie <richard.purdie@linuxfoundation.org> | 2011-12-01 11:58:41 +0000 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2011-12-01 12:06:27 +0000 |
commit | aab6939cb1284c5ba291122e7b6fe881f4cdf098 (patch) | |
tree | 3bca35749ce355405655080c822d6003ff2b7d67 /bitbake/lib/bb/build.py | |
parent | 4c763002dd000acd28e770ebf74cd0ee1b6fdb08 (diff) | |
download | poky-aab6939cb1284c5ba291122e7b6fe881f4cdf098.tar.gz |
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.
(Bitbake rev: ef0888f83fa4408eb768257d7e03700202faad18)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'bitbake/lib/bb/build.py')
-rw-r--r-- | bitbake/lib/bb/build.py | 3 |
1 files changed, 1 insertions, 2 deletions
diff --git a/bitbake/lib/bb/build.py b/bitbake/lib/bb/build.py index fab2f62a5f..aabc1b6e1d 100644 --- a/bitbake/lib/bb/build.py +++ b/bitbake/lib/bb/build.py | |||
@@ -149,8 +149,7 @@ def exec_func(func, d, dirs = None): | |||
149 | adir = dirs[-1] | 149 | adir = dirs[-1] |
150 | else: | 150 | else: |
151 | adir = data.getVar('B', d, 1) | 151 | adir = data.getVar('B', d, 1) |
152 | if not os.path.exists(adir): | 152 | bb.utils.mkdirhier(adir) |
153 | adir = None | ||
154 | 153 | ||
155 | ispython = flags.get('python') | 154 | ispython = flags.get('python') |
156 | if flags.get('fakeroot') and not flags.get('task'): | 155 | if flags.get('fakeroot') and not flags.get('task'): |