[OE-core] [PATCH 1/2] image.bbclass: Correct chaining compression support
Martin Hundebøll
mnhu at prevas.dk
Tue Sep 19 09:23:33 UTC 2017
Hi Tom,
On 2017-07-22 00:06, Tom Rini wrote:
> diff --git a/meta/classes/image.bbclass b/meta/classes/image.bbclass
> index de535ce6fcff..bd6a5b7b810a 100644
> --- a/meta/classes/image.bbclass
> +++ b/meta/classes/image.bbclass
> @@ -453,7 +453,7 @@ python () {
> rm_tmp_images = set()
> def gen_conversion_cmds(bt):
> for ctype in ctypes:
> - if bt[bt.find('.') + 1:] == ctype:
> + if bt.endswith("." + ctype):
> type = bt[0:-len(ctype) - 1]
> if type.startswith("debugfs_"):
> type = type[8:]
This is the change that in fact messes with our cpio.gz.u-boot image
types, causing base hash changes.
I suspect the changed if-check to be too permissive. In our case, it now
matches any ctype that ends with ".u-boot", and not just "gz.u-boot" as
set in IMAGE_FSTYPES.
Wouldn't it be correct to match on the entire bt variable? I.e.
diff --git a/meta/classes/image.bbclass b/meta/classes/image.bbclass
index ef2b38aeaf..818932f7f1 100644
--- a/meta/classes/image.bbclass
+++ b/meta/classes/image.bbclass
@@ -454,7 +454,7 @@ python () {
rm_tmp_images = set()
def gen_conversion_cmds(bt):
for ctype in ctypes:
- if bt.endswith("." + ctype):
+ if bt.split('.', 1) == [t, ctype]:
type = bt[0:-len(ctype) - 1]
if type.startswith("debugfs_"):
type = type[8:]
This works for me, preliminary tested with the following fs types
configured:
IMAGE_FSTYPES = "cpio.gz.u-boot"
IMAGE_FSTYPES = "tar cpio cpio.gz cpio.gz.u-boot"
IMAGE_FSTYPES = "tar cpio cpio.gz cpio.gz.u-boot tar.bz2 jffs2 wic
wic.bmap"
// Martin
More information about the Openembedded-core
mailing list