PSA: New symbol versioning scheme
Christopher James Halse Rogers
chris at cooperteam.net
Tue Oct 6 03:59:07 UTC 2015
tl;dr: Whenever you need to add a new symbol, add it to a
MIR_*_unreleased stanza (or create that stanza if it does not exist).
So,
https://code.launchpad.net/~raof/mir/new-dso-versioning-policy/+merge/273186
has just landed, with the new symbol versioning scheme documentation.
From a developer perspective, the relevant change is that we stick any
new symbols in a MIR_*_unreleased stanza (eg: MIR_CLIENT_unreleased).
There's no exceptions you need to remember for this; if you need to add
a symbol, add it to MIR_FOO_unreleased.
From a release-manager perspective, this adds a little bit more work -
as a part of the release, you need to go into the various symbols.map
files and replace _unreleased with the new version (eg:
MIR_CLIENT_unreleased → MIR_CLIENT_0.17). There's a new “make
release-checks” target that will fail - and tell you which libraries
you've missed - if you forget to do this, but it's not run by default.
Add that to the checklist until we have separate a release CI process
:).
More information about the Mir-devel
mailing list