From: Richard Purdie Date: Mon, 9 May 2016 13:09:37 +0000 (+0100) Subject: image: Fix IMAGE_FEATURES determinism issue X-Git-Tag: uninative-1.0~118 X-Git-Url: https://code.ossystems.io/gitweb?a=commitdiff_plain;h=b08344e28dd33e3af5596007b11185d04fce255e;p=openembedded-core.git image: Fix IMAGE_FEATURES determinism issue remain_features uses a dict which means the order is not deterministic. This can lead to the task hash changing depending on the state of the memory at parse time. This is particularly noticeable under python v3. Since the dict is helpful in constructing the data, pass the data through sort() so the order is always deterministic. Signed-off-by: Richard Purdie --- diff --git a/meta/classes/image.bbclass b/meta/classes/image.bbclass index 4542e95d1e..6b9f9798db 100644 --- a/meta/classes/image.bbclass +++ b/meta/classes/image.bbclass @@ -166,7 +166,7 @@ python () { if temp: bb.fatal("%s contains conflicting IMAGE_FEATURES %s %s" % (d.getVar('PN', True), feature, ' '.join(list(temp)))) - d.setVar('IMAGE_FEATURES', ' '.join(list(remain_features))) + d.setVar('IMAGE_FEATURES', ' '.join(sorted(list(remain_features)))) check_image_features(d) initramfs_image = d.getVar('INITRAMFS_IMAGE', True) or ""