Comments (5)
This is because the spec now assumes that a license always has a file extension. The Linux kernel doesn't use file extensions for their licenses.
In and of itself, this wouldn't really be a problem, other than LGPL-2.0
being detected as LGPL-2
with the .0
file extension. But the real problem here is that there is both an LGPL-2.0
and an LGPL-2.1
file, both resolving to LGPL-2
.
I would like to fix this in the tool, somehow, but I'm not sure what an elegant solution is. It might be possible to do the following steps:
-
If a license file has a name (e.g.,
LICENSES/GPL-3.0-or-later
, without.txt
) that matches a license on the SPDX License List, simply accept that license file. This used to be the case in 0.3.x, and is trivially easy to implement. -
Warn the user about this happening. Trivially easy.
-
Somehow make the linter aware that this error occured, and make the linter fail. A little more difficult to implement, but certainly not impossible.
from reuse-tool.
As an intermediate solution, your options 1 and 2 seem to be sufficient and don't contradict our principles generally. AFAIK we already have a few undocumented exceptions for Linux
from reuse-tool.
They weren't separate options. They were steps that belong together :)
The main question is: Should the lint fail if the licenses have no file extensions? The specification mentions they should, so I'm thinking the linter should fail. But this is such a trivial thing that I'm not sureβ¦
from reuse-tool.
Ah, to be sure, the linter should (almost) never crash: The current behaviour is not very desireable and should be fixed regardless. When I say that the linter fails or not, I mean the report at the end.
from reuse-tool.
Ah ok! Well then, that sounds like a good plan.
I agree that the linter should not crash. That also makes debugging the API harder (that's where I found out about this error, and since we do not parse stderr it wasn't that trivial to debug ;) )
from reuse-tool.
Related Issues (20)
- Switch from `argparse` to `click`
- Missinterpreting license HOT 1
- VHDL Files not recognised HOT 1
- Tests are slow because subprocess.run is called a lot
- Remove PendingDeprecationWarning when .reuse/dep5 covers 2 files simultaneously
- Invalid SPDX relashionship
- Remove `csingle` and `css` shorthands in v4.0.0
- Add support for Earthfile HOT 1
- REUSE Tool does not ignore files beginning with LICENSE HOT 4
- Reuse 4 is slow HOT 2
- Add poetry.lock to uncommentable files
- reuse 4.0.2 version specifier for `attrs` too relaxed HOT 3
- Copyright and licensing for REUSE.toml? HOT 4
- doc: remove reference to `reuse init`
- `reuse annotate` won't add headers having `*.commented.jinja2` template HOT 2
- Add license to Jupyter notebooks as Markdown cell HOT 2
- Please allow for a hidden REUSE.toml file HOT 3
- Switch to importlib mode for pytest
- Is there a way to remove copyright headers? HOT 2
- Dep5 warning when converting dep5
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
π Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. πππ
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google β€οΈ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from reuse-tool.