From e348eba64198ec3c57ee1fb32a6f5931737d3a4b Mon Sep 17 00:00:00 2001 From: Martin Roth Date: Mon, 23 Sep 2019 18:14:34 -0600 Subject: 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 Change-Id: I07a7ca408ac8563e03e189d05ef7729dfb6fc24e Reviewed-on: https://review.coreboot.org/c/coreboot/+/36175 Tested-by: build bot (Jenkins) Reviewed-by: Patrick Georgi Reviewed-by: Werner Zeh --- util/lint/lint-000-license-headers | 22 ++++++++++++++++++++-- 1 file changed, 20 insertions(+), 2 deletions(-) diff --git a/util/lint/lint-000-license-headers b/util/lint/lint-000-license-headers index 9b3553b4a4..88e15ecca0 100755 --- a/util/lint/lint-000-license-headers +++ b/util/lint/lint-000-license-headers @@ -62,6 +62,8 @@ cmos\.layout|\ cmos\.default\ " +HEADER_TEXT="license header" + #space separated list of directories to test if [ "$1" = "" ]; then HEADER_DIRS="src util" @@ -69,6 +71,11 @@ else 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 @@ check_for_license() { } #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 'assumes any liability or responsibility for the use' 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 -- cgit v1.2.3