[python-committers] Travis-CI compiles twice

Victor Stinner victor.stinner at gmail.com
Mon Jul 24 11:37:12 EDT 2017


Technically, "make regen-all" doesn't use the freshly built Python. It
uses PYTHON_FOR_REGEN which is usually "python3".

Victor

2017-07-24 15:48 GMT+02:00 Nick Coghlan <ncoghlan at gmail.com>:
> On 24 July 2017 at 18:55, Victor Stinner <victor.stinner at gmail.com> wrote:
>> 2017-07-24 9:37 GMT+02:00 Serhiy Storchaka <storchaka at gmail.com>:
>>> `make regen-all` touches header files which are dependencies for all
>>> binaries. I suggest to run `make regen-all` before `make`.
>>
>> Zachary Ware explained me once that "make regen-all" should be run
>> after "make", but I don't recall why :-)
>
> Some of the generators (including Argument Clinic) are themselves
> written in Python, so building the checked in version first is the
> only way to be 100% sure you have a compatible version available.
>
> As Serhiy notes, the robust fix is to make sure the generators leave
> the file modification times unchanged if they don't actually change
> anything, either by working entirely in memory and only writing the
> result back out if it changed, or by generating out-of-place and then
> doing either a rename (if the result changed), or deleting the new one
> (if it is the same as the original).
>
> Cheers,
> Nick.
>
> --
> Nick Coghlan   |   ncoghlan at gmail.com   |   Brisbane, Australia


More information about the python-committers mailing list