libassuan version number?

Werner Koch wk at gnupg.org
Tue Dec 11 11:18:48 CET 2012


On Tue, 11 Dec 2012 02:12, gniibe at fsij.org said:

> The problem is that libassuan 2.0.3 and libassuan master are not
> compatible (libassuan master has more symbols).  An executable
> linked to newer libassuan doesn't work with older libassuan.

Yes, master has an API change, but that should be compatible:

 ASSUAN_SYSTEM_NPTH_IMPL  NEW macro.
 ASSUAN_SYSTEM_NPTH       NEW macro.
 __assuan_read            NEW (private).
 __assuan_write           NEW (private).
 __assuan_recvmsg         NEW (private).
 __assuan_sendmsg         NEW (private).
 __assuan_waitpid         NEW (private).

> I think that newer libassuan should have different SONAME.

I don't think so.  It is a compatible ABI change.  Thus on glibc systems
only the minor SO number will be updated with the next release.
Updating it during the development is not a good idea, because - well -
it is a development version and we might need to revert changes before
the release.

> I don't have much knowledge of libtools.  All that I can say is that
> if ABI is different, shared libraries should have different SONAME (so
> that libraries implementations can co-exist).

Right.  In the commit for a release you will notices some thing like:

    Release version 2.0.3.
    
    * configure.ac: Bump LT version to C3/A3/R0.

The details are in configure.ac:

  # LT Version numbers, remember to change them just *before* a release.
  #   (Code changed:			REVISION++)
  #   (Interfaces added/removed/changed:CURRENT++, REVISION=0)
  #   (Interfaces added:		AGE++)
  #   (Interfaces removed/changed:	AGE=0)
  #
  LIBASSUAN_LT_CURRENT=3
  LIBASSUAN_LT_AGE=3
  LIBASSUAN_LT_REVISION=0
  


Salam-Shalom,

   Werner


-- 
Die Gedanken sind frei.  Ausnahmen regelt ein Bundesgesetz.




More information about the Gnupg-devel mailing list