diff options
Diffstat (limited to 'bitbake/lib/bb/cache.py')
| -rw-r--r-- | bitbake/lib/bb/cache.py | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/bitbake/lib/bb/cache.py b/bitbake/lib/bb/cache.py index fb02deb8ef..2f89350763 100644 --- a/bitbake/lib/bb/cache.py +++ b/bitbake/lib/bb/cache.py | |||
| @@ -43,7 +43,7 @@ except ImportError: | |||
| 43 | logger.info("Importing cPickle failed. " | 43 | logger.info("Importing cPickle failed. " |
| 44 | "Falling back to a very slow implementation.") | 44 | "Falling back to a very slow implementation.") |
| 45 | 45 | ||
| 46 | __cache_version__ = "133" | 46 | __cache_version__ = "134" |
| 47 | 47 | ||
| 48 | recipe_fields = ( | 48 | recipe_fields = ( |
| 49 | 'pn', | 49 | 'pn', |
| @@ -100,19 +100,20 @@ class RecipeInfo(namedtuple('RecipeInfo', recipe_fields)): | |||
| 100 | def taskvar(cls, var, tasks, metadata): | 100 | def taskvar(cls, var, tasks, metadata): |
| 101 | return dict((task, cls.getvar("%s_task-%s" % (var, task), metadata)) | 101 | return dict((task, cls.getvar("%s_task-%s" % (var, task), metadata)) |
| 102 | for task in tasks) | 102 | for task in tasks) |
| 103 | |||
| 103 | @classmethod | 104 | @classmethod |
| 104 | def getvar(cls, var, metadata): | 105 | def getvar(cls, var, metadata): |
| 105 | return metadata.getVar(var, True) or '' | 106 | return metadata.getVar(var, True) or '' |
| 106 | 107 | ||
| 107 | @classmethod | 108 | @classmethod |
| 108 | def from_metadata(cls, filename, metadata): | 109 | def from_metadata(cls, filename, metadata): |
| 110 | tasks = metadata.getVar('__BBTASKS', False) | ||
| 111 | |||
| 109 | pn = cls.getvar('PN', metadata) | 112 | pn = cls.getvar('PN', metadata) |
| 110 | packages = cls.listvar('PACKAGES', metadata) | 113 | packages = cls.listvar('PACKAGES', metadata) |
| 111 | if not pn in packages: | 114 | if not pn in packages: |
| 112 | packages.append(pn) | 115 | packages.append(pn) |
| 113 | 116 | ||
| 114 | tasks = metadata.getVar('__BBTASKS', False) | ||
| 115 | |||
| 116 | return RecipeInfo( | 117 | return RecipeInfo( |
| 117 | tasks = tasks, | 118 | tasks = tasks, |
| 118 | basetaskhashes = cls.taskvar('BB_BASEHASH', tasks, metadata), | 119 | basetaskhashes = cls.taskvar('BB_BASEHASH', tasks, metadata), |
| @@ -463,6 +464,7 @@ class Cache(object): | |||
| 463 | """ | 464 | """ |
| 464 | Save data we need into the cache | 465 | Save data we need into the cache |
| 465 | """ | 466 | """ |
| 467 | |||
| 466 | realfn = self.virtualfn2realfn(file_name)[0] | 468 | realfn = self.virtualfn2realfn(file_name)[0] |
| 467 | info = RecipeInfo.from_metadata(realfn, data) | 469 | info = RecipeInfo.from_metadata(realfn, data) |
| 468 | self.add_info(file_name, info, cacheData, parsed) | 470 | self.add_info(file_name, info, cacheData, parsed) |
| @@ -612,7 +614,6 @@ class CacheData(object): | |||
| 612 | self.possible_world.append(fn) | 614 | self.possible_world.append(fn) |
| 613 | 615 | ||
| 614 | self.hashfn[fn] = info.hashfilename | 616 | self.hashfn[fn] = info.hashfilename |
| 615 | |||
| 616 | for task, taskhash in info.basetaskhashes.iteritems(): | 617 | for task, taskhash in info.basetaskhashes.iteritems(): |
| 617 | identifier = '%s.%s' % (fn, task) | 618 | identifier = '%s.%s' % (fn, task) |
| 618 | self.basetaskhash[identifier] = taskhash | 619 | self.basetaskhash[identifier] = taskhash |
