summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRoss Burton <ross@burtonini.com>2022-03-10 11:40:33 +0000
committerRichard Purdie <richard.purdie@linuxfoundation.org>2022-03-11 06:56:01 +0000
commit5331d29a898da61ce2df78bc1ce36dc23dcc0017 (patch)
tree22d30f9233a7997f5ca311b43b49e71a8186e7bc
parent7f1c3b4202807ea612283a16954ef0434d98bc54 (diff)
downloadpoky-5331d29a898da61ce2df78bc1ce36dc23dcc0017.tar.gz
pip_install_wheel: add a generic do_install for bootstrapping
Several recipes are duplicating the same bootstrap logic for installing a wheel without using any tools. Add an implementation to pip_install_wheel to centralise the code, and remove the duplicated code from the following recipes: - python3-flit-core - python3-pip - python3-setuptools - python3-wheel (From OE-Core rev: d5d702a2cd06f863340f8e4cdce0904c9d86384d) Signed-off-by: Ross Burton <ross.burton@arm.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
-rw-r--r--meta/classes/pip_install_wheel.bbclass6
-rw-r--r--meta/recipes-devtools/python/python3-flit-core_3.7.1.bb3
-rw-r--r--meta/recipes-devtools/python/python3-pip_22.0.3.bb4
-rw-r--r--meta/recipes-devtools/python/python3-setuptools_59.5.0.bb4
-rw-r--r--meta/recipes-devtools/python/python3-wheel_0.37.1.bb4
5 files changed, 10 insertions, 11 deletions
diff --git a/meta/classes/pip_install_wheel.bbclass b/meta/classes/pip_install_wheel.bbclass
index 3861dae75a..29cd544aa3 100644
--- a/meta/classes/pip_install_wheel.bbclass
+++ b/meta/classes/pip_install_wheel.bbclass
@@ -40,4 +40,10 @@ pip_install_wheel_do_install () {
40 done 40 done
41} 41}
42 42
43# A manual do_install that just uses unzip for bootstrapping purposes. Callers should DEPEND on unzip-native.
44pip_install_wheel_do_bootstrap_install () {
45 install -d ${D}${PYTHON_SITEPACKAGES_DIR}
46 unzip -d ${D}${PYTHON_SITEPACKAGES_DIR} ${PIP_INSTALL_DIST_PATH}/*.whl
47}
48
43EXPORT_FUNCTIONS do_install 49EXPORT_FUNCTIONS do_install
diff --git a/meta/recipes-devtools/python/python3-flit-core_3.7.1.bb b/meta/recipes-devtools/python/python3-flit-core_3.7.1.bb
index 55ce256550..c6bc24555e 100644
--- a/meta/recipes-devtools/python/python3-flit-core_3.7.1.bb
+++ b/meta/recipes-devtools/python/python3-flit-core_3.7.1.bb
@@ -22,8 +22,7 @@ PEP517_SOURCE_PATH = "${S}/flit_core"
22PIP_INSTALL_PACKAGE = "flit_core" 22PIP_INSTALL_PACKAGE = "flit_core"
23 23
24do_install:class-native () { 24do_install:class-native () {
25 install -d ${D}${PYTHON_SITEPACKAGES_DIR} 25 pip_install_wheel_do_bootstrap_install
26 unzip -d ${D}${PYTHON_SITEPACKAGES_DIR} ${PIP_INSTALL_DIST_PATH}/flit_core*.whl
27} 26}
28 27
29PACKAGES =+ "${PN}-tests" 28PACKAGES =+ "${PN}-tests"
diff --git a/meta/recipes-devtools/python/python3-pip_22.0.3.bb b/meta/recipes-devtools/python/python3-pip_22.0.3.bb
index 50cc8206de..bce3b68861 100644
--- a/meta/recipes-devtools/python/python3-pip_22.0.3.bb
+++ b/meta/recipes-devtools/python/python3-pip_22.0.3.bb
@@ -19,9 +19,7 @@ SRC_URI += "file://reproducible.patch"
19SRC_URI[sha256sum] = "f29d589df8c8ab99c060e68ad294c4a9ed896624f6368c5349d70aa581b333d0" 19SRC_URI[sha256sum] = "f29d589df8c8ab99c060e68ad294c4a9ed896624f6368c5349d70aa581b333d0"
20 20
21do_install:class-native() { 21do_install:class-native() {
22 # Bootstrap to prevent dependency loop in python3-pip-native 22 pip_install_wheel_do_bootstrap_install
23 install -d ${D}${PYTHON_SITEPACKAGES_DIR}
24 unzip -d ${D}${PYTHON_SITEPACKAGES_DIR} ${PIP_INSTALL_DIST_PATH}/*.whl
25 23
26 # pip install would normally generate [console_scripts] in ${bindir} 24 # pip install would normally generate [console_scripts] in ${bindir}
27 install -d ${D}/${bindir} 25 install -d ${D}/${bindir}
diff --git a/meta/recipes-devtools/python/python3-setuptools_59.5.0.bb b/meta/recipes-devtools/python/python3-setuptools_59.5.0.bb
index 9d2c2fd744..7cd67b85f9 100644
--- a/meta/recipes-devtools/python/python3-setuptools_59.5.0.bb
+++ b/meta/recipes-devtools/python/python3-setuptools_59.5.0.bb
@@ -22,9 +22,7 @@ DEPENDS:remove:class-native = "python3-pip-native python3-setuptools-native"
22DEPENDS:append:class-native = " unzip-native" 22DEPENDS:append:class-native = " unzip-native"
23 23
24do_install:class-native() { 24do_install:class-native() {
25 # Bootstrap to prevent dependency loop in python3-pip-native 25 pip_install_wheel_do_bootstrap_install
26 install -d ${D}${PYTHON_SITEPACKAGES_DIR}
27 unzip -d ${D}${PYTHON_SITEPACKAGES_DIR} ${PIP_INSTALL_DIST_PATH}/*.whl
28} 26}
29 27
30RDEPENDS:${PN} = "\ 28RDEPENDS:${PN} = "\
diff --git a/meta/recipes-devtools/python/python3-wheel_0.37.1.bb b/meta/recipes-devtools/python/python3-wheel_0.37.1.bb
index 83a7c986a8..cf0d8191b4 100644
--- a/meta/recipes-devtools/python/python3-wheel_0.37.1.bb
+++ b/meta/recipes-devtools/python/python3-wheel_0.37.1.bb
@@ -13,9 +13,7 @@ SRC_URI += " file://0001-Backport-pyproject.toml-from-flit-backend-branch.patch"
13DEPENDS:remove:class-native = "python3-pip-native" 13DEPENDS:remove:class-native = "python3-pip-native"
14 14
15do_install:class-native () { 15do_install:class-native () {
16 # We need to bootstrap python3-wheel-native 16 pip_install_wheel_do_bootstrap_install
17 install -d ${D}${PYTHON_SITEPACKAGES_DIR}
18 unzip -d ${D}${PYTHON_SITEPACKAGES_DIR} ${PIP_INSTALL_DIST_PATH}/*.whl
19 17
20 # pip install would normally generate [project.scripts] in ${bindir} 18 # pip install would normally generate [project.scripts] in ${bindir}
21 install -d ${D}/${bindir} 19 install -d ${D}/${bindir}