FOSSology Project Logo FOSSology
Advancing open source analysis and development
 

How to Create a New Release

Increment Version Number Appropriately

First thing's first… How do you increment version numbers?

This mailing list post describes the version number in detail. To summarize:

A.B.C

where

A = Major release number
    Reason for change:
      schema and/or agent API _breakage_
B = Minor release number
    Reasons for change:
      schema and/or agent APIs are _added_ or _extended_ 
      new agents added
      security fixes
      major roll up of bugfixes
C = Bugfix release number
    Reasons for change:
      any bugfix worth doing a new release/test cycl

Tagging the release in subversion

  1. Edit trunk/fossology/Makefile.conf in subversion and increment the VERSION variable to the appropriate version number based on the guidelines above.
  2. Create a new tag for the release: tag the trunk/fossology/ directory and save it in /tags/<revision>/fossology/
  • Create a new tag directory for version A.B.C:
svn mkdir https://fossology.svn.sourceforge.net/svnroot/fossology/tags/A.B.C
  • Create the new tagged version within that directory, tagging subversion revision NNN:
svn copy -r NNN https://fossology.svn.sourceforge.net/svnroot/fossology/trunk/fossology \
  https://fossology.svn.sourceforge.net/svnroot/fossology/tags/A.B.C/

In the case where you're tagging the top of tree, you can omit the -r NNN parameter.

  • If you need to update individual files in the tagged version, remove the file(s) first and then replace them with:
svn delete https://fossology.svn.sourceforge.net/svnroot/fossology/tags/0.8.0/fossology/<full path to file(s)>
svn copy https://fossology.svn.sourceforge.net/svnroot/fossology/trunk/fossology/<full path to replacement file(s)> \
  https://fossology.svn.sourceforge.net/svnroot/fossology/tags/A.B.C/<full path to destination dir>

Now you should have a nice tidy directory in /tags/A.B.C/fossology/ where the released bits live. From here you can proceed to rolling a tarball and uploading the file release to sourceforge.

Creating a tarball

To create a tarball, check out the released version. Within that directory, simply run

make tar-release

This will create a file called fossology-A.B.C.tar.gz.

Now you're ready to do a file release on Sourceforge!

Creating a Sourceforge file release

  • Go to https://frs.sourceforge.net/webupload - the Sourceforge file release system (FRS) web upload. You'll need a sf.net login/username (the same as you would use to do svn checkins).
  • Upload the file from your local system.
  • (…possible other steps)…
  • Now log into the sourceforge website using your fossology developer account. From the “Admin” tab at the far right of the FOSSology project site at sourceforge, select “File Release”. You should see the fossology project listed as an existing package. Click on the “Add Release” button.
  • For “New Release Name” type in the A.B.C release number.
  • For “Release Notes” you can simply type something in such as “Please refer to http://fossology.org/ for the latest release notes”. Scroll down and select the checkbox next to the fossology tarball we just FTP'd up. You may need to click on “Submit/Refresh” to get the updated list of files. then click on “Add Files and/or refresh view”.
  • Now you'll need to select both the “Processor” – since this is a source code package, just choose “Platform-Independent”; and also “File Type” – since it is a gzipped source tarball, select “Source .gz”.
  • Note there is no final “Submit” once you've updated all the fields. The file is released. You can confirm this by going to the “Download” tab in sourceforge and ensuring the file you just uploaded shows up there.

Writing Release Notes

You must create a set of release notes in Dokuwiki at http://fossology.org/release_notes

Simply add the release notes to the top of the page, shifting all the previous versions down below them.

Be sure to highlight all the new features, bugfixes, any other errata.

Add news blurb to front page

Be sure to update the http://fossology.org/ front page with a short news blurb about the new release. You may also want to remove the oldest news blurb as well, to keep the page a bit current and up-to-date.

Sending email announcement

Finally it's important to send an announcement of the new release to the mailing list.

Email to fossology@fossology.org something like the following:

Subject:  Announcing FOSSology A.B.C Release

The FOSSology Project is pleased to announce the release of FOSSology A.B.C.

New in version A.B.C:
  * New feature
  * New feature
  * Important bug fix
  * etc... don't get too specific, but try to highlight the major changes

For more information on the FOSSology project and to download the software, 
please visit http://fossology.org/

-- About FOSSology --

FOSSology is a Free Open Source Software (FOSS) project built around an open 
and modular architecture for analyzing software. Existing modules include 
license analysis, meta data extraction, and MIME type identification. This open
source software tool analyzes a given set of software packages, and reports items 
such as the software licenses used by these packages.

More than simply reporting, “Package X uses license Y,” the FOSSology tool 
attempts to analyze every file within the package to determine its license. The 
license report is thus an aggregate of all of the different licenses found to be 
in use by a package. A single package may be labeled as “GPL” but contain files 
that use other licenses (BSD, OSL, or any of the hundreds of other licenses). Even
if an exact license is unknown, the license may be identifiable by common license 
phrases.

The FOSSology Project started as an internal software development effort within 
Hewlett Packard’s Open Source and Linux Organization. The tool evolved over 
several years at HP from a few simple shell scripts to the much more comprehensive
tool you see today.

Enjoy!
The FOSSology team

Post-incrementing the version number in svn

After making a release, increment the version number in trunk/fossology/Makefile.conf in subversion. Increment the least-significant digit by 1, and add ”~svn” to it (tilde svn).

For example if the release you just completed was “0.17.0”, update Makefile.conf in subversion to be version ”0.17.1~svn”. Why? So that future checkouts of HEAD will not advertise being the previous release, which they certainly are not.

 
0.9.0/how_to_create_a_new_release.txt · Last modified: 2008/10/10 09:45 (external edit)

Copyright (C) 2007-2009 Hewlett-Packard Development Company, L.P.
FOSSology Project documentation is licensed under the GNU Free Documentation License Version 1.2
Recent changes RSS feed Valid XHTML 1.0 Valid CSS3 Driven by DokuWiki