~bzr-pqm/bzr/bzr.dev

« back to all changes in this revision

Viewing changes to doc/developers/ppa.txt

(gz) Change minimum required testtools version for selftest to 0.9.5 for
 unicode fixes (Martin [gz])

Show diffs side-by-side

added added

removed removed

Lines of Context:
13
13
 
14
14
  __ https://help.launchpad.net/PPAQuickStart
15
15
 
16
 
As of January 2011, there are the following PPAs:
 
16
As of September 2010, there are four PPAs:
17
17
 
18
18
<https://launchpad.net/~bzr/+archive/ppa>
19
19
    Final released versions and updates.
20
20
    Most users who want updates to bzr should add this.
21
21
 
22
22
<https://launchpad.net/~bzr/+archive/proposed>
23
 
    Proposed uploads to move into ~bzr/ppa, awaiting testing.
24
 
 
25
 
<https://launchpad.net/~bzr/+archive/obsolete>
26
 
    A preserved copy of the final version of packages from ~bzr/ppa for
27
 
    obsolete Ubuntu series.
28
 
 
29
 
<https://launchpad.net/~bzr/+archive/beta>
 
23
    Proposed uploads to move into ~bzr, awaiting testing.
 
24
 
 
25
<https://launchpad.net/~bzr-beta-ppa/+archive>
30
26
    Beta releases.
31
27
 
32
 
<https://launchpad.net/~bzr/+archive/beta-obsolete>
33
 
    A preserved copy of the final version of packages from
34
 
    ~bzr/beta for obsolete Ubuntu series.
35
 
 
36
 
<https://launchpad.net/~bzr/+archive/daily>
 
28
<https://launchpad.net/~bzr-nightly-ppa/+archive>
37
29
    Automatic nightly builds from trunk.
38
30
 
39
 
We build a distinct package for each distrorelease.
 
31
We build a distinct package for each distrorelease.  
40
32
If you upload a release-specific version, you should add a suffix to the
41
 
package version, e.g. ``1.3-1~bazaar1~dapper1``.
 
33
package version, e.g. ``bzr.1.3-1~bazaar1~dapper1``.
42
34
 
43
35
Dapper uses the ``python-support`` framework and later distributions use
44
36
``python-central``.  This has little effect on everyday packaging but does
45
37
mean that some of the control files are quite different.
46
38
 
47
 
Beta releases of bzr and plugins are uploaded into the beta PPA.
48
 
 
49
 
Final release versions are first uploaded into the proposed PPA, which
50
 
serves as a staging area to allow for new packages to be tested, and also
51
 
so that a complete set of Bazaar core and plugin updated versions can be
52
 
prepared together, when negotiating an API version transition.
53
 
 
54
 
Once ready, packages can be copied from the proposed PPA to the main PPA
55
 
using the lp-promote-ppa script found within the hydrazine project.  This
56
 
procedure reduces the risk of broken packages or dependencies between
57
 
packages in the main PPA from which many people get bzr updates.
 
39
Every package is first uploaded into the beta ppa.  For final release
 
40
versions it is also copied to the main PPA.
58
41
 
59
42
The packaging information is kept in branches of bzr on Launchpad, named
60
43
like
63
46
<lp:~bzr/ubuntu/hardy/bzr/bzr-ppa>.  These branches are intended to be used
64
47
with the ``bzr-builddeb`` plugin.
65
48
 
66
 
The page <http://wiki.bazaar.canonical.com/PpaPackagingBranches> is a
67
 
reference to where the PPA packaging branches for each of the source
68
 
packages in the ``~bzr`` PPAs may be found.
 
49
**You should almost always upload to the beta ppa first** and then either 
 
50
upload again or copy the packages into the release ppa.  That reduces the 
 
51
risk of breaking the main archive from which people get bzr updates.
69
52
 
70
53
 
71
54
Supported releases
91
74
Preconditions
92
75
-------------
93
76
 
94
 
* You must have a Launchpad account and be a member of the team
95
 
  that owns these PPAs (``~bzr``).
 
77
* You must have a Launchpad account and be a member of the teams
 
78
  that own these PPAs (``~bzr``, ``~bzr-beta-ppa``).
96
79
 
97
80
* You must have a GPG key registered to your Launchpad account.
98
81
 
99
82
On reasonably recent versions of Ubuntu you no longer need special dput
100
83
configuration, because you can just say ::
101
84
 
102
 
  dput ppa:bzr/proposed source.changes
 
85
  dput ppa:bzr/proposed <source.changes
103
86
  
104
87
 
105
88
However, you may still want to add these lines to ``~/.dput.cf`` prevent 
109
92
    [DEFAULT]
110
93
    default_host_main = notspecified
111
94
 
 
95
* Configure ``bzr-builddeb`` to sign the package, which is required for
 
96
  Launchpad to build it.  Put this in ``~/.bazaar/builddeb.conf`` ::
 
97
 
 
98
      [BUILDDEB]
 
99
      builder = dpkg-buildpackage -rfakeroot
 
100
      source-builder= dpkg-buildpackage -rfakeroot -S -sa
 
101
 
112
102
* You need a Ubuntu (or probably Debian) machine, and ::
113
103
 
114
104
    sudo apt-get install build-essential devscripts dput quilt patch libcrypt-ssleay-perl debhelper cdbs python-docutils
116
106
  Please update this document if you encounter unmet dependencies or find a
117
107
  shorter way to express them.
118
108
 
119
 
* You will also want to have the `bzr-builddeb`_ plugin installed.
 
109
* You will also want to have the `bzr-builddeb`_ plugin installed, which
 
110
  depends on `bzrtools`_.
120
111
 
121
112
.. _`bzr-builddeb`: http://launchpad.net/bzr-builddeb
 
113
.. _`bzrtools`: http://launchpad.net/bzrtools
122
114
 
123
115
 
124
116
Packaging Bazaar
133
125
  that into the ppa.  
134
126
  
135
127
  (``-S`` says to make a source-only upload, which is
136
 
  required for Launchpad's builders.  ``-sa`` says to include the
 
128
  required for Launchpad's builders.  ``--sa`` says to include the
137
129
  ``.orig.tgz`` even if this doesn't seem to be the first upload for an
138
130
  upstream release: this is often needed when rebuilding something that's
139
131
  previously been uploaded to Debian or Ubuntu or into a different PPA.)
148
140
use the script from <http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=255165> 
149
141
to wrap it, and to give it sensible defaults for your local machine.
150
142
 
151
 
Update all packages in proposed before copying to the main ppa
152
 
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 
143
Update all packages in proposed before copping the main ppa
 
144
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
153
145
 
154
146
If one updates bzr, and there are plugins that are not compatible with the
155
147
new version of bzr, this can cause pain for users using the ppa. In order to
299
291
 
300
292
#. You should soon get an "upload accepted" mail from Launchpad, which
301
293
   means that your package is waiting to be built.  You can then track its
302
 
   progress in <https://launchpad.net/~bzr/+archive/proposed> and
303
 
   <https://launchpad.net/~bzr/+archive/proposed/+builds>.
 
294
   progress in <https://launchpad.net/~bzr-beta-ppa/+archive> and
 
295
   <https://launchpad.net/~bzr-beta-ppa/+archive/+builds>.
304
296
 
305
297
 
306
298
Packaging bzr-svn
327
319
   bzr-builddeb will automatically check out the appropriate tag from the
328
320
   main branch of bzr-svn, build, and package it.
329
321
 
330
 
#. ``dput ppa:bzr/proposed ../bzr-svn_0.4.15-1~bazaar1~hardy1_source.changes``
 
322
#. ``dput bzr-beta-ppa ../bzr-svn_0.4.15-1~bazaar1~hardy1_source.changes``
331
323
 
332
324
 
333
325
Monitoring the contents of PPAs
360
352
dependencies.  Specific branches holding these backports:
361
353
 
362
354
 * ``lp:~bzr/ubuntu/dapper/configobj/dapper-backport``
363
 
 * ``lp:~bzr/ubuntu/hardy/python-central-debhelper-sequence-addon/bzr-ppa``
364
355
 
365
356
 
366
357
..