From: Changqing Li Date: Fri, 23 Dec 2022 03:38:40 +0000 (+0800) Subject: base.bbclass: Fix way to check ccache path X-Git-Tag: 2020-04.22-dunfell~6 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=f2f70bf8d93b33b65875828c0402a98e943f660a;p=thirdparty%2Fopenembedded%2Fopenembedded-core.git base.bbclass: Fix way to check ccache path The previous code had 2 issues: 1. make hosttools/ccache always link to host's ccache (/usr/bin/ccache) even we have one buildtools 2. make hosttools/gcc etc, link to host's gcc event we have one buildtools when keyword ccache in buildtools's path, eg: /mnt/ccache/bin/buildtools This patch is for fix above issues. Signed-off-by: Changqing Li Signed-off-by: Richard Purdie (cherry picked from commit 1b7c81414cf252a7203d95703810a770184d7e4d) Signed-off-by: Steve Sakoman --- diff --git a/meta/classes/base.bbclass b/meta/classes/base.bbclass index 19604a46465..3cae577a0e0 100644 --- a/meta/classes/base.bbclass +++ b/meta/classes/base.bbclass @@ -139,7 +139,7 @@ def setup_hosttools_dir(dest, toolsvar, d, fatal=True): # /usr/local/bin/ccache/gcc -> /usr/bin/ccache, then which(gcc) # would return /usr/local/bin/ccache/gcc, but what we need is # /usr/bin/gcc, this code can check and fix that. - if "ccache" in srctool: + if os.path.islink(srctool) and os.path.basename(os.readlink(srctool)) == 'ccache': srctool = bb.utils.which(path, tool, executable=True, direction=1) if srctool: os.symlink(srctool, desttool)