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
- Sign up for an account. Getting an account on this server is an automatic process and will just take a moment. We require registration so we have a valid email address where sponsors can reach you.
- Upload your package to mentors.debian.net. You do not need to put your packages into any other web space on the Internet. Everybody will be able to download your package using either the web browser, the 'dget' tools or even through a simple run of apt-get source ….
- Have a look at your personal package page. Your uploaded package should show up there. From there you can toggle several settings and retrieve the RFS (request-for-sponsorship) template.
- Your package is on display on the main page of Mentors (if you enable the "Needs a Sponsor" button) so interested sponsors will see it and hopefully check it out.
- You will be shown a RFS (request-for-sponsorship) template that you should send out as a bug report filed against the sponsorship-requests pseudo-package to draw attention to your package.
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:
- File a follow-up request to your existing sponsorship-requests pseudo-package.
- Offer your package directly to relevant teams and individual developers. We made a list of sponsors , eventually willing to upload packages for you. Please don't contact every sponsor listed there. Instead, read their individual requirements and choose the sponsor which matches you and your package best.
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.