[xmlsec] versioning and library naming policies
Aleksey Sanin
aleksey@aleksey.com
Wed, 02 Apr 2003 00:35:10 -0800
> First I'll summarize my response: Aleksey (perhaps with input from
> the community) should decide one basic thing:
>
> Should xmlsec have library versioning so that multiple versions
> can exist within one OS installation or not?
I guess I already got the input (yours :) ). An ability to have
multiple versions is a defenite plus and I'll be happy to do this.
The only thing is that I don't see "good" solution. But let me
try one more time and I hope to get your feedback again :)
Let's assume that the libraries inside N.x.x series (N>=1) is backward
binary compatible. Can we do following:
include/xmlsec/* --> include/xmlsecN/xmlsec/*
lib/libxmlsec.so --> lib/libxmlsecN.so
(points to lib/libxmlsecso.0) (points to lib/libxmlsecN.so.N)
lib/libxmlsec.so.0 --> lib/libxmlsecN.so.N
(points to lib/libxmlsec.so.0.x.x) (points to lib/libxmlsecN.so.N.x.x)
lib/libxmlsec.so.N.x.x --> lib/libxmlsecN.so.N.x.x
lib/libxmlsec.a --> lib/libxmlsecN.a
lib/libxmlsec.la --> lib/libxmlsecN.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/xmlsec1/*
The existing xmlsec 0.0.x setup is not changed. All the applications
that want to link with new version
have to use "xmlsec1" instead of "xmlsec" everywhere.
The difference with your approach is that we use only major version
number instead of "major.minor".
The reason is that if major number is the same then the version is
backward binary compatible.
Using the full "major.minor" makes things really bad (try to type
"xmlsec-1.0" in the command line :) ).
What do you and others think?
Aleksey.