aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRoss Burton <ross@openedhand.com>2010-01-15 08:30:33 +0000
committerHolger Hans Peter Freyther <zecke@selfish.org>2010-01-28 14:21:27 +0100
commitdbdc8df2841f66796e4882407b0d4b8e1e346518 (patch)
treeb7e6d3355372130a6ff16009a31cc6ec3b91dbd6
parenta2967ad7d1c381239a2b39d8724b99e1bafdf49f (diff)
downloadopenembedded-dbdc8df2841f66796e4882407b0d4b8e1e346518.tar.gz
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>
-rw-r--r--classes/base.bbclass27
1 files changed, 15 insertions, 12 deletions
diff --git a/classes/base.bbclass b/classes/base.bbclass
index 933168a6bb..d26ef47600 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))