For bug #165783, handle a potential InvalidDependString exception inside doebuild().
authorZac Medico <zmedico@gentoo.org>
Wed, 7 Feb 2007 22:24:06 +0000 (22:24 -0000)
committerZac Medico <zmedico@gentoo.org>
Wed, 7 Feb 2007 22:24:06 +0000 (22:24 -0000)
svn path=/main/trunk/; revision=5920

pym/portage/__init__.py

index 5ba744660002a43f864b6d6ebc3fea64e5adcd7c..1bcc0fafff23461135271b7bbc5a9b4fbd48b7f8 100644 (file)
@@ -2701,7 +2701,7 @@ def digestgen(myarchives, mysettings, overwrite=1, manifestonly=0, myportdb=None
                        try:
                                for myfile in fetchlist_dict[cpv]:
                                        distfiles_map.setdefault(myfile, []).append(cpv)
-                       except portage_exception.InvalidDependString, e:
+                       except portage.exception.InvalidDependString, e:
                                writemsg("!!! %s\n" % str(e), noiselevel=-1)
                                writemsg("!!! Invalid SRC_URI for '%s'.\n" % cpv, noiselevel=-1)
                                del e
@@ -3560,10 +3560,16 @@ def doebuild(myebuild, mydo, myroot, mysettings, debug=0, listonly=0,
                # Make sure we get the correct tree in case there are overlays.
                mytree = os.path.realpath(
                        os.path.dirname(os.path.dirname(mysettings["O"])))
-               newuris, alist = mydbapi.getfetchlist(
-                       mycpv, mytree=mytree, mysettings=mysettings)
-               alluris, aalist = mydbapi.getfetchlist(
-                       mycpv, mytree=mytree, all=True, mysettings=mysettings)
+               try:
+                       newuris, alist = mydbapi.getfetchlist(
+                               mycpv, mytree=mytree, mysettings=mysettings)
+                       alluris, aalist = mydbapi.getfetchlist(
+                               mycpv, mytree=mytree, all=True, mysettings=mysettings)
+               except portage.exception.InvalidDependString, e:
+                       writemsg("!!! %s\n" % str(e), noiselevel=-1)
+                       writemsg("!!! Invalid SRC_URI for '%s'.\n" % mycpv, noiselevel=-1)
+                       del e
+                       return 1
                mysettings["A"] = " ".join(alist)
                mysettings["AA"] = " ".join(aalist)
                if ("mirror" in features) or fetchall: