From 4b48c66ff661c3b88f85dee62517a31ae66db242 Mon Sep 17 00:00:00 2001 From: Petri Lehtinen Date: Tue, 14 Apr 2009 21:59:55 +0000 Subject: base.bbclass: Combine all checksum.ini files found in BBPATH This makes it possible for overlays to have checksum.ini. Signed-off-by: Petri Lehtinen Acked-by: Khem Raj Acked-by: Denys Dmytriyenko Acked-by: Chris Larson Acked-by: Otavio Salvador --- classes/base.bbclass | 22 +++++++++++++--------- 1 file changed, 13 insertions(+), 9 deletions(-) (limited to 'classes') diff --git a/classes/base.bbclass b/classes/base.bbclass index 9ec705bc1e..e5fd814b25 100644 --- a/classes/base.bbclass +++ b/classes/base.bbclass @@ -40,12 +40,11 @@ def base_path_relative(src, dest): return sep.join(relpath) # for MD5/SHA handling -def base_chk_load_parser(config_path): +def base_chk_load_parser(config_paths): import ConfigParser, os, bb parser = ConfigParser.ConfigParser() - if not len(parser.read(config_path)) == 1: - bb.note("Can not open the '%s' ini file" % config_path) - raise Exception("Can not open the '%s'" % config_path) + if len(parser.read(config_paths)) < 1: + raise ValueError("no ini files could be found") return parser @@ -620,13 +619,18 @@ python base_do_fetch() { # Verify the SHA and MD5 sums we have in OE and check what do # in - check_sum = bb.which(bb.data.getVar('BBPATH', d, True), "conf/checksums.ini") - if not check_sum: - bb.note("No conf/checksums.ini found, not checking checksums") - return + checksum_paths = bb.data.getVar('BBPATH', d, True).split(":") + + # reverse the list to give precedence to directories that + # appear first in BBPATH + checksum_paths.reverse() + checksum_files = ["%s/conf/checksums.ini" % path for path in checksum_paths] try: - parser = base_chk_load_parser(check_sum) + parser = base_chk_load_parser(checksum_files) + except ValueError: + bb.note("No conf/checksums.ini found, not checking checksums") + return except: bb.note("Creating the CheckSum parser failed") return -- cgit 1.2.3-korg