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

1164.2.32 by David Coles
Very rough documentation for how we package IVLE. More information about the
1
.. IVLE - Informatics Virtual Learning Environment
2
   Copyright (C) 2007-2009 The University of Melbourne
3
4
.. This program is free software; you can redistribute it and/or modify
5
   it under the terms of the GNU General Public License as published by
6
   the Free Software Foundation; either version 2 of the License, or
7
   (at your option) any later version.
8
9
.. This program is distributed in the hope that it will be useful,
10
   but WITHOUT ANY WARRANTY; without even the implied warranty of
11
   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
12
   GNU General Public License for more details.
13
14
.. You should have received a copy of the GNU General Public License
15
   along with this program; if not, write to the Free Software
16
   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
17
1466.1.1 by William Grant
Replace the Packaging document with a general Releases one, and cover both source tarball and Ubuntu package releases.
18
********
19
Releases
20
********
21
22
To release IVLE, both generic source tarballs and Ubuntu packages should
23
be published.
24
1567 by William Grant
Notify release people that you pretty much need a working IVLE, and write access to LP.
25
These instructions expect to be run on a Debian-derived system with a
26
working IVLE installation. You also need to have your system set up with
27
write access to Launchpad branches.
28
1565 by William Grant
Document how to tag releases in bzr.
29
1569 by William Grant
Update version strings for 1.0, and document changing them.
30
Update the internal version strings
31
===================================
32
33
Change the two version strings in ``doc/conf.py`` and the one in
34
``ivle/__init__.py``. Make sure you commit this change now.
35
36
1565 by William Grant
Document how to tag releases in bzr.
37
Tag the release in Bazaar
38
=========================
39
40
To note down the release's revision in the Bazaar trunk, run ``bzr tag
41
-d lp:ivle VERSION``.
42
43
1566 by William Grant
Make all of the Releases headings imperative.
44
Generate a source tarball
45
=========================
1466.1.1 by William Grant
Replace the Packaging document with a general Releases one, and cover both source tarball and Ubuntu package releases.
46
47
To generate a tarball of the current state of trunk, run ``bzr export 
48
ivle-VERSION.tar.gz lp:ivle``.
49
50
1566 by William Grant
Make all of the Releases headings imperative.
51
Release it on Launchpad
52
=======================
1466.1.1 by William Grant
Replace the Packaging document with a general Releases one, and cover both source tarball and Ubuntu package releases.
53
54
As a member of the `IVLE Developers <https://launchpad.net/~ivle-dev>`_ team,
55
visit the `IVLE project page <https://launchpad.net/ivle>`_. There you'll see
56
a graph of IVLE's series, milestones and releases.
57
58
Clicking on the series in which this release should be created will present
59
a list of existing milestones and releases. If a milestone for this release
60
already exists, click "Release now". If not, click "Create release". Enter
61
the release date on the following form, and confirm the creation.
62
63
To upload the release tarball for the world to see, hit "Add download file" on
64
the release page. Give a meaningful description like "IVLE 1.0 source", select
65
the file, and ensure that the type is "Code Release Tarball".
66
67
68
.. seealso::
69
70
   `Launchpad release documentation <https://help.launchpad.net/Projects/SeriesMilestonesReleases>`_
71
      All you could ever want to know about Launchpad's series, milestones and
72
      releases model.
73
74
1566 by William Grant
Make all of the Releases headings imperative.
75
Publish an Ubuntu package
76
=========================
1466.1.1 by William Grant
Replace the Packaging document with a general Releases one, and cover both source tarball and Ubuntu package releases.
77
78
An Ubuntu package is kept in the `PPA for production environments
79
<https://launchpad.net/~unimelb-ivle/+archive/production>`_. Releases should
80
be pushed out to there if destined for production systems. The packaging is
81
kept in a separate branch: `lp:~ivle-dev/ivle/debian-packaging
82
<https://code.launchpad.net/~ivle-dev/ivle/debian-packaging>`_.
83
1466.1.2 by William Grant
Fix versioning instructions, and note prerequisites for uploading to the PPA.
84
You will need to be a member of the `University of Melbourne IVLE developers
85
<https://launchpad.net/~unimelb-ivle>`_ team, have an OpenPGP key assigned to
86
your account, and have signed the Ubuntu Code of Conduct. See the PPA
87
documentation linked below for instructions. You should be able to build
88
the package on any Debian-derived operating system that uses ``dpkg``.
1489 by William Grant
Note in the release docs that you need an SSH key set up.
89
You also need to have an SSH key `associated with your account
90
<https://help.launchpad.net/YourAccount/CreatingAnSSHKeyPair>`_ so you can
91
commit to the branch on Launchpad.
1466.1.2 by William Grant
Fix versioning instructions, and note prerequisites for uploading to the PPA.
92
1466.1.1 by William Grant
Replace the Packaging document with a general Releases one, and cover both source tarball and Ubuntu package releases.
93
When performing a release, you should merge trunk into a checkout of the
94
packaging branch. Then run ``dch -i`` to add a new Debian changelog entry.
95
For the Debian version string, append ``-0ppa1`` to the IVLE version (eg.
1484 by William Grant
Fix typos in the documentation
96
``1.0-0ppa1``). Make sure that you target to the correct Ubuntu series
97
(currently ``hardy``). Also ensure that your name and email address are set
1466.1.2 by William Grant
Fix versioning instructions, and note prerequisites for uploading to the PPA.
98
correctly at the bottom of the new entry.
1466.1.1 by William Grant
Replace the Packaging document with a general Releases one, and cover both source tarball and Ubuntu package releases.
99
100
Next ensure that you have a copy of the release tarball in the parent
101
directory, named ``ivle_VERSION.orig.tar.gz``. Once that's there, run
1568 by William Grant
Clarify where debuild should be run.
102
``debuild -S -sa -i`` inside the checkout to build the source package and
103
have the results placed in the parent directory.
1466.1.1 by William Grant
Replace the Packaging document with a general Releases one, and cover both source tarball and Ubuntu package releases.
104
105
``dput ppa:unimelb-ivle/production ivle_VERSION_source.changes`` will now
106
upload the package to the production PPA. You should receive an acknowledgement
107
email from Launchpad within five minutes, at which point Launchpad will begin
108
building binaries from the source package. You can check the build progress
109
on the `PPA detail page
1484 by William Grant
Fix typos in the documentation
110
<https://launchpad.net/~unimelb-ivle/+archive/production/+packages>`_.
1466.1.1 by William Grant
Replace the Packaging document with a general Releases one, and cover both source tarball and Ubuntu package releases.
111
112
Remember to commit to and push the ``debian-packaging`` branch when done.
113
114
.. seealso::
115
116
   `Launchpad PPA documentation <https://help.launchpad.net/Packaging/PPA>`_
117
      All you could ever want to know about using Launchpad's PPA
118
      functionality.
119
120
   `Ubuntu Packaging Guide <https://wiki.ubuntu.com/PackagingGuide/Basic>`_
121
      All you could ever want to know about Ubuntu packaging.