Re: Bug#693220: Add crossbuild-essential support

2013-01-08 Thread Colin Watson
On Wed, Nov 14, 2012 at 12:08:26PM +, Wookey wrote:
> Following on from discussion in this thread
> http://lists.debian.org/debian-embedded/2012/06/msg00030.html
> 
> The cross-build-essential package has been developed some more and
> tested in Quantal for arm64 bootstrap, and armel and armhf builds. It
> works nicely. We definitely want to start using this.
> 
> The latest code is available at: 
> http://people.debian.org/~wookey/bootstrap/ubunturepo/pool/main/c/cross-build-essential/

I think it would be a good idea to put this in build-essential, but I
have one concern.  At the moment this uses "Depends: libc6-dev:armhf"
(etc.).  The multiarch spec currently explicitly says that Depends on
PKG:ARCH for a particular architecture (as opposed to PKG:any) is
undefined.  I'm therefore a bit worried that adding such syntax to
build-essential would cause some bit of archive machinery to explode; it
certainly results in a Lintian error.  That said, it apparently works in
simple sbuild chroot situations.  CCing -embedded and -dpkg for advice.

The other possibility is to add bridging dependencies by way of
artificial package names that only exist on one architecture, e.g.:

  Package: libc6-armhf-cross
  Architecture: any
  Depends: libc6-armhf

  Package: libc6-armhf
  Architecture: armhf
  Multi-Arch: foreign
  Depends: libc6

  Package: libc6
  Architecture: any
  Multi-Arch: same

That's not without its own problems, though; it bloats Packages and
(last I checked) it requires manually forcing britney to accept it into
testing.  If it's possible to use the :ARCH syntax instead, that would
be better.

-- 
Colin Watson   [cjwat...@debian.org]


-- 
To UNSUBSCRIBE, email to debian-dpkg-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org
Archive: 
http://lists.debian.org/20130108152349.ga2...@riva.dynamic.greenend.org.uk



Re: Bug#693220: Add crossbuild-essential support

2013-01-08 Thread Wookey
+++ Colin Watson [2013-01-08 15:23 +]:
> On Wed, Nov 14, 2012 at 12:08:26PM +, Wookey wrote:
> > Following on from discussion in this thread
> > http://lists.debian.org/debian-embedded/2012/06/msg00030.html
> > 
> > The cross-build-essential package has been developed some more and
> > tested in Quantal for arm64 bootstrap, and armel and armhf builds. It
> > works nicely. We definitely want to start using this.
> > 
> > The latest code is available at: 
> > http://people.debian.org/~wookey/bootstrap/ubunturepo/pool/main/c/cross-build-essential/

Updated version with native build-essential stuff re-enabled at:
http://people.debian.org/~wookey/bootstrap/ubunturepo/pool/main/b/build-essential/build-essential_11.6.dsc
except that it doesn;t actually work and end up with empty package
list. I failed to work out exactly why yet. But better that we all see
same latest code.

Doko has fettled that a bit at
http://people.debian.org/~doko/tmp/build-essential_11.6.dsc

> I think it would be a good idea to put this in build-essential, but I
> have one concern.  At the moment this uses "Depends: libc6-dev:armhf"
> (etc.).  The multiarch spec currently explicitly says that Depends on
> PKG:ARCH for a particular architecture (as opposed to PKG:any) is
> undefined.  I'm therefore a bit worried that adding such syntax to
> build-essential would cause some bit of archive machinery to explode; it
> certainly results in a Lintian error.  That said, it apparently works in
> simple sbuild chroot situations.  CCing -embedded and -dpkg for advice.

We need to use : for cross-compilers in the archive (if we ever
want to get beyond the *-cross package-naming mechanism and actually
use multiarch). We all recognise that.

: was excluded from the spec initially, but there is no reason
not to use it when needed and so long as the stable version of dpkg
understands it. The dpkg in quantal and wheezy understands it so it
should now be fine to upload sources using this so long as the
versions of dpkg on the buildds understand it. We can't upload this to
debian until buildds are updated to wheezy. 

>  If it's possible to use the :ARCH syntax instead, that would
>  be better.

I believe so. 

Wookey
-- 
Principal hats:  Linaro, Emdebian, Wookware, Balloonboard, ARM
http://wookware.org/


-- 
To UNSUBSCRIBE, email to debian-dpkg-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/20130108153748.gs5...@stoneboat.aleph1.co.uk



Re: Bug#693220: Add crossbuild-essential support

2013-01-08 Thread Johannes Schauer
Hi,

On Tue, Jan 08, 2013 at 03:23:49PM +, Colin Watson wrote:
> At the moment this uses "Depends: libc6-dev:armhf" (etc.).  The
> multiarch spec currently explicitly says that Depends on PKG:ARCH for
> a particular architecture (as opposed to PKG:any) is undefined.

True. Incidentally I was asking about that syntax just yesterday in
#emdebian. The syntax is not part of the multiarch spec but it is part
of the multiarch cross spec [1] (see section "Cross-architecture
dependencies") which extends it.

As wookey said, dpkg and apt (from wheezy) already understand this
syntax. wanna-build and dak on the other hand dont but would need to
know for such packages making it into Debian archives.

>From the formal perspective of working with multiarch in dose3, I can
just hope that no package-naming solution is ever used/introduced
anymore for a problem which can be solved by multiarch in a much more
elegant fashion.

cheers, josch

[1] https://wiki.ubuntu.com/MultiarchCross


-- 
To UNSUBSCRIBE, email to debian-dpkg-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/20130108155436.GA9683@hoothoot