diff --git a/bin/dib-lint b/bin/dib-lint index d9d5101a4..ad939cbc6 100755 --- a/bin/dib-lint +++ b/bin/dib-lint @@ -61,14 +61,17 @@ error() { rc=0 TMPDIR=$(mktemp -d /tmp/tmp.XXXXXXXXXX) trap "rm -rf $TMPDIR" EXIT -for i in $(find elements -type f \ - -not -name \*~ \ +for i in $(find elements -type f \ + -not -name \*~ \ + -not -name \#\*\# \ -not -name \*.orig \ - -not -name \*.rst \ + -not -name \*.rst \ -not -name \*.yaml \ - -not -name \*.py \ + -not -name \*.py \ -not -name \*.pyc); do + exclusions=("$(parse_exclusions $i)") + # Check that files starting with a shebang are +x firstline=$(head -n 1 "$i") if [ "${firstline:0:2}" = "#!" ]; then @@ -77,7 +80,6 @@ for i in $(find elements -type f \ fi # Ensure 4 spaces indent are used - if [ "$(file -b --mime-type $i)" = "text/x-python" ]; then flake8 $i else @@ -104,6 +106,14 @@ for i in $(find elements -type f \ fi fi + # for consistency, let's just use #!/bin/bash everywhere (not + # /usr/bin/env, etc) + regex='^#!.*bash' + if [[ "$firstline" =~ $regex && + "$firstline" != "#!/bin/bash" ]]; then + error "$i : only use #!/bin/bash for scripts" + fi + # Check that all scripts are set -eu -o pipefail and look for # DIB_DEBUG_TRACE # NOTE(bnemec): This doesn't verify that the set call occurs high @@ -114,7 +124,7 @@ for i in $(find elements -type f \ # explicitly require bash for any scripts that don't have a specific # need to run under other shells, and any exceptions to that rule # may not want these checks either. - if [ -n "$(echo $firstline | grep '#!/bin/bash')" ]; then + if [[ "$firstline" =~ '#!/bin/bash' ]]; then if ! excluded sete; then if [ -z "$(grep "^set -[^ ]*e" $i)" ]; then error "$i is not set -e" diff --git a/elements/gentoo/bin/install-packages b/elements/gentoo/bin/install-packages index 968f9b037..13100cdbb 100755 --- a/elements/gentoo/bin/install-packages +++ b/elements/gentoo/bin/install-packages @@ -1,4 +1,4 @@ -#!/usr/bin/env bash +#!/bin/bash # Copyright 2016 Matthew Thode # diff --git a/elements/gentoo/root.d/10-gentoo-image b/elements/gentoo/root.d/10-gentoo-image index 27b31dd4a..46eb1c2a1 100755 --- a/elements/gentoo/root.d/10-gentoo-image +++ b/elements/gentoo/root.d/10-gentoo-image @@ -1,4 +1,5 @@ -#!/usr/bin/env bash +#!/bin/bash + # Copyright 2016 Matthew Thode # All Rights Reserved. #