diff options
author | Zac Medico <zmedico@gentoo.org> | 2012-06-22 00:18:11 -0700 |
---|---|---|
committer | Zac Medico <zmedico@gentoo.org> | 2012-06-22 00:18:11 -0700 |
commit | 003e95562216045408d8d2dd09afeac2311383fc (patch) | |
tree | 3614175f0b153790e154eec156495238a03c538a | |
parent | 330663fa23dc8da228789c984e442430d90035a0 (diff) | |
download | portage-003e95562216045408d8d2dd09afeac2311383fc.tar.gz portage-003e95562216045408d8d2dd09afeac2311383fc.tar.bz2 portage-003e95562216045408d8d2dd09afeac2311383fc.zip |
getportageversion: handle repo: in parent file
-rw-r--r-- | pym/_emerge/actions.py | 15 |
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 |