aboutsummaryrefslogtreecommitdiffstats
path: root/classes
diff options
context:
space:
mode:
authorPetri Lehtinen <petri.lehtinen@inoi.fi>2009-04-21 20:06:54 +0000
committerMarcin Juszkiewicz <hrw@openembedded.org>2009-04-22 21:12:10 +0200
commit60dea07419fcef9183403ba7340cbed4dff58933 (patch)
tree820cdbac0b139b226cb27a5d210d083c323c8181 /classes
parent02651858023fda4750cf5c881ff6897ed7fb7357 (diff)
downloadopenembedded-60dea07419fcef9183403ba7340cbed4dff58933.tar.gz
base.bbclass: Combine all checksum.ini files found in BBPATH
This makes it possible for overlays to have checksum.ini. Signed-off-by: Denys Dmytriyenko <denis@denix.org> Acked-by: Koen Kooi <koen@openembedded.org> Acked-by: Tom Rini <trini@embeddedalley.com>
Diffstat (limited to 'classes')
-rw-r--r--classes/base.bbclass22
1 files changed, 13 insertions, 9 deletions
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