U-Boot Archive on lore.kernel.org
 help / color / mirror / Atom feed
* [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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox