Always use some specific servers to build a package

Sylvestre Ledru sylvestre at debian.org
Fri Jun 11 22:01:25 UTC 2010


Hello,

I am the maintainer of the Atlas package. 
It is a linear algebra libraries widely used in the scientific field.
This library is automatically tuned at compilation time and architecture
optimized packages are produced.
For example, under i386, I am producing base, sse, sse2, sse3 or
core2sse3 packages, This is really improving the performances.
For information, the build time is between 1 to 8 hours... (under amd64,
it has the record of the longest package to build).

My main problem with this package is that I cannot predict which Debian
build machine will be used. If a too old machine is used, the build will
fail. I have regular RC bug reports on this subject and it prevents the
package to migrate in testing (and we really don't want to keep the
version 3.6 in squeeze).

What would be the best way to handle that automatically ? 
Is it possible to "tag" a package against a specific build server ?

If not, I see a few potential solutions (but I am not happy by any one
of them):
* in debian/rules, refuse to build 
Pro: 
- it will clearly show what is wrong
Cons:
- Need a human intervention to launch it on an other server
- Need to check if the CPU extension are available or not (/proc/cpuinfo
is not normalized)

* Continue the current way of doing things and manage binary upload
Pro:
- It will work
Cons:
- Need a human intervention to check which archs failed, launch the
build and upload it.
- Very boring to do after each new upload 

Does anyone see a better way of handling this specific problem ?

Thanks,
Sylvestre





More information about the debian-science-maintainers mailing list