5. Package Versioning

The source and package version are prefixed with the pristine source version followed immediately by a + and then a number representing the number of patches applied.

Table 1. Examples of Versions

Example package Component Branch Base Version Patch Level
hadoop-0.18-0.18.3+76 hadoop 0.18 0.18.3 76
hadoop-0.20-0.20.0+45 hadoop 0.20 0.20.0 45
hadoop-0.18-0.18.3+76.3 hadoop 0.18 0.18.3 76.3
pig-0.3.0+14 pig - 0.3.0 14


It's possible to have a dot (.) patch level, e.g. 76.3, which implies that 79 patches have been applied to the pristine source. This dot notation is necessary for package managers like apt and yum to correctly choose upgrades based on the repository you are tracking. Package managers interpret versions with more segments are newer, e.g. 76.3 > 76, however, the number of segments is ignored if the first segment is greater, e.g. 76.3 < 77.