diff options
author | Richard Purdie <rpurdie@linux.intel.com> | 2010-11-28 15:59:16 +0000 |
---|---|---|
committer | Richard Purdie <rpurdie@linux.intel.com> | 2010-11-28 13:54:32 -0800 |
commit | 58396a5d24c62710fd0a9f3780d84ac8a95d8e7c (patch) | |
tree | 496185ba12fc84a4f8373fcfc08bd98b80a0f0ad | |
parent | 8044fc3347d799960951ea562391de27fa1b1384 (diff) | |
download | openembedded-core-58396a5d24c62710fd0a9f3780d84ac8a95d8e7c.tar.gz openembedded-core-58396a5d24c62710fd0a9f3780d84ac8a95d8e7c.tar.bz2 openembedded-core-58396a5d24c62710fd0a9f3780d84ac8a95d8e7c.zip |
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 <rpurdie@linux.intel.com>
-rw-r--r-- | 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 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) |