debian mentors/ tutorials/ Uploading to

Uploading to is a service provided by some memebers of Debian for hosting a package while you try and find a sponsor, or for any other purpose really.

Any webspace will do for hosting a package, but if you don't have any then this service is perfect. It is also good practice for seeing how uploads to the archive work.

To upload to (or m.d.n or just mentors if the context is clear), you can use one of the programs ?dupload or ?dput.

Getting an account

Go to and fill in the fields. In addition to the usual information you will need to enter your GPG key, this is so that the packages you upload signed with that key will be accepted.

Building a package for upload

It used to be that would only allow uploads of SourcePackages but now it seems you can upload BinaryPackages too if they have source with them.

In my opinion it is still easier to just upload a source package. To build a source package just build it the -S option to dpkg-buildpackage, or get the wrapper script to pass that argument.

If you want to upload a mixed package then there are two cases to consider. If the version of the pakage that you are building has a -1 DebianVersion then you will get a source package as well as binary packages. If the Debian version is greater then you will not. To get a source package as well in this case then build with the -sa option to dpkg-buildpackage.

You must also sign the package. This might be done as part of the build. If it is not then use debsign to sign the packages afterwards.

Uploading the package

The site covers this quite well, so have a look there:

First choose one of dupload or dput and install the package containing it (they both have the same name as the program), and set up the config file as directed on the above page.

Then use the command as shown on the page and you should be told the upload went OK. If it did not then have a look to see if the answer is given on

You should then recieve a mail within a few minutes either confirming that the upload was successful, or giving the reasons for failure. The error messages are usually very verbose and explain exactly what is wrong with your package and how to fix it.

If the upload was successful you will also get the output of running lintian on the package. The version in use on the server is generally a little out of date, and so may get some things wrong, particularly where the policy has recently changed. However you should not assume that all errors are sue to this, and you should check by running lintian locally as well.