#!/usr/bin/env sh
#
# SPDX-License-Identifier: GPL-2.0-only

# DESCR: Check that files in have valid license headers
# $1 is an optional command line parameter containing directories to check

# regex list of files and directories to exclude from the search
HEADER_EXCLUDED="\
^src/commonlib/bsd/lz4.c.inc\$|\
^src/cpu/x86/16bit/entry16.inc\$|\
^src/device/oprom/x86emu/|\
^src/device/oprom/include/x86emu/|\
^src/device/oprom/yabel/|\
^src/drivers/net/ne2k.c\$|\
^src/drivers/xgi/common/initdef.h\$|\
^src/drivers/xgi/common/vstruct.h\$|\
^src/lib/gnat/|\
^src/lib/lzmadecode.[ch]\$|\
^src/lib/stack.c\$|\
^src/vendorcode/|\
^util/amdtools/example_input/|\
^util/cbfstool/lzma/|\
^util/cbfstool/lz4/|\
^util/kconfig/|\
Kconfig|\
\<COPYING\>|\
\<LICENSE\>|\
\<README\>|\
Changelog|\
AUTHORS|\
TODO|\
EXAMPLE|\
NEWS|\
ChangeLog|\
Dockerfile|\
\.in$|\
\.[18]$|\
\.md$|\
\.wiki$|\
\.xxdump$|\
\.spec$|\
\.txt$|\
\.jpg$|\
\.cksum$|\
\.bin$|\
\.vbt$|\
\.hex$|\
\.patch$|\
_shipped$|\
/microcode-[^/]*.h$|\
/sdram-.*\.inc$|\
Makefile\.inc|\
\.fmd|\
\.cb|\
\.cfg$|\
\.spd|\
config|\
cmos\.layout|\
cmos\.default\
"

#space separated list of directories to test
if [ "$1" = "" ]; then
	HEADER_DIRS="src util"
else
	HEADER_DIRS="$1"
fi

LC_ALL=C export LC_ALL

#get initial list from git, removing HEADER_EXCLUDED files.
#make a copy to check for the old style header later.
headerlist=$(git ls-files $HEADER_DIRS | egrep -v "($HEADER_EXCLUDED)")

#update headerlist by removing files that match the license string
check_for_license() {
	if [ -n "$headerlist" ] && [ -z "$2" ]; then
		headerlist="$(grep -iL "$1" $headerlist 2>/dev/null)"
	elif [ -n "$headerlist" ]; then
		p1list="$(grep -il "$1" $headerlist 2>/dev/null)"
		p2list="$(grep -il "$2" $headerlist 2>/dev/null)"

		# Make list of files that were in both previous lists
		pbothlist="$(echo $p1list $p2list | tr ' ' "\n" | \
			sort | uniq -d)"

		# Remove all files that were in both of the previous lists
		# Note that this is unstable if we ever get any filenames
		# with spaces.
		headerlist="$(echo $headerlist $pbothlist | tr ' ' "\n" | \
			sort | uniq -u)"
	fi
}

#search the files for license headers
check_for_license 'SPDX-License-Identifier: Apache-2.0'
check_for_license 'SPDX-License-Identifier: BSD-2-Clause'
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-2.0-only WITH Linux-syscall-note'
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: HPND'
check_for_license 'SPDX-License-Identifier: HPND-sell-variant'
check_for_license 'SPDX-License-Identifier: ISC'
check_for_license 'SPDX-License-Identifier: MIT'
check_for_license 'SPDX-License-Identifier: X11'

# This is 4 clause ("with advertising") but the University of Berkeley
# declared that 4th clause void, see
# ftp://ftp.cs.berkeley.edu/pub/4bsd/README.Impt.License.Change
# With this, BSD-4-Clause-UC becomes GPLv2 compatible, and so SPDX doesn't
# differentiate between this license with or without advertising.
check_for_license 'SPDX-License-Identifier: BSD-4-Clause-UC'

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 SPDX identifier."
	fi
done
