# Update debian/changelog. For emc2, make sure the version at the top is "1:$VERSION", so for example "1:2.4.8". For linuxcnc, make sure the version at the top is "$VERSION", so for example "2.5.0", *without* the leading "1:".|
# Update debian/changelog. Make sure the version at the top is "1:$VERSION", so for example "1:2.4.8".|
If you're not a release manager, you don't have to care about any of this.
This assumes the current release branch workflow - master has new developments, make a branch for each release series (v2.4, v2.5, etc).
A week or two before the release, update the appropriate wiki "updating" pages (http://wiki.linuxcnc.org/cgi-bin/wiki.pl?UpdatingTo2.5 and http://wiki.linuxcnc.org/cgi-bin/wiki.pl?UPDATING), and the User Guide document.
This document needs to explain any changes a user needs to do in order to upgrade to the new release version. Typically this is only needed for new major versions.
Notify the translators and let them translate the update instructions.
Do all this work on the branch you want to release...
pub 1024D/96935D7D 2004-05-29 Key fingerprint = D665 E21F B423 5D79 03C3 F6E9 25DD 3531 9693 5D7D uid Jeff Epler <firstname.lastname@example.org> sub 1536g/C6D94B20 2004-05-29 pub 1024D/BC92B87F 2003-03-14 Key fingerprint = 813A 9DA3 C680 6FCC 4634 BE40 445B 1785 BC92 B87F uid Chris Radek <email@example.com> sub 1024g/5C04EC87 2003-03-14
Say if users need to make any config changes.
Include highlights from changelog.
Give credit to developers, documenters, & testers!
Update the wiki front page. And the Released wiki page.
Update the www.linuxcnc.org front page.
Update the #linuxcnc and #linuxcnc-devel topics.
Put debs into linuxcnc.org debian archive. (Chris Radek has access to this.)
To make the release tag: shell> git tag -u 495fa820 -s v2.5.0-pre2
To list tags: shell> git tag -l v2.5* v2.5.0-pre0 v2.5.0-pre1 v2.5.0-pre2
To verify a tag:
shell> git tag -v v2.5.0-pre2 object 1ef58691e0fd614c7348b94aee448b8c41d08b88 type commit tag v2.5.0-pre2 tagger Sebastian Kuzminsky <firstname.lastname@example.org> 1316561259 -0600 debug fake release do not sue gpg: Signature made Tue 20 Sep 2011 05:27:46 PM MDT using RSA key ID 495FA820 gpg: Good signature from "DEBUG EMC2 Release Manager <email@example.com>"
To verify a tag you need the pubkey in your keyring: gpg --keyserver pgp.mit.edu --recv 5C04EC87
So... Make a list of tags matching the branch's glob, sort it newest first, walk down list verifying signatures until we find a good one, then use that tag to make the version:
<tt>shell> git describe --match v2.5* v2.5.0-pre2
shell> git describe --match v2.5.0-pre1 v2.5.0-pre1-660-g1ef5869