From 1f7f07746629a55e4efd5f505e84eb6c66567115 Mon Sep 17 00:00:00 2001 From: Elliot Smith Date: Wed, 10 Feb 2016 18:34:10 +0000 Subject: bitbake: buildinfohelper: unset brbe variable when build finishes The brbe variable is set on the bitbake server when the Toaster UI starts. This enables Toaster to associate events with the correct build and build environment. However, the brbe variable is also used when a build starts to identify whether a new build needs to be created, or an existing one looked up. This causes a bug for command-line builds which happen after a Toaster-triggered build: because the brbe variable is never unset on the server or the buildinfohelper, the new command-line build events are treated as originating from the previous build. Ensure the brbe variable is reset when the buildinfohelper "closes" a build, so that each build then either sets the brbe variable (Toaster-triggered builds) or leaves it blank (command-line builds). Also modify the localhostbecontroller so that the brbe variable is not set on the server and not looked up from the server. This ensures that it is only set when the triggerBuild() method is called, and that it remains as None for command-line builds. [YOCTO #9021] (Bitbake rev: 4a6a8d0074f62208d843b06344be31ae73d9b745) Signed-off-by: Elliot Smith Signed-off-by: Michael Wood Signed-off-by: Richard Purdie --- bitbake/lib/toaster/bldcontrol/localhostbecontroller.py | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) (limited to 'bitbake/lib/toaster/bldcontrol/localhostbecontroller.py') diff --git a/bitbake/lib/toaster/bldcontrol/localhostbecontroller.py b/bitbake/lib/toaster/bldcontrol/localhostbecontroller.py index a7db1efc65..efd82c325b 100644 --- a/bitbake/lib/toaster/bldcontrol/localhostbecontroller.py +++ b/bitbake/lib/toaster/bldcontrol/localhostbecontroller.py @@ -308,12 +308,17 @@ class LocalhostBEController(BuildEnvironmentController): # get the bb server running with the build req id and build env id bbctrl = self.getBBController() - # set variables + # set variables; TOASTER_BRBE is not set on the server, as this + # causes events from command-line builds to be attached to the last + # Toaster-triggered build; instead, TOASTER_BRBE is fired as an event so + # that toasterui can set it on the buildinfohelper; + # see https://bugzilla.yoctoproject.org/show_bug.cgi?id=9021 for var in variables: - bbctrl.setVariable(var.name, var.value) if var.name == 'TOASTER_BRBE': bbctrl.triggerEvent('bb.event.MetadataEvent("SetBRBE", "%s")' \ % var.value) + else: + bbctrl.setVariable(var.name, var.value) # Add 'toaster' and 'buildhistory' to INHERIT variable inherit = {item.strip() for item in bbctrl.getVariable('INHERIT').split()} -- cgit v1.2.3-54-g00ecf