package.bbclase: Add check for /build in copydebugsources()

This is needed when the SDK or eSDK is installed in a /build top level
directory as it conflicts with the build directory within the existing
/usr/src/debug/build (which is really a link). Rename it and then do the
copy, this is not an issue with master currently due to some other
changes that occurred in master.

Fixes: [YOCTO #15026]

(From OE-Core rev: 80839835ec9fcb63069289225a3c1af257ffdef7)

Signed-off-by: Saul Wold <saul.wold@windriver.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
Saul Wold
2023-02-20 18:31:29 -08:00
committed by Richard Purdie
parent 358d319cf5
commit d4d9aa02ea

View File

@@ -636,6 +636,13 @@ def copydebugsources(debugsrcdir, sources, d):
# Same check as above for externalsrc
if workdir not in sdir:
if os.path.exists(dvar + debugsrcdir + sdir):
# Special case for /build since we need to move into
# /usr/src/debug/build so rename sdir to build.build
if sdir.find("/build") == 0:
cmd = "mv %s%s%s %s%s%s" % (dvar, debugsrcdir, "/build", dvar, debugsrcdir, "/build.build")
subprocess.check_output(cmd, shell=True, stderr=subprocess.STDOUT)
sdir = sdir.replace("/build", "/build.build", 1)
cmd = "mv %s%s%s/* %s%s" % (dvar, debugsrcdir, sdir, dvar,debugsrcdir)
subprocess.check_output(cmd, shell=True, stderr=subprocess.STDOUT)