On Tue, Mar 1, 2022 at 1:42 AM Konrad Weihmann <[email protected]> wrote:
> - 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 > > Thank you. These are patterns that were never seen during development, but are painfully obvious now. The wheel spec (PEP-427) allows for, for instance, dev/pre-release wheels which we see with the python3-dtc recipe from meta-virtualization. > Signed-off-by: Konrad Weihmann <[email protected]> Reviewed-by: Tim Orling <[email protected]> > --- > 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 > > > > >
-=-=-=-=-=-=-=-=-=-=-=- Links: You receive all messages sent to this group. View/Reply Online (#162559): https://lists.openembedded.org/g/openembedded-core/message/162559 Mute This Topic: https://lists.openembedded.org/mt/89472354/21656 Group Owner: [email protected] Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub [[email protected]] -=-=-=-=-=-=-=-=-=-=-=-
