toaster.bbclass: trigger event for other image files

Toaster will log all the files that it can find in the
deploy images directory, and list them, considering that
they may be artifacts of the current build not logged
anywhere else.

[YOCTO #6836]

(From OE-Core rev: 87a25b1dec86da809c9a13c10449bd33a471cb95)

Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
Alexandru DAMIAN 2014-12-10 14:44:59 +00:00 committed by Richard Purdie
parent 1f41cb64b4
commit 31e86e6b02
1 changed files with 15 additions and 3 deletions

View File

@ -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 stat.S_ISREG(filestat.st_mode):
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)
}