[bitbake-devel] Richard Purdie : runqueue.py: Fix missing setscene dependencies

Submitted by git@git.openembedded.org on Jan. 27, 2012, 9:48 a.m.

Details

Message ID 20120127094815.1D34510332@opal
State Not Applicable
Headers show

Commit Message

git@git.openembedded.org Jan. 27, 2012, 9:48 a.m.
Module: bitbake.git
Branch: master
Commit: b9b5b5129d066e1ff7d3effda116afc3c6657beb
URL:    http://git.openembedded.org/?p=bitbake.git&a=commit;h=b9b5b5129d066e1ff7d3effda116afc3c6657beb

Author: Richard Purdie <richard.purdie@linuxfoundation.org>
Date:   Thu Jan 26 12:53:21 2012 +0000

runqueue.py: Fix missing setscene dependencies

When constructing the setscene inter-dependencies, we need to account for all task,
not just the last one found. This patch corrects this oversight and ensures all
dependencies are added, not just the first one found.

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>

---

 lib/bb/runqueue.py |    8 +++++---
 1 files changed, 5 insertions(+), 3 deletions(-)

Patch hide | download patch | download mbox

diff --git a/lib/bb/runqueue.py b/lib/bb/runqueue.py
index defdd91..8256975 100644
--- a/lib/bb/runqueue.py
+++ b/lib/bb/runqueue.py
@@ -1440,18 +1440,20 @@  class RunQueueExecuteScenequeue(RunQueueExecute):
             sq_revdeps.append(copy.copy(self.rqdata.runq_revdeps[task]))
             sq_revdeps_new.append(set())
             if (len(self.rqdata.runq_revdeps[task]) == 0) and task not in self.rqdata.runq_setscene:
-                endpoints[task] = None
+                endpoints[task] = set()
 
         for task in self.rqdata.runq_setscene:
             for dep in self.rqdata.runq_depends[task]:
-                    endpoints[dep] = task
+                    if dep not in endpoints:
+                        endpoints[dep] = set()
+                    endpoints[dep].add(task)
 
         def process_endpoints(endpoints):
             newendpoints = {}
             for point, task in endpoints.items():
                 tasks = set()
                 if task:
-                    tasks.add(task)
+                    tasks |= task
                 if sq_revdeps_new[point]:
                     tasks |= sq_revdeps_new[point]
                 sq_revdeps_new[point] = set()