Sign me up Login

Introduction for maintainers: How will my package get into Debian?

We are glad that you found your way to our web site. Honestly, the whole web site is just there to get your work into Debian. Your contribution is highly appreciated. Read on to see in what ways we will be helping you find a sponsor.

1. Identify a package

Propose a package: File a WNPP bug

If you want to package something not currently available in Debian, the very first step should be to file an "Intent to package" (ITP) bug on Work-Needing and Prospective Packages.

Debian is a distribution, not a general purpose repository. Many of us do not believe every piece of free software necessarily belongs in Debian. Please do not treat Debian as a platform to advertise your own software, unless there is some real request for it. That said, there is no one who ultimately judges about that. Eventually you may get some feedback on that discussion after filing your WNPP bug (see below) however you are free to interpret that as a suggestion, not as a final vote. After all, you need to find a sponsor believing in the benefit of having your package in Debian. Please have a look at our sponsors page to learn about personal interests of sponsors.

Find a package looking for maintainers

If you want to contribute to Debian, but you do not know which packages to contribute to, take a look at "Request for help" (RFH), "Request for adopter" (RFA), "Orphaned package" (O) and "Request for package" (RFP) bugs. See WNPP below.

Work-Needing and Prospective Packages (WNPP) is our system of announcing your intent to markup packages being worked on. In particular it is a bug against the WNPP pseudo package (or use a nice frontend to browse WNPP bugs). You may want to use the reportbug tool to achieve that by selecting "wnpp" as package to report a bug to.

2. Make the package

Debian packages must comply to several normative requirements and guidelines. We can't give you exhaustive instructions on how to build packages here. In short, we expect you to provide a source package complying to the Debian policy at least (see below). Please take a look at those excellent resources:

The Debian Policy Manual
A must-read resource to learn about technical specification and technical requirements of Debian packages.
New Maintainer's Guide
A must-read resource to learn basics of Debian source packages
Lucas Nussbaum's packaging tutorial
A quick introduction to Debian packaging
Developer's Reference
A comprehensive manual describing typical workflows and best practices related to Debian packages
Guide for Debian Maintainers
Successor to the “Debian New Maintainers’ Guide”.
Debian Mentors FAQ (Debian Wiki)
Another valuable resource to learn about common terms and workflows related to Debian

3. Publish your package

This web site is a public package repository of source packages. You can upload your package to this server (through special tools like 'dupload' or 'dput') and after a few checks it will be stored in our repository. Interested sponsors can then download the package and upload it to Debian.

Using Mentors

How to upload packages to mentors.debian.net

You need to use dput to upload packages. We accept your uploads through HTTPS or FTP. All packages must be signed (using debsign) with the GnuPG key you configured in your control panel.

HTTPS uploads FTP uploads

To use HTTPS put the following content to your ~/.dput.cf file:

[mentors]
fqdn = mentors.debian.net
incoming = /upload
method = https
allow_unsigned_uploads = 0
progress_indicator = 2
# Allow uploads for UNRELEASED packages
allowed_distributions = .*

You can use FTP to upload packages to Mentors. If you prefer that method make sure you sign your uploads with your GPG key! This is the corresponding ~/.dput.cf file:

[mentors-ftp]
fqdn = mentors.debian.net
login = anonymous
progress_indicator = 2
passive_ftp = 1
incoming = /pub/UploadQueue/
method = ftp
allow_unsigned_uploads = 0
# Allow uploads for UNRELEASED packages
allowed_distributions = .*

Once you have it set up, you can run it from your shell like this:

$ dput mentors your_sourcepackage_1.0.changes

If you did everything right, you will get a confirmation mail from our site and you can start seeking a sponsor for your package.

4. Find a sponsor

Once your package is publicly available on any resource, including but not limited to Mentors you may start searching for a sponsor for your package. If you have already uploaded packages to Debian, you should ask your former sponsor. A sponsor is any Debian Developer willing to upload your package to Debian on your behalf. Have a look to our sponsors page to learn more on sponsors and how to find one.

The main point of the sponsoring process is to review your package to make sure it meets our technical requirements. Everyone can and should review other people's packages. Also, a clean package will increase your likelihood to find a sponsor. Please take a look at our page about package reviews.

The relation between you and your sponsor

A sponsor is not technically responsible for your package. You will be listed as the official maintainer of the package in Debian. You will even get the bug reports if people discover problems in your package. Apart from not being able to upload the package directly into Debian you are treated as a full member of the community. The Debian project appreciates the work you do.

What can I do if I don't find a sponsor?

Do not give up. Sponsoring can take a while. Nonetheless, here are a few hints:

5. Getting an upload to Debian

Once you find a sponsor interested in your package, they will sponsor it. That means reviewing, building, and testing it and then uploading it to Debian. You will get notified by dak - the software used by Debian to manage its repositories - about the upload. Please note, if your package was not at all in Debian before, it needs manual approval by ftpmasters to clear the NEW queue. They will do consistency checks, and review your debian/copyright file whether your package matches the Debian Free Software Guidelines. ftpmaster's opinion is binding here for both your sponsor and you.

6. Maintaining your package in Debian

Please see the corresponding chapter in the New Maintainer's Guide to get the idea. Whenever you feel like, you should update your package in Debian. The general procedure is not different from your first upload. Please upload your updated package to mentors.debian.net and notify your former sponsor about your change. Alternatively, follow the usual procedures.

If your package passes through the sponsoring process for a few successive uploads without any notable correction by your sponsor, you can become a Debian Maintainer which grants you limited upload rights to Debian directly. Get in touch with your sponsor to discuss your chances here. You can also become a Debian Developer giving you full membership in the project.

Extra: Collaboration and continious integration on Salsa

If you are familiar with the style of collaboration platforms where one can fork git repositories, submit pull requests, or similar, you can engage in it at salsa.debian.org, Debian's code hosting and collaboration platform. Packages on Salsa can also run the Salsa CI pipeline to ensure the package does not have any easily detectable regressions.