mbox series

[v3,0/4] devtool/recipetool: add support of PEP-517

Message ID 20231024144022.1532605-1-jstephan@baylibre.com
Headers show
Series devtool/recipetool: add support of PEP-517 | expand

Message

Julien Stephan Oct. 24, 2023, 2:40 p.m. UTC
Hello all,

This series adds basic support for PEP-517 in recipetool/devtool, plus somes
others fixes.

Recipetool/devtool selftest passed locally

Missing features:
- extra or optionnal dependencies are not handled
- version number for dependencies are not handled (issue already present
  for the legacy setuptool)
- some projects can declare a minimal pyproject.toml file, and put all
  the metadata in setup.py/setup.cfg/requirements.txt .. theses cases
  are not handled. If a pyproject.toml file is found, assumes it has all
  necessary metadata.

Changes from v2:
- try to use tomllib from python core (since 3.11) and if not available,
  try to import tomli (instead of toml, as tomllib and tomli have both the
  same api)
- improve support for poetry: poetry looks for metadata into the
  "tools.poetry" section instead of the "project" section
- add the selftests for the 3 supported backends. Skip the tests if
  tomliib (python > 3.11) or tomli is not installed
- fix self test failing with the new "python3-" prefix added to
  recipetool for python recipes

Julien Stephan (4):
  scripts:recipetool:create_buildsys_python: prefix created recipes with
    python3-
  scripts:recipetool:create_buildsys_python: refactor code for futur
    PEP517 addition
  scripts:recipetool:create_buildsys_python: add PEP517 support
  oeqa/selftest/recipetool: add selftest for PEP-517 recipe creation

 meta/lib/oeqa/selftest/cases/recipetool.py    |  106 +-
 .../lib/recipetool/create_buildsys_python.py  | 1017 +++++++++++------
 2 files changed, 759 insertions(+), 364 deletions(-)

--
2.42.0

Comments

Richard Purdie Oct. 25, 2023, 2:11 p.m. UTC | #1
On Tue, 2023-10-24 at 16:40 +0200, Julien Stephan wrote:
> Hello all,
> 
> This series adds basic support for PEP-517 in recipetool/devtool, plus somes
> others fixes.
> 
> Recipetool/devtool selftest passed locally
> 
> Missing features:
> - extra or optionnal dependencies are not handled
> - version number for dependencies are not handled (issue already present
>   for the legacy setuptool)
> - some projects can declare a minimal pyproject.toml file, and put all
>   the metadata in setup.py/setup.cfg/requirements.txt .. theses cases
>   are not handled. If a pyproject.toml file is found, assumes it has all
>   necessary metadata.
> 
> Changes from v2:
> - try to use tomllib from python core (since 3.11) and if not available,
>   try to import tomli (instead of toml, as tomllib and tomli have both the
>   same api)
> - improve support for poetry: poetry looks for metadata into the
>   "tools.poetry" section instead of the "project" section
> - add the selftests for the 3 supported backends. Skip the tests if
>   tomliib (python > 3.11) or tomli is not installed
> - fix self test failing with the new "python3-" prefix added to
>   recipetool for python recipes

This patch series still doesn't seem to apply against master. Could you
check your rebase is ok or if there is a patch missing or something?

Cheers,

Richard
Julien Stephan Oct. 25, 2023, 3:48 p.m. UTC | #2
Le mer. 25 oct. 2023 à 16:11, Richard Purdie
<richard.purdie@linuxfoundation.org> a écrit :
>
> On Tue, 2023-10-24 at 16:40 +0200, Julien Stephan wrote:
> > Hello all,
> >
> > This series adds basic support for PEP-517 in recipetool/devtool, plus somes
> > others fixes.
> >
> > Recipetool/devtool selftest passed locally
> >
> > Missing features:
> > - extra or optionnal dependencies are not handled
> > - version number for dependencies are not handled (issue already present
> >   for the legacy setuptool)
> > - some projects can declare a minimal pyproject.toml file, and put all
> >   the metadata in setup.py/setup.cfg/requirements.txt .. theses cases
> >   are not handled. If a pyproject.toml file is found, assumes it has all
> >   necessary metadata.
> >
> > Changes from v2:
> > - try to use tomllib from python core (since 3.11) and if not available,
> >   try to import tomli (instead of toml, as tomllib and tomli have both the
> >   same api)
> > - improve support for poetry: poetry looks for metadata into the
> >   "tools.poetry" section instead of the "project" section
> > - add the selftests for the 3 supported backends. Skip the tests if
> >   tomliib (python > 3.11) or tomli is not installed
> > - fix self test failing with the new "python3-" prefix added to
> >   recipetool for python recipes
>
> This patch series still doesn't seem to apply against master. Could you
> check your rebase is ok or if there is a patch missing or something?

Hi Richard,

Yes, I forgot the first patch of the series. Just sent a v4 fixing this.

Thank you
Cheers
Julien


>
> Cheers,
>
> Richard