[Distutils] Timeframe of 2.0 again?

Moore, Paul Paul.Moore at atosorigin.com
Mon Oct 27 10:46:21 EST 2003

From: M.-A. Lemburg [mailto:mal at lemburg.com]
>> [I'm wondering - is the thing I'm missing that you're using a
>> single shared distutils with all of the Python versions? I
>> can't see how that would work...]

> As I said before, we are using distutils CVS for all Python
> versions we support.

But I assume you install CVS distutils for all the Pythons, and
therefore *could* (but see below) install different versions
(and by implication freeze the distutils version used with a
given Python).

>> Or are you worried about setup.py not working with both the old
>> and new distutils? That's a valid issue, but I'd assume that
>> the new distutils would have to be careful not to break
>> compatibility with old setup.py files.

> Right. We are adding many features to distutils which we
> need for supporting features like, e.g. automatic configuration,
> etc. These features rely heavily on subclassing and the
> way distutils is tied together. Supporting the more than
> 5 versions out there is not feasable in this kind of setup
> which is typical of distutils packaging, since distutils
> is designed to be extended in this way.

OK, so you are talking about compatibility at the setup.py level.
In that case, I agree entirely - whatever changes are made to
distutils should be done very carefully to avoid breaking existing
setup.py scripts.

Having said that, it would be nice if the distutils documentation
was complete enough that it was feasible to say "we reserve the
right to break anything that isn't documented". In many ways,
that should be the number 1 priority for distutils, complete
documentation of the API.

I'd imagine that there is a nasty grey area where seriously complex
setup.py scripts will need to be deemed as "getting too chummy with
the internals", and breakage will be necessary. Maybe there's a
need for a staged approach (lots more documentation, plus some
official deprecation - for example, things like fancy_getopt - in
2.4, with the API cleanup being left to 2.5).

Thanks for clarifying,

More information about the Distutils-SIG mailing list