diff options
author | Zac Medico <zmedico@gentoo.org> | 2008-07-21 02:39:05 +0000 |
---|---|---|
committer | Zac Medico <zmedico@gentoo.org> | 2008-07-21 02:39:05 +0000 |
commit | a8ac014ee7c32f58a82610892a4341fb3c4b8d8a (patch) | |
tree | f189fef2e162a91e9c96c1cffd815a50069cbc6c | |
parent | d46c1453cf8d9139d96450882545c2977160a827 (diff) | |
download | portage-a8ac014ee7c32f58a82610892a4341fb3c4b8d8a.tar.gz portage-a8ac014ee7c32f58a82610892a4341fb3c4b8d8a.tar.bz2 portage-a8ac014ee7c32f58a82610892a4341fb3c4b8d8a.zip |
Fix breakage in the depclean/prune unsatisfied deps handling.
svn path=/main/trunk/; revision=11154
-rw-r--r-- | pym/_emerge/__init__.py | 15 |
1 files changed, 8 insertions, 7 deletions
diff --git a/pym/_emerge/__init__.py b/pym/_emerge/__init__.py index a6bf4f021..85e8c8bda 100644 --- a/pym/_emerge/__init__.py +++ b/pym/_emerge/__init__.py @@ -4121,6 +4121,7 @@ class depgraph(object): self._circular_deps_for_display = None self._dep_stack = [] self._unsatisfied_deps = [] + self._initially_unsatisfied_deps = [] self._ignored_deps = [] self._required_set_names = set(["system", "world"]) self._select_atoms = self._select_atoms_highest_available @@ -5560,7 +5561,7 @@ class depgraph(object): dep = self._unsatisfied_deps.pop() matches = vardb.match_pkgs(dep.atom) if not matches: - # Initially unsatisfied. + self._initially_unsatisfied_deps.append(dep) continue # An scheduled installation broke a deep dependency. # Add the installed package to the graph so that it @@ -11604,17 +11605,17 @@ def action_depclean(settings, trees, ldpath_mtimes, if not success: return 1 - unresolveable = [] - for dep in resolver._unsatisfied_deps: - if isinstance(Package, dep.parent): - unresolveable.append(dep) + unresolveable = set() + for dep in resolver._initially_unsatisfied_deps: + if isinstance(dep.parent, Package): + unresolveable.add((dep.atom, dep.parent.cpv)) if unresolveable and not allow_missing_deps: print "Dependencies could not be completely resolved due to" print "the following required packages not being installed:" print - for dep in unresolveable: - print dep.atom, "required by", str(dep.parent) + for atom, parent in unresolveable: + print atom, "required by", str(parent) if unresolveable and not allow_missing_deps: print print "Have you forgotten to run " + good("`emerge --update --newuse --deep world`") + " prior to" |