lkml.org 
[lkml]   [2019]   [Sep]   [6]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [PATCH] docs: license-rules.txt: cover SPDX headers on Python scripts
Em Thu, 05 Sep 2019 10:45:36 -0700
Joe Perches <joe@perches.com> escreveu:

> On Thu, 2019-09-05 at 09:07 -0300, Mauro Carvalho Chehab wrote:
> > There are currently 227 files that don't complain with the "up to line 3"
> > rule, including COPYING (with should probably be excluded from the check).
> >
> > Patches are at:
> >
> > https://git.linuxtv.org/mchehab/experimental.git/log/?h=spdx_pedantic
> >
> > Btw, most violations are due to:
> >
> > /*
> > * SPDX...
>
> Hey Mauro.
>
> Here's a little script to move all of the improperly located
> SPDX-License-Identifier lines in [.ch] files.
>
> Using this command line:
>
> $ git grep -n 'SPDX-License-Identifier: ' -- '*.[ch]' | \
> grep -v ':1:' | perl move_spdx.pl
>
> and
>
> $ cat move_spdx.pl
> while (<>) {
> /^([^:]+):([^:]+):(.*)/;
> my ($file, $line, $spdx) = ($1, $2, $3);
> $spdx =~ s/^\s*\/?\*\s*//;
> $spdx =~ s/\s*\*\/\s*$//;
> if ($file =~ /\.h$/) {
> $spdx = "/* $spdx */";
> } else {
> $spdx = "// $spdx";
> }
> open(FH, '<', $file) or die $!;
> my @lines = <FH>;
> close FH;
> open(FH, '>', $file) or die $!;
> print FH "$spdx\n";
> my $count = 0;
> foreach (@lines) {
> $count++;
> next if ($count == $line);
> next if ($count == $line - 1 && $_ =~ /^\s*\*\s*$/);
> next if ($count == $line + 1 && $_ =~ /^\s*\*\s*$/);
> print FH "$_";
> }
> close FH;
> }
>
> which gives this diff for today's -next

Nice script!

I did some changes on it, plus one change at the pedantic mode of
scripts/spdxcheck.py, and placed the corresponding patches at:

https://git.linuxtv.org/mchehab/experimental.git/log/?h=spdx_pedantic

With that, we now have (next-20190904):

Warning: SPDX header for file Documentation/networking/caif/caif.rst is at line 2
Warning: SPDX header for file Documentation/networking/mac80211_hwsim/mac80211_hwsim.rst is at line 2
Warning: SPDX header for file tools/thermal/tmon/tmon.8 is at line 2

The first two are due to a ":orphan:" tag at the RST files. IMO, it makes
sense to have this at the very beginning of the files with weren't added
yet at the documentation body. Having them generating a warning is a plus.

The last one is interesting... what's the "very first line" where a
SPDX header tag should be on a man page?

Thanks,
Mauro

\
 
 \ /
  Last update: 2019-09-06 13:35    [W:0.108 / U:0.344 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site