From: Tom Zanussi <tom.zanu...@intel.com> Add a "branches_base" property that can be used to allow only matching branches to be returned from all_branches().
Signed-off-by: Tom Zanussi <tom.zanu...@intel.com> --- scripts/lib/bsp/engine.py | 7 +++++++ scripts/lib/bsp/kernel.py | 19 +++++++++++++++++++ 2 files changed, 26 insertions(+) diff --git a/scripts/lib/bsp/engine.py b/scripts/lib/bsp/engine.py index cda1d14..8b05809 100644 --- a/scripts/lib/bsp/engine.py +++ b/scripts/lib/bsp/engine.py @@ -473,6 +473,11 @@ def gen_choices_defer(input_line, context, checklist = False): except KeyError: nameappend = "" + try: + branches_base = input_line.props["branches_base"] + except KeyError: + branches_base = "" + filename = input_line.props["filename"] closetag_start = filename.find(CLOSE_TAG) @@ -488,6 +493,8 @@ def gen_choices_defer(input_line, context, checklist = False): captured_context["filename"] = filename context["nameappend"] = nameappend captured_context["nameappend"] = nameappend + context["branches_base"] = branches_base + captured_context["branches_base"] = branches_base deferred_choice = (input_line, captured_context, checklist) key = name + "_" + filename + "_" + nameappend diff --git a/scripts/lib/bsp/kernel.py b/scripts/lib/bsp/kernel.py index 7c6da4e..d4bdc4c 100644 --- a/scripts/lib/bsp/kernel.py +++ b/scripts/lib/bsp/kernel.py @@ -713,6 +713,17 @@ def all_branches(context): branches = [] + base_prefixes = None + + try: + branches_base = context["branches_base"] + if branches_base: + base_prefixes = branches_base.split(":") + except KeyError: + pass + + arch = context["arch"] + if tmp: tmpline = tmp.split("\n") for line in tmpline: @@ -720,6 +731,14 @@ def all_branches(context): break; idx = line.find("refs/heads/") kbranch = line[idx + len("refs/heads/"):] + kbranch_prefix = kbranch.rsplit("/", 1)[0] + + if base_prefixes: + for base_prefix in base_prefixes: + if kbranch_prefix == base_prefix: + branches.append(kbranch) + continue + if (kbranch.find("/") != -1 and (kbranch.find("standard") != -1 or kbranch.find("base") != -1) or kbranch == "base"): -- 1.7.9.5 _______________________________________________ yocto mailing list yocto@yoctoproject.org https://lists.yoctoproject.org/listinfo/yocto