summaryrefslogtreecommitdiffstats
path: root/pym/portage/repository
diff options
context:
space:
mode:
authorZac Medico <zmedico@gentoo.org>2011-12-13 14:19:05 -0800
committerZac Medico <zmedico@gentoo.org>2011-12-13 14:19:05 -0800
commit84dc400e53a715294615942021b8d0816e68e699 (patch)
tree34288ffd73947658fd148baad0141e73d0164784 /pym/portage/repository
parent4d9c153df82200d76684b6a9de69994c5f325971 (diff)
downloadportage-84dc400e53a715294615942021b8d0816e68e699.tar.gz
portage-84dc400e53a715294615942021b8d0816e68e699.tar.bz2
portage-84dc400e53a715294615942021b8d0816e68e699.zip
RepoConfigLoader: masters eclass override order
Only append the current repo to eclass_locations if it's not there already. This allows masters to have more control over eclass override order, which may be useful for scenarios in which there is a plan to migrate eclasses to a master repo. Thanks to Brian Harring <ferringb@gentoo.org) for suggesting this behavior.
Diffstat (limited to 'pym/portage/repository')
-rw-r--r--pym/portage/repository/config.py7
1 files changed, 6 insertions, 1 deletions
diff --git a/pym/portage/repository/config.py b/pym/portage/repository/config.py
index 4a8d8666e..0222253e2 100644
--- a/pym/portage/repository/config.py
+++ b/pym/portage/repository/config.py
@@ -531,7 +531,12 @@ class RepoConfigLoader(object):
eclass_locations = []
eclass_locations.extend(master_repo.location for master_repo in repo.masters)
- eclass_locations.append(repo.location)
+ # Only append the current repo to eclass_locations if it's not
+ # there already. This allows masters to have more control over
+ # eclass override order, which may be useful for scenarios in
+ # which there is a plan to migrate eclasses to a master repo.
+ if repo.location not in eclass_locations:
+ eclass_locations.append(repo.location)
if repo.eclass_overrides:
for other_repo_name in repo.eclass_overrides: