From dc3687b18b186273f1a15526a0f9c86406644fc4 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Martin=20Andr=C3=A9?= <martin.andre@kvhasia.com>
Date: Thu, 15 Jan 2015 11:58:42 +0900
Subject: [PATCH] Various fixes to pre-commit hook

Fix incorrect test in sh. Bash implements the new test with [[ that
accepts the double equal, however, this is not a bash script. On Debian
and derivates, this will be run by dash.

Make the script portable by not using GNU extensions of xargs.

Call `validate-all-*.sh` scripts whenever possible.

Have bashate look for /usr/bin/env style shebang as well.

Remove useless validate-json.sh file.

Change-Id: Id2d697f2e9ddaa66e25f71f410200528c1e0cf6b
---
 tools/pre-commit-hook  | 19 ++++++-------------
 tools/validate-json.sh |  3 ---
 2 files changed, 6 insertions(+), 16 deletions(-)
 delete mode 100755 tools/validate-json.sh

diff --git a/tools/pre-commit-hook b/tools/pre-commit-hook
index 475e059126..a136b97b46 100755
--- a/tools/pre-commit-hook
+++ b/tools/pre-commit-hook
@@ -5,7 +5,7 @@ RES=0
 
 cd $TOPLEVEL
 
-if [ "$1" == "--install" ]; then
+if [ "$1" = "--install" ]; then
     ln -sf ../../tools/pre-commit-hook .git/hooks/pre-commit
     exit
 fi
@@ -26,26 +26,19 @@ find . -type f
 
 echo "=== bashate checks ==="
 
-find . -type f -print0 |
-    xargs -0 --no-run-if-empty egrep -lZ '^#!/bin/(ba)?sh' |
-    xargs -0 bashate || RES=1
+files=$(egrep -rlI '^#!/(bin/|usr/bin/env )(ba)?sh' .)
+[ "$files" ] && (bashate $files || RES=1)
 
 echo "=== yaml checks ==="
 
-find . -name '*.yaml' -print0 |
-    xargs -0 --no-run-if-empty ${TOPLEVEL}/tools/validate-yaml.py \
-        || RES = 1
+${TOPLEVEL}/tools/validate-all-yaml.sh || RES=1
 
 echo "=== json checks ==="
 
-find . -name '*.json' -print0 |
-    xargs -0 --no-run-if-empty ${TOPLEVEL}/tools/validate-json.py \
-        || RES=1
+${TOPLEVEL}/tools/validate-all-json.sh || RES=1
 
 echo "=== maintainer checks ==="
 
-find . -name Dockerfile -print0 |
-    xargs -0 --no-run-if-empty ${TOPLEVEL}/tools/validate-maintainer \
-        || RES=1
+${TOPLEVEL}/tools/validate-all-maintainer.sh || RES=1
 
 exit $RES
diff --git a/tools/validate-json.sh b/tools/validate-json.sh
deleted file mode 100755
index 296ef781c6..0000000000
--- a/tools/validate-json.sh
+++ /dev/null
@@ -1,3 +0,0 @@
-#!/bin/sh
-
-true