[Distutils] [Python Language Summit] Distutils / Packaging survey

Barry Warsaw barry at python.org
Wed Jan 28 14:07:14 CET 2009


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

On Jan 28, 2009, at 5:45 AM, David Cournapeau wrote:

> This is not the right solution for distributions maintainers: it is a
> good tool for individual (it gives you uninstallation, etec...)  
> but .deb
> packages produced by stddeb are not debian-compatible, and cannot be
> included in debian proper. This is not a critic of stddeb, I think  
> it is
> a very good tool and useful tool.
>
> The *only* right solution for packaging python modules on Linux
> distribution is to make it as "easy" for packagers as it is for  
> autoconf
> packages. Meaning having clear differences between installation,  
> binary,
> libraries, etc... (what's called resources by setuptools, IIUC), so  
> that
> maintainers can set it up how they want. This way, python developers  
> do
> not have to care about debian, and distributions maintainers do not  
> have
> to care about python (well, not more than now).
>
> It is a solved problem: autoconf does it well, and has all the  
> required
> features,

I'd like to make a radical suggestion: upstream authors should never  
have to worry about building distribution blobs.

In my ideal world, I would make a release by tagging my release in  
whatever vcs I'm using, then I would tell cheeseshop, "hey I just  
released version 3.1 and it is here" where "here" means whatever  
native vcs syntax points to the revision I just released.  Then PyPI  
would do the "coagulation" into distribution formats and distribute it  
amongst its worldwide mirrors, all automatically.

I as the Python developer don't want to know about eggs, tarballs,  
debs, rpms, whatevers, I just want to write some software.  I'm happy  
to add a bit of metadata to my setup.py to play ball, but otherwise I  
really just want one command to release my code and then magically  
have it appear available to everybody.

If that's not feasible <wink> then the next best thing would be to  
just spin the source tarball and upload that.  Tarballs I can handle.  
<wink>

On the other end, when I zc.buildout, or paver, or easy_install, or  
aptitude install, or emerge, or port install, or whatever, it would go  
out to the Worldwide Python Distribution Network and pull down the  
proper blobby thing to install based on what I'm trying to do, e.g. an  
egg if I'm developing, a deb if I'm installing into my system Python,  
etc.  Again, I don't really care and shouldn't have to know.

Barry

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.9 (Darwin)

iQCVAwUBSYBYgnEjvBPtnXfVAQKM/wQAnoINOJlvFhFB7yHemIujIveFKsZv4cm7
eekwAwEnaIp8fUP2xAuvMZrnGmz51cjRGh7ih24DcZtqPG3pwjrha8+DR7vY9/08
Oa0LKyTvWXDoqC/eCeyTxSvGHe733eDMSp+G283o/XLbgtNUtENfr17+DruRi+9E
pYIJZSYIffc=
=DZic
-----END PGP SIGNATURE-----


More information about the Distutils-SIG mailing list