This section provides some background on how binary package versioning is accomplished and presents some of the services, variables, and terminology involved.
In order to understand binary package versioning, you need to consider the following:
Binary Package: The binary package that is eventually built and installed into an image.
Binary Package Version: The binary package version is composed of two components - a version and a revision.
PE
)
is involved but this discussion for the most part
ignores PE
.
The version and revision are taken from the
PV
and
PR
variables, respectively.
PV
: The recipe version.
PV
represents the version of the
software being packaged.
Do not confuse PV
with the
binary package version.
PR
: The recipe revision.
SRCPV
:
The OpenEmbedded build system uses this string
to help define the value of PV
when the source code revision needs to be included
in it.
PR Service: A network-based service that helps automate keeping package feeds compatible with existing package manager applications such as RPM, APT, and OPKG.
Whenever the binary package content changes, the binary package
version must change.
Changing the binary package version is accomplished by changing
or "bumping" the PR
and/or
PV
values.
Increasing these values occurs one of two ways:
Automatically using a Package Revision Service (PR Service).
Manually incrementing the
PR
and/or
PV
variables.
Given a primary challenge of any build system and its users is how to maintain a package feed that is compatible with existing package manager applications such as RPM, APT, and OPKG, using an automated system is much preferred over a manual system. In either system, the main requirement is that binary package version numbering increases in a linear fashion and that a number of version components exist that support that linear progression. For information on how to ensure package revisioning remains linear, see the "Automatically Incrementing a Binary Package Revision Number" section.
The following three sections provide related information on the
PR Service, the manual method for "bumping"
PR
and/or PV
, and
on how to ensure binary package revisioning remains linear.