poky/scripts/lib/devtool
Julien Stephan 85a2a6f68a recipetool: create_buildsys_python: add pypi support
Today, we can use devtool/recipetool to create recipes for python projects
using the github url or the direct release tarball of the project, but the
create_buildsys_python plugin doesn't support the pypi class, since we cannot
know from the extracted source if the package is available on pypi or not.

By implementing the new optional process_url callback, we can detect
that the url is a pypi one (i.e 'https://pypi.org/project/<package>')
and retrieve the release tarball location.
Also detect if the url points to a release tarball hosted on
"files.pythonhosted.iorg" (i.e https://files.pythonhosted.org/packages/...)

In both cases, adds the pypi class, remove 'S' and 'SRC_URIxxx'
variables from the created recipe as they will be handled by the pypi class
and add the PYPI_PACKAGE variable

This helps to produce cleaner recipes when package is hosted on pypi.

If the url points to a github url or a release tarball not coming from
"files.pythonhosted.org", the created recipe is the same as before.
One can also use the newly added "--no-pypi" switch to NOT inherit
from pypi class on matching url, to keep legacy behaviour.

To create a recipe for a pypi package, one can now use one of the
new following syntax (using recipetool create / devtool add):

* recipetool create https://pypi.org/project/<package>
* recipetool create https://pypi.org/project/<package>/<version>
* recipetool create https://pypi.org/project/<package> --version <version>

or the old syntax:
* recipetool create https://files.pythonhosted.org/packages/<...>

(From OE-Core rev: 097a43846cd99a7d74d004efc57f583ce78970a4)

Signed-off-by: Julien Stephan <jstephan@baylibre.com>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2023-12-06 22:55:49 +00:00
..
__init__.py devtool: add support for git submodules 2023-12-01 11:48:25 +00:00
build_image.py Convert to new override syntax 2021-08-02 15:44:10 +01:00
build_sdk.py devtool/build_sdk: Drop unused imports 2023-09-18 08:53:10 +01:00
build.py devtool: build: Also run deploy for devtool build if applicable 2019-08-21 21:52:59 +01:00
deploy.py devtool: deploy-target: Remove stripped binaries in pseudo context 2022-02-07 10:08:59 +00:00
export.py meta/lib+scripts: Convert to SPDX license headers 2019-05-09 16:31:55 +01:00
import.py meta/lib+scripts: Convert to SPDX license headers 2019-05-09 16:31:55 +01:00
menuconfig.py meta: remove True option to getVar and getVarFlag calls (again) 2023-02-02 09:50:02 +00:00
package.py meta/lib+scripts: Convert to SPDX license headers 2019-05-09 16:31:55 +01:00
runqemu.py meta/lib+scripts: Convert to SPDX license headers 2019-05-09 16:31:55 +01:00
sdk.py build-sysroots: target or native sysroot population need to be selected explicitly 2023-09-09 12:04:55 +01:00
search.py package/scripts: Fix FILES_INFO handling 2021-08-17 09:53:04 +01:00
standard.py recipetool: create_buildsys_python: add pypi support 2023-12-06 22:55:49 +00:00
upgrade.py devtool: add support for git submodules 2023-12-01 11:48:25 +00:00
utilcmds.py meta/lib+scripts: Convert to SPDX license headers 2019-05-09 16:31:55 +01:00