diff options
| -rw-r--r-- | bitbake/lib/bb/cookerdata.py | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/bitbake/lib/bb/cookerdata.py b/bitbake/lib/bb/cookerdata.py index 5df66e6173..d9887c714b 100644 --- a/bitbake/lib/bb/cookerdata.py +++ b/bitbake/lib/bb/cookerdata.py | |||
| @@ -26,6 +26,7 @@ import logging | |||
| 26 | import os | 26 | import os |
| 27 | import re | 27 | import re |
| 28 | import sys | 28 | import sys |
| 29 | import hashlib | ||
| 29 | from functools import wraps | 30 | from functools import wraps |
| 30 | import bb | 31 | import bb |
| 31 | from bb import data | 32 | from bb import data |
| @@ -279,6 +280,7 @@ class CookerDataBuilder(object): | |||
| 279 | self.mcdata = {} | 280 | self.mcdata = {} |
| 280 | 281 | ||
| 281 | def parseBaseConfiguration(self): | 282 | def parseBaseConfiguration(self): |
| 283 | data_hash = hashlib.sha256() | ||
| 282 | try: | 284 | try: |
| 283 | bb.parse.init_parser(self.basedata) | 285 | bb.parse.init_parser(self.basedata) |
| 284 | self.data = self.parseConfigurationFiles(self.prefiles, self.postfiles) | 286 | self.data = self.parseConfigurationFiles(self.prefiles, self.postfiles) |
| @@ -302,7 +304,7 @@ class CookerDataBuilder(object): | |||
| 302 | bb.event.fire(bb.event.ConfigParsed(), self.data) | 304 | bb.event.fire(bb.event.ConfigParsed(), self.data) |
| 303 | 305 | ||
| 304 | bb.parse.init_parser(self.data) | 306 | bb.parse.init_parser(self.data) |
| 305 | self.data_hash = self.data.get_hash() | 307 | data_hash.update(self.data.get_hash().encode('utf-8')) |
| 306 | self.mcdata[''] = self.data | 308 | self.mcdata[''] = self.data |
| 307 | 309 | ||
| 308 | multiconfig = (self.data.getVar("BBMULTICONFIG") or "").split() | 310 | multiconfig = (self.data.getVar("BBMULTICONFIG") or "").split() |
| @@ -310,9 +312,11 @@ class CookerDataBuilder(object): | |||
| 310 | mcdata = self.parseConfigurationFiles(self.prefiles, self.postfiles, config) | 312 | mcdata = self.parseConfigurationFiles(self.prefiles, self.postfiles, config) |
| 311 | bb.event.fire(bb.event.ConfigParsed(), mcdata) | 313 | bb.event.fire(bb.event.ConfigParsed(), mcdata) |
| 312 | self.mcdata[config] = mcdata | 314 | self.mcdata[config] = mcdata |
| 315 | data_hash.update(mcdata.get_hash().encode('utf-8')) | ||
| 313 | if multiconfig: | 316 | if multiconfig: |
| 314 | bb.event.fire(bb.event.MultiConfigParsed(self.mcdata), self.data) | 317 | bb.event.fire(bb.event.MultiConfigParsed(self.mcdata), self.data) |
| 315 | 318 | ||
| 319 | self.data_hash = data_hash.hexdigest() | ||
| 316 | except (SyntaxError, bb.BBHandledException): | 320 | except (SyntaxError, bb.BBHandledException): |
| 317 | raise bb.BBHandledException | 321 | raise bb.BBHandledException |
| 318 | except bb.data_smart.ExpansionError as e: | 322 | except bb.data_smart.ExpansionError as e: |
