Message ID | 20220226082142.119063-1-richard.purdie@linuxfoundation.org |
---|---|
State | Accepted, archived |
Commit | 498342f483118d22f529c4e255cc50455d51e9ed |
Headers | show |
Series | pip_install_wheel: Use BPN instead of PN to construct PYPI_PACKAGE default | expand |
Thank you. On Sat, Feb 26, 2022 at 12:21 AM Richard Purdie < richard.purdie@linuxfoundation.org> wrote: > This fixes the name for native and nativesdk recipes. > > Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org> > --- > meta/classes/pip_install_wheel.bbclass | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/meta/classes/pip_install_wheel.bbclass > b/meta/classes/pip_install_wheel.bbclass > index 9f9feda6ee0..5b7e5cd7064 100644 > --- a/meta/classes/pip_install_wheel.bbclass > +++ b/meta/classes/pip_install_wheel.bbclass > @@ -2,7 +2,7 @@ DEPENDS:append = " python3-pip-native" > > def guess_pip_install_package_name(d): > '''https://www.python.org/dev/peps/pep-0491/#escaping-and-unicode''' > - return (d.getVar('PYPI_PACKAGE') or d.getVar('PN')).replace('-', '_') > + return (d.getVar('PYPI_PACKAGE') or d.getVar('BPN')).replace('-', '_') > > PIP_INSTALL_PACKAGE ?= "${@guess_pip_install_package_name(d)}" > PIP_INSTALL_DIST_PATH ?= "${B}/dist" > -- > 2.32.0 > > > -=-=-=-=-=-=-=-=-=-=-=- > Links: You receive all messages sent to this group. > View/Reply Online (#162423): > https://lists.openembedded.org/g/openembedded-core/message/162423 > Mute This Topic: https://lists.openembedded.org/mt/89406689/924729 > Group Owner: openembedded-core+owner@lists.openembedded.org > Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub [ > ticotimo@gmail.com] > -=-=-=-=-=-=-=-=-=-=-=- > >
Some more observations when using the current state of the pip/wheels patch series (from today's master) - when using recipes that inherit setuptools (but not pypi) and do have a "python3-..." prefix in the recipe name - the name guessing fails. IMO it would be best to strip the "python3-" prefix in the guessing too - when using recipes that do not have a version matching *exactly* the one from setup.py|pyproject.toml the wheel glob `PYPA_WHEEL ??= "${PIP_INSTALL_DIST_PATH}/${PIP_INSTALL_PACKAGE}-${PV}-*.whl"` fails - examples: - PV = "1.2.3+${SRCREV}" for recipes that have additional patches on it - recipe name is python3-foo_git.bb In my opinion it doesn't make sense to have ${PV} in that glob - a simple asterisk would match all of them easily - or this there any real life example where a single python project builds several packages with different versions in the same workspace? - another thing is SETUPTOOLS_INSTALL_ARGS ?= "--root=${D} --prefix=${prefix}" breaks a recipe that was previously installing files to "/etc" aka ${sysconfdir} - these are now installed into /usr/etc, which doesn't look right. For reference the project is https://github.com/HewlettPackard/reconbf In a sense of a more painless transition these issues should be addressed before any release On 26.02.22 09:21, Richard Purdie wrote: > This fixes the name for native and nativesdk recipes. > > Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org> > --- > meta/classes/pip_install_wheel.bbclass | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/meta/classes/pip_install_wheel.bbclass b/meta/classes/pip_install_wheel.bbclass > index 9f9feda6ee0..5b7e5cd7064 100644 > --- a/meta/classes/pip_install_wheel.bbclass > +++ b/meta/classes/pip_install_wheel.bbclass > @@ -2,7 +2,7 @@ DEPENDS:append = " python3-pip-native" > > def guess_pip_install_package_name(d): > '''https://www.python.org/dev/peps/pep-0491/#escaping-and-unicode''' > - return (d.getVar('PYPI_PACKAGE') or d.getVar('PN')).replace('-', '_') > + return (d.getVar('PYPI_PACKAGE') or d.getVar('BPN')).replace('-', '_') > > PIP_INSTALL_PACKAGE ?= "${@guess_pip_install_package_name(d)}" > PIP_INSTALL_DIST_PATH ?= "${B}/dist" > > > > -=-=-=-=-=-=-=-=-=-=-=- > Links: You receive all messages sent to this group. > View/Reply Online (#162423): https://lists.openembedded.org/g/openembedded-core/message/162423 > Mute This Topic: https://lists.openembedded.org/mt/89406689/3647476 > Group Owner: openembedded-core+owner@lists.openembedded.org > Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub [kweihmann@outlook.com] > -=-=-=-=-=-=-=-=-=-=-=- >
On Sun, Feb 27, 2022 at 2:30 AM Konrad Weihmann <kweihmann@outlook.com> wrote: > Some more observations when using the current state of the pip/wheels > patch series (from today's master) > > - when using recipes that inherit setuptools (but not pypi) and do have > a "python3-..." prefix in the recipe name - the name guessing fails. IMO > it would be best to strip the "python3-" prefix in the guessing too > > - when using recipes that do not have a version matching *exactly* the > one from setup.py|pyproject.toml the wheel glob `PYPA_WHEEL ??= > "${PIP_INSTALL_DIST_PATH}/${PIP_INSTALL_PACKAGE}-${PV}-*.whl"` fails > - examples: > - PV = "1.2.3+${SRCREV}" for recipes that have additional patches > on it > - recipe name is python3-foo_git.bb > > In my opinion it doesn't make sense to have ${PV} in that glob - a > simple asterisk would match all of them easily - or this there any real > life example where a single python project builds several packages with > different versions in the same workspace? Right this would avoid overwriting this in many recipes agreed > > - another thing is SETUPTOOLS_INSTALL_ARGS ?= "--root=${D} > --prefix=${prefix}" breaks a recipe that was previously installing files > to "/etc" aka ${sysconfdir} - these are now installed into /usr/etc, > which doesn't look right. For reference the project is > https://github.com/HewlettPackard/reconbf > > In a sense of a more painless transition these issues should be > addressed before any release > > On 26.02.22 09:21, Richard Purdie wrote: > > This fixes the name for native and nativesdk recipes. > > > > Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org> > > --- > > meta/classes/pip_install_wheel.bbclass | 2 +- > > 1 file changed, 1 insertion(+), 1 deletion(-) > > > > diff --git a/meta/classes/pip_install_wheel.bbclass > b/meta/classes/pip_install_wheel.bbclass > > index 9f9feda6ee0..5b7e5cd7064 100644 > > --- a/meta/classes/pip_install_wheel.bbclass > > +++ b/meta/classes/pip_install_wheel.bbclass > > @@ -2,7 +2,7 @@ DEPENDS:append = " python3-pip-native" > > > > def guess_pip_install_package_name(d): > > '''https://www.python.org/dev/peps/pep-0491/#escaping-and-unicode' > '' > > - return (d.getVar('PYPI_PACKAGE') or d.getVar('PN')).replace('-', > '_') > > + return (d.getVar('PYPI_PACKAGE') or d.getVar('BPN')).replace('-', > '_') > > > > PIP_INSTALL_PACKAGE ?= "${@guess_pip_install_package_name(d)}" > > PIP_INSTALL_DIST_PATH ?= "${B}/dist" > > > > > > > > > > > > -=-=-=-=-=-=-=-=-=-=-=- > Links: You receive all messages sent to this group. > View/Reply Online (#162432): > https://lists.openembedded.org/g/openembedded-core/message/162432 > Mute This Topic: https://lists.openembedded.org/mt/89406689/1997914 > Group Owner: openembedded-core+owner@lists.openembedded.org > Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub [ > raj.khem@gmail.com] > -=-=-=-=-=-=-=-=-=-=-=- > >
diff --git a/meta/classes/pip_install_wheel.bbclass b/meta/classes/pip_install_wheel.bbclass index 9f9feda6ee0..5b7e5cd7064 100644 --- a/meta/classes/pip_install_wheel.bbclass +++ b/meta/classes/pip_install_wheel.bbclass @@ -2,7 +2,7 @@ DEPENDS:append = " python3-pip-native" def guess_pip_install_package_name(d): '''https://www.python.org/dev/peps/pep-0491/#escaping-and-unicode''' - return (d.getVar('PYPI_PACKAGE') or d.getVar('PN')).replace('-', '_') + return (d.getVar('PYPI_PACKAGE') or d.getVar('BPN')).replace('-', '_') PIP_INSTALL_PACKAGE ?= "${@guess_pip_install_package_name(d)}" PIP_INSTALL_DIST_PATH ?= "${B}/dist"
This fixes the name for native and nativesdk recipes. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org> --- meta/classes/pip_install_wheel.bbclass | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)