diff options
Diffstat (limited to 'meta/classes/toaster.bbclass')
-rw-r--r-- | meta/classes/toaster.bbclass | 20 |
1 files changed, 16 insertions, 4 deletions
diff --git a/meta/classes/toaster.bbclass b/meta/classes/toaster.bbclass index 1525317d27..eeca9dedd2 100644 --- a/meta/classes/toaster.bbclass +++ b/meta/classes/toaster.bbclass @@ -71,7 +71,7 @@ python toaster_layerinfo_dumpdata() { layer_url = 'http://layers.openembedded.org/layerindex/layer/{layer}/' layer_url_name = _get_url_map_name(layer_name) - layer_info['name'] = layer_name + layer_info['name'] = layer_url_name layer_info['local_path'] = layer_path layer_info['layer_index_url'] = layer_url.format(layer=layer_url_name) layer_info['version'] = _get_layer_version_information(layer_path) @@ -149,14 +149,26 @@ python toaster_image_dumpdata() { image_name = d.getVar('IMAGE_NAME', True); image_info_data = {} + artifact_info_data = {} + # collect all artifacts for dirpath, dirnames, filenames in os.walk(deploy_dir_image): for fn in filenames: - if fn.startswith(image_name): - image_output = os.path.join(dirpath, fn) - image_info_data[image_output] = os.stat(image_output).st_size + try: + if fn.startswith(image_name): + image_output = os.path.join(dirpath, fn) + image_info_data[image_output] = os.stat(image_output).st_size + else: + import stat + artifact_path = os.path.join(dirpath, fn) + filestat = os.stat(artifact_path) + if not os.path.islink(artifact_path): + artifact_info_data[artifact_path] = filestat.st_size + except OSError as e: + bb.event.fire(bb.event.MetadataEvent("OSErrorException", e), d) bb.event.fire(bb.event.MetadataEvent("ImageFileSize",image_info_data), d) + bb.event.fire(bb.event.MetadataEvent("ArtifactFileSize",artifact_info_data), d) } |