RE: spdxcheck.py complains about the second OR?

From: Zavras, Alexios
Date: Tue Nov 05 2019 - 05:11:38 EST


This is not correct.
Since the grammar includes the production "expr: expr OR expr",
there is absolutely no need to add a rule with more than two operands --
it will be handled recursively.

-- zvr

-----Original Message-----
From: linux-spdx-owner@xxxxxxxxxxxxxxx <linux-spdx-owner@xxxxxxxxxxxxxxx> On Behalf Of Joe Perches
Sent: Monday, 4 November, 2019 23:24
To: Thomas Gleixner <tglx@xxxxxxxxxxxxx>; Masahiro Yamada <yamada.masahiro@xxxxxxxxxxxxx>
Cc: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>; linux-spdx@xxxxxxxxxxxxxxx; Linux Kernel Mailing List <linux-kernel@xxxxxxxxxxxxxxx>
Subject: Re: spdxcheck.py complains about the second OR?

On Mon, 2019-11-04 at 23:11 +0100, Thomas Gleixner wrote:
> On Fri, 1 Nov 2019, Masahiro Yamada wrote:
> > scripts/spdxcheck.py warns the following two files.
> >
> > $ ./scripts/spdxcheck.py
> > drivers/net/ethernet/pensando/ionic/ionic_if.h: 1:52 Syntax error:
> > OR
> > drivers/net/ethernet/pensando/ionic/ionic_regs.h: 1:52 Syntax error:
> > OR
> >
> > I do not understand what is wrong with them.
> >
> > I think "A OR B OR C" is sane.
>
> Yes it is, but obviously we did not expect files with 3 possible
> alternative licenses.

Perhaps just this, but the generic logic obviously isn't complete.
---
scripts/spdxcheck.py | 1 +
1 file changed, 1 insertion(+)

diff --git a/scripts/spdxcheck.py b/scripts/spdxcheck.py index 6374e0..00be34 100755
--- a/scripts/spdxcheck.py
+++ b/scripts/spdxcheck.py
@@ -150,6 +150,7 @@ class id_parser(object):
| ID WITH EXC
| expr AND expr
| expr OR expr
+ | expr OR expr OR expr
| LPAR expr RPAR'''
pass



Intel Deutschland GmbH
Registered Address: Am Campeon 10-12, 85579 Neubiberg, Germany
Tel: +49 89 99 8853-0, www.intel.de
Managing Directors: Christin Eisenschmid, Gary Kershaw
Chairperson of the Supervisory Board: Nicole Lau
Registered Office: Munich
Commercial Register: Amtsgericht Muenchen HRB 186928