summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorHolger Hans Peter Freyther <zecke@selfish.org>2006-05-31 20:25:15 +0000
committerHolger Hans Peter Freyther <zecke@selfish.org>2006-05-31 20:25:15 +0000
commit450ac692c12154700c612abf8b4165a6a85b48a0 (patch)
treee32d77d050007b7f909c6c0d19856a80f0bcc955
parent9ebf8358f3b91a96eb268ab6f9c331ea30f5bfba (diff)
downloadbitbake-450ac692c12154700c612abf8b4165a6a85b48a0.tar.gz
bitbake-1.4/bin/bitbake: Make sure to install all event handlers
Currently we assumed that we at least have seen one .inc which would have evaluated INHERIT. For the NSLU2 builds this is not the case. Make sure to parse all bbclasses from INHERIT.
-rwxr-xr-xbin/bitbake16
1 files changed, 12 insertions, 4 deletions
diff --git a/bin/bitbake b/bin/bitbake
index 10cf4bd00..7fbe7ed5e 100755
--- a/bin/bitbake
+++ b/bin/bitbake
@@ -781,11 +781,19 @@ class BBCooker:
try:
self.configuration.data = bb.parse.handle( afile, self.configuration.data )
- # Add the handlers we inherited by INHERITS
+ # Add the handlers we inherited by INHERIT
+ # we need to do this manually as it is not guranteed
+ # we will pick up these classes... as we only INHERIT
+ # on .inc and .bb files but not on .conf
+ data = bb.data.createCopy( self.configuration.data )
+ inherits = ["base"] + (bb.data.getVar('INHERIT', data, True ) or "").split()
+ for inherit in inherits:
+ data = bb.parse.handle( os.path.join('classes', '%s.bbclass' % inherit ), data, True )
+
# FIXME: This assumes that we included at least one .inc file
- for var in bb.data.keys(self.configuration.data):
- if bb.data.getVarFlag(var, 'handler', self.configuration.data):
- bb.event.register(var,bb.data.getVar(var,self.configuration.data))
+ for var in bb.data.keys(data):
+ if bb.data.getVarFlag(var, 'handler', data):
+ bb.event.register(var,bb.data.getVar(var, data))
except IOError:
bb.fatal( "Unable to open %s" % afile )