For bug #165783, handle a potential InvalidDependString exception inside digestgen...
authorZac Medico <zmedico@gentoo.org>
Wed, 7 Feb 2007 21:49:10 +0000 (21:49 -0000)
committerZac Medico <zmedico@gentoo.org>
Wed, 7 Feb 2007 21:49:10 +0000 (21:49 -0000)
svn path=/main/branches/2.1.2/; revision=5917

pym/portage.py

index f6dfdcf84792fbbc78f6978653ccde7ee4667613..bfacca09cc21684d270ca051a7a760f2df7c6578 100644 (file)
@@ -2671,9 +2671,15 @@ def digestgen(myarchives, mysettings, overwrite=1, manifestonly=0, myportdb=None
                _doebuild_manifest_exempt_depend += 1
                distfiles_map = {}
                fetchlist_dict = FetchlistDict(mysettings["O"], mysettings, myportdb)
-               for cpv, fetchlist in fetchlist_dict.iteritems():
-                       for myfile in fetchlist:
-                               distfiles_map.setdefault(myfile, []).append(cpv)
+               for cpv in fetchlist_dict:
+                       try:
+                               for myfile in fetchlist_dict[cpv]:
+                                       distfiles_map.setdefault(myfile, []).append(cpv)
+                       except portage_exception.InvalidDependString, e:
+                               writemsg("!!! %s\n" % str(e), noiselevel=-1)
+                               writemsg("!!! Invalid SRC_URI for '%s'.\n" % cpv, noiselevel=-1)
+                               del e
+                               return 0
                mf = Manifest(mysettings["O"], mysettings["DISTDIR"],
                        fetchlist_dict=fetchlist_dict)
                # Don't require all hashes since that can trigger excessive