aboutsummaryrefslogtreecommitdiffstats
path: root/lib/bb
diff options
context:
space:
mode:
Diffstat (limited to 'lib/bb')
-rw-r--r--lib/bb/build.py11
1 files changed, 8 insertions, 3 deletions
diff --git a/lib/bb/build.py b/lib/bb/build.py
index df4dfb544..fb52a1527 100644
--- a/lib/bb/build.py
+++ b/lib/bb/build.py
@@ -294,9 +294,14 @@ def exec_task(task, d):
try:
debug(1, "Executing task %s" % item)
- event.fire(TaskStarted(item, d))
- exec_func(item, d)
- event.fire(TaskSucceeded(item, d))
+ old_overrides = data.getVar('OVERRIDES', d, 0)
+ from copy import deepcopy
+ localdata = deepcopy(d)
+ data.setVar('OVERRIDES', '%s:%s' % (item, old_overrides), localdata)
+ data.update_data(localdata)
+ event.fire(TaskStarted(item, localdata))
+ exec_func(item, localdata)
+ event.fire(TaskSucceeded(item, localdata))
task_cache.append(item)
except FuncFailed, reason:
note( "Task failed: %s" % reason )