Making a release

From Apertium
Revision as of 22:11, 12 October 2007 by 218.58.136.4 (talk)
Jump to navigation Jump to search

mio figlio il forzato p4 3 2 ghz prescott intel c 400 infisso in alluminio renato zero i migliori anni della nostra lampang hercules reset cartuccia stampante mypal a620 bt jane carrera c matrix sara montiel smartmedia 64 mb negozi hi fi torino romeo just away john lenon so this is christmas le due orfanelle offerta lavoro sicilia traduttori di lingua istantanei sony macchine digitali pbm midi calice amaro super street fighter ii x revival puma klim e capello bellezza staszczyk garmin streetpilot 2610 micheal double zirconio samsung 1150 ben harper traduzione husqvarna wre125 roberto alagna q7 e330n cellulari samsung leggero portatili cyber shot t5 frigoriferi rex ci lavoro vienna cracovia cose fare miguel angel munoz merd il gamecube recupera negli stati uniti un uomo per ivy max drive ps2 buy house gianluca capozzi sei hit mania dance champion 2004 after party dizionario croato italiano amplificatore dts aspirapolvere con filtro hepa televisore 12 sintonizzatore amplificatore cd anastacia juvenile slow scansano libri printer bluetooth danzela pump it up galles we ew all to blame vermi in foto da sega que sera sera di doris day commento riguardo la costituzione comico wenn die scuola radici del tao audiberti jacques calcio da gioco ridata compact flash supporto hard disk vga to s video saint seiya mugen windows xp cecilia dazzi hit mania campions 2004 done pelose gel komodo testi tradotti di jojo accessori per acer n35 gatti natalizi www calabria residens it televisori widescreen ram per sony gps per palmari imate epson all in one mitsubishi varese ad bestias fallaci oriana rocoo gogle auto moto tom raider1 decreto urbani novita body alive dvd r doppio strato www google com sv video porno da vedere su internet baglioni pace fnac it milano enzo tin it bandoneon vendita abbigliamento on line romeo et juliette les rois du monde

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/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". When you upload it, you log in as "anonymous" and you can type whatever password you want, be creative!

Note: You cannot do this from within UA because FTP is blocked.
$ ftp upload.sourceforge.net
Connected to osdn.dl.sourceforge.net.
Name (upload.sourceforge.net:fran): anonymous
331 Please specify the password.
Password:
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp> bin
200 Switching to Binary mode.
ftp> cd /incoming
250 Directory successfully changed.
ftp> passive
Passive mode on.
ftp> put apertium-es-pt-1.0.3.tar.gz
local: apertium-es-pt-1.0.3.tar.gz remote: apertium-es-pt-1.0.3.tar.gz
227 Entering Passive Mode (66,35,250,221,231,44)
150 Ok to send data.
226 File receive OK.
1032259 bytes sent in 4.60 secs (219.2 kB/s)

Sometimes SourceForge FTP doesn't work, if you get the error "553 Could not create file.", try again the next day.

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 "tags" directory in the module you are packaging, then skip the next step, if not you'll need to do:

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

Now to tag the release, do:

$ svn copy http://apertium.svn.sourceforge.net/svnroot/apertium/apertium-oc-ca \
http://apertium.svn.sourceforge.net/svnroot/apertium/apertium-oc-ca/tags/release-1.0.3
$ svn commit

This has the unfortunate effect of copying all the other tags into the new tag aswell, so now do:

$ svn delete http://apertium.svn.sourceforge.net/svnroot/apertium/apertium-oc-ca/tags/release-1.0.3/tags
$ svn commit