reuse-tool
reuse-tool copied to clipboard
Deprecate `--include-meson-subprojects` and make it default, introduce `--exclude-meson-subprojects`
It appears that (when --include-meson-subprojects
is not given) reuse
ignores any subdirectory of the subprojects/
directory. This is not correct: subprojects/packagefiles
should be treated the same way as subprojects/*.wrap
files.
In addition to the above issue, I find it highly surprising that subprojects that are under VCS tracking get ignored silently. (The fact that git submodules are ignored by default did not surprise me; any repo that is a submodule is usually separately obtainable, so it makes sense that it should have its own license management.) I only figured out what was going on after using --debug
and stepping through with a debugger.
Meson subprojects can be used in a number of different ways, and having a subproject that is strongly tied to the main project and/or too small to warrant independent license management is probably not uncommon (especially in the case where the subproject is neither a git submodule nor ignored by the VCS).
I'm not sure what would be the right thing to do (if anything), but some possibilities that come to mind are:
- Change the default to include subprojects and have a flag to exclude them (this would be an incompatible change),
- Ignore Meson subprojects only if they contain a
LICENSES/
directory of their own (and maybe recursively scan the subproject as a separate project), or - Just make it clearer in the documentation/spec that subprojects are ignored by default
Thank you for your comment. In the maintainers call today we came to the conclusion that your argumentation is correct and that the default should be to include meson subprojects by default, but provide an optional flag --exclude-meson-subprojects
to exclude them.
This shall happen in an upcoming version 2.0.0 indicating this breaking change.
/cc @ventosus as they contributed the --include-meson-subprojects
flag in #496.
Appreciate it!