From 7e3d21d0b2e1b1bcacb61f592d47798d900b1732 Mon Sep 17 00:00:00 2001 From: Oleksandr Hnatiuk Date: Mon, 9 Dec 2024 12:29:41 -0800 Subject: [PATCH] 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 Signed-off-by: Richard Purdie --- meta/lib/oeqa/selftest/context.py | 1 + 1 file changed, 1 insertion(+) 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): bblayers_abspath = [os.path.abspath(path) for path in bblayers.split()] with open("%s/conf/bblayers.conf" % newbuilddir, "a") as f: newbblayers = "# new bblayers to be used by selftest in the new build dir '%s'\n" % newbuilddir + newbblayers += 'unset BBLAYERS\n' newbblayers += 'BBLAYERS = "%s"\n' % ' '.join(bblayers_abspath) f.write(newbblayers)