[Python-ideas] Rewriting the build system (part 2)

Chris Angelico rosuav at gmail.com
Sat Mar 14 17:44:38 CET 2015


On Sat, Mar 14, 2015 at 6:47 AM, Chris Barker <chris.barker at noaa.gov> wrote:
> On Fri, Mar 13, 2015 at 12:40 PM, Ryan Gonzalez <rymg19 at gmail.com> wrote:
>>
>> That written in Python, so Python would require Python to build which
>> would require Python to build which would require...
>
>
> Well, you can't buid a C compiler without a C compiler either (or SOME
> compiler). And given that you should be able to do cross-compilation for
> platforms that don't currently have a python build, I'm not sure that's a
> killer.
>
> It it so wrong that python eats its own dog food in this manner?
>
> -CHB

I've been just skimming this thread rather than reading in detail, so
please forgive me if this question is completely unrelated.

Will this affect the commands required to build Python from source, or
is all this just for actual development?

Consider two completely different workflows here: Firstly, a core
Python dev. S/he wants to be able to efficiently build, edit, etc, and
wants to be able to edit any part of the code. and secondly, someone
who has little knowledge of Python's internals, and just wants to
build the latest version (either from hg or from a source tarball).

In the first case, it's fine to require that some version of Python be
already installed. If editing file XYZ requires that file ABC be
rebuilt from it, and the rebuild process requires Python 3.3 or newer,
that's not going to hurt people. The modified ABC gets checked in
along with the change to XYZ, and all's well.

But in the second case, it'd be much safer to minimize the
requirements. If you can untar the source and just "./configure; make;
sudo make install" your way to having the latest Python, that's a LOT
easier than I've just been doing trying to get my Dad onto a newer
Mozilla Thunderbird. (I don't understand what it's doing all along
there, but it pulls a whole bunch of separate repositories when I say
update, and there's a separate bootstrap step, and ... I dunno.)

ChrisA


More information about the Python-ideas mailing list