On 16.01.2014 20:53, Holger Hans Peter Freyther wrote:
On Mon, Jan 13, 2014 at 10:27:07AM +0100, Holger Hans
Peter Freyther wrote:
Hi all,
the current proposal is to introduce a process that will create a
new file in the root of a project where we document the ABI changes.
The content of the file will look like this:
#library what description / commit summary line
More precisely, the idea was to have a TODO-RELEASE file in the
project's top directory containing a single line per 'what' and commit
which is part of the commit itself. When this file is empty (except for
empty lines and comment lines starting with a '#'), a release can be
finished.
'what' is one of the following strings (more to come):
'abi-change' the ABI (structs, function parameters) has changed
e.g. due to modifications or removals.
When there is at least one such line, the LIBVERSION
'age' field must be reset and the 'current' field
must be incremented when doing a release. All lines
marked with 'abi-change' or 'abi-add' can be
removed then.
'abi-add' a function or struct has been added but the ABI has
not changed otherwise (so it remains compatible).
When there is at least one such line (and no
'abi-change' line'), the LIBVERSION
'age' and 'current' fields must be incremented when
doing a release. All such lines can be removed then.
The 'abi-add' variant is probably less important but I've included it
nevertheless for completeness.
Jacob