[Distutils] Low Level API for translating distutils/setuptools metatdata to Debian metadata

Zooko Wilcox-O'Hearn zooko at zooko.com
Sun Aug 16 17:14:29 CEST 2009


On Wednesday,2009-07-22, at 9:52 , Brian Sutherland wrote:

> van.pydeb is designed to be run at package build time, rather than  
> at the time you create the source package. I assume that's when  
> stdeb's code runs? Using apt-file during package build time on one  
> of the Debian project's auto-builders will not be acceptable (I  
> assume).

So if I understand correctly there is a Python package with its  
accompanying metadata, in a setup.py and possibly a setup.cfg file,  
and then there is some step which produces a "Debian source package",  
which is a thing that includes a .dsc file, a .orig.tar.gz file, and  
a .diff.gz file, right?  And then you transport those files to a  
build machine and run a package builder to turn those files into a .deb.

So, stdeb is a tool to accomplish that first step, of taking in a  
setup.py and writing out a .dsc file and related files.

Now the problem I'm having is that I want stdeb to *correctly* (i.e.,  
without guessing) determine which Debian package provides which  
Python distribution, and the answer to that question depends on which  
Debian (/Ubuntu) distribution you are building for.  There is no way  
for that question to be automatically, correctly answered in a way  
that is generic for all Debian distributions.  That means that you  
can't create a .dsc-and-related-files one time, generically, and then  
copy them to the autobuilders and have a bunch of .deb's -- one for  
each specific distribution -- be built from the same .dsc.

So they way I currently do it [1, 2] is that I run stdeb and then run  
dpkg-buildpackage on many separate buildslaves, each of which is  
running a different Debian distribution.  This works fine!  The  
result is a .deb for that specific Debian distribution which has the  
exact right Dependencies for that distribution.

Regards,

Zooko

[1] http://allmydata.org/buildbot-pycryptopp/waterfall
[2] http://allmydata.org/buildbot-zfec/waterfall


More information about the Distutils-SIG mailing list