From patchwork Sun May 13 12:36:40 2012 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: [bitbake-devel] bitbake/fetch: If checksums are available, check them for any file, local or remote Date: Sun, 13 May 2012 12:36:40 -0000 From: Richard Purdie X-Patchwork-Id: 27533 Message-Id: <1336912600.2711.12.camel@ted> To: bitbake-devel 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. Signed-off-by: Richard Purdie diff --git a/bitbake/lib/bb/fetch2/__init__.py b/bitbake/lib/bb/fetch2/__init__.py index 6b31621..56bb8fc 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): matched """ - 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 strict checking enabled and neither sum defined, raise error - strict = d.getVar("BB_STRICT_CHECKSUM", True) or None - if (strict and ud.md5_expected == None and ud.sha256_expected == None): - raise FetchError('No checksum specified for %s, please add at least one to the recipe:\n' - 'SRC_URI[%s] = "%s"\nSRC_URI[%s] = "%s"' % - (ud.localpath, ud.md5_name, md5data, - ud.sha256_name, sha256data), u) - - # Log missing sums so user can more easily add them - if ud.md5_expected == None: - logger.warn('Missing md5 SRC_URI checksum for %s, consider adding to the recipe:\n' - 'SRC_URI[%s] = "%s"', - ud.localpath, ud.md5_name, md5data) - - if ud.sha256_expected == None: - logger.warn('Missing sha256 SRC_URI checksum for %s, consider adding to the recipe:\n' - 'SRC_URI[%s] = "%s"', - ud.localpath, ud.sha256_name, sha256data) + if ud.type in ["http", "https", "ftp", "ftps"]: + # If strict checking enabled and neither sum defined, raise error + strict = d.getVar("BB_STRICT_CHECKSUM", True) or None + if (strict and ud.md5_expected == None and ud.sha256_expected == None): + raise FetchError('No checksum specified for %s, please add at least one to the recipe:\n' + 'SRC_URI[%s] = "%s"\nSRC_URI[%s] = "%s"' % + (ud.localpath, ud.md5_name, md5data, + ud.sha256_name, sha256data), u) + + # Log missing sums so user can more easily add them + if ud.md5_expected == None: + logger.warn('Missing md5 SRC_URI checksum for %s, consider adding to the recipe:\n' + 'SRC_URI[%s] = "%s"', + ud.localpath, ud.md5_name, md5data) + + if ud.sha256_expected == None: + logger.warn('Missing sha256 SRC_URI checksum for %s, consider adding to the recipe:\n' + 'SRC_URI[%s] = "%s"', + ud.localpath, ud.sha256_name, sha256data) md5mismatch = False sha256mismatch = False