Ubuntu – the difference between the release, share and submitubuntu commands in Quickly

application-developmentppaquickly

There are 3 different commands in Quickly to release a new version of an app into a PPA

  • release – Posts a release of your project to a PPA on launchpad so that users can install the application on their system.

  • share – Updates your PPA with the the latest saved project changes.

  • submitubuntu – Posts a release of your project and submit it the ubuntu
    application review board so that any users can see and install the
    application ont their system.

Even after reading the help, I cannot figure out when or if I should use each one of them.

So what are the main differences between these commands and when should I use each one?

Best Answer

Those three commands are intended as three levels of "officialness" to your release.

share

share does 2 main things:

  1. Packages your software with a version suffix like -public1
  2. Uploads that package to a PPA

So it's good for quickly getting code to testers. Ideally you'd use a separate PPA from your normal releases.

release

release does the same thing as share except:

  1. Updates your version with a real version number like 12.04 (or whatever number you provide)
  2. Saves your changes to bzr and tags it with the version number
  3. Pushes a tarball of your release to your Launchpad project page

So it's good for releasing a version of your software that is ready for prime time.

submitubuntu

submitubuntu does the same thing as release except:

  1. The PPA package of your software will be setup to make it easier for the App Review Board to accept (installs your software in /opt, adds certain metadata flags, etc)

So this is good for releasing a version of your software that you also intend to submit to the ARB. Note that this does not automatically submit it. It just makes packaging changes to make the ARB process quicker once you do. You will then need to point the ARB to the PPA into which you uploaded.

If you just want to test those packaging changes (like /opt), but without actually releasing, use quickly package --extras.