Re: how to cross architecture build a package
On Sun, Nov 25, 2007 at 08:07:46PM +1100, Alex Samad wrote:
> On Sat, Nov 24, 2007 at 10:59:32PM +0000, brian m. carlson wrote:
> > On Sun, Nov 25, 2007 at 07:15:29AM +1100, Alex Samad wrote:
> >> On Sat, Nov 24, 2007 at 01:17:52AM +0100, Pierre Habouzit wrote:
> >>> and when you build a package in there, wrap the
> >>> debuild/dpkg-buildpackage/... call inside linux32.
> >> why do i need linux32, I have build my package and used schroot. all seems
> >> to be well. note I am not doing any compiling !
> > If you use schroot, it takes care of setting up the Linux personality for
> > you, just as linux32 does, so you don't need both. If your uname(2) call
> > returns i86, then your system will be treated as i386, and i386
> > packages will be built. If it returns x86-64, then it will be treated as
> > amd64. Linux personality support allows modifying the uname(2) call, so
> > packages will be compiled and built properly.
> I find it rather strange that you need a working environment to be able to
> build packages for that environment.
> Thing is I am only making meta packages but I am building it on a amd64 for a
> i386 environment.
If your package doesn't /do/ anything architecture-dependent, then you can
build using dpkg-buildpackage -a<arch> to set the architecture string for
the build environment. But if your package build includes building
binaries, probably the best outcome you can expect would be a build failure
(the worst being a misbuild with screwed up dependencies, or with binaries
for the wrong architecture in your package).
Steve Langasek Give me a lever long enough and a Free OS
Debian Developer to set it on, and I can move the world.