From: "Daniel P. Berrangé" <berrange@redhat.com>
To: Nabih Estefan <nabihestefan@google.com>
Cc: qemu-devel@nongnu.org, peter.maydell@linaro.org
Subject: Re: [PATCH] checkpatch: Ignore removed lines in license check
Date: Wed, 17 Sep 2025 17:24:03 +0100 [thread overview]
Message-ID: <aMrgo5p8_i7ANrez@redhat.com> (raw)
In-Reply-To: <CA+QoejUbyre_ePvhDZ=t7hnLkrHrSAJPBRjfob22dx-DOO_u-g@mail.gmail.com>
On Wed, Sep 17, 2025 at 09:17:57AM -0700, Nabih Estefan wrote:
> On Wed, Sep 17, 2025 at 9:05 AM Daniel P. Berrangé <berrange@redhat.com> wrote:
> >
> > On Wed, Sep 17, 2025 at 08:16:53AM -0700, Nabih Estefan wrote:
> > > We ran it against an internal patch that we were updating, so I can't
> > > show you the patch.
> >
> > If you can't share that private patch, perhaps you can create a
> > dummy patch with the same type of diff structure that shows the
> > problem ?
> >
> The patch looks something like the following:
snip
> It's just changing the file from an invalid to a valid one, nothing else is
> being done, which is why I'm confused how it's triggering this.
Ahhh, I was getting confused about which SPDX check was being
triggered.
The one that runs against "new" files only is a check for the
existence of a SPDX tag.
The one that runs against all files is a check for the declared
license check.
So yes, your patch here is correct & required so
Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>
>
> > > However, the difference on it being affected might be in how we're
> > > running it? To check
> > > against just the changes being done in the specific patch, instead of
> > > the whole file, we
> > > trigger it by running `./scripts/checkpatch.pl --branch HEAD...HEAD^`.
> > > Could that be
> > > why it's triggering against existing files?
> >
> > I don't think that's a problem. It is just a different way ot getting
> > a list of git commit hashes to analyse - it'll still operate against
> > a patch diff IIUC.
> >
> > FWIW, I use 'checkpatch.pl master..' and/or 'git show| checkpatch.pl -'
> >
> > >
> > > Thanks,
> > > Nabih
> > >
> > > On Wed, Sep 17, 2025 at 2:24 AM Daniel P. Berrangé <berrange@redhat.com> wrote:
> > > >
> > > > On Tue, Sep 16, 2025 at 04:59:28PM +0000, Nabih Estefan wrote:
> > > > > When running the license check, if we are updating a license it is
> > > > > possible for the checkpatch script to test against old license lines
> > > > > instead of newer ones, since the removal lines appear before the
> > > > > addition lines in a .patch file.
> > > >
> > > > While we match the "SPDX-License-Identifier" text in any context,
> > > > the "file must have SDPX" validation is only performed against
> > > > files that are entirely new:
> > > >
> > > > # Called at the end of processing a diff hunk for a file
> > > > sub process_end_of_file {
> > > > my $fileinfo = shift;
> > > >
> > > > if ($fileinfo->{action} eq "new" &&
> > > > !exists $fileinfo->{facts}->{sawspdx}) {
> > > > ...raise error ....
> > > >
> > > > > Fix this by skipping over lines that start with "-" in the checkpatch
> > > > > script.
> > > >
> > > > A new file cannot have any "-" lines present, so there isn't any
> > > > bug that needs fixing AFAICT. Can you show any patch or commit
> > > > where this would have made a difference to what checkpatch.pl
> > > > reports ?
> > > >
> > > > >
> > > > > Signed-off-by: Nabih Estefan <nabihestefan@google.com>
> > > > > ---
> > > > > scripts/checkpatch.pl | 3 ++-
> > > > > 1 file changed, 2 insertions(+), 1 deletion(-)
> > > > >
> > > > > diff --git a/scripts/checkpatch.pl b/scripts/checkpatch.pl
> > > > > index 833f20f555..c57a423f9f 100755
> > > > > --- a/scripts/checkpatch.pl
> > > > > +++ b/scripts/checkpatch.pl
> > > > > @@ -1813,7 +1813,8 @@ sub process {
> > > > > }
> > > > >
> > > > > # Check SPDX-License-Identifier references a permitted license
> > > > > - if ($rawline =~ m,SPDX-License-Identifier: (.*?)(\*/)?\s*$,) {
> > > > > + if (($rawline =~ m,SPDX-License-Identifier: (.*?)(\*/)?\s*$,) &&
> > > > > + $rawline !~ /^-/) {
> > > > > $fileinfo->{facts}->{sawspdx} = 1;
> > > > > &checkspdx($realfile, $1);
> > > > > }
> > > > > --
> > > > > 2.51.0.384.g4c02a37b29-goog
> > > > >
> > > >
> > > > With regards,
> > > > Daniel
> > > > --
> > > > |: https://berrange.com -o- https://www.flickr.com/photos/dberrange :|
> > > > |: https://libvirt.org -o- https://fstop138.berrange.com :|
> > > > |: https://entangle-photo.org -o- https://www.instagram.com/dberrange :|
> > > >
> > >
> >
> > With regards,
> > Daniel
> > --
> > |: https://berrange.com -o- https://www.flickr.com/photos/dberrange :|
> > |: https://libvirt.org -o- https://fstop138.berrange.com :|
> > |: https://entangle-photo.org -o- https://www.instagram.com/dberrange :|
> >
>
With regards,
Daniel
--
|: https://berrange.com -o- https://www.flickr.com/photos/dberrange :|
|: https://libvirt.org -o- https://fstop138.berrange.com :|
|: https://entangle-photo.org -o- https://www.instagram.com/dberrange :|
next prev parent reply other threads:[~2025-09-17 16:24 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-09-16 16:59 [PATCH] checkpatch: Ignore removed lines in license check Nabih Estefan
2025-09-17 9:00 ` Alex Bennée
2025-09-17 9:24 ` Daniel P. Berrangé
2025-09-17 15:16 ` Nabih Estefan
2025-09-17 16:05 ` Daniel P. Berrangé
2025-09-17 16:17 ` Nabih Estefan
2025-09-17 16:24 ` Daniel P. Berrangé [this message]
2025-09-17 16:43 ` Alex Bennée
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=aMrgo5p8_i7ANrez@redhat.com \
--to=berrange@redhat.com \
--cc=nabihestefan@google.com \
--cc=peter.maydell@linaro.org \
--cc=qemu-devel@nongnu.org \
/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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.