On Sat, Dec 8, 2018 at 11:00 AM Andrey Rahmatullin <[email protected]> wrote:
> On Sat, Dec 08, 2018 at 09:38:17AM -0800, John Horigan wrote: > > This is what I found in the configure.ac file: > > > > dnl Setting up library version > > AGG_LIB_VERSION="2:4:0" > > dnl current-´ / / > > dnl revision--´ / > > dnl age---´ > > dnl Update the version information only immediately before a public > release > > of antigrain > > dnl If the library source code has changed, increment revision (c:r:a > > becomes c:r+1:a). > > dnl If any interfaces have been added, removed, or changed since the last > > update, > > dnl increment current, and set revision to 0. > > dnl If any interfaces have been added since the last public release, then > > increment age. > > dnl If any interfaces have been removed since the last public release, > then > > set age to 0. > > > > > > These instructions match what I found on the web for Linux library ABI > > versions. Since I am changing the library source, adding an interface, > but > > not removing any interfaces I should increment the current to 3, reset > the > > revision to 0 and increment the age to 1 --> 3:0:1 (not 2:0:1 as I said > > before). So the soname will be libagg3. > Making debian soname incompatible with upstream is a serious thing with > long consequences, are you sure you want to do that? And are you sure that > you want to use a soname that will be used by the upstream in the future, > for a different ABI? > > You are right, the soname should not change. If I change the ABI version to 2:6:0 then the BSD soname will still be libagg2. Then if I have a patch that changes it to 3:0:1 in the debian package, the soname will still be libagg2; because Linux subtracts the age from current to get the soname number. > -- > WBR, wRAR >

