mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git
synced 2024-12-29 09:12:07 +00:00
checkpatch: validate SPDX license with spdxcheck.py
Use the existing scripts/spdxcheck.py to validate any SPDX-License-Identifier found in line 1 or 2 of patches or files. Miscellanea: o Properly indent the existing SPDX-License-Identifier block. Link: http://lkml.kernel.org/r/05b832407b24e0a27e419906187cd863bc1617c7.camel@perches.com Signed-off-by: Joe Perches <joe@perches.com> Acked-by: Rob Herring <robh@kernel.org> Cc: Thomas Gleixner <tglx@linutronix.de> Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
This commit is contained in:
parent
8c8c45cfdd
commit
3b6e8ac9e7
@ -849,6 +849,16 @@ sub is_maintained_obsolete {
|
||||
return $status =~ /obsolete/i;
|
||||
}
|
||||
|
||||
sub is_SPDX_License_valid {
|
||||
my ($license) = @_;
|
||||
|
||||
return 1 if (!$tree || which("python") eq "" || !(-e "$root/scripts/spdxcheck.py"));
|
||||
|
||||
my $status = `echo "$license" | python $root/scripts/spdxcheck.py -`;
|
||||
return 0 if ($status ne "");
|
||||
return 1;
|
||||
}
|
||||
|
||||
my $camelcase_seeded = 0;
|
||||
sub seed_camelcase_includes {
|
||||
return if ($camelcase_seeded);
|
||||
@ -2978,8 +2988,14 @@ sub process {
|
||||
|
||||
if ($comment !~ /^$/ &&
|
||||
$rawline !~ /^\+\Q$comment\E SPDX-License-Identifier: /) {
|
||||
WARN("SPDX_LICENSE_TAG",
|
||||
"Missing or malformed SPDX-License-Identifier tag in line $checklicenseline\n" . $herecurr);
|
||||
WARN("SPDX_LICENSE_TAG",
|
||||
"Missing or malformed SPDX-License-Identifier tag in line $checklicenseline\n" . $herecurr);
|
||||
} elsif ($rawline =~ /(SPDX-License-Identifier: .*)/) {
|
||||
my $spdx_license = $1;
|
||||
if (!is_SPDX_License_valid($spdx_license)) {
|
||||
WARN("SPDX_LICENSE_TAG",
|
||||
"'$spdx_license' is not supported in LICENSES/...\n" . $herecurr);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user