[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Having trouble creating a shared library package





On Sat, Dec 8, 2018 at 11:00 AM Andrey Rahmatullin <wrar@debian.org> 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 to: