image_types.bbclass: We need to preserve order in the types variable and avoid set()
authorRichard Purdie <richard.purdie@linuxfoundation.org>
Fri, 2 Mar 2012 12:08:02 +0000 (12:08 +0000)
committerRichard Purdie <richard.purdie@linuxfoundation.org>
Fri, 2 Mar 2012 16:22:48 +0000 (16:22 +0000)
(From OE-Core rev: c547169f7dfe043affc2ddc5ae0a9091379df6de)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
meta/classes/image_types.bbclass

index b2503ea..681571d 100644 (file)
@@ -3,20 +3,24 @@ def get_imagecmds(d):
     old_overrides = d.getVar('OVERRIDES', 0)
 
     alltypes = d.getVar('IMAGE_FSTYPES', True).split()
-    types = d.getVar('IMAGE_FSTYPES', True).split()
+    types = []
     ctypes = d.getVar('COMPRESSIONTYPES', True).split()
     cimages = {}
 
     # Filter out all the compressed images from types
-    for type in types:
+    for type in alltypes:
+        basetype = None
         for ctype in ctypes:
             if type.endswith("." + ctype):
                 basetype = type[:-len("." + ctype)]
-                types[types.index(type)] = basetype
+                if basetype not in types:
+                    types.append(basetype)
                 if basetype not in cimages:
                     cimages[basetype] = []
                 cimages[basetype].append(ctype)
                 break
+        if not basetype and type not in types:
+            types.append(type)
 
     # Live and VMDK images will be processed via inheriting
     # bbclass and does not get processed here.
@@ -33,7 +37,7 @@ def get_imagecmds(d):
     if d.getVar('IMAGE_LINK_NAME', True):
         cmds += "      rm -f ${DEPLOY_DIR_IMAGE}/${IMAGE_LINK_NAME}.*"
 
-    for type in set(types):
+    for type in types:
         ccmd = []
         subimages = []
         localdata = bb.data.createCopy(d)