summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--bitbake/lib/bb/cooker.py8
-rw-r--r--bitbake/lib/bb/taskdata.py8
2 files changed, 9 insertions, 7 deletions
diff --git a/bitbake/lib/bb/cooker.py b/bitbake/lib/bb/cooker.py
index 58137f6d62..46e5560e83 100644
--- a/bitbake/lib/bb/cooker.py
+++ b/bitbake/lib/bb/cooker.py
@@ -581,7 +581,7 @@ class BBCooker:
581 if pkgs_to_build[0] in set(ignore.split()): 581 if pkgs_to_build[0] in set(ignore.split()):
582 bb.fatal("%s is in ASSUME_PROVIDED" % pkgs_to_build[0]) 582 bb.fatal("%s is in ASSUME_PROVIDED" % pkgs_to_build[0])
583 583
584 taskdata, runlist, pkgs_to_build = self.buildTaskData(pkgs_to_build, None, self.configuration.abort) 584 taskdata, runlist, pkgs_to_build = self.buildTaskData(pkgs_to_build, None, self.configuration.abort, allowincomplete=True)
585 585
586 targetid = taskdata.getbuild_id(pkgs_to_build[0]) 586 targetid = taskdata.getbuild_id(pkgs_to_build[0])
587 fnid = taskdata.build_targets[targetid][0] 587 fnid = taskdata.build_targets[targetid][0]
@@ -614,7 +614,7 @@ class BBCooker:
614 logger.plain("\npython %s () {\n%s}\n", e, envdata.getVar(e, True)) 614 logger.plain("\npython %s () {\n%s}\n", e, envdata.getVar(e, True))
615 615
616 616
617 def buildTaskData(self, pkgs_to_build, task, abort): 617 def buildTaskData(self, pkgs_to_build, task, abort, allowincomplete=False):
618 """ 618 """
619 Prepare a runqueue and taskdata object for iteration over pkgs_to_build 619 Prepare a runqueue and taskdata object for iteration over pkgs_to_build
620 """ 620 """
@@ -629,7 +629,7 @@ class BBCooker:
629 localdata = data.createCopy(self.data) 629 localdata = data.createCopy(self.data)
630 bb.data.update_data(localdata) 630 bb.data.update_data(localdata)
631 bb.data.expandKeys(localdata) 631 bb.data.expandKeys(localdata)
632 taskdata = bb.taskdata.TaskData(abort, skiplist=self.skiplist) 632 taskdata = bb.taskdata.TaskData(abort, skiplist=self.skiplist, allowincomplete=allowincomplete)
633 633
634 current = 0 634 current = 0
635 runlist = [] 635 runlist = []
@@ -654,7 +654,7 @@ class BBCooker:
654 654
655 # We set abort to False here to prevent unbuildable targets raising 655 # We set abort to False here to prevent unbuildable targets raising
656 # an exception when we're just generating data 656 # an exception when we're just generating data
657 taskdata, runlist, pkgs_to_build = self.buildTaskData(pkgs_to_build, task, False) 657 taskdata, runlist, pkgs_to_build = self.buildTaskData(pkgs_to_build, task, False, allowincomplete=True)
658 658
659 return runlist, taskdata 659 return runlist, taskdata
660 660
diff --git a/bitbake/lib/bb/taskdata.py b/bitbake/lib/bb/taskdata.py
index af72a1fb09..ca58e17922 100644
--- a/bitbake/lib/bb/taskdata.py
+++ b/bitbake/lib/bb/taskdata.py
@@ -41,7 +41,7 @@ class TaskData:
41 """ 41 """
42 BitBake Task Data implementation 42 BitBake Task Data implementation
43 """ 43 """
44 def __init__(self, abort = True, tryaltconfigs = False, skiplist = None): 44 def __init__(self, abort = True, tryaltconfigs = False, skiplist = None, allowincomplete = False):
45 self.build_names_index = [] 45 self.build_names_index = []
46 self.run_names_index = [] 46 self.run_names_index = []
47 self.fn_index = [] 47 self.fn_index = []
@@ -70,6 +70,7 @@ class TaskData:
70 70
71 self.abort = abort 71 self.abort = abort
72 self.tryaltconfigs = tryaltconfigs 72 self.tryaltconfigs = tryaltconfigs
73 self.allowincomplete = allowincomplete
73 74
74 self.skiplist = skiplist 75 self.skiplist = skiplist
75 76
@@ -594,9 +595,10 @@ class TaskData:
594 added = added + 1 595 added = added + 1
595 except bb.providers.NoProvider: 596 except bb.providers.NoProvider:
596 targetid = self.getbuild_id(target) 597 targetid = self.getbuild_id(target)
597 if self.abort and targetid in self.external_targets: 598 if self.abort and targetid in self.external_targets and not self.allowincomplete:
598 raise 599 raise
599 self.remove_buildtarget(targetid) 600 if not self.allowincomplete:
601 self.remove_buildtarget(targetid)
600 for target in self.get_unresolved_run_targets(dataCache): 602 for target in self.get_unresolved_run_targets(dataCache):
601 try: 603 try:
602 self.add_rprovider(cfgData, dataCache, target) 604 self.add_rprovider(cfgData, dataCache, target)