[bitbake-devel] [PATCH 5/8] buildinfohelper: add provides info to the db
Elliot Smith
elliot.smith at intel.com
Fri Jan 8 11:17:19 UTC 2016
From: Ed Bartosh <ed.bartosh at linux.intel.com>
Added new entries to Provides model and link them to
Recipe_Dependency using 'via' field.
This data will be used by Toaster UI to show 'Provides:'
information for the recipes.
[YOCTO #6169]
Signed-off-by: Ed Bartosh <ed.bartosh at linux.intel.com>
Signed-off-by: Elliot Smith <elliot.smith at intel.com>
---
lib/bb/ui/buildinfohelper.py | 11 ++++++++---
1 file changed, 8 insertions(+), 3 deletions(-)
diff --git a/lib/bb/ui/buildinfohelper.py b/lib/bb/ui/buildinfohelper.py
index cba0165..0cb6f68 100644
--- a/lib/bb/ui/buildinfohelper.py
+++ b/lib/bb/ui/buildinfohelper.py
@@ -41,7 +41,7 @@ from orm.models import Target_Image_File, BuildArtifact
from orm.models import Variable, VariableHistory
from orm.models import Package, Package_File, Target_Installed_Package, Target_File
from orm.models import Task_Dependency, Package_Dependency
-from orm.models import Recipe_Dependency
+from orm.models import Recipe_Dependency, Provides
from orm.models import Project
from bldcontrol.models import BuildEnvironment, BuildRequest
@@ -1268,15 +1268,20 @@ class BuildInfoHelper(object):
for dep in event._depgraph['depends'][recipe]:
if dep in assume_provided:
continue
+ via = None
if dep in event._depgraph['providermap']:
- dep = event._depgraph['providermap'][dep][0]
- if dep in self.internal_state['recipes']:
+ deprecipe = event._depgraph['providermap'][dep][0]
+ dependency = self.internal_state['recipes'][deprecipe]
+ via = Provides.objects.get_or_create(name=dep,
+ recipe=dependency)[0]
+ elif dep in self.internal_state['recipes']:
dependency = self.internal_state['recipes'][dep]
else:
errormsg += " stpd: KeyError saving recipe dependency for %s, %s \n" % (recipe, dep)
continue
recipe_dep = Recipe_Dependency(recipe=target,
depends_on=dependency,
+ via=via,
dep_type=Recipe_Dependency.TYPE_DEPENDS)
recipedeps_objects.append(recipe_dep)
--
1.9.3
---------------------------------------------------------------------
Intel Corporation (UK) Limited
Registered No. 1134945 (England)
Registered Office: Pipers Way, Swindon SN3 1RJ
VAT No: 860 2173 47
This e-mail and any attachments may contain confidential material for
the sole use of the intended recipient(s). Any review or distribution
by others is strictly prohibited. If you are not the intended
recipient, please contact the sender and delete all copies.
More information about the bitbake-devel
mailing list