diff options
-rw-r--r-- | pym/portage/__init__.py | 7 |
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), |