From fdd757dd2830874157b9c8282b6ff0757bc7c888 Mon Sep 17 00:00:00 2001 From: Christian Kellner Date: Sun, 20 Jun 2021 11:53:32 +0000 Subject: [PATCH] tools/mpp: sort the source urls Sort the checksum: urls dictionary via the url, so that no matter where the urls came from (import or any dep-solve section), the checksum: url dict is the same for the same set of urls. --- tools/mpp.py | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/tools/mpp.py b/tools/mpp.py index d2bca79c..628c8275 100755 --- a/tools/mpp.py +++ b/tools/mpp.py @@ -316,7 +316,23 @@ class ManifestFile: return checksums + def sort_urls(self): + def get_sort_key(item): + key = item[1] + if isinstance(key, dict): + key = key["url"] + return key + + urls = self.source_urls + if not urls: + return urls + + urls_sorted = sorted(urls.items(), key=get_sort_key) + urls.clear() + urls.update(collections.OrderedDict(urls_sorted)) + def write(self, file, sort_keys=False): + self.sort_urls() json.dump(self.root, file, indent=2, sort_keys=sort_keys) file.write("\n")