On Wed, 2014-07-09 at 13:21 +0200, Holger Hans Peter Freyther wrote:
the debian maintainer guide is painful to read. Can
you point me to
how ABI tracking should be implemented?
It is pretty simple; when library ABI is broken (when new code is
binary-incompatible with old code) the library SONAME (libc.so.6 for
example) should be bumped. The ABI Compliance Checker (ACC) can help
analyse the ABI and report incompatible changes but doesn't cover every
situation AFAIK. The libtool manual has a bunch of useful information
about maintaining shared libraries.
http://ispras.linuxbase.org/index.php/ABI_compliance_checker
https://www.gnu.org/software/libtool/manual/libtool.html
For the Debian side of library packaging, maint-guide covers the very
basics, debian-policy covers requirements and the (quite outdated,
possibly still useful) libpkg-guide covers library packaging generally.
https://www.debian.org/doc/manuals/maint-guide/advanced.en.html#library
https://www.debian.org/doc/debian-policy/ch-sharedlibs.html
http://www.netfort.gr.jp/~dancer/column/libpkg-guide/libpkg-guide.html
Two things I would like to highlight in particular:
Debian likes library upstreams who set their default symbol visibility
to hidden and then whitelist their public symbols.
Debian likes library upstreams who implement symbol versioning.
--
bye,
pabs
http://bonedaddy.net/pabs3/