diff options
author | Zac Medico <zmedico@gentoo.org> | 2009-06-30 23:22:52 +0000 |
---|---|---|
committer | Zac Medico <zmedico@gentoo.org> | 2009-06-30 23:22:52 +0000 |
commit | 7c6397ea17d3b62ca07b2980b921170fff0cb361 (patch) | |
tree | 740e7dd9db19d2aa6ba96ba08c9e4e95780ff0d3 /pym/portage | |
parent | 03031782022dc12fceebc00830f0dfc7aaebee61 (diff) | |
download | portage-7c6397ea17d3b62ca07b2980b921170fff0cb361.tar.gz portage-7c6397ea17d3b62ca07b2980b921170fff0cb361.tar.bz2 portage-7c6397ea17d3b62ca07b2980b921170fff0cb361.zip |
Always use dep_getkey() when using profile virtuals values, since at least
/profiles/base/virtuals contains an atom with an operator (virtual/pam maps
to >=sys-libs/pam-0.78).
svn path=/main/trunk/; revision=13750
Diffstat (limited to 'pym/portage')
-rw-r--r-- | pym/portage/__init__.py | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/pym/portage/__init__.py b/pym/portage/__init__.py index 0d095149c..69b8fda11 100644 --- a/pym/portage/__init__.py +++ b/pym/portage/__init__.py @@ -6848,7 +6848,7 @@ def dep_virtual(mysplit, mysettings): mychoices = myvirtuals.get(mykey, None) if mychoices: if len(mychoices) == 1: - a = x.replace(mykey, mychoices[0]) + a = x.replace(mykey, dep_getkey(mychoices[0]), 1) else: if x[0]=="!": # blocker needs "and" not "or(||)". @@ -6856,7 +6856,7 @@ def dep_virtual(mysplit, mysettings): else: a=['||'] for y in mychoices: - a.append(x.replace(mykey, y)) + a.append(x.replace(mykey, dep_getkey(y), 1)) newsplit.append(a) else: newsplit.append(x) @@ -7017,7 +7017,8 @@ def _expand_new_virtuals(mysplit, edebug, mydbapi, mysettings, myroot="/", a.append(portage.dep.Atom(x.replace(mykey, y, 1))) else: for y in mychoices: - new_atom = portage.dep.Atom(x.replace(mykey, y, 1)) + new_atom = portage.dep.Atom( + x.replace(mykey, dep_getkey(y), 1)) matches = portdb.match(new_atom) # portdb is an instance of depgraph._dep_check_composite_db, so # USE conditionals are already evaluated. @@ -7028,7 +7029,7 @@ def _expand_new_virtuals(mysplit, edebug, mydbapi, mysettings, myroot="/", if not a and not isblocker and mychoices: # Check for a virtual package.provided match. for y in mychoices: - new_atom = portage.dep.Atom(x.replace(mykey, y, 1)) + new_atom = portage.dep.Atom(x.replace(mykey, dep_getkey(y), 1)) if match_from_list(new_atom, pprovideddict.get(new_atom.cp, [])): a.append(new_atom) |