summaryrefslogtreecommitdiff
path: root/classes/base.bbclass
diff options
context:
space:
mode:
authorPetri Lehtinen <petri.lehtinen@inoi.fi>2009-04-14 21:59:55 +0000
committerDenys Dmytriyenko <denis@denix.org>2009-04-21 14:46:13 -0400
commit4b48c66ff661c3b88f85dee62517a31ae66db242 (patch)
tree0d9357060ad121f8dde4d22f98abea50a2de580f /classes/base.bbclass
parent45b286ec6b4d7df6d4e17f50ed79a97ca220ea2b (diff)
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 <petri.lehtinen@inoi.fi> Acked-by: Khem Raj <raj.khem@gmail.com> Acked-by: Denys Dmytriyenko <denis@denix.org> Acked-by: Chris Larson <clarson@kergoth.com> Acked-by: Otavio Salvador <otavio@ossystems.com.br>
Diffstat (limited to 'classes/base.bbclass')
-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