devtools: add SPDX license tag check script

Message ID 20191108172343.10095-1-stephen@networkplumber.org (mailing list archive)
State Superseded, archived
Delegated to: Thomas Monjalon
Headers
Series devtools: add SPDX license tag check script |

Checks

Context Check Description
ci/checkpatch success coding style OK
ci/iol-intel-Performance success Performance Testing PASS
ci/iol-compilation success Compile Testing PASS
ci/iol-mellanox-Performance success Performance Testing PASS
ci/travis-robot warning Travis build: failed
ci/Intel-compilation success Compilation OK

Commit Message

Stephen Hemminger Nov. 8, 2019, 5:23 p.m. UTC
  Simple script to look for missing SPDX license tags
with exceptions for certain directories and file types.

Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
---
 devtools/spdx-check.sh | 22 ++++++++++++++++++++++
 1 file changed, 22 insertions(+)
 create mode 100755 devtools/spdx-check.sh
  

Comments

Hemant Agrawal Nov. 13, 2019, 6:56 a.m. UTC | #1
Acked-by: Hemant Agrawal <hemant.agrawal@nxp.com>
  
Hemant Agrawal Nov. 13, 2019, 6:59 a.m. UTC | #2
HI Stephen,
	Will you please enhance it to also provide number of files in each category? 

We also need to think about how to handle the scripts "*.sh", as many of these are without SPDX.
 - we can either leave them as it is.
Or , we can put the SPDX header without a copyright? 

Regards,
Hemant

> -----Original Message-----
> From: dev <dev-bounces@dpdk.org> On Behalf Of Stephen Hemminger
> Sent: Friday, November 8, 2019 10:54 PM
> To: dev@dpdk.org
> Cc: Stephen Hemminger <stephen@networkplumber.org>
> Subject: [dpdk-dev] [PATCH] devtools: add SPDX license tag check script
> 
> Simple script to look for missing SPDX license tags with exceptions for certain
> directories and file types.
> 
> Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
> ---
>  devtools/spdx-check.sh | 22 ++++++++++++++++++++++
>  1 file changed, 22 insertions(+)
>  create mode 100755 devtools/spdx-check.sh
> 
> diff --git a/devtools/spdx-check.sh b/devtools/spdx-check.sh new file mode
> 100755 index 000000000000..4427398411f6
> --- /dev/null
> +++ b/devtools/spdx-check.sh
> @@ -0,0 +1,22 @@
> +#! /bin/sh
> +# SPDX-License-Identifier: BSD-3-Clause # Copyright (c) 2019 Microsoft
> +Corporation # # Produce a list of files without SPDX license
> +identifiers
> +
> +echo "Files without SPDX License"
> +echo "--------------------------"
> +
> +git grep -L SPDX-License-Identifier -- \
> +    ':^.git*' ':^.ci/*' ':^.travis.yml' \
> +    ':^README' ':^MAINTAINERS' ':^VERSION' \
> +    ':^*/Kbuild' ':^*/README' \
> +    ':^license/' ':^doc/' ':^config/' ':^buildtools/' \
> +    ':^*.def' ':^*.map' ':^*.ini' ':^*.data' ':^*.cfg' ':^*.txt'
> +
> +echo
> +echo "Files with redundant BSD boilerplate"
> +echo "------------------------------------"
> +
> +git grep -l SPDX-License-Identifier | \
> +    xargs grep -l 'Redistribution'
> --
> 2.20.1
  
Stephen Hemminger Nov. 13, 2019, 5:07 p.m. UTC | #3
On Wed, 13 Nov 2019 06:59:48 +0000
Hemant Agrawal <hemant.agrawal@nxp.com> wrote:

> HI Stephen,
> 	Will you please enhance it to also provide number of files in each category? 

The number of files is shrinking to zero, so may not be necessary soon.

> 
> We also need to think about how to handle the scripts "*.sh", as many of these are without SPDX.
>  - we can either leave them as it is.
> Or , we can put the SPDX header without a copyright? 
> 
> Regards,
> Hemant

Patches are outstanding for all the .sh files.
There are precedents for files without Copyright that have SPDX tag.
  
Stephen Hemminger Dec. 16, 2019, 9:58 p.m. UTC | #4
On Wed, 13 Nov 2019 06:59:48 +0000
Hemant Agrawal <hemant.agrawal@nxp.com> wrote:

> HI Stephen,
> 	Will you please enhance it to also provide number of files in each category? 
> 
> We also need to think about how to handle the scripts "*.sh", as many of these are without SPDX.
>  - we can either leave them as it is.
> Or , we can put the SPDX header without a copyright? 
> 
> Regards,
> Hemant

The shell files are covered and only a 3 files had missing headers.
Patches are in patchwork for these.

The copyright is better if present, but without it we can infer the copyright
from the original author in git.

The goal is to get this to 0, so that they output is nothing...
Then add it to CI.
  

Patch

diff --git a/devtools/spdx-check.sh b/devtools/spdx-check.sh
new file mode 100755
index 000000000000..4427398411f6
--- /dev/null
+++ b/devtools/spdx-check.sh
@@ -0,0 +1,22 @@ 
+#! /bin/sh
+# SPDX-License-Identifier: BSD-3-Clause
+# Copyright (c) 2019 Microsoft Corporation
+#
+# Produce a list of files without SPDX license identifiers
+
+echo "Files without SPDX License"
+echo "--------------------------"
+
+git grep -L SPDX-License-Identifier -- \
+    ':^.git*' ':^.ci/*' ':^.travis.yml' \
+    ':^README' ':^MAINTAINERS' ':^VERSION' \
+    ':^*/Kbuild' ':^*/README' \
+    ':^license/' ':^doc/' ':^config/' ':^buildtools/' \
+    ':^*.def' ':^*.map' ':^*.ini' ':^*.data' ':^*.cfg' ':^*.txt'
+
+echo
+echo "Files with redundant BSD boilerplate"
+echo "------------------------------------"
+
+git grep -l SPDX-License-Identifier | \
+    xargs grep -l 'Redistribution'