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.

Attachment: signature.asc
Description: This is a digitally signed message part

Reply via email to