From 376aa786cde14a8d7a29a4a569f19a0f211e5d52 Mon Sep 17 00:00:00 2001 From: Richard Purdie Date: Sat, 6 Jul 2019 14:16:12 +0100 Subject: bitbake: runqueue: Add covered_tasks (or 'collated_deps') to scenequeue data Its useful to have a list of all the tasks a given setscene task covers and we can easily generate this data whilst doing other data processing. This is used in later changes to runqueue rather than trying to compute it on the fly which is difficult. (Bitbake rev: 63ddc2fec40bd1b456702b97091f9dc5ef70a941) Signed-off-by: Richard Purdie --- bitbake/lib/bb/runqueue.py | 6 ++++++ 1 file changed, 6 insertions(+) (limited to 'bitbake/lib') diff --git a/bitbake/lib/bb/runqueue.py b/bitbake/lib/bb/runqueue.py index 3cf8aed06f..c06e4199d9 100644 --- a/bitbake/lib/bb/runqueue.py +++ b/bitbake/lib/bb/runqueue.py @@ -2291,6 +2291,7 @@ def build_scenequeue_data(sqdata, rqdata, rq, cooker, stampcache, sqrq): sq_revdeps = {} sq_revdeps_new = {} sq_revdeps_squash = {} + sq_collated_deps = {} # We need to construct a dependency graph for the setscene functions. Intermediate # dependencies between the setscene tasks only complicate the code. This code @@ -2312,6 +2313,7 @@ def build_scenequeue_data(sqdata, rqdata, rq, cooker, stampcache, sqrq): # Secondly process the chains between setscene tasks. for tid in rqdata.runq_setscene_tids: + sq_collated_deps[tid] = set() #bb.warn("Added endpoint 2 %s" % (tid)) for dep in rqdata.runtaskentries[tid].depends: if tid in sq_revdeps[dep]: @@ -2331,6 +2333,9 @@ def build_scenequeue_data(sqdata, rqdata, rq, cooker, stampcache, sqrq): tasks |= task if sq_revdeps_new[point]: tasks |= sq_revdeps_new[point] + if point not in rqdata.runq_setscene_tids: + for t in tasks: + sq_collated_deps[t].add(point) sq_revdeps_new[point] = set() if point in rqdata.runq_setscene_tids: sq_revdeps_new[point] = tasks @@ -2442,6 +2447,7 @@ def build_scenequeue_data(sqdata, rqdata, rq, cooker, stampcache, sqrq): sqdata.sq_revdeps = sq_revdeps_squash sqdata.sq_revdeps2 = copy.deepcopy(sqdata.sq_revdeps) + sqdata.sq_covered_tasks = sq_collated_deps for tid in sqdata.sq_revdeps: sqdata.sq_deps[tid] = set() -- cgit v1.2.3-54-g00ecf