~bzr-pqm/bzr/bzr.dev

« back to all changes in this revision

Viewing changes to doc/developers/ppa.txt

  • Committer: Andrew Bennetts
  • Date: 2010-10-13 00:26:41 UTC
  • mto: This revision was merged to the branch mainline in revision 5498.
  • Revision ID: andrew.bennetts@canonical.com-20101013002641-9tlh9k89mlj1666m
Keep docs-plain working.

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
85
68
* Hardy LTS
86
69
* Dapper LTS (supported but no longer updated for new releases)
87
70
 
88
 
The ``rmadison bzr`` command will gives you an up-to-date summary
89
 
of which bzr releases are current in each Ubuntu release.
90
71
 
91
72
Preconditions
92
73
-------------
93
74
 
94
 
* You must have a Launchpad account and be a member of the team
95
 
  that owns these PPAs (``~bzr``).
 
75
* You must have a Launchpad account and be a member of the teams
 
76
  that own these PPAs (``~bzr``, ``~bzr-beta-ppa``).
96
77
 
97
78
* You must have a GPG key registered to your Launchpad account.
98
79
 
99
80
On reasonably recent versions of Ubuntu you no longer need special dput
100
81
configuration, because you can just say ::
101
82
 
102
 
  dput ppa:bzr/proposed source.changes
 
83
  dput ppa:bzr/proposed <source.changes
103
84
  
104
85
 
105
86
However, you may still want to add these lines to ``~/.dput.cf`` prevent 
109
90
    [DEFAULT]
110
91
    default_host_main = notspecified
111
92
 
 
93
* Configure ``bzr-builddeb`` to sign the package, which is required for
 
94
  Launchpad to build it.  Put this in ``~/.bazaar/builddeb.conf`` ::
 
95
 
 
96
      [BUILDDEB]
 
97
      builder = dpkg-buildpackage -rfakeroot
 
98
      source-builder= dpkg-buildpackage -rfakeroot -S -sa
 
99
 
112
100
* You need a Ubuntu (or probably Debian) machine, and ::
113
101
 
114
102
    sudo apt-get install build-essential devscripts dput quilt patch libcrypt-ssleay-perl debhelper cdbs python-docutils
116
104
  Please update this document if you encounter unmet dependencies or find a
117
105
  shorter way to express them.
118
106
 
119
 
* You will also want to have the `bzr-builddeb`_ plugin installed.
 
107
* You will also want to have the `bzr-builddeb`_ plugin installed, which
 
108
  depends on `bzrtools`_.
120
109
 
121
110
.. _`bzr-builddeb`: http://launchpad.net/bzr-builddeb
 
111
.. _`bzrtools`: http://launchpad.net/bzrtools
122
112
 
123
113
 
124
114
Packaging Bazaar
133
123
  that into the ppa.  
134
124
  
135
125
  (``-S`` says to make a source-only upload, which is
136
 
  required for Launchpad's builders.  ``-sa`` says to include the
 
126
  required for Launchpad's builders.  ``--sa`` says to include the
137
127
  ``.orig.tgz`` even if this doesn't seem to be the first upload for an
138
128
  upstream release: this is often needed when rebuilding something that's
139
129
  previously been uploaded to Debian or Ubuntu or into a different PPA.)
148
138
use the script from <http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=255165> 
149
139
to wrap it, and to give it sensible defaults for your local machine.
150
140
 
151
 
Update all packages in proposed before copying to the main ppa
152
 
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 
141
Update all packages in proposed before copping the main ppa
 
142
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
153
143
 
154
144
If one updates bzr, and there are plugins that are not compatible with the
155
145
new version of bzr, this can cause pain for users using the ppa. In order to
299
289
 
300
290
#. You should soon get an "upload accepted" mail from Launchpad, which
301
291
   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>.
 
292
   progress in <https://launchpad.net/~bzr-beta-ppa/+archive> and
 
293
   <https://launchpad.net/~bzr-beta-ppa/+archive/+builds>.
304
294
 
305
295
 
306
296
Packaging bzr-svn
327
317
   bzr-builddeb will automatically check out the appropriate tag from the
328
318
   main branch of bzr-svn, build, and package it.
329
319
 
330
 
#. ``dput ppa:bzr/proposed ../bzr-svn_0.4.15-1~bazaar1~hardy1_source.changes``
 
320
#. ``dput bzr-beta-ppa ../bzr-svn_0.4.15-1~bazaar1~hardy1_source.changes``
331
321
 
332
322
 
333
323
Monitoring the contents of PPAs
360
350
dependencies.  Specific branches holding these backports:
361
351
 
362
352
 * ``lp:~bzr/ubuntu/dapper/configobj/dapper-backport``
363
 
 * ``lp:~bzr/ubuntu/hardy/python-central-debhelper-sequence-addon/bzr-ppa``
364
353
 
365
354
 
366
355
..