Packaging/PPA/Uploading

Not logged in - Log In / Register

Revision 13 as of 2009-12-01 22:37:13

Clear message

Launchpad Help > Packaging > PPAs > Uploading a package to a PPA

Uploading a package to a PPA

Once you've built your source package, you need to upload it to Launchpad using the dput tool.

Note: We will not accept uploads of packages that are unmodified from their original source in Ubuntu or Debian, only packages that include your own changes. We ask that people include useful changelogs for each package so that users and other developers can understand what new features they are exploring in their work. Read the PPA Terms of Use for more information.

Dput uploads the following files:

First, you need to tell dput where to send your package and by what method. To do that, edit ~/.dput.cf to look like this:

[my-ppa]
fqdn = ppa.launchpad.net
method = ftp
incoming = ~<your_launchpad_id>/<ppa_name>/ubuntu/
login = anonymous
allow_unsigned_uploads = 0

You'll need to:

Next, open a terminal and enter the following:

$  dput my-ppa P_V_source.changes

Replace P with the package name and V with the version number.

Find out about possible upload errors.

Using packages from other distributions

You can use your PPA to build sources from other distributions that use .deb packages.

Create a new dput configuration section using incoming = ~<lp_name>/ppa/ubuntu/<a ubuntu suite> and the suite you specify will override the suite named in the upload changelog when you upload it using the new configuration:

$ dput my-ppa-force-hardy  P_V_source.changes

You can upload a source from any Debian-compatible distribution straight to your PPA with no changes required and it will be built and published in the targeted Ubuntu suite.

Important: Although Launchpad will attempt to build the package, it may not be able to meet all of the dependencies of a source created for another a distribution.

Important: Version numbers must be unique. This has implications if you want to provide packages for multiple Ubuntu series at once:

If your package can be used on different versions of Ubuntu without being recompiled you can copy the existing binaries to the new series; see Copying packages.

If your package does need to be recompiled to support multiple Ubuntu series, then you should add a suffix of the series name to the version number. So a package for the Intrepid Ibex could be named myapp_1.0-2~ppa1~intrepid1 and for the Hardy Heron myapp_1.0-2~ppa1~hardy1. If you need to release an updated package, increment the ~ppan suffix. Specifying the version name here doesn't change the series that you are targetting; this must still be set correctly as described in the Ubuntu packaging guide's section on the changelog file.

Next steps

If there's a problem with your source package, or its upload, Launchpad will give you an error. Find out more about what the upload errors mean.

You can also read how to delete packages from a PPA.

< Building a source package

Deleting packages from a PPA >