diff options
Diffstat (limited to 'meta/classes/toaster.bbclass')
| -rw-r--r-- | meta/classes/toaster.bbclass | 74 |
1 files changed, 8 insertions, 66 deletions
diff --git a/meta/classes/toaster.bbclass b/meta/classes/toaster.bbclass index 1878fe095d..90ea563809 100644 --- a/meta/classes/toaster.bbclass +++ b/meta/classes/toaster.bbclass | |||
| @@ -136,60 +136,16 @@ python toaster_package_dumpdata() { | |||
| 136 | 136 | ||
| 137 | # 2. Dump output image files information | 137 | # 2. Dump output image files information |
| 138 | 138 | ||
| 139 | python toaster_image_dumpdata() { | ||
| 140 | """ | ||
| 141 | Image filename for output images is not standardized. | ||
| 142 | image_types.bbclass will spell out IMAGE_CMD_xxx variables that actually | ||
| 143 | have hardcoded ways to create image file names in them. | ||
| 144 | So we look for files starting with the set name. | ||
| 145 | |||
| 146 | We also look for other files in the images/ directory which don't | ||
| 147 | match IMAGE_NAME, such as the kernel bzImage, modules tarball etc. | ||
| 148 | """ | ||
| 149 | |||
| 150 | dir_to_walk = d.getVar('DEPLOY_DIR_IMAGE', True); | ||
| 151 | image_name = d.getVar('IMAGE_NAME', True); | ||
| 152 | image_info_data = {} | ||
| 153 | artifact_info_data = {} | ||
| 154 | |||
| 155 | # collect all images and artifacts in the images directory | ||
| 156 | for dirpath, dirnames, filenames in os.walk(dir_to_walk): | ||
| 157 | for filename in filenames: | ||
| 158 | full_path = os.path.join(dirpath, filename) | ||
| 159 | try: | ||
| 160 | if filename.startswith(image_name): | ||
| 161 | # image | ||
| 162 | image_info_data[full_path] = os.stat(full_path).st_size | ||
| 163 | else: | ||
| 164 | # other non-image artifact | ||
| 165 | if not os.path.islink(full_path): | ||
| 166 | artifact_info_data[full_path] = os.stat(full_path).st_size | ||
| 167 | except OSError as e: | ||
| 168 | bb.event.fire(bb.event.MetadataEvent("OSErrorException", e), d) | ||
| 169 | |||
| 170 | bb.event.fire(bb.event.MetadataEvent("ImageFileSize", image_info_data), d) | ||
| 171 | bb.event.fire(bb.event.MetadataEvent("ArtifactFileSize", artifact_info_data), d) | ||
| 172 | } | ||
| 173 | |||
| 174 | python toaster_artifact_dumpdata() { | 139 | python toaster_artifact_dumpdata() { |
| 175 | """ | 140 | """ |
| 176 | Dump data about artifacts in the SDK_DEPLOY directory | 141 | Dump data about SDK variables |
| 177 | """ | 142 | """ |
| 178 | 143 | ||
| 179 | dir_to_walk = d.getVar("SDK_DEPLOY", True) | 144 | event_data = { |
| 180 | artifact_info_data = {} | 145 | "TOOLCHAIN_OUTPUTNAME": d.getVar("TOOLCHAIN_OUTPUTNAME", True) |
| 181 | 146 | } | |
| 182 | # collect all artifacts in the sdk directory | ||
| 183 | for dirpath, dirnames, filenames in os.walk(dir_to_walk): | ||
| 184 | for filename in filenames: | ||
| 185 | full_path = os.path.join(dirpath, filename) | ||
| 186 | try: | ||
| 187 | if not os.path.islink(full_path): | ||
| 188 | artifact_info_data[full_path] = os.stat(full_path).st_size | ||
| 189 | except OSError as e: | ||
| 190 | bb.event.fire(bb.event.MetadataEvent("OSErrorException", e), d) | ||
| 191 | 147 | ||
| 192 | bb.event.fire(bb.event.MetadataEvent("ArtifactFileSize", artifact_info_data), d) | 148 | bb.event.fire(bb.event.MetadataEvent("SDKArtifactInfo", event_data), d) |
| 193 | } | 149 | } |
| 194 | 150 | ||
| 195 | # collect list of buildstats files based on fired events; when the build completes, collect all stats and fire an event with collected data | 151 | # collect list of buildstats files based on fired events; when the build completes, collect all stats and fire an event with collected data |
| @@ -361,17 +317,6 @@ python toaster_buildhistory_dump() { | |||
| 361 | 317 | ||
| 362 | } | 318 | } |
| 363 | 319 | ||
| 364 | # dump information related to license manifest path | ||
| 365 | |||
| 366 | python toaster_licensemanifest_dump() { | ||
| 367 | deploy_dir = d.getVar('DEPLOY_DIR', True); | ||
| 368 | image_name = d.getVar('IMAGE_NAME', True); | ||
| 369 | |||
| 370 | data = { 'deploy_dir' : deploy_dir, 'image_name' : image_name } | ||
| 371 | |||
| 372 | bb.event.fire(bb.event.MetadataEvent("LicenseManifestPath", data), d) | ||
| 373 | } | ||
| 374 | |||
| 375 | # set event handlers | 320 | # set event handlers |
| 376 | addhandler toaster_layerinfo_dumpdata | 321 | addhandler toaster_layerinfo_dumpdata |
| 377 | toaster_layerinfo_dumpdata[eventmask] = "bb.event.TreeDataPreparationCompleted" | 322 | toaster_layerinfo_dumpdata[eventmask] = "bb.event.TreeDataPreparationCompleted" |
| @@ -388,11 +333,8 @@ do_packagedata_setscene[vardepsexclude] += "toaster_package_dumpdata " | |||
| 388 | do_package[postfuncs] += "toaster_package_dumpdata " | 333 | do_package[postfuncs] += "toaster_package_dumpdata " |
| 389 | do_package[vardepsexclude] += "toaster_package_dumpdata " | 334 | do_package[vardepsexclude] += "toaster_package_dumpdata " |
| 390 | 335 | ||
| 391 | do_image_complete[postfuncs] += "toaster_image_dumpdata " | ||
| 392 | do_image_complete[vardepsexclude] += "toaster_image_dumpdata " | ||
| 393 | |||
| 394 | do_rootfs[postfuncs] += "toaster_licensemanifest_dump " | ||
| 395 | do_rootfs[vardepsexclude] += "toaster_licensemanifest_dump " | ||
| 396 | |||
| 397 | do_populate_sdk[postfuncs] += "toaster_artifact_dumpdata " | 336 | do_populate_sdk[postfuncs] += "toaster_artifact_dumpdata " |
| 398 | do_populate_sdk[vardepsexclude] += "toaster_artifact_dumpdata " | 337 | do_populate_sdk[vardepsexclude] += "toaster_artifact_dumpdata " |
| 338 | |||
| 339 | do_populate_sdk_ext[postfuncs] += "toaster_artifact_dumpdata " | ||
| 340 | do_populate_sdk_ext[vardepsexclude] += "toaster_artifact_dumpdata " \ No newline at end of file | ||
