Ubuntu package version naming explanation
If you are using Ubuntu you have seen that many packages include in the version the name ubuntu… some packages don’t include ubuntu at all in the package version. Here you can find a short explanation on how you can interpret the meaning of the package version of the Ubuntu packages and to find the correspondence with the Debian packages.
Basically each package will be in the form: “package-XubuntuY“.
Let’s break this apart and see what each part means:
- package = this is the name of the program/library.
- X = this is the debian version of the package
- if X=0 this means that there is no debian package (or that the ubuntu team has forked a debian package to a newer version than the one found in the debian repositories)
ex: bzip2-1.0.3-0ubuntu2
(as shown in this example the debian package might be updated in the meantime and the ubuntu package will probably merged with it on the next version) - ubuntuY = this is the Yth ubuntu version of the debian package.
- if this is missing this mean that it is a clean, unchanged debian package
ex: gzip-1.3.5-12
(in this sample, this is the original debian package included in ubuntu)
- if this is present it means that Ubuntu has taken the debian package and released it with some additional patches or bug fixes.
ex: sudo-1.6.8p12-1ubuntu6
(in this sample this is the 6th version of the ubuntu package based on the debian version 1.6.8p12-1 of sudo).
As a conclusion, the version of a package can be:
2.6.0-1 - means that this is the 1st debian package of version 2.6.0. No ubuntu changes were included.
2.6.0-1ubuntu1 - means that this is the 1st ubuntu package based on the debian package version 2.6.0-1
2.6.0-0ubuntu1 - means that there was not a debian package yet and this is the 1st ubuntu version of package 2.6.0
>







9th February 2007, 23:45
Very useful, thanks.
12th May 2007, 10:10
[...] 转自:http://www.ducea.com/2006/06/17/ubuntu-package-version-naming-explanation/ [...]
17th May 2007, 23:02
so maybe you know why some of the packages use colon in the version number?
like for example ffmpeg 3:0.cvs20050121-1ubuntu1
I have problem with preparing my own ffmpeg packege, because in checkinstall I can’t use colons in version number…
so I tried to give it “9999″ version number. but I still get information from upgrade system…
12th September 2007, 12:01
The part before the colon is called the epoch, and it’s used when there’s a change in the numbering scheme, so updates get properly applied.
1st January 2008, 07:23
What about the tilde (~) character? How does that get interpreted?
I ask because I just got an error from the PPA build system on Launchpad which seems odd to me (inst 0.3~svn.r90520-1 ! >= wanted 0.3)…
16th April 2008, 04:09
I think that ~ is used for versions in development. 0.3~svn…. means that this is the pre version 0.3 which was took from the svn repository. In firefox 3.0, current version is 3.0~b5+nobinonly-0ubuntu2 which is the beta 5 of firefox 3.0, but I don’t know which is the meaning of “+nobionly”
16th April 2008, 07:30
Yes, I discovered after posting the question, that ~ evaluates to less than a null string, i.e. package-1.1~svn123 < package-1.1, so that it can be used for pre-release versions, such that package-1.1 would replace package-1.1~svn123 when released. Plus + does the opposite, so that package-1.1+mychanges replaces package-1.1.
16th April 2008, 11:11
Excellent explanation. Thanks.
21st May 2008, 11:32
And what’s the logic behind 3.3 in a package name such as:
mysql-client 5.0.45-1ubuntu3.3
11th September 2008, 13:20
That’s the Ubuntu revision number. What Ubuntu has changed on top of the Debian change (which in your example is revision 1).
1st November 2008, 17:55
[...] Como ya hemos terminado, tendremos el paquete en el directorio /tmp (ó $HOME/tmp)! Un consejo, si piensas publicarlo y mantenerlo actualizado, te recomiendo que mires este post sobre como nombrar los paquetes para Ubuntu. [...]
19th November 2008, 10:43
PackageVersioningAndDeployment…
Package Versioning Current APTserver with .debpackages, versioned after the svn revision number they were built with appended to an internal version number…….
28th February 2009, 21:42
My name above is linked to the relevant part of the Debian Policy Manual.
debchange/dch script from devscripts package recognizes following version suffixes
1. for Ubuntu (dch –distributor=Ubuntu or packages built on Ubuntu system):
ubuntuN
buildN
propN
proposedN
~ppaN
All but the last (ppa) can also have dot in numeric part (N.M) for updates (usually from -updates repos) like ubuntu2.1
Updates that backport newer versions into released distribution (usually from -security repos) have multiple dotted parts like this:
ubuntu0.8.04.1 (for Ubuntu 8.04 hardy)
Proper backports (from -backports repos) have tilde suffix like this:
0ubuntu1~hardy1 (for hardy)
2. for non-maintainer uploads (dch -n):
+nmuN (Debian native package)
.N
0.N (NMU of newer upstream version)
+bN (binary-only NMU, like Ubuntu’s buildN, dch –bin-nmu)
3. for Debian backports from backports.org:
~bpo50+N (this is for Debian 5.0 ‘lenny’)
18th June 2009, 08:07
PackageVersioningAndDeployment…
Package Versioning Release Releases are built using the Hudson Release Job. Each package receives the version number given in the build.properties plus the current release version. See Releasing for details…….