Conversation
f29320b to
5a4e370
Compare
|
@mauritsvanrees who could the our legal hero for this PR? 🤔 😅 see the first message for the details. |
|
Note: I did not look at the code yet. @gforcada We could make a mapping from our most used license classifiers to the new license expressions. I see at least these:
Maybe @polyester has thoughts here? You could also ask in the sprint standup tomorrow if anyone there has knowledge about this. |
5a4e370 to
62b54c9
Compare
|
I am trying it on Eyeballing the changes, what stands out is this:
At the end of the file I see this change:
Another one:
|
|
Rather more importantly, the |
Easier: if the repo url starts with |
62b54c9 to
70c33ab
Compare
Move `get_pyproject_toml` inline on the module as in `plone.meta` we don't have `.shared.packages` module. `META_HINT` is on our `config_package` module. Simplify the `OLDEST_PYTHON_VERSION` to a static value (3.10).
Check the license and trove classifiers from `setup.py` against a known set of licenses and complain in certain scenarios: - if there is more than one license trove classifier - if there is license trove classifier out of our known set - if the license and the license trove classifier disagree If all works well and there is either none or only one trove classifier and it matches with the license argument on setup.py, get a valid SPDX license expression. This last part is important, otherwise `pyroma`, and probably PyPI when uploading, will complain and refuse new releases.
Surround `pyproject.toml` `project` table with some special comments that `config-package` will use to avoid dropping that content whenever it runs. Add the `[project.urls]` table on `pyproject.toml` with a few project related URLs: source, issue tracker and change log.
70c33ab to
eaee848
Compare
They are meant to be lists, but somehow `setup.py` is happy if it is a string (when it is only a single dependency). On `pyproject.toml` that is no longer valid.
eaee848 to
9936ca4
Compare
|
@mauritsvanrees given your feedback:
We could go on and on here, as metadata is very intricate... like do we want to standardize the maintainers to: maintainers_table = {
"name": "Plone Foundation and contributors",
"email": "plone-developers@lists.sourceforge.net",
}That's what will be doing this script. Is that email still valid? Should we do something similar to the |
9936ca4 to
e358940
Compare
|
In I see the same in It seems to me an error in |
Co-authored-by: Maurits van Rees <maurits@vanrees.org>
Co-authored-by: Maurits van Rees <maurits@vanrees.org>
Co-authored-by: Maurits van Rees <maurits@vanrees.org>
|
The |
Closes #315
The easy part is done: adapt the
zope.metascript to be usable withinplone.meta.We still need to fix what happens after we run againconfig-packageon a repository 😅Now we have a legal problem 🙃:
On
setup.pywe used both:but also classifiers:
"License :: OSI Approved :: GNU General Public License v2 (GPLv2)",On
pyproject.tomlthough, we are pressed to use license expressions which mostly boils down to either put a single string from the SPDX license list or a combination of a few of them (though not so much our case).On
license=insetup.pywe have a mix of:The last (
ZPL 2.1) one seems easy:license = "ZPL-2.1".What about the GPL or BSD ones? the few ones that mention v2 is
GPL-2.0-onlyorGPL-2.0-or-later?Same for BSD, there are so many variations... 😵💫 😅