summaryrefslogtreecommitdiffstats
path: root/bitbake/lib/bb
diff options
context:
space:
mode:
authorHongxu Jia <hongxu.jia@windriver.com>2020-04-16 15:44:27 +0800
committerRichard Purdie <richard.purdie@linuxfoundation.org>2020-04-24 14:31:42 +0100
commit03826c61fdb9949d6812c586e5407249fbb9bee9 (patch)
treed79aa6481963beaf595ab2c278730e8847ed8026 /bitbake/lib/bb
parent9ef43dfb81657c8d0394e0dbb8555b1bd8224ca6 (diff)
downloadpoky-03826c61fdb9949d6812c586e5407249fbb9bee9.tar.gz
bitbake: tinfoil: fix config_data mess up insane check while parsing multiple recipes
Since commit [tinfoil: Simplify remote datastore connections][1] and [tinfoil: Add back ability to parse on top of a datastore][2] applied, bitbake run command parseRecipeFile with param config_data.dsindex rather than config_data. While calling tinfoil.parse_recipe_file() with one config_data (with the same config_data.dsindex) to parse multiple recipes, it will mess up insane check. It broke update_layer.py on layerindex, here are the simplified steps: [snip] t= bb.tinfoil.Tinfoil() t.prepare() data = bb.data.createCopy(t.config_data) fn = "path_to/oe-core/meta/recipes-graphics/images/core-image-clutter.bb" t.parse_recipe_file(fn, appends=False, config_data=data) fn = "path_to/oe-core/meta/recipes-graphics/packagegroups/packagegroup-core-x11-base.bb" t.parse_recipe_file(fn, appends=False, config_data=data) | File "path_to/oe-core/meta/classes/insane.bbclass", line 1303, in __anon_1304__path_to_oe_core_meta_classes_insane_bbclass | bb.fatal("Fatal QA errors found, failing task.") [snip] In above failure, RDEPENDS is assigned `${PACKAGE_INSTALL} ${LINGUAS_INSTALL} ${IMAGE_INSTALL_DEBUGFS}' in core-image-clutter.bb, but it broke insane check on packagegroup-core-x11-base.bb >From commit [remotedata: enable transporting datastore from the client to the server][3], it create a new DataSmart to save receive_datastore's remote_data Similarly, make a copy of config_data(with different config_data.dsindex) could fix the issue. [1] http://git.openembedded.org/bitbake/commit/?id=85e03a64dd0a4ebe71009ec4bdf4192c04a9786e [2] http://git.openembedded.org/bitbake/commit/?id=4618da2094189e4d814b7d65672cb65c86c0626a [3] http://git.openembedded.org/bitbake/commit/?id=784d2f1a024efe632fc9049ce5b78692d419d938 (Bitbake rev: a3074807974536e370289c25fddcb9ad93cbc137) Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'bitbake/lib/bb')
-rw-r--r--bitbake/lib/bb/tinfoil.py1
1 files changed, 1 insertions, 0 deletions
diff --git a/bitbake/lib/bb/tinfoil.py b/bitbake/lib/bb/tinfoil.py
index 7d53608b21..8c9b6b8ca5 100644
--- a/bitbake/lib/bb/tinfoil.py
+++ b/bitbake/lib/bb/tinfoil.py
@@ -636,6 +636,7 @@ class Tinfoil:
636 if appends and appendlist == []: 636 if appends and appendlist == []:
637 appends = False 637 appends = False
638 if config_data: 638 if config_data:
639 config_data = bb.data.createCopy(config_data)
639 dscon = self.run_command('parseRecipeFile', fn, appends, appendlist, config_data.dsindex) 640 dscon = self.run_command('parseRecipeFile', fn, appends, appendlist, config_data.dsindex)
640 else: 641 else:
641 dscon = self.run_command('parseRecipeFile', fn, appends, appendlist) 642 dscon = self.run_command('parseRecipeFile', fn, appends, appendlist)