From: Zac Medico Date: Mon, 3 Jul 2006 01:45:38 +0000 (-0000) Subject: Force fetch if the number of parsed digests does not match the number of digest types... X-Git-Tag: v2.1.1~295 X-Git-Url: http://git.tremily.us/?a=commitdiff_plain;h=18fd0daa76e68e1732677cef820bc7c4800ffe7c;p=portage.git Force fetch if the number of parsed digests does not match the number of digest types that are supported. See bug #138911. svn path=/main/trunk/; revision=3773 --- diff --git a/pym/portage.py b/pym/portage.py index b995ab054..0948f4fed 100644 --- a/pym/portage.py +++ b/pym/portage.py @@ -4,7 +4,7 @@ # $Id$ -VERSION="$Rev$"[6:-2] + "-svn" +VERSION="2.1.1_pre2-r2" # =========================================================================== # START OF IMPORTS -- START OF IMPORTS -- START OF IMPORTS -- START OF IMPORT @@ -2813,13 +2813,15 @@ def doebuild(myebuild, mydo, myroot, mysettings, debug=0, listonly=0, 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] + mf = Manifest(mysettings["O"], mysettings["DISTDIR"]) + mydigests = mf.getTypeDigests("DIST") + for filename, hashes in mydigests.iteritems(): + if len(hashes) == len(mf.hashes): + while filename in checkme: + i = checkme.index(filename) + del fetchme[i] + del checkme[i] + del filename, hashes else: fetchme=newuris[:] checkme=alist[:]