bitbake: toasterui: fix build - project identification

This patches fixes the build - project identification when
running under managed mode. The build is assigned to the
project from which it was triggered, and to the
build request, as to simplify relationships queries
 in the database.

(Bitbake rev: af1d3373706d365f9138caec110fcb20a5966b7b)

Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
Alexandru DAMIAN 2014-07-04 12:17:35 +01:00 committed by Richard Purdie
parent e7fa0c325d
commit 1dcdd877c7
2 changed files with 18 additions and 6 deletions

View File

@ -46,7 +46,7 @@ class ORMWrapper(object):
pass
def create_build_object(self, build_info):
def create_build_object(self, build_info, brbe):
assert 'machine' in build_info
assert 'distro' in build_info
assert 'distro_version' in build_info
@ -65,6 +65,13 @@ class ORMWrapper(object):
build_name=build_info['build_name'],
bitbake_version=build_info['bitbake_version'])
if brbe is not None:
from bldcontrol.models import BuildEnvironment, BuildRequest
br, be = brbe.split(":")
buildrequest = BuildRequest.objects.get(pk = br)
build.project = buildrequest.project
build.save()
return build
def create_target_objects(self, target_info):
@ -600,7 +607,10 @@ class BuildInfoHelper(object):
assert '_pkgs' in vars(event)
build_information = self._get_build_information()
build_obj = self.orm_wrapper.create_build_object(build_information)
brbe = self.server.runCommand(["getVariable", "TOASTER_BRBE"])[0]
build_obj = self.orm_wrapper.create_build_object(build_information, brbe)
self.internal_state['build'] = build_obj
# save layer version information for this build
@ -619,6 +629,9 @@ class BuildInfoHelper(object):
# Save build configuration
self.orm_wrapper.save_build_variables(build_obj, self.server.runCommand(["getAllKeysWithFlags", ["doc", "func"]])[0])
return brbe
def update_target_image_file(self, event):
image_fstypes = self.server.runCommand(["getVariable", "IMAGE_FSTYPES"])[0]
for t in self.internal_state['targets']:

View File

@ -94,7 +94,7 @@ def main(server, eventHandler, params ):
first = True
buildinfohelper = BuildInfoHelper(server, build_history_enabled)
brbe = None
while True:
try:
@ -111,7 +111,7 @@ def main(server, eventHandler, params ):
helper.eventHandler(event)
if isinstance(event, bb.event.BuildStarted):
buildinfohelper.store_started_build(event)
brbe = buildinfohelper.store_started_build(event)
if isinstance(event, (bb.build.TaskStarted, bb.build.TaskSucceeded, bb.build.TaskFailedSilent)):
buildinfohelper.update_and_store_task(event)
@ -231,10 +231,9 @@ def main(server, eventHandler, params ):
buildinfohelper.update_build_information(event, errors, warnings, taskfailures)
brbe = server.runCommand(["getVariable", "TOASTER_BRBE"])[0]
br_id, be_id = brbe.split(":")
# we start a new build info
if brbe is not None:
br_id, be_id = brbe.split(":")
buildinfohelper.store_build_done(br_id, be_id)
print "we are under BuildEnvironment management - after the build, we exit"