2020-07-14 23:21:01 +00:00
|
|
|
#! /bin/sh
|
|
|
|
# SPDX-License-Identifier: BSD-3-Clause
|
|
|
|
# Copyright 2020 Microsoft Corporation
|
|
|
|
#
|
|
|
|
# Produce a list of files with incorrect license tags
|
|
|
|
|
|
|
|
errors=0
|
|
|
|
warnings=0
|
|
|
|
quiet=false
|
|
|
|
verbose=false
|
|
|
|
|
|
|
|
print_usage () {
|
|
|
|
echo "usage: $(basename $0) [-q] [-v]"
|
|
|
|
exit 1
|
|
|
|
}
|
|
|
|
|
|
|
|
check_spdx() {
|
|
|
|
if $verbose; then
|
|
|
|
echo "Files without SPDX License"
|
|
|
|
echo "--------------------------"
|
|
|
|
fi
|
|
|
|
git grep -L SPDX-License-Identifier -- \
|
|
|
|
':^.git*' ':^.ci/*' ':^.travis.yml' \
|
|
|
|
':^README' ':^MAINTAINERS' ':^VERSION' ':^ABI_VERSION' \
|
|
|
|
':^*/Kbuild' ':^*/README' \
|
|
|
|
':^license/' ':^config/' ':^buildtools/' \
|
|
|
|
':^*.cocci' ':^*.abignore' \
|
2021-04-06 17:59:10 +00:00
|
|
|
':^*.map' ':^*.ini' ':^*.data' ':^*.cfg' ':^*.txt' \
|
2020-07-14 23:21:01 +00:00
|
|
|
':^*.svg' ':^*.png'\
|
|
|
|
> $tmpfile
|
|
|
|
|
|
|
|
errors=$(wc -l < $tmpfile)
|
|
|
|
$quiet || cat $tmpfile
|
|
|
|
}
|
|
|
|
|
|
|
|
check_boilerplate() {
|
|
|
|
if $verbose ; then
|
|
|
|
echo
|
|
|
|
echo "Files with redundant license text"
|
|
|
|
echo "---------------------------------"
|
|
|
|
fi
|
|
|
|
|
|
|
|
git grep -l Redistribution -- \
|
|
|
|
':^license/' ':^/devtools/check-spdx-tag.sh' > $tmpfile
|
|
|
|
|
|
|
|
warnings=$(wc -l <$tmpfile)
|
|
|
|
$quiet || cat $tmpfile
|
|
|
|
}
|
|
|
|
|
|
|
|
while getopts qvh ARG ; do
|
|
|
|
case $ARG in
|
|
|
|
q ) quiet=true ;;
|
|
|
|
v ) verbose=true ;;
|
|
|
|
h ) print_usage ; exit 0 ;;
|
|
|
|
? ) print_usage ; exit 1 ;;
|
|
|
|
esac
|
|
|
|
done
|
|
|
|
shift $(($OPTIND - 1))
|
|
|
|
|
|
|
|
tmpfile=$(mktemp -t dpdk.checkspdx.XXXXXX)
|
|
|
|
trap 'rm -f -- "$tmpfile"' INT TERM HUP EXIT
|
|
|
|
|
|
|
|
check_spdx
|
|
|
|
$quiet || echo
|
|
|
|
|
|
|
|
check_boilerplate
|
|
|
|
|
|
|
|
$quiet || echo
|
|
|
|
echo "total: $errors errors, $warnings warnings"
|
|
|
|
exit $errors
|