summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFrantišek Krenželok <krenzelok.frantisek@gmail.com>2021-12-02 11:14:40 +0000
committerFrantišek Krenželok <krenzelok.frantisek@gmail.com>2021-12-02 11:14:40 +0000
commit3d24dbe6038141e0e63317772fa270c38e2881e8 (patch)
treefbdc2d3dfd59a1806bec0e6cf1d663a2fec40a6e
parentd8be349fb196d569309f90f5070d7f3958128bce (diff)
parentc83c88d365da14ddda8ad332ba240bc409a0b37a (diff)
downloadgnutls-3d24dbe6038141e0e63317772fa270c38e2881e8.tar.gz
Merge branch 'wip/dueno/abi-check-latest' into 'master'
build: stop running abi-dump-latest at "make files-update" See merge request gnutls/gnutls!1491
-rw-r--r--CONTRIBUTING.md22
-rw-r--r--Makefile.am2
-rw-r--r--devel/libgnutls.abignore10
-rw-r--r--devel/release-steps.md5
4 files changed, 31 insertions, 8 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.
diff --git a/Makefile.am b/Makefile.am
index 3098567387..ae3fe27157 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -187,7 +187,7 @@ libopts-check:
@echo "*****************************************************************"
test "`autoopts-config libsrc|awk -F '-' '{print $$NF}'|sed 's/.tar.gz//'`" = "`cat $(srcdir)/src/libopts/autoopts/options.h |grep OPTIONS_VERSION_STRING|cut -d '"' -f 2|sed 's/:/./g'`"
-files-update: libopts-check abi-dump-latest
+files-update: libopts-check
$(MAKE) -C doc/ compare-makefile || mv doc/tmp-compare-makefile $(srcdir)/doc/Makefile.am
$(MAKE) -C doc/manpages compare-makefile || mv doc/manpages/tmp-compare-makefile $(srcdir)/doc/manpages/Makefile.am
$(MAKE) -C . symbol-check || mv symbols.last.tmp $(SYMBOLS_LAST_FILE)
diff --git a/devel/libgnutls.abignore b/devel/libgnutls.abignore
index 8afa94148a..2c074fafca 100644
--- a/devel/libgnutls.abignore
+++ b/devel/libgnutls.abignore
@@ -55,6 +55,16 @@ changed_enumerators = GNUTLS_SEC_PARAM_MAX
name = gnutls_ocsp_status_request_is_checked
return_type_name = unsigned int
+# these functions are only available when compiled with --enable-fips140-mode
+[suppress_function]
+name = drbg_aes_generate
+
+[suppress_function]
+name = drbg_aes_init
+
+[suppress_function]
+name = drbg_aes_reseed
+
# The following should be removed in the new release, after updating the
# abi-dump repository:
[suppress_function]
diff --git a/devel/release-steps.md b/devel/release-steps.md
index b84d790c5f..72cd7b2378 100644
--- a/devel/release-steps.md
+++ b/devel/release-steps.md
@@ -9,8 +9,9 @@
in [configure.ac](configure.ac) as well as soname numbers in
[m4/hooks.m4](m4/hooks.m4).
1. Remove the last section of [devel/libgnutls.abignore], update the
- *.abi files under [devel/abi-dump] submodule, and push changes
- to the [abi-dump repository]; then do `make abi-check`
+ *.abi files under [devel/abi-dump] submodule, run `make
+ abi-dump-latest`, and push any changes to the [abi-dump
+ repository]; then do `make abi-check`
1. Create a tarball and detached GPG signature:
```console
make distcheck