Introduction

Here's a small howto on how to work with the pkg-iproute Collaborative Maintenance repository on Alioth. This repository is the base for the "iproute", "iproute-dev" and "iproute-doc" packages (src:iproute) found in Debian (and Ubuntu).

Working with pkg-iproute collab-maint repository

Since soon after the wheezy release, the iproute package was renamed to the upstream name iproute2 and was then also given the new versioning scheme (with v3.9.0 being the first upstream version making it into the debian archive). This now also means we can make use of a regular debian/watch file.

Further refinements has been made on how to work with pkg-iproute in git.

checkout and building the repository

importing a new upstream release

working with patches

The package uses the standardised "3.0 (quilt)" source format. This means patches get added to ./debian/patches/ in quilt style.

Different people might have different opinion on which way is easiest, but one way of doing work with patches is to import them into git:

make your changes to the branch you just created (and imported the packages patches into), then:

You've now updated ./debian/patches/ (and dropped your temporary patch branch) and should commit your changes!

pulling commits from upstream into ./debian/patches/

If you for example want to pull a single patch from upstream and add it as a patch, here's an example.

Add the upstream repository as a remote:

Download the content:

Import existing patches to patch branch:

Find upstream commit id you want to import:

Import the commit into the patch branch:

Export patches:

Now don't forget to commit your changes in ./debian/patches/ !

Finally, run "git-dch --auto" to update the changelog!

contributing changes to pkg-iproute

Contributions are very welcome! If this is your first time contributing, please email your changes to iproute@packages.debian.org or better yet open a bug report and submit it there!

To export your work as patches:

If you feel experienced enough to push stuff directly without review (please avoid!), then you might want to add a "pushUrl" since debcheckout will set origin to the "anonymous checkouts":

Making releases

The general procedure for making and uploading a new package version to the debian archive consists of the following steps.

Update the (debian) changelog:

Target distribution in changelog (and make final adjustments):

Commit changelog to repository:

Build the package (in a clean environment):

(I use a script which helps me set up cowbuilder with extra tweaks, but something like this should work.)

Install and Test the new package:

Sign the updated package:

Upload to the debian archive:

Tag the release in git:

See also