On Wed, Mar 9, 2022 at 8:51 AM Ross Burton <[email protected]> wrote: > > Now that the build systems that use pip_install_wheel are all building > their wheel into a directory that we knew was empty before, we can just > install *.whl and not need to know the precise names. > > By design a pyproject.toml will always build a single wheel, so there > shouldn't be any way for this to end up installing more than expected. > > This obsoletes PIP_INSTALL_PACKAGE and PYPA_WHEEL, neither of which are > needed anymore. >
this looks a better approach, we can unbold ton of workaround on meta-openembedded with this > Signed-off-by: Ross Burton <[email protected]> > --- > meta/classes/pip_install_wheel.bbclass | 20 ++++++++------------ > 1 file changed, 8 insertions(+), 12 deletions(-) > > diff --git a/meta/classes/pip_install_wheel.bbclass > b/meta/classes/pip_install_wheel.bbclass > index 954a6b750f..3861dae75a 100644 > --- a/meta/classes/pip_install_wheel.bbclass > +++ b/meta/classes/pip_install_wheel.bbclass > @@ -1,20 +1,10 @@ > 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''' > - name = d.getVar('PYPI_PACKAGE') or re.sub(r"^python3-", "", > d.getVar('BPN')) > - return name.replace('-', '_') > - > -PIP_INSTALL_PACKAGE ?= "${@guess_pip_install_package_name(d)}" > - > # The directory where wheels should be written too. Build classes > # will ideally [cleandirs] this but we don't do that here in case > # a recipe wants to install prebuilt wheels. > PIP_INSTALL_DIST_PATH ?= "${WORKDIR}/dist" > > -PYPA_WHEEL ??= "${PIP_INSTALL_DIST_PATH}/${PIP_INSTALL_PACKAGE}-*-*.whl" > - > PIP_INSTALL_ARGS = "\ > -vvvv \ > --ignore-installed \ > @@ -29,8 +19,14 @@ PIP_INSTALL_PYTHON = "python3" > PIP_INSTALL_PYTHON:class-native = "nativepython3" > > pip_install_wheel_do_install () { > - nativepython3 -m pip install ${PIP_INSTALL_ARGS} ${PYPA_WHEEL} || > - bbfatal_log "Failed to pip install wheel. Check the logs." > + COUNT=$(find ${PIP_INSTALL_DIST_PATH} -name '*.whl' | wc -l) > + if test $COUNT -eq 0; then > + bbfatal No wheels found in ${PIP_INSTALL_DIST_PATH} > + elif test $COUNT -gt 1; then > + bbfatal More than one wheel found in ${PIP_INSTALL_DIST_PATH}, this > should not happen > + fi > + > + nativepython3 -m pip install ${PIP_INSTALL_ARGS} > ${PIP_INSTALL_DIST_PATH}/*.whl > > cd ${D} > for i in ${D}${bindir}/* ${D}${sbindir}/*; do > -- > 2.25.1 > > > >
-=-=-=-=-=-=-=-=-=-=-=- Links: You receive all messages sent to this group. View/Reply Online (#162981): https://lists.openembedded.org/g/openembedded-core/message/162981 Mute This Topic: https://lists.openembedded.org/mt/89666433/21656 Group Owner: [email protected] Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub [[email protected]] -=-=-=-=-=-=-=-=-=-=-=-
