On Mon, 10 Sep 2007 07:59:50 -0700 Brandon <winterknight@nerdshack.com> wrote: > Might seem like a silly question to most people. But is it required to > bump the soname of a library when it breaks ABI compatability with an > older version? Yes. You (in association with upstream) also need to decide whether to support multiple SONAME's at the same time - i.e. whether to have libfoo3-dev and libfoo2-dev (double maintenance) or just libfoo-dev which will force a transition due to FTBFS RC bugs in Debian and similar problems in other distributions. (Such transitions can be painful and require lots of effort from all parties.) i.e. do you want small amounts of ongoing pain (libfoo2-dev) or large amounts of intermittent pain (libfoo-dev). Once libfoo2-dev is replaced by libfoo3-dev, libfoo2 will hang around for a very long time - take a look at libgtk1 - and this also needs to be taken into account. > I always thought that is was, but I can't find anything > in debian-policy that says that it is required. In fact, it isn't even > suggested. That would be because SONAME's are primarily an upstream issue. If upstream do not understand library versioning, it is pointless trying to enforce a SONAME in Debian (and therefore pointless packaging the library) as you'll end up with libfoo36 - incrementing the SONAME at every minor release - by the time you just get to v1.0.4 or similar. There should never be a direct relationship between the version string and the SONAME. SONAME's should last a lot longer than any version element. http://www.gnu.org/software/libtool/manual.html#Updating-version-info http://www.netfort.gr.jp/~dancer/column/libpkg-guide/libpkg-guide.html Equally, trying to change a SONAME within Debian when upstream DO understand libtool versioning becomes a long and frustrating pattern of broken updates and multiple re-patching of the sources. Debian Policy concentrates on ensuring that the SONAME created by upstream is correctly handled in Debian. Debian Policy does not have to mandate every aspect of every upstream decision - there are some things (like SONAME's) that simply need to be done properly before the code even gets into Debian (or any other distribution). -- Neil Williams ============= http://www.data-freedom.org/ http://www.nosoftwarepatents.com/ http://www.linux.codehelp.co.uk/
Attachment:
pgpfh6iKC9dFR.pgp
Description: PGP signature