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 |