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

# DESCR: Verify that files don't have the old style header

# regex list of files and directories to exclude from the search

LINTDIR="$(
  cd -- "$(dirname "$0")" > /dev/null 2>&1 || return
  pwd -P
)"

# shellcheck source=helper_functions.sh
. "${LINTDIR}/helper_functions.sh"

HEADER_EXCLUDED="\
^src/lib/gnat/|\
^src/vendorcode/|\
^util/kconfig/|\
\<COPYING\>|\
\.jpg$|\
\.cksum$|\
\.bin$|\
\.vbt$|\
\.apcb$|\
\.hex$|\
\.patch$|\
_shipped$|\
^util/scripts/no-fsf-addresses.sh|\
^util/lint/lint-000-license-headers|\
^util/lint/lint-stable-009-old-licenses|\
^util/nvidia/cbootimage|\
^3rdparty|\
__pycache__|\
^payloads/external\
"

if [ -z "$HEADER_DIRS" ]; then
	HEADER_DIRS="src util tests"
fi

headerlist=$(${FIND_FILES} $HEADER_DIRS | grep -E -v "($HEADER_EXCLUDED)")

#check for the old style header
headerlist=$(grep -il "You should have received a copy of the GNU" \
	$headerlist 2>/dev/null)

for file in $headerlist; do
	echo "$file has the old GPL header."
done
