From: Peter Marko Date: Fri, 14 Apr 2023 15:32:13 +0000 (+0200) Subject: package.bbclass: correct check for /build in copydebugsources() X-Git-Tag: 2022-04.10-kirkstone~51 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=b67e714b367a08fdeeeff68c2d9495ec9bc07304;p=thirdparty%2Fopenembedded%2Fopenembedded-core.git 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. Signed-off-by: Peter Marko Signed-off-by: Steve Sakoman --- diff --git a/meta/classes/package.bbclass b/meta/classes/package.bbclass index 2950218145b..67acc278d13 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)