summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRichard Purdie <richard.purdie@linuxfoundation.org>2011-12-01 11:58:41 +0000
committerRichard Purdie <richard.purdie@linuxfoundation.org>2011-12-01 12:06:27 +0000
commitaab6939cb1284c5ba291122e7b6fe881f4cdf098 (patch)
tree3bca35749ce355405655080c822d6003ff2b7d67
parent4c763002dd000acd28e770ebf74cd0ee1b6fdb08 (diff)
downloadpoky-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>
-rw-r--r--bitbake/lib/bb/build.py3
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'):