The preferred path for getting your new package into Ubuntu is to first submit it upstream to Debian. Once it's packaged for Debian, you can then request a sync to Ubuntu. This also has the advantage of making your package available to more users. For general instructions on getting your package into Debian, see the Debian mentors page. Note that there are many teams in Debian that can offer more focused mentorship. For example, if you have a new Python module you want to get into Debian and Ubuntu, you should begin your journey with the Debian Python Modules Team (DPMT). You can visit the IRC channel #debian-ubuntu on irc.oftc.net to discuss packaging in Debian with Debian and Ubuntu developers.
If your new package is Ubuntu-specific, or for some other reason you can't get your package into Debian first, the second best strategy is to follow the procedure for submitting a package through MOTU.
What is REVU?
REVU (http://revu.ubuntuwire.com) is a web-based tool which some Ubuntu mentors use as they review new packages. It is no longer actively used by Ubuntu Developers, so you should generally only submit a package there when a mentor specifically requests you to do so.
How does REVU work?
Packagers can upload their packages to REVU. The packages can then be commented on by reviewers, and the packager can send updates of their package to REVU until it gets advocated by at least 2 MOTUs. At that point, a MOTU can upload the approved package to Universe.
If you packaged a new upstream version (of a package that is already in the archives), and you want to get it sponsored, do not use REVU to get it sponsored. Instead see SponsorshipProcess.
Contribute as an Uploader
Why contribute as an Uploader?
If you've built a package of a program that isn't available in the development version of either Ubuntu (currently PrecisePangolin) or Debian (Sid), you can upload it to REVU. It can then be checked over by MOTUs and advocated into Ubuntu's Universe archive.
In order to do this, you need to register as an uploader on the REVU system.
Register as a REVU uploader
Then log in to REVU and it will automatically get your GPG key from Launchpad, which it will then use to recognize your uploads.
It is important that you login to REVU at least once before you upload first package. If this is not done then REVU will not have your GPG key imported from Launchpad and the package will get rejected automatically.
Upload your packages
Uploading to REVU is done with dput.
In distributions starting with Ubuntu 6.06 LTS (Dapper Drake), dput is already configured for REVU uploads, with the [revu] entry. However, if are running an earlier version you can add the following entry to your /etc/dput.cf:
[revu] fqdn = revu.ubuntuwire.com incoming = /incoming login = anonymous progress_indicator = 2 allow_unsigned_uploads = 0
If you are not an Ubuntu developer, you can set REVU as the default host for dput by modifying the [DEFAULT] section in dput.cf. This way, you don't need to specify what host to use when using dput to upload.
default_host_main = revu
Building a package for upload
Uploads to REVU should only be signed source files, with the original tarball. Please do not upload unsigned source or binary packages. The allow_unsigned_uploads = 0 in the [revu] stanza in dput.cf should be enforcing this anyway.
Inside your package directory, issue
dpkg-buildpackage -S -sa -rfakeroot
-S builds a source package, and -sa includes the original source. If your GPG key is not configured correctly, add -kGPGKEYID to the command line.
Consider going through the REVU Checklist with your package.
dpkg-buildpackage will output a package-version_source.changes file, which is uploaded with dput.
dput revu package_version_source.changes
If your firewall requires passive FTP, dput may hang while uploading. In that case, try dput -P package-version_source.changes.
If you haven't set REVU as the default host (as explained previously), you need to specify to dput that you wish to use it on the command line: dput revu *_source.changes. The default host is the Ubuntu official repository, and if you are not an Ubuntu developer, your upload to the Ubuntu repository will be rejected.
If you are reuploading a changed package (after receiving reviews), you may get an error like this:
Upload package to host revu Already uploaded to ubuntuwire.com Doing nothing for myapp_source.changes
To fix, add the -f option to dput to force the upload.
If you aborted an upload in progress, you might get an error like this:
Error '553 Could not create file.' during ftp transfer of myapp.dsc Note: This problem might be caused by files already existent on the server. For the official Debian upload queues, the dcut(1) utility can be used to remove stale files from unsuccessful uploads.
To solve this, just wait 5 minutes. Processing of uploads is done every 5 min. If your upload doesn't show up, please contact the REVU administrators on the IRC channel #ubuntu-motu:
- Siegfried Gevatter (RainCT)
- Nathan Handler (nhandler)
- Emmet Hikory (persia)
- Jonathan Davies (jpds)
- Morten Kjeldgaard (mok0)
- Raphaël Pinson (raphink)
- Richard Johnson (nixternal)
How to log in
REVU uses Launchpad's OpenID server. When you click "Login via Launchpad OpenID", you'll be redirected to Launchpad to confirm the login and then redirected back to REVU.
View and comment uploads
Packages uploaded to REVU are made public. You can browse them without logging in to the system.
However, only registered users can comment. Commenting on your own packages can be useful to give reviewers some info on the changes you have made between two uploads of your packages. You can also review packages from other people, even if you are not a MOTU, if you know for sure that what you write is true.
In order to know if a comment is from a MOTU, look at the icon before his name; if it shows a light bulb, it's from a contributor; if it shows the MOTU emblem, it's from a MOTU, and if it shows a green tick, that does not only mean that it's from a MOTU but also that he advocated the package.
- You must have reviewed your package for known security vulnerabilities and provide patches for all of them.
- We can refuse the package on the grounds of known security problems and design.
- You must have included a copyright and license file, and those must allow inclusion of the package in the universe component and on mirrors.
- The package must be known to build on top of the main component of the current Ubuntu stable release; it may require other packages already in universe.
If you need help on these steps or if you have more questions about REVU, you can ask in #ubuntu-motu on the Freenode network.
When your package has two MOTU advocates, it will be uploaded to Ubuntu's New queue. Here it will be reviewed yet again by an Archive Admin. Read more about this on the page REVUWhatNext.
Why contribute as Reviewer?
Do you have some experience in packaging and know policy well? Then you can help improving the packages uploaded to universe and guide packagers in doing so, by contributing as a reviewer on REVU.
Register as reviewer
What you need :
Please contact one of the REVU administrators (see a list on the statistics page) on the IRC channel #ubuntu-motu. We will mark you as Reviewer in the database.
Using REVU-Tools to review on REVU
When reviewing a package that needs work before upload, please summarise as many issues as possible in the REVU comment, so that the Uploader has a larger work list. It can be very frustrating to revise the package for each issue, and Uploaders may wonder if it will ever end.
If you advocate a package, please paste the URL in #ubuntu-motu with a notification of advocation, to encourage someone to upload it.
Tip: You can easily download a source package using the .dsc with dget (package devscripts)
dget -ux http://path/to/the/dsc/file
Please submit feature requests and bug reports to the REVU Project on Launchpad.