[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Always use some specific servers to build a package


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 
- it will clearly show what is wrong
- 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
- It will work
- 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 ?


Reply to: