linux-media.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
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 15:17:02 -0300	[thread overview]
Message-ID: <20190906151702.3e67ccf7@coco.lan> (raw)
In-Reply-To: <9d30210a2d024aae4c36c8995019cdeab29e1e19.camel@perches.com>

Em Fri, 06 Sep 2019 10:33:42 -0700
Joe Perches <joe@perches.com> escreveu:

> On Fri, 2019-09-06 at 08:34 -0300, Mauro Carvalho Chehab wrote:
> > 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  
> 
> Your script needs a modification of this line:

It is yours script, I just made a few improvements for it to also catch
scripts.

>     $spdx = $1 if m/(SPDX-License-Identifier:.*)/;
> 
> This is on $_ and not $spdx.
> 
> This line needs to be:
> 
>     $spdx = $1 if $spdx =~ m/(SPDX-License-Identifier:.*)/;

Gah, true!

It also doesn't get the case where SPDX-License-Identifier: is
followed by a tab, and fixed an issue when detecting files without
any extension.

The enclosed script does a better job.

I changed the output of it on my testing branch:
	https://git.linuxtv.org/mchehab/experimental.git/log/?h=spdx_pedantic

The only thing that it doesn't change is an issue with an asm code,
with uses "@" for comments.

As this is a single file, better to do it manually:

	https://git.linuxtv.org/mchehab/experimental.git/commit/?h=spdx_pedantic&id=f1b7b2169ae2c8d8ab80a5997ebef9aa03a42d30

Thanks,
Mauro

---

#!/usr/bin/perl 

@file_arr = qx(git grep -nE 'SPDX-License-Identifier:\\s' | 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 $spdx =~ m/(SPDX-License-Identifier:.*)/;
    $spdx =~ s/(SPDX-License-Identifier:)\s+/$1 /;

    if ($file =~ /\.(h|dts|dtsi|S)$/) {
	$spdx = "/* $spdx */";
    } elsif ($file =~ /\.(c)$/) {
	$spdx = "// $spdx";
    } elsif ($file =~ /\.(rst)$/) {
	$spdx = ".. $spdx";
    } elsif ($file =~ /\.(py|pl|sh|tc)$/ || !($file =~ /\./)) {
	$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;
}

  reply	other threads:[~2019-09-06 18:17 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
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 [this message]
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=20190906151702.3e67ccf7@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).