diff options
Diffstat (limited to 'bitbake/bin')
| -rwxr-xr-x | bitbake/bin/bitbake | 16 |
1 files changed, 12 insertions, 4 deletions
diff --git a/bitbake/bin/bitbake b/bitbake/bin/bitbake index 10cf4bd00a..7fbe7ed5eb 100755 --- a/bitbake/bin/bitbake +++ b/bitbake/bin/bitbake | |||
| @@ -781,11 +781,19 @@ class BBCooker: | |||
| 781 | try: | 781 | try: |
| 782 | self.configuration.data = bb.parse.handle( afile, self.configuration.data ) | 782 | self.configuration.data = bb.parse.handle( afile, self.configuration.data ) |
| 783 | 783 | ||
| 784 | # Add the handlers we inherited by INHERITS | 784 | # Add the handlers we inherited by INHERIT |
| 785 | # we need to do this manually as it is not guranteed | ||
| 786 | # we will pick up these classes... as we only INHERIT | ||
| 787 | # on .inc and .bb files but not on .conf | ||
| 788 | data = bb.data.createCopy( self.configuration.data ) | ||
| 789 | inherits = ["base"] + (bb.data.getVar('INHERIT', data, True ) or "").split() | ||
| 790 | for inherit in inherits: | ||
| 791 | data = bb.parse.handle( os.path.join('classes', '%s.bbclass' % inherit ), data, True ) | ||
| 792 | |||
| 785 | # FIXME: This assumes that we included at least one .inc file | 793 | # FIXME: This assumes that we included at least one .inc file |
| 786 | for var in bb.data.keys(self.configuration.data): | 794 | for var in bb.data.keys(data): |
| 787 | if bb.data.getVarFlag(var, 'handler', self.configuration.data): | 795 | if bb.data.getVarFlag(var, 'handler', data): |
| 788 | bb.event.register(var,bb.data.getVar(var,self.configuration.data)) | 796 | bb.event.register(var,bb.data.getVar(var, data)) |
| 789 | 797 | ||
| 790 | except IOError: | 798 | except IOError: |
| 791 | bb.fatal( "Unable to open %s" % afile ) | 799 | bb.fatal( "Unable to open %s" % afile ) |
