On Thu, 2011-04-28 at 13:12 +0100, David Woodhouse wrote: 
> As I understand it, an soname bump (from libfoo.so.5 to libfoo.so.6)
> should *only* be used for backwards-incompatible changes.

Correct.  One such example of a backwards-incompatible change is
increasing the size of a public GObject class structure for which there
exist or may exist subclasses.  Hence the practice of reserving X number
of pointers at the end of the class struct so X new methods can be added
over time without altering the struct size.

> If old clients can continue to use the newer library, then shouldn't it
> be just a change of *minor* version from libfoo.so.5.2 to libfoo.so.5.3,
> and the soname remains the same (libfoo.so.5).

Yeah, we don't even do that much right.  We usually just leave the
soname alone from release to release unless we break compatibility. 

Blame me for not really groking libtool versioning practices, which just
seems unnecessarily complex and confusing to my poor little mind.

evolution-hackers mailing list
To change your list options or unsubscribe, visit ...

Reply via email to