Difference between revisions of "Making a release"
m (Reverted edits by 122.252.226.40 (Talk); changed back to last version by Francis Tyers) |
(remove →Making a release in SourceForge) |
||
(29 intermediate revisions by 5 users not shown) | |||
Line 1: | Line 1: | ||
[[Fabriquer une version|En français]] |
|||
{{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 13: | 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> |
||
RELEASE=0.9 |
|||
VERSION=0.9.7 |
|||
</pre> |
</pre> |
||
(Makefile.am shouldn't have any version info.) |
|||
Edit configure.ac: |
Edit configure.ac: |
||
<pre> |
<pre> |
||
-AC_INIT([ |
-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> |
||
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 49: | Line 52: | ||
</pre> |
</pre> |
||
If you get any errors, go back, fix them in |
If you get any errors, go back, fix them in git, push and start again. |
||
==Installing the pair on apertium.org== |
|||
Example contents of ChangeLog: |
|||
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 |
|||
<pre> |
<pre> |
||
scp apertium-foo-0.9.0.tar.gz apertium-foo-bar-0.9.0.tar.gz apertium@oqaa.projectjj.com:~/tarballs/ |
|||
Wed 20 Jun 2007 08:45:42 BST |
|||
ssh apertium@oqaa.projectjj.com |
|||
cd tarballs |
|||
* New release version 1.0.3 |
|||
./install-tarball.sh apertium-foo-0.9.0.tar.gz |
|||
* Updated Makefile.am to fix 'make install' problem. See |
|||
./install-tarball.sh apertium-foo-bar-0.9.0.tar.gz |
|||
bug #3 in Bugzilla. |
|||
systemctl --user restart apy |
|||
</pre> |
</pre> |
||
2. Possibly update the html-tools server: |
|||
==Making a release in SourceForge== |
|||
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. |
|||
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". |
|||
==Tagging the release you just made in git== |
|||
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! |
|||
In git, tagging a release is done using the <code>git tag</code> command, see <code>git help tag</code>. |
|||
:''Note: You '''cannot''' do this from within UA because FTP is blocked.'' |
|||
<pre> |
<pre> |
||
$ git tag -s -m "v1.0.0 released" v1.0.0 HEAD |
|||
$ ftp upload.sourceforge.net |
|||
$ git push --tags |
|||
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 above will tag the current commit; you can change HEAD for some commit hash or branch if you want to tag that instead. |
|||
Sometimes SourceForge FTP doesn't work, if you get the error "553 Could not create file.", try again the next day. |
|||
==Making a release on github== |
|||
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! |
|||
After tagging, you can |
|||
==Tagging the release you just made in SVN== |
|||
* 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) |
|||
In SVN, tagging a release is done using the <code>copy</code> 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: |
|||
==Related pages== |
|||
<pre> |
|||
* [[Packaging]] (Debian etc.) |
|||
$ svn mkdir http://apertium.svn.sourceforge.net/svnroot/apertium/apertium-oc-ca/tags |
|||
* [[Release policy]] |
|||
</pre> |
|||
Now to tag the release, do: |
|||
<pre> |
|||
$ 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 |
|||
</pre> |
|||
This has the unfortunate effect of copying all the other tags into the new tag aswell, so now do: |
|||
<pre> |
|||
$ svn delete http://apertium.svn.sourceforge.net/svnroot/apertium/apertium-oc-ca/tags/release-1.0.3/tags |
|||
$ svn commit |
|||
</pre> |
|||
[[Category:Documentation]] |
[[Category:Documentation]] |
||
[[Category:Documentation in English]] |
Latest revision as of 09:59, 26 April 2021
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[edit]
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[edit]
$ ./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[edit]
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.
Installing the pair on apertium.org[edit]
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[edit]
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[edit]
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)
Related pages[edit]
- Packaging (Debian etc.)
- Release policy