makepkg: skip integrity checking early

If "SKIP" is provided for an integrity check, abort checking as soon
as possible.

Also swap fork to tr for bash4 conversion.

Signed-off-by: Allan McRae <allan@archlinux.org>
This commit is contained in:
Allan McRae 2012-06-04 10:33:52 +10:00
parent 1a04e2e11a
commit 57e06394dd
1 changed files with 13 additions and 11 deletions

View File

@ -737,6 +737,12 @@ check_checksums() {
file="$(get_filename "$file")"
printf "%s" " $file ... " >&2
if [[ ${integrity_sums[$idx]} = 'SKIP' ]]; then
echo "$(gettext "Skipped")" >&2
idx=$((idx + 1))
continue
fi
if ! file="$(get_filepath "$file")"; then
printf -- "$(gettext "NOT FOUND")\n" >&2
errors=1
@ -744,18 +750,14 @@ check_checksums() {
fi
if (( $found )) ; then
if [[ ${integrity_sums[$idx]} = 'SKIP' ]]; then
echo "$(gettext "Skipped")" >&2
local expectedsum="${integrity_sums[idx],,}"
local realsum="$(openssl dgst -${integ} "$file")"
realsum="${realsum##* }"
if [[ $expectedsum = "$realsum" ]]; then
printf -- "$(gettext "Passed")\n" >&2
else
local expectedsum=$(tr '[:upper:]' '[:lower:]' <<< "${integrity_sums[$idx]}")
local realsum="$(openssl dgst -${integ} "$file")"
realsum="${realsum##* }"
if [[ $expectedsum = "$realsum" ]]; then
printf -- "$(gettext "Passed")\n" >&2
else
printf -- "$(gettext "FAILED")\n" >&2
errors=1
fi
printf -- "$(gettext "FAILED")\n" >&2
errors=1
fi
fi