summaryrefslogtreecommitdiffstats
path: root/bitbake
diff options
context:
space:
mode:
authorRichard Purdie <rpurdie@linux.intel.com>2010-11-28 15:59:16 +0000
committerRichard Purdie <rpurdie@linux.intel.com>2010-11-28 13:54:32 -0800
commit58396a5d24c62710fd0a9f3780d84ac8a95d8e7c (patch)
tree496185ba12fc84a4f8373fcfc08bd98b80a0f0ad /bitbake
parent8044fc3347d799960951ea562391de27fa1b1384 (diff)
downloadpoky-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.py11
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