* [PATCH 1/2] tools/make_pip.sh: Use debian packages instead of pip
@ 2025-04-29 13:15 Simon Glass
2025-04-29 13:15 ` [PATCH 2/2] tools: Update the license specifiers Simon Glass
2025-04-29 13:43 ` [PATCH 1/2] tools/make_pip.sh: Use debian packages instead of pip Quentin Schulz
0 siblings, 2 replies; 7+ messages in thread
From: Simon Glass @ 2025-04-29 13:15 UTC (permalink / raw)
To: U-Boot Mailing List; +Cc: Simon Glass, Tom Rini
Recent distros complain about using 'pip install'. Adjust the script to
use 'apt get' instead where possible/required (e.g. with Ubuntu 24.04).
Signed-off-by: Simon Glass <sjg@chromium.org>
---
scripts/make_pip.sh | 6 ++++--
1 file changed, 4 insertions(+), 2 deletions(-)
diff --git a/scripts/make_pip.sh b/scripts/make_pip.sh
index d2639ffd6e4..90756279770 100755
--- a/scripts/make_pip.sh
+++ b/scripts/make_pip.sh
@@ -107,8 +107,10 @@ mkdir ${dir}/tests
cd ${dir}
# Make sure the tools are up to date
-python3 -m pip install --upgrade build
-python3 -m pip install --upgrade twine
+if ! sudo apt install python3-build twine; then
+ python3 -m pip install --upgrade build
+ python3 -m pip install --upgrade twine
+fi
# Build the PyPi package
python3 -m build
--
2.43.0
base-commit: 0312b271dd6dff8ca6d60c53ab028af526c45dde
branch: patb
^ permalink raw reply related [flat|nested] 7+ messages in thread
* [PATCH 2/2] tools: Update the license specifiers
2025-04-29 13:15 [PATCH 1/2] tools/make_pip.sh: Use debian packages instead of pip Simon Glass
@ 2025-04-29 13:15 ` Simon Glass
2025-04-29 13:28 ` Quentin Schulz
2025-04-29 13:43 ` [PATCH 1/2] tools/make_pip.sh: Use debian packages instead of pip Quentin Schulz
1 sibling, 1 reply; 7+ messages in thread
From: Simon Glass @ 2025-04-29 13:15 UTC (permalink / raw)
To: U-Boot Mailing List; +Cc: Simon Glass, Alper Nebi Yasak, Tom Rini
Recent versions of Python complain about the license being in the
classifiers part. Use a 'license' property instead.
Signed-off-by: Simon Glass <sjg@chromium.org>
---
tools/binman/pyproject.toml | 2 +-
tools/buildman/pyproject.toml | 2 +-
tools/dtoc/pyproject.toml | 2 +-
tools/patman/pyproject.toml | 2 +-
tools/u_boot_pylib/pyproject.toml | 2 +-
5 files changed, 5 insertions(+), 5 deletions(-)
diff --git a/tools/binman/pyproject.toml b/tools/binman/pyproject.toml
index ba34437fc53..f17bc051ea1 100644
--- a/tools/binman/pyproject.toml
+++ b/tools/binman/pyproject.toml
@@ -10,11 +10,11 @@ authors = [
]
dependencies = ["pylibfdt", "u_boot_pylib >= 0.0.6", "dtoc >= 0.0.6"]
description = "Binman firmware-packaging tool"
+license = "GPL-2.0-or-later"
readme = "README.rst"
requires-python = ">=3.7"
classifiers = [
"Programming Language :: Python :: 3",
- "License :: OSI Approved :: GNU General Public License v2 or later (GPLv2+)",
"Operating System :: OS Independent",
]
diff --git a/tools/buildman/pyproject.toml b/tools/buildman/pyproject.toml
index 68bfa45c3f4..3d0842e470a 100644
--- a/tools/buildman/pyproject.toml
+++ b/tools/buildman/pyproject.toml
@@ -14,11 +14,11 @@ dependencies = [
"patch-manager >= 0.0.6"
]
description = "Buildman build tool for U-Boot"
+license = "GPL-2.0-or-later"
readme = "README.rst"
requires-python = ">=3.7"
classifiers = [
"Programming Language :: Python :: 3",
- "License :: OSI Approved :: GNU General Public License v2 or later (GPLv2+)",
"Operating System :: OS Independent",
]
diff --git a/tools/dtoc/pyproject.toml b/tools/dtoc/pyproject.toml
index 9f59788e616..3d75e5269c7 100644
--- a/tools/dtoc/pyproject.toml
+++ b/tools/dtoc/pyproject.toml
@@ -10,11 +10,11 @@ authors = [
]
dependencies = ["pylibfdt", "u_boot_pylib >= 0.0.6"]
description = "Devicetree-to-C generator"
+license = "GPL-2.0-or-later"
readme = "README.rst"
requires-python = ">=3.7"
classifiers = [
"Programming Language :: Python :: 3",
- "License :: OSI Approved :: GNU General Public License v2 or later (GPLv2+)",
"Operating System :: OS Independent",
]
diff --git a/tools/patman/pyproject.toml b/tools/patman/pyproject.toml
index 06e169cdf48..be7bf1998a6 100644
--- a/tools/patman/pyproject.toml
+++ b/tools/patman/pyproject.toml
@@ -10,11 +10,11 @@ authors = [
]
dependencies = ["u_boot_pylib >= 0.0.6", "aiohttp >= 3.9.1" ]
description = "Patman patch manager"
+license = "GPL-2.0-or-later"
readme = "README.rst"
requires-python = ">=3.7"
classifiers = [
"Programming Language :: Python :: 3",
- "License :: OSI Approved :: GNU General Public License v2 or later (GPLv2+)",
"Operating System :: OS Independent",
]
diff --git a/tools/u_boot_pylib/pyproject.toml b/tools/u_boot_pylib/pyproject.toml
index ce2355084ac..c0257caba84 100644
--- a/tools/u_boot_pylib/pyproject.toml
+++ b/tools/u_boot_pylib/pyproject.toml
@@ -9,11 +9,11 @@ authors = [
{ name="Simon Glass", email="sjg@chromium.org" },
]
description = "U-Boot python library"
+license = "GPL-2.0-or-later"
readme = "README.rst"
requires-python = ">=3.7"
classifiers = [
"Programming Language :: Python :: 3",
- "License :: OSI Approved :: GNU General Public License v2 or later (GPLv2+)",
"Operating System :: OS Independent",
]
--
2.43.0
base-commit: 0312b271dd6dff8ca6d60c53ab028af526c45dde
branch: patb
^ permalink raw reply related [flat|nested] 7+ messages in thread
* Re: [PATCH 2/2] tools: Update the license specifiers
2025-04-29 13:15 ` [PATCH 2/2] tools: Update the license specifiers Simon Glass
@ 2025-04-29 13:28 ` Quentin Schulz
2025-04-29 13:52 ` Tom Rini
0 siblings, 1 reply; 7+ messages in thread
From: Quentin Schulz @ 2025-04-29 13:28 UTC (permalink / raw)
To: Simon Glass, U-Boot Mailing List; +Cc: Alper Nebi Yasak, Tom Rini
Hi Simon,
On 4/29/25 3:15 PM, Simon Glass wrote:
> Recent versions of Python complain about the license being in the
I believe this isn't related to Python but rather setuptools.
setuptools 77.0.3 and later support PEP-639 which recommends to ditch
the License :: classifier for a license property.
The issue is that this license property also changed in PEP-639, with
something that isn't compatible with pre-PEP-639.
Therefore we need to bump the minimum requirement for the setuptools
dependency in the various pyproject.toml to 77.0.3 or later.
I'm also wondering if we don't need to add a license-files property
(also PEP-639) to comply with the GPL-2.0-or-later which requires to
provide a copy of the license.
Cheers,
Quentin
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH 1/2] tools/make_pip.sh: Use debian packages instead of pip
2025-04-29 13:15 [PATCH 1/2] tools/make_pip.sh: Use debian packages instead of pip Simon Glass
2025-04-29 13:15 ` [PATCH 2/2] tools: Update the license specifiers Simon Glass
@ 2025-04-29 13:43 ` Quentin Schulz
1 sibling, 0 replies; 7+ messages in thread
From: Quentin Schulz @ 2025-04-29 13:43 UTC (permalink / raw)
To: Simon Glass, U-Boot Mailing List; +Cc: Tom Rini
Hi Simon,
On 4/29/25 3:15 PM, Simon Glass wrote:
> Recent distros complain about using 'pip install'. Adjust the script to
> use 'apt get' instead where possible/required (e.g. with Ubuntu 24.04).
>
I believe this should already be handled by 9d3f1ebaf875
("tools/make_pip: Use venv when invoking pip")?
Cheers,
Quentin
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH 2/2] tools: Update the license specifiers
2025-04-29 13:28 ` Quentin Schulz
@ 2025-04-29 13:52 ` Tom Rini
2025-04-29 14:04 ` Quentin Schulz
0 siblings, 1 reply; 7+ messages in thread
From: Tom Rini @ 2025-04-29 13:52 UTC (permalink / raw)
To: Quentin Schulz; +Cc: Simon Glass, U-Boot Mailing List, Alper Nebi Yasak
[-- Attachment #1: Type: text/plain, Size: 958 bytes --]
On Tue, Apr 29, 2025 at 03:28:35PM +0200, Quentin Schulz wrote:
> Hi Simon,
>
> On 4/29/25 3:15 PM, Simon Glass wrote:
> > Recent versions of Python complain about the license being in the
>
> I believe this isn't related to Python but rather setuptools.
>
> setuptools 77.0.3 and later support PEP-639 which recommends to ditch the
> License :: classifier for a license property.
>
> The issue is that this license property also changed in PEP-639, with
> something that isn't compatible with pre-PEP-639.
>
> Therefore we need to bump the minimum requirement for the setuptools
> dependency in the various pyproject.toml to 77.0.3 or later.
>
> I'm also wondering if we don't need to add a license-files property (also
> PEP-639) to comply with the GPL-2.0-or-later which requires to provide a
> copy of the license.
Thanks for digging in to this more. Is there not some way to both meet
the PEP and utilize SPDX?
--
Tom
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 659 bytes --]
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH 2/2] tools: Update the license specifiers
2025-04-29 13:52 ` Tom Rini
@ 2025-04-29 14:04 ` Quentin Schulz
2025-04-29 14:27 ` Tom Rini
0 siblings, 1 reply; 7+ messages in thread
From: Quentin Schulz @ 2025-04-29 14:04 UTC (permalink / raw)
To: Tom Rini; +Cc: Simon Glass, U-Boot Mailing List, Alper Nebi Yasak
Hi Tom,
On 4/29/25 3:52 PM, Tom Rini wrote:
> On Tue, Apr 29, 2025 at 03:28:35PM +0200, Quentin Schulz wrote:
>> Hi Simon,
>>
>> On 4/29/25 3:15 PM, Simon Glass wrote:
>>> Recent versions of Python complain about the license being in the
>>
>> I believe this isn't related to Python but rather setuptools.
>>
>> setuptools 77.0.3 and later support PEP-639 which recommends to ditch the
>> License :: classifier for a license property.
>>
>> The issue is that this license property also changed in PEP-639, with
>> something that isn't compatible with pre-PEP-639.
>>
>> Therefore we need to bump the minimum requirement for the setuptools
>> dependency in the various pyproject.toml to 77.0.3 or later.
>>
>> I'm also wondering if we don't need to add a license-files property (also
>> PEP-639) to comply with the GPL-2.0-or-later which requires to provide a
>> copy of the license.
>
> Thanks for digging in to this more. Is there not some way to both meet
> the PEP and utilize SPDX?
>
AFAICT, the license field is for the SPDX identifier.
Not all licenses require you to provide the license to comply with it I
guess? But my reading of GPL-2.0-or-later makes me believe that we need
to. You would then have the license file(s) included when license-files
contains a file that is found at the root of the python project? I
believe that the default value for license-files is ['LICEN[CS]E*',
'COPYING*', 'NOTICE*', 'AUTHORS*'] so it could be automatically included
(and thus the license-files not be explicit) if the license file(s) is
named like that.
It isn't necessarily a big deal (IANAL) to not have the license shipped
if we don't plan on pushing those to pypi or share sdist/wheels through
another mean (e.g. GitLab/GitHub releases generated with `python3 -m
build`)?
I am not sure exactly what you meant by "both meet the PEP and utilize
SPDX" as I believe they aren't related here? I mean, license property is
the way to define the SPDX identifier in PEP-639, but the missing
license-files doesn't have anything to do with SPDX I believe? Just that
it wouldn't be complying (I believe, still haven't become a lawyer in
the last few paragraphs) with the license itself if the license file
isn't shipped.
What I meant is that in order to use the license property, we need to
bump the setuptools version dependency in pyproject.toml so we're sure
we're building with a recent enough setuptools.
Let me know if something isn't clear, I just happened to have had a
glance at the PEP this morning for another project, so I am as confident
as someone who spent 5min reading a spec :)
Cheers,
Quentin
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH 2/2] tools: Update the license specifiers
2025-04-29 14:04 ` Quentin Schulz
@ 2025-04-29 14:27 ` Tom Rini
0 siblings, 0 replies; 7+ messages in thread
From: Tom Rini @ 2025-04-29 14:27 UTC (permalink / raw)
To: Quentin Schulz; +Cc: Simon Glass, U-Boot Mailing List, Alper Nebi Yasak
[-- Attachment #1: Type: text/plain, Size: 3039 bytes --]
On Tue, Apr 29, 2025 at 04:04:32PM +0200, Quentin Schulz wrote:
> Hi Tom,
>
> On 4/29/25 3:52 PM, Tom Rini wrote:
> > On Tue, Apr 29, 2025 at 03:28:35PM +0200, Quentin Schulz wrote:
> > > Hi Simon,
> > >
> > > On 4/29/25 3:15 PM, Simon Glass wrote:
> > > > Recent versions of Python complain about the license being in the
> > >
> > > I believe this isn't related to Python but rather setuptools.
> > >
> > > setuptools 77.0.3 and later support PEP-639 which recommends to ditch the
> > > License :: classifier for a license property.
> > >
> > > The issue is that this license property also changed in PEP-639, with
> > > something that isn't compatible with pre-PEP-639.
> > >
> > > Therefore we need to bump the minimum requirement for the setuptools
> > > dependency in the various pyproject.toml to 77.0.3 or later.
> > >
> > > I'm also wondering if we don't need to add a license-files property (also
> > > PEP-639) to comply with the GPL-2.0-or-later which requires to provide a
> > > copy of the license.
> >
> > Thanks for digging in to this more. Is there not some way to both meet
> > the PEP and utilize SPDX?
> >
>
> AFAICT, the license field is for the SPDX identifier.
>
> Not all licenses require you to provide the license to comply with it I
> guess? But my reading of GPL-2.0-or-later makes me believe that we need to.
> You would then have the license file(s) included when license-files contains
> a file that is found at the root of the python project? I believe that the
> default value for license-files is ['LICEN[CS]E*', 'COPYING*', 'NOTICE*',
> 'AUTHORS*'] so it could be automatically included (and thus the
> license-files not be explicit) if the license file(s) is named like that.
>
> It isn't necessarily a big deal (IANAL) to not have the license shipped if
> we don't plan on pushing those to pypi or share sdist/wheels through another
> mean (e.g. GitLab/GitHub releases generated with `python3 -m build`)?
>
> I am not sure exactly what you meant by "both meet the PEP and utilize SPDX"
> as I believe they aren't related here? I mean, license property is the way
> to define the SPDX identifier in PEP-639, but the missing license-files
> doesn't have anything to do with SPDX I believe? Just that it wouldn't be
> complying (I believe, still haven't become a lawyer in the last few
> paragraphs) with the license itself if the license file isn't shipped.
>
> What I meant is that in order to use the license property, we need to bump
> the setuptools version dependency in pyproject.toml so we're sure we're
> building with a recent enough setuptools.
>
> Let me know if something isn't clear, I just happened to have had a glance
> at the PEP this morning for another project, so I am as confident as someone
> who spent 5min reading a spec :)
Thanks for explaining more. I misunderstood for a moment. Yes, we still
have "Licenses/gpl-2.0.txt" in-tree as the license text itself so we can
point at that I hope.
--
Tom
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 659 bytes --]
^ permalink raw reply [flat|nested] 7+ messages in thread
end of thread, other threads:[~2025-04-29 14:27 UTC | newest]
Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-04-29 13:15 [PATCH 1/2] tools/make_pip.sh: Use debian packages instead of pip Simon Glass
2025-04-29 13:15 ` [PATCH 2/2] tools: Update the license specifiers Simon Glass
2025-04-29 13:28 ` Quentin Schulz
2025-04-29 13:52 ` Tom Rini
2025-04-29 14:04 ` Quentin Schulz
2025-04-29 14:27 ` Tom Rini
2025-04-29 13:43 ` [PATCH 1/2] tools/make_pip.sh: Use debian packages instead of pip Quentin Schulz
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.