diff options
Diffstat (limited to 'bitbake/lib/bb/runqueue.py')
-rw-r--r-- | bitbake/lib/bb/runqueue.py | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/bitbake/lib/bb/runqueue.py b/bitbake/lib/bb/runqueue.py index 10c5c2e667..ef14347e15 100644 --- a/bitbake/lib/bb/runqueue.py +++ b/bitbake/lib/bb/runqueue.py | |||
@@ -1886,6 +1886,7 @@ class RunQueueExecuteScenequeue(RunQueueExecute): | |||
1886 | sq_revdeps_new = {} | 1886 | sq_revdeps_new = {} |
1887 | sq_revdeps_squash = {} | 1887 | sq_revdeps_squash = {} |
1888 | self.sq_harddeps = {} | 1888 | self.sq_harddeps = {} |
1889 | self.stamps = {} | ||
1889 | 1890 | ||
1890 | # We need to construct a dependency graph for the setscene functions. Intermediate | 1891 | # We need to construct a dependency graph for the setscene functions. Intermediate |
1891 | # dependencies between the setscene tasks only complicate the code. This code | 1892 | # dependencies between the setscene tasks only complicate the code. This code |
@@ -1999,6 +2000,7 @@ class RunQueueExecuteScenequeue(RunQueueExecute): | |||
1999 | (mc, fn, taskname, taskfn) = split_tid_mcfn(tid) | 2000 | (mc, fn, taskname, taskfn) = split_tid_mcfn(tid) |
2000 | realtid = tid + "_setscene" | 2001 | realtid = tid + "_setscene" |
2001 | idepends = self.rqdata.taskData[mc].taskentries[realtid].idepends | 2002 | idepends = self.rqdata.taskData[mc].taskentries[realtid].idepends |
2003 | self.stamps[tid] = bb.build.stampfile(taskname + "_setscene", self.rqdata.dataCaches[mc], taskfn, noextra=True) | ||
2002 | for (depname, idependtask) in idepends: | 2004 | for (depname, idependtask) in idepends: |
2003 | 2005 | ||
2004 | if depname not in self.rqdata.taskData[mc].build_targets: | 2006 | if depname not in self.rqdata.taskData[mc].build_targets: |
@@ -2175,7 +2177,7 @@ class RunQueueExecuteScenequeue(RunQueueExecute): | |||
2175 | if self.stats.active < self.number_tasks: | 2177 | if self.stats.active < self.number_tasks: |
2176 | # Find the next setscene to run | 2178 | # Find the next setscene to run |
2177 | for nexttask in self.rqdata.runq_setscene_tids: | 2179 | for nexttask in self.rqdata.runq_setscene_tids: |
2178 | if nexttask in self.runq_buildable and nexttask not in self.runq_running: | 2180 | if nexttask in self.runq_buildable and nexttask not in self.runq_running and self.stamps[nexttask] not in self.build_stamps.values(): |
2179 | if nexttask in self.unskippable: | 2181 | if nexttask in self.unskippable: |
2180 | logger.debug(2, "Setscene task %s is unskippable" % nexttask) | 2182 | logger.debug(2, "Setscene task %s is unskippable" % nexttask) |
2181 | if nexttask not in self.unskippable and len(self.sq_revdeps[nexttask]) > 0 and self.sq_revdeps[nexttask].issubset(self.scenequeue_covered) and self.check_dependencies(nexttask, self.sq_revdeps[nexttask], True): | 2183 | if nexttask not in self.unskippable and len(self.sq_revdeps[nexttask]) > 0 and self.sq_revdeps[nexttask].issubset(self.scenequeue_covered) and self.check_dependencies(nexttask, self.sq_revdeps[nexttask], True): |
@@ -2227,6 +2229,8 @@ class RunQueueExecuteScenequeue(RunQueueExecute): | |||
2227 | self.rq.worker[mc].process.stdin.write(b"<runtask>" + pickle.dumps((taskfn, task, taskname, True, self.cooker.collection.get_file_appends(taskfn), taskdepdata, False)) + b"</runtask>") | 2229 | self.rq.worker[mc].process.stdin.write(b"<runtask>" + pickle.dumps((taskfn, task, taskname, True, self.cooker.collection.get_file_appends(taskfn), taskdepdata, False)) + b"</runtask>") |
2228 | self.rq.worker[mc].process.stdin.flush() | 2230 | self.rq.worker[mc].process.stdin.flush() |
2229 | 2231 | ||
2232 | self.build_stamps[task] = bb.build.stampfile(taskname, self.rqdata.dataCaches[mc], taskfn, noextra=True) | ||
2233 | self.build_stamps2.append(self.build_stamps[task]) | ||
2230 | self.runq_running.add(task) | 2234 | self.runq_running.add(task) |
2231 | self.stats.taskActive() | 2235 | self.stats.taskActive() |
2232 | if self.stats.active < self.number_tasks: | 2236 | if self.stats.active < self.number_tasks: |