From 36687ffb9c8bd156e24e6d1a8c4ac53e40f2c557 Mon Sep 17 00:00:00 2001 From: Ross Burton Date: Tue, 2 Jun 2026 10:09:40 +0200 Subject: [PATCH] python_setuptools_build_meta: clean the build directory in configure It's not currently possible to set the build tree to be somewhere we control, but we know it will always be in the build directory alongside the pyproject.toml so we can [cleandirs] that. MJ: this was later reverted in a532cb50151d773c1c351ffccf4d47a37f26f8aa: This is not needed: setuptools.build_meta does the build under a new temporary directory. but the builds in scarthgap aren't using new temporary directory yet, so this is still useful there: Just rebuilding python3-tqdm in the same TMPDIR after cherry-picking this: $ buildhistory-diff -p buildhistory build-minus-1 | grep PKGSIZE python3-tqdm/python3-tqdm: PKGSIZE changed from 3309408 to 426880 (-87%) $ wc -l python3-tqdm/4.66.3*/image/usr/lib/python3.12/site-packages/tqdm-4.66.3.dist-info/RECORD 297 python3-tqdm/4.66.3-old/image/usr/lib/python3.12/site-packages/tqdm-4.66.3.dist-info/RECORD 41 python3-tqdm/4.66.3/image/usr/lib/python3.12/site-packages/tqdm-4.66.3.dist-info/RECORD (From OE-Core rev: d4950d6df0867dcd5c380d83ac4d138ec968e698) Signed-off-by: Ross Burton Signed-off-by: Mathieu Dubois-Briand Signed-off-by: Richard Purdie Signed-off-by: Martin Jansa (cherry picked from commit 383862cfe4c5acf04124080827c8bc6d00b2e86d) Signed-off-by: Yoann Congal Signed-off-by: Paul Barker --- meta/classes-recipe/python_setuptools_build_meta.bbclass | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/meta/classes-recipe/python_setuptools_build_meta.bbclass b/meta/classes-recipe/python_setuptools_build_meta.bbclass index 4c84d1e8d0..046b4ffb74 100644 --- a/meta/classes-recipe/python_setuptools_build_meta.bbclass +++ b/meta/classes-recipe/python_setuptools_build_meta.bbclass @@ -7,3 +7,7 @@ inherit setuptools3-base python_pep517 DEPENDS += "python3-setuptools-native python3-wheel-native" + +# This isn't nice, but is the best solutions to ensure clean builds for now. +# https://github.com/pypa/setuptools/issues/4732 +do_configure[cleandirs] = "${PEP517_SOURCE_PATH}/build"