]> git.ipfire.org Git - thirdparty/Python/cpython.git/commitdiff
[3.14] gh-138061: Exclude __pycache__ directory from the computed digest in the...
authorMiss Islington (bot) <31488909+miss-islington@users.noreply.github.com>
Tue, 9 Dec 2025 18:18:14 +0000 (19:18 +0100)
committerGitHub <noreply@github.com>
Tue, 9 Dec 2025 18:18:14 +0000 (18:18 +0000)
Co-authored-by: alm <alonme@users.noreply.github.com>
Misc/NEWS.d/next/Build/2025-08-27-09-52-45.gh-issue-138061.fMVS9w.rst [new file with mode: 0644]
Tools/jit/_targets.py

diff --git a/Misc/NEWS.d/next/Build/2025-08-27-09-52-45.gh-issue-138061.fMVS9w.rst b/Misc/NEWS.d/next/Build/2025-08-27-09-52-45.gh-issue-138061.fMVS9w.rst
new file mode 100644 (file)
index 0000000..7af79d0
--- /dev/null
@@ -0,0 +1 @@
+Ensure reproducible builds by making JIT stencil header generation deterministic.
index ed63e388e433b9432bb69ba0545e189e57ae7011..d7c9aed1191c102e61429b426d7ca3c61f0d27e9 100644 (file)
@@ -69,6 +69,9 @@ class _Target(typing.Generic[_S, _R]):
         hasher.update(PYTHON_EXECUTOR_CASES_C_H.read_bytes())
         hasher.update((self.pyconfig_dir / "pyconfig.h").read_bytes())
         for dirpath, _, filenames in sorted(os.walk(TOOLS_JIT)):
+            # Exclude cache files from digest computation to ensure reproducible builds.
+            if dirpath.endswith("__pycache__"):
+                continue
             for filename in filenames:
                 hasher.update(pathlib.Path(dirpath, filename).read_bytes())
         return hasher.hexdigest()