mirror of
https://git.yoctoproject.org/poky
synced 2026-05-02 09:32:14 +02:00
bitbake: bitbake: Show base multiconfig environment
Adds support to the 'bitbake -e' command so that it can display the base environment for a multiconfig. It was previously possible to get the base environment for the main environment by running "bitbake -e", but there was no support for getting the base environment for a multiconfig without specifying a recipe. A user can now print the base environment for the multiconfig "foo" by running: $ bitbake -e multiconfig:foo (Bitbake rev: 3d657af8a6120193d45d01968605b30075a56198) Signed-off-by: Joshua Watt <JPEWhacker@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
committed by
Richard Purdie
parent
66fd4c13d9
commit
88f5abb028
@@ -495,6 +495,7 @@ class BBCooker:
|
||||
"""
|
||||
fn = None
|
||||
envdata = None
|
||||
mc = ''
|
||||
if not pkgs_to_build:
|
||||
pkgs_to_build = []
|
||||
|
||||
@@ -503,6 +504,12 @@ class BBCooker:
|
||||
self.enableDataTracking()
|
||||
self.reset()
|
||||
|
||||
def mc_base(p):
|
||||
if p.startswith('multiconfig:'):
|
||||
s = p.split(':')
|
||||
if len(s) == 2:
|
||||
return s[1]
|
||||
return None
|
||||
|
||||
if buildfile:
|
||||
# Parse the configuration here. We need to do it explicitly here since
|
||||
@@ -513,18 +520,16 @@ class BBCooker:
|
||||
fn = self.matchFile(fn)
|
||||
fn = bb.cache.realfn2virtual(fn, cls, mc)
|
||||
elif len(pkgs_to_build) == 1:
|
||||
ignore = self.data.getVar("ASSUME_PROVIDED") or ""
|
||||
if pkgs_to_build[0] in set(ignore.split()):
|
||||
bb.fatal("%s is in ASSUME_PROVIDED" % pkgs_to_build[0])
|
||||
mc = mc_base(pkgs_to_build[0])
|
||||
if not mc:
|
||||
ignore = self.data.getVar("ASSUME_PROVIDED") or ""
|
||||
if pkgs_to_build[0] in set(ignore.split()):
|
||||
bb.fatal("%s is in ASSUME_PROVIDED" % pkgs_to_build[0])
|
||||
|
||||
taskdata, runlist = self.buildTaskData(pkgs_to_build, None, self.configuration.abort, allowincomplete=True)
|
||||
taskdata, runlist = self.buildTaskData(pkgs_to_build, None, self.configuration.abort, allowincomplete=True)
|
||||
|
||||
mc = runlist[0][0]
|
||||
fn = runlist[0][3]
|
||||
else:
|
||||
envdata = self.data
|
||||
data.expandKeys(envdata)
|
||||
parse.ast.runAnonFuncs(envdata)
|
||||
mc = runlist[0][0]
|
||||
fn = runlist[0][3]
|
||||
|
||||
if fn:
|
||||
try:
|
||||
@@ -533,6 +538,12 @@ class BBCooker:
|
||||
except Exception as e:
|
||||
parselog.exception("Unable to read %s", fn)
|
||||
raise
|
||||
else:
|
||||
if not mc in self.databuilder.mcdata:
|
||||
bb.fatal('Not multiconfig named "%s" found' % mc)
|
||||
envdata = self.databuilder.mcdata[mc]
|
||||
data.expandKeys(envdata)
|
||||
parse.ast.runAnonFuncs(envdata)
|
||||
|
||||
# Display history
|
||||
with closing(StringIO()) as env:
|
||||
|
||||
Reference in New Issue
Block a user