summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorZac Medico <zmedico@gentoo.org>2010-10-05 20:06:04 -0700
committerZac Medico <zmedico@gentoo.org>2010-10-06 16:25:41 -0700
commitc15dc09471673d3517703ac522a415f130946bf9 (patch)
treefe2249e1b642ad4a31f7fbeaa0c015a6c415a829
parent37a337761cb32c7f7ab2d9aa2b9f9eeecbdf4e1c (diff)
downloadportage-c15dc09471673d3517703ac522a415f130946bf9.tar.gz
portage-c15dc09471673d3517703ac522a415f130946bf9.tar.bz2
portage-c15dc09471673d3517703ac522a415f130946bf9.zip
Fix ebuild(1) to handle layout.conf masters.
-rwxr-xr-xbin/ebuild9
1 files changed, 6 insertions, 3 deletions
diff --git a/bin/ebuild b/bin/ebuild
index 12375a55d..d8ab5ef12 100755
--- a/bin/ebuild
+++ b/bin/ebuild
@@ -149,9 +149,12 @@ if ebuild_portdir != vdb_path and \
print("Appending %s to PORTDIR_OVERLAY..." % ebuild_portdir)
portage.close_portdbapi_caches()
imp.reload(portage)
-del portage.portdb.porttrees[1:]
-if ebuild_portdir != portage.portdb.porttree_root:
- portage.portdb.porttrees.append(ebuild_portdir)
+
+# Constrain eclass resolution to the master(s)
+# that are specified in layout.conf (using an
+# approach similar to repoman's).
+repo_info = portage.portdb._repo_info[ebuild_portdir]
+portage.portdb.porttrees = list(repo_info.eclass_db.porttrees)
if not os.path.exists(ebuild):
print("'%s' does not exist." % ebuild)