Differences between revisions 7 and 8
Revision 7 as of 2009-03-16 03:33:03
Size: 5246
Editor: anonymous
Comment: converted to 1.6 markup
Revision 8 as of 2011-01-18 13:58:35
Size: 5376
Editor: ?MichaelVogt
Comment:
Deletions are marked like this. Additions are marked like this.
Line 14: Line 14:
 * Michael Vogt is currently the main person doing uploads and work.  * Michael Vogt is currently the main person doing uploads.
* David Kalnischkies is the main person that does the coding working.
 * Julian Andres Klode works on a experimental resolver interface

Apt Team

We maintain apt and python-apt.

Infrastructure

Current Team Roles

  • Michael Vogt is currently the main person doing uploads.
  • David Kalnischkies is the main person that does the coding working.
  • Julian Andres Klode works on a experimental resolver interface
  • Otavio Salvador helps from time to time, either merging patches or doing some uploads.
  • Daniel Burrows contributed in some bugs, as he's obviously directly interested in APT, being the maintainer of aptitude.
  • Christian Perrier is doing l10n maintenance.

How to use bzr

The apt team is using bazaar (bzr) as version control system. Bazaar is a distributed version control system that is easy to use and still powerful.

Branches used

Bazaar makes branching and merging very easy. Most development is done in feature branches or user branches that are then merged into the ""debian-sid"" or ""debian-experimental"" branch.

Help needed

How to contribute

Everybody can help APT. You are welcome to contribute on bug traging, coding, fixing bugs and merging patches, translating and so on.

Creating a local branch

Before you start, we suggest you to get a working copy of either debian-sid or debian-experimental development branch.

APT uses the bazaar DVCS:

aptitude install bzr

These commands will create a directory named respectively debian-sid and debian-experimental:

bzr branch nosmart+http://bzr.debian.org/apt/apt/debian-sid
bzr branch nosmart+http://bzr.debian.org/apt/apt/debian-experimental

Now you have two local branches tracking the remote ones.

Inside your local branch, you can merge the changes from the remote branch into your branch with the following command, to keep your working copy up-to-date:

bzr pull

Move to debian-experimental and search for an UNRELEASED version. If there isn't any, create it with dch.

Preparing and triaging

Now let's look at some bugs about apt and search for the ones tagged patch. This tag means the bug has already a patch that fixes the bug and should be reviewed. You can filter the search further.

At the beginning, it's better you start gaining experience with both the code and the documentation by looking at some minor and normal bugs. The following steps are suggested to get the triage done the best way for one bug:

  1. Read the whole information about the bug (and merged bugs), including comments until the end
  2. Read the provided patches (including merged bugs)
  3. Thank the reporter and the patcher then tune tags and severity when needed by using the control server. Please ask the maintainer when you are in doubt.

  4. Apply the patches you think are worth to be included in the latest TIP of bzr (i.e. debian-experimental). If it doesn't get applied correctly, modify the sources accordingly to the patches and to the discussion and please attach an updated patch to the bug.

Save in a personal TODO all the bugs you triage and the ones you are in doubt to contact the maintainer at once.

Committing the changes

For each patch you apply or different things you do (also small changes or typos), commit them in your local branch and create a debian/changelog entry about the changes in a compact form:

bzr commit -m "Message"

Usually using the changelog entry as the message is enough. If you want to delete the last commit because you made a mistake:

bzr uncommit

Remember to daily bzr pull to merge remote changes into your local branch.

Publishing your branch

After you got a good set of commits and everything works correctly, you can publish your branch over internet, then you can propose a merge by contacting the mailing list with your repository URL:

bzr push URL

The repository must be sftp capable.

For example, you can create an account on launchpad which offers free service for bzr hosting:

  1. Tune your account
  2. Setup your own SSH key to access the remote branch
  3. Register a new hosted branch under the apt project with the name debian-experimental having the experimental status

  4. Access your branch web page and you can see the URL to use for bzr push.

NB: notice that the lp: protocol already includes the sftp capability and it's strictly related to launchpad.