summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--pym/_emerge/__init__.py9
-rw-r--r--pym/portage/__init__.py12
2 files changed, 14 insertions, 7 deletions
diff --git a/pym/_emerge/__init__.py b/pym/_emerge/__init__.py
index 349263361..44bbe1763 100644
--- a/pym/_emerge/__init__.py
+++ b/pym/_emerge/__init__.py
@@ -12776,11 +12776,10 @@ def action_depclean(settings, trees, ldpath_mtimes,
finally:
portage.dep._dep_check_strict = True
if not success:
- show_invalid_depstring_notice(
- ("installed", myroot, node, "nomerge"),
- depstr, atoms)
- return
-
+ # Ignore invalid deps of packages that will
+ # be uninstalled anyway.
+ continue
+
priority = priority_map[dep_type]
for atom in atoms:
if not isinstance(atom, portage.dep.Atom):
diff --git a/pym/portage/__init__.py b/pym/portage/__init__.py
index d53ac9b25..76ff91233 100644
--- a/pym/portage/__init__.py
+++ b/pym/portage/__init__.py
@@ -6614,8 +6614,16 @@ def dep_check(depstring, mydbapi, mysettings, use="yes", mode=None, myuse=None,
writemsg("mysplit: %s\n" % (mysplit), 1)
writemsg("mysplit2: %s\n" % (mysplit2), 1)
- myzaps = dep_zapdeps(mysplit, mysplit2, myroot,
- use_binaries=use_binaries, trees=trees)
+ try:
+ myzaps = dep_zapdeps(mysplit, mysplit2, myroot,
+ use_binaries=use_binaries, trees=trees)
+ except portage.exception.InvalidAtom, e:
+ if portage.dep._dep_check_strict:
+ raise # This shouldn't happen.
+ # dbapi.match() failed due to an invalid atom in
+ # the dependencies of an installed package.
+ return [0, "Invalid atom: '%s'" % (e,)]
+
mylist = flatten(myzaps)
writemsg("myzaps: %s\n" % (myzaps), 1)
writemsg("mylist: %s\n" % (mylist), 1)