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 |