summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorZac Medico <zmedico@gentoo.org>2012-06-22 00:18:11 -0700
committerZac Medico <zmedico@gentoo.org>2012-06-22 00:18:11 -0700
commit003e95562216045408d8d2dd09afeac2311383fc (patch)
tree3614175f0b153790e154eec156495238a03c538a
parent330663fa23dc8da228789c984e442430d90035a0 (diff)
downloadportage-003e95562216045408d8d2dd09afeac2311383fc.tar.gz
portage-003e95562216045408d8d2dd09afeac2311383fc.tar.bz2
portage-003e95562216045408d8d2dd09afeac2311383fc.zip
getportageversion: handle repo: in parent file
-rw-r--r--pym/_emerge/actions.py15
1 files changed, 15 insertions, 0 deletions
diff --git a/pym/_emerge/actions.py b/pym/_emerge/actions.py
index a689b7b1a..7ad28e62d 100644
--- a/pym/_emerge/actions.py
+++ b/pym/_emerge/actions.py
@@ -2807,6 +2807,7 @@ def relative_profile_path(portdir, abs_profile):
def getportageversion(portdir, _unused, profile, chost, vardb):
profilever = None
+ repositories = vardb.settings.repositories
if profile:
profilever = relative_profile_path(portdir, profile)
if profilever is None:
@@ -2817,6 +2818,20 @@ def getportageversion(portdir, _unused, profile, chost, vardb):
os.path.join(profile, parent))
if profilever is not None:
break
+ colon = parent.find(":")
+ if colon != -1:
+ p_repo_name = parent[:colon]
+ try:
+ p_repo_loc = \
+ repositories.get_location_for_name(p_repo_name)
+ except KeyError:
+ pass
+ else:
+ profilever = relative_profile_path(p_repo_loc,
+ os.path.join(p_repo_loc, 'profiles',
+ parent[colon+1:]))
+ if profilever is not None:
+ break
except portage.exception.PortageException:
pass