diff options
| -rw-r--r-- | bitbake/lib/bb/cooker.py | 8 | ||||
| -rw-r--r-- | bitbake/lib/bb/taskdata.py | 8 |
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) |
