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

Re: Multiarch hinter on package tracker: Shall i obey ?



On Sat, Sep 17, 2016 at 04:00:28PM +0200, Thomas Schmitt wrote:
> i am preparing the Debian package for a new upstream release of libisofs
> and see on its tracker page
>   https://tracker.debian.org/pkg/libisofs
> a new "action needed":
> 
>   "Multiarch hinter reports 1 issue(s)"

Thank you for looking into that.

> The link points to 
>   https://wiki.debian.org/MultiArch/Hints
> 
> But where to see the actual complaint ?

tracker.d.o initially displays a compressed form for action items. On
the left of the item there is a little arrow. Clicking that reveals the
actual issues. This is a generic tracker.d.o UI aspect and not specific
to the multiarch hinter.

> The MultiArch/Hints wiki page says
>   "marking it Multi-Arch: foreign usually is safe."
> but does not clearly state what it means by "usually".

There are a few obscure exceptions to that rule. For instance, if you
want a package that is only installable for the native architecture, you
can have it depend on an Architecture: all + Multi-Arch: no package.
Also triggers are ignored by the hinter and post-installation actions of
triggers could turn the hint invalid. For the Multi-Arch: foreign hints,
I am not aware of any real-world exceptional use cases.

I'm still looking for ways to improve the explanation text, but it turns
out that multiarch is hard to explain in general.

> There is no mentioning of "Multi-arch" in
>   https://www.debian.org/doc/debian-policy/ch-controlfields.html

There are like 6 bugs for adding multiarch to policy. Progress is slow.

> More Google brings me to
>   https://wiki.debian.org/Multiarch/HOWTO
> with the statement:
>   "If a package is marked 'Multi-Arch: foreign', then it can satisfy
>    dependencies of a package of a different architecture."

That's one of the better ones. Also consider
https://wiki.ubuntu.com/MultiarchSpec if you need a specification-like
document.

> I am about as confused as a year ago:
>   "Multi-arch and debian/control"
>   https://lists.debian.org/debian-mentors/2015/09/msg00403.html
> All packages got "Multi-arch: same" then, except libisofs-doc which
> got no Multi-arch header at all. I cannot find or remember the reason
> for that.

The reason here is that libisofs-doc is Architecture: all. The spec says
that Multi-Arch: same is not applicable to Architecture: all packages at
all. Thus marking it that way would be invalid.

Also things have changed a little since 2015. The whole business around
adding Pre-Depends on multiarch-support is gone. You can still add
${misc:Pre-Depends} to Pre-Depends to ease backporting, but in general
that transition is over and we don't need that Pre-Depends anymore.

> Could somebody please look into
>   https://tracker.debian.org/media/packages/libi/libisofs/control-1.4.4-1
> and tell me what to do ?

Add "Multi-Arch: foreign" to the binary package section of libisofs-doc.
The practical effect is that if you install libisofs-dev for a foreign
architecture, its suggestion of libisofs-doc will become resolvable.

> (And was i really expected to google for a link to the 1.9 MB yaml file ?)

No. You were supposed to click the little arrow. Is there any way to
make that more clear?

Helmut


Reply to: