]> code.ossystems Code Review - openembedded-core.git/commitdiff
image_types: Correctness fixes
authorRichard Purdie <richard.purdie@linuxfoundation.org>
Wed, 29 Feb 2012 16:24:26 +0000 (16:24 +0000)
committerRichard Purdie <richard.purdie@linuxfoundation.org>
Wed, 29 Feb 2012 18:22:13 +0000 (18:22 +0000)
* 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 <richard.purdie@linuxfoundation.org>
meta/classes/image_types.bbclass

index a5f09fef4298436addb0b798d8d2aa9bf626f6a8..5b48a09da484ae47ff41beb15b7b2c2d11970475 100644 (file)
@@ -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 () {