From: Richard Purdie Date: Mon, 9 May 2016 13:07:17 +0000 (+0100) Subject: lib/bb/utils.py: Fix explode_dep_versions2() determinism issue X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=0737e003ca549d08a7dfe13452ae982f2e11fecd;p=thirdparty%2Fopenembedded%2Fopenembedded-core-contrib.git lib/bb/utils.py: Fix explode_dep_versions2() determinism issue When we pass data into explode_dep_versions2(), we need to result to be able to be processed in a deterministic way so that we end up with consistent hash values. This means we need an ordered structure rather than an unordered one. To do this, return an OrderedDict() rather than a dict(). Signed-off-by: Richard Purdie --- diff --git a/lib/bb/utils.py b/lib/bb/utils.py index 2abf518eceb..0c553dd765c 100644 --- a/lib/bb/utils.py +++ b/lib/bb/utils.py @@ -36,6 +36,7 @@ import traceback import errno import signal import ast +import collections from commands import getstatusoutput from contextlib import contextmanager from ctypes import cdll @@ -192,7 +193,7 @@ def explode_dep_versions2(s): "DEPEND1 (optional version) DEPEND2 (optional version) ..." and return a dictionary of dependencies and versions. """ - r = {} + r = collections.OrderedDict() l = s.replace(",", "").split() lastdep = None lastcmp = ""