[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: "not-binnmuable-all-depends-any" problem exists for Multi-Arch: foreign, too?



* Christoph Biedl <debian.packages.hhqj@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


Reply to: