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
>

Reply via email to