Release engineering notes
From K5Wiki
Required manual steps
Pre-mkrel
- check copyright years in project-wide stuff
- make sure you're in a build tree that's not the source tree and configured using
--enable-maintainer-mode
-
make depend
and commit if changed - regenerate manpages:
(cd man && make man)
and commit if changed - regenerate localization template
(cd po && make update-po)
and commit if changed - manually edit patchlevel.h to reflect the new release
- manually update README
- release dates (in major changes heading, ISO 8601 date format with hyphens)
- changes
- note whether bugfix release, maintenance vs current release
- bullet list of major changes
- minor changes = list of RT tickets fixed -- always grab a fresh list from RT when editing these!
- contributors (RT is a good source for these)
- make additional manpage and update-po commits with updated patchlevel.h
- squash preceding commits so all versioning-related commits are a single commit (non-versioning changes to maintainer-mode stuff should remain separate commits)
-
git tag krb5-x.y.z-final
Running mkrel
-
path_to_mkrel/mkrel --repository $YOUR_SOURCE_TREE krb5-x.y.z-final krb5-x.y.z
- manually inspect output for versioning and correctness
- HTML docs
- PDF docs
- patchlevel.h as modified by mkrel
- push to authoritative repository
- rerun mkrel against the authoritative repository:
path_to_mkrel/mkrel krb5-x.y.z-final krb5-x.y.z
Post-mkrel
- PGP sign
- generate branded HTML docs
- edit web pages
- send announcement to kerberos-announce