From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 25243 invoked by alias); 3 Apr 2008 17:28:04 -0000 Received: (qmail 25219 invoked by uid 367); 3 Apr 2008 17:28:04 -0000 Date: Thu, 03 Apr 2008 17:28:00 -0000 Message-ID: <20080403172804.25200.qmail@sourceware.org> From: cagney@sourceware.org To: frysk-cvs@sourceware.org Subject: [SCM] master: Add a page on releasing frysk. X-Git-Refname: refs/heads/master X-Git-Reftype: branch X-Git-Oldrev: dcf34054390b012ad1442d7fd022db5ef46d9850 X-Git-Newrev: 9ad78696423af289ada0ff136fe39a9794760d61 Mailing-List: contact frysk-cvs-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Post: List-Help: , Sender: frysk-cvs-owner@sourceware.org Reply-To: frysk@sourceware.org X-SW-Source: 2008-q2/txt/msg00032.txt.bz2 The branch, master has been updated via 9ad78696423af289ada0ff136fe39a9794760d61 (commit) from dcf34054390b012ad1442d7fd022db5ef46d9850 (commit) Those revisions listed above that are new to this repository have not appeared on any other notification email. - Log ----------------------------------------------------------------- commit 9ad78696423af289ada0ff136fe39a9794760d61 Author: Andrew Cagney Date: Thu Apr 3 13:27:42 2008 -0400 Add a page on releasing frysk. ----------------------------------------------------------------------- Summary of changes: htdocs/documentation/index.html | 3 + htdocs/releases/index.html | 189 +++++++++++++++++++++++++++++++++++++++ 2 files changed, 192 insertions(+), 0 deletions(-) create mode 100755 htdocs/releases/index.html First 500 lines of diff: diff --git a/htdocs/documentation/index.html b/htdocs/documentation/index.html index b540a79..a4f5d3d 100755 --- a/htdocs/documentation/index.html +++ b/htdocs/documentation/index.html @@ -105,6 +105,9 @@ information for frysk using the gcov/lcov test coverage tools.
+
  • For how to create a frysk release, see +the releases page.
  • + diff --git a/htdocs/releases/index.html b/htdocs/releases/index.html new file mode 100755 index 0000000..4189c0f --- /dev/null +++ b/htdocs/releases/index.html @@ -0,0 +1,189 @@ + + + + + Frysk System Monitor / Debugger: Making a Release + + + + + + + + + + + +
    + Frysk logo + + Home +  |  + Wiki +  |  + Use Cases +  |  + Work Flows +  |  + FAQ +  |  + Get Involved +  |  + Bugzilla +  |  + Build +  |  + Blog +  |  + Documentation +
    +
    +
    + triangle + + + + + + + + + +
    +   + + +

    Making A Release

    + +
    + +

    +Branch
    +Release +

    + +
    + + +

    frysk is making point release, cut from the Git +repository's HEAD, on the first Wednesday of each month. +This lets us deliver new features quickly, with a relatively low +overhead.

    + +

    The relese branch is taken on the first Wednesday at 00:00 +GMT, just in time for frysk's Wednesday meeting. We +then, during the meeting, conduct a brief review, check the NEWS file, +and make a go/no-go decision. It is then pushed out, perhaps with a +few minor fixes.

    + +

    The process is also relatively simplistic. It assumes for +instance: + +

      +
    • there's never a pre-release tar-ball
      that would require extra +pre-release version numbers such as 0.1.90... and then only +at the last moment set the real version (0.2). +
    • +
    • if there's ever a need for a re-spin, it just gets assigned a +patch-level number like 0.2.1 and use the original releases +branch
    • +
    + +

    Cutting the Branch

    + +

    Here's a suggested sequence:

    + +
      + +
    • To make things easier, first lets set up a few standard shell +variables; you'll want to set version to something more +meaningful: + +
      +version=0.2 ! ! ! change this
      +echo $version
      +date=`date -u +"%Y.%m.%d"`
      +echo date=$date 1>&2
      +shar1=`git-rev-list --before=$date -n1 HEAD`
      +echo shar1=$shar1 1>&2
      +branch=frysk/$version
      +echo $branch
      +
      +
    • + +
    • Next we create a branch (frysk release branches are named +frysk/<version>), and push that upstream: + +
      +echo branch=$branch shar1=$shar1
      +git branch $branch $shar1
      +git push origin $branch
      +
      +
    • + +
    • Finally, we update the version number of the branch, and push +that: +
      +git checkout $branch
      +echo $version > common/version.in
      +cat common/version.in
      +git add common/version.in
      +git commit -m "Set version.in to $version"
      +git push origin
      +
      +
    • + +
    + +

    The branch can then be checked out by everyone and build locally. +Of course the keen will have already checked out the branch point +using something like: + +

    +git checkout `git-rev-list --before='00:00 GMT' -n1 HEAD`
    +
    + +

    Making the Release

    + +

    Here's a sequence for releasing frysk, we're assuming that $version +was set above: + +

      + +
    • First lets create a tar ball from the head of the branch. It's a +little convoluted since it find's the branch head's shar1 and then +uses that. + +
      +echo version=$version branch=$branch
      +shar1=`git-rev-list -n1 $branch`
      +echo shar1=$shar1
      +rm -rf frysk-$version
      +git archive --prefix=frysk-$version/ $shar1 | tar xpf -
      +tar cfj frysk-$version.tar.bz2 frysk-$version
      +
      +
    • + +
    • Assuming you're happy with that, tag the release: +
      +git tag -u <gpg-name> -m frysk-$version $shar1
      +git push --tags
      +
      +
    • + +
    + + +

     

    +
    +
    +
    + + + + +
    + + hooks/post-receive -- frysk system monitor/debugger