diff options
author | Alexandru DAMIAN <alexandru.damian@intel.com> | 2015-01-08 13:15:11 +0000 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2015-01-08 22:34:36 +0000 |
commit | 3c3766927212853dfd195185caaa0fc951f049c8 (patch) | |
tree | 67ad0fcb09294cda67f039999716df91cc9e697e /bitbake/lib | |
parent | ed9fa17467ad8f41c654187eb840d4b4e15d262d (diff) | |
download | poky-3c3766927212853dfd195185caaa0fc951f049c8.tar.gz |
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>
Diffstat (limited to 'bitbake/lib')
-rw-r--r-- | bitbake/lib/toaster/bldcontrol/bbcontroller.py | 5 | ||||
-rw-r--r-- | bitbake/lib/toaster/bldcontrol/management/commands/runbuilds.py | 5 | ||||
-rw-r--r-- | bitbake/lib/toaster/orm/models.py | 1 |
3 files changed, 7 insertions, 4 deletions
diff --git a/bitbake/lib/toaster/bldcontrol/bbcontroller.py b/bitbake/lib/toaster/bldcontrol/bbcontroller.py index 7c27fe110e..102606e929 100644 --- a/bitbake/lib/toaster/bldcontrol/bbcontroller.py +++ b/bitbake/lib/toaster/bldcontrol/bbcontroller.py | |||
@@ -135,6 +135,11 @@ class BuildEnvironmentController(object): | |||
135 | bblayerconffile.write("# line added by toaster build control\nBBLAYERS = \"" + " ".join(layerlist) + "\"") | 135 | bblayerconffile.write("# line added by toaster build control\nBBLAYERS = \"" + " ".join(layerlist) + "\"") |
136 | bblayerconffile.close() | 136 | bblayerconffile.close() |
137 | 137 | ||
138 | def writePreConfFile(self, variable_list): | ||
139 | prefilepath = os.path.join(self.be.builddir, "conf/toaster-pre.conf") | ||
140 | with open(prefilepath, "w") as prefile: | ||
141 | for i in variable_list: | ||
142 | prefile.write("%s=\"%s\"\n" % (i.name, i.value)) | ||
138 | 143 | ||
139 | 144 | ||
140 | def startBBServer(self, brbe): | 145 | def startBBServer(self, brbe): |
diff --git a/bitbake/lib/toaster/bldcontrol/management/commands/runbuilds.py b/bitbake/lib/toaster/bldcontrol/management/commands/runbuilds.py index 56c989c9c9..bdce6ee902 100644 --- a/bitbake/lib/toaster/bldcontrol/management/commands/runbuilds.py +++ b/bitbake/lib/toaster/bldcontrol/management/commands/runbuilds.py | |||
@@ -53,14 +53,11 @@ class Command(NoArgsCommand): | |||
53 | 53 | ||
54 | # set up the buid environment with the needed layers | 54 | # set up the buid environment with the needed layers |
55 | bec.setLayers(br.brbitbake_set.all(), br.brlayer_set.all()) | 55 | bec.setLayers(br.brbitbake_set.all(), br.brlayer_set.all()) |
56 | bec.writePreConfFile(br.brvariable_set.all()) | ||
56 | 57 | ||
57 | # get the bb server running with the build req id and build env id | 58 | # get the bb server running with the build req id and build env id |
58 | bbctrl = bec.getBBController("%d:%d" % (br.pk, bec.be.pk)) | 59 | bbctrl = bec.getBBController("%d:%d" % (br.pk, bec.be.pk)) |
59 | 60 | ||
60 | # set the build configuration | ||
61 | for variable in br.brvariable_set.all(): | ||
62 | bbctrl.setVariable(variable.name, variable.value) | ||
63 | |||
64 | # trigger the build command | 61 | # trigger the build command |
65 | task = reduce(lambda x, y: x if len(y)== 0 else y, map(lambda y: y.task, br.brtarget_set.all())) | 62 | task = reduce(lambda x, y: x if len(y)== 0 else y, map(lambda y: y.task, br.brtarget_set.all())) |
66 | if len(task) == 0: | 63 | if len(task) == 0: |
diff --git a/bitbake/lib/toaster/orm/models.py b/bitbake/lib/toaster/orm/models.py index 46b704c130..6fbbeed8f3 100644 --- a/bitbake/lib/toaster/orm/models.py +++ b/bitbake/lib/toaster/orm/models.py | |||
@@ -529,6 +529,7 @@ class Recipe_Dependency(models.Model): | |||
529 | 529 | ||
530 | 530 | ||
531 | class Machine(models.Model): | 531 | class Machine(models.Model): |
532 | search_allowed_fields = ["name", "description"] | ||
532 | layer_source = models.ForeignKey('LayerSource', default = None, null = True) # from where did we get this machine | 533 | layer_source = models.ForeignKey('LayerSource', default = None, null = True) # from where did we get this machine |
533 | up_id = models.IntegerField(null = True, default = None) # id of entry in the source | 534 | up_id = models.IntegerField(null = True, default = None) # id of entry in the source |
534 | up_date = models.DateTimeField(null = True, default = None) | 535 | up_date = models.DateTimeField(null = True, default = None) |