Differences between revisions 16 and 17
Revision 16 as of 2006-10-07 15:18:37
Size: 3963
Editor: ?HanspeterKunz
Comment:
Revision 17 as of 2006-10-07 15:52:03
Size: 4085
Editor: ?HanspeterKunz
Comment:
Deletions are marked like this. Additions are marked like this.
Line 59: Line 59:
This creates {{{/var/cache/pbuilder/ }}}. If you already have such a base chroot image update it with This creates {{{/var/cache/pbuilder/base.tgz}}}. If you already have such a base chroot image update it with
Line 63: Line 63:
To build the package do
{{{sudo pbuilder build package.dsc}}}
which, when everything works, creates the package in {{{/var/cache/pbuilder/results }}}
Line 67: Line 64:
==== {{{debuild}}} (invoked in the package directory) can build the new source package and the binary package(s) in one go. If you do not want to sign the source or the changelog (because you do not intend to upload the package), use
{{{
debuild --debbuildopts '-us -uc'
}}}

(what you have to know for your 1st BSP)

Note: this is a rough draft, written by a guy that never fixed a bug before... so any additions, improvements, etc. are very welcome.

Picking RC bugs

The first thing you do is, of course: pick yourself a bug. If you are new to bug squashing it can be quite daunting to find a bug appropriate for your skill level. There is a [http://people.debian.org/~vorlon/rc-bugsquashing.html primer] on how to choose RC bugs which should help you. A list of RC bugs are found on [http://bugs.debian.org/release-critical/ bugs.debian.org]. But a much more flexible list is found on [http://bts.turmzimmer.net/details.php?ignore=sid&ignnew=on&ignpatch=on&new=5 bts.turmzimmer.net].

Claiming bugs

Before you start to work on a bug you should announce your intention on #debian-bugs (on irc.debian.org) and claim it using the script [http://svn.madduck.net/pub/bin/debian/claimbug claimbug] (./claimbug --help). Your bug is then marked as claimed on [http://bts.turmzimmer.net]. Additionally, you can add a comment to your bug at [http://bts.turmzimmer.net].

Fixing bugs

Getting the source

To ensure that you get the latest source for the package check [http://incoming.debian.org] and [http://packages.qa.debian.org]. Go to the directory where you want to edit the source and get all the required files with

dget -x [url to the dsc file]

(dget is in the devscripts package).

Before hacking

In the package direcory do dch -i. This invokes an editor with an already prepared update of the changelog. First, the new version number should be adjusted, according to the following scheme (applies to non-maintainer uploads):

  • if the old version was package-X-Y then the new version number is package-X-Y-1

  • if the old version was package-X-Y.2 then the new version number is package-X-Y.3

  • if the old version was simply package-X then the new version is package-X-0.1

On the first line after the package version, mark your changes as non-maintainer upload:

  * non-maintainer upload

On the next lines explain what the changes will be, e.g.

  * Fixed this and that (#123456).

Note: Non-maintainer uploads should contain only minimal changes, and only changes relating to RC bugs.

Actually fix the bug

Fix the bug (how? The answer is beyond the scope of this HOWTO).

Build/test your package

Quick and dirty

There is the quick and dirty method (for testing purposes). After installing all build-depends (apt-get build-dep [package]) for the package,

fakeroot debian/rules binary

builds a deb which you can install (but not upload).

Using pbuilder

The recommended method is to use pbuilder - for several reasons:

  • your system does not get cluttered with all the packages necessary to satisfy the build-depends
  • the build-depends are take care of automatically
  • the package is created in a clean, minimal environment. This ensures that the package will build on (presumably) any system, and not just your own.

If you want more details on pbuilder read the [http://www.netfort.gr.jp/~dancer/software/pbuilder-doc/pbuilder-doc.html manual]. Here we willl just describe what steps are needed to build the package.

First, create a base chroot image with

sudo pbuilder create

This creates /var/cache/pbuilder/base.tgz. If you already have such a base chroot image update it with

sudo pbuilder update

debuild (invoked in the package directory) can build the new source package and the binary package(s) in one go. If you do not want to sign the source or the changelog (because you do not intend to upload the package), use

debuild --debbuildopts '-us -uc'

Upload fix


  1. apt-source blabla
  2. pbuilder oder was auch immer benutzen
  3. am code rumfummeln
  4. patch generieren

Lintian und linda nicht vergessen, und mit nmudiff oder debdiff arbeiten (beide in devscripts).