diff options
author | Oleksandr Hnatiuk <ohnatiuk@cisco.com> | 2024-12-09 12:29:41 -0800 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2024-12-12 12:59:35 +0000 |
commit | 7e3d21d0b2e1b1bcacb61f592d47798d900b1732 (patch) | |
tree | b0963fd36e947e65bbc3c95b540d3ddb0fbf92a0 /meta/lib/oeqa/selftest | |
parent | 102743c4dfe2ceedd4c0663ee6f6b14bb1f9f745 (diff) | |
download | poky-7e3d21d0b2e1b1bcacb61f592d47798d900b1732.tar.gz |
oeqa/selftest: Fix failure when configuration contains BBLAYERS:append
When used with `--newbuilddir` option, it replaces relative paths in
BBLAYERS variable with absolute paths by evaluating the final value of
the variable, converting paths and saving result by assignment
(`BBLAYERS =`) at the end of bblayers.conf.
This breaks tests when bblayers.conf contains BBLAYERS:append because
:append statements are evaluated after all assignments and we end up
with the appended layer added twice - first by evaluating final value
of the variable, then again by bitbake evaluating BBLAYERS:append.
The error is as follows:
AssertionError: Command 'bitbake -e' returned non-zero exit status 1:
ERROR: Found duplicated BBFILE_COLLECTIONS 'layer-name', check bblayers.conf or layer.conf to fix it.
(From OE-Core rev: 516c8e8f722ed0eb85a715a23b5e68d05abe9275)
Signed-off-by: Oleksandr Hnatiuk <ohnatiuk@cisco.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'meta/lib/oeqa/selftest')
-rw-r--r-- | meta/lib/oeqa/selftest/context.py | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/meta/lib/oeqa/selftest/context.py b/meta/lib/oeqa/selftest/context.py index acc3b073bd..5eb4cc44fd 100644 --- a/meta/lib/oeqa/selftest/context.py +++ b/meta/lib/oeqa/selftest/context.py | |||
@@ -114,6 +114,7 @@ class OESelftestTestContext(OETestContext): | |||
114 | bblayers_abspath = [os.path.abspath(path) for path in bblayers.split()] | 114 | bblayers_abspath = [os.path.abspath(path) for path in bblayers.split()] |
115 | with open("%s/conf/bblayers.conf" % newbuilddir, "a") as f: | 115 | with open("%s/conf/bblayers.conf" % newbuilddir, "a") as f: |
116 | newbblayers = "# new bblayers to be used by selftest in the new build dir '%s'\n" % newbuilddir | 116 | newbblayers = "# new bblayers to be used by selftest in the new build dir '%s'\n" % newbuilddir |
117 | newbblayers += 'unset BBLAYERS\n' | ||
117 | newbblayers += 'BBLAYERS = "%s"\n' % ' '.join(bblayers_abspath) | 118 | newbblayers += 'BBLAYERS = "%s"\n' % ' '.join(bblayers_abspath) |
118 | f.write(newbblayers) | 119 | f.write(newbblayers) |
119 | 120 | ||