summaryrefslogtreecommitdiffstats
path: root/bitbake/lib/bb/runqueue.py
diff options
context:
space:
mode:
Diffstat (limited to 'bitbake/lib/bb/runqueue.py')
-rw-r--r--bitbake/lib/bb/runqueue.py19
1 files changed, 10 insertions, 9 deletions
diff --git a/bitbake/lib/bb/runqueue.py b/bitbake/lib/bb/runqueue.py
index 74a97d6740..78e09945a0 100644
--- a/bitbake/lib/bb/runqueue.py
+++ b/bitbake/lib/bb/runqueue.py
@@ -2289,7 +2289,6 @@ class SQData(object):
2289def build_scenequeue_data(sqdata, rqdata, rq, cooker, stampcache, sqrq): 2289def build_scenequeue_data(sqdata, rqdata, rq, cooker, stampcache, sqrq):
2290 2290
2291 sq_revdeps = {} 2291 sq_revdeps = {}
2292 sq_revdeps_new = {}
2293 sq_revdeps_squash = {} 2292 sq_revdeps_squash = {}
2294 sq_collated_deps = {} 2293 sq_collated_deps = {}
2295 2294
@@ -2304,7 +2303,7 @@ def build_scenequeue_data(sqdata, rqdata, rq, cooker, stampcache, sqrq):
2304 endpoints = {} 2303 endpoints = {}
2305 for tid in rqdata.runtaskentries: 2304 for tid in rqdata.runtaskentries:
2306 sq_revdeps[tid] = copy.copy(rqdata.runtaskentries[tid].revdeps) 2305 sq_revdeps[tid] = copy.copy(rqdata.runtaskentries[tid].revdeps)
2307 sq_revdeps_new[tid] = set() 2306 sq_revdeps_squash[tid] = set()
2308 if (len(sq_revdeps[tid]) == 0) and tid not in rqdata.runq_setscene_tids: 2307 if (len(sq_revdeps[tid]) == 0) and tid not in rqdata.runq_setscene_tids:
2309 #bb.warn("Added endpoint %s" % (tid)) 2308 #bb.warn("Added endpoint %s" % (tid))
2310 endpoints[tid] = set() 2309 endpoints[tid] = set()
@@ -2331,21 +2330,21 @@ def build_scenequeue_data(sqdata, rqdata, rq, cooker, stampcache, sqrq):
2331 tasks = set() 2330 tasks = set()
2332 if task: 2331 if task:
2333 tasks |= task 2332 tasks |= task
2334 if sq_revdeps_new[point]: 2333 if sq_revdeps_squash[point]:
2335 tasks |= sq_revdeps_new[point] 2334 tasks |= sq_revdeps_squash[point]
2336 if point not in rqdata.runq_setscene_tids: 2335 if point not in rqdata.runq_setscene_tids:
2337 for t in tasks: 2336 for t in tasks:
2338 sq_collated_deps[t].add(point) 2337 sq_collated_deps[t].add(point)
2339 sq_revdeps_new[point] = set() 2338 sq_revdeps_squash[point] = set()
2340 if point in rqdata.runq_setscene_tids: 2339 if point in rqdata.runq_setscene_tids:
2341 sq_revdeps_new[point] = tasks 2340 sq_revdeps_squash[point] = tasks
2342 tasks = set() 2341 tasks = set()
2343 continue 2342 continue
2344 for dep in rqdata.runtaskentries[point].depends: 2343 for dep in rqdata.runtaskentries[point].depends:
2345 if point in sq_revdeps[dep]: 2344 if point in sq_revdeps[dep]:
2346 sq_revdeps[dep].remove(point) 2345 sq_revdeps[dep].remove(point)
2347 if tasks: 2346 if tasks:
2348 sq_revdeps_new[dep] |= tasks 2347 sq_revdeps_squash[dep] |= tasks
2349 if len(sq_revdeps[dep]) == 0 and dep not in rqdata.runq_setscene_tids: 2348 if len(sq_revdeps[dep]) == 0 and dep not in rqdata.runq_setscene_tids:
2350 newendpoints[dep] = task 2349 newendpoints[dep] = task
2351 if len(newendpoints) != 0: 2350 if len(newendpoints) != 0:
@@ -2376,9 +2375,11 @@ def build_scenequeue_data(sqdata, rqdata, rq, cooker, stampcache, sqrq):
2376 # Sanity check all dependencies could be changed to setscene task references 2375 # Sanity check all dependencies could be changed to setscene task references
2377 for taskcounter, tid in enumerate(rqdata.runtaskentries): 2376 for taskcounter, tid in enumerate(rqdata.runtaskentries):
2378 if tid in rqdata.runq_setscene_tids: 2377 if tid in rqdata.runq_setscene_tids:
2379 sq_revdeps_squash[tid] = set(sq_revdeps_new[tid]) 2378 pass
2380 elif len(sq_revdeps_new[tid]) != 0: 2379 elif len(sq_revdeps_squash[tid]) != 0:
2381 bb.msg.fatal("RunQueue", "Something went badly wrong during scenequeue generation, aborting. Please report this problem.") 2380 bb.msg.fatal("RunQueue", "Something went badly wrong during scenequeue generation, aborting. Please report this problem.")
2381 else:
2382 del sq_revdeps_squash[tid]
2382 rqdata.init_progress_reporter.update(taskcounter) 2383 rqdata.init_progress_reporter.update(taskcounter)
2383 2384
2384 rqdata.init_progress_reporter.next_stage() 2385 rqdata.init_progress_reporter.next_stage()