diff options
author | Zac Medico <zmedico@gentoo.org> | 2006-07-03 01:45:38 +0000 |
---|---|---|
committer | Zac Medico <zmedico@gentoo.org> | 2006-07-03 01:45:38 +0000 |
commit | 18fd0daa76e68e1732677cef820bc7c4800ffe7c (patch) | |
tree | 61cb8af272e0980893633e98d0c87e8a9d100440 | |
parent | eb28c2231f2d7ebf2decbe0c1fcd8dc0fb54a347 (diff) | |
download | portage-18fd0daa76e68e1732677cef820bc7c4800ffe7c.tar.gz portage-18fd0daa76e68e1732677cef820bc7c4800ffe7c.tar.bz2 portage-18fd0daa76e68e1732677cef820bc7c4800ffe7c.zip |
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
-rw-r--r-- | pym/portage.py | 18 |
1 files changed, 10 insertions, 8 deletions
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[:] |