Explaining package versioning
Package versioning is used to differentiate the same package in distinct stages of its life cycle. From Poky’s perspective, it is also used as part of the equation that generates the checksum used by BitBake to verify whether a task must be rebuilt.
The package version, also known as PV
, plays a leading role when we select which recipe to build. The default behavior of Poky is always to prefer the newest recipe version unless there is a different explicit preference, as discussed in Chapter 5, Grasping the BitBake Tool. For example, let’s suppose that we have two versions of the myrecipe
recipe:
myrecipe_1.0.bb
myrecipe_1.1.bb
BitBake, by default, builds the recipe with version 1.1
. Inside the recipe, we may have other variables that compose package versioning with the PV
variable. These are the package epoch, known as PE
, and the package revision, known as PR
.
Those variables normally follow this pattern: