diff options
author | Zac Medico <zmedico@gentoo.org> | 2012-10-08 19:01:45 -0700 |
---|---|---|
committer | Zac Medico <zmedico@gentoo.org> | 2012-10-08 19:01:45 -0700 |
commit | 960792b9fd0e11b16efdc0b538231288b8727862 (patch) | |
tree | 252d9fb260d8cbc35665db1bc1ea04fa8add33de | |
parent | 3af5846c3c0c10b0cf80ca2e1921b9b7918bc277 (diff) | |
download | portage-960792b9fd0e11b16efdc0b538231288b8727862.tar.gz portage-960792b9fd0e11b16efdc0b538231288b8727862.tar.bz2 portage-960792b9fd0e11b16efdc0b538231288b8727862.zip |
_parse_uri_map: preserve order of URIs
Returns a dict of tuples instead of a dict of sets.
-rw-r--r-- | pym/portage/dbapi/porttree.py | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/pym/portage/dbapi/porttree.py b/pym/portage/dbapi/porttree.py index dba0ef53d..a5945be59 100644 --- a/pym/portage/dbapi/porttree.py +++ b/pym/portage/dbapi/porttree.py @@ -1138,9 +1138,14 @@ def _parse_uri_map(cpv, metadata, use=None): uri_set = uri_map.get(distfile) if uri_set is None: - uri_set = set() + # Use OrderedDict to preserve order from SRC_URI + # while ensuring uniqueness. + uri_set = OrderedDict() uri_map[distfile] = uri_set - uri_set.add(uri) - uri = None + uri_set[uri] = True + + # Convert OrderedDicts to tuples. + for k, v in uri_map.items(): + uri_map[k] = tuple(v) return uri_map |