[xmlsec] versioning and library naming policies

John Belmonte jvb at prairienet.org
Wed Apr 9 21:46:32 PDT 2003


Aleksey Sanin wrote:
> I made changes to both 0.0.x branch and the 1.0.X trunk so now both
> versions can live together on the same box. I've tried to minimize
> changes for the existing library and only moved its include files to 
> version specific folder (see 0.0.15 release for details).
> 
> I would appreciate if you can take a look and see if this works for you. 
> I could not say it's fixed until you approve the result since you was the one 
> who have asked about it :)

I think it basically looks ok.  As far as I can tell, it's identical to what is 
done in libxml2.  However I'd like to point out something and also ask you for a 
little clarification.

What I'd like to point out is that you are locking the SONAME number with the 
major release number (and libxml2 does this also).  The SONAME for libxmlsec1.so is:

     libxmlsec1.so.1

but you could have just as well started the SONAME number back at 0, since the 
library has a new name.  In other words:

     libxmlsec1.so.0

Furthermore, if some binary incompatibility occurs within the 1.x.x series, it's 
sufficient to just increment the SONAME number:

     libxmlsec1.so.1
     libxmlsec1.so.2
     libxmlsec1.so.3
          .
          .
          .

But since you don't seem to have this in mind, I'd like to ask you for a 
clarification.  If a binary incompatibility should happen soon after your 1.0.0 
release, which of the following will you do?

     1) start the 2.x.x series
     2) increment the SONAME number (as shown above)
     3) pretend it didn't happen and continue with the same SONAME :-)

I suspect that libxml2 does #3, because it's hard to believe that they've kept 
binary compatibility over three years of heavy development.  However I bet they 
haven't broken compatibility recently-- in Debian there are over 250 packages 
that depend on the libxml2 shared library.  Obviously if the libxml2 team did #3 
at this point everyone would be screaming.

If you should decide on #2, I need to know that because it affects the way I 
must name the Debian package.  Also in this case, I recommend starting the 1.0.0 
SONAME number at 0 instead of 1.

Regards,
-John



-- 
http:// if   l .   /




More information about the xmlsec mailing list