base.bbclass: ensure HOSTTOOLS links point to executables

Use the new executable argument to bb.utils.which() to ensure that the symlinks
point to executable files and not for example directories with the right name
which happened to be on $PATH.

[ YOCTO #11256 ]

(From OE-Core rev: 7f40c934c3aeb1d34f95f30b281e25a17c428fce)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
Ross Burton
2017-03-30 14:34:10 +01:00
committed by Richard Purdie
parent 555c48fb01
commit 2a934a3df7

View File

@@ -128,9 +128,9 @@ def setup_hosttools_dir(dest, toolsvar, d, fatal=True):
for tool in tools:
desttool = os.path.join(dest, tool)
if not os.path.exists(desttool):
srctool = bb.utils.which(path, tool)
srctool = bb.utils.which(path, tool, executable=True)
if "ccache" in srctool:
srctool = bb.utils.which(path, tool, direction=1)
srctool = bb.utils.which(path, tool, executable=True, direction=1)
if srctool:
os.symlink(srctool, desttool)
else: