diff options
Diffstat (limited to 'pym/portage/dbapi/porttree.py')
-rw-r--r-- | pym/portage/dbapi/porttree.py | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/pym/portage/dbapi/porttree.py b/pym/portage/dbapi/porttree.py index ed9ed99a4..a9496c8eb 100644 --- a/pym/portage/dbapi/porttree.py +++ b/pym/portage/dbapi/porttree.py @@ -143,7 +143,7 @@ class portdbapi(dbapi): repository_map = {} self.treemap = treemap self._repository_map = repository_map - identically_named_paths = set() + identically_named_paths = {} for path in porttrees: if path in repository_map: continue @@ -160,7 +160,7 @@ class portdbapi(dbapi): if identically_named_path is not None: # The earlier one is discarded. del repository_map[identically_named_path] - identically_named_paths.add(identically_named_path) + identically_named_paths[identically_named_path] = repo_name if identically_named_path == porttrees[0]: # Found another repo with the same name as # $PORTDIR, so update porttrees[0] to match. @@ -171,6 +171,11 @@ class portdbapi(dbapi): # Ensure that each repo_name is unique. Later paths override # earlier ones that correspond to the same name. porttrees = [x for x in porttrees if x not in identically_named_paths] + ignored_map = {} + for path, repo_name in identically_named_paths.iteritems(): + ignored_map.setdefault(repo_name, []).append(path) + self._ignored_repos = tuple((repo_name, tuple(paths)) \ + for repo_name, paths in ignored_map.iteritems()) self.porttrees = porttrees porttree_root = porttrees[0] |