Make FEATURES=cvs cause all distfiles to be fetched if necessary (just like `ebuild...
authorZac Medico <zmedico@gentoo.org>
Thu, 27 Apr 2006 13:50:12 +0000 (13:50 -0000)
committerZac Medico <zmedico@gentoo.org>
Thu, 27 Apr 2006 13:50:12 +0000 (13:50 -0000)
svn path=/main/trunk/; revision=3251

pym/portage.py

index 0a2ddaf5c1a93328f765b92f71d07d5099ca62f7..67615a5d9f7cb57a6c2f1f60694cad65b6d86fa3 100644 (file)
@@ -2684,18 +2684,17 @@ def doebuild(myebuild, mydo, myroot, mysettings, debug=0, listonly=0,
        if ("mirror" in features) or fetchall:
                fetchme=alluris[:]
                checkme=aalist[:]
-       elif mydo=="digest":
-               fetchme=alluris[:]
-               checkme=aalist[:]
-               digestfn=mysettings["FILESDIR"]+"/digest-"+mysettings["PF"]
-               if os.path.exists(digestfn):
-                       mydigests=digestParseFile(digestfn)
-                       if mydigests:
-                               for x in mydigests:
-                                       while x in checkme:
-                                               i = checkme.index(x)
-                                               del fetchme[i]
-                                               del checkme[i]
+       elif mydo == "digest" or "cvs" in mysettings.features:
+               fetchme = alluris[:]
+               checkme = aalist[:]
+               # Skip files that we already have digests for.
+               mydigests = Manifest(
+                       mysettings["O"], mysettings["DISTDIR"]).getTypeDigests("DIST")
+               for x in mydigests:
+                       while x in checkme:
+                               i = checkme.index(x)
+                               del fetchme[i]
+                               del checkme[i]
        else:
                fetchme=newuris[:]
                checkme=alist[:]