diff options
-rw-r--r-- | bitbake/lib/bb/runqueue.py | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/bitbake/lib/bb/runqueue.py b/bitbake/lib/bb/runqueue.py index ebc70ee61c..2f204aea97 100644 --- a/bitbake/lib/bb/runqueue.py +++ b/bitbake/lib/bb/runqueue.py @@ -464,10 +464,9 @@ class RunQueue: fnid = self.runq_fnid[task] if fnid not in reccumdepends: reccumdepends[fnid] = set() - if task in self.runq_depends: - reccumdepends[fnid].update(self.runq_depends[task]) - if fnid in tdepends_fnid: - reccumdepends[fnid].update(tdepends_fnid[fnid]) + if fnid in tdepends_fnid: + reccumdepends[fnid].update(tdepends_fnid[fnid]) + reccumdepends[fnid].update(self.runq_depends[task]) for task in range(len(self.runq_fnid)): taskfnid = self.runq_fnid[task] for fnid in reccumdepends: @@ -485,6 +484,9 @@ class RunQueue: if len(runq_recrdepends[task]) > 0: taskfnid = self.runq_fnid[task] for dep in reccumdepends[taskfnid]: + # Ignore self references + if dep == task: + continue for taskname in runq_recrdepends[task]: if taskData.tasks_name[dep] == taskname: self.runq_depends[task].add(dep) |