8.9. Upgrading a Recipe

As software matures, upstream recipes are upgraded to newer versions. As a developer, you need to keep your local recipes up-to-date with the upstream version releases. Several methods exist by which you can upgrade recipes. You can read about them in the "Upgrading Recipes" section of the Yocto Project Development Tasks Manual. This section overviews the devtool upgrade command.

The devtool upgrade command upgrades an existing recipe to a more recent version of the recipe upstream. The command puts the upgraded recipe file along with any associated files into a "workspace" and, if necessary, extracts the source tree to a specified location. During the upgrade, patches associated with the recipe are rebased or added as needed.

When you use the devtool upgrade command, you must supply the root name of the recipe (i.e. no version, paths, or extensions), and you must supply the directory to which you want the source extracted. Additional command options let you control things such as the version number to which you want to upgrade (i.e. the PV), the source revision to which you want to upgrade (i.e. the SRCREV), whether or not to apply patches, and so forth.

You can read more on the devtool upgrade workflow in the "Use devtool upgrade to Create a Version of the Recipe that Supports a Newer Version of the Software" section in the Yocto Project Application Development and the Extensible Software Development Kit (eSDK) manual. You can also see an example of how to use devtool upgrade in the "Using devtool upgrade" section in the Yocto Project Development Tasks Manual.