mirror of
https://git.yoctoproject.org/poky
synced 2026-04-19 15:32:13 +02:00
oeqa/selftest: OESelftestTestContext: convert relative to full path when newbuilddir is provided
Relative paths in BBLAYERS only works when the new build dir are on the same ascending directory node: . ├── build ├── build-st It works because they share the same ascending relative directory node. So use the full path when the argument newbuilddir is provided to make the oe-selftest work everywere regardless of the location chosen. (From OE-Core rev: 2e022c1977bc1006c00a87e08a2dca5b69db4801) Signed-off-by: Jose Quaresma <jose.quaresma@foundries.io> Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
committed by
Richard Purdie
parent
4147b7e76d
commit
f5f465ff57
@@ -102,6 +102,16 @@ class OESelftestTestContext(OETestContext):
|
||||
# Tried to used bitbake-layers add/remove but it requires recipe parsing and hence is too slow
|
||||
subprocess.check_output("sed %s/conf/bblayers.conf -i -e 's#%s#%s#g'" % (newbuilddir, selftestdir, newselftestdir), cwd=newbuilddir, shell=True)
|
||||
|
||||
# Relative paths in BBLAYERS only works when the new build dir share the same ascending node
|
||||
if self.newbuilddir:
|
||||
bblayers = subprocess.check_output("bitbake-getvar --value BBLAYERS | tail -1", cwd=builddir, shell=True, text=True)
|
||||
if '..' in bblayers:
|
||||
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 += 'BBLAYERS = "%s"\n' % ' '.join(bblayers_abspath)
|
||||
f.write(newbblayers)
|
||||
|
||||
for e in os.environ:
|
||||
if builddir + "/" in os.environ[e]:
|
||||
os.environ[e] = os.environ[e].replace(builddir + "/", newbuilddir + "/")
|
||||
|
||||
Reference in New Issue
Block a user