summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDaiki Ueno <ueno@gnu.org>2021-11-27 16:48:51 +0100
committerDaiki Ueno <ueno@gnu.org>2021-11-27 16:48:51 +0100
commit52eb89e7a79a3597fc6f039bf1be5e7c99d7d88d (patch)
tree6a1d10d00fd8be1ff66a4e1e5148eaa06ae15a38
parentc76a9008a314941bdb455e72a5de61d731de9eef (diff)
downloadgnutls-52eb89e7a79a3597fc6f039bf1be5e7c99d7d88d.tar.gz
CONTRIBUTING.md: clarify how to introduce new API
Signed-off-by: Daiki Ueno <ueno@gnu.org>
-rw-r--r--CONTRIBUTING.md22
1 files changed, 17 insertions, 5 deletions
diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md
index 2773b3ffca..723666ea4d 100644
--- a/CONTRIBUTING.md
+++ b/CONTRIBUTING.md
@@ -159,11 +159,23 @@ As such, some questions to answer before adding a new API:
The make rule 'abi-check' verifies that the ABI remained compatible
since the last tagged release, which is maintained in a separate
-[abi-dump](https://gitlab.com/gnutls/abi-dump) repository. During
-development, the new APIs should be explicitly ignored with the last
-section of [devel/libgnutls.abignore](devel/libgnutls.abignore). When
-a new version is released and the abi-dump repository is updated, the
-section will be cleared.
+[abi-dump](https://gitlab.com/gnutls/abi-dump) repository. This
+repository shall be updated upon each release if any changes are
+introduced in the ABI.
+
+To add new API during development cycle, follow the steps below:
+
+0. If there is no section in [lib/libgnutls.map](lib/libgnutls.map),
+ corresponding to the next release, add it, deriving from the
+ previous interface
+1. Add new symbols in that section
+2. Run `make abi-check-latest`; this will report differences as
+ errors. Edit the last section of
+ [devel/libgnutls.abignore](devel/libgnutls.abignore) to suppress
+ them.
+
+When a new version is released and the abi-dump repository is updated,
+the section will be cleared.
The above do not apply to the C++ library; this library's ABI should not
be considered stable.