/brz/remove-bazaar

To get this branch, use:
bzr branch http://gegoxaren.bato24.eu/bzr/brz/remove-bazaar

« back to all changes in this revision

Viewing changes to doc/developers/ppa.txt

  • Committer: Andrew Bennetts
  • Date: 2010-01-12 03:53:21 UTC
  • mfrom: (4948 +trunk)
  • mto: This revision was merged to the branch mainline in revision 4964.
  • Revision ID: andrew.bennetts@canonical.com-20100112035321-hofpz5p10224ryj3
Merge lp:bzr, resolving conflicts.

Show diffs side-by-side

added added

removed removed

Lines of Context:
19
19
    Final released versions.
20
20
 
21
21
<https://launchpad.net/~bzr-beta-ppa/+archive>
22
 
    Releases and release candidates.    
 
22
    Releases and release candidates.
23
23
 
24
24
<https://launchpad.net/~bzr-nightly-ppa/+archive>
25
25
    Automatic nightly builds from trunk.
38
38
versions it is also copied to the main PPA.
39
39
 
40
40
The packaging information is kept in branches of bzr on Launchpad, named
41
 
like 
 
41
like
42
42
<https://code.launchpad.net/~bzr/bzr/packaging-hardy>.
43
43
or
44
44
<lp:~bzr/bzr/packaging-hardy>.  These branches are intended to be used
46
46
 
47
47
Preconditions
48
48
-------------
49
 
  
50
 
* You must have a Launchpad account and be a member of the teams 
 
49
 
 
50
* You must have a Launchpad account and be a member of the teams
51
51
  that own these PPAs (``~bzr``, ``~bzr-beta-ppa``).
52
52
 
53
53
* You must have a GPG key registered to your Launchpad account.
75
75
 
76
76
    [DEFAULT]
77
77
    default_host_main = notspecified
78
 
  
 
78
 
79
79
* Configure ``bzr-builddeb`` to sign the package, which is required for
80
80
  Launchpad to build it.  Put this in ``~/.bazaar/builddeb.conf`` ::
81
81
 
85
85
 
86
86
* You need a Ubuntu (or probably Debian) machine, and ::
87
87
 
88
 
    sudo apt-get install build-essential devscripts dput quilt patch
 
88
    sudo apt-get install build-essential devscripts dput quilt patch libcrypt-ssleay-perl debhelper cdbs python-docutils
 
89
 
 
90
  Please update this document if you encounter unmet dependencies or find a
 
91
  shorter way to express them.
89
92
 
90
93
* You will also want to have the `bzr-builddeb`_ plugin installed, which
91
94
  depends on `bzrtools`_.
104
107
release packages is as simple as::
105
108
 
106
109
  cd ~/dev/bzr/releases/packaging
107
 
  ln ~/dev/bzr/releases/bzr-1.6.tar.gz ./bzr_1.6.orig.tar.gz
108
 
  export UBUNTU_RELEASES="dapper feisty gutsy hardy intrepid"
 
110
  export VERSION="1.17~rc1-1~bazaar1"
 
111
  export PACKAGE="bzr"
 
112
  export UBUNTU_RELEASES="dapper hardy intrepid jaunty karmic"
109
113
  ~/dev/bzr/bzr.dev/tools/packaging/update-packaging-branches.sh
110
 
  ~/dev/bzr/bzr.dev/tools/packaging/update-changelogs.sh 1.6~beta3-1~bazaar1
111
 
  ~/dev/bzr/bzr.dev/tools/packaging/build-packages
112
 
  dput bzr-beta-ppa bzr_1.6~beta3-1~bazaar1*.changes
 
114
  ~/dev/bzr/bzr.dev/tools/packaging/update-changelogs.sh
 
115
  ~/dev/bzr/bzr.dev/tools/packaging/update-control.sh 1.16 1.17 1.18
 
116
  ~/dev/bzr/bzr.dev/tools/packaging/build-packages.sh
 
117
  dput bzr-beta-ppa ${PACKAGE}_$VERSION*.changes
 
118
 
 
119
Rinse and repeat for all the plugins by changing VERSION and PACKAGE.
113
120
 
114
121
Long Form
115
122
~~~~~~~~~
116
123
 
117
124
#. You will end up checking out a separate directory for each supported
118
 
   release. Such as ``~/dev/bzr/releases/packaging/hardy``
 
125
   release. Such as ``~/dev/bzr/releases/packaging/hardy``. In each of these
 
126
   branches, you will produce the package for the release.
 
127
 
 
128
   The scripts will also create the branches and produce packages for
 
129
   bzrtools and bzr-svn.
119
130
 
120
131
#. Decide on the final version number.  It should be of this form::
121
132
 
122
 
     bzr-1.6~beta3-1~bazaar1~hardy1
 
133
     bzr-1.17~rc1-1~bazaar1~hardy1
123
134
 
124
135
   **Note:** There are three hyphen-separated parts: the *package name*,
125
136
   the *upstream version*, and the *packaging version*.
126
137
 
127
138
   **Caution:** Upstream betas or release candidates must insert a tilde
128
139
   to make them sort before the final release, like this:
129
 
   ``bzr-1.6~beta3-1~bazaar1~hardy1``.
 
140
   ``bzr-1.17~rc1-1~bazaar1~hardy1``.
130
141
 
131
142
   Final releases will use a release string of the form:
132
 
   ``bzr-1.6-1~bazaar1~hardy1``
 
143
   ``bzr-1.17-1~bazaar1~hardy1``
 
144
 
 
145
   Set this base of this up as a usable environment variable::
 
146
 
 
147
      export VERSION="1.17~rc1-1~bazaar1"
133
148
 
134
149
#. Export the distroreleases that you will be packaging for::
135
150
 
136
 
      export UBUNTU_RELEASES="dapper feisty gutsy hardy intrepid"
 
151
      export UBUNTU_RELEASES="dapper hardy intrepid jaunty karmic"
 
152
 
 
153
#. Export the program you are packaging::
 
154
 
 
155
      export PACKAGE="bzr"
137
156
 
138
157
#. Checkout (or update) the packaging branch for each supported release::
139
158
 
151
170
 
152
171
   For bzrtools this is typically::
153
172
 
154
 
      Build-Depends-Indep: bzr (>= 1.6~), rsync
155
 
      Depends: ${python:Depends}, bzr (>= 1.6~), bzr (<< 1.7~), patch
 
173
      Build-Depends-Indep: bzr (>= 1.17~), rsync
 
174
      Depends: ${python:Depends}, bzr (>= 1.17~), bzr (<< 1.18~), patch
 
175
 
 
176
   There is a helper script which will update the control file and commit it
 
177
   for all of your ``$UBUNTU_RELEASES``. It is available as::
 
178
 
 
179
    tools/packaging/update-control.sh
 
180
 
 
181
   You must supply the versions as arguments as follows
 
182
   OLD_VERSION CURRENT_VERSION NEXT_VERSION, such as::
 
183
 
 
184
    tools/packaging/update-control.sh 1.16 1.17 1.18
156
185
 
157
186
#. Make a new ``debian/changelog`` entry for the new release,
158
187
   either by using ``dch`` or just editing the file::
159
188
 
160
 
      dch -v '1.6~beta3-1~bazaar1~hardy1' -D hardy
 
189
      dch -v '1.17~rc1-1~bazaar1~hardy1' -D hardy
161
190
 
162
191
   dch will default to the distro you're working in and this isn't checked
163
 
   against the version number (which is just our convention), so make sure 
 
192
   against the version number (which is just our convention), so make sure
164
193
   to specify it.
165
194
 
166
 
   Make sure you have the correct email address for yourself, version
167
 
   number, and distribution.  It should look something like this::
168
 
 
169
 
       bzr (1.6~beta3-1~bazaar1~hardy1) hardy; urgency=low
170
 
     
 
195
   Make sure you have the correct email address for yourself (you may need
 
196
   export DEBEMAIL=`bzr whoami` if it isn't already set), version number, and
 
197
   distribution.  It should look something like this::
 
198
 
 
199
       bzr (1.17~rc1-1~bazaar1~hardy1) hardy; urgency=low
 
200
 
171
201
        * New upstream release.
172
 
     
 
202
 
173
203
       -- John Sample <sample@example.com>  Mon, 31 Mar 2008 12:36:27 +1100
174
204
 
175
205
   If you need to upload the package again to fix a problem, normally you
180
210
 
181
211
   You will also want to commit these changes into the packaging branch.
182
212
 
183
 
   There is a helper script which will update the changelog and commit it
 
213
   There is a helper script which will build all the packages
184
214
   for all of your ``$UBUNTU_RELEASES``. It is available as::
185
215
 
186
216
      tools/packaging/update-changelogs.sh
187
217
 
188
 
   You must supply the release string, such as::
189
 
 
190
 
      tools/packaging/update-changelogs.sh 1.6~beta3-1~bazaar1
191
 
 
192
 
   It will automatically append the distro numbering on the end.
193
 
 
194
218
#. Build the source packages::
195
219
 
196
220
      cd packaging-$DISTRO; bzr builddeb -S
202
226
 
203
227
   where ``$UID`` is the gpg key you want to use to sign the changes.
204
228
 
 
229
   There is a helper script which will build the package
 
230
   for all of your ``$UBUNTU_RELEASES``. It is available as::
 
231
 
 
232
      tools/packaging/build-packages.sh
 
233
 
205
234
#. Upload into the beta PPA for each release::
206
235
 
207
 
     dput bzr-beta-ppa bzr_1.6-1*.changes
 
236
     dput bzr-beta-ppa bzr*1.17-1*.changes
208
237
 
209
238
#. For final release versions, also copy it into the ``~bzr`` PPA::
210
239
 
211
 
     dput bzr-ppa ../bzr_1.6-1\~bazaar1\~hardy1\_source.changes
 
240
     dput bzr-ppa ../bzr_1.17-1\~bazaar1\~hardy1\_source.changes
212
241
 
213
242
   Alternatively, you can use Launchpad's "copy" feature to copy the
214
243
   packages between repositories.
222
251
Packaging bzr-svn
223
252
~~~~~~~~~~~~~~~~~
224
253
 
225
 
bzr-svn uses a packaging branch that contains both the source 
 
254
bzr-svn uses a packaging branch that contains both the source
226
255
(including any changes against upstream) and the ``debian/`` directory.
227
256
 
228
257
To build bzr-svn:
229
258
 
230
259
#. Get a checkout of ``lp:~bzr/bzr-svn/hardy-ppa/``
231
260
 
232
 
#. Merge from ``http://bzr.debian.org/pkg-bazaar/bzr-svn/experimental/``
233
 
  
 
261
#. Merge from ``http://bzr.debian.org/pkg-bazaar/bzr-svn/unstable/``
 
262
 
234
263
   This should bring in both upstream and packaging changes for the new
235
264
   release, and it's updated as part of the bzr-svn release process.
236
265
 
 
266
   It's quite possible you will need to resolve some conflicts.
 
267
 
237
268
#. Run ``dch -v 0.4.15-1~bazaar1-hardy1 -D hardy`` or similar
238
269
 
239
270
#. Run ``bzr builddeb --source``