Flashrom/Release process: Difference between revisions
Hailfinger (talk | contribs) (→Creating the release tarball: Signing) |
No edit summary |
||
Line 15: | Line 15: | ||
===Tagging the release=== | ===Tagging the release=== | ||
This should be done outside any flashrom directory. | This should be done outside any flashrom working directory, it edits the repository directly so to say. | ||
Make sure the version number commit has been pushed to the svn tree. Run | Make sure the version number commit has been pushed to the svn tree. Run | ||
Line 24: | Line 24: | ||
==Creating the release tarball== | ==Creating the release tarball== | ||
This should be done outside any flashrom directory. The flashrom_release script is in the next subsection | This should be done outside any flashrom directory. The flashrom_release script is in the next subsection. | ||
flashrom_release 0.9.6 | flashrom_release 0.9.6 | ||
(replace 0.9.6 with the intended release number). | (replace 0.9.6 with the intended release number). This will download the given tag directory, export it and create a bzip2 compressed tarball with a detached GPG signature. | ||
===flashrom_release=== | ===flashrom_release=== | ||
Line 46: | Line 44: | ||
===Signing the release tarball=== | ===Signing the release tarball=== | ||
The script above does that too, but in case you want to additionally sign a release you can do it with this: | |||
gpg --detach-sign --armor flashrom-0.9.6.tar.bz2 | gpg --detach-sign --armor flashrom-0.9.6.tar.bz2 | ||
(replace 0.9.6 with the intended release number). | (replace 0.9.6 with the intended release number of course). |
Revision as of 22:39, 13 August 2013
This is how a release is expected to be done
Pre-release process
Make sure the lead developers agree that the tree is ready for release. Assuming all necessary patches are merged (make sure the man page is up-to-date!), proceed to the next step
Preparing the tree
Increasing the version number
Edit the Makefile and change the line
RELEASE := 0.9.6
to the number of the release. Commit this single-line change with the following changelog:
Increase flashrom release number to 0.9.6
Use Signed-off-by and Acked-by as usual.
Tagging the release
This should be done outside any flashrom working directory, it edits the repository directly so to say.
Make sure the version number commit has been pushed to the svn tree. Run
svn cp svn://coreboot.org/flashrom/trunk svn://coreboot.org/flashrom/tags/flashrom-0.9.6
(replace 0.9.6 with the intended release number) and use the following changelog:
Tag flashrom 0.9.6
(replace 0.9.6 with the intended release number). Use Signed-off-by and Acked-by as usual.
Creating the release tarball
This should be done outside any flashrom directory. The flashrom_release script is in the next subsection.
flashrom_release 0.9.6
(replace 0.9.6 with the intended release number). This will download the given tag directory, export it and create a bzip2 compressed tarball with a detached GPG signature.
flashrom_release
#!/bin/bash test -z $1 && { echo Please supply a release name; exit 1; } export RELEASENAME=$1 export EXPORTDIR=. export TAROPTIONS=$(LC_ALL=C tar --version|grep -q GNU && echo "--owner=root --group=root") make export touch -d "$(svn log -q|grep ^r|head -1|cut -f 3 -d"|" )" $EXPORTDIR/flashrom-$RELEASENAME/Makefile touch -d "$(svn log -q|grep ^r|head -1|cut -f 3 -d"|" )" $EXPORTDIR/flashrom-$RELEASENAME/ChangeLog touch -d "$(svn log -q|grep ^r|head -1|cut -f 3 -d"|" )" $EXPORTDIR/flashrom-$RELEASENAME/util/ touch -d "$(svn log -q|grep ^r|head -1|cut -f 3 -d"|" )" $EXPORTDIR/flashrom-$RELEASENAME/ tar cjf $EXPORTDIR/flashrom-$RELEASENAME.tar.bz2 -C $EXPORTDIR/ $TAROPTIONS flashrom-$RELEASENAME/ touch -d "$(svn log -q|grep ^r|head -1|cut -f 3 -d"|" )" $EXPORTDIR/flashrom-$RELEASENAME.tar.bz2
Signing the release tarball
The script above does that too, but in case you want to additionally sign a release you can do it with this:
gpg --detach-sign --armor flashrom-0.9.6.tar.bz2
(replace 0.9.6 with the intended release number of course).