* [PATCH_V5] image types: split live into iso and hddimg
@ 2013-09-19 13:31 Valentin Popa
2013-09-21 18:11 ` Saul Wold
0 siblings, 1 reply; 4+ messages in thread
From: Valentin Popa @ 2013-09-19 13:31 UTC (permalink / raw)
To: openembedded-core
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]
Signed-off-by: Valentin Popa <valentin.popa@intel.com>
---
meta/classes/image.bbclass | 13 ++++++++++++-
meta/classes/image_types.bbclass | 13 +++++++++----
2 files changed, 21 insertions(+), 5 deletions(-)
diff --git a/meta/classes/image.bbclass b/meta/classes/image.bbclass
index f1e62f1..bbeb765 100644
--- a/meta/classes/image.bbclass
+++ b/meta/classes/image.bbclass
@@ -87,7 +87,18 @@ 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_temp = "${@build_live(d)}"
+IMAGE_TYPE_live = "${@base_contains("IMAGE_FSTYPES", "live", "live", "${IMAGE_TYPE_temp}", 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}"
--
1.8.1.2
^ permalink raw reply related [flat|nested] 4+ messages in thread* Re: [PATCH_V5] image types: split live into iso and hddimg
2013-09-19 13:31 [PATCH_V5] image types: split live into iso and hddimg Valentin Popa
@ 2013-09-21 18:11 ` Saul Wold
2013-09-23 14:51 ` Valentin Popa
0 siblings, 1 reply; 4+ messages in thread
From: Saul Wold @ 2013-09-21 18:11 UTC (permalink / raw)
To: Valentin Popa; +Cc: openembedded-core
On 09/19/2013 06:31 AM, Valentin Popa wrote:
> 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]
>
> Signed-off-by: Valentin Popa <valentin.popa@intel.com>
> ---
> meta/classes/image.bbclass | 13 ++++++++++++-
> meta/classes/image_types.bbclass | 13 +++++++++----
> 2 files changed, 21 insertions(+), 5 deletions(-)
>
> diff --git a/meta/classes/image.bbclass b/meta/classes/image.bbclass
> index f1e62f1..bbeb765 100644
> --- a/meta/classes/image.bbclass
> +++ b/meta/classes/image.bbclass
> @@ -87,7 +87,18 @@ 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_temp = "${@build_live(d)}"
> +IMAGE_TYPE_live = "${@base_contains("IMAGE_FSTYPES", "live", "live", "${IMAGE_TYPE_temp}", d)}"
> +
I don't think you need the _temp thing anymore since you have the live
check above, is that not correct?
> 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"
>
If live is still a valid type, why remove it from the IMAGE_TYPES list?
Sau!
> COMPRESSIONTYPES = "gz bz2 lzma xz"
> COMPRESS_CMD_lzma = "lzma -k -f -7 ${IMAGE_NAME}.rootfs.${type}"
>
^ permalink raw reply [flat|nested] 4+ messages in thread* Re: [PATCH_V5] image types: split live into iso and hddimg
2013-09-21 18:11 ` Saul Wold
@ 2013-09-23 14:51 ` Valentin Popa
2013-09-23 14:58 ` Saul Wold
0 siblings, 1 reply; 4+ messages in thread
From: Valentin Popa @ 2013-09-23 14:51 UTC (permalink / raw)
To: Saul Wold; +Cc: openembedded-core
On 09/21/2013 09:11 PM, Saul Wold wrote:
> On 09/19/2013 06:31 AM, Valentin Popa wrote:
>> 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]
>>
>> Signed-off-by: Valentin Popa <valentin.popa@intel.com>
>> ---
>> meta/classes/image.bbclass | 13 ++++++++++++-
>> meta/classes/image_types.bbclass | 13 +++++++++----
>> 2 files changed, 21 insertions(+), 5 deletions(-)
>>
>> diff --git a/meta/classes/image.bbclass b/meta/classes/image.bbclass
>> index f1e62f1..bbeb765 100644
>> --- a/meta/classes/image.bbclass
>> +++ b/meta/classes/image.bbclass
>> @@ -87,7 +87,18 @@ 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_temp = "${@build_live(d)}"
>> +IMAGE_TYPE_live = "${@base_contains("IMAGE_FSTYPES", "live", "live",
>> "${IMAGE_TYPE_temp}", d)}"
>> +
> I don't think you need the _temp thing anymore since you have the live
> check above, is that not correct?
You are right, but tried to call "build_live" form "base_contains"
and gave me "ExpansionError during parsing ..."
>
>> 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"
>>
> If live is still a valid type, why remove it from the IMAGE_TYPES list?
>
Because HOB displays everything that IMAGE_TYPES contains and is
not ok to have both "live" and "iso & hddimg".
Indeed this is a problem for the moment (that will be fixed with
the part 2 of #3197 : "display only those image types that make sense")
if the user selects to build only the "iso" , but the machine has "live"
specified, both "iso" and "hddimg" will be built.
> Sau!
>
>
>> COMPRESSIONTYPES = "gz bz2 lzma xz"
>> COMPRESS_CMD_lzma = "lzma -k -f -7 ${IMAGE_NAME}.rootfs.${type}"
>>
^ permalink raw reply [flat|nested] 4+ messages in thread* Re: [PATCH_V5] image types: split live into iso and hddimg
2013-09-23 14:51 ` Valentin Popa
@ 2013-09-23 14:58 ` Saul Wold
0 siblings, 0 replies; 4+ messages in thread
From: Saul Wold @ 2013-09-23 14:58 UTC (permalink / raw)
To: Valentin Popa; +Cc: openembedded-core
On 09/23/2013 07:51 AM, Valentin Popa wrote:
> On 09/21/2013 09:11 PM, Saul Wold wrote:
>> On 09/19/2013 06:31 AM, Valentin Popa wrote:
>>> 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]
>>>
>>> Signed-off-by: Valentin Popa <valentin.popa@intel.com>
>>> ---
>>> meta/classes/image.bbclass | 13 ++++++++++++-
>>> meta/classes/image_types.bbclass | 13 +++++++++----
>>> 2 files changed, 21 insertions(+), 5 deletions(-)
>>>
>>> diff --git a/meta/classes/image.bbclass b/meta/classes/image.bbclass
>>> index f1e62f1..bbeb765 100644
>>> --- a/meta/classes/image.bbclass
>>> +++ b/meta/classes/image.bbclass
>>> @@ -87,7 +87,18 @@ 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_temp = "${@build_live(d)}"
>>> +IMAGE_TYPE_live = "${@base_contains("IMAGE_FSTYPES", "live", "live",
>>> "${IMAGE_TYPE_temp}", d)}"
>>> +
>> I don't think you need the _temp thing anymore since you have the live
>> check above, is that not correct?
>
> You are right, but tried to call "build_live" form "base_contains"
> and gave me "ExpansionError during parsing ..."
But you don't need the second base_contains since you have that line in
the build_live() function, you only need to set IMAGE_TYPE_live =
${@build_live(d)} now.
>>
>>> 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"
>>>
>> If live is still a valid type, why remove it from the IMAGE_TYPES list?
>>
> Because HOB displays everything that IMAGE_TYPES contains and is
> not ok to have both "live" and "iso & hddimg".
> Indeed this is a problem for the moment (that will be fixed with
> the part 2 of #3197 : "display only those image types that make sense")
> if the user selects to build only the "iso" , but the machine has "live"
> specified, both "iso" and "hddimg" will be built.
>
So are you saying there will be a patch in HOB that will just ignore the
live type?
Sau!
>> Sau!
>>
>>
>>> COMPRESSIONTYPES = "gz bz2 lzma xz"
>>> COMPRESS_CMD_lzma = "lzma -k -f -7 ${IMAGE_NAME}.rootfs.${type}"
>>>
>
>
>
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2013-09-23 14:58 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2013-09-19 13:31 [PATCH_V5] image types: split live into iso and hddimg Valentin Popa
2013-09-21 18:11 ` Saul Wold
2013-09-23 14:51 ` Valentin Popa
2013-09-23 14:58 ` Saul Wold
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox