[Buildroot] [git commit] support/download/check-hash: fix shellcheck errors
Yann E. MORIN
yann.morin.1998 at free.fr
Mon Apr 1 15:03:17 UTC 2024
commit: https://git.buildroot.net/buildroot/commit/?id=9cb421c16f9aa026eabe050d94664c137f93eff5
branch: https://git.buildroot.net/buildroot/commit/?id=refs/heads/master
The hash files do not use trailing backslash \ to continue lines, so
we don't want them to be interpreted thusly, so we use 'read -r'
(SC2162).
The h_file is used twice in the same loop, once for reading from it,
and once just to print it, so there is no conflict (SC2094).
Integrer variables need not be quoted (SC2086). In any case, should
there be an actual issue and they be set empty, that would cause a
runtime issue, wether they be quoted or not.
Signed-off-by: Yann E. MORIN <yann.morin.1998 at free.fr>
---
.checkpackageignore | 1 -
support/download/check-hash | 8 ++++++--
2 files changed, 6 insertions(+), 3 deletions(-)
diff --git a/.checkpackageignore b/.checkpackageignore
index 89814f4e9b..6f4bf67629 100644
--- a/.checkpackageignore
+++ b/.checkpackageignore
@@ -1434,7 +1434,6 @@ support/dependencies/check-host-xzcat.sh Shellcheck
support/dependencies/dependencies.sh Shellcheck
support/download/bzr ConsecutiveEmptyLines Shellcheck
support/download/cargo-post-process Shellcheck
-support/download/check-hash Shellcheck
support/download/cvs Shellcheck
support/download/dl-wrapper Shellcheck
support/download/file Shellcheck
diff --git a/support/download/check-hash b/support/download/check-hash
index 03a6557187..9db647885a 100755
--- a/support/download/check-hash
+++ b/support/download/check-hash
@@ -57,7 +57,7 @@ check_one_hash() {
esac
# Do the hashes match?
- _hash=$( ${_h}sum "${_file}" |cut -d ' ' -f 1 )
+ _hash="$( "${_h}sum" "${_file}" |cut -d ' ' -f 1 )"
if [ "${_hash}" = "${_known}" ]; then
printf "%s: OK (%s: %s)\n" "${base}" "${_h}" "${_hash}"
return 0
@@ -78,7 +78,8 @@ nb_checks=0
for h_file in "${h_files[@]}"; do
[ -f "${h_file}" ] || continue
: $((nb_h_files++))
- while read t h f; do
+ # shellcheck disable=SC2094 # we're really reading it only once
+ while read -r t h f; do
case "${t}" in
''|'#'*)
# Skip comments and empty lines
@@ -86,6 +87,7 @@ for h_file in "${h_files[@]}"; do
;;
*)
if [ "${f}" = "${base}" ]; then
+ # shellcheck disable=SC2094 # we're only printing the h_file filename
check_one_hash "${t}" "${h}" "${file}" "${h_file}"
: $((nb_checks++))
fi
@@ -94,11 +96,13 @@ for h_file in "${h_files[@]}"; do
done <"${h_file}"
done
+# shellcheck disable=SC2086 # nb_h_files is a non-empty int
if [ ${nb_h_files} -eq 0 ]; then
printf "WARNING: no hash file for %s\n" "${base}" >&2
exit 0
fi
+# shellcheck disable=SC2086 # nb_checks is a non-empty int
if [ ${nb_checks} -eq 0 ]; then
case " ${BR_NO_CHECK_HASH_FOR} " in
*" ${base} "*)
More information about the buildroot
mailing list