Re: [PATCH] builddeb: remove unneeded explicit Architecture

maximilian attems
2012-09-07T00:02:35Z

On Thu, 06 Sep 2012, Tzafrir Cohen wrote:
>
> Works for the case I presented.

Michal please care to queue previous v2 patch with
Tested-by: Tzafrir Cohen <tzafrir.cohen@xorcom.com>
to kope with that cross building regression since
the linux headers got added to deb-pkg target.

> Now I remove the explicit setting of KBUILD_DEBRCH:

and here lies the error.

> $ rm -rf debian
> $ make ARCH=arm KBUILD_IMAGE=uImage deb-pkg
>
> ...
>
> dpkg-gencontrol: error: current host architecture 'armhf' does not
> appear in package's architecture list (armel)
>
> My host architecture is amd64. This is actually the build architecture.
> dpkg-gencontrol uses Dpkg::Arch::get_host_arch().
>
> $ perl -MDpkg::Arch -e 'print Dpkg::Arch::get_host_arch()."\n"'
> amd64
>
> $ CC=/usr/bin/arm-linux-gnueabi-gcc perl -MDpkg::Arch -e 'print Dpkg::Arch::get_host_arch()."\n"'
> armel
>
> $ CC=/usr/bin/arm-linux-gnueabihf-gcc perl -MDpkg::Arch -e 'print Dpkg::Arch::get_host_arch()."\n"'
> armhf
>
> $ DEB_HOST_ARCH=whatever perl -MDpkg::Arch -e 'print Dpkg::Arch::get_host_arch()."\n"'
> whatever
>
> Is it OK to use that perl one-liner as the default instead of the
> architecture guessing case?

In any case that would be a follow up, but I'm not fond of that perl/dpkg
magic plus supporting DEB_ variables. I think for linux it is preferable
to have it based on UTS_MACHINE. Thus I think your testcases aren't valid,
and also you neglected the following one:
make KBUILD_DEBARCH=i386 deb-pkg # i386 userland with amd64 linux

Best.

--
maks