user multiarch-de...@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-de...@lists.alioth.debian.org I am just tagging this bug for this usertag. > smcv Elrond