devtools: add SPDX license tag check script
Checks
Commit Message
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
Acked-by: Hemant Agrawal <hemant.agrawal@nxp.com>
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
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.
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.
new file mode 100755
@@ -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'