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]]
-=-=-=-=-=-=-=-=-=-=-=-

Reply via email to