~azzar1/unity/add-show-desktop-key

« back to all changes in this revision

Viewing changes to doc/dev/releases.rst

  • Committer: Matt Giuca
  • Date: 2010-02-11 05:54:45 UTC
  • Revision ID: matt.giuca@gmail.com-20100211055445-151qrs4xczzl5rns
Docs: Completed Tour of IVLE (finished Admin section). Apologies for the mess on the previous commit -- committed an unfinished document.

Show diffs side-by-side

added added

removed removed

Lines of Context:
15
15
   along with this program; if not, write to the Free Software
16
16
   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
17
17
 
18
 
*********
19
 
Packaging
20
 
*********
21
 
 
22
 
Source package
23
 
==============
24
 
 
25
 
The latest copy of trunk can be fetched by running :command:`bzr export 
26
 
ivle-latest.tgz lp:ivle`.
27
 
 
28
 
Debian Package
29
 
==============
30
 
 
31
 
A Debian package is currently under development in the 
32
 
``lp:~ivle-dev/ivle/debian-packaging`` branch.
33
 
 
34
 
William Grant currently maintains a :abbr:`PPA (Personal Package Archive)` of 
35
 
IVLE and its dependencies at https://launchpad.net/~wgrant/+archive/ivle.
36
 
 
37
 
.. TODO: Are we using this for releases?
38
 
 
39
 
Package split
40
 
-------------
41
 
 
42
 
IVLE will be split into a few packages:
43
 
 
44
 
* ``ivle`` will be the all-in-one package, which users can install to get a 
45
 
  working IVLE with all tasks on a single node. It will depend on 
46
 
  ``ivle-app-server``, ``ivle-usrmgt-server``, *PostgreSQL*, and perform extra 
47
 
  automated configuration for the Subversion service.
48
 
* ``ivle-app-server`` will contain the web code, trampoline, timount and co., 
49
 
  depend upon the packages necessary for an appserver, and perform just the 
50
 
  configuration for an appserver (generating config files, scheduling timount 
51
 
  runs, etc.)
52
 
* ``ivle-usrmgt-server`` will contain and configure the usrmgt-server.
53
 
* ``ivle-server-common`` will contain those bits common to the server tasks, 
54
 
  but not in the ivle Python package, and not needed in the jail.
55
 
* ``ivle-jail`` might not be in the archive, instead being built by 
56
 
  ivle-create-jail - it will contain the extra jail scripts.
57
 
* ``python-ivle`` will contain the ivle Python package.
 
18
********
 
19
Releases
 
20
********
 
21
 
 
22
To release IVLE, both generic source tarballs and Ubuntu packages should
 
23
be published.
 
24
 
 
25
Generating a source tarball
 
26
===========================
 
27
 
 
28
To generate a tarball of the current state of trunk, run ``bzr export 
 
29
ivle-VERSION.tar.gz lp:ivle``.
 
30
 
 
31
 
 
32
Releasing it on Launchpad
 
33
=========================
 
34
 
 
35
As a member of the `IVLE Developers <https://launchpad.net/~ivle-dev>`_ team,
 
36
visit the `IVLE project page <https://launchpad.net/ivle>`_. There you'll see
 
37
a graph of IVLE's series, milestones and releases.
 
38
 
 
39
Clicking on the series in which this release should be created will present
 
40
a list of existing milestones and releases. If a milestone for this release
 
41
already exists, click "Release now". If not, click "Create release". Enter
 
42
the release date on the following form, and confirm the creation.
 
43
 
 
44
To upload the release tarball for the world to see, hit "Add download file" on
 
45
the release page. Give a meaningful description like "IVLE 1.0 source", select
 
46
the file, and ensure that the type is "Code Release Tarball".
 
47
 
 
48
 
 
49
.. seealso::
 
50
 
 
51
   `Launchpad release documentation <https://help.launchpad.net/Projects/SeriesMilestonesReleases>`_
 
52
      All you could ever want to know about Launchpad's series, milestones and
 
53
      releases model.
 
54
 
 
55
 
 
56
Updating the Ubuntu package
 
57
===========================
 
58
 
 
59
An Ubuntu package is kept in the `PPA for production environments
 
60
<https://launchpad.net/~unimelb-ivle/+archive/production>`_. Releases should
 
61
be pushed out to there if destined for production systems. The packaging is
 
62
kept in a separate branch: `lp:~ivle-dev/ivle/debian-packaging
 
63
<https://code.launchpad.net/~ivle-dev/ivle/debian-packaging>`_.
 
64
 
 
65
You will need to be a member of the `University of Melbourne IVLE developers
 
66
<https://launchpad.net/~unimelb-ivle>`_ team, have an OpenPGP key assigned to
 
67
your account, and have signed the Ubuntu Code of Conduct. See the PPA
 
68
documentation linked below for instructions. You should be able to build
 
69
the package on any Debian-derived operating system that uses ``dpkg``.
 
70
You also need to have an SSH key `associated with your account
 
71
<https://help.launchpad.net/YourAccount/CreatingAnSSHKeyPair>`_ so you can
 
72
commit to the branch on Launchpad.
 
73
 
 
74
When performing a release, you should merge trunk into a checkout of the
 
75
packaging branch. Then run ``dch -i`` to add a new Debian changelog entry.
 
76
For the Debian version string, append ``-0ppa1`` to the IVLE version (eg.
 
77
``1.0-0ppa1``). Make sure that you target to the correct Ubuntu series
 
78
(currently ``hardy``). Also ensure that your name and email address are set
 
79
correctly at the bottom of the new entry.
 
80
 
 
81
Next ensure that you have a copy of the release tarball in the parent
 
82
directory, named ``ivle_VERSION.orig.tar.gz``. Once that's there, run
 
83
``debuild -S -sa -i`` to build the source package and have the results placed
 
84
in the parent directory.
 
85
 
 
86
``dput ppa:unimelb-ivle/production ivle_VERSION_source.changes`` will now
 
87
upload the package to the production PPA. You should receive an acknowledgement
 
88
email from Launchpad within five minutes, at which point Launchpad will begin
 
89
building binaries from the source package. You can check the build progress
 
90
on the `PPA detail page
 
91
<https://launchpad.net/~unimelb-ivle/+archive/production/+packages>`_.
 
92
 
 
93
Remember to commit to and push the ``debian-packaging`` branch when done.
 
94
 
 
95
.. seealso::
 
96
 
 
97
   `Launchpad PPA documentation <https://help.launchpad.net/Packaging/PPA>`_
 
98
      All you could ever want to know about using Launchpad's PPA
 
99
      functionality.
 
100
 
 
101
   `Ubuntu Packaging Guide <https://wiki.ubuntu.com/PackagingGuide/Basic>`_
 
102
      All you could ever want to know about Ubuntu packaging.