From: Oleksandr Hnatiuk Date: Mon, 9 Dec 2024 20:29:41 +0000 (-0800) Subject: oeqa/selftest: Fix failure when configuration contains BBLAYERS:append X-Git-Tag: uninative-4.7~606 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=516c8e8f722ed0eb85a715a23b5e68d05abe9275;p=thirdparty%2Fopenembedded%2Fopenembedded-core.git 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. Signed-off-by: Oleksandr Hnatiuk Signed-off-by: Richard Purdie --- diff --git a/meta/lib/oeqa/selftest/context.py b/meta/lib/oeqa/selftest/context.py index acc3b073bd1..5eb4cc44fd3 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)