summaryrefslogtreecommitdiff
path: root/lang/python/python-package-install.sh
diff options
context:
space:
mode:
authorAlexandru Ardelean <ardeleanalex@gmail.com>2018-03-07 20:43:35 +0200
committerAlexandru Ardelean <ardeleanalex@gmail.com>2018-03-07 20:52:15 +0200
commitf53904ebdac8e94977f89170a3369241c748f30f (patch)
tree53fcf7e24f8349ef22875cdf77741d7d7b8f0d96 /lang/python/python-package-install.sh
parent00de391b66d6e56c7310fa882fc81b82ec20d0a4 (diff)
lang/python/python-package-install.sh: assign SOURCE_DATE_EPOCH to PYTHONHASHSEED
Following a discussion on bugs.python.org: * https://bugs.python.org/issue29708 * https://bugs.python.org/msg313384 It seems that setting a fixed value to PYTHONHASHSEED guarantees that the bytecodes are generated consistently/in a reproducible manner. Hopefully, this is the last bit to make Python3 build reproducible. Tested this locally on a few files [that were not reproducible without this change]. The PYTHONHASHSEED is only assigned to the host Python/Python3 during compilation of byte-codes [from python source]. Signed-off-by: Alexandru Ardelean <ardeleanalex@gmail.com>
Diffstat (limited to 'lang/python/python-package-install.sh')
-rw-r--r--lang/python/python-package-install.sh5
1 files changed, 5 insertions, 0 deletions
diff --git a/lang/python/python-package-install.sh b/lang/python/python-package-install.sh
index d5a50322f..e5f6ec893 100644
--- a/lang/python/python-package-install.sh
+++ b/lang/python/python-package-install.sh
@@ -1,6 +1,11 @@
#!/bin/sh
set -e
+[ -z "$SOURCE_DATE_EPOCH" ] || {
+ PYTHONHASHSEED="$SOURCE_DATE_EPOCH"
+ export PYTHONHASHSEED
+}
+
process_filespec() {
local src_dir="$1"
local dst_dir="$2"