On Mon, 30 Jul 2012 20:16:07 +0200
Julien Cristau <jcris...@debian.org> wrote:

> On Mon, Jul 30, 2012 at 11:01:20 -0700, Russ Allbery wrote:
> 
> > Julien Cristau <jcris...@debian.org> writes:
> > > On Mon, Jul 30, 2012 at 09:08:50 +0200, Reinhard Tartler wrote:
> > 
> > >> AFAIUI the multi-arch spec, arch:all packages are not allowed to
> > >> specify "Multi-Arch: foreign",

It's the opposite. Arch all packages are not allowed to specify
Multi-Arch: same.

> Setting a value of Multi-Arch: same on a package which is Architecture:
> all is considered an error. dpkg-deb must refuse to generate a .deb
> with this combination of values

https://wiki.ubuntu.com/MultiarchSpec#Binary_package_control_fields

> This means that for an Architecture: all package to satisfy the
> dependencies of a foreign-architecture package, it must be marked
> Multi-Arch: foreign or Multi-Arch: allowed.

https://wiki.ubuntu.com/MultiarchSpec#Dependencies_involving_Architecture:_all_packages

> so I had the impression that this part
> > >> was rather obvious to multi-arch experts. Which I am clearly not, so
> > >> being more explicit in the changelog is very much warrented.
> > 
> > > That is not true, there's lots of arch:all m-a:foreign packages.

It should be close to 100% of the Arch:all packages which are ready for
MultiArch. (allowed is rare currently and is only for specialised
situations.)

> > Are you sure?  That doesn't make sense to me (as opposed to arch:any
> > m-a:foreign packages).

Arch:any Multi-Arch: foreign would typically be executables like
'at' (I'm fairly sure Ansgar understands MultiArch). Also base-passwd
(Colin Watson, ditto). This is much more likely in the base system
packages or where libraries end up depending on executables. As Julien
states, in order to install such libraries as Multi-Arch: same, the base
system and any executables in the dependency chain need to be available
- usually as Multi-Arch: foreign.

>  Surely arch:all packages are already effectively
> > multi-arch without needing to use any of the new support?
> > 
> There are arch:any -> arch:all -> arch:any dependencies, and without
> m-a:foreign in the arch:all package, both arch-specific packages have to
> be from the same arch, AIUI.  So yes, pretty sure.

Agreed. I don't know if I qualify as a Multiarch "expert" but I have
been testing MultiArch conversions, toolchains and installations as
part of Emdebian for ~2 years.

The terms used can be confusing - foreign means that the package meets
the requirements of a foreign arch package which depends on it. Clearly,
Arch:all will nearly always satisfy the dependencies of a foreign arch
package. Typical example is debhelper - there is no reason for me to
install debhelper:armel on amd64 in order to build stuff for amd64 &
armel. Foreign means that I just need one version - ideal for Arch:all.

i.e. foreign is less constrained than same and foreign packages need
only specify Multi-Arch: foreign in debian/control to complete their
conversion.

-- 


Neil Williams
=============
http://www.linux.codehelp.co.uk/

Attachment: pgpSxWFPh56Rj.pgp
Description: PGP signature

Reply via email to