fsfe / reuse-tool

reuse is a tool for compliance with the REUSE recommendations.
https://reuse.software
401 stars 148 forks source link

`reuse init` does not recognise SPDX license expressions with exceptions #842

Open jodogne opened 1 year ago

jodogne commented 1 year ago

Dear maintainers,

First of all, thanks for your great work on REUSE!

I am in the process of packaging a software a component of which is licensed under the now-deprecated "GNU General Public License v2.0 w/Classpath exception" license: https://spdx.org/licenses/GPL-2.0-with-classpath-exception.html

Unfortunately, I am unable to make reuse init accept this license. For instance, the tool fails with error 'GPL-2.0-only WITH Classpath-exception-2.0' is not a valid SPDX License Identifier, and I was unable to find a variation that works.

Is there any way of making REUSE work with this license? Thanks in advance!

Kind Regards, Sébastien-

carmenbianca commented 1 year ago

Hi @jodogne

Thanks for the bug report. You should be able to circumvent this problem for now by lying in reuse init. Just write down GPL-2.0-only. Then subsequently, call reuse download Classpath-exception-2.0. Those two things combined should do approximately the same thing.

Let me know if that works :)

jodogne commented 1 year ago

Many thanks for your so fast answering! For further reference, I confirm that the following sequence works correctly with reuse-tool 2.1.0:

$ reuse download GPL-2.0-only
$ reuse download Classpath-exception-2.0

Then creating a file named my-header.h.license with following content:

# SPDX-FileCopyrightText: 2023 XXX
#
# SPDX-License-Identifier: GPL-2.0-only WITH Classpath-exception-2.0
carmenbianca commented 1 year ago

Reopening this issue because there's still a bug :)

Glad it worked for you!