diff options
author | Richard Purdie <richard.purdie@linuxfoundation.org> | 2017-06-12 11:03:55 +0100 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2017-06-12 15:08:32 +0100 |
commit | 437f9cdbaf082974a2a0c1d17e1010b6fab9fe91 (patch) | |
tree | 4d7b72946ba26d588153c91ab0f6525f56af4f6b | |
parent | 545f976943be554508d332dbd36d7e42511b775c (diff) | |
download | poky-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.bbclass | 2 | ||||
-rw-r--r-- | meta/classes/nativesdk.bbclass | 2 |
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-", "")) |