aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTim Orling <ticotimo@gmail.com>2019-11-30 14:50:31 -0800
committerTim Orling <ticotimo@gmail.com>2019-12-10 21:13:08 -0800
commit7387ab0f44ff09c1423e87c488aff3e2654839f8 (patch)
treef24aeb947fbf02a77e668fcf0814e80af18f8a56
parent39f53b4757b09e16a5bd59c28b0cb91022eaadc8 (diff)
downloadmeta-python2-7387ab0f44ff09c1423e87c488aff3e2654839f8.tar.gz
python-backports-init: Add helper class and recipe
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>
-rw-r--r--classes/python-backports-init.bbclass7
-rw-r--r--recipes-devtools/python/python-backports-functools-lru-cache_1.5.bb2
-rw-r--r--recipes-devtools/python/python-backports-init/backports/__init__.py5
-rw-r--r--recipes-devtools/python/python-backports-init_1.0.bb25
-rw-r--r--recipes-devtools/python/python-backports-ssl_3.5.0.1.bb3
-rw-r--r--recipes-devtools/python/python-configparser_3.8.1.bb2
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