Message ID | 20250217075609.255086-2-hongxu.jia@windriver.com |
---|---|
State | Changes Requested |
Delegated to: | Steve Sakoman |
Headers | show |
Series | [scarthgap,1/2] python3-setuptools-scm: add subprocess timeout control env var | expand |
diff --git a/meta/classes-recipe/setuptools3-base.bbclass b/meta/classes-recipe/setuptools3-base.bbclass index 27af6abc58..190d9e6e3a 100644 --- a/meta/classes-recipe/setuptools3-base.bbclass +++ b/meta/classes-recipe/setuptools3-base.bbclass @@ -23,6 +23,10 @@ export CCSHARED = "-fPIC -DPIC" # the python executable export LINKFORSHARED = "${SECURITY_CFLAGS} -Xlinker -export-dynamic" +# The environment variable SETUPTOOLS_SCM_SUBPROCESS_TIMEOUT allows +# to override the subprocess timeout. +export SETUPTOOLS_SCM_SUBPROCESS_TIMEOUT ??= "600" + FILES:${PN} += "${PYTHON_SITEPACKAGES_DIR}" FILES:${PN}-staticdev += "${PYTHON_SITEPACKAGES_DIR}/*.a" FILES:${PN}-dev += "${PYTHON_SITEPACKAGES_DIR}/*.la"
The environment variable SETUPTOOLS_SCM_SUBPROCESS_TIMEOUT allows to override the subprocess timeout. The default is 40 seconds and should work for most needs.[1] However, it was not enough while using git shallow tarball and starting multiple Yocto world builds in one host. | File "tmp/work/x86_64-linux/python3-scancode-native/32.1.0/recipe-sysroot- native/usr/lib/python3.13/subprocess.py", line 1263, in _check_timeout | raise TimeoutExpired( | ...<2 lines>... | stderr=b''.join(stderr_seq) if stderr_seq else None) | subprocess.TimeoutExpired: Command '['git', '--git-dir', 'tmp/work/x86_64- linux/python3-scancode-native/32.1.0/git/.git', 'status', '--porcelain', '--untracked-files=no']' timed out after 40 seconds Explicitly set variable SETUPTOOLS_SCM_SUBPROCESS_TIMEOUT to 600s in bbclass, and we could override it in local.conf [1] https://github.com/pypa/setuptools-scm/blob/main/docs/overrides.md Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com> --- meta/classes-recipe/setuptools3-base.bbclass | 4 ++++ 1 file changed, 4 insertions(+)