~bzr-pqm/bzr/bzr.dev

« back to all changes in this revision

Viewing changes to doc/developers/ppa.txt

Merge merge-into2 into direct-patching

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 June 2008, there are two PPAs:
 
16
As of June 2008, there are three PPAs:
17
17
 
18
18
<https://launchpad.net/~bzr/+archive>
19
19
    Final released versions.
21
21
<https://launchpad.net/~bzr-beta-ppa/+archive>
22
22
    Releases and release candidates.    
23
23
 
 
24
<https://launchpad.net/~bzr-nightly-ppa/+archive>
 
25
    Automatic nightly builds from trunk.
 
26
 
24
27
We build packages for every supported Ubuntu release
25
28
<https://wiki.ubuntu.com/Releases>.  Packages need no longer be updated
26
29
when the release passes end-of-life because all users should
34
37
Every package is first uploaded into the beta ppa.  For final release
35
38
versions it is also copied to the main PPA.
36
39
 
37
 
The ``debian/`` directory containing the packaging information is kept in
38
 
branches on Launchpad, named like 
 
40
The packaging information is kept in branches of bzr on Launchpad, named
 
41
like 
39
42
<https://code.launchpad.net/~bzr/bzr/packaging-hardy>.
40
43
or
41
 
<lp:~bzr/bzr/packaging-hardy>.
 
44
<lp:~bzr/bzr/packaging-hardy>.  These branches are intended to be used
 
45
with the ``bzr-builddeb`` plugin.
42
46
 
43
47
Preconditions
44
48
-------------
72
76
    [DEFAULT]
73
77
    default_host_main = notspecified
74
78
  
 
79
* Configure ``bzr-builddeb`` to sign the package, which is required for
 
80
  Launchpad to build it.  Put this in ``~/.bazaar/builddeb.conf`` ::
 
81
 
 
82
      [BUILDDEB]
 
83
      builder = dpkg-buildpackage -rfakeroot
 
84
      source-builder= dpkg-buildpackage -rfakeroot -S -sa
 
85
 
75
86
* You need a Ubuntu (or probably Debian) machine, and ::
76
87
 
77
88
    sudo apt-get install build-essential devscripts dput quilt patch
78
89
 
79
 
* You will also want to have the ``bzr-builddeb`` plugin installed.
 
90
* You will also want to have the `bzr-builddeb`_ plugin installed, which
 
91
  depends on `bzrtools`_.
 
92
 
 
93
.. _`bzr-builddeb`: http://launchpad.net/bzr-builddeb
 
94
.. _`bzrtools`: http://launchpad.net/bzrtools
80
95
 
81
96
 
82
97
Packaging Bazaar
93
108
  ~/dev/bzr/bzr.dev/tools/packaging/update-packaging-branches.sh
94
109
  ~/dev/bzr/bzr.dev/tools/packaging/update-changelogs.sh 1.6~beta3-1~bazaar1
95
110
  ~/dev/bzr/bzr.dev/tools/packaging/build-packages
96
 
  dput bzr-beta-ppa build-area/bzr_1.6~beta3~bazaar1*.changes
 
111
  dput bzr-beta-ppa bzr_1.6~beta3-1~bazaar1*.changes
97
112
 
98
113
Long Form
99
114
~~~~~~~~~
105
120
 
106
121
     bzr-1.6~beta3-1~bazaar1~hardy1
107
122
 
108
 
   There are three hyphen-separated parts: the *package name*, the *upstream
109
 
   version*, and the *packaging version*.
 
123
   **Note:** There are three hyphen-separated parts: the *package name*,
 
124
   the *upstream version*, and the *packaging version*.
110
125
 
111
126
   **Caution:** Upstream betas or release candidates must insert a tilde
112
127
   to make them sort before the final release, like this:
128
143
      tools/packaging/update-packaging-branches.sh
129
144
 
130
145
#. The ``bzr-builddeb`` step will download the original tarball if you do
131
 
   not already have it. Putting it into a ``tarballs`` directory.
 
146
   not already have it, putting it into a ``tarballs`` directory.
132
147
 
133
148
#. For Bazaar plugins, change the ``debian/control`` file to express a
134
149
   dependency on the correct version of ``bzr``.
179
194
 
180
195
      cd packaging-$DISTRO; bzr builddeb -S
181
196
 
182
 
   This will create a ``.changes`` file in ``build-area``. You will need
183
 
   to sign it with::
184
 
 
185
 
      debsign -m$UID build-area/*.changes
186
 
 
187
 
   Where ``$UID`` is the gpg key you want to use to sign the changes.
188
 
   Alternatively, you can configure ``~/.bazaar/builddeb.conf`` with::
189
 
 
190
 
      [BUILDDEB]
191
 
      builder = dpkg-buildpackage -rfakeroot
192
 
      source-builder= dpkg-buildpackage -rfakeroot -S -sa
193
 
 
194
 
   Which tells ``bzr builddeb`` to automatically sign the package with the
195
 
   key associated with the user who created the changelog entry.
196
 
     
 
197
   This will create a ``.changes`` file.  If you didn't configure builddeb
 
198
   to automatically sign them, you can use ::
 
199
 
 
200
      debsign -m$UID *.changes
 
201
 
 
202
   where ``$UID`` is the gpg key you want to use to sign the changes.
 
203
 
197
204
#. Upload into the beta PPA for each release::
198
205
 
199
 
     dput bzr-beta-ppa build-area/*.changes
 
206
     dput bzr-beta-ppa bzr_1.6-1*.changes
200
207
 
201
208
#. For final release versions, also copy it into the ``~bzr`` PPA::
202
209
 
203
 
     dput bzr-ppa ../bzr__1.6-1\~bazaar1\~hardy1\_source.changes
 
210
     dput bzr-ppa ../bzr_1.6-1\~bazaar1\~hardy1\_source.changes
204
211
 
205
212
   Alternatively, you can use Launchpad's "copy" feature to copy the
206
213
   packages between repositories.