Messages in this thread | | | From | Charlemagne Lasse <> | Date | Mon, 30 Jul 2018 17:52:35 +0200 | Subject | Re: checkpatch: SPDX integration breaks --root |
| |
> Does this work for you: > --- > scripts/checkpatch.pl | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/scripts/checkpatch.pl b/scripts/checkpatch.pl > index f25f708cd2a7..f0e6913c5cc1 100755 > --- a/scripts/checkpatch.pl > +++ b/scripts/checkpatch.pl > @@ -852,7 +852,7 @@ sub is_maintained_obsolete { > sub is_SPDX_License_valid { > my ($license) = @_; > > - return 1 if (!$tree || which("python") eq "" || !(-e "$root/scripts/spdxcheck.py")); > + return 1 if (!$tree || which("python") eq "" || !(-e "$root/scripts/spdxcheck.py") || !(-e "$root/.git")); > > my $status = `echo "$license" | python $root/scripts/spdxcheck.py -`; > return 0 if ($status ne "");
No, because $root is a git repository in my case (linux-next to be exact). The problem here is that spdxcheck is ignoring $root and just assumes that cwd is a linux git repository. And when it is one but not a linux git repo then I get following error:
FAIL: "Blob or Tree named 'other' not found" Traceback (most recent call last): File "/usr/src/linux-next/scripts/spdxcheck.py", line 234, in <module> spdx = read_spdxdata(repo) File "/usr/src/linux-next/scripts/spdxcheck.py", line 41, in read_spdxdata for el in lictree[d].traverse(): File "/usr/lib/python2.7/dist-packages/git/objects/tree.py", line 298, in __getitem__ return self.join(item) File "/usr/lib/python2.7/dist-packages/git/objects/tree.py", line 244, in join raise KeyError(msg % file) KeyError: "Blob or Tree named 'other' not found"
Still, your change looks good when $root is pointing to an extracted tarball with the linux sources and not to a full repository
| |