Coping with libraries that change API and ABI too often

  1. A stable api/abi would be best
  2. If that's not possible, so being able to rebuild rdepends quickly is important (using the whodepends tool from devscripts would help)

  3. Given that, changing the source package isn't terribly useful. Changing the binary package name might not be that useful either, and keeping it the same (libapt style) would let you avoid the NEW delay everytime you bump the ABI
  4. If no shlibs are needed, an option is to just ship a -dev package.
  5. If one needs to build dlopenable modules with the library (such as in the case of libapt-front-dev), then PIC code is needed. A possible solution is building with PIC code in the shared library. One could call the .a library libfoo_pic.a
    • To do it, just "DEB_CONFIGURE_EXTRA_FLAGS += --disable-shared --with-pic" in debian/rules

    • Also remember to use dh_buildinfo when making libraries intended to be linked statically: that makes it easier to track dependencies. Bug #341945 is an example case where this helped a lot.

  6. A stable api/abi would be best