summaryrefslogtreecommitdiffstats
path: root/bitbake/lib
diff options
context:
space:
mode:
authorRichard Purdie <richard.purdie@linuxfoundation.org>2012-05-13 12:31:01 +0000
committerRichard Purdie <richard.purdie@linuxfoundation.org>2012-05-20 09:24:23 +0100
commit311c68bd06a5dc2df03f689f4061a8544716c930 (patch)
tree594c9bf25e8754014dd6e1b50230809541bed551 /bitbake/lib
parent2f009e5b1e4e0a4148ab7d5c60bf0e7a193faa2e (diff)
downloadpoky-311c68bd06a5dc2df03f689f4061a8544716c930.tar.gz
bitbake/fetch: If checksums are available, check them for any file, local or remote
Currently, checksums are only checked for remote files. This changes the check to apply to any file we have checksum data for. A mismatch against a file is fatal but in the local case, no warnings are shown about missing checksums. (Bitbake rev: 80411b3acf2173a4a7d415102d16676eb98363e3) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'bitbake/lib')
-rw-r--r--bitbake/lib/bb/fetch2/__init__.py40
1 files changed, 19 insertions, 21 deletions
diff --git a/bitbake/lib/bb/fetch2/__init__.py b/bitbake/lib/bb/fetch2/__init__.py
index 9b5ba5a395..f629c01cdb 100644
--- a/bitbake/lib/bb/fetch2/__init__.py
+++ b/bitbake/lib/bb/fetch2/__init__.py
@@ -271,30 +271,28 @@ def verify_checksum(u, ud, d):
271 matched 271 matched
272 """ 272 """
273 273
274 if not ud.type in ["http", "https", "ftp", "ftps"]:
275 return
276
277 md5data = bb.utils.md5_file(ud.localpath) 274 md5data = bb.utils.md5_file(ud.localpath)
278 sha256data = bb.utils.sha256_file(ud.localpath) 275 sha256data = bb.utils.sha256_file(ud.localpath)
279 276
280 # If strict checking enabled and neither sum defined, raise error 277 if ud.type in ["http", "https", "ftp", "ftps"]:
281 strict = d.getVar("BB_STRICT_CHECKSUM", True) or None 278 # If strict checking enabled and neither sum defined, raise error
282 if (strict and ud.md5_expected == None and ud.sha256_expected == None): 279 strict = d.getVar("BB_STRICT_CHECKSUM", True) or None
283 raise FetchError('No checksum specified for %s, please add at least one to the recipe:\n' 280 if (strict and ud.md5_expected == None and ud.sha256_expected == None):
284 'SRC_URI[%s] = "%s"\nSRC_URI[%s] = "%s"' % 281 raise FetchError('No checksum specified for %s, please add at least one to the recipe:\n'
285 (ud.localpath, ud.md5_name, md5data, 282 'SRC_URI[%s] = "%s"\nSRC_URI[%s] = "%s"' %
286 ud.sha256_name, sha256data), u) 283 (ud.localpath, ud.md5_name, md5data,
287 284 ud.sha256_name, sha256data), u)
288 # Log missing sums so user can more easily add them 285
289 if ud.md5_expected == None: 286 # Log missing sums so user can more easily add them
290 logger.warn('Missing md5 SRC_URI checksum for %s, consider adding to the recipe:\n' 287 if ud.md5_expected == None:
291 'SRC_URI[%s] = "%s"', 288 logger.warn('Missing md5 SRC_URI checksum for %s, consider adding to the recipe:\n'
292 ud.localpath, ud.md5_name, md5data) 289 'SRC_URI[%s] = "%s"',
293 290 ud.localpath, ud.md5_name, md5data)
294 if ud.sha256_expected == None: 291
295 logger.warn('Missing sha256 SRC_URI checksum for %s, consider adding to the recipe:\n' 292 if ud.sha256_expected == None:
296 'SRC_URI[%s] = "%s"', 293 logger.warn('Missing sha256 SRC_URI checksum for %s, consider adding to the recipe:\n'
297 ud.localpath, ud.sha256_name, sha256data) 294 'SRC_URI[%s] = "%s"',
295 ud.localpath, ud.sha256_name, sha256data)
298 296
299 md5mismatch = False 297 md5mismatch = False
300 sha256mismatch = False 298 sha256mismatch = False