mirror of
https://git.yoctoproject.org/poky
synced 2026-05-09 05:29:32 +00:00
wic: misc.py: add parameter 'cache' to get_bitbake_vars
This parameter will be used to allow or prevent variable caching. For example, we don't want to cache value of RECIPE_SYSROOT_NATIVE wic-tools variable as we may decide to rebuild wic-tools. (From OE-Core rev: e4269fdb4c3ef06b97df063f8586f74986215c83) Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
committed by
Richard Purdie
parent
253b8d7d58
commit
7d5f44b455
@@ -160,7 +160,7 @@ class BitbakeVars(defaultdict):
|
|||||||
key, val = match.groups()
|
key, val = match.groups()
|
||||||
self[image][key] = val.strip('"')
|
self[image][key] = val.strip('"')
|
||||||
|
|
||||||
def get_var(self, var, image=None):
|
def get_var(self, var, image=None, cache=True):
|
||||||
"""
|
"""
|
||||||
Get bitbake variable from 'bitbake -e' output or from .env file.
|
Get bitbake variable from 'bitbake -e' output or from .env file.
|
||||||
This is a lazy method, i.e. it runs bitbake or parses file only when
|
This is a lazy method, i.e. it runs bitbake or parses file only when
|
||||||
@@ -202,21 +202,26 @@ class BitbakeVars(defaultdict):
|
|||||||
self._parse_line(line, image)
|
self._parse_line(line, image)
|
||||||
|
|
||||||
# Make first image a default set of variables
|
# Make first image a default set of variables
|
||||||
images = [key for key in self if key]
|
if cache:
|
||||||
if len(images) == 1:
|
images = [key for key in self if key]
|
||||||
self[None] = self[image]
|
if len(images) == 1:
|
||||||
|
self[None] = self[image]
|
||||||
|
|
||||||
return self[image].get(var)
|
result = self[image].get(var)
|
||||||
|
if not cache:
|
||||||
|
self.pop(image, None)
|
||||||
|
|
||||||
|
return result
|
||||||
|
|
||||||
# Create BB_VARS singleton
|
# Create BB_VARS singleton
|
||||||
BB_VARS = BitbakeVars()
|
BB_VARS = BitbakeVars()
|
||||||
|
|
||||||
def get_bitbake_var(var, image=None):
|
def get_bitbake_var(var, image=None, cache=True):
|
||||||
"""
|
"""
|
||||||
Provide old get_bitbake_var API by wrapping
|
Provide old get_bitbake_var API by wrapping
|
||||||
get_var method of BB_VARS singleton.
|
get_var method of BB_VARS singleton.
|
||||||
"""
|
"""
|
||||||
return BB_VARS.get_var(var, image)
|
return BB_VARS.get_var(var, image, cache)
|
||||||
|
|
||||||
def parse_sourceparams(sourceparams):
|
def parse_sourceparams(sourceparams):
|
||||||
"""
|
"""
|
||||||
|
|||||||
Reference in New Issue
Block a user