diff options
author | Ross Burton <ross.burton@intel.com> | 2018-03-12 16:37:47 +0000 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2018-03-15 03:38:47 -0700 |
commit | 1d615fc2d6b74ea62ef0c614bd54670c1a62a17f (patch) | |
tree | 754cf0a02dc984d65b339d77e8260a0e0841f965 /scripts | |
parent | fd3d98fd5690dab391c27a71e26f74e0f9a25f3a (diff) | |
download | openembedded-core-contrib-1d615fc2d6b74ea62ef0c614bd54670c1a62a17f.tar.gz |
build-recipe-list: improvements
Diffstat (limited to 'scripts')
-rwxr-xr-x | scripts/distro/build-recipe-list.py | 30 |
1 files changed, 21 insertions, 9 deletions
diff --git a/scripts/distro/build-recipe-list.py b/scripts/distro/build-recipe-list.py index 3f5f7c2fcc9..21627648509 100755 --- a/scripts/distro/build-recipe-list.py +++ b/scripts/distro/build-recipe-list.py @@ -20,15 +20,27 @@ import argparse __version__ = "0.1.0" -recipenames = [] -allrecipes = [] - +# set of BPNs +recipenames = set() +# map of recipe -> data +allrecipes = {} + +def make_bpn(recipe): + prefixes = ("nativesdk-",) + suffixes = ("-native", "-cross", "-initial", "-intermediate", "-crosssdk", "-cross-canadian") + for ix in prefixes + suffixes: + if ix in recipe: + recipe = recipe.replace(ix, "") + return recipe + def gather_recipes(rows): - # store the data into the array for row in rows: - if row[0] not in recipenames: - recipenames.append(row[0]) - allrecipes.append(row) + recipe = row[0] + bpn = make_bpn(recipe) + if bpn not in recipenames: + recipenames.add(bpn) + if recipe not in allrecipes: + allrecipes[recipe] = row def generate_recipe_list(): # machine list @@ -60,8 +72,8 @@ def generate_recipe_list(): print("file : recipe-list.txt is created with %d entries." % len(recipenames)) with open('all-recipe-list.txt', 'w') as f: - for recipe in sorted(allrecipes): - f.write("%s\n" % ','.join([str(data) for data in recipe])) + for recipe, row in sorted(allrecipes.items()): + f.write("%s\n" % ','.join(row)) def diff_for_new_recipes(recipe1, recipe2): |