diff options
author | Zac Medico <zmedico@gentoo.org> | 2010-10-05 20:06:04 -0700 |
---|---|---|
committer | Zac Medico <zmedico@gentoo.org> | 2010-10-06 16:25:41 -0700 |
commit | c15dc09471673d3517703ac522a415f130946bf9 (patch) | |
tree | fe2249e1b642ad4a31f7fbeaa0c015a6c415a829 | |
parent | 37a337761cb32c7f7ab2d9aa2b9f9eeecbdf4e1c (diff) | |
download | portage-c15dc09471673d3517703ac522a415f130946bf9.tar.gz portage-c15dc09471673d3517703ac522a415f130946bf9.tar.bz2 portage-c15dc09471673d3517703ac522a415f130946bf9.zip |
Fix ebuild(1) to handle layout.conf masters.
-rwxr-xr-x | bin/ebuild | 9 |
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) |