summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--bitbake/lib/bb/fetch/__init__.py18
1 files changed, 7 insertions, 11 deletions
diff --git a/bitbake/lib/bb/fetch/__init__.py b/bitbake/lib/bb/fetch/__init__.py
index 387de669e1..708e397264 100644
--- a/bitbake/lib/bb/fetch/__init__.py
+++ b/bitbake/lib/bb/fetch/__init__.py
@@ -231,7 +231,7 @@ def removefile(f):
231 except: 231 except:
232 pass 232 pass
233 233
234def verify_checksum(d, ud): 234def verify_checksum(u, ud, d):
235 """ 235 """
236 verify the MD5 and SHA256 checksum for downloaded src 236 verify the MD5 and SHA256 checksum for downloaded src
237 237
@@ -245,7 +245,7 @@ def verify_checksum(d, ud):
245 """ 245 """
246 246
247 if not ud.type in ["http", "https", "ftp", "ftps"]: 247 if not ud.type in ["http", "https", "ftp", "ftps"]:
248 return True 248 return
249 249
250 md5data = bb.utils.md5_file(ud.localpath) 250 md5data = bb.utils.md5_file(ud.localpath)
251 sha256data = bb.utils.sha256_file(ud.localpath) 251 sha256data = bb.utils.sha256_file(ud.localpath)
@@ -255,17 +255,13 @@ def verify_checksum(d, ud):
255 "SRC_URI[%s] = \"%s\"\nSRC_URI[%s] = \"%s\"" \ 255 "SRC_URI[%s] = \"%s\"\nSRC_URI[%s] = \"%s\"" \
256 % (ud.localpath, ud.md5_name, md5data, ud.sha256_name, sha256data)) 256 % (ud.localpath, ud.md5_name, md5data, ud.sha256_name, sha256data))
257 if bb.data.getVar("BB_STRICT_CHECKSUM", d, True) == "1": 257 if bb.data.getVar("BB_STRICT_CHECKSUM", d, True) == "1":
258 return False 258 raise FetchError("No checksum specified for %s." % u)
259 else:
260 return True
261 259
262 if (ud.md5_expected != md5data or ud.sha256_expected != sha256data): 260 if (ud.md5_expected != md5data or ud.sha256_expected != sha256data):
263 bb.error("The checksums for '%s' did not match." % ud.localpath) 261 bb.error("The checksums for '%s' did not match." % ud.localpath)
264 bb.error("Expected MD5: '%s' and Got: '%s'" % (ud.md5_expected, md5data)) 262 bb.error("Expected MD5: '%s' and Got: '%s'" % (ud.md5_expected, md5data))
265 bb.error("Expected SHA256: '%s' and Got: '%s'" % (ud.sha256_expected, sha256data)) 263 bb.error("Expected SHA256: '%s' and Got: '%s'" % (ud.sha256_expected, sha256data))
266 return False 264 raise FetchError("%s checksum mismatch." % u)
267
268 return True
269 265
270def go(d, urls = None): 266def go(d, urls = None):
271 """ 267 """
@@ -309,6 +305,9 @@ def go(d, urls = None):
309 raise FetchError("Unable to fetch URL %s from any source." % u) 305 raise FetchError("Unable to fetch URL %s from any source." % u)
310 306
311 ud.localpath = localpath 307 ud.localpath = localpath
308
309 verify_checksum(u, ud, d)
310
312 if os.path.exists(ud.md5): 311 if os.path.exists(ud.md5):
313 # Touch the md5 file to show active use of the download 312 # Touch the md5 file to show active use of the download
314 try: 313 try:
@@ -319,9 +318,6 @@ def go(d, urls = None):
319 else: 318 else:
320 Fetch.write_md5sum(u, ud, d) 319 Fetch.write_md5sum(u, ud, d)
321 320
322 if not verify_checksum(d, ud):
323 raise FetchError("%s checksum mismatch." % u)
324
325 bb.utils.unlockfile(lf) 321 bb.utils.unlockfile(lf)
326 322
327def checkstatus(d, urls = None): 323def checkstatus(d, urls = None):