On 21/03/16 14:58, Barros Pena, Belen wrote:

On 17/03/2016 18:27, "[email protected] on behalf of
Michael Wood" <[email protected] on behalf of
[email protected]> 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.

I guess you can check in the toaster cloned layers directory to see if what it's reporting is correct first off. Secondly I suspect that this is caused by cloning 'self', if you do a new poky git clone and switch branches to contrib/catdog and then ask it to build something in openembedded-core it will go 'oh I don't need to go and clone openembedded-core from the internet because I know there is a copy in my directory /meta/ so I will copy myself/this instead' and of course it copies it as-is which probably means the git repo is still checked out as contrib/catdog.

Michael

Thanks!

Belén
Signed-off-by: Michael Wood <[email protected]>
---
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
[email protected]
https://lists.yoctoproject.org/listinfo/toaster

--
_______________________________________________
toaster mailing list
[email protected]
https://lists.yoctoproject.org/listinfo/toaster

Reply via email to