bzr branch
http://gegoxaren.bato24.eu/bzr/brz/remove-bazaar
|
3549.3.1
by Martin Pool
Updated instructions in packaging into the PPA |
1 |
Managing the Bazaar PPA |
2 |
======================= |
|
3 |
||
4 |
See also: `Bazaar Developer Document Catalog <index.html>`_. |
|
5 |
||
6 |
||
7 |
Background |
|
8 |
---------- |
|
9 |
||
10 |
We build Ubuntu ``.deb`` packages for Bazaar as an important part of the release |
|
11 |
process. These packages are hosted in a few `Personal Package Archives (PPA)`__ on |
|
12 |
Launchpad. |
|
13 |
||
14 |
__ https://help.launchpad.net/PPAQuickStart |
|
15 |
||
|
5325.2.1
by Martin Pool
Small updates to PPA packaging instructions |
16 |
As of June 2010, there are three PPAs: |
|
3549.3.1
by Martin Pool
Updated instructions in packaging into the PPA |
17 |
|
18 |
<https://launchpad.net/~bzr/+archive> |
|
|
5325.2.1
by Martin Pool
Small updates to PPA packaging instructions |
19 |
Final released versions and updates. |
|
3549.3.1
by Martin Pool
Updated instructions in packaging into the PPA |
20 |
|
21 |
<https://launchpad.net/~bzr-beta-ppa/+archive> |
|
|
5325.2.1
by Martin Pool
Small updates to PPA packaging instructions |
22 |
Beta releases. |
|
3549.3.1
by Martin Pool
Updated instructions in packaging into the PPA |
23 |
|
|
3749.2.1
by Martin Pool
Updated PPA documentation |
24 |
<https://launchpad.net/~bzr-nightly-ppa/+archive> |
25 |
Automatic nightly builds from trunk. |
|
26 |
||
|
3549.3.1
by Martin Pool
Updated instructions in packaging into the PPA |
27 |
We build packages for every supported Ubuntu release |
28 |
<https://wiki.ubuntu.com/Releases>. Packages need no longer be updated |
|
29 |
when the release passes end-of-life because all users should |
|
|
5325.2.1
by Martin Pool
Small updates to PPA packaging instructions |
30 |
have upgraded by then. |
|
3549.3.1
by Martin Pool
Updated instructions in packaging into the PPA |
31 |
|
|
5325.2.1
by Martin Pool
Small updates to PPA packaging instructions |
32 |
We build a distinct package for each distrorelease. |
|
3649.4.1
by John Arbash Meinel
Merge in Lukáš's helper scripts. |
33 |
If you upload a release-specific version, you should add a suffix to the |
|
3549.3.1
by Martin Pool
Updated instructions in packaging into the PPA |
34 |
package version, e.g. ``bzr.1.3-1~bazaar1~dapper1``. |
35 |
||
|
5325.2.1
by Martin Pool
Small updates to PPA packaging instructions |
36 |
Dapper uses the ``python-support`` framework and later distributions use |
37 |
``python-central``. This has little effect on everyday packaging but does |
|
38 |
mean that some of the control files are quite different. |
|
39 |
||
|
3649.4.1
by John Arbash Meinel
Merge in Lukáš's helper scripts. |
40 |
Every package is first uploaded into the beta ppa. For final release |
41 |
versions it is also copied to the main PPA. |
|
|
3549.3.1
by Martin Pool
Updated instructions in packaging into the PPA |
42 |
|
|
3749.2.2
by Martin Pool
typo |
43 |
The packaging information is kept in branches of bzr on Launchpad, named |
|
4853.1.1
by Patrick Regan
Removed trailing whitespace from files in doc directory |
44 |
like |
|
3549.3.1
by Martin Pool
Updated instructions in packaging into the PPA |
45 |
<https://code.launchpad.net/~bzr/bzr/packaging-hardy>. |
|
3649.4.1
by John Arbash Meinel
Merge in Lukáš's helper scripts. |
46 |
or |
|
3749.2.1
by Martin Pool
Updated PPA documentation |
47 |
<lp:~bzr/bzr/packaging-hardy>. These branches are intended to be used |
48 |
with the ``bzr-builddeb`` plugin. |
|
|
3549.3.1
by Martin Pool
Updated instructions in packaging into the PPA |
49 |
|
50 |
Preconditions |
|
51 |
------------- |
|
|
4853.1.1
by Patrick Regan
Removed trailing whitespace from files in doc directory |
52 |
|
53 |
* You must have a Launchpad account and be a member of the teams |
|
|
3549.3.1
by Martin Pool
Updated instructions in packaging into the PPA |
54 |
that own these PPAs (``~bzr``, ``~bzr-beta-ppa``). |
55 |
||
56 |
* You must have a GPG key registered to your Launchpad account. |
|
57 |
||
58 |
* Configure ``dput`` to upload to our PPA with this section in your |
|
59 |
``~/.dput.cf``:: |
|
60 |
||
61 |
[bzr-beta-ppa] |
|
62 |
fqdn = ppa.launchpad.net |
|
63 |
method = ftp |
|
64 |
incoming = ~bzr-beta-ppa/ubuntu |
|
65 |
login = anonymous |
|
66 |
allow_unsigned_uploads = 0 |
|
67 |
||
68 |
[bzr-ppa] |
|
69 |
fqdn = ppa.launchpad.net |
|
70 |
method = ftp |
|
71 |
incoming = ~bzr/ubuntu |
|
72 |
login = anonymous |
|
73 |
allow_unsigned_uploads = 0 |
|
74 |
||
75 |
You may also want to add these lines to prevent inadvertently attempting |
|
76 |
to upload into Ubuntu or Debian, which will give a somewhat unclear |
|
77 |
error:: |
|
78 |
||
79 |
[DEFAULT] |
|
80 |
default_host_main = notspecified |
|
|
4853.1.1
by Patrick Regan
Removed trailing whitespace from files in doc directory |
81 |
|
|
3749.2.1
by Martin Pool
Updated PPA documentation |
82 |
* Configure ``bzr-builddeb`` to sign the package, which is required for |
83 |
Launchpad to build it. Put this in ``~/.bazaar/builddeb.conf`` :: |
|
84 |
||
85 |
[BUILDDEB] |
|
86 |
builder = dpkg-buildpackage -rfakeroot |
|
87 |
source-builder= dpkg-buildpackage -rfakeroot -S -sa |
|
88 |
||
|
3549.3.1
by Martin Pool
Updated instructions in packaging into the PPA |
89 |
* You need a Ubuntu (or probably Debian) machine, and :: |
90 |
||
|
4009.1.1
by Vincent Ladeuil
Ppa newcomer updates. |
91 |
sudo apt-get install build-essential devscripts dput quilt patch libcrypt-ssleay-perl debhelper cdbs python-docutils |
92 |
||
93 |
Please update this document if you encounter unmet dependencies or find a |
|
|
4009.1.2
by Vincent Ladeuil
Fixed as per Matt, Jelmer and John reviews. |
94 |
shorter way to express them. |
|
3549.3.1
by Martin Pool
Updated instructions in packaging into the PPA |
95 |
|
|
3749.2.1
by Martin Pool
Updated PPA documentation |
96 |
* You will also want to have the `bzr-builddeb`_ plugin installed, which |
97 |
depends on `bzrtools`_. |
|
98 |
||
99 |
.. _`bzr-builddeb`: http://launchpad.net/bzr-builddeb |
|
100 |
.. _`bzrtools`: http://launchpad.net/bzrtools |
|
|
3649.4.1
by John Arbash Meinel
Merge in Lukáš's helper scripts. |
101 |
|
102 |
||
|
3549.3.1
by Martin Pool
Updated instructions in packaging into the PPA |
103 |
Packaging Bazaar |
104 |
---------------- |
|
105 |
||
|
3649.4.1
by John Arbash Meinel
Merge in Lukáš's helper scripts. |
106 |
Short form |
107 |
~~~~~~~~~~ |
|
108 |
||
109 |
For people who have already set up everything they need, building the |
|
110 |
release packages is as simple as:: |
|
111 |
||
112 |
cd ~/dev/bzr/releases/packaging |
|
|
4665.4.2
by John Ferlito
update version numbers in ppa.txt examples |
113 |
export VERSION="1.17~rc1-1~bazaar1" |
|
4380.1.1
by John Ferlito
Update packaging scripts to make deployment a bit easier |
114 |
export PACKAGE="bzr" |
|
4380.1.4
by John Ferlito
update ubuntu versions |
115 |
export UBUNTU_RELEASES="dapper hardy intrepid jaunty karmic" |
|
3649.4.1
by John Arbash Meinel
Merge in Lukáš's helper scripts. |
116 |
~/dev/bzr/bzr.dev/tools/packaging/update-packaging-branches.sh |
|
4380.1.1
by John Ferlito
Update packaging scripts to make deployment a bit easier |
117 |
~/dev/bzr/bzr.dev/tools/packaging/update-changelogs.sh |
|
4665.4.2
by John Ferlito
update version numbers in ppa.txt examples |
118 |
~/dev/bzr/bzr.dev/tools/packaging/update-control.sh 1.16 1.17 1.18 |
|
4380.1.1
by John Ferlito
Update packaging scripts to make deployment a bit easier |
119 |
~/dev/bzr/bzr.dev/tools/packaging/build-packages.sh |
|
4380.1.8
by John Ferlito
Update versions |
120 |
dput bzr-beta-ppa ${PACKAGE}_$VERSION*.changes
|
|
4380.1.1
by John Ferlito
Update packaging scripts to make deployment a bit easier |
121 |
|
122 |
Rinse and repeat for all the plugins by changing VERSION and PACKAGE. |
|
|
3649.4.1
by John Arbash Meinel
Merge in Lukáš's helper scripts. |
123 |
|
124 |
Long Form |
|
125 |
~~~~~~~~~ |
|
126 |
||
127 |
#. You will end up checking out a separate directory for each supported |
|
|
4009.1.1
by Vincent Ladeuil
Ppa newcomer updates. |
128 |
release. Such as ``~/dev/bzr/releases/packaging/hardy``. In each of these |
|
4009.1.2
by Vincent Ladeuil
Fixed as per Matt, Jelmer and John reviews. |
129 |
branches, you will produce the package for the release. |
|
3549.3.1
by Martin Pool
Updated instructions in packaging into the PPA |
130 |
|
|
4380.1.1
by John Ferlito
Update packaging scripts to make deployment a bit easier |
131 |
The scripts will also create the branches and produce packages for |
132 |
bzrtools and bzr-svn. |
|
133 |
||
|
3549.3.1
by Martin Pool
Updated instructions in packaging into the PPA |
134 |
#. Decide on the final version number. It should be of this form:: |
135 |
||
|
4665.4.2
by John Ferlito
update version numbers in ppa.txt examples |
136 |
bzr-1.17~rc1-1~bazaar1~hardy1 |
|
3549.3.1
by Martin Pool
Updated instructions in packaging into the PPA |
137 |
|
|
3749.2.1
by Martin Pool
Updated PPA documentation |
138 |
**Note:** There are three hyphen-separated parts: the *package name*, |
139 |
the *upstream version*, and the *packaging version*. |
|
|
3549.3.1
by Martin Pool
Updated instructions in packaging into the PPA |
140 |
|
141 |
**Caution:** Upstream betas or release candidates must insert a tilde |
|
142 |
to make them sort before the final release, like this: |
|
|
4665.4.2
by John Ferlito
update version numbers in ppa.txt examples |
143 |
``bzr-1.17~rc1-1~bazaar1~hardy1``. |
|
3641.4.2
by Martin Albisetti
More fixes to address jam's comments. Made all bzr versions in the examples the same. |
144 |
|
|
3649.4.1
by John Arbash Meinel
Merge in Lukáš's helper scripts. |
145 |
Final releases will use a release string of the form: |
|
4665.4.2
by John Ferlito
update version numbers in ppa.txt examples |
146 |
``bzr-1.17-1~bazaar1~hardy1`` |
|
3649.4.1
by John Arbash Meinel
Merge in Lukáš's helper scripts. |
147 |
|
|
4380.1.1
by John Ferlito
Update packaging scripts to make deployment a bit easier |
148 |
Set this base of this up as a usable environment variable:: |
149 |
||
|
4665.4.2
by John Ferlito
update version numbers in ppa.txt examples |
150 |
export VERSION="1.17~rc1-1~bazaar1" |
|
4380.1.1
by John Ferlito
Update packaging scripts to make deployment a bit easier |
151 |
|
|
3649.4.1
by John Arbash Meinel
Merge in Lukáš's helper scripts. |
152 |
#. Export the distroreleases that you will be packaging for:: |
153 |
||
|
4380.1.4
by John Ferlito
update ubuntu versions |
154 |
export UBUNTU_RELEASES="dapper hardy intrepid jaunty karmic" |
|
4380.1.1
by John Ferlito
Update packaging scripts to make deployment a bit easier |
155 |
|
156 |
#. Export the program you are packaging:: |
|
157 |
||
158 |
export PACKAGE="bzr" |
|
|
3649.4.1
by John Arbash Meinel
Merge in Lukáš's helper scripts. |
159 |
|
160 |
#. Checkout (or update) the packaging branch for each supported release:: |
|
161 |
||
162 |
bzr co lp:~bzr/bzr/packaging-hardy |
|
163 |
||
164 |
There is a script available to help:: |
|
165 |
||
166 |
tools/packaging/update-packaging-branches.sh |
|
167 |
||
168 |
#. The ``bzr-builddeb`` step will download the original tarball if you do |
|
|
3749.2.1
by Martin Pool
Updated PPA documentation |
169 |
not already have it, putting it into a ``tarballs`` directory. |
|
3549.3.1
by Martin Pool
Updated instructions in packaging into the PPA |
170 |
|
171 |
#. For Bazaar plugins, change the ``debian/control`` file to express a |
|
172 |
dependency on the correct version of ``bzr``. |
|
173 |
||
174 |
For bzrtools this is typically:: |
|
175 |
||
|
4665.4.2
by John Ferlito
update version numbers in ppa.txt examples |
176 |
Build-Depends-Indep: bzr (>= 1.17~), rsync |
177 |
Depends: ${python:Depends}, bzr (>= 1.17~), bzr (<< 1.18~), patch
|
|
|
3549.3.1
by Martin Pool
Updated instructions in packaging into the PPA |
178 |
|
|
4380.1.8
by John Ferlito
Update versions |
179 |
There is a helper script which will update the control file and commit it |
|
4380.1.1
by John Ferlito
Update packaging scripts to make deployment a bit easier |
180 |
for all of your ``$UBUNTU_RELEASES``. It is available as:: |
181 |
||
182 |
tools/packaging/update-control.sh |
|
183 |
||
|
4380.1.8
by John Ferlito
Update versions |
184 |
You must supply the versions as arguments as follows |
|
4380.1.1
by John Ferlito
Update packaging scripts to make deployment a bit easier |
185 |
OLD_VERSION CURRENT_VERSION NEXT_VERSION, such as:: |
186 |
||
|
4665.4.2
by John Ferlito
update version numbers in ppa.txt examples |
187 |
tools/packaging/update-control.sh 1.16 1.17 1.18 |
|
4380.1.1
by John Ferlito
Update packaging scripts to make deployment a bit easier |
188 |
|
|
3549.3.1
by Martin Pool
Updated instructions in packaging into the PPA |
189 |
#. Make a new ``debian/changelog`` entry for the new release, |
190 |
either by using ``dch`` or just editing the file:: |
|
191 |
||
|
4665.4.2
by John Ferlito
update version numbers in ppa.txt examples |
192 |
dch -v '1.17~rc1-1~bazaar1~hardy1' -D hardy |
|
3549.3.1
by Martin Pool
Updated instructions in packaging into the PPA |
193 |
|
194 |
dch will default to the distro you're working in and this isn't checked |
|
|
4853.1.1
by Patrick Regan
Removed trailing whitespace from files in doc directory |
195 |
against the version number (which is just our convention), so make sure |
|
3549.3.1
by Martin Pool
Updated instructions in packaging into the PPA |
196 |
to specify it. |
197 |
||
|
4009.1.1
by Vincent Ladeuil
Ppa newcomer updates. |
198 |
Make sure you have the correct email address for yourself (you may need |
|
4009.1.2
by Vincent Ladeuil
Fixed as per Matt, Jelmer and John reviews. |
199 |
export DEBEMAIL=`bzr whoami` if it isn't already set), version number, and |
|
4009.1.1
by Vincent Ladeuil
Ppa newcomer updates. |
200 |
distribution. It should look something like this:: |
|
3549.3.1
by Martin Pool
Updated instructions in packaging into the PPA |
201 |
|
|
4665.4.2
by John Ferlito
update version numbers in ppa.txt examples |
202 |
bzr (1.17~rc1-1~bazaar1~hardy1) hardy; urgency=low |
|
4853.1.1
by Patrick Regan
Removed trailing whitespace from files in doc directory |
203 |
|
|
3549.3.1
by Martin Pool
Updated instructions in packaging into the PPA |
204 |
* New upstream release. |
|
4853.1.1
by Patrick Regan
Removed trailing whitespace from files in doc directory |
205 |
|
|
3549.3.1
by Martin Pool
Updated instructions in packaging into the PPA |
206 |
-- John Sample <sample@example.com> Mon, 31 Mar 2008 12:36:27 +1100 |
207 |
||
208 |
If you need to upload the package again to fix a problem, normally you |
|
209 |
should increment the last number in the version number, following the |
|
210 |
distro name. Make sure not to omit the initial ``-1``, and make sure |
|
211 |
that the distro name in the version is consistent with the target name |
|
212 |
outside the parenthesis. |
|
213 |
||
|
3649.4.1
by John Arbash Meinel
Merge in Lukáš's helper scripts. |
214 |
You will also want to commit these changes into the packaging branch. |
215 |
||
|
4380.1.1
by John Ferlito
Update packaging scripts to make deployment a bit easier |
216 |
There is a helper script which will build all the packages |
|
3649.4.1
by John Arbash Meinel
Merge in Lukáš's helper scripts. |
217 |
for all of your ``$UBUNTU_RELEASES``. It is available as:: |
218 |
||
219 |
tools/packaging/update-changelogs.sh |
|
220 |
||
221 |
#. Build the source packages:: |
|
222 |
||
223 |
cd packaging-$DISTRO; bzr builddeb -S |
|
224 |
||
|
3749.2.1
by Martin Pool
Updated PPA documentation |
225 |
This will create a ``.changes`` file. If you didn't configure builddeb |
226 |
to automatically sign them, you can use :: |
|
227 |
||
228 |
debsign -m$UID *.changes |
|
229 |
||
230 |
where ``$UID`` is the gpg key you want to use to sign the changes. |
|
231 |
||
|
4380.1.1
by John Ferlito
Update packaging scripts to make deployment a bit easier |
232 |
There is a helper script which will build the package |
233 |
for all of your ``$UBUNTU_RELEASES``. It is available as:: |
|
234 |
||
235 |
tools/packaging/build-packages.sh |
|
236 |
||
|
3641.4.1
by Martin Albisetti
Tweaks to the PPA docs to remove recommendation to use Launchpad's copy feature, and other small changes |
237 |
#. Upload into the beta PPA for each release:: |
238 |
||
|
4665.4.2
by John Ferlito
update version numbers in ppa.txt examples |
239 |
dput bzr-beta-ppa bzr*1.17-1*.changes |
|
3641.4.1
by Martin Albisetti
Tweaks to the PPA docs to remove recommendation to use Launchpad's copy feature, and other small changes |
240 |
|
241 |
#. For final release versions, also copy it into the ``~bzr`` PPA:: |
|
242 |
||
|
4665.4.2
by John Ferlito
update version numbers in ppa.txt examples |
243 |
dput bzr-ppa ../bzr_1.17-1\~bazaar1\~hardy1\_source.changes |
|
3649.4.1
by John Arbash Meinel
Merge in Lukáš's helper scripts. |
244 |
|
245 |
Alternatively, you can use Launchpad's "copy" feature to copy the |
|
246 |
packages between repositories. |
|
|
3549.3.1
by Martin Pool
Updated instructions in packaging into the PPA |
247 |
|
248 |
#. You should soon get an "upload accepted" mail from Launchpad, which |
|
249 |
means that your package is waiting to be built. You can then track its |
|
250 |
progress in <https://launchpad.net/~bzr-beta-ppa/+archive> and |
|
251 |
<https://launchpad.net/~bzr-beta-ppa/+archive/+builds>. |
|
252 |
||
253 |
||
|
3870.1.1
by Martin Pool
Add some notes on ppa packaging of bzr-svn |
254 |
Packaging bzr-svn |
255 |
~~~~~~~~~~~~~~~~~ |
|
256 |
||
|
4853.1.1
by Patrick Regan
Removed trailing whitespace from files in doc directory |
257 |
bzr-svn uses a packaging branch that contains both the source |
|
3960.4.1
by Jelmer Vernooij
Remove unnecessary commands for building bzr-svn. |
258 |
(including any changes against upstream) and the ``debian/`` directory. |
|
3870.1.1
by Martin Pool
Add some notes on ppa packaging of bzr-svn |
259 |
|
260 |
To build bzr-svn: |
|
261 |
||
262 |
#. Get a checkout of ``lp:~bzr/bzr-svn/hardy-ppa/`` |
|
263 |
||
|
4380.1.2
by John Ferlito
Fix typo and bzr-svn branch name in ppa.txt |
264 |
#. Merge from ``http://bzr.debian.org/pkg-bazaar/bzr-svn/unstable/`` |
|
4380.1.8
by John Ferlito
Update versions |
265 |
|
|
3870.1.2
by Martin Pool
Note about merging bzr-svn from jelmer's branch |
266 |
This should bring in both upstream and packaging changes for the new |
267 |
release, and it's updated as part of the bzr-svn release process. |
|
268 |
||
|
4380.1.1
by John Ferlito
Update packaging scripts to make deployment a bit easier |
269 |
It's quite possible you will need to resolve some conflicts. |
270 |
||
|
3870.1.1
by Martin Pool
Add some notes on ppa packaging of bzr-svn |
271 |
#. Run ``dch -v 0.4.15-1~bazaar1-hardy1 -D hardy`` or similar |
272 |
||
273 |
#. Run ``bzr builddeb --source`` |
|
274 |
||
275 |
bzr-builddeb will automatically check out the appropriate tag from the |
|
276 |
main branch of bzr-svn, build, and package it. |
|
277 |
||
278 |
#. ``dput bzr-beta-ppa ../bzr-svn_0.4.15-1~bazaar1~hardy1_source.changes`` |
|
279 |
||
280 |
||
|
3549.3.1
by Martin Pool
Updated instructions in packaging into the PPA |
281 |
Monitoring the contents of PPAs |
282 |
------------------------------- |
|
283 |
||
284 |
If you add all the bzr PPAs to your ``sources.list`` then you can see a |
|
285 |
summary of current package versions with:: |
|
286 |
||
287 |
apt-cache madison bzr |
|
288 |
||
289 |
||
290 |
.. |
|
291 |
vim: filetype=rst textwidth=74 ai shiftwidth=4 |