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