diff mbox series

[kirkstone] package.bbclass: correct check for /build in copydebugsources()

Message ID 20230414153213.32833-1-peter.marko@siemens.com
State New, archived
Headers show
Series [kirkstone] package.bbclass: correct check for /build in copydebugsources() | expand

Commit Message

Peter Marko April 14, 2023, 3:32 p.m. UTC
Newly introduced kirkstone-only commit
https://git.openembedded.org/openembedded-core/commit/?h=kirkstone&id=80839835ec9fcb63069289225a3c1af257ffdef7
broke builds with externalsrc in Gitlab-CI.
This is yocto-4.0.9 regression.

It checks if directory starts with "build" instead of
if checking if it equals to "build".
Gitlab-CI uses directory "/builds" which matches the check
but directory /build does not exist, only /builds.
After successful check it tries to move this non-existent
directory which does not exists and thus do_package fails.

Signed-off-by: Peter Marko <peter.marko@siemens.com>
---
 meta/classes/package.bbclass | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
diff mbox series

Patch

diff --git a/meta/classes/package.bbclass b/meta/classes/package.bbclass
index 2950218145..67acc278d1 100644
--- a/meta/classes/package.bbclass
+++ b/meta/classes/package.bbclass
@@ -638,7 +638,7 @@  def copydebugsources(debugsrcdir, sources, d):
             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:
+                if sdir == "/build" or 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)