[PATCH 1/1] pylibfdt: correct license information

Heinrich Schuchardt heinrich.schuchardt at canonical.com
Tue Jun 10 16:59:33 CEST 2025


On 10.06.25 15:12, Quentin Schulz wrote:
> 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?

Thanks for looking at this in depth.

These are our requirements currently:

tools/binman/pyproject.toml:2:requires = ["setuptools>=61.0"]
tools/buildman/pyproject.toml:2:requires = ["setuptools>=61.0"]
tools/dtoc/pyproject.toml:2:requires = ["setuptools>=61.0"]
tools/patman/pyproject.toml:2:requires = ["setuptools>=61.0"]
tools/patman/requirements.txt:5:setuptools==75.8.0
tools/u_boot_pylib/pyproject.toml:2:requires = ["setuptools>=61.0"]

I did not see any issue in our CI. We don't install the Ubuntu Jammy 
default setuptools (59.6.0-1.2ubuntu0.22.04.3) in our Docker image.

Best regards

Heinrich


More information about the U-Boot mailing list