summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorZac Medico <zmedico@gentoo.org>2009-08-03 21:20:22 +0000
committerZac Medico <zmedico@gentoo.org>2009-08-03 21:20:22 +0000
commit2ea19f1a1f6b44cd0ed4d518e7a9404c95d60d88 (patch)
treef71b8f23445d95824f0e48c32dad09dce69067c2
parentf0d88cdd0befbefd94ba4a9769fac8e964a8d64f (diff)
downloadportage-2ea19f1a1f6b44cd0ed4d518e7a9404c95d60d88.tar.gz
portage-2ea19f1a1f6b44cd0ed4d518e7a9404c95d60d88.tar.bz2
portage-2ea19f1a1f6b44cd0ed4d518e7a9404c95d60d88.zip
Bug #278729 - Inside dep_zapdeps(), ignore USE dependencies since we don't
want USE settings to adversely affect || preference evaluation. Drop invalid atoms inside _expand_new_virtuals() since we only want real Atom instances inside dep_zapdeps(). svn path=/main/trunk/; revision=13881
-rw-r--r--pym/portage/__init__.py7
1 files changed, 6 insertions, 1 deletions
diff --git a/pym/portage/__init__.py b/pym/portage/__init__.py
index 28f42ba74..a327bd644 100644
--- a/pym/portage/__init__.py
+++ b/pym/portage/__init__.py
@@ -6918,6 +6918,9 @@ def _expand_new_virtuals(mysplit, edebug, mydbapi, mysettings, myroot="/",
if portage.dep._dep_check_strict:
raise portage.exception.ParseError(
"invalid atom: '%s'" % x)
+ else:
+ # Only real Atom instances are allowed past this point.
+ continue
else:
if x.blocker and x.blocker.overlap.forbid and \
eapi in ("0", "1") and portage.dep._dep_check_strict:
@@ -7139,7 +7142,9 @@ def dep_zapdeps(unreduced, reduced, myroot, use_binaries=0, trees=None):
for atom in atoms:
if atom[:1] == "!":
continue
- avail_pkg = mydbapi.match(atom)
+ # Ignore USE dependencies here since we don't want USE
+ # settings to adversely affect || preference evaluation.
+ avail_pkg = mydbapi.match(atom.without_use)
if avail_pkg:
avail_pkg = avail_pkg[-1] # highest (ascending order)
avail_slot = "%s:%s" % (dep_getkey(atom),