On Wed, Mar 9, 2022 at 9:14 AM Khem Raj <[email protected]> wrote: > 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
Agreed. The second set of eyes on this is improving things dramatically. > > > 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 (#162989): https://lists.openembedded.org/g/openembedded-core/message/162989 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]] -=-=-=-=-=-=-=-=-=-=-=-
