From 9fb8bc41bf3e9369aa213ac5397851ffe3aafc7c Mon Sep 17 00:00:00 2001 From: Ross Burton Date: Thu, 1 May 2008 11:00:27 +0000 Subject: When checksuming tarballs use bb.utils.*_sum instead of calling commands directly git-svn-id: https://svn.o-hand.com/repos/poky/trunk@4387 311d38ba-8fff-0310-9ca6-ca027cbcb966 --- meta/classes/base.bbclass | 30 +++++++++++++++--------------- 1 file changed, 15 insertions(+), 15 deletions(-) diff --git a/meta/classes/base.bbclass b/meta/classes/base.bbclass index 2e8f3f08f..0c048b997 100644 --- a/meta/classes/base.bbclass +++ b/meta/classes/base.bbclass @@ -45,21 +45,21 @@ def base_chk_file(parser, pn, pv, src_uri, localpath, data): raise Exception("The path does not exist '%s'" % localpath) - # call md5(sum) and shasum - try: - md5pipe = os.popen('md5sum ' + localpath) - md5data = (md5pipe.readline().split() or [ "" ])[0] - md5pipe.close() - except OSError: - raise Exception("Executing md5sum failed") - - 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") - + # Calculate the MD5 and 256-bit SHA checksums + md5data = bb.utils.md5_file(localpath) + 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 no_checksum == True: # we do not have conf/checksums.ini entry try: file = open("%s/checksums.ini" % bb.data.getVar("TMPDIR", data, 1), "a") -- cgit v1.2.3