All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v3] pip_install_wheel: improve wheel handling
@ 2022-03-01  9:42 Konrad Weihmann
  2022-03-01 15:22 ` [OE-core] " Tim Orling
  0 siblings, 1 reply; 11+ messages in thread
From: Konrad Weihmann @ 2022-03-01  9:42 UTC (permalink / raw)
  To: openembedded-core; +Cc: Konrad Weihmann

- replace python3 prefix when guessing the wheel name
  as there are still plenty of recipes out there that do use
  python3 prefixes
- remove all previously generated wheels matching the glob
  to avoid installing any outdated blob
- don't use PV in glob, as PV doesn't necessarily align with the
  version used inside of the setuptools configuration.
  this will avoid having the user set PYPA_WHEEL in a lot
  of recipes
- respect SETUPTOOLS_SETUP_PATH in PIP_INSTALL_DIST_PATH
  and use B as a fallback only (in case this class is inherited
  without setuptools3 class being there as well).
  recipes like python3-smbus run in a subfolder of the
  workspace and were failing in before this adjustment

Signed-off-by: Konrad Weihmann <kweihmann@outlook.com>
---
v3: remove in prepend to compile, not in install for obvious reasons
v2: fix python3 prefix string

 meta/classes/pip_install_wheel.bbclass | 12 +++++++++---
 1 file changed, 9 insertions(+), 3 deletions(-)

diff --git a/meta/classes/pip_install_wheel.bbclass b/meta/classes/pip_install_wheel.bbclass
index 5b7e5cd706..789c25b68c 100644
--- a/meta/classes/pip_install_wheel.bbclass
+++ b/meta/classes/pip_install_wheel.bbclass
@@ -1,12 +1,13 @@
 DEPENDS:append = " python3-pip-native"
 
 def guess_pip_install_package_name(d):
+    import re
     '''https://www.python.org/dev/peps/pep-0491/#escaping-and-unicode'''
-    return (d.getVar('PYPI_PACKAGE') or d.getVar('BPN')).replace('-', '_')
+    return (d.getVar('PYPI_PACKAGE') or re.sub(r"^python3-", "", d.getVar('BPN')).replace('-', '_'))
 
 PIP_INSTALL_PACKAGE ?= "${@guess_pip_install_package_name(d)}"
-PIP_INSTALL_DIST_PATH ?= "${B}/dist"
-PYPA_WHEEL ??= "${PIP_INSTALL_DIST_PATH}/${PIP_INSTALL_PACKAGE}-${PV}-*.whl"
+PIP_INSTALL_DIST_PATH ?= "${@d.getVar('SETUPTOOLS_SETUP_PATH') or d.getVar('B')}/dist"
+PYPA_WHEEL ??= "${PIP_INSTALL_DIST_PATH}/${PIP_INSTALL_PACKAGE}-*-*.whl"
 
 PIP_INSTALL_ARGS ?= "\
     -vvvv \
@@ -45,4 +46,9 @@ pip_install_wheel_do_install () {
     done
 }
 
+do_compile:prepend() {
+    # cleanup previously generated files
+    rm -f ${PYPA_WHEEL}
+}
+
 EXPORT_FUNCTIONS do_install
-- 
2.25.1



^ permalink raw reply related	[flat|nested] 11+ messages in thread

end of thread, other threads:[~2022-03-02 19:09 UTC | newest]

Thread overview: 11+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-03-01  9:42 [PATCH v3] pip_install_wheel: improve wheel handling Konrad Weihmann
2022-03-01 15:22 ` [OE-core] " Tim Orling
2022-03-01 18:48   ` Khem Raj
2022-03-01 20:14     ` Ross Burton
2022-03-02  5:20       ` Khem Raj
2022-03-02  8:06         ` Konrad Weihmann
     [not found]         ` <16D881D0D78DCA29.25756@lists.openembedded.org>
2022-03-02  9:21           ` Konrad Weihmann
2022-03-02 18:45             ` Khem Raj
2022-03-02 19:01               ` Konrad Weihmann
2022-03-02 19:04                 ` Khem Raj
2022-03-02 19:09                   ` Konrad Weihmann

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.