I'm not sure how relevant it is, but this issue was recently filed on
pip's issue tracker ("Reproducible installs"):
https://github.com/pypa/pip/issues/5648

Is there any overlap?

There is also an older (closed) pip issue that might be relevant
("Preserving timestamps on copy"):
https://github.com/pypa/pip/issues/3201

--Chris


On Fri, Aug 3, 2018 at 2:14 PM, Jeroen Demeyer <j.deme...@ugent.be> wrote:
> Hello,
>
> I would like to draw attention to https://bugs.python.org/issue32773
>
> Currently, distutils (and everything that uses it, such as setuptools and
> pip) installs files with the same timestamp as in the sources (I'm only
> discussing copied files, not generated/compiled files). In other words, it
> preserves the timestamp when it copies the file from source to installation
> directory. There is a comment in the distutils sources
>
>         # XXX copy_file by default preserves atime and mtime.  IMHO this is
>         # the right thing to do, but perhaps it should be an option -- in
>         # particular, a site administrator might want installed files to
>         # reflect the time of installation rather than the last
>         # modification time before the installed release.
>
> It just says "IMHO, this is the right thing to do" without any
> justification.
>
> Now IMHO, preserving timestamps is NOT the right thing to do: the timestamp
> of installed files should be the time of installation. Autotools (which is
> probably the most-used installer for open source/free software projects)
> does that.
>
> The reason why preserving timestamps is bad is because it breaks dependency
> checking: when you install something, you typically want to rebuild other
> things depending on it. For .py files, this isn't relevant (nothing depends
> on them), but it is relevant for .h files and certain Cython files.
>
> So I suggested in bpo-32773 to fix this. The main open question is: to what
> extent could this break backwards compatibility? Personally, I cannot
> imagine a case where it is important that timestamps are preserved.
>
> If it's decided that this should become optional, it should be done on a
> per-project basis (and not by the user installing the package). For example,
> I would want all my projects to not preserve timestamps. Suggestions on how
> to do this (a new argument to setup()?) are welcome.
>
>
> Jeroen
>
>
> PS: if you're interested in the history, this goes back to
>
> commit 13ae1c8ff81befcfd0b0ece98ef471cd504642d8
> Author: Greg Ward <gw...@python.net>
> Date:   Mon Mar 22 14:55:25 1999 +0000
>
>     First checkin of real Distutils command modules.
>
> So yes, I want to change a 19-year old "feature".
> --
> 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/4FHEGHZYWCDRWVPGYLAU5VUS5BAX73MO/
--
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/NY36MB4HBXKURKQKT7ARRI6AP4KKQ445/

Reply via email to