path: root/meta/recipes-devtools/python
diff options
authorLuca Boccassi <luca.boccassi@microsoft.com>2019-05-21 13:36:41 +0100
committerRichard Purdie <richard.purdie@linuxfoundation.org>2019-05-27 17:06:34 +0100
commit6e21f8ad839162a6286481b9b58e7d4b33519cd1 (patch)
tree8e84b63b253775c391efbb1f3367715168b05017 /meta/recipes-devtools/python
parentb25a61d8c7205eeaba5c62c987b666f0130a5399 (diff)
python*-setuptools: add separate packages for pkg_resources module
The pkg_resources Python module is useful by itself, for example for automatic loading of resources shipped in a Python package. Add separate packages for it, so that users can depend on them individually and avoid pulling in the entire setuptools, which include scripts to download other packages, which might not be desired on minimal images. Other distributions like Debian and Ubuntu already split setuptools and pkg-resources in this way. The setuptools packages now depend on the new pkg-resources packages, to avoid regressions for other packages that depend on them already. (From OE-Core rev: 4316d9afe920460e5d2236f217027cce37ed7bf5) Signed-off-by: Luca Boccassi <luca.boccassi@microsoft.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'meta/recipes-devtools/python')
1 files changed, 11 insertions, 0 deletions
diff --git a/meta/recipes-devtools/python/python-setuptools.inc b/meta/recipes-devtools/python/python-setuptools.inc
index 357aa07086..f49e078697 100644
--- a/meta/recipes-devtools/python/python-setuptools.inc
+++ b/meta/recipes-devtools/python/python-setuptools.inc
@@ -37,3 +37,14 @@ do_install_prepend() {
BBCLASSEXTEND = "native nativesdk"
+# The pkg-resources module can be used by itself, without the package downloader
+# and easy_install. Ship it in a separate package so that it can be used by
+# minimal distributions.
+PACKAGES =+ "${PYTHON_PN}-pkg-resources "
+FILES_${PYTHON_PN}-pkg-resources = "${PYTHON_SITEPACKAGES_DIR}/pkg_resources/*"
+# Due to the way OE-Core implemented native recipes, the native class cannot
+# have a dependency on something that is not a recipe name. Work around that by
+# manually setting RPROVIDES.
+RDEPENDS_${PN}_append = " ${PYTHON_PN}-pkg-resources"
+RPROVIDES_append_class-native = " ${PYTHON_PN}-pkg-resources-native"