If for some reason you choose not to upgrade recipes using the
Auto Upgrade Helper (AUH)
or by using
devtool upgrade
,
you can manually edit the recipe files to upgrade the versions.
devtool upgrade
, both of which
automate some steps and provide guidance for others needed
for the manual process.
To manually upgrade recipe versions, follow these general steps:
Change the Version:
Rename the recipe such that the version (i.e. the
PV
part of the recipe name) changes appropriately.
If the version is not part of the recipe name, change
the value as it is set for PV
within the recipe itself.
Update SRCREV
if Needed:
If the source code your recipe builds is fetched from
Git or some other version control system, update
SRCREV
to point to the commit hash that matches the new
version.
Build the Software: Try to build the recipe using BitBake. Typical build failures include the following:
License statements were updated for the new
version.
For this case, you need to review any changes
to the license and update the values of
LICENSE
and
LIC_FILES_CHKSUM
as needed.
Custom patches carried by the older version of the recipe might fail to apply to the new version. For these cases, you need to review the failures. Patches might not be necessary for the new version of the software if the upgraded version has fixed those issues. If a patch is necessary and failing, you need to rebase it into the new version.
Optionally Attempt to Build for Several Architectures:
Once you successfully build the new software for a
given architecture, you could test the build for
other architectures by changing the
MACHINE
variable and rebuilding the software.
This optional step is especially important if the
recipe is to be released publicly.
Check the Upstream Change Log or Release Notes: Checking both these reveals if new features exist that could break backwards-compatibility. If so, you need to take steps to mitigate or eliminate that situation.
Optionally Create a Bootable Image and Test: If you want, you can test the new software by booting it onto actual hardware.
Create a Commit with the Change in the Layer Repository: After all builds work and any testing is successful, you can create commits for any changes in the layer holding your upgraded recipe.