From 2d1007b33fcfc4b7f6bb84d2695e2111b995c763 Mon Sep 17 00:00:00 2001 From: Richard Purdie Date: Tue, 21 Dec 2010 00:52:10 +0000 Subject: bitbake/fetch: Only checksum downloads when they're first downloaded and a checksum is present Signed-off-by: Richard Purdie --- bitbake/lib/bb/fetch/__init__.py | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) (limited to 'bitbake/lib/bb/fetch') diff --git a/bitbake/lib/bb/fetch/__init__.py b/bitbake/lib/bb/fetch/__init__.py index 88212ffa3..8c10df4ff 100644 --- a/bitbake/lib/bb/fetch/__init__.py +++ b/bitbake/lib/bb/fetch/__init__.py @@ -247,9 +247,6 @@ def verify_checksum(u, ud, d): if not ud.type in ["http", "https", "ftp", "ftps"]: return - md5data = bb.utils.md5_file(ud.localpath) - sha256data = bb.utils.sha256_file(ud.localpath) - if (ud.md5_expected == None or ud.sha256_expected == None): bb.warn("Missing SRC_URI checksum for %s, consider to add\n" \ "SRC_URI[%s] = \"%s\"\nSRC_URI[%s] = \"%s\"" \ @@ -258,6 +255,9 @@ def verify_checksum(u, ud, d): raise FetchError("No checksum specified for %s." % u) return + md5data = bb.utils.md5_file(ud.localpath) + sha256data = bb.utils.sha256_file(ud.localpath) + if (ud.md5_expected != md5data or ud.sha256_expected != sha256data): bb.error("The checksums for '%s' did not match." % ud.localpath) bb.error("Expected MD5: '%s' and Got: '%s'" % (ud.md5_expected, md5data)) @@ -307,8 +307,6 @@ def go(d, urls = None): ud.localpath = localpath - verify_checksum(u, ud, d) - if os.path.exists(ud.md5): # Touch the md5 file to show active use of the download try: @@ -317,6 +315,8 @@ def go(d, urls = None): # Errors aren't fatal here pass else: + # Only check the checksums if we've not seen this item before + verify_checksum(u, ud, d) Fetch.write_md5sum(u, ud, d) bb.utils.unlockfile(lf) -- cgit v1.2.3