diff options
author | Denys Dmytriyenko <denis@denix.org> | 2010-01-24 15:59:44 +0000 |
---|---|---|
committer | Denys Dmytriyenko <denis@denix.org> | 2010-01-27 17:04:08 -0500 |
commit | e2de494b97a52169f794a669fb5e31e2b44dd3dd (patch) | |
tree | ce471d8c94baa0da5150ad0b86b28960823a3809 /classes | |
parent | f2387e3dd59c31772eb73108ec47cf45c1285d45 (diff) |
base.bbclass: pre-create SRC_URI checksums to include in the recipe
Signed-off-by: Denys Dmytriyenko <denis@denix.org>
Acked-by: Khem Raj <raj.khem@gmail.com>
Acked-by: Frans meulenbroeks <fransmeulenbroeks@gmail.com>
Diffstat (limited to 'classes')
-rw-r--r-- | classes/base.bbclass | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/classes/base.bbclass b/classes/base.bbclass index 384a67d3d6..846528618a 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") |