On 4 August 2018 at 23:29, Paul Moore <p.f.mo...@gmail.com> wrote:
> On Sat, 4 Aug 2018 at 13:31, Jeroen Demeyer <j.deme...@ugent.be> wrote:
>> For the record: my post wasn't about *building* a wheel, but about
>> *installing* a wheel.
>
> But given that the current behaviour of pip is to copy the timestamps
> held in the wheel[1], where those timestamps came from is relevant to
> the discussion, surely?

Not really. As a simple case where getting file timestamps to change
is important, consider this scenario:

1. A dev is hacking on an extension that depends on NumPy while they
have version 1.15 installed.
2. They realise they're supposed to be supporting NumPy 1.14+, so they
downgrade to the older version
3. They kick off a rebuild of their extension, since they want to
recompile against the NumPy 1.14 headers

This only works if step 2 changes the timestamp on all the NumPy
headers to be *newer* than the previously installed NumPy 1.15
headers.

Regardless of how the wheels were generated, it's a pretty safe bet
the timestamps in the NumPy 1.15 wheel are going to be newer than the
ones in the NumPy 1.14 wheel, so getting the latter to be newer pretty
much requires ignoring the wheel, and using the installation time
instead.

It isn't a disaster if it doesn't (since C/C++ folks are used to
needing to forcibly rebuild the world after upgrading or downgrading
dependencies), but it's still a nice developer quality of life
enhancement if "downgrade + incremental rebuild" just works most of
the time.

None of this affects reproducible builds, as the whole point of
SOURCE_DATE_EPOCH is to allow everything that affects the final output
artifacts to *ignore* the modification times on any checked out,
generated or unpacked files.

Cheers,
Nick.

-- 
Nick Coghlan   |   ncogh...@gmail.com   |   Brisbane, Australia
--
Distutils-SIG mailing list -- distutils-sig@python.org
To unsubscribe send an email to distutils-sig-le...@python.org
https://mail.python.org/mm3/mailman3/lists/distutils-sig.python.org/
Message archived at 
https://mail.python.org/mm3/archives/list/distutils-sig@python.org/message/YNR3ZVJ7X7WFZI667GBFNDG2WUNI6DM2/

Reply via email to