diff options
-rw-r--r-- | bitbake/lib/bb/runqueue.py | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/bitbake/lib/bb/runqueue.py b/bitbake/lib/bb/runqueue.py index 26492e7087..485d9341f5 100644 --- a/bitbake/lib/bb/runqueue.py +++ b/bitbake/lib/bb/runqueue.py | |||
@@ -2343,7 +2343,12 @@ class RunQueueExecute: | |||
2343 | self.sq_buildable.remove(tid) | 2343 | self.sq_buildable.remove(tid) |
2344 | if tid in self.sq_running: | 2344 | if tid in self.sq_running: |
2345 | self.sq_running.remove(tid) | 2345 | self.sq_running.remove(tid) |
2346 | if self.sqdata.sq_revdeps[tid].issubset(self.scenequeue_covered | self.scenequeue_notcovered): | 2346 | harddepfail = False |
2347 | for t in self.sqdata.sq_harddeps: | ||
2348 | if tid in self.sqdata.sq_harddeps[t] and t in self.scenequeue_notcovered: | ||
2349 | harddepfail = True | ||
2350 | break | ||
2351 | if not harddepfail and self.sqdata.sq_revdeps[tid].issubset(self.scenequeue_covered | self.scenequeue_notcovered): | ||
2347 | if tid not in self.sq_buildable: | 2352 | if tid not in self.sq_buildable: |
2348 | self.sq_buildable.add(tid) | 2353 | self.sq_buildable.add(tid) |
2349 | if len(self.sqdata.sq_revdeps[tid]) == 0: | 2354 | if len(self.sqdata.sq_revdeps[tid]) == 0: |
@@ -2374,6 +2379,8 @@ class RunQueueExecute: | |||
2374 | update_scenequeue_data([tid], self.sqdata, self.rqdata, self.rq, self.cooker, self.stampcache, self, summary=False) | 2379 | update_scenequeue_data([tid], self.sqdata, self.rqdata, self.rq, self.cooker, self.stampcache, self, summary=False) |
2375 | if tid in self.sqdata.valid and not origvalid: | 2380 | if tid in self.sqdata.valid and not origvalid: |
2376 | logger.info("Setscene task %s became valid" % tid) | 2381 | logger.info("Setscene task %s became valid" % tid) |
2382 | if harddepfail: | ||
2383 | self.sq_task_failoutright(tid) | ||
2377 | 2384 | ||
2378 | if changed: | 2385 | if changed: |
2379 | self.holdoff_need_update = True | 2386 | self.holdoff_need_update = True |