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>
This commit is contained in:
Alexandru Ardelean 2018-03-07 20:43:35 +02:00
parent 00de391b66
commit f53904ebda
1 changed files with 5 additions and 0 deletions

View File

@ -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"