diff options
| -rw-r--r-- | meta/lib/oeqa/selftest/context.py | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/meta/lib/oeqa/selftest/context.py b/meta/lib/oeqa/selftest/context.py index 0d26a07438..0e3244a1c5 100644 --- a/meta/lib/oeqa/selftest/context.py +++ b/meta/lib/oeqa/selftest/context.py | |||
| @@ -91,6 +91,16 @@ class OESelftestTestContext(OETestContext): | |||
| 91 | # Tried to used bitbake-layers add/remove but it requires recipe parsing and hence is too slow | 91 | # Tried to used bitbake-layers add/remove but it requires recipe parsing and hence is too slow |
| 92 | subprocess.check_output("sed %s/conf/bblayers.conf -i -e 's#%s#%s#g'" % (newbuilddir, selftestdir, newselftestdir), cwd=newbuilddir, shell=True) | 92 | subprocess.check_output("sed %s/conf/bblayers.conf -i -e 's#%s#%s#g'" % (newbuilddir, selftestdir, newselftestdir), cwd=newbuilddir, shell=True) |
| 93 | 93 | ||
| 94 | # Relative paths in BBLAYERS only works when the new build dir share the same ascending node | ||
| 95 | if self.newbuilddir: | ||
| 96 | bblayers = subprocess.check_output("bitbake-getvar --value BBLAYERS | tail -1", cwd=builddir, shell=True, text=True) | ||
| 97 | if '..' in bblayers: | ||
| 98 | bblayers_abspath = [os.path.abspath(path) for path in bblayers.split()] | ||
| 99 | with open("%s/conf/bblayers.conf" % newbuilddir, "a") as f: | ||
| 100 | newbblayers = "# new bblayers to be used by selftest in the new build dir '%s'\n" % newbuilddir | ||
| 101 | newbblayers += 'BBLAYERS = "%s"\n' % ' '.join(bblayers_abspath) | ||
| 102 | f.write(newbblayers) | ||
| 103 | |||
| 94 | for e in os.environ: | 104 | for e in os.environ: |
| 95 | if builddir + "/" in os.environ[e]: | 105 | if builddir + "/" in os.environ[e]: |
| 96 | os.environ[e] = os.environ[e].replace(builddir + "/", newbuilddir + "/") | 106 | os.environ[e] = os.environ[e].replace(builddir + "/", newbuilddir + "/") |
