summaryrefslogtreecommitdiffstats
path: root/bitbake
diff options
context:
space:
mode:
authorEd Bartosh <ed.bartosh@linux.intel.com>2016-01-08 11:17:17 +0000
committerRichard Purdie <richard.purdie@linuxfoundation.org>2016-01-11 23:26:32 +0000
commit6a28ed33b7baefe0ccf1be3d924188bbb8a5f86f (patch)
tree526b329c499421bdec3dca9638332ab91786cbee /bitbake
parentf2b7252190ed646fe8d28a436328970431eb8d9c (diff)
downloadpoky-6a28ed33b7baefe0ccf1be3d924188bbb8a5f86f.tar.gz
bitbake: buildinfohelper: use providermap
Used providermap in store_dependency_information function to find virtual dependencies. This should fix annoying warnings "stpd: KeyError saving recipe dependency" [YOCTO #6169] (Bitbake rev: 85c416ca338c886db6e79651e44727482df9fb07) Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com> Signed-off-by: Elliot Smith <elliot.smith@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'bitbake')
-rw-r--r--bitbake/lib/bb/ui/buildinfohelper.py24
1 files changed, 16 insertions, 8 deletions
diff --git a/bitbake/lib/bb/ui/buildinfohelper.py b/bitbake/lib/bb/ui/buildinfohelper.py
index 279c5c7823..cba016528c 100644
--- a/bitbake/lib/bb/ui/buildinfohelper.py
+++ b/bitbake/lib/bb/ui/buildinfohelper.py
@@ -1186,6 +1186,7 @@ class BuildInfoHelper(object):
1186 assert 'layer-priorities' in event._depgraph 1186 assert 'layer-priorities' in event._depgraph
1187 assert 'pn' in event._depgraph 1187 assert 'pn' in event._depgraph
1188 assert 'tdepends' in event._depgraph 1188 assert 'tdepends' in event._depgraph
1189 assert 'providermap' in event._depgraph
1189 1190
1190 errormsg = "" 1191 errormsg = ""
1191 1192
@@ -1263,15 +1264,22 @@ class BuildInfoHelper(object):
1263 # buildtime 1264 # buildtime
1264 recipedeps_objects = [] 1265 recipedeps_objects = []
1265 for recipe in event._depgraph['depends']: 1266 for recipe in event._depgraph['depends']:
1266 try: 1267 target = self.internal_state['recipes'][recipe]
1267 target = self.internal_state['recipes'][recipe] 1268 for dep in event._depgraph['depends'][recipe]:
1268 for dep in event._depgraph['depends'][recipe]: 1269 if dep in assume_provided:
1270 continue
1271 if dep in event._depgraph['providermap']:
1272 dep = event._depgraph['providermap'][dep][0]
1273 if dep in self.internal_state['recipes']:
1269 dependency = self.internal_state['recipes'][dep] 1274 dependency = self.internal_state['recipes'][dep]
1270 recipedeps_objects.append(Recipe_Dependency( recipe = target, 1275 else:
1271 depends_on = dependency, dep_type = Recipe_Dependency.TYPE_DEPENDS)) 1276 errormsg += " stpd: KeyError saving recipe dependency for %s, %s \n" % (recipe, dep)
1272 except KeyError as e: 1277 continue
1273 if e not in assume_provided and not str(e).startswith("virtual/"): 1278 recipe_dep = Recipe_Dependency(recipe=target,
1274 errormsg += " stpd: KeyError saving recipe dependency for %s, %s \n" % (recipe, e) 1279 depends_on=dependency,
1280 dep_type=Recipe_Dependency.TYPE_DEPENDS)
1281 recipedeps_objects.append(recipe_dep)
1282
1275 Recipe_Dependency.objects.bulk_create(recipedeps_objects) 1283 Recipe_Dependency.objects.bulk_create(recipedeps_objects)
1276 1284
1277 # save all task information 1285 # save all task information