summaryrefslogtreecommitdiffstats
path: root/bitbake/lib/bb/codeparser.py
diff options
context:
space:
mode:
authorRichard Purdie <richard.purdie@linuxfoundation.org>2022-11-30 22:28:56 +0000
committerRichard Purdie <richard.purdie@linuxfoundation.org>2023-01-26 21:50:31 +0000
commit557aab215884d10839fa24f797890c99f38e97b2 (patch)
treecc3429ed11f8478db4302c9979d80996555f577c /bitbake/lib/bb/codeparser.py
parent95f4795660f6a66ec2f6b94a822775516bcdd882 (diff)
downloadpoky-557aab215884d10839fa24f797890c99f38e97b2.tar.gz
bitbake: cache/codeparser: Switch to a new BB_CACHEDIR variable for cache location
Currently the codeparser cache is set from CACHE, which is typically in bitbake.conf which means we can't read/write any cache until it is found/read. We may well have python expressions to parse before that happens. The net result is suboptimal functioning of the codeparser cache since it will often be invalidated by data that is never written. This patch changes the codeparser and filechecksum caches to use BB_CACHE as their setting and defaults it to ${TOPDIR}/cache. The patch doesn't change where the "persistent" data such as prserver and hash-equiavalance resides (PERSISTENT_DIR) or where the metadata parsing cache resists (still currently CACHE). I've left those for a later patch. The patch does ensure data parsed by the core datastore parsing calls is written back since this is now much more useful after this change. (Bitbake rev: ee89ade5b5a4cf9c53f336d8b800e06fbe436628) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'bitbake/lib/bb/codeparser.py')
-rw-r--r--bitbake/lib/bb/codeparser.py8
1 files changed, 4 insertions, 4 deletions
diff --git a/bitbake/lib/bb/codeparser.py b/bitbake/lib/bb/codeparser.py
index ecae7b0808..d6b8102585 100644
--- a/bitbake/lib/bb/codeparser.py
+++ b/bitbake/lib/bb/codeparser.py
@@ -184,12 +184,12 @@ class CodeParserCache(MultiProcessCache):
184 self.shellcachelines[h] = cacheline 184 self.shellcachelines[h] = cacheline
185 return cacheline 185 return cacheline
186 186
187 def init_cache(self, d): 187 def init_cache(self, cachedir):
188 # Check if we already have the caches 188 # Check if we already have the caches
189 if self.pythoncache: 189 if self.pythoncache:
190 return 190 return
191 191
192 MultiProcessCache.init_cache(self, d) 192 MultiProcessCache.init_cache(self, cachedir)
193 193
194 # cachedata gets re-assigned in the parent 194 # cachedata gets re-assigned in the parent
195 self.pythoncache = self.cachedata[0] 195 self.pythoncache = self.cachedata[0]
@@ -201,8 +201,8 @@ class CodeParserCache(MultiProcessCache):
201 201
202codeparsercache = CodeParserCache() 202codeparsercache = CodeParserCache()
203 203
204def parser_cache_init(d): 204def parser_cache_init(cachedir):
205 codeparsercache.init_cache(d) 205 codeparsercache.init_cache(cachedir)
206 206
207def parser_cache_save(): 207def parser_cache_save():
208 codeparsercache.save_extras() 208 codeparsercache.save_extras()