[PATCH 0/6] Address issues with SPDX requirements and PEP-263

From: Mauro Carvalho Chehab
Date: Thu Sep 05 2019 - 15:58:13 EST


The description at Documentation/process/license-rules.rst is very strict
with regards to the position where the SPDX tags should be.

In the past several developers and maintainers interpreted it on a
more permissive way, placing the SPDX header between lines 1 to 15,
with are the ones which the scripts/spdxcheck.py script verifies.

However, recently, devs are becoming more strict about such
requirement and want it to strictly follow the rule, with states that
the SPDX rule should be at the first line ever on most files, and
at the second line for scripts.

Well, for Python script, such requirement causes violation to PEP-263,
making regressions on scripts that contain encoding lines, as PEP-263
also states about the same.

This series addresses it.

Patches 1 to 3 fix some Python scripts that violates PEP-263;

Patch 4 mentions PEP-263 for Python scripts, allowing to go up to
line 3, when both "#!" and the encoding line is found;

Patch 5 changes the scripts/spdxcheck.py for it to identify on what
line each SPDX header is found, optinally allowing to print an histogram
about that;

Patch 6 adds a pedantic^Wstrict mode to scripts/spdxcheck.py,
making it to also check for violations at the line with contains the
SPDX header.

PS.: I sent already a RFC version for those patches along with this
thread:

https://lore.kernel.org/lkml/b32c2e46b91e7bcda2a9bd140673f06d71b2487a.camel@xxxxxxxxxxx/

Mauro Carvalho Chehab (6):
docs: sphinx: add SPDX header for some sphinx extensions
tools: perf: fix SPDX header in the light of PEP-263
tools: intel_pstate_tracer.py: fix SPDX header in the light of PEP-263
docs: license-rules.txt: cover SPDX headers on Python scripts
scripts/spdxcheck.py: keep track on what line SPDX header was found
scripts/spdxcheck.py: check if the line number follows the strict rule

Documentation/process/license-rules.rst | 7 ++-
Documentation/sphinx/kernel_include.py | 1 +
Documentation/sphinx/rstFlatTable.py | 1 +
scripts/spdxcheck.py | 55 +++++++++++++++----
tools/perf/python/tracepoint.py | 3 +-
tools/perf/python/twatch.py | 3 +-
.../intel_pstate_tracer.py | 2 +-
7 files changed, 55 insertions(+), 17 deletions(-)

--
2.21.0