Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This started out as a somewhat minor change to add support for clearlydefined.io, but spiraled a bit.
files
which will just read the 1 or more files specified and checksum them to ensure they match, orgit
, which will pull the file(s) in question from the source repo at the same commit that was used when packaging the published crate. This is particular useful for the many crates that have a single license defined in the root of a repo, but 1 or more subcrates in a workspace that don't actually have that license packaged in the final .crate file (cargo will not package files above the crate root by default). Thegit
version only supports repos hosted on eithergithub.com
,gitlab.com
, orbitbucket.org
but this will be improved in the future.clarify
subcommand that can be used to help generate the information needed for a clarification, both from a path on a disk, a specific crate and version that is already on disk, or a crates source repositoryworkarounds
which are optional clarifications for some popular and/or "big" crates that I encountered when doing this change, that can be toggle on via a single<name>
in the about.toml, rather than needing to retype the same thing in any project that uses one of these crates that use cargo-aboutbitvec
- Fairly common crate, doesn't include the license text in the packaged cratechrono
- Very common crate, doesn't include the license text in the packaged crateclap
- Very common crate, doesn't include the license text in the packaged cratecocoa
- Gui mac apps tend to use this, a multi-crate repo that doesn't package the license in all of the cratesgtk
- Gui linux apps tend to use this, a multi-crate repo that doesn't package the license in all of the crates, currentlyring
- Often pulled in viarustls
, this crate has incredibly complicated and non-machine readable licensingrustls
- Uses the same incredibly complicated single license file asring
sentry
- All the official sentry packages are published from the same repo, but without their license textstonic
- All packages are published from the same repo, but without their license textstract
- All packages are published from the same repo, but without their license texts, this has been fixed in latest versionwasmtime
- This includes all of thewasmtime
andcranelift
adjacent crates that will be pulled in by most projects that usewasmtime
. The license used is the same for all of them, namelyApache-2,0 WITH LLVM-exception
, however neither clearlydefined noraskalono
parse the license text correctly and thus just findApache-2.0
and not the exception, so we correct itResolves: #61