[PATCH 1/1] tools: patman: fix `pip install` with Python 3.12

Brandon Maier brandon.maier at collins.com
Tue Jun 4 18:31:34 CEST 2024


Installing patman with `cd ./tools/patman && pip install -e .` fails
with the error below.

As described in the error output, the license line is not allowed to be
only defined in the setup.py.

> $ cd ./tools/patman && pip install -e .
> Obtaining file:///.../u-boot/tools/patman
>   Installing build dependencies ... done
>   Checking if build backend supports build_editable ... done
>   Getting requirements to build editable ... error
>   error: subprocess-exited-with-error
>
>   × Getting requirements to build editable did not run successfully.
>   │ exit code: 1
>   ╰─> [61 lines of output]
>       /tmp/pip-build-env-mqjvnmz8/overlay/lib/python3.12/site-packages/setuptools/config/_apply_pyprojecttoml.py:76:
>           _MissingDynamic: `license` defined outside of `pyproject.toml` is ignored.
>       !!
>
>       ********************************************************************************
>       The following seems to be defined outside of `pyproject.toml`:
>
>       `license = 'GPL-2.0+'`
>
>       According to the spec (see the link below), however, setuptools CANNOT
>       consider this value unless `license` is listed as `dynamic`.
>
>       https://packaging.python.org/en/latest/specifications/pyproject-toml/#declaring-project-metadata-the-project-table
>
>       To prevent this problem, you can list `license` under `dynamic` or alternatively
>       remove the `[project]` table from your file and rely entirely on other means of
>       configuration.
>       ********************************************************************************
>
>       !!

Signed-off-by: Brandon Maier <brandon.maier at collins.com>
CC: Simon Glass <sjg at chromium.org>
---
 tools/patman/pyproject.toml | 1 +
 1 file changed, 1 insertion(+)

diff --git a/tools/patman/pyproject.toml b/tools/patman/pyproject.toml
index fcefcf66960..9e6079cb57e 100644
--- a/tools/patman/pyproject.toml
+++ b/tools/patman/pyproject.toml
@@ -17,6 +17,7 @@ classifiers = [
     "License :: OSI Approved :: GNU General Public License v2 or later (GPLv2+)",
     "Operating System :: OS Independent",
 ]
+dynamic = ["license"]
 
 [project.urls]
 "Homepage" = "https://docs.u-boot.org/en/latest/develop/patman.html"
-- 
2.45.1



More information about the U-Boot mailing list