How to Adopt a Debian Package via WNPP
Adopting a package in Debian through the Work-Needing and Prospective Packages (WNPP) system allows contributors to take over the maintenance of orphaned or unmaintained software. This guide outlines the essential procedural and technical steps involved in the adoption process, beginning with the initial claim of the package on Debian's bug tracking system and concluding with the upload of the updated package to the official archive.
1. Identify the Package and Bug Report
Unmaintained packages are tracked under Debian's pseudo-package
wnpp. A package available for adoption is marked with one
of two bug types:
- O (Orphaned): The previous maintainer has abandoned the package, and it is temporarily maintained by the Debian QA team.
- RFA (Request for Adoption): The current maintainer wishes to step down but continues to maintain the package until a successor steps forward.
2. Declare an Intent to Adopt (ITA)
To signal to the community that you are taking over maintenance and to avoid duplicate efforts, you must retitle the existing WNPP bug:
- Send a control message to Debian's Bug Tracking System (BTS) at
control@bugs.debian.org. - Retitle the bug from
O: package-name -- short descriptionorRFA: package-name -- short descriptiontoITA: package-name -- short description. - Set yourself as the owner of the bug by issuing the
owner <bug-number> !command (or specifying your email address).
3. Retrieve and Inspect the Source Code
Obtain the latest packaging source code from the Debian archive or the team repository (such as Salsa, Debian's GitLab instance):
- Check open bugs listed in the BTS against the package to understand existing issues.
- Review the current packaging files in the
debian/directory to evaluate required modernizations, such as updating thedebhelper-compatlevel or fixing lintian warnings.
4. Update the Packaging Files
Edit the necessary files in the debian/ directory to
formally transfer maintenance:
debian/control: Replace the existing entry in theMaintainer:field with your full name and email address. If the package was orphaned, remove it from the QA team. Update theVcs-*fields to point to your new packaging repository if applicable.debian/changelog: Add a new changelog entry. The entry must explicitly mention the change of ownership and reference the WNPP bug number using the format* New maintainer (Closes: #<bug-number>).
5. Address Pending Issues and Test
Before preparing the package for release:
- Fix any outstanding Release-Critical (RC) bugs or long-standing defects where feasible.
- Update
debian/controlto reflect the latestStandards-Versionafter verifying compliance with the Debian Policy Manual. - Build the package cleanly in an isolated environment using tools
like
sbuildorpbuilder. - Run
lintianon the generated.changesfile to check for packaging errors or warnings.
6. Upload the Package
The final step depends on your status within the Debian project:
- Debian Developers (DD) or Debian Maintainers (DM) with
upload permissions: Upload the signed package directly to the
Debian incoming queue using
dputordupload. - Non-DD/DM Contributors: Seek a sponsor by uploading
the package to
mentors.debian.netand filing a Request for Sponsorship (RFS) bug against thesponsorship-requestspseudo-package. Once a sponsor reviews and approves the changes, they will sign and upload the package to the archive on your behalf.
Once the package is processed into the Debian archive, the BTS automatically closes the ITA bug, completing the adoption process.