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>
This commit is contained in:
Martin Roth 2019-09-23 18:14:34 -06:00 committed by Patrick Georgi
parent ff08188839
commit e348eba641
1 changed files with 20 additions and 2 deletions

View File

@ -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