Patrick Georgi has submitted this change. ( https://review.coreboot.org/c/coreboot/+/36175 )
Change subject: util/lint: Update license header text for SPDX headers. ......................................................................
util/lint: Update license header text for SPDX headers.
In preparation to update to SPDX license headers, add identifiers for the licenses seen in the coreboot project and create a command line parameter allowing only SPDX license identifiers to be detected.
Here are example locations of these licenses: Apache-2.0 - src/soc/sifive BSD-3-Clause - Throughout coreboot & libpayload source GPL-2.0-only - Throughout coreboot source GPL-2.0-or-later - Throughout coreboot source GPL-3.0-only - util/amdtools GPL-3.0-or-later - src/lib/[gcov/libgcov/gnat] ISC - src/lib/ubsan.c, soc/qualcomm/ipq806x/include/soc/gsbi.h, others MIT - soc/nvidia/tegra210/mipi_dsi.c, files in mainboard/cavium/ X11 - include/device/drm_dp_helper.h, drivers/aspeed/common/ast_tables.h
Signed-off-by: Martin Roth martin@coreboot.org Change-Id: I07a7ca408ac8563e03e189d05ef7729dfb6fc24e Reviewed-on: https://review.coreboot.org/c/coreboot/+/36175 Tested-by: build bot (Jenkins) no-reply@coreboot.org Reviewed-by: Patrick Georgi pgeorgi@google.com Reviewed-by: Werner Zeh werner.zeh@siemens.com --- M util/lint/lint-000-license-headers 1 file changed, 20 insertions(+), 2 deletions(-)
Approvals: build bot (Jenkins): Verified Patrick Georgi: Looks good to me, approved Werner Zeh: Looks good to me, approved
diff --git a/util/lint/lint-000-license-headers b/util/lint/lint-000-license-headers index 9b3553b..88e15ec 100755 --- a/util/lint/lint-000-license-headers +++ b/util/lint/lint-000-license-headers @@ -62,6 +62,8 @@ cmos.default\ "
+HEADER_TEXT="license header" + #space separated list of directories to test if [ "$1" = "" ]; then HEADER_DIRS="src util" @@ -69,6 +71,11 @@ HEADER_DIRS="$1" fi
+if [ "$2" = "SPDX_ONLY" ]; then + SPDX_ONLY=1 + HEADER_TEXT="SPDX identifier" +fi + LC_ALL=C export LC_ALL
#get initial list from git, removing HEADER_EXCLUDED files. @@ -96,6 +103,17 @@ }
#search the files for license headers +check_for_license 'SPDX-License-Identifier: Apache-2.0' +check_for_license 'SPDX-License-Identifier: BSD-3-Clause' +check_for_license 'SPDX-License-Identifier: GPL-2.0-only' +check_for_license 'SPDX-License-Identifier: GPL-2.0-or-later' +check_for_license 'SPDX-License-Identifier: GPL-3.0-only' +check_for_license 'SPDX-License-Identifier: GPL-3.0-or-later' +check_for_license 'SPDX-License-Identifier: ISC' +check_for_license 'SPDX-License-Identifier: MIT' +check_for_license 'SPDX-License-Identifier: X11' + +if [ ! "${SPDX_ONLY}" = "1" ]; then check_for_license "under the terms of the GNU General Public License" \ "WITHOUT ANY WARRANTY" check_for_license 'IS PROVIDED .*"AS IS"' @@ -106,13 +124,13 @@ check_for_license 'THE AUTHORS DISCLAIM.*ALL WARRANTIES WITH REGARD TO THIS SOFTWARE' check_for_license 'No license required' check_for_license 'GNU Lesser General Public' -check_for_license 'SPDX-License-Identifier:.*GPL-2.0-or-later' +fi
for file in $headerlist; do # Verify the file exists, and has content that requires a header # This assumes that a file that has 4 lines or fewer is not notable # enough to require a license. if [ -f "$file" ] && [ "$(wc -l < "$file")" -gt 4 ]; then - echo "$file has no recognized license header." + echo "$file has no recognized ${HEADER_TEXT}." fi done