bitbake: toaster: write pre-read conf file for build variables
We change the setting of variables from directly injection into the set-up cooker to writing a conf file that is pre-read on bitbake server startup. This is needed because the injection can only happen after the variable set is parsed, and the variables already inferred, so setting up variables happens too late. [YOCTO #7045] (Bitbake rev: 854f680b5b9d2d0fa796af84cb1218545fbfc55a) Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
parent
ed9fa17467
commit
3c37669272
|
@ -251,7 +251,11 @@ case $CMD in
|
|||
return 4
|
||||
fi
|
||||
unset BBSERVER
|
||||
bitbake --postread conf/toaster.conf --server-only -t xmlrpc -B 0.0.0.0:0
|
||||
PREREAD=""
|
||||
if [ -e conf/toaster-pre.conf ]; then
|
||||
PREREAD="--read conf/toaster-pre.conf"
|
||||
fi
|
||||
bitbake $PREREAD --postread conf/toaster.conf --server-only -t xmlrpc -B 0.0.0.0:0
|
||||
if [ $? -ne 0 ]; then
|
||||
start_success=0
|
||||
echo "Bitbake server start failed"
|
||||
|
|
|
@ -135,6 +135,11 @@ class BuildEnvironmentController(object):
|
|||
bblayerconffile.write("# line added by toaster build control\nBBLAYERS = \"" + " ".join(layerlist) + "\"")
|
||||
bblayerconffile.close()
|
||||
|
||||
def writePreConfFile(self, variable_list):
|
||||
prefilepath = os.path.join(self.be.builddir, "conf/toaster-pre.conf")
|
||||
with open(prefilepath, "w") as prefile:
|
||||
for i in variable_list:
|
||||
prefile.write("%s=\"%s\"\n" % (i.name, i.value))
|
||||
|
||||
|
||||
def startBBServer(self, brbe):
|
||||
|
|
|
@ -53,14 +53,11 @@ class Command(NoArgsCommand):
|
|||
|
||||
# set up the buid environment with the needed layers
|
||||
bec.setLayers(br.brbitbake_set.all(), br.brlayer_set.all())
|
||||
bec.writePreConfFile(br.brvariable_set.all())
|
||||
|
||||
# get the bb server running with the build req id and build env id
|
||||
bbctrl = bec.getBBController("%d:%d" % (br.pk, bec.be.pk))
|
||||
|
||||
# set the build configuration
|
||||
for variable in br.brvariable_set.all():
|
||||
bbctrl.setVariable(variable.name, variable.value)
|
||||
|
||||
# trigger the build command
|
||||
task = reduce(lambda x, y: x if len(y)== 0 else y, map(lambda y: y.task, br.brtarget_set.all()))
|
||||
if len(task) == 0:
|
||||
|
|
|
@ -529,6 +529,7 @@ class Recipe_Dependency(models.Model):
|
|||
|
||||
|
||||
class Machine(models.Model):
|
||||
search_allowed_fields = ["name", "description"]
|
||||
layer_source = models.ForeignKey('LayerSource', default = None, null = True) # from where did we get this machine
|
||||
up_id = models.IntegerField(null = True, default = None) # id of entry in the source
|
||||
up_date = models.DateTimeField(null = True, default = None)
|
||||
|
|
Loading…
Reference in New Issue