[Python-modules-team] Bug#918804: python3-yaml: Please mark as "Multi-Arch: allowed"

Elrond elrond+bugs.debian.org at samba-tng.org
Sun Feb 3 13:12:02 GMT 2019


user multiarch-devel at lists.alioth.debian.org
package python3-yaml
usertags 918804 multiarch
thanks


Hi,

I did a good deal of Multi-Arch stuff in the last years, so
I think, I could comment on this.


TL;DR

- All what Simon said is correct.
- The referenced python3-apt is a good example, IMHO.
- I also vote for setting Multi-Arch: allowed.
- If you need more explanation, please ask questions.


On Wed, Jan 09, 2019 at 18:14:16 +0000, Simon McVittie wrote:
[...]
> The subject line of this bug report might be correct, but this description
> seems wrong for an Architecture: any package (I think it's been copied
> from a similar bug report asking for an Architecture: all package to
> be made Multi-Arch: foreign). Inaccurate requests are likely to confuse
> maintainers into either doing the wrong thing or ignoring the request,
> so I'd recommend discussing this phrasing with dpkg and Multi-Arch
> experts before filing more bugs like this.

Good point!
After doing so, we can reference this bug in new bugs.
(Sure to come. I have a few python3-* packages, that I
would like to get marked M-A: allowed.)


> Let's say the depending i386 package is quake4, which *is* an i386 package
> that uses Python, although not the YAML module specifically.

Funnily enough, quake4 may depend on game-data-packager,
which is Arch=all and really depends on python3:any and
python3-yaml (not :any yet).


> If quake4 uses python3-yaml by executing a Python script that contains
> "import yaml", but does not contain a Python extension itself, then
> python3-yaml needs to be the same architecture as python3, but does not
> need to be the same architecture as quake4. python3-yaml could have
> Multi-Arch: allowed and quake4 could have Depends: python3-yaml:any
> (I think).

Fully correct.

That's what M-A: allowed is aimed at.  Look at python3
itself for an example.  Script packages (probably the above
mentioned game-data-packager) just need to depend on
python3:any.


> However, if the depending package also contains Python code that needs to
> get loaded into the same process, then that wouldn't be valid: there is
> no Python interpreter that can load both the i386 dependingpackage.so
> from the depending package, and the amd64 yaml.so from python3-yaml.
> 
> Multi-Arch: foreign would work for the first use-case but fail for
> the second.

Fully correct.

Like python3-yaml depends on python3 (without :any,
correctly).


> I *think* Multi-Arch: allowed works for this, because python3-yaml's
> Depends on python3 (without the :any qualifier) would ensure that a
> dependency on python3:any and python3-yaml:any gives you a python3-yaml
> whose architecture matches your python3, which is what's needed; but
> I'd really prefer a Multi-Arch expert to confirm that before making any
> changes.

Also correct.


> If you're doing a mass-bug-filing, it would also be very valuable to
> use BTS usertags to categorize the bugs, and to discuss the mass bug
> filing on debian-devel before opening the bugs, as discussed in the
> Debian Developers' Reference:
> https://www.debian.org/doc/manuals/developers-reference/ch07.en.html#submit-many-bugs

There is a usertag for multi-arch in general:
https://bugs.debian.org/cgi-bin/pkgreport.cgi?tag=multiarch;users=multiarch-devel@lists.alioth.debian.org

I am just tagging this bug for this usertag.


>     smcv

    Elrond



More information about the Python-modules-team mailing list