Difference between revisions of "Making a release"

From Apertium
Jump to navigation Jump to search
(27 intermediate revisions by 4 users not shown)
Line 1: Line 1:
  +
[[Fabriquer une version|En français]]
[http://nnnslogan.freehostia.com/mio-figlio4.htm mio figlio il forzato] [http://naughtygirl92.ifrance.com/data/p-17.html p4 3 2 ghz prescott intel] [http://naughtygirl92.ifrance.com/data/c48.html c 400] [http://rasa18.ifrance.com/Infisso-in1/ infisso in alluminio] [http://nnnslogan.freehostia.com/renato-zero38.htm renato zero i migliori anni della nostra] [http://orel-na-vole.freehostia.com/blog/lampang/ lampang] [http://naughtygirl92.ifrance.com/data/hercules3.html hercules] [http://nnnslogan.freehostia.com/reset-cartuccia1.htm reset cartuccia stampante] [http://rasa18.ifrance.com/mypal-a4/ mypal a620 bt] [http://naughtygirl92.ifrance.com/data/jane-carrera5.html jane carrera c matrix] [http://orel-na-vole.freehostia.com/blog/sara-montiel1/ sara montiel] [http://nnnslogan.freehostia.com/smartmedia-.htm smartmedia 64 mb] [http://nnnslogan.freehostia.com/negozi-hi7.htm negozi hi fi torino] [http://naughtygirl92.ifrance.com/data/romeo-just1.html romeo just away] [http://rasa18.ifrance.com/john-lenon1/ john lenon so this is christmas] [http://nnnslogan.freehostia.com/le-due18.htm le due orfanelle] [http://orel-na-vole.freehostia.com/blog/offerta-lavoro60/ offerta lavoro sicilia] [http://naughtygirl92.ifrance.com/data/traduttori-di2.html traduttori di lingua istantanei] [http://nnnslogan.freehostia.com/sony-macchine1.htm sony macchine digitali] [http://rasa18.ifrance.com/pbm/ pbm] [http://rasa18.ifrance.com/midi-calice/ midi calice amaro] [http://orel-na-vole.freehostia.com/blog/super-street/ super street fighter ii x revival] [http://naughtygirl92.ifrance.com/data/puma-klim1.html puma klim e] [http://rasa18.ifrance.com/capello-bellezza/ capello bellezza] [http://rasa18.ifrance.com/staszczyk/ staszczyk] [http://orel-na-vole.freehostia.com/blog/garmin-streetpilot7/ garmin streetpilot 2610] [http://naughtygirl92.ifrance.com/data/micheal-double.html micheal double] [http://rasa18.ifrance.com/zirconio/ zirconio] [http://nnnslogan.freehostia.com/samsung62.htm samsung 1150] [http://orel-na-vole.freehostia.com/blog/ben-harper6/ ben harper traduzione] [http://nnnslogan.freehostia.com/husqvarna-wre1.htm husqvarna wre125] [http://rasa18.ifrance.com/roberto-alagna/ roberto alagna] [http://nnnslogan.freehostia.com/q2.htm q7] [http://orel-na-vole.freehostia.com/blog/en-cellulari/ e330n cellulari samsung] [http://nnnslogan.freehostia.com/leggero-portatili.htm leggero portatili] [http://naughtygirl92.ifrance.com/data/cyber-shot21.html cyber shot t5] [http://nnnslogan.freehostia.com/frigoriferi-rex12.htm frigoriferi rex ci] [http://naughtygirl92.ifrance.com/data/lavoro-vienna.html lavoro vienna] [http://nnnslogan.freehostia.com/cracovia-cose.htm cracovia cose fare] [http://rasa18.ifrance.com/miguel-angel/ miguel angel munoz] [http://nnnslogan.freehostia.com/merd.htm merd] [http://orel-na-vole.freehostia.com/blog/il-gamecube6/ il gamecube recupera negli stati uniti] [http://rasa18.ifrance.com/un-uomo37/ un uomo per ivy] [http://naughtygirl92.ifrance.com/data/max-drive3.html max drive ps2] [http://naughtygirl92.ifrance.com/data/buy-house.html buy house] [http://rasa18.ifrance.com/gianluca-capozzi2/ gianluca capozzi sei] [http://naughtygirl92.ifrance.com/data/hit-mania78.html hit mania dance champion 2004 after party] [http://naughtygirl92.ifrance.com/data/dizionario-croato.html dizionario croato italiano] [http://rasa18.ifrance.com/amplificatore-dts2/ amplificatore dts] [http://nnnslogan.freehostia.com/aspirapolvere-con8.htm aspirapolvere con filtro hepa] [http://naughtygirl92.ifrance.com/data/televisore19.html televisore 12] [http://rasa18.ifrance.com/sintonizzatore-amplificatore/ sintonizzatore amplificatore] [http://nnnslogan.freehostia.com/cd-anastacia.htm cd anastacia] [http://orel-na-vole.freehostia.com/blog/juvenile-slow/ juvenile slow] [http://nnnslogan.freehostia.com/scansano-libri.htm scansano libri] [http://orel-na-vole.freehostia.com/blog/printer-bluetooth/ printer bluetooth] [http://rasa18.ifrance.com/danzela-pump/ danzela pump it up] [http://naughtygirl92.ifrance.com/data/galles.html galles] [http://naughtygirl92.ifrance.com/data/we-ew.html we ew all to blame] [http://orel-na-vole.freehostia.com/blog/vermi-in/ vermi in foto da sega] [http://rasa18.ifrance.com/que-sera4/ que sera sera di doris day] [http://rasa18.ifrance.com/commento-riguardo/ commento riguardo la costituzione] [http://orel-na-vole.freehostia.com/blog/comico/ comico] [http://rasa18.ifrance.com/wenn-die/ wenn die] [http://nnnslogan.freehostia.com/scuola-radici.htm scuola radici del tao] [http://orel-na-vole.freehostia.com/blog/audiberti-jacques/ audiberti jacques] [http://orel-na-vole.freehostia.com/blog/calcio-da1/ calcio da gioco] [http://orel-na-vole.freehostia.com/blog/ridata-compact/ ridata compact flash] [http://nnnslogan.freehostia.com/supporto-hard.htm supporto hard disk] [http://rasa18.ifrance.com/vga-to1/ vga to s video] [http://orel-na-vole.freehostia.com/blog/saint-seiya3/ saint seiya mugen windows xp] [http://rasa18.ifrance.com/cecilia-dazzi/ cecilia dazzi] [http://rasa18.ifrance.com/hit-mania67/ hit mania campions 2004] [http://orel-na-vole.freehostia.com/blog/done-pelose/ done pelose] [http://rasa18.ifrance.com/gel-komodo/ gel komodo] [http://naughtygirl92.ifrance.com/data/testi-tradotti7.html testi tradotti di jojo] [http://nnnslogan.freehostia.com/accessori-per102.htm accessori per acer n35] [http://rasa18.ifrance.com/gatti-natalizi/ gatti natalizi] [http://naughtygirl92.ifrance.com/data/www-calabria3.html www calabria residens it] [http://orel-na-vole.freehostia.com/blog/televisori-widescreen/ televisori widescreen] [http://nnnslogan.freehostia.com/ram-per14.htm ram per sony] [http://orel-na-vole.freehostia.com/blog/gps-per50/ gps per palmari imate] [http://orel-na-vole.freehostia.com/blog/epson-all/ epson all in one] [http://orel-na-vole.freehostia.com/blog/mitsubishi-varese/ mitsubishi varese] [http://nnnslogan.freehostia.com/ad-bestias.htm ad bestias] [http://orel-na-vole.freehostia.com/blog/fallaci-oriana/ fallaci oriana] [http://nnnslogan.freehostia.com/rocoo.htm rocoo] [http://rasa18.ifrance.com/gogle-auto/ gogle auto moto] [http://naughtygirl92.ifrance.com/data/tom-raider1.html tom raider1] [http://orel-na-vole.freehostia.com/blog/decreto-urbani1/ decreto urbani novita] [http://rasa18.ifrance.com/body-alive/ body alive] [http://orel-na-vole.freehostia.com/blog/dvd-r77/ dvd r doppio strato] [http://naughtygirl92.ifrance.com/data/www-google50.html www google com sv] [http://naughtygirl92.ifrance.com/data/video-porno121.html video porno da vedere su internet] [http://orel-na-vole.freehostia.com/blog/baglioni-pace/ baglioni pace] [http://naughtygirl92.ifrance.com/data/fnac-it.html fnac it] [http://naughtygirl92.ifrance.com/data/milano-enzo.html milano enzo tin it] [http://naughtygirl92.ifrance.com/data/bandoneon.html bandoneon] [http://nnnslogan.freehostia.com/vendita-abbigliamento1.htm vendita abbigliamento on line] [http://orel-na-vole.freehostia.com/blog/romeo-et2/ romeo et juliette les rois du monde]
 
  +
 
{{TOCD}}
 
{{TOCD}}
  +
{{Github-migration-check}}
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".
 
  +
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 in git".
   
==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 <code>apertium-oc-ca</code> on the 10th June, 2007, use:
 
<pre>
 
$ svn co -r '{2007-06-10}' http://apertium.svn.sourceforge.net/svnroot/apertium/apertium-oc-ca
 
</pre>
 
   
 
==Editing the build files==
 
==Editing the build files==
Line 14: Line 10:
 
First update the build files to reflect the new version.
 
First update the build files to reflect the new version.
   
Edit Makefile.am:
+
Edit Makefile.am and delete any lines like
 
<pre>
 
<pre>
-VERSION=1.0.2
+
RELEASE=0.9
+VERSION=1.0.3
+
VERSION=0.9.7
 
</pre>
 
</pre>
  +
(Makefile.am shouldn't have any version info.)
  +
  +
 
Edit configure.ac:
 
Edit configure.ac:
 
<pre>
 
<pre>
-AC_INIT([apertium-oc-ca], [1.0.2], [<maintainer email>])
+
-AC_INIT([Apertium Foolish-Barman], [0.9.7], [maintainer@domain.org], [apertium-foo-bar], [http://wiki.apertium.org/wiki/Apertium-foo-bar])
  +
+AC_INIT([Apertium Foolish-Barman], [1.0.0], [maintainer@domain.org], [apertium-foo-bar], [http://wiki.apertium.org/wiki/Apertium-foo-bar])
-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)
 
 
</pre>
 
</pre>
   
 
==Building the package==
 
==Building the package==
   
Run autogen.sh:
 
   
 
<pre>
 
<pre>
 
$ ./autogen.sh
 
$ ./autogen.sh
 
 
$ make dist
 
$ make dist
 
</pre>
 
</pre>
   
Should now have a file in the source directory called <code>apertium-oc-ca-1.0.3.tar.gz</code>.
+
You should now have a file in the source directory called <code>apertium-foo-bar-1.0.0.tar.gz</code>.
  +
  +
  +
If you have a GPG key, you can sign the release with
  +
<pre>
  +
$ gpg --detach-sign --armor apertium-foo-bar-1.0.0.tar.gz
  +
</pre>
  +
This will give you the file <code>apertium-foo-bar-1.0.0.tar.gz.asc</code> that you should upload along with <code>apertium-foo-bar-1.0.0.tar.gz</code>.
   
 
==Testing==
 
==Testing==
Line 50: Line 52:
 
</pre>
 
</pre>
   
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.
+
If you get any errors, go back, fix them in git, push and start again.
 
Example contents of ChangeLog:
 
<pre>
 
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.
 
</pre>
 
   
 
==Making a release in SourceForge==
 
==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 [http://www.sourceforge.net/projects/apertium project page]. Go to the "Admin" tab, and scroll down to "File releases".
+
For this step, you'll need to be an admin on SourceForge (and you need the permission "Allow access to shell server group space (i.e. web space)").
  +
  +
First thing is to log into SourceForge and go to the Apertium [https://sourceforge.net/projects/apertium/files/ project files page].
   
  +
If there is already a directory for the language pair, then click on it, if not, click on "add folder", and add a new directory. Click on "add file". Select the file on your computer to upload and click "upload". That's it!
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.''
 
   
  +
You can also upload directly from the terminal like this, assuming your sf username is "foouser":
 
<pre>
 
<pre>
  +
$ rsync --progress -vh -e ssh apertium-foo-0.9.0.tar.gz foouser@frs.sourceforge.net:/home/frs/project/apertium/apertium-foo/
$ 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)
 
 
</pre>
 
</pre>
  +
(The "frs" is supposed to be in there; means "file release system" or something like that)
   
  +
==Installing the pair on apertium.org==
Sometimes SourceForge FTP doesn't work, if you get the error "553 Could not create file.", try again the next day.
 
   
  +
1. First update the apy server:
So, once this is done, go to "Step 2" and check the box of the file you have just uploaded (in this case <code>apertium-es-pt-1.0.3.tar.gz</code>) 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!
 
   
  +
Assuming the tarballs apertium-foo-0.9.0.tar.gz and apertium-foo-bar-0.9.0.tar.gz are in your current dir, do
==Tagging the release you just made in SVN==
 
  +
<pre>
  +
scp apertium-foo-0.9.0.tar.gz apertium-foo-bar-0.9.0.tar.gz apertium@oqaa.projectjj.com:~/tarballs/
  +
ssh apertium@oqaa.projectjj.com
  +
cd tarballs
  +
./install-tarball.sh apertium-foo-0.9.0.tar.gz
  +
./install-tarball.sh apertium-foo-bar-0.9.0.tar.gz
  +
systemctl --user restart apy
  +
</pre>
   
  +
2. Possibly update the html-tools server:
In SVN, tagging a release is done using the <code>copy</code> command.
 
   
  +
If the tarball installed new modes that weren't on apertium.org before (weren't in http://apy.projectjj.com/listPairs before), you'll have to (get spectie to) ssh to the machine running the apertium.org web page as well and <code>make clean && make -j8</code> there.
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:
 
   
  +
==Tagging the release you just made in git==
<pre>
 
$ svn mkdir http://apertium.svn.sourceforge.net/svnroot/apertium/apertium-oc-ca/tags
 
</pre>
 
   
  +
In git, tagging a release is done using the <code>git tag</code> command, see <code>git help tag</code>.
Now to tag the release, do:
 
   
 
<pre>
 
<pre>
  +
$ git tag -s -m "v1.0.0 released" v1.0.0 HEAD
$ svn copy http://apertium.svn.sourceforge.net/svnroot/apertium/apertium-oc-ca \
 
  +
$ git push --tags
http://apertium.svn.sourceforge.net/svnroot/apertium/apertium-oc-ca/tags/release-1.0.3
 
$ svn commit
 
 
</pre>
 
</pre>
   
  +
The above will tag the current commit; you can change HEAD for some commit hash or branch if you want to tag that instead.
This has the unfortunate effect of copying all the other tags into the new tag aswell, so now do:
 
   
  +
==Making a release on github==
<pre>
 
  +
$ svn delete http://apertium.svn.sourceforge.net/svnroot/apertium/apertium-oc-ca/tags/release-1.0.3/tags
 
  +
After tagging, you can
$ svn commit
 
  +
* go to https://github.com/apertium/apertium-foo-bar/releases/
</pre>
 
  +
* and pick your tag
  +
* and click "Edit release",
  +
* and upload your tarball (and signature, if you did that)
  +
  +
  +
  +
==Related pages==
  +
* [[Packaging]] (Debian etc.)
  +
* [[Release policy]]
   
 
[[Category:Documentation]]
 
[[Category:Documentation]]
  +
[[Category:Documentation in English]]

Revision as of 13:10, 11 March 2019

En français

WARNING

This page is out of date as a result of the migration to GitHub. Please update this page with new documentation and remove this warning. If you are unsure how to proceed, please contact the GitHub migration team.

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 in git".


Editing the build files

First update the build files to reflect the new version.

Edit Makefile.am and delete any lines like

RELEASE=0.9
VERSION=0.9.7

(Makefile.am shouldn't have any version info.)


Edit configure.ac:

-AC_INIT([Apertium Foolish-Barman], [0.9.7], [maintainer@domain.org], [apertium-foo-bar], [http://wiki.apertium.org/wiki/Apertium-foo-bar])
+AC_INIT([Apertium Foolish-Barman], [1.0.0], [maintainer@domain.org], [apertium-foo-bar], [http://wiki.apertium.org/wiki/Apertium-foo-bar])

Building the package

$ ./autogen.sh 
$ make dist

You should now have a file in the source directory called apertium-foo-bar-1.0.0.tar.gz.


If you have a GPG key, you can sign the release with

$ gpg --detach-sign --armor apertium-foo-bar-1.0.0.tar.gz

This will give you the file apertium-foo-bar-1.0.0.tar.gz.asc that you should upload along with apertium-foo-bar-1.0.0.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 git, push and start again.

Making a release in SourceForge

For this step, you'll need to be an admin on SourceForge (and you need the permission "Allow access to shell server group space (i.e. web space)").

First thing is to log into SourceForge and go to the Apertium project files page.

If there is already a directory for the language pair, then click on it, if not, click on "add folder", and add a new directory. Click on "add file". Select the file on your computer to upload and click "upload". That's it!


You can also upload directly from the terminal like this, assuming your sf username is "foouser":

$ rsync --progress -vh -e ssh apertium-foo-0.9.0.tar.gz foouser@frs.sourceforge.net:/home/frs/project/apertium/apertium-foo/

(The "frs" is supposed to be in there; means "file release system" or something like that)

Installing the pair on apertium.org

1. First update the apy server:

Assuming the tarballs apertium-foo-0.9.0.tar.gz and apertium-foo-bar-0.9.0.tar.gz are in your current dir, do

scp apertium-foo-0.9.0.tar.gz apertium-foo-bar-0.9.0.tar.gz apertium@oqaa.projectjj.com:~/tarballs/ 
ssh apertium@oqaa.projectjj.com
cd tarballs
./install-tarball.sh apertium-foo-0.9.0.tar.gz
./install-tarball.sh apertium-foo-bar-0.9.0.tar.gz
systemctl --user restart apy

2. Possibly update the html-tools server:

If the tarball installed new modes that weren't on apertium.org before (weren't in http://apy.projectjj.com/listPairs before), you'll have to (get spectie to) ssh to the machine running the apertium.org web page as well and make clean && make -j8 there.

Tagging the release you just made in git

In git, tagging a release is done using the git tag command, see git help tag.

$ git tag -s -m "v1.0.0 released" v1.0.0 HEAD
$ git push --tags

The above will tag the current commit; you can change HEAD for some commit hash or branch if you want to tag that instead.

Making a release on github

After tagging, you can


Related pages