Flashrom/Release process

From flashrom
Jump to navigation Jump to search

This wiki is retired

Our website is https://www.flashrom.org, instructions on how to add or update documentation are here

All wiki content available in read-only mode at wiki.flashrom.org

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 directory.

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

svn co svn://coreboot.org/flashrom/tags/flashrom-0.9.6
cd flashrom-0.9.6
flashrom_release 0.9.6

(replace 0.9.6 with the intended release number). The result is a bzip2 compressed tarball with the release name.

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

gpg --detach-sign --armor flashrom-0.9.6.tar.bz2

(replace 0.9.6 with the intended release number).