[Distutils] Alternate static metadata PEP submission...

Piotr Ozarowski ozarow at gmail.com
Wed Oct 21 14:28:06 CEST 2009


[David Lyon, 2009-10-21]
> On Wed, 21 Oct 2009 11:24:12 +0200, Piotr Ozarowski <ozarow at gmail.com>
> wrote:
> > and when there's a bug in this module you want all packages to be
> > reuploaded instead of uploading the one with a bug?
> > 
> > We already have to patch setup.py files f.e. to remove ez_setup which
> > hardcodes setuptools versions (so we cannot use newer one) or tries to
> > download packages from internet (that are not really needed at build
> > time).
> 
> I'm not arguing with you. It's no more final a solution than any
> other piece of source code.. 
> 
> But what happens to code that isn't updated? it is considered as
> dead code. Then everybody hates that too.

Last MySQLdb stable release was over 2 years ago (there's a release
candidate available since March 2009) and to make it work with
Python >= 2.6.3 you just have to fix/update setuptools. Now imagine
every package would ship its own (old) version of setuptools (just like
packages ship their own version of ez_setup now). Do you see a problem
already?

Sure, one could just:

| try:
|     import setuptools
| except ImportError:
|     import ez_setup
|     ez_setup.use_setuptools()

and thus use installed version if it's available (replace
ez_setup/setuptools with what you propose to ship in setup.py) but
that's not what module authors do unfortunately.

My point is: it's easier to fix a bug in one place and 100kb setup.py
would contain a lot of potential bugs or incompatibilities with new
Python versions.
-- 
Piotr Ożarowski                         Debian GNU/Linux Developer
www.ozarowski.pl          www.griffith.cc           www.debian.org
GPG Fingerprint: 1D2F A898 58DA AF62 1786 2DF7 AEF6 F1A2 A745 7645


More information about the Distutils-SIG mailing list