diff options
author | Tim Orling <ticotimo@gmail.com> | 2019-11-30 14:50:31 -0800 |
---|---|---|
committer | Tim Orling <ticotimo@gmail.com> | 2019-12-03 07:37:13 -0800 |
commit | 3a233b5efc5d16ed7d775128375e93a3457978f1 (patch) | |
tree | f24aeb947fbf02a77e668fcf0814e80af18f8a56 | |
parent | 8e60ce3ada3b5de43e4bffe5ebf8b475ecef778c (diff) | |
download | meta-python2-3a233b5efc5d16ed7d775128375e93a3457978f1.tar.gz |
python-backports-init: Add helper class and recipezeus-next
Recipes that install in the backports namespace have
a tendency to conflict in the installation of
.../site-packages/backports/__init__.py
Add a class and recipe to help avoid the conflict.
Modify recipes that are affected:
- python-backports-functools-lru-cache
- python-backports-ssl
- python-configparser
Signed-off-by: Tim Orling <ticotimo@gmail.com>
6 files changed, 41 insertions, 3 deletions
diff --git a/classes/python-backports-init.bbclass b/classes/python-backports-init.bbclass new file mode 100644 index 0000000..727bc4a --- /dev/null +++ b/classes/python-backports-init.bbclass @@ -0,0 +1,7 @@ +inherit python-dir + +RDEPENDS_${PN} += "python-backports-init" + +do_install_prepend() { + rm -rf $(find . -path "*/backports/__init__.py" -type f) +} diff --git a/recipes-devtools/python/python-backports-functools-lru-cache_1.5.bb b/recipes-devtools/python/python-backports-functools-lru-cache_1.5.bb index 825444f..11c1533 100644 --- a/recipes-devtools/python/python-backports-functools-lru-cache_1.5.bb +++ b/recipes-devtools/python/python-backports-functools-lru-cache_1.5.bb @@ -11,7 +11,7 @@ SRC_URI[sha256sum] = "9d98697f088eb1b0fa451391f91afb5e3ebde16bbdb272819fd091151f DEPENDS += "python-setuptools-scm-native" -inherit setuptools pypi +inherit setuptools pypi python-backports-init RDEPENDS_${PN} += "\ ${PYTHON_PN}-pickle \ diff --git a/recipes-devtools/python/python-backports-init/backports/__init__.py b/recipes-devtools/python/python-backports-init/backports/__init__.py new file mode 100644 index 0000000..febdb2f --- /dev/null +++ b/recipes-devtools/python/python-backports-init/backports/__init__.py @@ -0,0 +1,5 @@ +# A Python "namespace package" http://www.python.org/dev/peps/pep-0382/ +# This always goes inside of a namespace package's __init__.py + +from pkgutil import extend_path +__path__ = extend_path(__path__, __name__) diff --git a/recipes-devtools/python/python-backports-init_1.0.bb b/recipes-devtools/python/python-backports-init_1.0.bb new file mode 100644 index 0000000..29e712a --- /dev/null +++ b/recipes-devtools/python/python-backports-init_1.0.bb @@ -0,0 +1,25 @@ +SUMMARY = "Helper package to avoid backports/__init__.py conflicts" +DETAIL = "backports packages in python2 suffer from a flaw in the namespace \ +implementation and can conflict with each other. For OE purposes, at least \ +fix the conflicting install of .../site-packages/backports/__init__.py" +AUTHOR = "Tim Orling <ticotimo@gmail.com>" +SECTION = "devel/python" + +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/MIT;md5=0835ade698e0bcf8506ecda2f7b4f302" + +SRC_URI = "file://backports/__init__.py" + +inherit python-dir + +# provide to avoid warnings +do_compile() { + : +} + +do_install() { + install -d ${D}${PYTHON_SITEPACKAGES_DIR}/backports + install ${WORKDIR}/backports/__init__.py ${D}${PYTHON_SITEPACKAGES_DIR}/backports/ +} + +FILES_${PN} = "${PYTHON_SITEPACKAGES_DIR}/backports/__init__.py" diff --git a/recipes-devtools/python/python-backports-ssl_3.5.0.1.bb b/recipes-devtools/python/python-backports-ssl_3.5.0.1.bb index 45492da..8be1603 100644 --- a/recipes-devtools/python/python-backports-ssl_3.5.0.1.bb +++ b/recipes-devtools/python/python-backports-ssl_3.5.0.1.bb @@ -13,6 +13,7 @@ SRC_URI[md5sum] = "c03fc5e2c7b3da46b81acf5cbacfe1e6" SRC_URI[sha256sum] = "502ad98707319f4a51fa2ca1c677bd659008d27ded9f6380c79e8932e38dcdf2" PYPI_PACKAGE = "backports.ssl_match_hostname" -inherit pypi setuptools + +inherit pypi setuptools python-backports-init RDEPENDS_${PN} += "${PYTHON_PN}-pkgutil" diff --git a/recipes-devtools/python/python-configparser_3.8.1.bb b/recipes-devtools/python/python-configparser_3.8.1.bb index 69f045d..859dbd7 100644 --- a/recipes-devtools/python/python-configparser_3.8.1.bb +++ b/recipes-devtools/python/python-configparser_3.8.1.bb @@ -1,2 +1,2 @@ -inherit setuptools +inherit setuptools python-backports-init require python-configparser.inc |