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

Re: Multi-Arch: allowed



On Tue, Nov 01, 2016 at 02:43:21PM +0100, Thibaut Paumard wrote:
> How do you actually use Multi-Arch: allowed? Should a dependent
> package then specify either <package>:same or <package>:foreign? Looks

Neither is valid syntax.
What you do with these is depending on a package with the literal
architecture "same" (or "foreign"). Thats not going to work…


> I was able to find documentation about what allowed is supposed to do,
> but not on how to depend on such a package.
> https://wiki.debian.org/Multiarch/HOWTO

The spec [0] linked from that page says how, but in summary:
If a package (lets say perl) is marked as Multi-Arch: allowed your
package foo can depend on perl:any and a perl package from any (foreign)
architecture will statisfy this dependency, while a 'simple' perl would
have just accepted a perl from the architecture your package foo was
built for (with arch:all mapped to arch:native).

DO NOT use ":any" on a package which is NOT marked as Multi-Arch:
allowed [1]. This isn't satisfiable by ANYTHING, not even your native
package.

If it helps: Instead of "perl having Multi-Arch: allowed" envision it to
have a "perl provides perl:any" and you are depending on this virtual
package – which also explains why such a missing provides causes
perl:any to be unresolveable.


That said, the usecase for 'allowed' is small – mostly interpreters
– and you are trying to use it on… a -dbg package? I haven't looked
closely, but that smells wrong… What are you trying to express here?
(and have you heard that automatic debug packages are a thing nowadays?)


Best regards

David Kalnischkies

[0] https://wiki.ubuntu.com/MultiarchSpec
[1] There are ways around it. See the "If it helps" remark for a hint.

Attachment: signature.asc
Description: PGP signature


Reply to: