[OE-core] [PATCH] image.bbclass: don't execute compression commands multiple times

Koen Kooi koen at dominion.thruhere.net
Mon May 23 17:51:20 UTC 2016


> Op 21 apr. 2016, om 11:47 heeft Alexander D. Kanevskiy <kad at kad.name> het volgende geschreven:
> 
> In case of chained conversion methods are used via COMPRESS_CMD_*
> there is chance that some of steps would be executed multiple times.

And this breaks image_types_uboot.bbclass:

ERROR: Logfile of failure stored in: /build/linaro/build/build/tmp-glibc/work/genericarmv8-oe-linux/linaro-image-minimal-initramfs/1.0-r0/temp/log.do_image_cpio.16506
Log data follows:
| DEBUG: Executing python function set_image_size
| DEBUG: Python function set_image_size finished
| DEBUG: Executing shell function do_image_cpio
| 31373 blocks
| Image Name:   linaro-image-minimal-initramfs-g
| Created:      Mon May 23 19:38:56 2016
| Image Type:   ARM Linux RAMDisk Image (gzip compressed)
| Data Size:    7326620 Bytes = 7154.90 kB = 6.99 MB
| Load Address: 00000000
| Entry Point:  00000000
| mkimage: Can't open /build/linaro/build/build/tmp-glibc/deploy/images/genericarmv8/linaro-image-minimal-initramfs-genericarmv8-20160523173835.rootfs.cpio.gz: No such file or directory

And I suspect this problem is better fixed with https://github.com/openembedded/openembedded-core/commit/85855af359c2c3bfc1eaa942c95f1f7d7cc6698e

> 
> [YOCTO #9482]
> 
> Signed-off-by: Alexander D. Kanevskiy <kad at kad.name>
> ---
> meta/classes/image.bbclass | 8 ++++++--
> 1 file changed, 6 insertions(+), 2 deletions(-)
> 
> diff --git a/meta/classes/image.bbclass b/meta/classes/image.bbclass
> index 8bfd241..5d6f4a3 100644
> --- a/meta/classes/image.bbclass
> +++ b/meta/classes/image.bbclass
> @@ -398,9 +398,13 @@ python () {
>                     # Create input image first.
>                     gen_conversion_cmds(type)
>                     localdata.setVar('type', type)
> -                    cmds.append("\t" + localdata.getVar("COMPRESS_CMD_" + ctype, True))
> +                    cmd = "\t" + localdata.getVar("COMPRESS_CMD_" + ctype, True)
> +                    if cmd not in cmds:
> +                        cmds.append(cmd)
>                     vardeps.add('COMPRESS_CMD_' + ctype)
> -                    subimages.append(type + "." + ctype)
> +                    subimage = type + "." + ctype
> +                    if subimage not in subimages:
> +                        subimages.append(subimage)
>                     if type not in alltypes:
>                         rm_tmp_images.add(localdata.expand("${IMAGE_NAME}${IMAGE_NAME_SUFFIX}.${type}"))
> 
> -- 
> 2.8.1
> 
> -- 
> _______________________________________________
> Openembedded-core mailing list
> Openembedded-core at lists.openembedded.org
> http://lists.openembedded.org/mailman/listinfo/openembedded-core
> 




More information about the Openembedded-core mailing list