Message ID | 20250218133736.2113804-2-hongxu.jia@windriver.com |
---|---|
State | Rejected |
Delegated to: | Steve Sakoman |
Headers | show |
Series | [scarthgap,v2,1/2] python3-setuptools-scm: add subprocess timeout control env var | expand |
On Tue, 18 Feb 2025 at 14:37, hongxu via lists.openembedded.org <hongxu.jia=eng.windriver.com@lists.openembedded.org> wrote: > Explicitly set variable SETUPTOOLS_SCM_SUBPROCESS_TIMEOUT to 600s in bbclass, > and we could override it in local.conf This hasn't been accepted in master yet. And there's a strong opposition, as this is felt to be something needed for misconfigured CIs that get I/O load beyond all reason. Can this be kept as your local tweak? Alex
On 18 Feb 2025, at 13:37, hongxu via lists.openembedded.org <hongxu.jia=eng.windriver.com@lists.openembedded.org> wrote: > > 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 Is this specific to the python3-scancode-native recipe, or can you replicate it across a number of recipes? If it’s specific to the recipe (due to it being huge, or having LFS, or something) then I suggest the assignment could be done in there instead. Ross
On 2/18/25 21:47, Alexander Kanavin wrote: > CAUTION: This email comes from a non Wind River email account! > Do not click links or open attachments unless you recognize the sender and know the content is safe. > > On Tue, 18 Feb 2025 at 14:37, hongxu via lists.openembedded.org > <hongxu.jia=eng.windriver.com@lists.openembedded.org> wrote: >> Explicitly set variable SETUPTOOLS_SCM_SUBPROCESS_TIMEOUT to 600s in bbclass, >> and we could override it in local.conf > This hasn't been accepted in master yet. And there's a strong > opposition, as this is felt to be something needed for misconfigured > CIs that get I/O load beyond all reason. Can this be kept as your > local tweak? Sure, we kept it as local patch //Hongxu > Alex
On Wed, 19 Feb 2025 at 03:28, Hongxu Jia <hongxu.jia@windriver.com> wrote: > > This hasn't been accepted in master yet. And there's a strong > > opposition, as this is felt to be something needed for misconfigured > > CIs that get I/O load beyond all reason. Can this be kept as your > > local tweak? > > Sure, we kept it as local patch Well, it has actually landed in master at about same time I wrote that :) https://git.yoctoproject.org/poky/commit/?h=master&id=a4ba090f61484ea7cf8014c232ebec6f195f54a3 I'm not asking for a revert, but can the default be reset from 600 to upstream's 40? Alex
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(+)