diff options
author | František Krenželok <krenzelok.frantisek@gmail.com> | 2021-12-02 11:14:40 +0000 |
---|---|---|
committer | František Krenželok <krenzelok.frantisek@gmail.com> | 2021-12-02 11:14:40 +0000 |
commit | 3d24dbe6038141e0e63317772fa270c38e2881e8 (patch) | |
tree | fbdc2d3dfd59a1806bec0e6cf1d663a2fec40a6e | |
parent | d8be349fb196d569309f90f5070d7f3958128bce (diff) | |
parent | c83c88d365da14ddda8ad332ba240bc409a0b37a (diff) | |
download | gnutls-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.md | 22 | ||||
-rw-r--r-- | Makefile.am | 2 | ||||
-rw-r--r-- | devel/libgnutls.abignore | 10 | ||||
-rw-r--r-- | devel/release-steps.md | 5 |
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 |