diff options
Diffstat (limited to 'util')
| -rw-r--r-- | util/lint/helper_functions.sh | 45 | ||||
| -rwxr-xr-x | util/lint/lint-extended-020-signed-off-by | 23 | 
2 files changed, 68 insertions, 0 deletions
| diff --git a/util/lint/helper_functions.sh b/util/lint/helper_functions.sh new file mode 100644 index 00000000..7abdab86 --- /dev/null +++ b/util/lint/helper_functions.sh @@ -0,0 +1,45 @@ +#!/usr/bin/env sh +# +# SPDX-License-Identifier: GPL-2.0-only + +# This file is sourced by the linters so that each one doesn't have to +# specify these routines individually + +LC_ALL=C export LC_ALL + +if [ -z "$GIT" ]; then +	GIT="$(command -v git)" +else +	# If git is specified, Do a basic check that it runs and seems like +	# it's actually git +	if ! "${GIT}" --version | grep -q git; then +		echo "Error: ${GIT} does not seem to be valid." +		exit 1; +	fi +fi + +if [ "$(${GIT} rev-parse --is-inside-work-tree 2>/dev/null)" = "true" ]; then +	IN_GIT_TREE=1 +else +	IN_GIT_TREE=0 +fi + +if [ "${IN_GIT_TREE}" -eq 1 ] && [ -z "${GIT}" ]; then +	echo "This test needs git to run.  Please install it, then run this test again." +	exit 1 +fi + +# Use git ls-files if the code is in a git repo, otherwise use find. +if [ "${IN_GIT_TREE}" -eq 1 ]; then +	FIND_FILES="${GIT} ls-files" +else +	FIND_FILES="find " +	FINDOPTS="-type f" +fi + +# Use git grep if the code is in a git repo, otherwise use grep. +if [ "${IN_GIT_TREE}" -eq 1 ]; then +	GREP_FILES="${GIT} grep" +else +	GREP_FILES="grep -r" +fi diff --git a/util/lint/lint-extended-020-signed-off-by b/util/lint/lint-extended-020-signed-off-by new file mode 100755 index 00000000..ef62a45a --- /dev/null +++ b/util/lint/lint-extended-020-signed-off-by @@ -0,0 +1,23 @@ +#!/usr/bin/env sh +# SPDX-License-Identifier: GPL-2.0-or-later +# +# DESCR: Check for a signed-off-by line on the latest commit + + +LINTDIR="$( +  cd -- "$(dirname "$0")" > /dev/null 2>&1 || return +  pwd -P +)" + +# shellcheck source=helper_functions.sh +. "${LINTDIR}/helper_functions.sh" + +if [ "${IN_GIT_TREE}" -eq 0 ]; then +	exit 0 +fi + +# This test is mainly for the jenkins server +if ! ${GIT} log -n 1 | grep -q '[[:space:]]\+Signed-off-by: '; then +	echo "No Signed-off-by line in commit message" +	exit 1 +fi | 
