Hello,
Stemming from #872251, these are the findings that we explained there and in IRC
discussions, I will try to summarise it as best as I can (corrections welcome):
- The binaries in the -dev package are not purely "test programs" or examples,
because they are used by different packages [1] [2]
+ It is unfortunate that they are bundled together, because they make some
cases of co-installation with multi-arch or cross-compilation more difficult
or less correct, they preclude some combinations and uses
+ The annotation of "Multi-Arch: foreign" is simply wrong and it causes
problems to cross-compile, so better than this would even be to be marked as
(implicit, by removing the line) "Multi-Arch: no" as it is proposed for
#872251
+ Transitions to split the package while preserving the rev-depends or
previous systems with this package installed unbroken through upgrades are
more complicated now, read on
- It seems that the binaries can be split in a new -bin and be marked as
"Multi-Arch: foreign", because the spell/grammar checkers and the rest of the
tools should have the same behaviour, e.g. output the same content for the
same input, independent of the architecture, but I'm/we're not 100% sure.
+ In that case, -dev should be "Multi-Arch: same" and -bin "Multi-Arch:
foreign", and -dev should Depend on -bin (to not break reverse-dependencies,
although many will not actually need those binaries), while -bin should
include Breaks/Replaces on older versions of -dev (because it takes over
some files)
For reference, the following commit (later reverted) attempted to do what's
needed, except that I failed to reach the correct solution for not marking
-bin as "Multi-Arch: foreign" and using Recommends instead of Depends (which
can cause upgradability problems, or satisfiability problems when building
in buildd):
https://anonscm.debian.org/cgit/collab-maint/libvoikko.git/commit/?id=94e7ce125739e59241c04034f5b0615e93c3cc49
+ If they do not behave the same way across architectures, the package can be
marked as "Multi-Arch: no" and the few reverse-deps can change the
dependency to use :native, but this is better known to the maintainer, and
you're also the maintainer of voikko-fi so you can easily change them in
lock-step.
Hope that helps, and that it's clear what to do once you know the tools and what
they're supposed to do and how they are used.
If you have any questions just ask, we'll try to help.
Cheers.
[1] https://codesearch.debian.net/search?q=voikkospell&perpkg=1
giella-core_0.1.1~r129227+svn121148-1/scripts/run_voikko_speller.sh
[2] https://codesearch.debian.net/search?q=voikkovfstc&perpkg=1
voikko-fi_2.2-1/Makefile
Cheers.