[meta-freescale] [Documentation][PATCH] scripts: list images and packagegroups from fsl layers

Mario Domenech Goulart mario at ossystems.com.br
Mon Sep 15 10:45:47 PDT 2014


Generate release-notes/source/images.inc and
release-notes/source/packagegroups.inc based on recipes in
meta-fsl-arm, meta-fsl-arm-extra and meta-fsl-demos.

The "heuristic" to determine what is an image/packagegroup is pretty
lame: it just checks if the recipe name contains `image' or
`packagegroup'.

The generated files contain an rst list mapping the image and
packagegroup recipe names to their corresponding descriptions.

The generated files (.inc) have intentionally not been added to this
commit.

Signed-off-by: Mario Domenech Goulart <mario at ossystems.com.br>
---
 scripts/bitbake-metadata2doc.py |   22 ++++++++++++++++++++++
 scripts/bitbake-metadata2doc.sh |   22 +++++++++++++++++++++-
 2 files changed, 43 insertions(+), 1 deletion(-)

diff --git a/scripts/bitbake-metadata2doc.py b/scripts/bitbake-metadata2doc.py
index 0526985..534446d 100644
--- a/scripts/bitbake-metadata2doc.py
+++ b/scripts/bitbake-metadata2doc.py
@@ -438,6 +438,26 @@ def write_soc_tree(data, out_dir):
     print_tree(socs2dict(socs), fd)
     fd.close()
 
+def write_recipe_descriptions(recipe_pattern, data, out_file):
+    wanted = {}
+    for board, board_data in data.items():
+        recipes = board_data['recipes']
+        for recipe, recipe_data in recipes.items():
+            if recipe_pattern in recipe:
+                # nevermind clobbering previous findings
+                wanted[recipe] = recipe_data['description']
+    fd = open(out_file, 'w')
+    info('Writing %s' % out_file)
+    for recipe in sorted(wanted.keys()):
+        fd.write('* **%s**: %s\n' % (recipe, wanted[recipe]))
+    fd.close()
+
+def write_image_descriptions(data, out_dir):
+    write_recipe_descriptions('image', data, os.path.join(out_dir, 'images.inc'))
+
+def write_packagegroup_descriptions(data, out_dir):
+    write_recipe_descriptions('packagegroup', data, os.path.join(out_dir, 'packagegroups.inc'))
+
 def write_acknowledgements(out_dir, bsp_dir, gitdm_dir, start_commit, end_commit):
     meta_freescale_dir = os.path.join(gitdm_dir, 'meta-freescale')
     gen_statistics_script = os.path.join(meta_freescale_dir, 'gen-statistics')
@@ -501,4 +521,6 @@ write_soc_pkg(data, out_dir)
 write_maintainers_tables(data, out_dir, bsp_dir)
 write_machines_list(data, out_dir, bsp_dir)
 write_soc_tree(data, out_dir)
+write_image_descriptions(data, out_dir)
+write_packagegroup_descriptions(data, out_dir)
 write_acknowledgements(out_dir, bsp_dir, gitdm_dir, start_commit, end_commit)
diff --git a/scripts/bitbake-metadata2doc.sh b/scripts/bitbake-metadata2doc.sh
index cdffa6e..d0cfed8 100755
--- a/scripts/bitbake-metadata2doc.sh
+++ b/scripts/bitbake-metadata2doc.sh
@@ -46,6 +46,7 @@ gitdm_dir="$2"
 start_commit="$3"
 end_commit="$4"
 anchor="`pwd`"
+fsl_layers="meta-fsl-arm meta-fsl-arm-extra meta-fsl-demos"
 
 machines=
 if [ -n "$MACHINES" ]; then
@@ -54,6 +55,22 @@ else
     machines=`./output-machine-list $yocto_dir`
 fi
 
+images=
+for fsl_layer in $fsl_layers; do
+    images="$images \
+            `find $yocto_dir/sources/$fsl_layer \
+                  -name '*image*.bb' \
+                  -exec basename '{}' .bb \;`"
+done
+
+packagegroups=
+for fsl_layer in $fsl_layers; do
+    packagegroups="$packagegroups \
+                   `find $yocto_dir/sources/$fsl_layer \
+                         -name '*packagegroup*.bb' \
+                         -exec basename '{}' .bb \;`"
+done
+
 marshalled_data_file=doc-data.pckl
 
 rm -f $anchor/$marshalled_data_file
@@ -96,7 +113,10 @@ for machine in $machines; do
         xserver-xorg \
         xf86-dri-vivante \
         xf86-video-imxfb \
-        xf86-video-imxfb-vivante
+        xf86-video-imxfb-vivante \
+        $images \
+        $packagegroups
+
     ret=$?
     if [ "$ret" != "0" ]; then
         echo "ERROR: error extracting bitbake metadata for board $MACHINE"
-- 
1.7.10.4



More information about the meta-freescale mailing list