Questions about submitting a package

Allison Randal allison at
Sat Oct 8 12:05:52 UTC 2011

On 10/07/2011 04:29 PM, Jesse Smith wrote:
> I have been reading the documentation on publishing a package/app and I
> have a few questions about Step 5, packaging the app. Specifically I'm
> curious about:
> 1. "Be in one, self-contained directory." Does this mean my application
> plus any dependencies have to all be packaged together?

All this means is that if you submit a tarball, it should unpack into a
single directory, instead of unpacking into a bunch of separate files.
It's easy to do, but is also a common mistake.

> My app relies on
> the SDL library, which is included in Ubuntu's repository. Do I have to
> include SDL in the package I submit?

We prefer that you specify SDL as a package dependency, so your package
uses the library that's already in Ubuntu. (It also makes your package
smaller.) We can show you how to do this if it's not clear from the

> 2. "Be able to be installed into /opt/pkgName". By what method? Do I
> need to supply a binary package which will install to this location, or
> are we talking about a source-level flag like "make install-pot"? Can
> the package also install to other locations or must it always be
> installed to /opt/pkgName?

If you submit a tarball, this means you have to make sure your app is
able to run if it's installed in /opt/pkgName, and that the install
process is able to install the app in /opt/pkgName. Some apps have
hardcoded paths to /usr/bin or /usr/lib, and so won't install elsewhere
or break if they're installed elsewhere.

If you submit a .deb package, this means you have to make sure the
package actually does install all files under /opt/pkgName/. Some apps
or build tools provide an option to specify the install path, and if
yours does, this means you need to set the install path to /opt/pkgName
in your packaging files.

> 3. Does a non-commercial app I submit have to be in binary or source
> format?

It should be in source format.

> 4. The video tutorial shows software being published through LaunchPad.
> Since the software already has its own website, do I need to also
> publish on LaunchPad?

Publishing on Launchpad is optional.

> The only tutorials I can find on the site assume the developer is using
> Python and Quickly. A step-by-step guide to packaging a C/C++ program
> would be really helpful.

The general guide for creating a new package of any kind is:

Read through especially the "Basic Packaging" section. We're happy to
answer any questions, or walk you through any of the steps.


More information about the Ubuntu-app-devel mailing list