[Distutils] Improving distutils vs redesigning it (was people want CPAN)

Tarek Ziadé ziade.tarek at gmail.com
Thu Nov 12 19:55:59 CET 2009


On Thu, Nov 12, 2009 at 6:55 PM, Tres Seaver <tseaver at palladion.com> wrote:
[..]
> The phantom "distutils API"
> doesn't exist, which means that almost any improvement (and I don't deny
> that such improvements are possible) potentially breaks substantial
> installed codebases.  In this sense, fixing distutils is like working
> without tests, because you don't know until too late that you've broken
> something.

First of all, I have not said that Distutils will stay backward
compatible. If the compatibility
is broken at some point, it'll have a deprecation process, that's all.

And a backport will be provided for the previous Python versions.

But we can't talk about breaking compatibility until we do have a new
design in our
hands that fixes some problems, and require to break the comaptibility.

Next, the distutils code base is test-covered around 80% now
(depending on your platform)
Maybe you ignore about it, but I have been working to raise the test coverage
during the last year, (it went from 20% to 80%)

Next, there are buildbots now that builds projects like NumPy to make
sure the trunk still works.

Moving some code from the commands to some new APIs will not blow those
commands because they are tested.

Meaning that the old tests will have to still pass once some code has
been moved.

That's the whole point of test coverage, and a basic rule in refactoring code.

So I don't really understand why you are saying that we will go blind
in refactoring some stuff.

Last, I am now not listening anymore to this "distutils must be fully
replaced" answers, they are going
no where, because Distutils will not be dropped for the reasons I've
already mentioned earlier.

I'll focus on the design work we are doing with David now to enhance
Distutils on his use cases.
As a matter of fact, we have made progress in sharing knowledge and
trying to find designs that fits
our brains, and that the only stuff that matters to me at this point.

And if it doesn't make it to Distutils 2.7/3.2, I expect Distribute to
be the incubator of those particular
changes.

If some some people want to build a brand new shiny tool from scratch,
good luck then. If some others
want to help in Distutils, welcome then.

Tarek


More information about the Distutils-SIG mailing list