summaryrefslogtreecommitdiffstats
path: root/bitbake/lib
diff options
context:
space:
mode:
authorRichard Purdie <richard.purdie@linuxfoundation.org>2016-01-18 18:05:21 +0000
committerRichard Purdie <richard.purdie@linuxfoundation.org>2016-01-19 17:26:15 +0000
commitf0d47a6d9ae773f2c4975679e4dc8cd5ee2700fb (patch)
treeba5e2f2d61c79798914b34ef8687451293696176 /bitbake/lib
parent9e867efdc87ced0e2743a3c134f30d2637795654 (diff)
downloadpoky-f0d47a6d9ae773f2c4975679e4dc8cd5ee2700fb.tar.gz
bitbake: Revert "runqueue.py: Ensure one setscene function doesn't mask out another which needs to run"
This reverts commit b22592af8145a8c7c4ada2fa7c1dee2e753eca46. That commit isn't entirely clear about why this change is needed but I do have a usecase where this breaks things. If for example you run "bitbake X -c packagedata" and that packagedata is in sstate, you'd expect this to work. If sstate doesn't contain a do_populate_sysroot for a dependency, you would still expect the command above to succeed and you would not expect it to rebuild that dependency. With the current code, this isn't what happens. The code finds the sstate for do_populate_sysroot missing, this makes the task "uncovered" and this in turn makes it unskippable. The example I found with this was avahi-ui, where it would trigger a build of libdaemon to obtain its populate_sysroot. Since this behaviour seems completely incorrect, revert the older patch and we'll address any issues that crop up as a result. (Bitbake rev: 36a9840a5da17cc14561881fdd6a4f2cb0a75e49) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'bitbake/lib')
-rw-r--r--bitbake/lib/bb/runqueue.py7
1 files changed, 2 insertions, 5 deletions
diff --git a/bitbake/lib/bb/runqueue.py b/bitbake/lib/bb/runqueue.py
index 44f270be52..f840ad2154 100644
--- a/bitbake/lib/bb/runqueue.py
+++ b/bitbake/lib/bb/runqueue.py
@@ -1401,7 +1401,7 @@ class RunQueueExecuteTasks(RunQueueExecute):
1401 self.runq_buildable.append(1) 1401 self.runq_buildable.append(1)
1402 else: 1402 else:
1403 self.runq_buildable.append(0) 1403 self.runq_buildable.append(0)
1404 if len(self.rqdata.runq_revdeps[task]) > 0 and self.rqdata.runq_revdeps[task].issubset(self.rq.scenequeue_covered) and task not in self.rq.scenequeue_notcovered: 1404 if len(self.rqdata.runq_revdeps[task]) > 0 and self.rqdata.runq_revdeps[task].issubset(self.rq.scenequeue_covered):
1405 self.rq.scenequeue_covered.add(task) 1405 self.rq.scenequeue_covered.add(task)
1406 1406
1407 found = True 1407 found = True
@@ -1412,7 +1412,7 @@ class RunQueueExecuteTasks(RunQueueExecute):
1412 continue 1412 continue
1413 logger.debug(1, 'Considering %s (%s): %s' % (task, self.rqdata.get_user_idstring(task), str(self.rqdata.runq_revdeps[task]))) 1413 logger.debug(1, 'Considering %s (%s): %s' % (task, self.rqdata.get_user_idstring(task), str(self.rqdata.runq_revdeps[task])))
1414 1414
1415 if len(self.rqdata.runq_revdeps[task]) > 0 and self.rqdata.runq_revdeps[task].issubset(self.rq.scenequeue_covered) and task not in self.rq.scenequeue_notcovered: 1415 if len(self.rqdata.runq_revdeps[task]) > 0 and self.rqdata.runq_revdeps[task].issubset(self.rq.scenequeue_covered):
1416 found = True 1416 found = True
1417 self.rq.scenequeue_covered.add(task) 1417 self.rq.scenequeue_covered.add(task)
1418 1418
@@ -2028,9 +2028,6 @@ class RunQueueExecuteScenequeue(RunQueueExecute):
2028 self.rq.scenequeue_covered = set() 2028 self.rq.scenequeue_covered = set()
2029 for task in oldcovered: 2029 for task in oldcovered:
2030 self.rq.scenequeue_covered.add(self.rqdata.runq_setscene[task]) 2030 self.rq.scenequeue_covered.add(self.rqdata.runq_setscene[task])
2031 self.rq.scenequeue_notcovered = set()
2032 for task in self.scenequeue_notcovered:
2033 self.rq.scenequeue_notcovered.add(self.rqdata.runq_setscene[task])
2034 2031
2035 logger.debug(1, 'We can skip tasks %s', sorted(self.rq.scenequeue_covered)) 2032 logger.debug(1, 'We can skip tasks %s', sorted(self.rq.scenequeue_covered))
2036 2033