[Toaster] [v2 PATCH] toaster: buildinfohelper Add additional metadata to the built layer
Barros Pena, Belen
belen.barros.pena at intel.com
Mon Mar 21 07:58:05 PDT 2016
On 17/03/2016 18:27, "toaster-bounces at yoctoproject.org on behalf of
Michael Wood" <toaster-bounces at yoctoproject.org on behalf of
michael.g.wood at intel.com> wrote:
>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]
This totally works:
* Images now come up in the image recipes page of local projects after you
build them
* The build information includes the layer branch
But it prompts the question of why we are seeing different branches for
the core layers: meta-poky and meta-yocto-bsp show master, but my
openembedded-core shows a different brach (a development one I was using
previously). I know this has nothing to do with this patch, but just
wondering why this is happening, and whether is a toaster thing or a
bitbake thing.
Thanks!
Belén
>
>Signed-off-by: Michael Wood <michael.g.wood at intel.com>
>---
> bitbake/lib/bb/ui/buildinfohelper.py | 34
>+++++++++++++++++++++++-----------
> 1 file changed, 23 insertions(+), 11 deletions(-)
>
>diff --git a/bitbake/lib/bb/ui/buildinfohelper.py
>b/bitbake/lib/bb/ui/buildinfohelper.py
>index 28c7353..80ac800 100644
>--- a/bitbake/lib/bb/ui/buildinfohelper.py
>+++ b/bitbake/lib/bb/ui/buildinfohelper.py
>@@ -355,12 +355,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)
>
>@@ -581,11 +586,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"
>@@ -1293,6 +1302,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']:
>--
>2.1.4
>
>--
>_______________________________________________
>toaster mailing list
>toaster at yoctoproject.org
>https://lists.yoctoproject.org/listinfo/toaster
More information about the toaster
mailing list