diff options
-rw-r--r-- | ChangeLog | 1 | ||||
-rw-r--r-- | lib/bb/runqueue.py | 8 | ||||
-rw-r--r-- | lib/bb/taskdata.py | 10 |
3 files changed, 17 insertions, 2 deletions
@@ -132,6 +132,7 @@ Changes in Bitbake 1.9.x: - No longer weight providers on the basis of a package being "already staged". This leads to builds being non-deterministic. - Flush stdout/stderr before forking to fix duplicate console output + - Make sure recrdeps tasks include all inter-task dependencies of a given fn Changes in Bitbake 1.8.0: - Release 1.7.x as a stable series diff --git a/lib/bb/runqueue.py b/lib/bb/runqueue.py index d7033a3ef..58f067942 100644 --- a/lib/bb/runqueue.py +++ b/lib/bb/runqueue.py @@ -417,8 +417,12 @@ class RunQueue: return [] if task in recursive_tdepends: return recursive_tdepends[task] - rectdepends = [task] - nextdeps = [task] + + fnid = taskData.tasks_fnid[task] + taskids = taskData.gettask_ids(fnid) + + rectdepends = taskids + nextdeps = taskids while len(nextdeps) != 0: newdeps = [] for nextdep in nextdeps: diff --git a/lib/bb/taskdata.py b/lib/bb/taskdata.py index 0fb34ad74..566614ee6 100644 --- a/lib/bb/taskdata.py +++ b/lib/bb/taskdata.py @@ -91,6 +91,16 @@ class TaskData: return self.fn_index.index(name) + def gettask_ids(self, fnid): + """ + Return an array of the ID numbers matching a given fnid. + """ + ids = [] + if fnid in self.tasks_lookup: + for task in self.tasks_lookup[fnid]: + ids.append(self.tasks_lookup[fnid][task]) + return ids + def gettask_id(self, fn, task, create = True): """ Return an ID number for the task matching fn and task. |