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

Re: assumptions about the build environment.

On Sat, Sep 22, 2012 at 04:28:32PM +0200, Wouter Verhelst wrote:
> On Sat, Sep 22, 2012 at 12:23:36AM +0200, Kurt Roeckx wrote:
> > They probably should try to use the output of dpkg-architecture to
> > select the arch.  Then should never check that output of uname -m.
> That's living on the assumption that there's never any upstream build
> system which is both complex (thus difficult to patch correctly) and
> relying on uname -m in one or more places. I'm not saying we should
> necessarily support such systems, but if running inside something akin
> to linux32 is not causing too many problems, it would make that easier.
> What's the harm?

That it breaks multiarch builds.  You'd need a separate chroot for every
arch you want to be able to compile for.

Just like you can compile Windows crap by CC=i686-w64-mingw32-gcc, you
should be able to CC=i486-linux-gnu-gcc, and, with a bit of effort that is
supposed to be unnecessary in jessie, already are.  So you can with
CC=armel-linux-gnueabi-gcc, without any ugly hacks like scratchbox.
xapt allowed this in squeeze already, adding a suffix -armel-cross where we
add :armel in wheezy.  It still doesn't work for every package, but for
stuff YOU maintain, YOU can fix it.  It's nice for whoever will be hacking
on your code.

And an interesting tidbit:
   checking for suffix of executables... .exe
   checking whether we are cross-compiling... no

So the concept of "cross-compiling" is pretty fuzzy :)

As for complex "hard to patch" build systems, could you give me an example?
I can't quite think of a case where patching references to uname could be

Copyright and patents were never about promoting culture and innovations;
from the very start they were legalized bribes to give the king some income
and to let businesses get rid of competition.  For some history, please read

Attachment: signature.asc
Description: Digital signature

Reply to: