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 /bitbake | |
parent | 8044fc3347d799960951ea562391de27fa1b1384 (diff) | |
download | poky-58396a5d24c62710fd0a9f3780d84ac8a95d8e7c.tar.gz |
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>
Diffstat (limited to 'bitbake')
-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): | |||
1358 | sq_hashfn = [] | 1358 | sq_hashfn = [] |
1359 | sq_fn = [] | 1359 | sq_fn = [] |
1360 | sq_task = [] | 1360 | sq_task = [] |
1361 | noexec = [] | ||
1361 | for task in range(len(self.sq_revdeps)): | 1362 | for task in range(len(self.sq_revdeps)): |
1362 | realtask = self.rqdata.runq_setscene[task] | 1363 | realtask = self.rqdata.runq_setscene[task] |
1363 | fn = self.rqdata.taskData.fn_index[self.rqdata.runq_fnid[realtask]] | 1364 | fn = self.rqdata.taskData.fn_index[self.rqdata.runq_fnid[realtask]] |
1365 | taskname = self.rqdata.runq_task[realtask] | ||
1366 | taskdep = self.rqdata.dataCache.task_deps[fn] | ||
1367 | if 'noexec' in taskdep and taskname in taskdep['noexec']: | ||
1368 | noexec.append(task) | ||
1369 | self.task_skip(task) | ||
1370 | continue | ||
1364 | sq_fn.append(fn) | 1371 | sq_fn.append(fn) |
1365 | sq_hashfn.append(self.rqdata.dataCache.hashfn[fn]) | 1372 | sq_hashfn.append(self.rqdata.dataCache.hashfn[fn]) |
1366 | sq_hash.append(self.rqdata.runq_hash[realtask]) | 1373 | sq_hash.append(self.rqdata.runq_hash[realtask]) |
1367 | sq_task.append(self.rqdata.runq_task[realtask]) | 1374 | sq_task.append(taskname) |
1368 | 1375 | ||
1369 | call = self.rq.hashvalidate + "(sq_fn, sq_task, sq_hash, sq_hashfn, d)" | 1376 | call = self.rq.hashvalidate + "(sq_fn, sq_task, sq_hash, sq_hashfn, d)" |
1370 | locs = { "sq_fn" : sq_fn, "sq_task" : sq_task, "sq_hash" : sq_hash, "sq_hashfn" : sq_hashfn, "d" : self.cooker.configuration.data } | 1377 | locs = { "sq_fn" : sq_fn, "sq_task" : sq_task, "sq_hash" : sq_hash, "sq_hashfn" : sq_hashfn, "d" : self.cooker.configuration.data } |
1371 | valid = bb.utils.better_eval(call, locs) | 1378 | valid = bb.utils.better_eval(call, locs) |
1372 | for task in range(len(self.sq_revdeps)): | 1379 | for task in range(len(self.sq_revdeps)): |
1373 | if task not in valid: | 1380 | if task not in valid and task not in noexec: |
1374 | bb.msg.debug(2, bb.msg.domain.RunQueue, "No package found so skipping setscene task %s" % (self.rqdata.get_user_idstring(task))) | 1381 | bb.msg.debug(2, bb.msg.domain.RunQueue, "No package found so skipping setscene task %s" % (self.rqdata.get_user_idstring(task))) |
1375 | self.task_failoutright(task) | 1382 | self.task_failoutright(task) |
1376 | 1383 | ||