diff options
author | Hongxu Jia <hongxu.jia@windriver.com> | 2020-04-16 15:44:27 +0800 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2020-04-24 14:31:42 +0100 |
commit | 03826c61fdb9949d6812c586e5407249fbb9bee9 (patch) | |
tree | d79aa6481963beaf595ab2c278730e8847ed8026 | |
parent | 9ef43dfb81657c8d0394e0dbb8555b1bd8224ca6 (diff) | |
download | poky-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>
-rw-r--r-- | bitbake/lib/bb/tinfoil.py | 1 |
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) |