diff options
author | Richard Purdie <richard.purdie@linuxfoundation.org> | 2012-05-13 12:31:01 +0000 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2012-05-20 09:24:23 +0100 |
commit | 311c68bd06a5dc2df03f689f4061a8544716c930 (patch) | |
tree | 594c9bf25e8754014dd6e1b50230809541bed551 /bitbake/lib | |
parent | 2f009e5b1e4e0a4148ab7d5c60bf0e7a193faa2e (diff) | |
download | poky-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__.py | 40 |
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 |