[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