index : builder | |
Archlinux32 build system | gitolite user |
summaryrefslogtreecommitdiff |
-rwxr-xr-x | bin/strict-bashism-check | 39 |
diff --git a/bin/strict-bashism-check b/bin/strict-bashism-check index 3bb3884..cbf7e5b 100755 --- a/bin/strict-bashism-check +++ b/bin/strict-bashism-check @@ -49,37 +49,54 @@ trap 'rm -rf --one-file-system "${tmp_dir}"' EXIT git archive "${tree}" | \ tar -C "${tmp_dir}" -x +if ! cd "${tmp_dir}"; then + echo 'Cannot cd.' + exit 1 +fi + errors=$( - cd "${tmp_dir}" || \ - echo 'Cannot cd.' - find "bin" "conf" -type f -not -executable -not -name '.gitignore' + find bin conf lib -type f -not -executable -not -name '.gitignore' ) if [ -n "${errors}" ]; then - >&2 echo 'Non-executable files found in bin/ or conf/:' + >&2 echo 'Non-executable files found in bin/, conf/ or lib/:' >&2 echo "${errors}" exit 1 fi errors=$( -# shellcheck disable=SC2016 - find bin conf -type f -executable -exec grep -H '="\$(' {} \; + grep -r '\(\s\|^\)mysql buildmaster\($\|\s\)' bin lib conf ) if [ -n "${errors}" ]; then - >&2 echo 'Unnecessary quotes found:' + >&2 echo 'Style error: call "mysql_run_query" instead of "mysql buildmaster":' >&2 echo "${errors}" exit 1 fi errors=$( - cd "${tmp_dir}" || \ - echo 'Cannot cd.' - shellcheck -x bin/* conf/* 2>&1 +# shellcheck disable=SC2016 + find bin conf lib -type f -executable -exec grep -H '="\$(' {} \; ) if [ -n "${errors}" ]; then - >&2 echo 'shellcheck complains about the following:' + >&2 echo 'Unnecessary quotes found:' >&2 echo "${errors}" exit 1 fi + +if which shellcheck >/dev/null 2>&1; then + errors=$( + find bin conf lib \ + -type f \ + -not -name 'opcode_list' \ + -not -name '.*' \ + -exec shellcheck -x '{}' \; 2>&1 + ) + + if [ -n "${errors}" ]; then + >&2 echo 'shellcheck complains about the following:' + >&2 echo "${errors}" + exit 1 + fi +fi |