On Tue, 2017-10-03 at 10:01 +0100, Ian Campbell wrote:
> Actually, it might be interesting to try it directly with dpkg, having
> constructed a directory with an appropriate set of packages in...
The end result was the same, it refused to accept mythtv-common
(arch:all) as satisfying the dependencies, insisting it wanted an amd64
version.
I read in [0] that arch:all packages are considered (for the purposes
of dependency resolution) to have the same arch as dpkg itself (so in
my case i386). [1] describes some of the rationale. I think this is
exactly the issue I am hitting.
The solution may be to mark some packages like mythtv-common as either
"Multi-Arch: foreign" or "Multi-Arch: allowed" possibly combined with
making the dependencies on them as "mythtv-common:any". By the same
logic it seems like depending on e.g. cron:any might help too (iff cron
has a suitable M-A setting, I didn't check yet). It also appears to be
a possibility to make some arch:all packages into arch:any (again from
[0]), although that seems suboptimal and I suspect shouldn't be
necessary in the case of things like mythtv-common or -database.
I might try and better understand multi-arch and then have a play with
building some packages with various headers over the next few weeks.
Ian.
[0]
https://wiki.debian.org/MultiArch/Hints
[1]
https://wiki.debian.org/Multiarch/MissingRationale#Why_are_arch:all_packages_treated_implicitly_like_arch:native.3F