From: Alexandru Ardelean Date: Wed, 7 Mar 2018 18:43:35 +0000 (+0200) Subject: lang/python/python-package-install.sh: assign SOURCE_DATE_EPOCH to PYTHONHASHSEED X-Git-Url: http://git.99rst.org/?a=commitdiff_plain;h=f53904ebdac8e94977f89170a3369241c748f30f;p=openwrt-packages.git 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 --- 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"