On Fri, 2012-09-21 at 23:06 +0200, Adam Borowski wrote: > On Fri, Sep 21, 2012 at 09:07:57PM +0100, Ben Hutchings wrote: > > On Fri, Sep 21, 2012 at 08:26:24PM +0100, peter green wrote: > > > Some time ago I found that a package (I think it was openjdk but I > > > don't remember for sure) which relied on uname -r such that linux32 > > > had to be used to build it in an i386 chroot on an amd64. However > > > since then I'm pretty sure i've seen similar cases with other > > > packages on other architectures being treated as bugs. > > > > I think confusion between kernel vs userland architecture is so > > widespread that we should consider this a necessary part of doing a > > native build. > > Please, don't. This breaks cross building. Any use of uname during build > other than for logging purposes is a bug.
Certainly build systems should support cross-building and should not rely on uname -m. And cross-building is useful for derivatives. But since not all build systems do that, and Debian does not attempt to cross-build its own packages, we should not compromise the reliability of the native build environments. An i386 chroot on an x86_64 kernel should look as much like a plain i386 environment as possible. [...] > semi-emulated scratchbox style builds can take 44 > seconds compared to 8 hours native[1]. [...] And scratchbox makes cross-build more reliable by presenting a native- looking environment... e.g. by making uname report whatever you want: http://scratchbox.org/documentation/user/scratchbox-1.0/html/installdoc.html#AEN707 Ben. -- Ben Hutchings Once a job is fouled up, anything done to improve it makes it worse.
signature.asc
Description: This is a digitally signed message part