4.13.5. Python and Python 3 Changes

The following are auto-packaging changes to Python and Python 3:

The script-managed python-*-manifest.inc files that were previously used to generate Python and Python 3 packages have been replaced with a JSON-based file that is easier to read and maintain. A new task is available for maintainers of the Python recipes to update the JSON file when upgrading to new Python versions. You can now edit the file directly instead of having to edit a script and run it to update the file.

One particular change to note is that the Python recipes no longer have build-time provides for their packages. This assumes python-foo is one of the packages provided by the Python recipe. You can no longer run bitbake python-foo or have a DEPENDS on python-foo, but doing either of the following causes the package to work as expected:

     IMAGE_INSTALL_append = " python-foo"
            

or

     RDEPENDS_${PN} = "python-foo"
            

The earlier build-time provides behavior was a quirk of the way the Python manifest file was created. For more information on this change please see this commit.