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 appreciated and it would be a pity if you did not find a sponsor to upload your packages. Read on to see in what ways we will be helping you find a sponsor.
1. Find a requested package
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.
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.
2. File a WNPP bug
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). 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 against WNPP. You may want to use the reportbug tool to achieve that by selecting "wnpp" as package to report a bug to.
3. 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
- Debian Mentors FAQ (Debian Wiki)
- Another valuable resource to learn about common terms and workflows related to Debian
4. 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.
- 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 HTTP or FTP. All packages must be signed with the GnuPG key you configured in your control panel.
|HTTP uploads||FTP uploads|
To use HTTP put the following content to your ~/.dput.cf file:
[mentors] fqdn = mentors.debian.net incoming = /upload method = http 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 = / 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.changesIf you did everything right, you will get a confirmation mail from our site and you can start seeking a sponsor for your package.
5. 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 sponsor's 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 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.
6. Getting an upload to Debian
Once you find a sponsor interested in your package, he will sponsor it. That means reviewing, building and testing it and then uploading 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.
7. 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 fist 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.