Bug #308415 - Fix broken uri parameter passed to fetch () for some cases when
authorZac Medico <zmedico@gentoo.org>
Mon, 8 Mar 2010 06:56:09 +0000 (06:56 -0000)
committerZac Medico <zmedico@gentoo.org>
Mon, 8 Mar 2010 06:56:09 +0000 (06:56 -0000)
using ebuild(1).

svn path=/main/trunk/; revision=15755

pym/portage/package/ebuild/doebuild.py

index a381052a19578d454a9115be4611a4b346712653..4ca74e591b27516bc0a291a93505d66497432d54 100644 (file)
@@ -810,7 +810,8 @@ def doebuild(myebuild, mydo, myroot, mysettings, debug=0, listonly=0,
                        mydo not in ("digest", "manifest") and "noauto" not in features)
                alist = mysettings.configdict["pkg"].get("A")
                aalist = mysettings.configdict["pkg"].get("AA")
-               if alist is None or aalist is None:
+               if alist is None or aalist is None or \
+                       (not emerge_skip_distfiles and need_distfiles):
                        # Make sure we get the correct tree in case there are overlays.
                        mytree = os.path.realpath(
                                os.path.dirname(os.path.dirname(mysettings["O"])))
@@ -827,25 +828,26 @@ def doebuild(myebuild, mydo, myroot, mysettings, debug=0, listonly=0,
                                return 1
                        mysettings.configdict["pkg"]["A"] = " ".join(alist)
                        mysettings.configdict["pkg"]["AA"] = " ".join(aalist)
+
+                       if not emerge_skip_distfiles and need_distfiles:
+                               if "mirror" in features or fetchall:
+                                       fetchme = aalist
+                               else:
+                                       fetchme = alist
+                               if not fetch(fetchme, mysettings, listonly=listonly,
+                                       fetchonly=fetchonly):
+                                       return 1
+
                else:
                        alist = set(alist.split())
                        aalist = set(aalist.split())
-               if ("mirror" in features) or fetchall:
-                       fetchme = aalist
-                       checkme = aalist
-               else:
-                       fetchme = alist
-                       checkme = alist
 
                if mydo == "fetch":
                        # Files are already checked inside fetch(),
                        # so do not check them again.
                        checkme = []
-
-               if not emerge_skip_distfiles and \
-                       need_distfiles and not fetch(
-                       fetchme, mysettings, listonly=listonly, fetchonly=fetchonly):
-                       return 1
+               else:
+                       checkme = alist
 
                if mydo == "fetch" and listonly:
                        return 0