summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRichard Purdie <richard.purdie@linuxfoundation.org>2017-06-12 11:03:55 +0100
committerRichard Purdie <richard.purdie@linuxfoundation.org>2017-06-12 15:08:32 +0100
commit437f9cdbaf082974a2a0c1d17e1010b6fab9fe91 (patch)
tree4d7b72946ba26d588153c91ab0f6525f56af4f6b
parent545f976943be554508d332dbd36d7e42511b775c (diff)
downloadpoky-437f9cdbaf082974a2a0c1d17e1010b6fab9fe91.tar.gz
native/nativesdk: Ensure DISTRO_FEATURES is determistic
set() order is random and hence the filtered native/nativesdk DISTRO_FEATURES could be set to random ordering. We've been lucky so far this tended not to cause issues but some queued changes highedlighted this. Thrown in a sorted() so the order is deterministic and we get consistent hash checksums between runs and between machines. (From OE-Core rev: 76391673754cf6a01d68eedbd4181e543fa2f427) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
-rw-r--r--meta/classes/native.bbclass2
-rw-r--r--meta/classes/nativesdk.bbclass2
2 files changed, 2 insertions, 2 deletions
diff --git a/meta/classes/native.bbclass b/meta/classes/native.bbclass
index b8f839a8b2..6b7f3dd76e 100644
--- a/meta/classes/native.bbclass
+++ b/meta/classes/native.bbclass
@@ -129,7 +129,7 @@ python native_virtclass_handler () {
129 # from modifying native distro features 129 # from modifying native distro features
130 features = set(d.getVar("DISTRO_FEATURES_NATIVE").split()) 130 features = set(d.getVar("DISTRO_FEATURES_NATIVE").split())
131 filtered = set(bb.utils.filter("DISTRO_FEATURES", d.getVar("DISTRO_FEATURES_FILTER_NATIVE"), d).split()) 131 filtered = set(bb.utils.filter("DISTRO_FEATURES", d.getVar("DISTRO_FEATURES_FILTER_NATIVE"), d).split())
132 d.setVar("DISTRO_FEATURES", " ".join(features | filtered)) 132 d.setVar("DISTRO_FEATURES", " ".join(sorted(features | filtered)))
133 133
134 classextend = e.data.getVar('BBCLASSEXTEND') or "" 134 classextend = e.data.getVar('BBCLASSEXTEND') or ""
135 if "native" not in classextend: 135 if "native" not in classextend:
diff --git a/meta/classes/nativesdk.bbclass b/meta/classes/nativesdk.bbclass
index 655b4560e7..69fb45c8a5 100644
--- a/meta/classes/nativesdk.bbclass
+++ b/meta/classes/nativesdk.bbclass
@@ -74,7 +74,7 @@ python nativesdk_virtclass_handler () {
74 # from modifying nativesdk distro features 74 # from modifying nativesdk distro features
75 features = set(d.getVar("DISTRO_FEATURES_NATIVESDK").split()) 75 features = set(d.getVar("DISTRO_FEATURES_NATIVESDK").split())
76 filtered = set(bb.utils.filter("DISTRO_FEATURES", d.getVar("DISTRO_FEATURES_FILTER_NATIVESDK"), d).split()) 76 filtered = set(bb.utils.filter("DISTRO_FEATURES", d.getVar("DISTRO_FEATURES_FILTER_NATIVESDK"), d).split())
77 d.setVar("DISTRO_FEATURES", " ".join(features | filtered)) 77 d.setVar("DISTRO_FEATURES", " ".join(sorted(features | filtered)))
78 78
79 e.data.setVar("MLPREFIX", "nativesdk-") 79 e.data.setVar("MLPREFIX", "nativesdk-")
80 e.data.setVar("PN", "nativesdk-" + e.data.getVar("PN").replace("-nativesdk", "").replace("nativesdk-", "")) 80 e.data.setVar("PN", "nativesdk-" + e.data.getVar("PN").replace("-nativesdk", "").replace("nativesdk-", ""))