Making a release
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
(Makefile.am shouldn't have any version info.)
-AC_INIT([Apertium Foolish-Barman], [0.9.7], [email@example.com], [apertium-foo-bar], [http://wiki.apertium.org/wiki/Apertium-foo-bar]) +AC_INIT([Apertium Foolish-Barman], [1.0.0], [firstname.lastname@example.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
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
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 email@example.com:/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 firstname.lastname@example.org:~/tarballs/ ssh email@example.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
- go to https://github.com/apertium/apertium-foo-bar/releases/
- and pick your tag
- and click "Edit release",
- and upload your tarball (and signature, if you did that)