Release engineering notes

From K5Wiki
Revision as of 11:59, 24 July 2016 by TomYu (talk | contribs)

Jump to: navigation, search

Required manual steps


  • 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


  • PGP sign
  • generate branded HTML docs
  • edit web pages
  • send announcement to kerberos-announce