On Wed, Sep 17, 2025 at 9:05 AM Daniel P. Berrangé <berra...@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:

```
Subject: [PATCH] path/to/fake/file.c: Fix unacceptable license

These source files trigger the following error in ./scripts/checkpatch.pl:

ERROR: Saw unacceptable licenses 'GPL-2.0', valid choices for QEMU are:
GPL-2.0-or-later
---
path/to/fake/file.c | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/path/to/fake/file.c b/path/to/fake/file.c
index a7604f014e..043ead35 106892
--- a/path/to/fake/file.c
+++ b/path/to/fake/file.c
@@ -1,4 +1,4 @@
-// SPDX-License-Identifier: GPL-2.0
+// SPDX-License-Identifier: GPL-2.0-or-later
/*
* Header of Fake file

```
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.

> > 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é <berra...@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 <nabiheste...@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 :|
>

Reply via email to