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) |