From: Zac Medico Date: Mon, 3 Aug 2009 21:20:22 +0000 (-0000) Subject: Bug #278729 - Inside dep_zapdeps(), ignore USE dependencies since we don't X-Git-Tag: v2.2_rc34~3 X-Git-Url: http://git.tremily.us/?a=commitdiff_plain;h=2ea19f1a1f6b44cd0ed4d518e7a9404c95d60d88;p=portage.git 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 --- 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),