All of lore.kernel.org
 help / color / mirror / Atom feed
From: Tzafrir Cohen <tzafrir.cohen@xorcom.com>
To: maximilian attems <max@stro.at>
Cc: Michal Marek <mmarek@suse.cz>,
	Linux Kbuild <linux-kbuild@vger.kernel.org>,
	Linux Kernel <linux-kernel@vger.kernel.org>
Subject: Re: [PATCH] builddeb: remove unneeded explicit Architecture
Date: Thu, 6 Sep 2012 19:21:43 +0300	[thread overview]
Message-ID: <20120906162143.GN18204@xorcom.com> (raw)
In-Reply-To: <20120906140416.GG28778@vostochny.stro.at>

On Thu, Sep 06, 2012 at 02:04:16PM +0000, maximilian attems wrote:
> On Thu, Sep 06, 2012 at 02:00:04PM +0000, maximilian attems wrote:
> > On Wed, Sep 05, 2012 at 08:26:05PM +0000, maximilian attems wrote:
> > > On Wed, Sep 05, 2012 at 07:40:09PM +0300, Tzafrir Cohen wrote:
> > > > 
> > > > $ grep CROSS_COMPILE .config
> > > > CONFIG_CROSS_COMPILE="arm-linux-gnueabihf-"
> > > > 
> > > > Command:
> > > > 
> > > >   KBUILD_DEBARCH=armhf make ARCH=arm KBUILD_IMAGE=uImage deb-pkg
> > > > 
> > > > Error I get:
> > > > 
> > > >   dpkg-gencontrol: error: current host architecture 'armhf' does not
> > > >   appear in package's architecture list (amd64)
> > > > 
> > > > It seems I have to use KBUILD_DEBARCH, as the kernel build system can't
> > > > really tell if I want armel or armhf (If I built the same kernel for a
> > > > Squeeze system I would have been forced to use armel).
> > > 
> > > well, obviously the dpkg call in
> > >  -arch=$(dpkg --print-architecture)
> > > is wrong please fix that.
> > > 
> > 
> > care to test belows:
> > 
> 
> without a useless snippet about the lost forcearch v2:
> 
> >From f78afbe0b7fa7c49656f4ed1cf404e915f3c325b Mon Sep 17 00:00:00 2001
> From: maximilian attems <max@stro.at>
> Date: Thu, 6 Sep 2012 15:22:02 +0200
> Subject: [PATCH v2] deb-pkg: Simplify architecture matching for cross building
> 
> No point in invoking dpkg to get the archticture of the host
> we build on. Instead directly use the logic implemented
> in create_package(). No need anymore to override arch.

Works for the case I presented. I still have one bad case:

Now I remove the explicit setting of KBUILD_DEBRCH:

  $ 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?

-- 
               Tzafrir Cohen
icq#16849755              jabber:tzafrir.cohen@xorcom.com
+972-50-7952406           mailto:tzafrir.cohen@xorcom.com
http://www.xorcom.com  iax:guest@local.xorcom.com/tzafrir

  reply	other threads:[~2012-09-06 16:21 UTC|newest]

Thread overview: 14+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-08-14 10:44 [PATCH] builddeb: remove unneeded explicit Architecture Tzafrir Cohen
2012-08-31 13:50 ` Michal Marek
2012-09-05 13:05   ` Tzafrir Cohen
2012-09-05 13:26     ` Michal Marek
2012-09-05 15:14       ` maximilian attems
2012-09-05 16:40         ` Tzafrir Cohen
2012-09-05 20:26           ` maximilian attems
2012-09-06 14:00             ` maximilian attems
2012-09-06 14:00               ` maximilian attems
2012-09-06 14:04               ` maximilian attems
2012-09-06 14:04                 ` maximilian attems
2012-09-06 16:21                 ` Tzafrir Cohen [this message]
2012-09-07  0:02                   ` maximilian attems
2012-09-09 11:54                     ` Tzafrir Cohen

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20120906162143.GN18204@xorcom.com \
    --to=tzafrir.cohen@xorcom.com \
    --cc=linux-kbuild@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=max@stro.at \
    --cc=mmarek@suse.cz \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.