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.ca...@perches.com/ 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