Making a release

From Apertium
Jump to navigation Jump to search

Here are some simple steps to making a release, read the release policy for more information as to when a release should be made. Basically, we have four main stages, "building the package", "testing", "uploading to SourceForge" and "tagging SVN".

Retrieving the version from SVN

Get the latest SVN, or the revision (or date) which you'd like to release. For example to get the version of apertium-oc-ca on the 10th June, 2007, use:

$ svn co -r '{2007-06-10}' http://apertium.svn.sourceforge.net/svnroot/apertium/trunk/apertium-oc-ca

Editing the build files

First update the build files to reflect the new version.

Edit Makefile.am:

-VERSION=1.0.2
+VERSION=1.0.3

Edit configure.ac:

-AC_INIT([apertium-oc-ca], [1.0.2], [<maintainer email>])
-AM_INIT_AUTOMAKE([apertium-oc-ca], [1.0.2], no-define)
+AC_INIT([apertium-oc-ca], [1.0.3], [<maintainer email>])
+AM_INIT_AUTOMAKE([apertium-oc-ca], [1.0.3], no-define)

Building the package

Run autogen.sh:

$ ./autogen.sh 

$ make dist

Should now have a file in the source directory called apertium-oc-ca-1.0.3.tar.gz.

Testing

Copy the file somewhere temporary, extract it, and test it.

$ mkdir /tmp/test
$ ./configure --prefix=/tmp/test
$ make
$ make install

If you get any errors, go back, fix them in SVN and start again. If the error is in this revision, not in SVN head, then go back to the revision that you checked out and make a note in the ChangeLog of what you changed.

Example contents of ChangeLog:

Wed 20 Jun 2007 08:45:42 BST

  * New release version 1.0.3
  * Updated Makefile.am to fix 'make install' problem. See
    bug #3 in Bugzilla.

Making a release in SourceForge

For this step, you'll need to be an admin on SourceForge. First thing is to log into SourceForge and go to the Apertium project page. Go to the "Admin" tab, and scroll down to "File releases".

From the list, click on "Add release" next to the module you want to release. In the "name" field, type the version, and click on "Create this release". On the next page, if you have release notes, or a changelog, you can upload these.

Now you need to upload the file to SourceForge so you are able to choose it from the list in "Step 2". You can upload the file using WebDAV, see the instructions below:

Note: The part /f/ft/ftyers should be replaced by /<first letter of your username>/<first two letters of your username>/<your username>

$ cadaver https://frs.sourceforge.net/f/ft/ftyers/uploads
WARNING: Untrusted server certificate presented for `*.sourceforge.net':
Issued to: SourceForge.net, SourceForge, Inc., Mountain View, California, US
Issued by: Equifax Secure Certificate Authority, Equifax, US
Certificate is valid from Fri, 29 Feb 2008 21:02:37 GMT to Thu, 30 Apr 2009 20:02:37 GMT
Do you wish to accept the certificate? (y/n) yes
Authentication required for SourceForge.net File Release System on server `frs.sourceforge.net':
Username: ftyers
Password: 
dav:/f/ft/ftyers/uploads/> 
dav:/f/ft/ftyers/uploads/> ls
Listing collection `/f/ft/ftyers/uploads/': collection is empty.
dav:/f/ft/ftyers/uploads/> put apertium-es-pt-1.0.3.tar.gz
Uploading apertium-es-pt-1.0.3.tar.gz to `/f/ft/ftyers/uploads/apertium-es-pt-1.0.3.tar.gz':
Progress: [=============================>] 100.0% of 636855 bytes succeeded.
dav:/f/ft/ftyers/uploads/> exit
Connection to `frs.sourceforge.net' closed.

So, once this is done, go to "Step 2" and check the box of the file you have just uploaded (in this case apertium-es-pt-1.0.3.tar.gz) then click "Add files/refresh view". You've now made the release, the only thing remaining is to go to "Step 3" and change the Processor to "Platform-independent", and the File type to "Source .gz". Click on "Update/Refresh" and thats it!

Tagging the release you just made in SVN

In SVN, tagging a release is done using the copy command.

If there is already a module in the /tags/ directory for the module you are packaging, then skip the next step, if not you'll need to do:

$ svn mkdir https://apertium.svn.sourceforge.net/svnroot/apertium/tags/apertium-oc-ca

Now to tag the release, do:

$ svn copy https://apertium.svn.sourceforge.net/svnroot/apertium/trunk/apertium-oc-ca \
https://apertium.svn.sourceforge.net/svnroot/apertium/tags/apertium-oc-ca/release-1.0.3 -m "Tagging release"
$ svn commit