From 58396a5d24c62710fd0a9f3780d84ac8a95d8e7c Mon Sep 17 00:00:00 2001 From: Richard Purdie Date: Sun, 28 Nov 2010 15:59:16 +0000 Subject: bitbake/runqueue: Teach scenequeue about noexec tasks (since they don't do anything we can assume they're always successful Signed-off-by: Richard Purdie --- bitbake/lib/bb/runqueue.py | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) (limited to 'bitbake') diff --git a/bitbake/lib/bb/runqueue.py b/bitbake/lib/bb/runqueue.py index d5c95659e9..3300db75cb 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) -- cgit v1.2.3