The old release script that exists in another repository has aged, and risks becoming messy beyond maintainability if it's made to deal with multiple OpenSSL version schemes. A solution, which has been seen in other projects, is to have the release script as part of the versioned source tree, and ensure it's adapted for the ongoing version scheme in that source tree. This introduces dev/, a directory of OpenSSL developer "stuff". We may expand it with other practical scripts to easy development setup and other similar things that developers may need. For now, it's the release script dev/release.sh, with auxilliary files in dev/release-aux/. The script is self describing, the manual is available by running the command `./dev/release.sh --manual`. The dev/ directory shall never appear in a source distribution. Reviewed-by: Matt Caswell <matt@openssl.org> (Merged from https://github.com/openssl/openssl/pull/11516)
1014 B
Auxilliary files for dev/release.sh
-
release-state-fn.sh
This is the main version and state update logic... you could say that it's the innermost engine for the release mechanism. It tries to be agnostic of versioning schemes, and relies on release-version-fn.sh to supply necessary functions that are specific for versioning schemes.
-
release-version-fn.sh
Supplies functions that are specific to versioning schemes:
get_version() gets the version data from appropriate files.
set_version() writes the version data to appropriate files.
fixup_version() updates the version data, given a first argument that instructs it what update to do.
-
openssl-announce-pre-release.tmpl and openssl-announce-release.tmpl
Templates for announcements
-
fixup--release.pl and fixup--postrelease.pl
Fixup scripts for specific files, to be done for the release commit and for the post-release commit.