support/testing/infra/builder.py: fix missing $HOME during build

When running a test that uses host-python-setuptools using the Buildroot
Docker image, for example running the following command,

> ./utils/docker-run ./support/testing/run-tests -o output -s -k tests.package.test_python_pytest.TestPythonPy3Pytest

The build fails with the following error,

>   File "/home/blmaier/buildroot/output/TestPythonPy3Pytest/build/host-python-setuptools-69.2.0/setuptools/_distutils/dist.py", line 354, in _gen_paths
>     yield pathlib.Path('~').expanduser() / filename
>           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
>   File "/home/blmaier/buildroot/output/TestPythonPy3Pytest/host/lib/python3.11/pathlib.py", line 1385, in expanduser
>     raise RuntimeError("Could not determine home directory.")
> RuntimeError: Could not determine home directory.
>
> ERROR Backend subprocess exited when trying to invoke get_requires_for_build_wheel

Python setuptools is looking for $HOME but failing to find it.

Signed-off-by: Brandon Maier <brandon.maier@collins.com>
Signed-off-by: Arnout Vandecappelle <arnout@mind.be>
This commit is contained in:
Brandon Maier 2024-05-13 21:30:35 +00:00 committed by Arnout Vandecappelle
parent e4b8380503
commit 4dafb8b5c2

View File

@ -52,7 +52,10 @@ class Builder(object):
"> end defconfig\n")
self.logfile.flush()
env = {"PATH": os.environ["PATH"]}
env = {
"PATH": os.environ["PATH"],
"HOME": os.environ["HOME"]
}
env.update(make_extra_env)
cmd = ["make",
@ -79,7 +82,11 @@ class Builder(object):
in the environment that calls make.
e.g. make_extra_env={"BR2_DL_DIR": "/path"}
"""
env = {"PATH": os.environ["PATH"]}
env = {
"PATH": os.environ["PATH"],
"HOME": os.environ["HOME"]
}
if "http_proxy" in os.environ:
self.logfile.write("Using system proxy: " +
os.environ["http_proxy"] + "\n")