From 4ee62337e7d39cf477eb463ac666a98dbe6ba0aa Mon Sep 17 00:00:00 2001 From: Valentin Popa Date: Fri, 27 Sep 2013 15:34:24 +0300 Subject: [PATCH] image types: split live into iso and hddimg Changes to split live into iso and hddimg without adding a new image type class. This patch has only a visible effect on HOB and solves part 2 of #3197 [YOCTO #3197] (From OE-Core rev: f05ae5f57d9d1bd839fae0e3f353d4e0e303a183) Signed-off-by: Valentin Popa Signed-off-by: Richard Purdie --- meta/classes/image.bbclass | 12 +++++++++++- meta/classes/image_types.bbclass | 13 +++++++++---- 2 files changed, 20 insertions(+), 5 deletions(-) diff --git a/meta/classes/image.bbclass b/meta/classes/image.bbclass index 7650594..422a826 100644 --- a/meta/classes/image.bbclass +++ b/meta/classes/image.bbclass @@ -90,7 +90,17 @@ do_rootfs[depends] += "makedevs-native:do_populate_sysroot virtual/fakeroot-nati do_rootfs[depends] += "virtual/update-alternatives-native:do_populate_sysroot update-rc.d-native:do_populate_sysroot" do_rootfs[recrdeptask] += "do_packagedata" -IMAGE_TYPE_live = '${@base_contains("IMAGE_FSTYPES", "live", "live", "empty", d)}' +def build_live(d): + if base_contains("IMAGE_FSTYPES", "live", "live", "0", d) == "0": # live is not set but hob might set iso or hddimg + d.setVar('NOISO', base_contains('IMAGE_FSTYPES', "iso", "0", "1", d)) + d.setVar('NOHDD', base_contains('IMAGE_FSTYPES', "hddimg", "0", "1", d)) + if d.getVar('NOISO', True) == "0" or d.getVar('NOHDD', True) == "0": + return "live" + return "empty" + return "live" + +IMAGE_TYPE_live = "${@build_live(d)}" + inherit image-${IMAGE_TYPE_live} IMAGE_TYPE_vmdk = '${@base_contains("IMAGE_FSTYPES", "vmdk", "vmdk", "empty", d)}' inherit image-${IMAGE_TYPE_vmdk} diff --git a/meta/classes/image_types.bbclass b/meta/classes/image_types.bbclass index 8c49169..9ead059 100644 --- a/meta/classes/image_types.bbclass +++ b/meta/classes/image_types.bbclass @@ -43,12 +43,17 @@ def get_imagecmds(d): if "ext3" not in alltypes: alltypes.append("ext3") types.remove("vmdk") - if "live" in types: + if "live" in types or "iso" in types or "hddimg" in types: if "ext3" not in types: types.append("ext3") if "ext3" not in alltypes: alltypes.append("ext3") - types.remove("live") + if "live" in types: + types.remove("live") + if "iso" in types: + types.remove("iso") + if "hddimg" in types: + types.remove("hddimg") if d.getVar('IMAGE_LINK_NAME', True): if d.getVar('RM_OLD_IMAGE', True) == "1": @@ -115,7 +120,7 @@ def imagetypes_getdepends(d): deps = [] ctypes = d.getVar('COMPRESSIONTYPES', True).split() for type in (d.getVar('IMAGE_FSTYPES', True) or "").split(): - if type == "vmdk" or type == "live": + if type == "vmdk" or type == "live" or type == "iso" or type == "hddimg": type = "ext3" basetype = type for ctype in ctypes: @@ -230,7 +235,7 @@ IMAGE_DEPENDS_ubi = "mtd-utils-native" IMAGE_DEPENDS_ubifs = "mtd-utils-native" # This variable is available to request which values are suitable for IMAGE_FSTYPES -IMAGE_TYPES = "jffs2 sum.jffs2 cramfs ext2 ext2.gz ext2.bz2 ext3 ext3.gz ext2.lzma btrfs live squashfs squashfs-xz ubi ubifs tar tar.gz tar.bz2 tar.xz cpio cpio.gz cpio.xz cpio.lzma vmdk elf" +IMAGE_TYPES = "jffs2 sum.jffs2 cramfs ext2 ext2.gz ext2.bz2 ext3 ext3.gz ext2.lzma btrfs iso hddimg squashfs squashfs-xz ubi ubifs tar tar.gz tar.bz2 tar.xz cpio cpio.gz cpio.xz cpio.lzma vmdk elf" COMPRESSIONTYPES = "gz bz2 lzma xz" COMPRESS_CMD_lzma = "lzma -k -f -7 ${IMAGE_NAME}.rootfs.${type}" -- 2.7.4