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 -dev
package should normally use (= ${binary:Version})
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 -dev
packages. Then something like (>= ${source:Upstream-Version}), (<<
${source:Upstream-Version}+1~)
may be the right approach, or possibly
${source:Version}
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 *.so
links.
See-Also:
debian-policy 8.5