From eacedb4f2afa98dbd2f5ea7a9f52e6ea952a72d2 Mon Sep 17 00:00:00 2001 From: Richard Purdie Date: Wed, 29 Feb 2012 16:24:26 +0000 Subject: image_types: Correctness fixes * Add a newline to improve the output formatting * Use set() to turn the list into a set of unique items to prevnt the same image code running twice (for e.g. IMAGE_FSTYPES = "tar.gz tar.bz2") * Support multiple compression extensions such as ".gz.u-boot" * Fix basetype/type typo and fix multiple image generation Signed-off-by: Richard Purdie --- meta/classes/image_types.bbclass | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/meta/classes/image_types.bbclass b/meta/classes/image_types.bbclass index a5f09fef42..5b48a09da4 100644 --- a/meta/classes/image_types.bbclass +++ b/meta/classes/image_types.bbclass @@ -11,11 +11,12 @@ def get_imagecmds(d): for type in types: for ctype in ctypes: if type.endswith("." + ctype): - basetype = type.rsplit(".", 1)[0] + basetype = type[:-len("." + ctype)] types[types.index(type)] = basetype - if type not in cimages: + if basetype not in cimages: cimages[basetype] = [] cimages[basetype].append(ctype) + break # Live images will be processed via inheriting bbclass and # does not get processed here. @@ -28,7 +29,7 @@ def get_imagecmds(d): if d.getVar('IMAGE_LINK_NAME', True): cmds += " rm -f ${DEPLOY_DIR_IMAGE}/${IMAGE_LINK_NAME}.*" - for type in types: + for type in set(types): ccmd = [] subimages = [] localdata = bb.data.createCopy(d) @@ -47,7 +48,7 @@ def get_imagecmds(d): localdata.setVar('subimages', " ".join(subimages)) cmd = localdata.getVar("IMAGE_CMD", True) localdata.setVar('cmd', cmd) - cmds += localdata.getVar("runimagecmd", True) + cmds += "\n" + localdata.getVar("runimagecmd", True) return cmds runimagecmd () { -- cgit v1.2.3