From 0ed807e70280efe2e1fe54221acc57fe6ba12ceb Mon Sep 17 00:00:00 2001 From: Zac Medico Date: Sun, 19 Oct 2008 17:33:14 +0000 Subject: Remove the "found_available_arg" variable from depgraph._select_pkg() and use the "matched_packages" variable instead. This solve a problem where the "found_available_arg" flag is unreliable due to the slot filtering behavior of depgraph._iter_atoms_for_pkg(). For example, a higher version in a different slot than the available ebuild might be masked or unavailable, and depgraph._iter_atoms_for_pkg() will not identify the available ebuild as a match due to this installed package (which is not available for reinstall). svn path=/main/trunk/; revision=11702 --- pym/_emerge/__init__.py | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) (limited to 'pym') diff --git a/pym/_emerge/__init__.py b/pym/_emerge/__init__.py index 03ee50eca..ca4550afb 100644 --- a/pym/_emerge/__init__.py +++ b/pym/_emerge/__init__.py @@ -5417,9 +5417,7 @@ class depgraph(object): # Therefore, "selective" logic does not consider # whether or not an installed package matches an # argument atom. It only considers whether or not - # available packages match argument atoms, which is - # represented by the found_available_arg flag. - found_available_arg = False + # available packages match argument atoms. for find_existing_node in True, False: if existing_node: break @@ -5428,7 +5426,7 @@ class depgraph(object): break if installed and not find_existing_node: want_reinstall = reinstall or empty or \ - (found_available_arg and not selective) + (matched_packages and not selective) if want_reinstall and matched_packages: continue if hasattr(db, "xmatch"): @@ -5568,8 +5566,6 @@ class depgraph(object): if not installed: # masked by corruption continue - if not installed and myarg: - found_available_arg = True if atom.use and not pkg.built: use = pkg.use.enabled -- cgit v1.2.3-1-g7c22