summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDaiki Ueno <ueno@gnu.org>2021-10-30 15:28:47 +0000
committerDaiki Ueno <ueno@gnu.org>2021-10-30 15:28:47 +0000
commitfe9d2be0d251bc7a3e1fd7d7b59e1dbf23bae8a1 (patch)
tree4a54ae34e11cd22dd9a8e01b44b8996ca3f11832
parent8fda070adaeaff47e5b73f1e54a1bde3a2f49bee (diff)
parentbd3c78b9d10937adb1855b85bca1864972a1c986 (diff)
downloadgnutls-fe9d2be0d251bc7a3e1fd7d7b59e1dbf23bae8a1.tar.gz
Merge branch 'wip/dueno/abi-dump-release' into 'master'
devel: update release procedure taking into account of abi-dump See merge request gnutls/gnutls!1481
-rw-r--r--CONTRIBUTING.md9
-rw-r--r--devel/libgnutls.abignore3
-rw-r--r--devel/release-steps.md56
3 files changed, 46 insertions, 22 deletions
diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md
index 5441e54600..2773b3ffca 100644
--- a/CONTRIBUTING.md
+++ b/CONTRIBUTING.md
@@ -157,8 +157,13 @@ As such, some questions to answer before adding a new API:
13.0 is made available? Would it harm the addition of a new protocol?
-The make rule 'abi-check' verifies that the ABI remained compatible since
-the last tagged release. It relies on the git tree and libabigail.
+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.
The above do not apply to the C++ library; this library's ABI should not
be considered stable.
diff --git a/devel/libgnutls.abignore b/devel/libgnutls.abignore
index 2156ed39a4..e43e5472f3 100644
--- a/devel/libgnutls.abignore
+++ b/devel/libgnutls.abignore
@@ -54,3 +54,6 @@ changed_enumerators = GNUTLS_SEC_PARAM_MAX
[suppress_function]
name = gnutls_ocsp_status_request_is_checked
return_type_name = unsigned int
+
+# The following should be removed in the new release, after updating the
+# abi-dump repository:
diff --git a/devel/release-steps.md b/devel/release-steps.md
index 358f67a9f5..b84d790c5f 100644
--- a/devel/release-steps.md
+++ b/devel/release-steps.md
@@ -1,22 +1,38 @@
# Release process
- 0. Create a new 'milestone' for the next release and move all issues present in the
- current release milestone.
- 1. Verification of release notes: ensure that release notes ([NEWS](NEWS)) exist
- for this release, and include all significant changes since last release.
- 2. Update of release date in [NEWS](NEWS), and bump of version number in
- [configure.ac](configure.ac) as well as soname numbers in [m4/hooks.m4](m4/hooks.m4).
- 3. make distcheck
- 4. git tag -s $VERSION
- 5. git push && git push $VERSION
- 6. gpg --detach-sign gnutls-$VERSION.tar.xz
- 7. scp gnutls-$VERSION.tar.xz* ftp.gnupg.org:/home/ftp/gcrypt/gnutls/v$(expr $VERSION : '\([0-9]*\.[0-9]*\)')/
- 8. Create and send announcement email based on previously sent email to the list and
- [NEWS](NEWS) file.
- 9. Create a NEWS entry at [web-pages repository](https://gitlab.com/gnutls/web-pages/-/tree/master/news-entries),
- and/or [a security advisory entry](https://gitlab.com/gnutls/web-pages/-/tree/master/security-entries)
- if necessary. The NEWS entry is usually pointing to the announcement email.
- A commit auto-generates the [gnutls web site](https://gnutls.gitlab.io/web-pages/)
- which is mirrored twice a day by www.gnutls.org.
-10. Use the @GnuTLS twitter account to announce the release.
-11. Close the current release milestone.
+1. Create a new 'milestone' for the next release and move all issues
+ present in the current release milestone.
+1. Verification of release notes: ensure that release notes
+ ([NEWS](NEWS)) exist for this release, and include all significant
+ changes since last release.
+1. Update of release date in [NEWS](NEWS), and bump of version number
+ 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`
+1. Create a tarball and detached GPG signature:
+```console
+make distcheck
+git tag -s $VERSION
+git push && git push $VERSION
+gpg --detach-sign gnutls-$VERSION.tar.xz
+```
+1. Upload the tarball and the signature to ftp.gnupg.org:
+```console
+scp gnutls-$VERSION.tar.xz* ftp.gnupg.org:/home/ftp/gcrypt/gnutls/v$(expr $VERSION : '\([0-9]*\.[0-9]*\)')/
+```
+1. Create and send announcement email based on previously sent email
+ to the list and [NEWS](NEWS) file.
+1. Create a [NEWS entry] and/or a [security advisory entry] at
+ [web-pages repository] if necessary. The NEWS entry is usually
+ pointing to the announcement email. A commit auto-generates the
+ [gnutls web site].
+1. Optionally announce the release on the @GnuTLS twitter account.
+1. Close the current release milestone.
+
+[abi-dump repository]: https://gitlab.com/gnutls/abi-dump
+[NEWS entry]: https://gitlab.com/gnutls/web-pages/-/tree/master/news-entries
+[security advisory entry]: https://gitlab.com/gnutls/web-pages/-/tree/master/security-entries
+[web-pages repository]: https://gitlab.com/gnutls/web-pages/
+[gnutls web site]: https://gnutls.gitlab.io/web-pages/