summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRoss Burton <ross.burton@arm.com>2024-03-15 14:37:51 +0000
committerRichard Purdie <richard.purdie@linuxfoundation.org>2024-04-16 07:38:37 +0100
commit0a67d05373ed92bf153bd17e5b32d77ca9f0c353 (patch)
tree3cdc3e86e0abea7bc1bb99e84aeb17a9b41930a0
parent2708ccd8fe3b681d0e2341492036a0722e84fcf2 (diff)
downloadopenembedded-core-0a67d05373ed92bf153bd17e5b32d77ca9f0c353.tar.gz
classes/pypi: don't expose PYPI_ARCHIVE_NAME
This variable is only used when constructing a SRC_URI and some recipes think that it's the correct value to assign if the PyPi package name isn't the same as the recipe name, when PYPI_PACKAGE is actually all that needs to be set. Also document the variables we expect the recipe to assign if needed, and where the PyPi URL structure is documented. Signed-off-by: Ross Burton <ross.burton@arm.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
-rw-r--r--meta/classes-recipe/pypi.bbclass9
1 files changed, 7 insertions, 2 deletions
diff --git a/meta/classes-recipe/pypi.bbclass b/meta/classes-recipe/pypi.bbclass
index b8c18ccf39..c6bbe8119a 100644
--- a/meta/classes-recipe/pypi.bbclass
+++ b/meta/classes-recipe/pypi.bbclass
@@ -12,14 +12,19 @@ def pypi_package(d):
return bpn[8:]
return bpn
+# The PyPi package name (defaults to PN without the python3- prefix)
PYPI_PACKAGE ?= "${@pypi_package(d)}"
+# The file extension of the source archive
PYPI_PACKAGE_EXT ?= "tar.gz"
-PYPI_ARCHIVE_NAME ?= "${PYPI_PACKAGE}-${PV}.${PYPI_PACKAGE_EXT}"
+# An optional prefix for the download file in the case of name collisions
PYPI_ARCHIVE_NAME_PREFIX ?= ""
def pypi_src_uri(d):
+ """
+ Construct a source URL as per https://warehouse.pypa.io/api-reference/integration-guide.html#predictable-urls.
+ """
package = d.getVar('PYPI_PACKAGE')
- archive_name = d.getVar('PYPI_ARCHIVE_NAME')
+ archive_name = d.expand('${PYPI_PACKAGE}-${PV}.${PYPI_PACKAGE_EXT}')
archive_downloadname = d.getVar('PYPI_ARCHIVE_NAME_PREFIX') + archive_name
return 'https://files.pythonhosted.org/packages/source/%s/%s/%s;downloadfilename=%s' % (package[0], package, archive_name, archive_downloadname)