diff options
Diffstat (limited to 'bitbake/lib/bb/ui/buildinfohelper.py')
-rw-r--r-- | bitbake/lib/bb/ui/buildinfohelper.py | 53 |
1 files changed, 36 insertions, 17 deletions
diff --git a/bitbake/lib/bb/ui/buildinfohelper.py b/bitbake/lib/bb/ui/buildinfohelper.py index 533f4ce..f825b57 100644 --- a/bitbake/lib/bb/ui/buildinfohelper.py +++ b/bitbake/lib/bb/ui/buildinfohelper.py @@ -556,7 +556,6 @@ class ORMWrapper(object): assert isinstance(build_obj, Build) helptext_objects = [] - for k in vardump: desc = vardump[k]['doc'] if desc is None: @@ -667,9 +666,11 @@ class BuildInfoHelper(object): if (path.startswith(bl.layer.local_path)): return bl - #TODO: if we get here, we didn't read layers correctly - assert False - return None + #if we get here, we didn't read layers correctly; mockup the new layer + unknown_layer, created = Layer.objects.get_or_create(name="unknown", local_path="/", layer_index_url="") + unknown_layer_version_obj, created = Layer_Version.objects.get_or_create(layer = unknown_layer, build = self.internal_state['build']) + + return unknown_layer_version_obj def _get_recipe_information_from_taskfile(self, taskfile): localfilepath = taskfile.split(":")[-1] @@ -732,7 +733,6 @@ class BuildInfoHelper(object): def store_started_build(self, event): assert '_pkgs' in vars(event) - assert 'lvs' in self.internal_state, "Layer version information not found; Check if the bitbake server was configured to inherit toaster.bbclass." build_information = self._get_build_information() build_obj = self.orm_wrapper.create_build_object(build_information, self.brbe) @@ -740,10 +740,13 @@ class BuildInfoHelper(object): self.internal_state['build'] = build_obj # save layer version information for this build - for layer_obj in self.internal_state['lvs']: - self.orm_wrapper.get_update_layer_version_object(build_obj, layer_obj, self.internal_state['lvs'][layer_obj]) + if not 'lvs' in self.internal_state: + logger.error("Layer version information not found; Check if the bitbake server was configured to inherit toaster.bbclass.") + else: + for layer_obj in self.internal_state['lvs']: + self.orm_wrapper.get_update_layer_version_object(build_obj, layer_obj, self.internal_state['lvs'][layer_obj]) - del self.internal_state['lvs'] + del self.internal_state['lvs'] # create target information target_information = {} @@ -753,7 +756,8 @@ class BuildInfoHelper(object): self.internal_state['targets'] = self.orm_wrapper.create_target_objects(target_information) # Save build configuration - self.orm_wrapper.save_build_variables(build_obj, self.server.runCommand(["getAllKeysWithFlags", ["doc", "func"]])[0]) + data = self.server.runCommand(["getAllKeysWithFlags", ["doc", "func"]])[0] + self.orm_wrapper.save_build_variables(build_obj, []) return self.brbe @@ -980,14 +984,29 @@ class BuildInfoHelper(object): recipe_info = {} recipe_info['name'] = pn - recipe_info['version'] = event._depgraph['pn'][pn]['version'].lstrip(":") recipe_info['layer_version'] = layer_version_obj - recipe_info['summary'] = event._depgraph['pn'][pn]['summary'] - recipe_info['license'] = event._depgraph['pn'][pn]['license'] - recipe_info['description'] = event._depgraph['pn'][pn]['description'] - recipe_info['section'] = event._depgraph['pn'][pn]['section'] - recipe_info['homepage'] = event._depgraph['pn'][pn]['homepage'] - recipe_info['bugtracker'] = event._depgraph['pn'][pn]['bugtracker'] + + if 'version' in event._depgraph['pn'][pn]: + recipe_info['version'] = event._depgraph['pn'][pn]['version'].lstrip(":") + + if 'summary' in event._depgraph['pn'][pn]: + recipe_info['summary'] = event._depgraph['pn'][pn]['summary'] + + if 'license' in event._depgraph['pn'][pn]: + recipe_info['license'] = event._depgraph['pn'][pn]['license'] + + if 'description' in event._depgraph['pn'][pn]: + recipe_info['description'] = event._depgraph['pn'][pn]['description'] + + if 'section' in event._depgraph['pn'][pn]: + recipe_info['section'] = event._depgraph['pn'][pn]['section'] + + if 'homepage' in event._depgraph['pn'][pn]: + recipe_info['homepage'] = event._depgraph['pn'][pn]['homepage'] + + if 'bugtracker' in event._depgraph['pn'][pn]: + recipe_info['bugtracker'] = event._depgraph['pn'][pn]['bugtracker'] + recipe_info['file_path'] = file_name recipe = self.orm_wrapper.get_update_recipe_object(recipe_info) recipe.is_image = False @@ -1146,4 +1165,4 @@ class BuildInfoHelper(object): if 'backlog' in self.internal_state: for event in self.internal_state['backlog']: - print "NOTE: Unsaved log: ", event.msg + logger.error("Unsaved log: %s", event.msg) |