Make depclean code filter out blocker atoms where appropriate.
authorZac Medico <zmedico@gentoo.org>
Sat, 16 Feb 2008 07:53:40 +0000 (07:53 -0000)
committerZac Medico <zmedico@gentoo.org>
Sat, 16 Feb 2008 07:53:40 +0000 (07:53 -0000)
svn path=/main/trunk/; revision=9340

pym/_emerge/__init__.py

index 9177a090d3aff85a286dc9f4f5b7f0603c0b1ae8..19dfc23e6e7bec0f5989dbb07ed2f2f514153be0 100644 (file)
@@ -6414,7 +6414,7 @@ def action_depclean(settings, trees, ldpath_mtimes,
                atom, parent, priority = remaining_atoms.pop()
                pkgs = vardb.match(atom)
                if not pkgs:
-                       if not atom.startswith("!") and priority > UnmergeDepPriority.SOFT:
+                       if priority > UnmergeDepPriority.SOFT:
                                unresolveable.setdefault(atom, []).append(parent)
                        continue
                if action == "depclean" and parent == "world" and myfiles:
@@ -6491,6 +6491,8 @@ def action_depclean(settings, trees, ldpath_mtimes,
                                        print "Candidates:", atoms
 
                                for atom in atoms:
+                                       if atom.startswith("!"):
+                                               continue
                                        remaining_atoms.append((atom, pkg, priority))
 
        if "--quiet" not in myopts:
@@ -6607,6 +6609,8 @@ def action_depclean(settings, trees, ldpath_mtimes,
 
                                priority = priority_map[dep_type]
                                for atom in atoms:
+                                       if atom.startswith("!"):
+                                               continue
                                        matches = vardb.match(atom)
                                        if not matches:
                                                continue