* Re: [B.A.T.M.A.N.] [patch 2/2] scripts/spdxcheck.py: Handle special quotation mark comments [not found] ` <20190116104127.698565432@linutronix.de> @ 2019-01-20 15:32 ` Sven Eckelmann 2019-01-20 18:39 ` Joe Perches 0 siblings, 1 reply; 3+ messages in thread From: Sven Eckelmann @ 2019-01-20 15:32 UTC (permalink / raw) To: Thomas Gleixner Cc: LKML, Kuninori Morimoto, Simon Horman, Yoshinori Sato, Rich Felker, Andrew Morton, Kate Stewart, Greg Kroah-Hartman, Jonathan Corbet, b.a.t.m.a.n [-- Attachment #1: Type: text/plain, Size: 1192 bytes --] On Wednesday, 16 January 2019 11.26.53 CET Thomas Gleixner wrote: > The SuperH boot code files use a magic format for the SPDX identifier > comment: > > LIST "SPDX-License-Identifier: .... " > > The trailing quotation mark is not stripped before the token parser is > invoked and causes the scan to fail. Handle it gracefully. [...] This patch introduces a false positive when checking files with an ANSI-C style /* SPDX-License-Identifier: .... */ comment line. $ ./scripts/checkpatch.pl -q -f include/linux/bug.h WARNING: 'SPDX-License-Identifier: GPL-2.0 */' is not supported in LICENSES/... #1: FILE: include/linux/bug.h:1: +/* SPDX-License-Identifier: GPL-2.0 */ total: 0 errors, 1 warnings, 79 lines checked checkpatch.pl is already stripping the "/* " prefix and only sends the remaining "SPDX-License-Identifier: GPL-2.0 */" via stdin to scripts/spdxcheck.py. Thus the newly introduced check > + # Remove trailing comment closure > + if line.startswith('/*'): > + expr = expr.rstrip('*/').strip() doesn't match and thus the code doesn't remove the " */" at the end of the line. Kind regards, Sven [-- Attachment #2: This is a digitally signed message part. --] [-- Type: application/pgp-signature, Size: 833 bytes --] ^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [B.A.T.M.A.N.] [patch 2/2] scripts/spdxcheck.py: Handle special quotation mark comments 2019-01-20 15:32 ` [B.A.T.M.A.N.] [patch 2/2] scripts/spdxcheck.py: Handle special quotation mark comments Sven Eckelmann @ 2019-01-20 18:39 ` Joe Perches 2019-02-06 18:50 ` Sven Eckelmann 0 siblings, 1 reply; 3+ messages in thread From: Joe Perches @ 2019-01-20 18:39 UTC (permalink / raw) To: Sven Eckelmann, Thomas Gleixner Cc: LKML, Kuninori Morimoto, Simon Horman, Yoshinori Sato, Rich Felker, Andrew Morton, Kate Stewart, Greg Kroah-Hartman, Jonathan Corbet, b.a.t.m.a.n On Sun, 2019-01-20 at 16:32 +0100, Sven Eckelmann wrote: > On Wednesday, 16 January 2019 11.26.53 CET Thomas Gleixner wrote: > > The SuperH boot code files use a magic format for the SPDX identifier > > comment: > > > > LIST "SPDX-License-Identifier: .... " > > > > The trailing quotation mark is not stripped before the token parser is > > invoked and causes the scan to fail. Handle it gracefully. > [...] > > This patch introduces a false positive when checking files with an ANSI-C > style /* SPDX-License-Identifier: .... */ comment line. > > $ ./scripts/checkpatch.pl -q -f include/linux/bug.h > WARNING: 'SPDX-License-Identifier: GPL-2.0 */' is not supported in LICENSES/... > #1: FILE: include/linux/bug.h:1: > +/* SPDX-License-Identifier: GPL-2.0 */ > > total: 0 errors, 1 warnings, 79 lines checked > > checkpatch.pl is already stripping the "/* " prefix and only sends the > remaining "SPDX-License-Identifier: GPL-2.0 */" via stdin to > scripts/spdxcheck.py. Thus the newly introduced check > > > + # Remove trailing comment closure > > + if line.startswith('/*'): > > + expr = expr.rstrip('*/').strip() > > doesn't match and thus the code doesn't remove the " */" at the end of the > line. Well, maybe checkpatch should remove the comment trailer. --- Miscellanea: o Indent a block properly too scripts/checkpatch.pl | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/scripts/checkpatch.pl b/scripts/checkpatch.pl index 155fa9305166..e0b542008256 100755 --- a/scripts/checkpatch.pl +++ b/scripts/checkpatch.pl @@ -3029,8 +3029,10 @@ sub process { $checklicenseline = 2; } elsif ($rawline =~ /^\+/) { my $comment = ""; + my $trailer = ""; if ($realfile =~ /\.(h|s|S)$/) { $comment = '/*'; + $trailer = '*/'; } elsif ($realfile =~ /\.(c|dts|dtsi)$/) { $comment = '//'; } elsif (($checklicenseline == 2) || $realfile =~ /\.(sh|pl|py|awk|tc)$/) { @@ -3044,11 +3046,12 @@ sub process { 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); - } + my $spdx_license = rtrim($1); + $spdx_license =~ s/\s*\Q$trailer\E$//; + if (!is_SPDX_License_valid($spdx_license)) { + WARN("SPDX_LICENSE_TAG", + "'$spdx_license' is not supported in LICENSES/...\n" . $herecurr); + } } } } ^ permalink raw reply related [flat|nested] 3+ messages in thread
* Re: [B.A.T.M.A.N.] [patch 2/2] scripts/spdxcheck.py: Handle special quotation mark comments 2019-01-20 18:39 ` Joe Perches @ 2019-02-06 18:50 ` Sven Eckelmann 0 siblings, 0 replies; 3+ messages in thread From: Sven Eckelmann @ 2019-02-06 18:50 UTC (permalink / raw) To: Joe Perches Cc: Thomas Gleixner, LKML, Kuninori Morimoto, Simon Horman, Yoshinori Sato, Rich Felker, Andrew Morton, Kate Stewart, Greg Kroah-Hartman, Jonathan Corbet, b.a.t.m.a.n [-- Attachment #1: Type: text/plain, Size: 323 bytes --] On Sunday, 20 January 2019 19.39.55 CET Joe Perches wrote: > Well, maybe checkpatch should remove the comment trailer. > --- > Miscellanea: In case you are waiting for me (haven't seen it popping up in linux-next): yes, this patch solves the problem for me. Tested-by: Sven Eckelmann <sven@narfation.org> Thanks, Sven [-- Attachment #2: This is a digitally signed message part. --] [-- Type: application/pgp-signature, Size: 833 bytes --] ^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2019-02-06 18:50 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
[not found] <20190116102651.489113812@linutronix.de>
[not found] ` <20190116104127.698565432@linutronix.de>
2019-01-20 15:32 ` [B.A.T.M.A.N.] [patch 2/2] scripts/spdxcheck.py: Handle special quotation mark comments Sven Eckelmann
2019-01-20 18:39 ` Joe Perches
2019-02-06 18:50 ` Sven Eckelmann
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox