summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRichard Purdie <richard.purdie@linuxfoundation.org>2016-05-09 14:09:37 +0100
committerRichard Purdie <richard.purdie@linuxfoundation.org>2016-05-11 10:08:30 +0100
commitb08344e28dd33e3af5596007b11185d04fce255e (patch)
treec33973b3de6cd25faef87ab3b24a1cb4381a3f04
parent0a1b02fab0e2604cd55ea6f45d764a864599213a (diff)
downloadopenembedded-core-b08344e28dd33e3af5596007b11185d04fce255e.tar.gz
openembedded-core-b08344e28dd33e3af5596007b11185d04fce255e.tar.bz2
openembedded-core-b08344e28dd33e3af5596007b11185d04fce255e.zip
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 <richard.purdie@linuxfoundation.org>
-rw-r--r--meta/classes/image.bbclass2
1 files changed, 1 insertions, 1 deletions
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 ""