1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
|
Short checklist and instructions how to make release
====================================================
When you're ready to make release X.Y.Z you need to do
following steps.
Prepare code
------------
1. Update ./NEWS.txt with descriptions of user-visible changes.
2. Update version numbers in following places:
* ./__init__.py: at the beginning of file::
version_info = (X, Y, Z, 'final', 0)
* ./setup.py: function setup() at the end of file, argument version::
version='X.Y.Z',
* ./installer/qbzr-setup.iss: at the beginning of file::
AppVerName=QBzr X.Y.Z
OutputBaseFilename=qbzr-setup-X.Y.Z
3. Commit this changes and tag the revision with label: release-X.Y.Z
4. Push the code to Launchpad
Register release at Launchpad
-----------------------------
1. Make corresponding page for new release on Launchpad:
https://launchpad.net/qbzr/trunk/+addrelease
2. Put info about release from ./NEWS.txt to "Release notes" section.
You can leave Changelog section empty.
Build distribution files
------------------------
Building + signing distribution files now possible to do in semi-automated way
using make utility.
Run command::
make release RELEASE=X.Y.Z
This command will create sources tarball (qbzr-X.Y.Z.tar.gz) and windows
universal installer (qbzr-setup-X.Y.Z.exe) and will sign both with GPG.
Upload tarball and installer with their gpg-signatures to Launchpad:
https://launchpad.net/qbzr/trunk/X.Y.Z/+adddownloadfile
Building distribution files under the hood
******************************************
1. Make source code tarball::
bzr export --root=qbzr qbzr-X.Y.Z.tar.gz
The file qbzr-X.Y.Z.tar.gz will be created in tree root directory.
Sign this file with your GPG key::
gpg -ab qbzr-X.Y.Z.tar.gz
2. Build binary translations files::
python setup.py build_mo -f
3. Make Windows universal installer:
a. Run Inno Setup script compiler::
iscc installer/qbzr-setup.iss
This command will produce qbzr-setup-X.Y.Z.exe file in tree root directory.
b. Sign this file with your GPG key::
gpg -ab qbzr-setup-X.Y.Z.exe
Update QBzr Wiki page
---------------------
1. Update QBzr page at Bazaar wiki with corresponding NEWS entry,
update links to tarball and installers.
http://wiki.bazaar.canonical.com/QBzr
Make announcement
-----------------
1. Send short e-mail with announcement to:
* <bazaar-announce@lists.canonical.com>
* <bazaar@lists.canonical.com> (optionally for beta releases,
mandatory for final releases)
* <qbzr@googlegroups.com>
2. Also make announcement about release via Launchpad RSS:
https://launchpad.net/qbzr/+announce
Finishing stuff at Launchpad
----------------------------
* Mark all bugs targeted to X.Y.Z milestone as Fix Released.
Create deb packages with Launchpad PPA
--------------------------------------
Usually Gary van der Merwe do the packages for Ubuntu.
|