[Distutils] reproducible builds
Thomas Kluyver
thomas at kluyver.me.uk
Mon Mar 20 07:35:06 EDT 2017
On Mon, Mar 20, 2017, at 09:00 AM, Robin Becker wrote:
> Obviously if I have the ability to embed repr(some_object)
> into the document output then it will vary (unless the underlying python
> is reproducible). I'm not sure if debian runs the whole reportlab test
> suite, but it makes sense to get this kind of variablity out.
AIUI, it's fine to have the *ability* to produce non-deterministic
output, and it doesn't matter if your tests do that. The aim of
reproducible builds is to be able to go from the same source code to an
identical binary package. Documents generated by running the tests are
presumably not included in binary packages, so it doesn't matter if they
change.
> I believe there was some way to modify the hashing introduced when the dos dictionary attacks were an issue.
The PYTHONHASHSEED environment variable:
https://docs.python.org/3/using/cmdline.html#envvar-PYTHONHASHSEED
If you have non-determinism introduced by Python hashing, setting a
constant value of PYTHONHASHSEED should be an easy way to work around
it.
More information about the Distutils-SIG
mailing list