diff options
| -rw-r--r-- | bitbake/lib/bb/runqueue.py | 26 |
1 files changed, 18 insertions, 8 deletions
diff --git a/bitbake/lib/bb/runqueue.py b/bitbake/lib/bb/runqueue.py index 878028aa97..ee06f0e71e 100644 --- a/bitbake/lib/bb/runqueue.py +++ b/bitbake/lib/bb/runqueue.py | |||
| @@ -634,23 +634,33 @@ class RunQueueData: | |||
| 634 | 634 | ||
| 635 | fnid = taskData.build_targets[targetid][0] | 635 | fnid = taskData.build_targets[targetid][0] |
| 636 | fn = taskData.fn_index[fnid] | 636 | fn = taskData.fn_index[fnid] |
| 637 | self.target_pairs.append((fn, target[1])) | 637 | task = target[1] |
| 638 | parents = False | ||
| 639 | if task.endswith('-'): | ||
| 640 | parents = True | ||
| 641 | task = task[:-1] | ||
| 642 | |||
| 643 | self.target_pairs.append((fn, task)) | ||
| 638 | 644 | ||
| 639 | if fnid in taskData.failed_fnids: | 645 | if fnid in taskData.failed_fnids: |
| 640 | continue | 646 | continue |
| 641 | 647 | ||
| 642 | if target[1] not in taskData.tasks_lookup[fnid]: | 648 | if task not in taskData.tasks_lookup[fnid]: |
| 643 | import difflib | 649 | import difflib |
| 644 | close_matches = difflib.get_close_matches(target[1], taskData.tasks_lookup[fnid], cutoff=0.7) | 650 | close_matches = difflib.get_close_matches(task, taskData.tasks_lookup[fnid], cutoff=0.7) |
| 645 | if close_matches: | 651 | if close_matches: |
| 646 | extra = ". Close matches:\n %s" % "\n ".join(close_matches) | 652 | extra = ". Close matches:\n %s" % "\n ".join(close_matches) |
| 647 | else: | 653 | else: |
| 648 | extra = "" | 654 | extra = "" |
| 649 | bb.msg.fatal("RunQueue", "Task %s does not exist for target %s%s" % (target[1], target[0], extra)) | 655 | bb.msg.fatal("RunQueue", "Task %s does not exist for target %s%s" % (task, target[0], extra)) |
| 650 | 656 | ||
| 651 | listid = taskData.tasks_lookup[fnid][target[1]] | 657 | # For tasks called "XXXX-", ony run their dependencies |
| 652 | 658 | listid = taskData.tasks_lookup[fnid][task] | |
| 653 | mark_active(listid, 1) | 659 | if parents: |
| 660 | for i in self.runq_depends[listid]: | ||
| 661 | mark_active(i, 1) | ||
| 662 | else: | ||
| 663 | mark_active(listid, 1) | ||
| 654 | 664 | ||
| 655 | # Step C - Prune all inactive tasks | 665 | # Step C - Prune all inactive tasks |
| 656 | # | 666 | # |
