[xmlsec] versioning and library naming policies
John Belmonte
jvb@prairienet.org
Thu, 10 Apr 2003 00:46:32 -0400
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 . /