Merge lp:~jr/ubuntu-packaging-guide/fixes into lp:ubuntu-packaging-guide

Proposed by Jonathan Riddell
Status: Merged
Approved by: Barry Warsaw
Approved revision: 61
Merged at revision: 42
Proposed branch: lp:~jr/ubuntu-packaging-guide/fixes
Merge into: lp:ubuntu-packaging-guide
Diff against target: 900 lines (+182/-227)
13 files modified
debian-dir-overview.rst (+13/-7)
fixing-a-bug.rst (+9/-20)
getting-set-up.rst (+24/-18)
index.rst (+22/-4)
introduction-to-ubuntu-development.rst (+5/-5)
knowledge-base.rst (+0/-27)
udd-intro.rst (+35/-58)
udd-latest.rst (+2/-2)
udd-merging.rst (+9/-10)
udd-patchsys.rst (+9/-10)
udd-sponsorship.rst (+9/-9)
udd-uploading.rst (+28/-25)
udd-working.rst (+17/-32)
To merge this branch: bzr merge lp:~jr/ubuntu-packaging-guide/fixes
Reviewer Review Type Date Requested Status
Barry Warsaw (community) Approve
Daniel Holbach (community) Needs Information
Review via email: mp+67951@code.launchpad.net

Description of the change

A bunch of fixes to tidy up parts of the packaging guide

To post a comment you must log in.
Revision history for this message
Daniel Holbach (dholbach) wrote :

Thanks a lot for your fixes and your attention to detail.

I have a few quick questions though:

 - Why do you remove the section about libvigraimpex?
 - bzr commit instead of debcommit? (debcommit does much more than just 'bzr commit')
 - Do you think it makes sense to have two copies of the knowledge base article index?
 - the section following "Then determine the source package corresponding to this binary package::" seems to have been correct before.
 - Why do you leave the link to intrepid and remove the link to natty? (line 419)
 - Is "bzr tag" necessary nowadays?
 - Why do you remove the "update-maintainer" bits?

review: Needs Information
Revision history for this message
Jonathan Riddell (jr) wrote :

 - Why do you remove the section about libvigraimpex?
 - the section following "Then determine the source package corresponding to this binary package::" seems to have been correct before.

apt-cache show <package> gives different results if the binary package has the same or a different name than the source package. So I replaced it with apt-cache showsrc <package> which acts the same in both cases, so the libvigraimpex case is no longer needed.

 - bzr commit instead of debcommit? (debcommit does much more than just 'bzr commit')

From bzr 2.4 and bzr-builddeb 2.7.5 bzr commit now magically takes the commit message from debian/changelog too, the feeling among UDD developers is it's better to use bzr commands to keep things consistent.

 - Do you think it makes sense to have two copies of the knowledge base article index?

No, I'll remove that

 - Why do you leave the link to intrepid and remove the link to natty? (line 419)

Intrepid is used in the doc as an example of a past release. I removed references to Natty as an example of a current development release because it's confusing since it not a current development release.

I don't think the links to release wiki pages are very important either way.

 - Is "bzr tag" necessary nowadays?

Yes it tags with the current release version. bzr mark-uploaded is now no longer needed.

 - Why do you remove the "update-maintainer" bits?

As agreed with barry this isn't a good place to include it, I'll file a bug to add it back elsewhere such as the debian/ directory introduction page.

lp:~jr/ubuntu-packaging-guide/fixes updated
61. By Jonathan Riddell

remove duplicate knowledge base index

Revision history for this message
Barry Warsaw (barry) wrote :

On the libvigraimpex thing, I think you should show two examples, one where the source and binary package names are the same, and one where they're different, e.g.

$ apt-cache showsrc tomboy | grep ^Package:
Package: tomboy
$ apt-cache showsrc python-vigra | grep ^Package:
Package: libvigraimpex

BTW, there's also now a packaging-dev package which gets you most (but I think not all, e.g. cdbs) packages you'll need to do basic package management. We should recommend people install that if we don't already.

s/every day CD images/every day, CD images/

Are you sure this recommendation will always work:

$ bzr log ubuntu:sysvinit | grep ^tags | head -n 1

IOW no possibility of subsequent tags confusing things, even in the face of user error?

Everything else looks good to me. I think you can merge once those changes are made.

review: Approve
Revision history for this message
Morten Kjeldgaard (mok0) wrote :

> - Why do you leave the link to intrepid and remove the link to
> natty? (line 419)
>
> Intrepid is used in the doc as an example of a past release. I
> removed references to Natty as an example of a current development
> release because it's confusing since it not a current development
> release.

For documentation purposes such as this it would actually be useful if
Ubuntu releases had a constant code name during the development phase
(like Debians "Sid")... for example "Developing Dodo" :-)

-- Morten

Revision history for this message
Daniel Holbach (dholbach) wrote :

Could it be that a result of this merge there's a couple of warnings now?

daniel@miyazaki:~/bzr/ubuntu-packaging-guide$ make html
sphinx-build -b html -d _build/doctrees . _build/html
Making output directory...
Running Sphinx v1.1pre
loading pickled environment... not yet created
building [html]: targets for 15 source files that are out of date
updating environment: 15 added, 0 changed, 0 removed
reading sources... [100%] udd-working
/home/daniel/bzr/ubuntu-packaging-guide/fixing-a-bug-security.rst:196: (ERROR/3) Unexpected indentation.
looking for now-outdated files... none found
pickling environment... done
checking consistency... done
preparing documents... done
writing output... [100%] udd-working
/home/daniel/bzr/ubuntu-packaging-guide/fixing-a-bug-security.rst:72: WARNING: unknown document: /udd-intro.rst
/home/daniel/bzr/ubuntu-packaging-guide/index.rst:12: WARNING: unknown document: /knowledge-base
writing additional files... genindex search
copying images... [100%] images/cycle-items.png
copying static files... done
dumping search index... done
dumping object inventory... done
build succeeded, 3 warnings.

Build finished. The HTML pages are in _build/html.
daniel@miyazaki:~/bzr/ubuntu-packaging-guide$

Shall I file a bug?

Revision history for this message
Jonathan Riddell (jr) wrote :

index.rst warning fixed

I also fixed the incorrect link in the unrelated fixing-a-bug-security.rst document

I've no idea how to fix the indentation in the fixing-a-bug-security.rst document, restructuredtext is weird like that

Revision history for this message
Daniel Holbach (dholbach) wrote :

After a paragraph ending with "::" (indicating a following paragraph in preformatted text), it needs a newline. I fixed that bit in fixing-a-bug-security.rst and pushed it. Things are nice and dandy again. Thanks!

daniel@miyazaki:~/bzr/ubuntu-packaging-guide$ make html
sphinx-build -b html -d _build/doctrees . _build/html
Making output directory...
Running Sphinx v1.1pre
loading pickled environment... not yet created
building [html]: targets for 15 source files that are out of date
updating environment: 15 added, 0 changed, 0 removed
reading sources... [100%] udd-working
looking for now-outdated files... none found
pickling environment... done
checking consistency... done
preparing documents... done
writing output... [100%] udd-working
writing additional files... genindex search
copying images... [100%] images/cycle-items.png
copying static files... done
dumping search index... done
dumping object inventory... done
build succeeded.

Build finished. The HTML pages are in _build/html.
daniel@miyazaki:~/bzr/ubuntu-packaging-guide$

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
=== modified file 'debian-dir-overview.rst'
--- debian-dir-overview.rst 2011-06-01 08:05:03 +0000
+++ debian-dir-overview.rst 2011-07-15 09:23:07 +0000
@@ -59,7 +59,7 @@
59number) appended to the end of the Debian version. So if the Debian hello 59number) appended to the end of the Debian version. So if the Debian hello
60``2.6-1`` package was changed by Ubuntu, the version string would be 60``2.6-1`` package was changed by Ubuntu, the version string would be
61``2.6-1ubuntu1``. If a package for the application does not exist in Debian, 61``2.6-1ubuntu1``. If a package for the application does not exist in Debian,
62then the Debian revision is ``0`` (e.g., ``2.6-0ubuntu1``).62then the Debian revision is ``0`` (e.g. ``2.6-0ubuntu1``).
6363
64For further information, see the `changelog section (Section 4.4) 64For further information, see the `changelog section (Section 4.4)
65<http://www.debian.org/doc/debian-policy/ch-source.html#s-dpkgchangelog>`_ of 65<http://www.debian.org/doc/debian-policy/ch-source.html#s-dpkgchangelog>`_ of
@@ -115,7 +115,7 @@
115Maintainer Field spec <https://wiki.ubuntu.com/DebianMaintainerField>`_ on the 115Maintainer Field spec <https://wiki.ubuntu.com/DebianMaintainerField>`_ on the
116Ubuntu wiki.116Ubuntu wiki.
117117
118Each additional paragraph describes a binary package built.118Each additional paragraph describes a binary package to be built.
119119
120For further information, see the `control file section (Chapter 5) 120For further information, see the `control file section (Chapter 5)
121<http://www.debian.org/doc/debian-policy/ch-controlfields.html>`_ of the Debian 121<http://www.debian.org/doc/debian-policy/ch-controlfields.html>`_ of the Debian
@@ -264,10 +264,12 @@
264 foo usr/bin264 foo usr/bin
265 debian/bar.desktop usr/share/applications265 debian/bar.desktop usr/share/applications
266266
267In the second case, files installed into ``debian/tmp`` can then be moved into 267When a source package is producing multiple binary packages ``dh`` will
268separate binary packages using multiple ``$package_name.install`` files. This 268install the files into ``debian/tmp`` rather than directly into
269is often done to split large amounts of architecture independent data out of 269``debian/<package>``. Files installed into ``debian/tmp`` can then be moved
270architecture dependent packages and into ``Architecture: all`` packages. In 270into separate binary packages using multiple ``$package_name.install`` files.
271This is often done to split large amounts of architecture independent data out
272of architecture dependent packages and into ``Architecture: all`` packages. In
271this case, only the name of the files (or directories) to be installed are 273this case, only the name of the files (or directories) to be installed are
272needed without the installation directory. For example, ``foo.install`` 274needed without the installation directory. For example, ``foo.install``
273containing only the architecture dependent files might look like::275containing only the architecture dependent files might look like::
@@ -319,6 +321,10 @@
3194.11) <http://www.debian.org/doc/debian-policy/ch-source.html#s-debianwatch>`_ 3214.11) <http://www.debian.org/doc/debian-policy/ch-source.html#s-debianwatch>`_
320of the Debian Policy Manual.322of the Debian Policy Manual.
321323
324For a list of packages where the ``watch`` file reports they are not in sync
325with upstream see `Ubuntu External Health Status
326<http://qa.ubuntuwire.org/uehs/no_updated.html>`_.
327
322The source/format file328The source/format file
323^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^329^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
324330
@@ -327,7 +333,7 @@
327to use the newer 3.0 source format. In this case, the file should contain a 333to use the newer 3.0 source format. In this case, the file should contain a
328single line indicating the desired format:334single line indicating the desired format:
329335
330* ``3.0 (native)`` for Debian native packages or336* ``3.0 (native)`` for Debian native packages (no upstream version) or
331337
332* ``3.0 (quilt)`` for packages with a separate upstream tarball338* ``3.0 (quilt)`` for packages with a separate upstream tarball
333339
334340
=== modified file 'fixing-a-bug.rst'
--- fixing-a-bug.rst 2011-06-03 21:23:43 +0000
+++ fixing-a-bug.rst 2011-07-15 09:23:07 +0000
@@ -19,7 +19,7 @@
19Finding the problem19Finding the problem
20===================20===================
2121
22There is a lot of different ways to find things to work on. It might be a bug22There are a lot of different ways to find things to work on. It might be a bug
23report you are encountering yourself (which gives you a good opportunity to23report you are encountering yourself (which gives you a good opportunity to
24test the fix), or a problem you noted elsewhere, maybe in a bug report.24test the fix), or a problem you noted elsewhere, maybe in a bug report.
2525
@@ -55,28 +55,16 @@
55different binary packages. To find the source package for a particular binary55different binary packages. To find the source package for a particular binary
56package, type::56package, type::
5757
58 $ apt-cache show tomboy | grep ^Source:58 $ apt-cache showsrc tomboy | grep ^Package:
59
60In this case, nothing is printed, meaning that ``tomboy`` is also the name of
61the binary package. An example where the source and binary package names
62differ is ``python-vigra``. While that is the binary package name, the source
63package is actually ``libvigraimpex`` and can be found with this command (and
64its output)::
65
66 $ apt-cache show python-vigra | grep ^Source:
67 Source: libvigraimpex
68
69.. XXX: Link to SRU article.
70
7159
72Getting the code60Getting the code
73================61================
7462
75Once you know the source package to work on, you will want to get a copy of63Once you know the source package to work on, you will want to get a copy of
76the code on your system, so that you can debug it. This is done by64the code on your system, so that you can debug it. In Ubuntu Distributed
77:ref:`*branching* the source package <branching>` branch corresponding to the65Development this is done by :ref:`*branching* the source package <branching>`
78source package. Launchpad maintains source package branches for all the66branch corresponding to the source package. Launchpad maintains source package
79packages in Ubuntu.67branches for all the packages in Ubuntu.
8068
81Once you've got a local branch of the source package, you can investigate the69Once you've got a local branch of the source package, you can investigate the
82bug, create a fix, and upload your proposed fix to Launchpad, in the form of a70bug, create a fix, and upload your proposed fix to Launchpad, in the form of a
@@ -84,7 +72,7 @@
84*merge proposal* <merge-proposal>`, which asks other Ubuntu developers to72*merge proposal* <merge-proposal>`, which asks other Ubuntu developers to
85review and approve your change. If they agree with your changes, an Ubuntu73review and approve your change. If they agree with your changes, an Ubuntu
86developer will upload the new version of the package to Ubuntu so that74developer will upload the new version of the package to Ubuntu so that
87everyone gets the benefit or your excellent fix - and you get a little bit of75everyone gets the benefit of your excellent fix - and you get a little bit of
88credit. You're now on your way to becoming an Ubuntu developer!76credit. You're now on your way to becoming an Ubuntu developer!
8977
90We'll describe specifics on how to branch the code, push your fix, and request78We'll describe specifics on how to branch the code, push your fix, and request
@@ -182,7 +170,7 @@
182170
183With the changelog entry written and saved, you can just run::171With the changelog entry written and saved, you can just run::
184172
185 debcommit173 bzr commit
186174
187and the change will be committed (locally) with your changelog entry as a 175and the change will be committed (locally) with your changelog entry as a
188commit message.176commit message.
@@ -206,3 +194,4 @@
206browser. There find the "(+) Propose for merging" link, click it to get the194browser. There find the "(+) Propose for merging" link, click it to get the
207change reviewed by somebody and included in Ubuntu.195change reviewed by somebody and included in Ubuntu.
208196
197.. XXX: Link to SRU article.
209198
=== modified file 'getting-set-up.rst'
--- getting-set-up.rst 2011-07-12 16:11:03 +0000
+++ getting-set-up.rst 2011-07-15 09:23:07 +0000
@@ -4,8 +4,8 @@
44
5There are a number of things you need to do to get started developing for Ubuntu.5There are a number of things you need to do to get started developing for Ubuntu.
6This article is designed to get your computer set up so that you can start 6This article is designed to get your computer set up so that you can start
7working with packages, and upload your packages to Launchpad. Here's what we'll 7working with packages, and upload your packages to Ubuntu's hosting
8cover:8platform, Launchpad. Here's what we'll cover:
99
10* Installing packaging-related software. This includes:10* Installing packaging-related software. This includes:
1111
@@ -33,7 +33,7 @@
3333
34There are a number of tools that will make your life as an Ubuntu developer34There are a number of tools that will make your life as an Ubuntu developer
35much easier. You will encounter these tools later in this guide. To install35much easier. You will encounter these tools later in this guide. To install
36most of the tools you will need, run this command::36most of the tools you will need run this command::
3737
38 $ sudo apt-get install gnupg pbuilder ubuntu-dev-tools bzr-builddeb apt-file38 $ sudo apt-get install gnupg pbuilder ubuntu-dev-tools bzr-builddeb apt-file
3939
@@ -55,8 +55,9 @@
55* ``ubuntu-dev-tools`` (and ``devscripts``, a direct dependency) -- a55* ``ubuntu-dev-tools`` (and ``devscripts``, a direct dependency) -- a
56 collection of tools that make many packaging tasks easier.56 collection of tools that make many packaging tasks easier.
57* ``bzr-builddeb`` (and ``bzr``, a dependency) -- distributed version control57* ``bzr-builddeb`` (and ``bzr``, a dependency) -- distributed version control
58 tools that makes it easy for many developers to collaborate and work on the58 with Bazaar, a new way of working with packages for Ubuntu that will make it
59 same code while keeping it trivial to merge each others work.59 easy for many developers to collaborate and work on the same code while
60 keeping it trivial to merge each others work.
60* ``apt-file`` provides an easy way to find the binary package that contains a61* ``apt-file`` provides an easy way to find the binary package that contains a
61 given file.62 given file.
62* ``apt-cache`` (part of the ``apt`` package) provides even more information 63* ``apt-cache`` (part of the ``apt`` package) provides even more information
@@ -84,12 +85,13 @@
84which means the key will never expire. The last questions will be about your85which means the key will never expire. The last questions will be about your
85name and email address. Just pick the ones you are going to use for Ubuntu86name and email address. Just pick the ones you are going to use for Ubuntu
86development here, you can add additional email addresses later on. Adding a87development here, you can add additional email addresses later on. Adding a
87comment is not necessary. Then you will have to set a passphrase. Choose a88comment is not necessary. Then you will have to set a passphrase, choose a
88safe one. 89safe one (a passphrase is just a password which is allowed to include spaces).
8990
90Now GPG will create a key for you, which can take a little bit of time; it 91Now GPG will create a key for you, which can take a little bit of time; it
91needs random bytes, so if you give the system some work to do it will be 92needs random bytes, so if you give the system some work to do it will be
92just fine. Move the cursor around!93just fine. Move the cursor around, type some paragraphs of random text, load
94some web page.
9395
94Once this is done, you will get a message similar to this one::96Once this is done, you will get a message similar to this one::
9597
@@ -107,8 +109,8 @@
107109
108This will send your key to one keyserver, but a network of keyservers will 110This will send your key to one keyserver, but a network of keyservers will
109automatically sync the key between themselves. Once this syncing is complete, 111automatically sync the key between themselves. Once this syncing is complete,
110your signed public key will be ready to verify your your contributions 112your signed public key will be ready to verify your contributions around the
111around the world.113world.
112114
113115
114Create your SSH key116Create your SSH key
@@ -117,10 +119,10 @@
117SSH_ stands for *Secure Shell*, and it is a protocol that allows you to 119SSH_ stands for *Secure Shell*, and it is a protocol that allows you to
118exchange data in a secure way over a network. It is common to use SSH to access 120exchange data in a secure way over a network. It is common to use SSH to access
119and open a shell on another computer, and to use it to securely transfer files. 121and open a shell on another computer, and to use it to securely transfer files.
120For our purposes, we will mainly be using SSH to securely communicate with 122For our purposes, we will mainly be using SSH to securely upload source packages
121Launchpad. 123to Launchpad.
122124
123To generate a SSH key, enter::125To generate an SSH key, enter::
124126
125 $ ssh-keygen -t rsa127 $ ssh-keygen -t rsa
126128
@@ -156,7 +158,7 @@
156configure your system to work with Launchpad. This section will focus158configure your system to work with Launchpad. This section will focus
157on the following topics:159on the following topics:
158160
159 * What Launchpad is, and creating a Launchpad account161 * What Launchpad is and creating a Launchpad account
160 * Uploading your GPG and SSH keys to Launchpad162 * Uploading your GPG and SSH keys to Launchpad
161 * Configuring Bazaar to work with Launchpad163 * Configuring Bazaar to work with Launchpad
162 * Configuring Bash to work with Bazaar164 * Configuring Bash to work with Bazaar
@@ -175,6 +177,9 @@
175information. This will allow you to download and upload code, submit bug 177information. This will allow you to download and upload code, submit bug
176reports, and more.178reports, and more.
177179
180Besides hosting Ubuntu, Launchpad can host any Free Software project. For more
181information see the `Launchpad Help wiki <https://help.launchpad.net/>`_.
182
178183
179Get a Launchpad account184Get a Launchpad account
180--------------------------185--------------------------
@@ -212,8 +217,8 @@
212 sub 4096R/51FBE68C 2010-12-06217 sub 4096R/51FBE68C 2010-12-06
213218
214219
215Head to https://launchpad.net/people/+me/+editpgpkeys and copy the part about220Head to https://launchpad.net/people/+me/+editpgpkeys and copy the "Key
216your "Key fingerprint" into the text box. In the case above this would be221fingerprint" into the text box. In the case above this would be
217``5C28 0144 FB08 91C0 2CF3 37AC 6F0B F90F 43CD E61D``. Now click on "Import222``5C28 0144 FB08 91C0 2CF3 37AC 6F0B F90F 43CD E61D``. Now click on "Import
218Key".223Key".
219224
@@ -253,7 +258,9 @@
253----------------258----------------
254259
255Bazaar is the tool we use to store code changes in a logical way, to exchange260Bazaar is the tool we use to store code changes in a logical way, to exchange
256proposed changes and merge them, even if development is done concurrently.261proposed changes and merge them, even if development is done concurrently. It
262is used for the new Ubuntu Distributed Development method of working with
263Ubuntu packages.
257264
258To tell Bazaar who you are, simply run::265To tell Bazaar who you are, simply run::
259266
@@ -278,7 +285,6 @@
278 $ export DEBFULLNAME="Bob Dobbs"285 $ export DEBFULLNAME="Bob Dobbs"
279 $ export DEBEMAIL="subgenius@example.com"286 $ export DEBEMAIL="subgenius@example.com"
280287
281
282Now save the file and either restart your terminal or run::288Now save the file and either restart your terminal or run::
283289
284 $ source ~/.bashrc290 $ source ~/.bashrc
285291
=== modified file 'index.rst'
--- index.rst 2011-04-21 14:53:48 +0000
+++ index.rst 2011-07-15 09:23:07 +0000
@@ -3,27 +3,45 @@
3 You can adapt this file completely to your liking, but it should at least3 You can adapt this file completely to your liking, but it should at least
4 contain the root `toctree` directive.4 contain the root `toctree` directive.
55
6Welcome to ubuntu-packaging-guide's documentation!6Ubuntu Packaging Guide
7==================================================7==================================================
88
9The guide is split up into two sections:9The guide is split up into two sections:
1010
11* A list of articles based on tasks, so things you want to get done.11* A list of articles based on tasks, things you want to get done.
12* A set of :doc:`knowledge base</knowledge-base>` articles that dig deeper 12* A set of :doc:`knowledge base</knowledge-base>` articles that dig deeper
13 into specific bits of our tools and workflows.13 into specific bits of our tools and workflows.
1414
15Articles
16--------
17
15.. toctree::18.. toctree::
16 :maxdepth: 119 :maxdepth: 1
1720
18 introduction-to-ubuntu-development21 introduction-to-ubuntu-development
19 getting-set-up22 getting-set-up
20 fixing-a-bug23 fixing-a-bug
21 knowledge-base24
25Knowledge Base
26--------------
27
28.. toctree::
29 :maxdepth: 1
30
31 debian-dir-overview
32 testing
33 udd-intro
34 udd-working
35 udd-sponsorship
36 udd-uploading
37 udd-latest
38 udd-merging
39 udd-patchsys
40 udd-newpackage
2241
2342
24Indices and tables43Indices and tables
25==================44==================
2645
27* :ref:`genindex`46* :ref:`genindex`
28* :ref:`modindex`
29* :ref:`search`47* :ref:`search`
3048
=== modified file 'introduction-to-ubuntu-development.rst'
--- introduction-to-ubuntu-development.rst 2011-02-04 16:44:21 +0000
+++ introduction-to-ubuntu-development.rst 2011-07-15 09:23:07 +0000
@@ -13,11 +13,11 @@
1313
14Every time a new version of an application is released, or when someone makes14Every time a new version of an application is released, or when someone makes
15a change to the source code that goes into Ubuntu, the source package must be15a change to the source code that goes into Ubuntu, the source package must be
16uploaded to the build machines to be compiled. The resulting binary packages 16uploaded to Launchpad's build machines to be compiled. The resulting binary
17then are distributed to the archive and its mirrors in different countries. 17packages then are distributed to the archive and its mirrors in different
18The URLs in ``/etc/apt/sources.list`` point to an archive or mirror. Every 18countries. The URLs in ``/etc/apt/sources.list`` point to an archive or mirror.
19day CD images are built for a selection of different Ubuntu flavours. Ubuntu 19Every day CD images are built for a selection of different Ubuntu flavours.
20Desktop, Ubuntu Server, Kubuntu and others specify a list of required 20Ubuntu Desktop, Ubuntu Server, Kubuntu and others specify a list of required
21packages that get on the CD. These CD images are then used for installation 21packages that get on the CD. These CD images are then used for installation
22tests and provide the feedback for further release planning.22tests and provide the feedback for further release planning.
2323
2424
=== removed file 'knowledge-base.rst'
--- knowledge-base.rst 2011-06-03 09:49:34 +0000
+++ knowledge-base.rst 1970-01-01 00:00:00 +0000
@@ -1,27 +0,0 @@
1============================================
2Knowledge base of the Ubuntu Packaging Guide
3============================================
4
5Table of Contents:
6
7* General
8
9 .. toctree::
10 :maxdepth: 1
11
12 debian-dir-overview
13 testing
14
15* Development Processes
16
17 .. toctree::
18 :maxdepth: 1
19
20 udd-intro
21 udd-working
22 udd-sponsorship
23 udd-uploading
24 udd-latest
25 udd-merging
26 udd-patchsys
27 udd-newpackage
280
=== modified file 'udd-intro.rst'
--- udd-intro.rst 2011-06-03 20:17:00 +0000
+++ udd-intro.rst 2011-07-15 09:23:07 +0000
@@ -1,43 +1,36 @@
1==============================1===================================================
2Ubuntu Distributed Development2Ubuntu Distributed Development - Getting the Source
3==============================3===================================================
44
5*Ubuntu Distributed Development* (UDD) is a technique for developing Ubuntu5*Ubuntu Distributed Development* (UDD) is a technique for developing Ubuntu
6packages that uses tools, processes, and workflows similar to generic6packages that uses tools, processes, and workflows similar to generic
7distributed version control (dVCS) system-based software development. The7distributed version control system (DVCS) based software development. The
8dVCS used for UDD is Bazaar_.8DVCS used for UDD is Bazaar_.
99
10You should already be familiar with basic Bazaar usage and workflow. Ubuntu10You should already be familiar with basic Bazaar usage and workflow. For an
11Intrepid_ or later is required for these instructions to work.11introduction to Bazaar see the `Bazaar Five Minute Tutorial
12<http://doc.bazaar.canonical.com/bzr.dev/en/mini-tutorial/index.html>`_ and the
13`Bazaar Users Guide
14<http://doc.bazaar.canonical.com/bzr.dev/en/user-guide/index.html>`_.
1215
1316
14Source package URLs17Source package URLs
15===================18===================
1619
17Bazaar provides some very nice shortcuts for accessing the source branches of20Bazaar provides some very nice shortcuts for accessing Launchpad's source
18packages in both Ubuntu and Debian (on Launchpad). These shortcuts are21branches of packages in both Ubuntu and Debian.
19available in Bazaar version 2.3 or newer. You can still access source
20branches in older versions of Bazaar, using a slightly more verbose syntax.
21
22The examples in this guide always use the ``ubuntu:`` prefix.
23
24
25Source branch shortcuts
26-----------------------
2722
28To refer to source branches use::23To refer to source branches use::
2924
30 ubuntu:package25 ubuntu:package
3126
32where *package* refers to the package name you're interested in. This URL27where *package* refers to the package name you're interested in. This URL
33refers to the package in the current development version of Ubuntu. As of28refers to the package in the current development version of Ubuntu. To
34this writing (2011-02-04) that version is Natty_ which will be released as29refer to the branch of Tomboy in the development version, you would use::
35Ubuntu 11.04. Thus, to refer to the branch of Tomboy in Natty, you would
36use::
3730
38 ubuntu:tomboy31 ubuntu:tomboy
3932
40To refer to the version of a source package in an older release of ubuntu,33To refer to the version of a source package in an older release of Ubuntu,
41just prefix the package name with the release's code name. E.g. to refer to34just prefix the package name with the release's code name. E.g. to refer to
42Tomboy's source package in Maverick_ use::35Tomboy's source package in Maverick_ use::
4336
@@ -58,28 +51,8 @@
58 debianlp:lenny/tomboy51 debianlp:lenny/tomboy
5952
6053
61Explicit source branches
62------------------------
63
64If you're using an older version of Bazaar, the ``ubuntu:`` and ``debianlp:``
65prefixes won't be available to you. Instead use the ``lp:`` prefix to access
66the source branch. For example, Tomboy in the latest Ubuntu development
67release is available at::
68
69 lp:ubuntu/tomboy
70
71while the Maverick version is available at::
72
73 lp:ubuntu/maverick/tomboy
74
75and the Debian Lenny version is available at::
76
77 lp:debian/lenny/tomboy
78
79
80.. _`Bazaar`: http://bazaar.canonical.com/en/54.. _`Bazaar`: http://bazaar.canonical.com/en/
81.. _`Intrepid`: https://wiki.ubuntu.com/IntrepidIbex55.. _`Intrepid`: https://wiki.ubuntu.com/IntrepidIbex
82.. _Natty: https://wiki.ubuntu.com/NattyNarwhal
83.. _Maverick: https://wiki.ubuntu.com/MaverickMeerkat56.. _Maverick: https://wiki.ubuntu.com/MaverickMeerkat
84.. _Lenny: http://debian.org/releases/stable/57.. _Lenny: http://debian.org/releases/stable/
8558
@@ -123,7 +96,7 @@
123ensure that the import is up-to-date. To find the tag of the last revision96ensure that the import is up-to-date. To find the tag of the last revision
124committed by the package importer, do::97committed by the package importer, do::
12598
126 $ bzr log -l 1 ubuntu:tomboy | grep ^tags:99 $ bzr log ubuntu:tomboy | grep ^tags | head -n 1
127 tags: 1.5.2-1ubuntu4100 tags: 1.5.2-1ubuntu4
128101
129By comparing the version number returned by ``rmadison`` and the tag added by102By comparing the version number returned by ``rmadison`` and the tag added by
@@ -131,20 +104,20 @@
131is up-to-date.104is up-to-date.
132105
133Here's an example of a package that is out-of-date. Let's say you want to fix106Here's an example of a package that is out-of-date. Let's say you want to fix
134a problem in the ``initscripts`` binary package on Natty_. First find out the107a problem in the ``initscripts`` binary package. First find out the
135latest binary package versions that are available::108latest binary package versions that are available::
136109
137 $ rmadison initscripts | grep natty110 $ rmadison initscripts | tail -n 1
138 initscripts | 2.87dsf-4ubuntu19 | natty | amd64, i386111 initscripts | 2.87dsf-4ubuntu25 | oneiric | amd64, i386
139112
140Then determine the source package corresponding to this binary package::113Then determine the source package corresponding to this binary package::
141114
142 $ apt-cache show initscripts | grep ^Source:115 $ apt-cache showsrc initscripts | grep ^Package:
143 Source: sysvinit116 Package: sysvinit
144117
145Find the latest tag added by the package importer::118Find the latest tag added by the package importer::
146119
147 $ bzr log -l 1 ubuntu:sysvinit | grep ^tags:120 $ bzr log ubuntu:sysvinit | grep ^tags | head -n 1
148 tags: 2.86.ds1-61ubuntu13121 tags: 2.86.ds1-61ubuntu13
149122
150Here we can see that ``2.86.ds1-61ubuntu13`` is older than123Here we can see that ``2.86.ds1-61ubuntu13`` is older than
@@ -155,6 +128,9 @@
155When you find such out-of-date packages, be sure to `file a bug on the UDD128When you find such out-of-date packages, be sure to `file a bug on the UDD
156project`_ to get the issue resolved.129project`_ to get the issue resolved.
157130
131A feature in progress is for a warning to be automatically printed when
132branching an out of date import, this will make the above obsolete.
133
158.. _branching:134.. _branching:
159135
160Creating a shared repository136Creating a shared repository
@@ -173,20 +149,21 @@
173You will see that a `tomboy` directory is created in your current working149You will see that a `tomboy` directory is created in your current working
174area. Change to this new directory for the rest of your work::150area. Change to this new directory for the rest of your work::
175151
176 $ cd foobar152 $ cd tomboy
177153
178154
179Getting the trunk branch155Getting the trunk branch
180------------------------156------------------------
181157
182We use the `bzr branch` command to create a local branch of the package.158We use the `bzr branch` command to create a local branch of the package.
183We'll name the target directory `natty` just to keep things easy to remember::159We'll name the target directory `tomboy.dev` just to keep things easy to
184160remember::
185 $ bzr branch ubuntu:tomboy natty161
186162 $ bzr branch ubuntu:tomboy tomboy.dev
187The `natty` directory represents the version of Tomboy in Natty, and you can163
188always ``cd`` into this directory and do a `bzr pull` to get any future164The tomboy.dev directory represents the version of Tomboy in the development
189updates.165version of Ubuntu, and you can always ``cd`` into this directory and do a `bzr
166pull` to get any future updates.
190167
191168
192Getting a branch for a particular release169Getting a branch for a particular release
@@ -211,7 +188,7 @@
211`tomboy` directory created above)::188`tomboy` directory created above)::
212189
213 $ bzr init-repo newpackage190 $ bzr init-repo newpackage
214 $ cd new-package191 $ cd newpackage
215 $ bzr init debian192 $ bzr init debian
216 $ cd debian193 $ cd debian
217 $ bzr import-dsc http://ftp.de.debian.org/debian/pool/main/n/newpackage/newpackage_1.0-1.dsc194 $ bzr import-dsc http://ftp.de.debian.org/debian/pool/main/n/newpackage/newpackage_1.0-1.dsc
218195
=== modified file 'udd-latest.rst'
--- udd-latest.rst 2011-05-20 15:26:22 +0000
+++ udd-latest.rst 2011-07-15 09:23:07 +0000
@@ -12,7 +12,7 @@
12Updating your copy of a branch that corresponds to the package in a particular12Updating your copy of a branch that corresponds to the package in a particular
13release is very simple, simply use `bzr pull` from the appropriate directory::13release is very simple, simply use `bzr pull` from the appropriate directory::
1414
15 $ cd tomboy/natty15 $ cd tomboy/tomboy.dev
16 $ bzr pull16 $ bzr pull
1717
18This works wherever you have a checkout of a branch, so it will work for18This works wherever you have a checkout of a branch, so it will work for
@@ -39,7 +39,7 @@
39have committed your current work first::39have committed your current work first::
4040
41 $ cd tomboy/bug-1234541 $ cd tomboy/bug-12345
42 $ bzr merge-package ../natty42 $ bzr merge-package ../tomboy.dev
4343
44Any conflicts will be reported, and you can fix them up. To review the44Any conflicts will be reported, and you can fix them up. To review the
45changes that you just merged use `bzr diff`. To undo the merge use `bzr45changes that you just merged use `bzr diff`. To undo the merge use `bzr
4646
=== modified file 'udd-merging.rst'
--- udd-merging.rst 2011-05-27 18:02:49 +0000
+++ udd-merging.rst 2011-07-15 09:23:07 +0000
@@ -1,6 +1,6 @@
1=======1===========================================
2Merging2Merging - Updating from Debian and Upstream
3=======3===========================================
44
5Merging is one of the strengths of Bazaar, and something we do often in Ubuntu5Merging is one of the strengths of Bazaar, and something we do often in Ubuntu
6development. Updates can be merged from Debian, from a new upstream release,6development. Updates can be merged from Debian, from a new upstream release,
@@ -47,7 +47,7 @@
47need, you will add a new changelog entry, and commit::47need, you will add a new changelog entry, and commit::
4848
49 $ dch -i49 $ dch -i
50 $ debcommit50 $ bzr commit
5151
52as described earlier.52as described earlier.
5353
@@ -68,8 +68,8 @@
68If you are going to build the source package from this merged branch, you68If you are going to build the source package from this merged branch, you
69would use the ``-S`` option to the ``bd`` command. One other thing you'll69would use the ``-S`` option to the ``bd`` command. One other thing you'll
70want to consider is also using the ``--package-merge`` option. This will add70want to consider is also using the ``--package-merge`` option. This will add
71the appropriate ``-v`` and ``-sa`` options to the source package so that all71the appropriate ``-v`` and ``-sa`` options to the source package so that all the
72the changelog entries since the last Ubuntu change will be included in your72changelog entries since the last Ubuntu change will be included in your
73``_source.changes`` file. For example::73``_source.changes`` file. For example::
7474
75 $ bzr bd -S --package-merge75 $ bzr bd -S --package-merge
@@ -101,9 +101,8 @@
101101
102The last parameter is the location of the tarball that you are upgrading to;102The last parameter is the location of the tarball that you are upgrading to;
103this can either be a local filesystem path, or a http, ftp, sftp, etc. URI as103this can either be a local filesystem path, or a http, ftp, sftp, etc. URI as
104shown. The command will automatically download the tarball for you. If you104shown. The command will automatically download the tarball for you. The
105point to a `.tar.bz2` or similar tarball then it will recompress it as needed,105tarball will be renamed appropriately and, if required, converted to .gz.
106or convert it if you pass it a `.zip` or similar.
107106
108The `merge-upstream` command will either tell you that it completed107The `merge-upstream` command will either tell you that it completed
109successfully, or that there were conflicts. Either way you will be able to108successfully, or that there were conflicts. Either way you will be able to
@@ -113,7 +112,7 @@
113not previously used the UDD layout, `bzr merge-upstream` will fail with an112not previously used the UDD layout, `bzr merge-upstream` will fail with an
114error that the tag for the previous upstream version is not available; the113error that the tag for the previous upstream version is not available; the
115merge can't be completed without knowing what base version to merge against.114merge can't be completed without knowing what base version to merge against.
116To work around this, create a tag in your existing existing repo for the last115To work around this, create a tag in your existing repository for the last
117upstream version present there; e.g., if the last Ubuntu release was116upstream version present there; e.g., if the last Ubuntu release was
118*1.1-0ubuntu3*, create the tag *upstream-1.1* pointing to the bzr revision you117*1.1-0ubuntu3*, create the tag *upstream-1.1* pointing to the bzr revision you
119want to use as the tip of the upstream branch.118want to use as the tip of the upstream branch.
120119
=== modified file 'udd-patchsys.rst'
--- udd-patchsys.rst 2011-02-05 01:02:31 +0000
+++ udd-patchsys.rst 2011-07-15 09:23:07 +0000
@@ -1,9 +1,14 @@
1===========================1==============================================================
2Working with a patch system2Ubuntu Distributed Development - Working with Patches via Loom
3===========================3==============================================================
4
5Here are some guidelines for working with Quilt_ patches using the Bazaar Loom
6plugin. A loom allows the development of multiple patches at once, while still
7giving each patch a branch of its own. This is a work in progress for the UDD
8developers who will be working on improving this workflow.
49
5Many existing packages that have changes from upstream express those changes10Many existing packages that have changes from upstream express those changes
6using a `patch system`_, of which there are several to choose from. Usually,11using a patch system, of which there are several to choose from. Usually,
7when you make an additional change to a package, you'll want to add a patch12when you make an additional change to a package, you'll want to add a patch
8file to the patch system being used, rather than editing the source code in13file to the patch system being used, rather than editing the source code in
9place. Note however that it is considered bad practice to add a patch system14place. Note however that it is considered bad practice to add a patch system
@@ -19,11 +24,6 @@
19problems pushing and pulling your threads to Launchpad.* Do ``bzr plugins`` to24problems pushing and pulling your threads to Launchpad.* Do ``bzr plugins`` to
20find the version you're using.25find the version you're using.
2126
22Here are some guidelines that I've found helpful. Clearly the existing tools
23can be improved, but for now this seems to work well enough. This assumes
24you're using looms to develop your patch, and that the package itself uses the
25quilt_ patch system.
26
27One important thing to know: all source branches reflect the tree after a27One important thing to know: all source branches reflect the tree after a
28``quilt push -a``. In other words, when you branch a source branch, you get28``quilt push -a``. In other words, when you branch a source branch, you get
29the tree with all patches applied, ready for you to jump right into hacking.29the tree with all patches applied, ready for you to jump right into hacking.
@@ -182,7 +182,6 @@
182There's now `a bug` that tracks this.182There's now `a bug` that tracks this.
183183
184184
185.. _`patch system`: https://wiki.ubuntu.com/DistributedDevelopment/Documentation/PatchSystem/PackagingGuide/PatchSystems
186.. _`Bazaar looms`: https://launchpad.net/bzr-loom185.. _`Bazaar looms`: https://launchpad.net/bzr-loom
187.. _quilt: http://www.wzdftpd.net/blog/index.php?2008/02/05/3-quilt-a-patch-management-system-how-to-survive-with-many-patches186.. _quilt: http://www.wzdftpd.net/blog/index.php?2008/02/05/3-quilt-a-patch-management-system-how-to-survive-with-many-patches
188.. _`currently includes any existing .pc directory`: https://bugs.launchpad.net/udd/+bug/672740187.. _`currently includes any existing .pc directory`: https://bugs.launchpad.net/udd/+bug/672740
189188
=== modified file 'udd-sponsorship.rst'
--- udd-sponsorship.rst 2011-02-07 15:34:46 +0000
+++ udd-sponsorship.rst 2011-07-15 09:23:07 +0000
@@ -1,6 +1,6 @@
1==============================1===============================================================
2Seeking Review and Sponsorship2Ubuntu Distributed Development - Seeking Review and Sponsorship
3==============================3===============================================================
44
5One of the biggest advantages to using the UDD workflow is to improve quality5One of the biggest advantages to using the UDD workflow is to improve quality
6by seeking review of changes by your peers. This is true whether or not you6by seeking review of changes by your peers. This is true whether or not you
@@ -18,8 +18,8 @@
18Pushing to Launchpad18Pushing to Launchpad
19====================19====================
2020
21We previously showed you how to :ref:`link your branch to the bug21We previously showed you how to :ref:`associate your branch to the bug
22<link-via-changelog>` using ``dch`` and ``debcommit``. However, the branch22<link-via-changelog>` using ``dch`` and ``bzr commit``. However, the branch
23and bug don't actually get linked until you push the branch to Launchpad.23and bug don't actually get linked until you push the branch to Launchpad.
2424
25It is not critical to have a link to a bug for every change you make,25It is not critical to have a link to a bug for every change you make,
@@ -27,14 +27,14 @@
2727
28The general form of the URL you should push your branch to is::28The general form of the URL you should push your branch to is::
2929
30 lp:~<user-id>/ubuntu/<distroseries>/<package>/bug-1234530 lp:~<user-id>/ubuntu/<distroseries>/<package>/<branch-name>
3131
32For example, to push your fix for bug 12345 in the Tomboy package for Natty,32For example, to push your fix for bug 12345 in the Tomboy package for Natty,
33you'd use::33you'd use::
3434
35 $ bzr push lp:~subgenius/ubuntu/natty/tomboy/bug-1234535 $ bzr push lp:~subgenius/ubuntu/natty/tomboy/bug-12345
3636
37The last component of the path is actually arbitrary; it's up to you to pick37The last component of the path is arbitrary; it's up to you to pick
38something meaningful.38something meaningful.
3939
40However, this usually isn't enough to get Ubuntu developers to review and40However, this usually isn't enough to get Ubuntu developers to review and
@@ -66,7 +66,7 @@
66debdiff, you can generate one like this (from inside your `bug-12345`66debdiff, you can generate one like this (from inside your `bug-12345`
67branch)::67branch)::
6868
69 $ bzr diff -rbranch:../natty69 $ bzr diff -rbranch:../tomboy.dev
7070
71Another way is to is to open the merge proposal and download the diff.71Another way is to is to open the merge proposal and download the diff.
7272
@@ -94,6 +94,6 @@
94and asking for re-review, or you can reply on the merge proposal page in94and asking for re-review, or you can reply on the merge proposal page in
95Launchpad.95Launchpad.
9696
97Note that if you are sponsored via debdiff attached to a bug report you need97Note that if you are sponsored via a debdiff attached to a bug report you need
98to manually update by generating a new diff and attaching that to the bug98to manually update by generating a new diff and attaching that to the bug
99report.99report.
100100
=== modified file 'udd-uploading.rst'
--- udd-uploading.rst 2011-05-25 14:08:46 +0000
+++ udd-uploading.rst 2011-07-15 09:23:07 +0000
@@ -4,7 +4,7 @@
44
5Once your merge proposal is reviewed and approved, you will want to upload5Once your merge proposal is reviewed and approved, you will want to upload
6your package, either to the archive (if you have permission) or to your6your package, either to the archive (if you have permission) or to your
7*`Personal Package Archive`_* (PPA). You might also want to do an upload if7`Personal Package Archive`_ (PPA). You might also want to do an upload if
8you are sponsoring someone else's changes.8you are sponsoring someone else's changes.
99
1010
@@ -16,17 +16,18 @@
16then upload it.16then upload it.
1717
18First, you need to check that you have the latest version of the package in18First, you need to check that you have the latest version of the package in
19your checkout of the development package::19your checkout of the development package trunk::
2020
21 $ cd tomboy/natty21 $ cd tomboy/tomboy.dev
22 $ bzr pull22 $ bzr pull
2323
24This pulls in any changes that may have been committed while you were working24This pulls in any changes that may have been committed while you were working
25on your fix. From here, you have several options. If the changes on the25on your fix. From here, you have several options. If the changes on the
26trunk are large, and it will take a while to merge them and test the package,26trunk are large and you feel should be tested along with your change you can
27then you can merge them back into your working branch to do this. If not,27merge them into your bug fix branch and test there. If not,
28then you can carry on merging your working branch to the main one. You'll28then you can carry on merging your bug fix branch into the development trunk
29want to use the Bazaar ``merge-package`` command rather than just ``merge``::29branch. You'll want to use the Bazaar ``merge-package`` command rather than just
30``merge``::
3031
31 $ bzr merge-package ../bug-1234532 $ bzr merge-package ../bug-12345
3233
@@ -41,26 +42,18 @@
41before you upload the source package.42before you upload the source package.
4243
43The next step is to build and test the modified source package as you normally44The next step is to build and test the modified source package as you normally
44would. Once you are happy with the upload then you should `dput` the45would::
45source package. For example, if you want to upload your changes to your PPA,46
46then you'd do::47 $ bzr bd -S
47
48 $ dput ppa:imasponsor/myppa tomboy_1.5.2-1ubuntu5_source.changes
49
50or, if you have permission to upload to the primary archive::
51
52 $ dput tomboy_1.5.2-1ubuntu5_source.changes
53
54You might want to do one more `debcommit` to make sure all your changes are
55committed in your working tree.
5648
57The last step is to mark the change as being the same as the source package49The last step is to mark the change as being the same as the source package
58that was uploaded, so run::50that was uploaded, bzr-builddeb will override the `tag` command to
5951automatically tag with the version number in debian/changelog so run::
60 $ bzr mark-uploaded52
6153 $ bzr tag
62This also tells the package importer that what is in the Bazaar branch is the54
63same as in the archive.55This tag will tell the package importer that what is in the Bazaar branch
56is the same as in the archive.
6457
65Now you can push the changes back to Launchpad::58Now you can push the changes back to Launchpad::
6659
@@ -68,6 +61,16 @@
6861
69(Change the destination if you are uploading an SRU or similar.)62(Change the destination if you are uploading an SRU or similar.)
7063
64Once you are happy with the upload then you should use `dput` to upload the
65built source package to Launchpad. For example, if you want to upload your
66changes to your PPA, then you'd do::
67
68 $ dput ppa:imasponsor/myppa tomboy_1.5.2-1ubuntu5_source.changes
69
70or, if you have permission to upload to the primary archive::
71
72 $ dput ubuntu tomboy_1.5.2-1ubuntu5_source.changes
73
71You are now free to delete your feature branch, as it is merged, and can74You are now free to delete your feature branch, as it is merged, and can
72be re-downloaded from Launchpad if needed.75be re-downloaded from Launchpad if needed.
7376
7477
=== modified file 'udd-working.rst'
--- udd-working.rst 2011-02-05 01:02:31 +0000
+++ udd-working.rst 2011-07-15 09:23:07 +0000
@@ -1,6 +1,6 @@
1====================1=====================================================
2Working on a Package2Ubuntu Distributed Development - Working on a Package
3====================3=====================================================
44
5Once you have the source package branch in a shared repository, you'll want to5Once you have the source package branch in a shared repository, you'll want to
6create additional branches for the fixes or other work you plan to do. You'll6create additional branches for the fixes or other work you plan to do. You'll
@@ -15,7 +15,7 @@
15The first thing to do is to make sure your source package branch is15The first thing to do is to make sure your source package branch is
16up-to-date. It will be if you just checked it out, otherwise do this::16up-to-date. It will be if you just checked it out, otherwise do this::
1717
18 $ cd natty18 $ cd tomboy.dev
19 $ bzr pull19 $ bzr pull
2020
21Any updates to the package that have uploaded since your checkout will now be21Any updates to the package that have uploaded since your checkout will now be
@@ -25,7 +25,7 @@
25repository you previously created for Tomboy, you can create your bug fix25repository you previously created for Tomboy, you can create your bug fix
26branch like this::26branch like this::
2727
28 $ bzr branch natty bug-1234528 $ bzr branch tomboy.dev bug-12345
29 $ cd bug-1234529 $ cd bug-12345
3030
31Now you can do all my work in the `bug-12345` directory. You make changes31Now you can do all my work in the `bug-12345` directory. You make changes
@@ -41,9 +41,8 @@
4141
42.. _link-via-changelog:42.. _link-via-changelog:
4343
44Here's where things diverge a little from typical Bazaar usage. When you44When you added your `debian/changelog` entry, you should have included a bug fix
45added your `debian/changelog` entry, you should have included a bug fix tag45tag that indicated which Launchpad bug issue you're fixing. The format of this
46that indicated which Launchpad bug issue you're fixing. The format of this
47textual tag is pretty strict: ``LP: #12345``. The space between the ``:`` and46textual tag is pretty strict: ``LP: #12345``. The space between the ``:`` and
48the ``#`` is required and of course the number will be replaced by the actual47the ``#`` is required and of course the number will be replaced by the actual
49bug number you're fixing. Your `debian/changelog` entry might look something48bug number you're fixing. Your `debian/changelog` entry might look something
@@ -55,18 +54,15 @@
5554
56 -- Bob Dobbs <subgenius@example.com> Mon, 10 Jan 2011 16:10:01 -050055 -- Bob Dobbs <subgenius@example.com> Mon, 10 Jan 2011 16:10:01 -0500
5756
58Normally, when you want to commit changes to your branch, you just use ``bzr57Commit with the normal::
59commit``, but in the case where you've made a change to ``debian/changelog``,58
60you'll want to use the ``debcommit`` command instead::59 bzr commit
6160
62 $ debcommit61A hook in bzr-builddeb will use the debian/changelog text as the commit
6362message and set the tag to mark bug #12345 as fixed.
64The reason to use ``debcommit`` instead is that it automatically includes your63
65``debian/changelog`` entry in the commit message, and it also adds the64This only works with bzr-builddeb 2.7.5 and bzr 2.4, for older versions use
66necessary metadata to link your branch to the bug report when you push your65`debcommit`.
67branch to Launchpad. You can do that manually with ``bzr commit`` (and
68eventually, ``bzr commit`` may get smart enough to do it for you), but for now
69``debcommit`` is the most convenient way to do it.
7066
7167
72Building the package68Building the package
@@ -95,16 +91,5 @@
95Note that while `bzr bd` has a `--native` switch, it does not have a91Note that while `bzr bd` has a `--native` switch, it does not have a
96`--no-native` switch.92`--no-native` switch.
9793
98You might also see an error that looks something like this:
99
100 dpkg-source: error: Version number suggests Ubuntu changes, but
101 Maintainer: does not have Ubuntu address
102
103In a sense, this is a safeguard to ensure that ``update-maintainer`` is run
104when necessary. However in this case, you can just temporarily set the
105``$DEBEMAIL`` environment variable to a non-@ubuntu.com address::
106
107 $ DEBEMAIL='me@example.com' bzr bd -S
108
109Once you've got the source package, you can build it as normal with94Once you've got the source package, you can build it as normal with
110``pbuilder`` or ``sbuild``.95``pbuilder-dist`` (or ``pbuilder`` or ``sbuild``).

Subscribers

People subscribed via source and target branches