From c9ad1e6703337b7fa405d615af5af69113306971 Mon Sep 17 00:00:00 2001 From: Michael Wood Date: Fri, 1 Apr 2016 12:53:55 +0100 Subject: bitbake: toaster: buildinfohelper Add additional metadata to the built layer Add additional metadata to the layer created for build history to be able to identify the layer and recipe later on. Specifically this is the branch and release to which the recipe and layer are associated with enabling differentiation of two recipes which are local release and master and 'master' release. [YOCTO #8528] [YOCTO #8545] (Bitbake rev: 3deebd887bddbbd02fd9829a180aab494b1af7c4) Signed-off-by: Michael Wood Signed-off-by: Elliot Smith Signed-off-by: Richard Purdie --- bitbake/lib/bb/ui/buildinfohelper.py | 34 +++++++++++++++++++++++----------- 1 file changed, 23 insertions(+), 11 deletions(-) (limited to 'bitbake/lib/bb/ui') diff --git a/bitbake/lib/bb/ui/buildinfohelper.py b/bitbake/lib/bb/ui/buildinfohelper.py index bddce4f4b7..ed43f4c10d 100644 --- a/bitbake/lib/bb/ui/buildinfohelper.py +++ b/bitbake/lib/bb/ui/buildinfohelper.py @@ -358,12 +358,17 @@ class ORMWrapper(object): # create a new copy of this layer version as a snapshot for # historical purposes - layer_copy, c = Layer_Version.objects.get_or_create(build=build_obj, - layer=layer_obj.layer, - commit=layer_version_information['commit'], - local_path = layer_version_information['local_path'], - ) - logger.info("created new historical layer version %d", layer_copy.pk) + layer_copy, c = Layer_Version.objects.get_or_create( + build=build_obj, + layer=layer_obj.layer, + up_branch=layer_obj.up_branch, + branch=layer_version_information['branch'], + commit=layer_version_information['commit'], + local_path=layer_version_information['local_path'], + ) + + logger.info("created new historical layer version %d", + layer_copy.pk) self.layer_version_built.append(layer_copy) @@ -584,11 +589,15 @@ class ORMWrapper(object): packagedict[p]['object'].package_dependencies_target.all().delete() packagedict[p]['object'].package_dependencies_source.all().delete() try: - recipe = self._cached_get(Recipe, - name=built_recipe.name, - layer_version__build=None, - file_path=built_recipe.file_path, - version=built_recipe.version) + recipe = self._cached_get( + Recipe, + name=built_recipe.name, + layer_version__build=None, + layer_version__up_branch= + built_recipe.layer_version.up_branch, + file_path=built_recipe.file_path, + version=built_recipe.version + ) except (Recipe.DoesNotExist, Recipe.MultipleObjectsReturned) as e: logger.info("We did not find one recipe for the" @@ -1297,6 +1306,9 @@ class BuildInfoHelper(object): for cls in event._depgraph['pn'][pn]['inherits']: if cls.endswith('/image.bbclass'): recipe.is_image = True + recipe_info['is_image'] = True + # Save the is_image state to the relevant recipe objects + self.orm_wrapper.get_update_recipe_object(recipe_info) break if recipe.is_image: for t in self.internal_state['targets']: -- cgit v1.2.3-54-g00ecf