Hi Felix,
The missing bit is whether the build backend of pypdf exposes the metadata that pyproject-rpm-macros use to detect the license file. pypdf uses flit-core as its build backend which doesn't implement `License-File` field (it's a part of PEP 639, still in draft and implemented only in a subset of build backends, like setuptools and hatch). Hopefully in the future it'll become a standard.
For now, you've got to declare the license file via the %license macro manually.
See "Generating the %files section" of https://src.fedoraproject.org/rpms/pyproject-rpm-macros/blob/rawhide/f/READM... for more details.
Karolina
On 5/29/24 08:35, Felix Schwarz wrote:
While I was reviewing python-pypdf [1] I noticed that the produced rpm (python3-pypdf) does not contain the license file, that is "rpm -q --licensefiles" comes up empty.
As far as I can tell the package follows the example spec file [2] which does not feature an explicit %license tag so I guess the %pyproject macros are supposed to pick these up automatically?
As for python-pypdf, the license file IS present in Python's dist-info directory.
The release tarball uses pyproject.toml with the following line:
license = { file = "LICENSE" }
Am I misunderstanding something here or could this be a shortcoming in the current macros?
Felix
[1] https://bugzilla.redhat.com/show_bug.cgi?id=2279080 [2] https://docs.fedoraproject.org/en-US/packaging-guidelines/Python/#_example_s... --