summaryrefslogtreecommitdiffstats
path: root/pym/portage/__init__.py
diff options
context:
space:
mode:
authorZac Medico <zmedico@gentoo.org>2008-11-21 22:31:08 +0000
committerZac Medico <zmedico@gentoo.org>2008-11-21 22:31:08 +0000
commitf57360f4bf7488a47ee16dc64263aec9d7e7275f (patch)
tree37eda5d0051b7845566ba675c04f34c38df208a7 /pym/portage/__init__.py
parent545e33b9c3c47a312a38013fc02187929fd7e3e0 (diff)
downloadportage-f57360f4bf7488a47ee16dc64263aec9d7e7275f.tar.gz
portage-f57360f4bf7488a47ee16dc64263aec9d7e7275f.tar.bz2
portage-f57360f4bf7488a47ee16dc64263aec9d7e7275f.zip
Bug #248059 - Make --depclean more tolerant of invalid atoms in dependencies
of packages that will be uninstalled anyway. svn path=/main/trunk/; revision=12020
Diffstat (limited to 'pym/portage/__init__.py')
-rw-r--r--pym/portage/__init__.py12
1 files changed, 10 insertions, 2 deletions
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)