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 <[email protected]>
---
 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

-- 
_______________________________________________
meta-freescale mailing list
[email protected]
https://lists.yoctoproject.org/listinfo/meta-freescale

Reply via email to