[PATCH 1/1] pylibfdt: correct license information

Quentin Schulz quentin.schulz at cherry.de
Tue Jun 10 15:12:02 CEST 2025


Hi Heinrich,

On 6/10/25 1:17 PM, Heinrich Schuchardt wrote:
> On 10.06.25 12:53, Quentin Schulz wrote:
>> Hi Heinrich,
>>
>> On 6/7/25 1:32 PM, Heinrich Schuchardt wrote:
>>> Setuptools 78.1.1 shows warnings:
>>>
>>> * Pattern 'GPL' did not match any files.
>>> * Pattern 'BSD-2-Clause' did not match any files.
>>> * SetuptoolsDeprecationWarning: License classifiers are deprecated.
>>>
>>> Cf. https://eur02.safelinks.protection.outlook.com/? 
>>> url=https%3A%2F%2Fpackaging.python.org%2Fen%2Flatest%2Fguides%2Fwriting-pyproject-&data=05%7C02%7Cquentin.schulz%40cherry.de%7C0adb7b1dc0614f539d0808dda81061b4%7C5e0e1b5221b54e7b83bb514ec460677e%7C0%7C0%7C638851510506087467%7CUnknown%7CTWFpbGZsb3d8eyJFbXB0eU1hcGkiOnRydWUsIlYiOiIwLjAuMDAwMCIsIlAiOiJXaW4zMiIsIkFOIjoiTWFpbCIsIldUIjoyfQ%3D%3D%7C0%7C%7C%7C&sdata=EE9NsYjNmv9u%2FCkTUJlLaDtXouwZ2pNPlBwvLFuwQlA%3D&reserved=0 toml/#license
>>>
>>> Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt at canonical.com>
>>> ---
>>>   scripts/dtc/pylibfdt/setup.py | 4 +---
>>>   1 file changed, 1 insertion(+), 3 deletions(-)
>>>
>>> diff --git a/scripts/dtc/pylibfdt/setup.py b/scripts/dtc/pylibfdt/ 
>>> setup.py
>>> index c6fe5a6a446..487e669f524 100755
>>> --- a/scripts/dtc/pylibfdt/setup.py
>>> +++ b/scripts/dtc/pylibfdt/setup.py
>>> @@ -158,12 +158,10 @@ setup(
>>>       long_description_content_type="text/plain",
>>>       url="https://eur02.safelinks.protection.outlook.com/? 
>>> url=https%3A%2F%2Fgit.kernel.org%2Fpub%2Fscm%2Futils%2Fdtc%2Fdtc.git&data=05%7C02%7Cquentin.schulz%40cherry.de%7C0adb7b1dc0614f539d0808dda81061b4%7C5e0e1b5221b54e7b83bb514ec460677e%7C0%7C0%7C638851510506108720%7CUnknown%7CTWFpbGZsb3d8eyJFbXB0eU1hcGkiOnRydWUsIlYiOiIwLjAuMDAwMCIsIlAiOiJXaW4zMiIsIkFOIjoiTWFpbCIsIldUIjoyfQ%3D%3D%7C0%7C%7C%7C&sdata=r00cvV5e%2BYJO6je%2FyIip3lMC%2FjqkUpTKvC%2FpMS9aobU%3D&reserved=0",
>>>       license="BSD",
>>> -    license_files=["GPL", "BSD-2-Clause"],
>>> +    license_files=["Licenses/gpl-2.0.txt", "Licenses/bsd-2- 
>>> clause.txt"],
>>>       classifiers=[
>>>           "Programming Language :: Python :: 3",
>>> -        "License :: OSI Approved :: BSD License",
>>> -        "License :: OSI Approved :: GNU General Public License v2 or 
>>> later (GPLv2+)",
>>
>> This is an issue though, as it's supposed to be replaced by the 
>> license argument to the setuptools.setup() function and we aren't 
>> matching there (though tbf, we weren't already matching :) ).
> 
> Upstream setup tools has been changed to ignore these lines.
> 
>>
>> Also, I'm not entirely sure BSD is unambiguous?
> 
> There are BSD Zero Clause License, BSD 1-Clause License, BSD-2-Clause, 
> and BSD-3-Clause, and further variants. See
> 
> https://eur02.safelinks.protection.outlook.com/? 
> url=https%3A%2F%2Fspdx.org%2Flicenses%2F&data=05%7C02%7Cquentin.schulz%40cherry.de%7C0adb7b1dc0614f539d0808dda81061b4%7C5e0e1b5221b54e7b83bb514ec460677e%7C0%7C0%7C638851510506121987%7CUnknown%7CTWFpbGZsb3d8eyJFbXB0eU1hcGkiOnRydWUsIlYiOiIwLjAuMDAwMCIsIlAiOiJXaW4zMiIsIkFOIjoiTWFpbCIsIldUIjoyfQ%3D%3D%7C0%7C%7C%7C&sdata=INVUJ5iYA8APRyK0u9Rh2QUYLR%2B%2F0%2FGwevzMVHxgPiM%3D&reserved=0
> 
> The linked files in license_files are unambiguous.
> 
>>
>> I would suggest:
>>
>> license="GPL-2.0-or-later OR BSD-2-Clause"
>>
>> to match the SPDX-License-Identifier at the top if the setup.py file :)
> 
> 51ec8db23280 ("pylibfdt: correct license information") is already 
> merged. Please, send a new patch id you want to change the license field.
> 

Fair enough, sending a patch...

I did a similar changes in an unrelated project a while ago, c.f. 
https://github.com/maxpat78/FATtools/pull/20/commits/6f811b1a6719e605d8c6fb03d1e95468fa2de720

It seems like we need to make sure setuptools is 77.0.3 or later now. I 
don't see a declared dependency there though and it seems we add the 
path to the pylibfdt to the sys.path wherever we need it. I assume we 
would need to bump that version in those projects' 
pyproject.toml/requirements.txt?

Should we just ignore this for the moment? At the same time, setuptools 
77.0.3 is very recent, most distros don't actually package it just yet. 
If I trust my old self, if we build those tools within virtualenv/venv, 
then it would anyway just pick the latest available version on PyPi?

Cheers,
Quentin


More information about the U-Boot mailing list