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
_______________________________________________
Distutils-SIG maillist  -  [email protected]
http://mail.python.org/mailman/listinfo/distutils-sig

Reply via email to