diff options
author | Zac Medico <zmedico@gentoo.org> | 2009-08-03 21:20:22 +0000 |
---|---|---|
committer | Zac Medico <zmedico@gentoo.org> | 2009-08-03 21:20:22 +0000 |
commit | 2ea19f1a1f6b44cd0ed4d518e7a9404c95d60d88 (patch) | |
tree | f71b8f23445d95824f0e48c32dad09dce69067c2 /pym/portage | |
parent | f0d88cdd0befbefd94ba4a9769fac8e964a8d64f (diff) | |
download | portage-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
Diffstat (limited to 'pym/portage')
-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), |