Debian development

Interaction with the Bug Tracking System (BTS)

Reporting a bug

Use reportbug. For mass bug filing, see here.

Querying the BTS

use url
by number https://bugs.debian.org/number
by package https://bugs.debian.org/package
by submitter email https://bugs.debian.org/from:submitter@email.address
by tag https://bugs.debian.org/tag:tag
by severity https://bugs.debian.org/severity:severity
by maintainer email https://bugs.debian.org/maintainer@email.address

Checking if ITP or RFP for package exists

To see if there is an outstanding Request for Package (RFP) or Intent to Package (ITP) bug for a package, you can use wnpp-check from the devscripts package like so:

wnpp-check <package_name_substring>

Control commands

Directly with the bug via <bugnumber>@bugs.debian.org:

Control: retitle -1 <new title>
Control: owner -1 <email>

<additional text>

Only for control commands via control@bugs.debian.org:

retitle <bugnumber> <new title>
owner <bugnumber> <email>
thanks

For all control commands, refer to the respective Debian wiki page.

Packaging work

working with the pristine-tar branch

To pull the new upstream tarball, update the package source and commit the pristine tar deltas to the pristine-tar branch, run

gbp import-orig --pristine-tar --uscan

If you have the orig tarball already, you can just type

pristine-tar commit ../tarball.tar.gz

and it gets added to the pristine-tar branch.

maintaining the debian/copyright file

Souren Stoutner on debian-mentors:

lrc (licenserecon) - this has a lot of false positives, but it also catches a lot of things I need to look at. This doesn’t check copyright information, just licenses.

grep -Ri copyright - This is good for finding copyright statements you have missed.

creating an orig.tar (if missing for sbuild)

origtargz

creating a .debdiff

git checkout <package_version_tag_1> && sbuild
git checkout <package_version_tag_2> && sbuild
debdiff <package1>.dsc <package2>.dsc > <package>.debdiff

testing packages

To drop to a shell in an unshare chroot, you can invoke autopkgtest like so:

autopkgtest <package_amd64.changes> --no-built-binaries --shell -- unshare --release <oldstable/stable/testing/unstable>

debian/patches

Sometimes Debian developers need to patch the upstream code in their packages (e.g., when backporting security fixes). Typically, this happens with quilt. This Debian and this Ubuntu page describe the various quilt application scenarios.

packaging on Debian stable

Many Debian developers work on Debian unstable. If you choose to do packaging work on Debian stable, you might run into issues that some Build-Depends dependencies of the package you want to work on are not available (in the required version) on Debian stable. You can work around this by setting up a chroot when building the binary packages with sbuild, but the source package is built on your host outside the chroot.

In most cases you can, however, still build the source package with

dpkg-buildpackage -S -d

in the package directory, followed by

sbuild ../<your_package_version>.dsc -d unstable

to build the binary packages.

reproducibility

Since Debian 14 ("Forky"), packages shipped in Debian must be reproducible.

It is important to understand the difference between reproducibility as it is tested on tests.reproducible-builds.org vs reproduce.debian.net: While the former is a stress test (looking for sources of variance), the latter tries, with the info in the .buildinfo file, to reproduce what it shipped in the Debian archives.

todos and constribution statistics

developer dashboards

Salsa MR contribution statistics

purpose url
all MRs with user as author https://salsa.debian.org/dashboard/merge_requests?scope=all&state=all&author_username=USERNAME
all MRs approved by user https://salsa.debian.org/dashboard/merge_requests?scope=all&state=all&approved_by_usernames[]=USERNAME