From 4d7639edd3b5911955b1ed96ba6d01b8e614c01e Mon Sep 17 00:00:00 2001 From: Richard Purdie Date: Tue, 29 Oct 2013 15:26:54 +0000 Subject: image_types: Improve dependency handling between types (and use for sum.jffs2) We're seeing a pattern of one image type needing to depend on another type. A good example is jffs2 and sum.jffs2. This patch makes sum.jffs2 depend on jffs2 which will then allow a EXTRA_IMGAGECMD to be set for sum.jffs2 individually without changing the jffs2 command. This allows the -pad option to be configured differently. (From OE-Core rev: 4a05f4f03b7d710e9e19a97f5d2c35d101e2c648) Signed-off-by: Richard Purdie --- meta/classes/image_types.bbclass | 19 ++++++++++++------- 1 file changed, 12 insertions(+), 7 deletions(-) diff --git a/meta/classes/image_types.bbclass b/meta/classes/image_types.bbclass index b8779e0c4c..505cd1cffc 100644 --- a/meta/classes/image_types.bbclass +++ b/meta/classes/image_types.bbclass @@ -7,14 +7,20 @@ def get_imagecmds(d): ctypes = d.getVar('COMPRESSIONTYPES', True).split() cimages = {} + # Image type b depends on a having been generated first + def addtypedepends(a, b): + if a in alltypes: + alltypes.remove(a) + if b not in alltypes: + alltypes.append(b) + alltypes.append(a) + # The elf image depends on the cpio.gz image already having # been created, so we add that explicit ordering here. + addtypedepends("elf", "cpio.gz") - if "elf" in alltypes: - alltypes.remove("elf") - if "cpio.gz" not in alltypes: - alltypes.append("cpio.gz") - alltypes.append("elf") + # jffs2 sumtool'd images need jffs2 + addtypedepends("sum.jffs2", "jffs2") # Filter out all the compressed images from alltypes for type in alltypes: @@ -141,8 +147,7 @@ XZ_INTEGRITY_CHECK ?= "crc32" XZ_THREADS ?= "-T 0" IMAGE_CMD_jffs2 = "mkfs.jffs2 --root=${IMAGE_ROOTFS} --faketime --output=${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.rootfs.jffs2 ${EXTRA_IMAGECMD}" -IMAGE_CMD_sum.jffs2 = "${IMAGE_CMD_jffs2} && sumtool -i ${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.rootfs.jffs2 \ - -o ${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.rootfs.sum.jffs2 ${EXTRA_IMAGECMD}" +IMAGE_CMD_sum.jffs2 = "sumtool -i ${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.rootfs.jffs2 -o ${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.rootfs.sum.jffs2 ${EXTRA_IMAGECMD}" IMAGE_CMD_cramfs = "mkfs.cramfs ${IMAGE_ROOTFS} ${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.rootfs.cramfs ${EXTRA_IMAGECMD}" -- cgit v1.2.3-54-g00ecf