diff options
author | Ed Bartosh <ed.bartosh@linux.intel.com> | 2016-01-08 11:17:17 +0000 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2016-01-11 23:26:32 +0000 |
commit | 6a28ed33b7baefe0ccf1be3d924188bbb8a5f86f (patch) | |
tree | 526b329c499421bdec3dca9638332ab91786cbee /bitbake | |
parent | f2b7252190ed646fe8d28a436328970431eb8d9c (diff) | |
download | poky-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.py | 24 |
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 |