See: https://github.com/openwrt/packages/issues/5278 This should make Python & Python3 packages reproducible when building. In my local tests, I got the same sha256 for a sample .pyc file, so likely this is the solution that should address this. Signed-off-by: Alexandru Ardelean <ardeleanalex@gmail.com>
13 lines
594 B
Diff
13 lines
594 B
Diff
--- a/Lib/py_compile.py
|
|
+++ b/Lib/py_compile.py
|
|
@@ -137,8 +137,9 @@ def compile(file, cfile=None, dfile=None
|
|
except FileExistsError:
|
|
pass
|
|
source_stats = loader.path_stats(file)
|
|
+ mtime = int(os.getenv('SOURCE_DATE_EPOCH', source_stats['mtime']))
|
|
bytecode = importlib._bootstrap_external._code_to_bytecode(
|
|
- code, source_stats['mtime'], source_stats['size'])
|
|
+ code, mtime, source_stats['size'])
|
|
mode = importlib._bootstrap_external._calc_mode(file)
|
|
importlib._bootstrap_external._write_atomic(cfile, bytecode, mode)
|
|
return cfile
|