[rb-general] Addresses in (I)Python output

Chris Lamb lamby at debian.org
Wed Sep 25 11:14:24 UTC 2019


Hi Rebecca,

> - jupyter-nbconvert may well be a suitable "documentation builds go 
> through here, interactive use doesn't" place to disable address output 
> by default (either by passing a "disable address output" command-line 
> switch to IPython or by a search-and-replace on the output)

As a bit of background, from my hard-won experience in other areas of
Reproducible Builds I would highly advise against adding a "disable
address output" command- line argument that was *also* not enabled by
default.

Otherwise you will end up in a Sisyphean situation where not only
will you still need to patch the almost-countless number of existing
software packages to enable said stripping, you will need to continually
do this as new software is written.

> - or, do we have a standard "is a reproducible build currently being 
> attempted?" mechanism, that IPython could use to decide whether to 
> disable address output?  (Checking whether SOURCE_DATE_EPOCH is set?)

I believe that the "is SOURCE_DATE_EPOCH set" predicate, whilst not
being 100% perfect as a boolean condition, is suitable for this kind of
thing and have used it in the past to good effect and with no side-
effects.

> - or, we could put a "remove Python addresses" post-processor in 
> strip-nondeterminism.

I'd be very much a -1 on this solution alas. For more background and
justification, please see the canonical bug report:

  https://salsa.debian.org/reproducible-builds/strip-nondeterminism/issues/3


Best wishes,

-- 
      ,''`.
     : :'  :     Chris Lamb
     `. `'`      lamby at debian.org 🍥 chris-lamb.co.uk
       `-


More information about the rb-general mailing list