* Christoph Biedl <debian.packages.h...@manchmal.in-ulm.de>, 2015-09-29, 20:09:
A Source package builds two "Architecture: any" packages, one
"Multi-Arch: same", the other "Multi-Arch: foreign". The first has a
strict versioned relationship on the second:
| Package: ma_same
| Architecture: any
| Multi-Arch: same
| Depends: ma_foreign (= ${Source-Version})
Don't use ${Source-Version}. This variable is deprecated, because the
name is misleading. It is actually equivalent to ${binary:Version}.
| Package: ma_foreign
| Architecture: any
| Multi-Arch: foreign
Now I remember lintian's "not-binnmuable-all-depends-any" warning where
it's recommended to relax a strict dependency all->any in order to
allow binNMUs ... and I think this is basically the same scenario:
ma_foreign might be installed in a different architecture than ma_same,
and then any binNMU will cause havoc.
Well, MA:same packages have to be binNMUed in sync preserve their
cross-arch co-installability, so the dependency is not an issue in this
case.
It would be a more interesting example if the source package didn't
build any MA:same packages. In such case, yes, ${binary:Version}
dependency on MA:foreign package doesn't sound right.
Question: Should I write the above dependency rather as below, just in
the way lintian suggests for mentioned warning?
| Depends:
| ma_foreign (>= ${Source-Version}),
| ma_foreign (<< ${Source-Version}.1~)
Here you want ${source:Version}, not ${Source-Version}. :)
--
Jakub Wilk