Re: [PATCH] staging: vt6656: Use the correct style for SPDX license Identifier

From: Nishad Kamdar
Date: Wed Feb 13 2019 - 09:22:13 EST


On Wed, Feb 06, 2019 at 11:17:35PM -0800, Joe Perches wrote:
> On Wed, 2019-02-06 at 17:25 +0100, Greg Kroah-Hartman wrote:
> > On Tue, Feb 05, 2019 at 10:59:40AM -0800, Joe Perches wrote:
> > > On Tue, 2019-02-05 at 19:44 +0100, Greg Kroah-Hartman wrote:
> > > > On Tue, Feb 05, 2019 at 08:36:24PM +0530, Nishad Kamdar wrote:
> > > > > This patch corrects the style for SPDX license Identifier in mac.h
> > > > > by using "/* */" in place of "//" as per Linux kernel licensing rules.
> > > > > Issue found by checkpatch.
> > > > >
> > > > > Signed-off-by: Nishad Kamdar <nishadkamdar@xxxxxxxxx>
> > > > > ---
> > > > > drivers/staging/vt6656/mac.h | 4 ++--
> > > > > 1 file changed, 2 insertions(+), 2 deletions(-)
> > > > >
> > > > > diff --git a/drivers/staging/vt6656/mac.h b/drivers/staging/vt6656/mac.h
> > > > > index 94e700fcd0b6..75166020f7c6 100644
> > > > > --- a/drivers/staging/vt6656/mac.h
> > > > > +++ b/drivers/staging/vt6656/mac.h
> > > > > @@ -1,5 +1,5 @@
> > > > > -// SPDX-License-Identifier: GPL-2.0+
> > > > > -/*
> > > > > +/* SPDX-License-Identifier: GPL-2.0+
> > > >
> > > > Should really be:
> > > >
> > > > /* SPDX-License-Identifier: GPL-2.0+ */
> > >
> > > There's a fair number of style inconsistencies in the kernel
> > > sources for that already.
> > >
> > > ~8% of the .h files that have an 'SPDX-License-Identifier:'
> > > don't use the recommended style.
> > >
> > > $ git grep -h "SPDX-License" -- '*.h' | \
> > > perl -p -e 's@Identifier:.*\*/*@Identifier: ... */@; s@Identifier: [^\.].*@Identifier:@' | \
> > > sort | uniq -c | sort -rn
> > > 8506 /* SPDX-License-Identifier: ... */
> > > 593 // SPDX-License-Identifier:
> > > 154 /* SPDX-License-Identifier:
> > > 53 * SPDX-License-Identifier:
> > > 1 * SPDX-License-Identifier: GPL-2.0
> > > 1 //SPDX-License-Identifier:
> > > 1 /* SPDX-License-Identifier: ... */
> >
> > Then let's fix them, the documentation says what the correct format is,
> > there's no reason we can't actually follow what is written...
>
> So here's a script that does most all of them except
> the 50 or so that use the SPDX-License-Identifier
> in the middle of a comment block.
>
> Using:
>
> $ git grep --name-only 'SPDX-License-Identifier:' -- '*.h' | \
> xargs grep -L '/\* SPDX-License-Identifier:.*\*/'| \
> while read file ; do perl -i update_spdx.perl $file ; done
>
> produces
>
> $ git diff --shortstat
> 748 files changed, 902 insertions(+), 902 deletions(-)
>
> And
>
> $ git grep -h "SPDX-License" -- '*.h' | \
> perl -p -e 's@Identifier:.*\*/*@Identifier: ... */@; s@Identifier: [^\.].*@Identifier:@' | \
> sort | uniq -c | sort -rn
> 9254 /* SPDX-License-Identifier: ... */
> 53 * SPDX-License-Identifier:
> 1 * SPDX-License-Identifier: GPL-2.0
> 1 /* SPDX-License-Identifier: ... */
>
> and the perl script below is also attached
>
> $ cat update_spdx.perl
> local $/;
> my $file = (<>);
>
> my $spdx_regex = '/\*[ \t]*SPDX-License-Identifier:[ \t]*';
> my $spdx_actual = '/* SPDX-License-Identifier: ';
>
> # any // use converted to /* ... */
> $file =~ s@^//[ \t]*SPDX-License-Identifier:[ \t]*(.*)\n@/* SPDX-License-Identifier: $1 */\n@;
>
> # first line use with /* without trailing */ gets */ added and 2nd line updated
> $file =~ m@^\s*${spdx_regex}([^\n]+)\n@;
> if (defined $1 && $1 !~ m@\*/$@) {
> $file =~ s@^[ \t]*${spdx_regex}([^\n]+)\n@${spdx_actual}$1 */\n/* @;
> $file =~ s@^[ \t]*${spdx_regex}([^\n]+)\n[ \t]*/\*[ \t]+\*@${spdx_actual}$1\n/* @;
> $file =~ s@^\s*${spdx_regex}([^\n]+)\n/\* \n@${spdx_actual}$1\n/*\n@;
> }
>
> print $file;
>

Ok, Thanks for the suggestion and the script.

I'll try to use it and correct the format.

Thanks and regards,
Nishad