[poky] [PATCH 14/16] bitbake/runqueue: Teach scenequeue about noexec tasks (since they don't do anything we can assume they're always successful
Richard Purdie
rpurdie at linux.intel.com
Sun Nov 28 07:59:16 PST 2010
Signed-off-by: Richard Purdie <rpurdie at linux.intel.com>
---
bitbake/lib/bb/runqueue.py | 11 +++++++++--
1 files changed, 9 insertions(+), 2 deletions(-)
diff --git a/bitbake/lib/bb/runqueue.py b/bitbake/lib/bb/runqueue.py
index d5c9565..3300db7 100644
--- a/bitbake/lib/bb/runqueue.py
+++ b/bitbake/lib/bb/runqueue.py
@@ -1358,19 +1358,26 @@ class RunQueueExecuteScenequeue(RunQueueExecute):
sq_hashfn = []
sq_fn = []
sq_task = []
+ noexec = []
for task in range(len(self.sq_revdeps)):
realtask = self.rqdata.runq_setscene[task]
fn = self.rqdata.taskData.fn_index[self.rqdata.runq_fnid[realtask]]
+ taskname = self.rqdata.runq_task[realtask]
+ taskdep = self.rqdata.dataCache.task_deps[fn]
+ if 'noexec' in taskdep and taskname in taskdep['noexec']:
+ noexec.append(task)
+ self.task_skip(task)
+ continue
sq_fn.append(fn)
sq_hashfn.append(self.rqdata.dataCache.hashfn[fn])
sq_hash.append(self.rqdata.runq_hash[realtask])
- sq_task.append(self.rqdata.runq_task[realtask])
+ sq_task.append(taskname)
call = self.rq.hashvalidate + "(sq_fn, sq_task, sq_hash, sq_hashfn, d)"
locs = { "sq_fn" : sq_fn, "sq_task" : sq_task, "sq_hash" : sq_hash, "sq_hashfn" : sq_hashfn, "d" : self.cooker.configuration.data }
valid = bb.utils.better_eval(call, locs)
for task in range(len(self.sq_revdeps)):
- if task not in valid:
+ if task not in valid and task not in noexec:
bb.msg.debug(2, bb.msg.domain.RunQueue, "No package found so skipping setscene task %s" % (self.rqdata.get_user_idstring(task)))
self.task_failoutright(task)
--
1.7.0.4
More information about the poky
mailing list