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/
pgpSxWFPh56Rj.pgp
Description: PGP signature