summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRichard Purdie <richard.purdie@linuxfoundation.org>2016-11-14 09:51:38 +0000
committerRichard Purdie <richard.purdie@linuxfoundation.org>2016-12-08 10:32:21 +0000
commit9977576fe97c6a67dec04171e64678676cbf1c22 (patch)
tree48fcd19bde8a188f9f44a91d47a7daa760721d0a
parent9d1d35068e0ebb082747114a7f07faaf5423dfa6 (diff)
downloadpoky-9977576fe97c6a67dec04171e64678676cbf1c22.tar.gz
bitbake: cooker: Fix world taskgraph generation issue
The processing of the "do_" prefix to tasks is currently inconsistent and has resulted in "bitbake world -g" being broken as task prefixes don't get handled correctly. Make the "do_" task prefix handling consistent through various codepaths. [YOCTO #10651] (Bitbake rev: 3d7186353e804c9410096c408bc337a98c8b33fe) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
-rw-r--r--bitbake/lib/bb/cooker.py14
1 files changed, 10 insertions, 4 deletions
diff --git a/bitbake/lib/bb/cooker.py b/bitbake/lib/bb/cooker.py
index 29f7156341..aca9470607 100644
--- a/bitbake/lib/bb/cooker.py
+++ b/bitbake/lib/bb/cooker.py
@@ -657,6 +657,8 @@ class BBCooker:
657 # A task of None means use the default task 657 # A task of None means use the default task
658 if task is None: 658 if task is None:
659 task = self.configuration.cmd 659 task = self.configuration.cmd
660 if not task.startswith("do_"):
661 task = "do_%s" % task
660 662
661 fulltargetlist = self.checkPackages(pkgs_to_build, task) 663 fulltargetlist = self.checkPackages(pkgs_to_build, task)
662 taskdata = {} 664 taskdata = {}
@@ -715,6 +717,9 @@ class BBCooker:
715 Create a dependency graph of pkgs_to_build including reverse dependency 717 Create a dependency graph of pkgs_to_build including reverse dependency
716 information. 718 information.
717 """ 719 """
720 if not task.startswith("do_"):
721 task = "do_%s" % task
722
718 runlist, taskdata = self.prepareTreeData(pkgs_to_build, task) 723 runlist, taskdata = self.prepareTreeData(pkgs_to_build, task)
719 rq = bb.runqueue.RunQueue(self, self.data, self.recipecaches, taskdata, runlist) 724 rq = bb.runqueue.RunQueue(self, self.data, self.recipecaches, taskdata, runlist)
720 rq.rqdata.prepare() 725 rq.rqdata.prepare()
@@ -818,6 +823,9 @@ class BBCooker:
818 """ 823 """
819 Create a dependency tree of pkgs_to_build, returning the data. 824 Create a dependency tree of pkgs_to_build, returning the data.
820 """ 825 """
826 if not task.startswith("do_"):
827 task = "do_%s" % task
828
821 _, taskdata = self.prepareTreeData(pkgs_to_build, task) 829 _, taskdata = self.prepareTreeData(pkgs_to_build, task)
822 830
823 seen_fns = [] 831 seen_fns = []
@@ -1322,6 +1330,8 @@ class BBCooker:
1322 # If we are told to do the None task then query the default task 1330 # If we are told to do the None task then query the default task
1323 if (task == None): 1331 if (task == None):
1324 task = self.configuration.cmd 1332 task = self.configuration.cmd
1333 if not task.startswith("do_"):
1334 task = "do_%s" % task
1325 1335
1326 fn, cls, mc = bb.cache.virtualfn2realfn(buildfile) 1336 fn, cls, mc = bb.cache.virtualfn2realfn(buildfile)
1327 fn = self.matchFile(fn) 1337 fn = self.matchFile(fn)
@@ -1358,8 +1368,6 @@ class BBCooker:
1358 # Invalidate task for target if force mode active 1368 # Invalidate task for target if force mode active
1359 if self.configuration.force: 1369 if self.configuration.force:
1360 logger.verbose("Invalidate task %s, %s", task, fn) 1370 logger.verbose("Invalidate task %s, %s", task, fn)
1361 if not task.startswith("do_"):
1362 task = "do_%s" % task
1363 bb.parse.siggen.invalidate_task(task, self.recipecaches[mc], fn) 1371 bb.parse.siggen.invalidate_task(task, self.recipecaches[mc], fn)
1364 1372
1365 # Setup taskdata structure 1373 # Setup taskdata structure
@@ -1371,8 +1379,6 @@ class BBCooker:
1371 bb.event.fire(bb.event.BuildStarted(buildname, [item]), self.expanded_data) 1379 bb.event.fire(bb.event.BuildStarted(buildname, [item]), self.expanded_data)
1372 1380
1373 # Execute the runqueue 1381 # Execute the runqueue
1374 if not task.startswith("do_"):
1375 task = "do_%s" % task
1376 runlist = [[mc, item, task, fn]] 1382 runlist = [[mc, item, task, fn]]
1377 1383
1378 rq = bb.runqueue.RunQueue(self, self.data, self.recipecaches, taskdata, runlist) 1384 rq = bb.runqueue.RunQueue(self, self.data, self.recipecaches, taskdata, runlist)