From fa856e0dac16e13991561882bc6ad4c830674d78 Mon Sep 17 00:00:00 2001 From: Peter Marko Date: Fri, 14 Apr 2023 17:32:13 +0200 Subject: package.bbclass: correct check for /build in copydebugsources() 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. (From OE-Core rev: b67e714b367a08fdeeeff68c2d9495ec9bc07304) Signed-off-by: Peter Marko Signed-off-by: Steve Sakoman --- meta/classes/package.bbclass | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'meta') 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) -- cgit v1.2.3-54-g00ecf