[xmlsec] versioning and library naming policies

Aleksey Sanin aleksey@aleksey.com
Wed, 02 Apr 2003 08:30:17 -0800


> Are you really prepared to increment N every time a function signature 
> is changed, a public structure is changed, or the semantics of the API 
> is changed?  This rule must be applied to every release you make, 
> development, stable, or otherwise.

Why not? It's just a number at the end of all :) The scheme
would be standard:

MAJOR.MINOR.SUBMINOR where:
    - SUBMINOR is incremented if the interfaces are not
      changed at all (bug fixes)
    - MINOR is incremented (SUBMINOR is set to 0) if
      there is new API but it's backward binary compatibe     
    - MAJOR is incremented (MINOR and SUBMINOR are set to 0)
      if there is binary in-compatibility with new release.

And one minor correction to the scheme I've posted yesterday:
use "xmlsec-N" in library and folder names and "xmlsecN" in
exectuables and scripts as follows:

   include/xmlsec/*         -->        include/xmlsec-N/xmlsec/*
   lib/libxmlsec.so         -->        lib/libxmlsec-N.so
   (points to lib/libxmlsecso.0)       (points to lib/libxmlsec-N.so.N)
   lib/libxmlsec.so.0       -->        lib/libxmlsec-N.so.N
   (points to lib/libxmlsec.so.0.x.x)  (points to lib/libxmlsec-N.so.N.x.x)
   lib/libxmlsec.so.N.x.x   -->        lib/libxmlsec-N.so.N.x.x
   lib/libxmlsec.a          -->        lib/libxmlsec-N.a
   lib/libxmlsec.la         -->        lib/libxmlsec-N.la
   bin/xmlsec               -->        bin/xmlsecN
   bin/xmlsec-config        -->        bin/xmlsecN-config
   man/man1/xmlsec.1        -->        man/man1/xmlsec1.1
   man/man1/xmlsec-config.1 -->        man/man1/xmlsec1-config.1      
   share/doc/xmlsec/*       -->        share/doc/xmlsec-1/*

And there will be one minor change to the 0.0.X branch:
      include/xmlsec/*         -->        include/xmlsec-0/xmlsec/*
(required because I don't know the includes order in the application).


Last call for comments and objections. Speak now or forever hold
your peace :)


And probably I'll document it somewhere....

Aleksey