File distutils-reproducible-compile.patch of Package python310.32817

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.
openSUSE Build Service is sponsored by