File distutils-reproducible-compile.patch of Package python310
Index: Python-3.10.5/Lib/compileall.py
===================================================================
--- Python-3.10.5.orig/Lib/compileall.py
+++ Python-3.10.5/Lib/compileall.py
@@ -96,6 +96,12 @@ def compile_dir(dir, maxlevels=None, ddi
maxlevels = sys.getrecursionlimit()
files = _walk_dir(dir, quiet=quiet, maxlevels=maxlevels)
success = True
+ # work around https://github.com/python/cpython/issues/93317
+ sys.intern('{')
+ sys.intern('{{')
+ sys.intern('}')
+ sys.intern('}}')
+
if workers != 1 and ProcessPoolExecutor is not None:
# If workers == 0, let ProcessPoolExecutor choose
workers = workers or None
Index: Python-3.10.5/Lib/distutils/util.py
===================================================================
--- Python-3.10.5.orig/Lib/distutils/util.py
+++ Python-3.10.5/Lib/distutils/util.py
@@ -436,7 +436,7 @@ byte_compile(files, optimize=%r, force=%
else:
from py_compile import compile
- for file in py_files:
+ for file in sorted(py_files):
if file[-3:] != ".py":
# This lets us be lazy and not filter filenames in
# the "install_lib" command.