summaryrefslogtreecommitdiffstats
path: root/scripts
diff options
context:
space:
mode:
authorRoss Burton <ross.burton@intel.com>2018-03-12 16:37:47 +0000
committerRichard Purdie <richard.purdie@linuxfoundation.org>2018-03-15 03:38:47 -0700
commit1d615fc2d6b74ea62ef0c614bd54670c1a62a17f (patch)
tree754cf0a02dc984d65b339d77e8260a0e0841f965 /scripts
parentfd3d98fd5690dab391c27a71e26f74e0f9a25f3a (diff)
downloadopenembedded-core-contrib-1d615fc2d6b74ea62ef0c614bd54670c1a62a17f.tar.gz
openembedded-core-contrib-1d615fc2d6b74ea62ef0c614bd54670c1a62a17f.tar.bz2
openembedded-core-contrib-1d615fc2d6b74ea62ef0c614bd54670c1a62a17f.zip
build-recipe-list: improvements
Diffstat (limited to 'scripts')
-rwxr-xr-xscripts/distro/build-recipe-list.py30
1 files changed, 21 insertions, 9 deletions
diff --git a/scripts/distro/build-recipe-list.py b/scripts/distro/build-recipe-list.py
index 3f5f7c2fcc..2162764850 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):