All of lore.kernel.org
 help / color / mirror / Atom feed
* [RESEND][PATCH 0/7] Devtool/Recipetool: adding pypi support
@ 2023-12-04 15:59 Julien Stephan
  2023-12-04 15:59 ` [RESEND][PATCH 1/7] bitbake: utils: remove spaces on empty lines Julien Stephan
                   ` (6 more replies)
  0 siblings, 7 replies; 14+ messages in thread
From: Julien Stephan @ 2023-12-04 15:59 UTC (permalink / raw)
  To: openembedded-core; +Cc: Julien Stephan

Hello all,

This series adds basic support for the pypi class in devtool/recipetool.

The idea is to be able to detect that a package is available on pypi and
in that case inherits from pypi class. This helps to produce cleaner
recipes for pypi packages.

To do this, I am adding a new optional callback "process_url" that
plugin can register to implement some logic on matching url.

By implementing this callback in create_buildsys_python we can match on
pypi URLs directly or on release tarballs hosted on "files.pythonhosted.org".

To create a recipe taking advantage of the pypi class we can use one of the
following new syntax:

* recipetool create https://pypi.org/project/<package>
* recipetool create https://pypi.org/project/<package>/<version>
* recipetool create https://pypi.org/project/<package> --version <version>

or the old syntax:

* recipetool create https://files.pythonhosted.org/packages/<...>

If the URL points to a github URL or a release tarball not coming from
"files.pythonhosted.org", the created recipe is the same as before.
One can also use the newly added "--no-pypi" switch to NOT inherit 
from pypi class on matching URL, to keep legacy behaviour.

This series also contains some bug fixes I found during my testing.

Pushed my dev branch here: https://git.yoctoproject.org/poky-contrib/log/?h=jstephan/devtool-add-pypi-support 

Cheers
Julien

Julien Stephan (7):
  bitbake: utils: remove spaces on empty lines
  recipetool: create_buildsys_python.py: initialize metadata
  recipetool: create: add trailing newlines
  recipetool: create: add new optional process_url callback for plugins
  recipetool: create_buildsys_python: add pypi support
  oeqa/selftest/recipetool: remove spaces on empty lines
  oeqa/selftest/recipetool/devtool: add test for pypi class

 bitbake/lib/bb/utils.py                       |  16 +--
 meta/lib/oeqa/selftest/cases/devtool.py       |   4 +-
 meta/lib/oeqa/selftest/cases/recipetool.py    | 114 +++++++++++++-----
 scripts/lib/devtool/standard.py               |   3 +
 scripts/lib/recipetool/create.py              |  63 ++++++----
 .../lib/recipetool/create_buildsys_python.py  |  73 +++++++++++
 6 files changed, 208 insertions(+), 65 deletions(-)

-- 
2.42.0



^ permalink raw reply	[flat|nested] 14+ messages in thread

end of thread, other threads:[~2023-12-09  1:15 UTC | newest]

Thread overview: 14+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-12-04 15:59 [RESEND][PATCH 0/7] Devtool/Recipetool: adding pypi support Julien Stephan
2023-12-04 15:59 ` [RESEND][PATCH 1/7] bitbake: utils: remove spaces on empty lines Julien Stephan
2023-12-05  7:50   ` [OE-core] " Alexandre Belloni
2023-12-05 14:57     ` Julien Stephan
2023-12-05 15:45       ` Alexandre Belloni
2023-12-05 16:27         ` Julien Stephan
     [not found]         ` <179DFC50B5886FE5.18076@lists.openembedded.org>
2023-12-06  8:24           ` Julien Stephan
2023-12-04 15:59 ` [RESEND][PATCH 2/7] recipetool: create_buildsys_python.py: initialize metadata Julien Stephan
2023-12-04 15:59 ` [RESEND][PATCH 3/7] recipetool: create: add trailing newlines Julien Stephan
2023-12-04 15:59 ` [RESEND][PATCH 4/7] recipetool: create: add new optional process_url callback for plugins Julien Stephan
2023-12-04 15:59 ` [RESEND][PATCH 5/7] recipetool: create_buildsys_python: add pypi support Julien Stephan
2023-12-09  1:15   ` [OE-core] " Tim Orling
2023-12-04 15:59 ` [RESEND][PATCH 6/7] oeqa/selftest/recipetool: remove spaces on empty lines Julien Stephan
2023-12-04 15:59 ` [RESEND][PATCH 7/7] oeqa/selftest/recipetool/devtool: add test for pypi class Julien Stephan

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.