Packages with libraries or binaries linking to a shared library must
use symbols or shlibs files to compute their dependencies. Packages
that dlopen() a shared library should do so as well, but since that
is not typical practice and the tools to do that don't exist, it is
not made a policy "must" yet.
The minimal version for a symbol can be bumped after the version of
the package in which the symbol was introduced.
Add a footnote explaining why shlibs files cannot be used for
libraries with unusual sonames.
The shlibs file for a library udeb goes in the corresponding deb.
The library deb corresponding to a udeb is supposed to provide a
shlibs file, rather than consuming (using) one.
Add "for example" when talking about dpkg-shlibdeps -T. This is
just an illustration and not meant to be normative.
If a library is used both directly and indirectly, the direct
dependency still needs to be declared.
Backward-compatibility is defined in terms of what reasonable
programs and libraries need.
In the normal case, symbols files go in dpkg's admindir as package
control files.
wording fix: "dependency on" avoids some of the ambiguity in
"dependency of".