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

login
register
mail settings
Submitter git@git.openembedded.org
Date Jan. 27, 2012, 9:48 a.m.
Message ID <20120127094815.1D34510332@opal>
Download mbox | patch
Permalink /patch/20229/
State Not Applicable
Headers show

Comments

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

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()