[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