summaryrefslogtreecommitdiffstats
path: root/bitbake/lib/bb/cache.py
diff options
context:
space:
mode:
authorRobert Yang <liezhi.yang@windriver.com>2019-07-12 11:26:15 +0800
committerRichard Purdie <richard.purdie@linuxfoundation.org>2019-07-15 09:31:48 +0100
commitafc56a43b059913e81e41a2131dc05a3c390c03c (patch)
tree9b0a2bcf773c26e4add5ef33ff5565d6fe14f362 /bitbake/lib/bb/cache.py
parent68467cfb895fc69e505c8c10d60284b0c8a4fc80 (diff)
downloadopenembedded-core-contrib-afc56a43b059913e81e41a2131dc05a3c390c03c.tar.gz
bitbake: cache: Set packages for skipped recipes
The provides and rprovides had been set for skipped recipes, packages are similar to them (all of them provide something), so also set it. This makes it easier to figure out the RDEPENDS issues, for example, lmsensors (lmsensors_3.5.0.bb) RRECOMMENDS lmsensors-config-fancontrol (lmsensors-config_1.0.bb), but lmsensors-config is skipped for some reasons, then if we run: $ bitbake lmsensors ERROR: Nothing RPROVIDES 'lmsensors-config-fancontrol' (but /path/to/lmsensors_3.5.0.bb RDEPENDS on or otherwise requires it) NOTE: Runtime target 'lmsensors-config-fancontrol' is unbuildable, removing... Missing or unbuildable dependency chain was: ['lmsensors-config-fancontrol'] ERROR: Required build target 'lmsensors' has no buildable providers. Missing or unbuildable dependency chain was: ['lmsensors', 'lmsensors-config-fancontrol'] We had no way to know who rprovides lmsensors-config-fancontrol, we can figure it out by bitbake/contrib/dump_cache.py after this patch. (Bitbake rev: 9cf7a5e5a28e676427970a821893e9d930973969) Signed-off-by: Robert Yang <liezhi.yang@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'bitbake/lib/bb/cache.py')
-rw-r--r--bitbake/lib/bb/cache.py13
1 files changed, 6 insertions, 7 deletions
diff --git a/bitbake/lib/bb/cache.py b/bitbake/lib/bb/cache.py
index 62d43eee36..bec8ef7757 100644
--- a/bitbake/lib/bb/cache.py
+++ b/bitbake/lib/bb/cache.py
@@ -85,19 +85,19 @@ class CoreRecipeInfo(RecipeInfoCommon):
self.provides = self.depvar('PROVIDES', metadata)
self.rprovides = self.depvar('RPROVIDES', metadata)
+ self.pn = self.getvar('PN', metadata) or bb.parse.vars_from_file(filename,metadata)[0]
+ self.packages = self.listvar('PACKAGES', metadata)
+ if not self.packages:
+ self.packages.append(self.pn)
+ self.packages_dynamic = self.listvar('PACKAGES_DYNAMIC', metadata)
+
self.skipreason = self.getvar('__SKIPPED', metadata)
if self.skipreason:
- self.pn = self.getvar('PN', metadata) or bb.parse.vars_from_file(filename,metadata)[0]
self.skipped = True
return
self.tasks = metadata.getVar('__BBTASKS', False)
- self.pn = self.getvar('PN', metadata)
- self.packages = self.listvar('PACKAGES', metadata)
- if not self.packages:
- self.packages.append(self.pn)
-
self.basetaskhashes = self.taskvar('BB_BASEHASH', self.tasks, metadata)
self.hashfilename = self.getvar('BB_HASHFILENAME', metadata)
@@ -113,7 +113,6 @@ class CoreRecipeInfo(RecipeInfoCommon):
self.stampclean = self.getvar('STAMPCLEAN', metadata)
self.stamp_extrainfo = self.flaglist('stamp-extra-info', self.tasks, metadata)
self.file_checksums = self.flaglist('file-checksums', self.tasks, metadata, True)
- self.packages_dynamic = self.listvar('PACKAGES_DYNAMIC', metadata)
self.depends = self.depvar('DEPENDS', metadata)
self.rdepends = self.depvar('RDEPENDS', metadata)
self.rrecommends = self.depvar('RRECOMMENDS', metadata)