[oe] base.bbclass: use bb.utils.*_sum instead of calling md5/sha sum commands
Tom Rini
tom_rini at mentor.com
Thu Feb 25 18:35:29 UTC 2010
On Fri, 2010-01-15 at 08:30 +0000, Christopher Larson wrote:
> From: Ross Burton <ross at openedhand.com>
>
> Patch courtesy the Poky project.
>
> Signed-off-by: Chris Larson <clarson at mvista.com>
> Acked-by: Marcin Juszkiewicz <marcin at juszkiewicz.com.pl>
Acked-by: Tom Rini <tom_rini at mentor.com>
>
> ---
> classes/base.bbclass | 27 +++++++++++++++------------
> 1 files changed, 15 insertions(+), 12 deletions(-)
>
> diff --git a/classes/base.bbclass b/classes/base.bbclass
> index 96164d4..dc56282 100644
> --- a/classes/base.bbclass
> +++ b/classes/base.bbclass
> @@ -122,23 +122,26 @@ def base_chk_file_vars(parser, localpath, params, data):
> raise Exception("The path does not exist '%s'" % localpath)
>
> if want_md5sum:
> - try:
> - md5pipe = os.popen('PATH=%s md5sum %s' % (bb.data.getVar('PATH', data, True), localpath))
> - md5data = (md5pipe.readline().split() or [ "" ])[0]
> - md5pipe.close()
> - except OSError, e:
> - raise Exception("Executing md5sum failed")
> + md5data = bb.utils.md5_file(localpath)
> +
> if want_md5sum != md5data:
> bb.note("The MD5Sums did not match. Wanted: '%s' and Got: '%s'" % (want_md5sum, md5data))
> raise Exception("MD5 Sums do not match. Wanted: '%s' Got: '%s'" % (want_md5sum, md5data))
>
> if want_sha256sum:
> - try:
> - shapipe = os.popen('PATH=%s oe_sha256sum %s' % (bb.data.getVar('PATH', data, True), localpath))
> - sha256data = (shapipe.readline().split() or [ "" ])[0]
> - shapipe.close()
> - except OSError, e:
> - raise Exception("Executing shasum failed")
> + shadata = bb.utils.sha256_file(localpath)
> +
> + # sha256_file() can return None if we are running on Python 2.4 (hashlib is
> + # 2.5 onwards, sha in 2.4 is 160-bit only), so check for this and call the
> + # standalone shasum binary if required.
> + if shadata is None:
> + try:
> + shapipe = os.popen('PATH=%s oe_sha256sum %s' % (bb.data.getVar('PATH', data, True), localpath))
> + shadata = (shapipe.readline().split() or [ "" ])[0]
> + shapipe.close()
> + except OSError:
> + raise Exception("Executing shasum failed, please build shasum-native")
> +
> if want_sha256sum != sha256data:
> bb.note("The SHA256Sums did not match. Wanted: '%s' and Got: '%s'" % (want_sha256sum, sha256data))
> raise Exception("SHA256 Sums do not match. Wanted: '%s' Got: '%s'" % (want_sha256sum, sha256data))
--
Tom Rini <tom_rini at mentor.com>
Mentor Graphics Corporation
More information about the Openembedded-devel
mailing list