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. |