diff options
Diffstat (limited to 'bitbake/lib/bb/cooker.py')
-rw-r--r-- | bitbake/lib/bb/cooker.py | 23 |
1 files changed, 11 insertions, 12 deletions
diff --git a/bitbake/lib/bb/cooker.py b/bitbake/lib/bb/cooker.py index 43c4f78dbc..fe95e73a12 100644 --- a/bitbake/lib/bb/cooker.py +++ b/bitbake/lib/bb/cooker.py | |||
@@ -617,7 +617,8 @@ class BBCooker: | |||
617 | 617 | ||
618 | if fn: | 618 | if fn: |
619 | try: | 619 | try: |
620 | envdata = bb.cache.Cache.loadDataFull(fn, self.collection.get_file_appends(fn), self.data) | 620 | bb_cache = bb.cache.Cache(self.databuilder, self.data_hash, self.caches_array) |
621 | envdata = bb_cache.loadDataFull(fn, self.collection.get_file_appends(fn)) | ||
621 | except Exception as e: | 622 | except Exception as e: |
622 | parselog.exception("Unable to read %s", fn) | 623 | parselog.exception("Unable to read %s", fn) |
623 | raise | 624 | raise |
@@ -1254,9 +1255,9 @@ class BBCooker: | |||
1254 | 1255 | ||
1255 | self.buildSetVars() | 1256 | self.buildSetVars() |
1256 | 1257 | ||
1257 | infos = bb.cache.Cache.parse(fn, self.collection.get_file_appends(fn), \ | 1258 | bb_cache = bb.cache.Cache(self.databuilder, self.data_hash, self.caches_array) |
1258 | self.data, | 1259 | |
1259 | self.caches_array) | 1260 | infos = bb_cache.parse(fn, self.collection.get_file_appends(fn)) |
1260 | infos = dict(infos) | 1261 | infos = dict(infos) |
1261 | 1262 | ||
1262 | fn = bb.cache.realfn2virtual(fn, cls) | 1263 | fn = bb.cache.realfn2virtual(fn, cls) |
@@ -1943,7 +1944,7 @@ class Parser(multiprocessing.Process): | |||
1943 | except queue.Full: | 1944 | except queue.Full: |
1944 | pending.append(result) | 1945 | pending.append(result) |
1945 | 1946 | ||
1946 | def parse(self, filename, appends, caches_array): | 1947 | def parse(self, filename, appends): |
1947 | try: | 1948 | try: |
1948 | # Record the filename we're parsing into any events generated | 1949 | # Record the filename we're parsing into any events generated |
1949 | def parse_filter(self, record): | 1950 | def parse_filter(self, record): |
@@ -1956,7 +1957,7 @@ class Parser(multiprocessing.Process): | |||
1956 | bb.event.set_class_handlers(self.handlers.copy()) | 1957 | bb.event.set_class_handlers(self.handlers.copy()) |
1957 | bb.event.LogHandler.filter = parse_filter | 1958 | bb.event.LogHandler.filter = parse_filter |
1958 | 1959 | ||
1959 | return True, bb.cache.Cache.parse(filename, appends, self.cfg, caches_array) | 1960 | return True, self.bb_cache.parse(filename, appends) |
1960 | except Exception as exc: | 1961 | except Exception as exc: |
1961 | tb = sys.exc_info()[2] | 1962 | tb = sys.exc_info()[2] |
1962 | exc.recipe = filename | 1963 | exc.recipe = filename |
@@ -1995,7 +1996,7 @@ class CookerParser(object): | |||
1995 | for filename in self.filelist: | 1996 | for filename in self.filelist: |
1996 | appends = self.cooker.collection.get_file_appends(filename) | 1997 | appends = self.cooker.collection.get_file_appends(filename) |
1997 | if not self.bb_cache.cacheValid(filename, appends): | 1998 | if not self.bb_cache.cacheValid(filename, appends): |
1998 | self.willparse.append((filename, appends, cooker.caches_array)) | 1999 | self.willparse.append((filename, appends)) |
1999 | else: | 2000 | else: |
2000 | self.fromcache.append((filename, appends)) | 2001 | self.fromcache.append((filename, appends)) |
2001 | self.toparse = self.total - len(self.fromcache) | 2002 | self.toparse = self.total - len(self.fromcache) |
@@ -2013,7 +2014,7 @@ class CookerParser(object): | |||
2013 | if self.toparse: | 2014 | if self.toparse: |
2014 | bb.event.fire(bb.event.ParseStarted(self.toparse), self.cfgdata) | 2015 | bb.event.fire(bb.event.ParseStarted(self.toparse), self.cfgdata) |
2015 | def init(): | 2016 | def init(): |
2016 | Parser.cfg = self.cfgdata | 2017 | Parser.bb_cache = self.bb_cache |
2017 | bb.utils.set_process_name(multiprocessing.current_process().name) | 2018 | bb.utils.set_process_name(multiprocessing.current_process().name) |
2018 | multiprocessing.util.Finalize(None, bb.codeparser.parser_cache_save, exitpriority=1) | 2019 | multiprocessing.util.Finalize(None, bb.codeparser.parser_cache_save, exitpriority=1) |
2019 | multiprocessing.util.Finalize(None, bb.fetch.fetcher_parse_save, exitpriority=1) | 2020 | multiprocessing.util.Finalize(None, bb.fetch.fetcher_parse_save, exitpriority=1) |
@@ -2084,7 +2085,7 @@ class CookerParser(object): | |||
2084 | 2085 | ||
2085 | def load_cached(self): | 2086 | def load_cached(self): |
2086 | for filename, appends in self.fromcache: | 2087 | for filename, appends in self.fromcache: |
2087 | cached, infos = self.bb_cache.load(filename, appends, self.cfgdata) | 2088 | cached, infos = self.bb_cache.load(filename, appends) |
2088 | yield not cached, infos | 2089 | yield not cached, infos |
2089 | 2090 | ||
2090 | def parse_generator(self): | 2091 | def parse_generator(self): |
@@ -2168,8 +2169,6 @@ class CookerParser(object): | |||
2168 | return True | 2169 | return True |
2169 | 2170 | ||
2170 | def reparse(self, filename): | 2171 | def reparse(self, filename): |
2171 | infos = self.bb_cache.parse(filename, | 2172 | infos = self.bb_cache.parse(filename, self.cooker.collection.get_file_appends(filename)) |
2172 | self.cooker.collection.get_file_appends(filename), | ||
2173 | self.cfgdata, self.cooker.caches_array) | ||
2174 | for vfn, info_array in infos: | 2173 | for vfn, info_array in infos: |
2175 | self.cooker.recipecache.add_from_recipeinfo(vfn, info_array) | 2174 | self.cooker.recipecache.add_from_recipeinfo(vfn, info_array) |