From: Miss Islington (bot) <31488909+miss-islington@users.noreply.github.com> Date: Tue, 7 Oct 2025 20:58:53 +0000 (+0200) Subject: [3.14] Touch up `Setup.local` handling in `Tools/wasm/wasi` (GH-137051) (GH-137053) X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=e953cead6104f96f70a0cf944ab8bc47e63811de;p=thirdparty%2FPython%2Fcpython.git [3.14] Touch up `Setup.local` handling in `Tools/wasm/wasi` (GH-137051) (GH-137053) Touch up `Setup.local` handling in `Tools/wasm/wasi` (GH-137051) The comment in the generated file is now more self-explanatory. The checks for unexpected file contents are also strengthened. (cherry picked from commit ec7fad79d24e79961b86e17177a32b32bb340fe5) Co-authored-by: Brett Cannon Co-authored-by: Zachary Ware --- diff --git a/Tools/wasm/wasi/__main__.py b/Tools/wasm/wasi/__main__.py index 54ccc95157d5..f3c97ff3fd11 100644 --- a/Tools/wasm/wasi/__main__.py +++ b/Tools/wasm/wasi/__main__.py @@ -23,7 +23,8 @@ CROSS_BUILD_DIR = CHECKOUT / "cross-build" BUILD_DIR = CROSS_BUILD_DIR / "build" LOCAL_SETUP = CHECKOUT / "Modules" / "Setup.local" -LOCAL_SETUP_MARKER = "# Generated by Tools/wasm/wasi.py\n".encode("utf-8") +LOCAL_SETUP_MARKER = ("# Generated by Tools/wasm/wasi .\n" + "# Required to statically build extension modules.").encode("utf-8") WASMTIME_VAR_NAME = "WASMTIME" WASMTIME_HOST_RUNNER_VAR = f"{{{WASMTIME_VAR_NAME}}}" @@ -141,9 +142,12 @@ def build_python_is_pydebug(): def configure_build_python(context, working_dir): """Configure the build/host Python.""" if LOCAL_SETUP.exists(): - print(f"👍 {LOCAL_SETUP} exists ...") + if LOCAL_SETUP.read_bytes() == LOCAL_SETUP_MARKER: + print(f"👍 {LOCAL_SETUP} exists ...") + else: + print(f"⚠️ {LOCAL_SETUP} exists, but has unexpected contents") else: - print(f"📝 Touching {LOCAL_SETUP} ...") + print(f"📝 Creating {LOCAL_SETUP} ...") LOCAL_SETUP.write_bytes(LOCAL_SETUP_MARKER) configure = [os.path.relpath(CHECKOUT / 'configure', working_dir)] @@ -297,9 +301,8 @@ def clean_contents(context): shutil.rmtree(CROSS_BUILD_DIR) if LOCAL_SETUP.exists(): - with LOCAL_SETUP.open("rb") as file: - if file.read(len(LOCAL_SETUP_MARKER)) == LOCAL_SETUP_MARKER: - print(f"🧹 Deleting generated {LOCAL_SETUP} ...") + if LOCAL_SETUP.read_bytes() == LOCAL_SETUP_MARKER: + print(f"🧹 Deleting generated {LOCAL_SETUP} ...") def main():