From: Mauro Carvalho Chehab <mchehab+samsung@kernel.org>
To: Joe Perches <joe@perches.com>
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
Linux Media Mailing List <linux-media@vger.kernel.org>,
Mauro Carvalho Chehab <mchehab@infradead.org>,
linux-kernel@vger.kernel.org, Jonathan Corbet <corbet@lwn.net>,
Jessica Yu <jeyu@kernel.org>,
Federico Vaga <federico.vaga@vaga.pv.it>,
Thomas Gleixner <tglx@linutronix.de>,
linux-doc@vger.kernel.org
Subject: Re: [PATCH] docs: license-rules.txt: cover SPDX headers on Python scripts
Date: Fri, 6 Sep 2019 08:37:14 -0300 [thread overview]
Message-ID: <20190906083714.0cf7eb20@coco.lan> (raw)
In-Reply-To: <20190906083457.7e7934ec@coco.lan>
Em Fri, 6 Sep 2019 08:34:57 -0300
Mauro Carvalho Chehab <mchehab+samsung@kernel.org> escreveu:
> 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
In time: I'm enclosing the modified script. just run it directly with:
perl ./move_spdx.pl
and it will move the SPDX headers where pertinent.
Thanks,
Mauro
---
#!/usr/bin/perl
@file_arr = qx(git grep -n 'SPDX-License-Identifier: ' | grep -v ':1:');
foreach (@file_arr) {
/^([^:]+):([^:]+):(.*)/;
my ($file, $line, $spdx) = ($1, $2, $3);
next if ($file =~ m,(COPYING|LICENSES/|sha1-armv4-large.S),);
next if ($line > 10);
$spdx =~ s/^\s*\/?\*\s*//;
$spdx =~ s/\s*\*\/\s*$//;
$spdx = $1 if m/(SPDX-License-Identifier:.*)/;
$is_script = 0;
if ($file =~ /\.(h|dts|dtsi|S)$/) {
$spdx = "/* $spdx */";
} elsif ($file =~ /\.(c)$/) {
$spdx = "// $spdx";
} elsif ($file =~ /\.(rst)$/) {
$spdx = ".. $spdx";
} elsif ($file =~ /\.(py|pl|sh)$/ || !$file =~ /\./) {
$is_script = 1;
$spdx = "# $spdx";
} else {
next;
}
open(FH, '<', $file) or die $!;
my @lines = <FH>;
close FH;
open(FH, '>', $file) or die $!;
my $count = 0;
my $print_spdx = 1;
foreach (@lines) {
$count++;
if ($print_spdx) {
if ($count == 1 && (/:orphan:/ || /^#\!/)) {
print FH "$_";
next;
}
if ($count <= 2 && /^[ \t\f]*#.*?coding[:=][ \t]*([-_.a-zA-Z0-9]+)/) {
print FH "$_";
next;
}
print FH "$spdx\n";
$print_spdx = 0;
}
next if ($count == $line);
next if ($count == $line - 1 && $_ =~ /^\s*\*\s*$/);
next if ($count == $line + 1 && $_ =~ /^\s*\*\s*$/);
next if ($count == $line - 1 && $_ =~ /^$/);
print FH "$_";
}
close FH;
}
next prev parent reply other threads:[~2019-09-06 11:37 UTC|newest]
Thread overview: 35+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-08-31 15:11 [PATCH] media: siano: Use the correct style for SPDX License Identifier Nishad Kamdar
2019-09-04 18:34 ` Mauro Carvalho Chehab
2019-09-04 18:36 ` Greg Kroah-Hartman
2019-09-04 19:00 ` Mauro Carvalho Chehab
2019-09-04 19:26 ` Joe Perches
2019-09-05 5:54 ` Greg Kroah-Hartman
2019-09-05 8:56 ` Mauro Carvalho Chehab
2019-09-05 9:23 ` [PATCH] docs: license-rules.txt: cover SPDX headers on Python scripts Mauro Carvalho Chehab
2019-09-05 9:27 ` Greg Kroah-Hartman
2019-09-05 10:50 ` Mauro Carvalho Chehab
2019-09-05 11:01 ` [PATCH 1/3] docs: sphinx: add SPDX header for some sphinx extensions Mauro Carvalho Chehab
2019-09-05 11:01 ` [PATCH 2/3] tools: perf: fix SPDX header in the light of PEP-263 Mauro Carvalho Chehab
2019-09-05 11:01 ` [PATCH 3/3] tools: intel_pstate_tracer.py: " Mauro Carvalho Chehab
2019-09-05 12:07 ` [PATCH] docs: license-rules.txt: cover SPDX headers on Python scripts Mauro Carvalho Chehab
2019-09-05 17:45 ` Joe Perches
2019-09-06 11:34 ` Mauro Carvalho Chehab
2019-09-06 11:37 ` Mauro Carvalho Chehab [this message]
2019-09-06 12:20 ` Joe Perches
2019-09-06 14:45 ` Mauro Carvalho Chehab
2019-09-06 16:20 ` Joe Perches
2019-09-06 17:33 ` Joe Perches
2019-09-06 18:17 ` Mauro Carvalho Chehab
2019-09-06 18:30 ` Joe Perches
2019-09-06 18:12 ` [RFC PATCH] tools: Add SPDX license to man pages Joe Perches
2019-09-06 19:53 ` Mauro Carvalho Chehab
2019-09-05 12:57 ` [PATCH] docs: license-rules.txt: cover SPDX headers on Python scripts Jonathan Corbet
2019-09-05 14:17 ` Greg Kroah-Hartman
2019-09-05 17:10 ` Mauro Carvalho Chehab
2019-09-06 16:41 ` Markus Heiser
2019-09-05 19:28 ` Mauro Carvalho Chehab
2019-09-05 19:40 ` Jonathan Corbet
2019-09-05 20:07 ` Mauro Carvalho Chehab
2019-09-06 15:18 ` Markus Heiser
2019-09-05 9:28 ` [PATCH] media: siano: Use the correct style for SPDX License Identifier Joe Perches
2019-09-05 10:46 ` Mauro Carvalho Chehab
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20190906083714.0cf7eb20@coco.lan \
--to=mchehab+samsung@kernel.org \
--cc=corbet@lwn.net \
--cc=federico.vaga@vaga.pv.it \
--cc=gregkh@linuxfoundation.org \
--cc=jeyu@kernel.org \
--cc=joe@perches.com \
--cc=linux-doc@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-media@vger.kernel.org \
--cc=mchehab@infradead.org \
--cc=tglx@linutronix.de \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).