What's the significance of "-0ubuntu1" at the end of a package version string?

Many packages built for Ubuntu seem to have a "-0ubuntu1" suffix (or, more generally, -XubuntuY). For example, the version string for a bleeeding-edge package from the nova project looks like:

2011.2~bzr663-0ubuntu1

I understand that 2011.2 is a major version, and bzr663 refers to revision 663 in the bzr repository, but what is the meaning associated with 0ubuntu1?


Solution 1:

Packages are versioned in a pattern like <upstream version>-<debian revision>. In this case, the upstream version is 2011.2~bzr663 & the debian revision is 0ubuntu1.

Normally in Debian, the revisions are just numbers such, but for Ubuntu, the ubuntu1 following the revision indicates that there are source changes to that Debian revision. 0ubuntu1 is a special case, as it's used as a revision that indicates that it's not based on any Debian package of that upstream version (since there wouldn't be a debian revision 0).

This is common when the Ubuntu package has been upgraded to a new upstream version ahead of Debian.