diff options
Diffstat (limited to '')
-rw-r--r-- | tags/w/weak-library-dev-dependency.tag | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/tags/w/weak-library-dev-dependency.tag b/tags/w/weak-library-dev-dependency.tag new file mode 100644 index 0000000..bdffdc8 --- /dev/null +++ b/tags/w/weak-library-dev-dependency.tag @@ -0,0 +1,21 @@ +Tag: weak-library-dev-dependency +Severity: error +Check: debian/control/prerequisite/development +Explanation: This package seems to contain the development files for a + shared library, but the requirement for that shared library to be installed + does not include the same version. + . + A <code>-dev</code> package should normally use <code>(= ${binary:Version})</code> + for the prerequisite on the shared library. That will ensure that programs compile + and link properly. The symbolic links for the dynamic linker will also point to the + correct places. + . + To be sure, there are some circumstances when a weak prerequisite is warranted, for + example to prevent the breaking of binNMUs with architecture-independent <code>-dev</code> + packages. Then something like <code>(>= ${source:Upstream-Version}), (<< + ${source:Upstream-Version}+1~)</code> may be the right approach, or possibly + <code>${source:Version}</code> instead. The goal there is to ensure that a new upstream + version of the library does not satisfy the prerequisite, since any minor version change + might break the <code>*.so</code> links. +See-Also: + debian-policy 8.5 |