~bzr-pqm/bzr/bzr.dev

« back to all changes in this revision

Viewing changes to doc/developers/ppa.txt

  • Committer: John Arbash Meinel
  • Date: 2008-10-28 19:39:57 UTC
  • mfrom: (3804 +trunk)
  • mto: This revision was merged to the branch mainline in revision 3805.
  • Revision ID: john@arbash-meinel.com-20081028193957-zg2eygq5cgz2bnpu
Merge bzr.dev 3804

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
89
104
release packages is as simple as::
90
105
 
91
106
  cd ~/dev/bzr/releases/packaging
 
107
  ln ~/dev/bzr/releases/bzr-1.6.tar.gz ./bzr_1.6.orig.tar.gz
92
108
  export UBUNTU_RELEASES="dapper feisty gutsy hardy intrepid"
93
109
  ~/dev/bzr/bzr.dev/tools/packaging/update-packaging-branches.sh
94
110
  ~/dev/bzr/bzr.dev/tools/packaging/update-changelogs.sh 1.6~beta3-1~bazaar1
95
111
  ~/dev/bzr/bzr.dev/tools/packaging/build-packages
96
 
  dput bzr-beta-ppa build-area/bzr_1.6~beta3~bazaar1*.changes
 
112
  dput bzr-beta-ppa bzr_1.6~beta3-1~bazaar1*.changes
97
113
 
98
114
Long Form
99
115
~~~~~~~~~
105
121
 
106
122
     bzr-1.6~beta3-1~bazaar1~hardy1
107
123
 
108
 
   There are three hyphen-separated parts: the *package name*, the *upstream
109
 
   version*, and the *packaging version*.
 
124
   **Note:** There are three hyphen-separated parts: the *package name*,
 
125
   the *upstream version*, and the *packaging version*.
110
126
 
111
127
   **Caution:** Upstream betas or release candidates must insert a tilde
112
128
   to make them sort before the final release, like this:
128
144
      tools/packaging/update-packaging-branches.sh
129
145
 
130
146
#. The ``bzr-builddeb`` step will download the original tarball if you do
131
 
   not already have it. Putting it into a ``tarballs`` directory.
 
147
   not already have it, putting it into a ``tarballs`` directory.
132
148
 
133
149
#. For Bazaar plugins, change the ``debian/control`` file to express a
134
150
   dependency on the correct version of ``bzr``.
179
195
 
180
196
      cd packaging-$DISTRO; bzr builddeb -S
181
197
 
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
 
     
 
198
   This will create a ``.changes`` file.  If you didn't configure builddeb
 
199
   to automatically sign them, you can use ::
 
200
 
 
201
      debsign -m$UID *.changes
 
202
 
 
203
   where ``$UID`` is the gpg key you want to use to sign the changes.
 
204
 
197
205
#. Upload into the beta PPA for each release::
198
206
 
199
 
     dput bzr-beta-ppa build-area/*.changes
 
207
     dput bzr-beta-ppa bzr_1.6-1*.changes
200
208
 
201
209
#. For final release versions, also copy it into the ``~bzr`` PPA::
202
210
 
203
 
     dput bzr-ppa ../bzr__1.6-1\~bazaar1\~hardy1\_source.changes
 
211
     dput bzr-ppa ../bzr_1.6-1\~bazaar1\~hardy1\_source.changes
204
212
 
205
213
   Alternatively, you can use Launchpad's "copy" feature to copy the
206
214
   packages between repositories.