binman: Handle tool paths containing '~' correctly

At present if CROSS_COMPILE contains a tilde, such as
~/.buildman-toolchains/gcc-7.3.0-nolibc/i386-linux/bin/i386-linux-gcc
then binman gives a confusing error:

   binman: Error 255 running '~/..buildman-toolchains/gcc-7.3.0- ...

Fix this by expanding it out before running the tool.

Signed-off-by: Simon Glass <sjg@chromium.org>
This commit is contained in:
Simon Glass 2020-11-09 07:45:02 -07:00
parent 0719bf4293
commit f31e83d6cf

View file

@ -333,6 +333,7 @@ def Run(name, *args, **kwargs):
elif for_host: elif for_host:
name, extra_args = GetHostCompileTool(name) name, extra_args = GetHostCompileTool(name)
args = tuple(extra_args) + args args = tuple(extra_args) + args
name = os.path.expanduser(name) # Expand paths containing ~
all_args = (name,) + args all_args = (name,) + args
result = command.RunPipe([all_args], capture=True, capture_stderr=True, result = command.RunPipe([all_args], capture=True, capture_stderr=True,
env=env, raise_on_error=False, binary=binary) env=env, raise_on_error=False, binary=binary)