[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: [Multiarch-devel] cross-architecture conflicts or equivalent for libc packages



On Fri, May 30, 2014 at 08:42:53PM +0200, Aurelien Jarno wrote:
> On Wed, May 28, 2014 at 06:04:22PM +0200, Aurelien Jarno wrote:
> > On Mon, May 19, 2014 at 12:09:28PM -0700, Jonathan Nieder wrote:
> > > Aurelien Jarno wrote:
> > > 
> > > > As a subsidiary question, do you know how to prevent libc6-amd64:i386 to
> > > > be installed on a native amd64 system, but allow it on an i386 system,
> > > > even with libc6:amd64 already installed?
> > > 
> > > Use Conflicts against dpkg:amd64, maybe. :(
> > 
> > I have been looking at this issue a bit more in details. libc biarch
> > packages have never been designed with multiarch in mind, and thus they
> > are not tagged as multiarch packages (implicit Multi-arch: none). However
> > since multiarch, as the Multi-arch: field only concerns dependencies, and
> > that such packages do not have Depends: beside the libc6 one, they are
> > suddenly installable as foreign packages.
> > 
> > That's why we suddenly have for example conflicts issue between 
> > libc6-dev-i386 and libc6-dev-mips64 (#702962) or libc6-dev-i386 and
> > libc6-dev-mips64 (#702962), or why people are allowed to install
> > libc6-amd64 on their amd64 system.
> > 
> > I therefore wonder if we can add a new value for the Multi-arch: field
> > like "forbidden", to prevent a foreign package to be installed on a
> > system.
> > 
> > Otherwise it looks like we'll have to go with a long list of
> > Conflicts...
> 
> Alternatively, we can create an empty package called for example
> multiarch-no-foreign, which is arch:any and Multi-arch: none. That way
> all packages which should not be installed as foreign architecture can
> depend on this one.
> 
> What do you think?
> 

Well it won't work, because installing libc6-amd64:i386 will pull
multiarch-no-foreign:i386, and thus the whole set will be installable.

We definitely do want to forbid things like installing gdb64:i386 or
strace64:i386 on an amd64 system, or more horrible things like
trying to install libc6-dev-x32:am64 on an i386 system.

-- 
Aurelien Jarno                          GPG: 4096R/1DDD8C9B
aurelien@aurel32.net                 http://www.aurel32.net


Reply to: