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

(From OE-Core rev: eacedb4f2afa98dbd2f5ea7a9f52e6ea952a72d2)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
Richard Purdie 2012-02-29 16:24:26 +00:00
parent 320558f494
commit 40b81c778b
1 changed files with 5 additions and 4 deletions

View 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 () {