1

I have a PPA set up to allow an application that I wrote to be installed by others. Currently, I have no plans for the application to be included in the official Ubuntu or Debian repos.

I recently created the packages for the initial version (1.0) of the application for each of the following Ubuntu releases: precise, trusty and vivid. They're versioned like this:

1.0~<series>1

where

<series>

is "trusty", "precise" or "vivid".

Will this versioning work so that I can later make updates available to my users or do I need to change it to something else? For what it's worth, I'm using source format, "3.0 (native)" which may or may not be appropriate in my case... Overall, packaging for upload to PPAs has always been an area of considerable confusion for me and I'm hoping to get a better handle on how this ought to be done. I appreciate any and all help!

  • How I practice it: You can always add "levels", e.g. : 1.0.1 will successfully supersede 1.0 etc. Only change the 1.0 into 2.0 for a completely rewritten version. Only change 1.0 into 1.1 for major updates. Change 1.0.1 into 1.0.2 for normal updates, bugfixes etc. You must however always change the version number for changed source. – Jacob Vlijm Aug 2 '15 at 18:13
  • 1
    Thanks so much for the clarification Jacob! I'll definitely make use of this. – Barry Aug 2 '15 at 18:53
0

TL;DR Yes, your versioning would work.


A short copy and paste from Building a source package – Versioning

Versioning

Ubuntu package names are suffixed by the version number of the package. This allows Ubuntu to distinguish newer packages from older ones and so remain up to date.

If you're creating an alternative version of a package already available in Ubuntu's repositories, you should ensure that:

your package supersedes the official Ubuntu version
future Ubuntu versions will supersede your package. 

To do this, add the suffix ppan (where n is your package's revision number). Two examples:

Ubuntu package myapp_1.0-1 → PPA package myapp_1.0-1ppa1

Ubuntu package myapp_1.0-1ubuntu3 → PPA package myapp_1.0-1ubuntu3ppa1 

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 then use the naming scheme already described. When you have successfully uploaded your package to your PPA 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 a tilde and the series name to the version number. So a package for the Intrepid Ibex could be named myapp_1.0-1ubuntu3ppa1~intrepid1 and for the Hardy Heron myapp_1.0-1ubuntu3ppa1~hardy1. If you need to release an updated package, increment the ppan suffix. It is important to note that specifying the version name here doesn't change the series that you are targeting; this must still be set correctly as described in the Ubuntu packaging guide's section on the changelog file.

  • Thanks for the super quick response. So, in my case, "the version number of my current package itself" is "~<series>1" and if I were to make modifications to my app's source code, I'd bump not just the app's version number but the package's as well? If so, then the next release of my package might be named "<app name>_1.0.1~<series>2"? – Barry Aug 2 '15 at 18:48
  • Is your package already available in Ubuntu's repositories? – A.B. Aug 2 '15 at 18:52
  • Sorry if I'm misunderstanding your question... If you mean, can my package currently be installed via my PPA, then yes. It's not an official Ubuntu package. – Barry Aug 2 '15 at 19:19
  • And has not the same name as an existing package in the officially repositories? Than you don't need the PPA number, <series>2. In this case …_1.0.0~vivid is enough – A.B. Aug 2 '15 at 19:20
  • That's correct -- there's no package in the official repository having the same name as my app/package. So, if I understand correctly, I didn't need to add the "1" on the end in the first place and plus, I don't need to continue adding a digit to the end for upcoming releases either... – Barry Aug 2 '15 at 19:50

Your Answer

By clicking "Post Your Answer", you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.