summaryrefslogtreecommitdiff
path: root/classes/base.bbclass
diff options
context:
space:
mode:
authorSergey Lapin <slapin@ossfans.org>2010-02-06 23:12:38 +0300
committerSergey Lapin <slapin@ossfans.org>2010-02-06 23:12:38 +0300
commit9dbc3d716405d56def0af95748632035864c07b7 (patch)
tree8c2865915bcc385c78a32a1c67398e366fea02ae /classes/base.bbclass
parent029e21c8111deafa850ad1724e48da29c321f2f8 (diff)
parent01dcb228756ee2348a8f6257b39d196340b69d96 (diff)
Merge branch 'org.openembedded.dev' of git@git.openembedded.net:openembedded into org.openembedded.dev
Diffstat (limited to 'classes/base.bbclass')
-rw-r--r--classes/base.bbclass25
1 files changed, 23 insertions, 2 deletions
diff --git a/classes/base.bbclass b/classes/base.bbclass
index 384a67d3d6..9a242720e7 100644
--- a/classes/base.bbclass
+++ b/classes/base.bbclass
@@ -151,9 +151,27 @@ def base_chk_file(parser, pn, pv, src_uri, localpath, data):
file.write("[%s]\nmd5=%s\nsha256=%s\n\n" % (src_uri, md5data, shadata))
file.close()
+
+ from string import maketrans
+ trtable = maketrans("", "")
+ uname = src_uri.split("/")[-1].translate(trtable, "-+._")
+
+ try:
+ ufile = open("%s/%s.sum" % (bb.data.getVar("TMPDIR", data, 1), uname), "wt")
+ except:
+ return False
+
+ if not ufile:
+ raise Exception("Creating %s.sum failed" % uname)
+
+ ufile.write("SRC_URI = \"%s;name=%s\"\nSRC_URI[%s.md5sum] = \"%s\"\nSRC_URI[%s.sha256sum] = \"%s\"\n" % (src_uri, uname, uname, md5data, uname, shadata))
+ ufile.close()
+
if not bb.data.getVar("OE_STRICT_CHECKSUMS",data, True):
bb.note("This package has no entry in checksums.ini, please add one")
bb.note("\n[%s]\nmd5=%s\nsha256=%s" % (src_uri, md5data, shadata))
+ bb.note("This package has no checksums in corresponding recipe, please add")
+ bb.note("SRC_URI = \"%s;name=%s\"\nSRC_URI[%s.md5sum] = \"%s\"\nSRC_URI[%s.sha256sum] = \"%s\"\n" % (src_uri, uname, uname, md5data, uname, shadata))
return True
else:
bb.note("Missing checksum")
@@ -226,14 +244,17 @@ def base_version_less_or_equal(variable, checkvalue, truevalue, falsevalue, d):
return falsevalue
def base_contains(variable, checkvalues, truevalue, falsevalue, d):
+ val = bb.data.getVar(variable,d,1)
+ if not val:
+ return falsevalue
matches = 0
if type(checkvalues).__name__ == "str":
checkvalues = [checkvalues]
for value in checkvalues:
- if bb.data.getVar(variable,d,1).find(value) != -1:
+ if val.find(value) != -1:
matches = matches + 1
if matches == len(checkvalues):
- return truevalue
+ return truevalue
return falsevalue
def base_both_contain(variable1, variable2, checkvalue, d):