[cctbxbb] Module versioning (was Re: Debian Package)

Radostan Riedel raybuntu at googlemail.com
Fri Aug 31 04:21:28 PDT 2012


On Fri, 31. Aug 03:35, Johan Hattne wrote:
> Since cctbx is released in the form of snapshots, I guess this means that version numbers would indeed have to be updated on any commit that modifies library code.
OK but snapshot (nightly) builds in my opinion are not considered as public releases.
I'd just increment the numbers before a public and stable release. 
This should be communicated and documented somehow so it's not forgotten and
it'd have the positive side effect that users can easily look into the nightly changelog 
(or commit log) and see if the interface is going to change in the next public release.

My proposed patch works like this:
In the specific SConscript were the shared library is build you just set
SHLINKFLAGS for that environment. So somebody working on a new a changed
interface could just append "-version-info 1:0:1" to SHLINKFLAGS and maybe make
a small comment:

# Changed interface from 0:0:0 to 1:0:1 (with backward compatibility)
# WORK in progress
....code here....

Then during development anyone else can ditch the backward compatibility change
the comment and code to:

# Finishing work on interface from 0:0:0 to 1:0:0 (no more backward compatibility
# for public release)!
....code here....

Or you could just set goals for the next public release saying that the there's
going to be a new interface but without backward compatibility as a developers
guideline. I don't know how you organize yourself so this is up to you.


More information about the cctbxbb mailing list