summaryrefslogtreecommitdiff
path: root/classes/base.bbclass
diff options
context:
space:
mode:
authorRoss Burton <ross@openedhand.com>2010-01-15 08:30:33 +0000
committerChris Larson <chris_larson@mentor.com>2010-02-25 11:42:26 -0700
commitdf32920678d15c86897b50b752b937210a01edea (patch)
treeb7146afea39779253f42d4a2925903d06e51fc3b /classes/base.bbclass
parent2360274c8320849d8618aa73252bbb0afb9a0978 (diff)
base.bbclass: use bb.utils.*_sum instead of calling md5/sha sum commands
Patch courtesy the Poky project. Signed-off-by: Chris Larson <clarson@mvista.com> Acked-by: Marcin Juszkiewicz <marcin@juszkiewicz.com.pl> Acked-by: Tom Rini <tom_rini@mentor.com>
Diffstat (limited to 'classes/base.bbclass')
-rw-r--r--classes/base.bbclass27
1 files changed, 15 insertions, 12 deletions
diff --git a/classes/base.bbclass b/classes/base.bbclass
index 990e75ee14..72e57300d8 100644
--- a/classes/base.bbclass
+++ b/classes/base.bbclass
@@ -76,23 +76,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))