libmakepkg: look for architecture-specific hashes in get_integlist

`makepkg -g` looks for existing checksums in the PKGBUILD file, so that
it can generate new sums of the same type. Previously it only checked
variables of the form "sha256sums", and not "sha256sums_x86_64". That
meant it would always fall back to MD5 for packages with only
architecture-specific sources. This change makes it look at
architecture-specific checksums too to determine the type.

Signed-off-by: Jack O'Connor <oconnor663@gmail.com>
Signed-off-by: Allan McRae <allan@archlinux.org>
(cherry picked from commit 56de155296)

[andrew@archlinux.org: patch adapted to makepkg.sh.in]
This commit is contained in:
Jack O'Connor 2016-08-01 13:06:00 +10:00 committed by Andrew Gregory
parent 2e7162fe87
commit e20a502c40

View file

@ -337,10 +337,21 @@ get_integlist() {
local integlist=()
for integ in "${known_hash_algos[@]}"; do
# check for e.g. "sha256sums"
local sumname="${integ}sums[@]"
if [[ -n ${!sumname} ]]; then
integlist+=("$integ")
continue
fi
# check for e.g. "sha256sums_x86_64"
for a in "${arch[@]}"; do
local sumname="${integ}sums_${a}[@]"
if [[ -n ${!sumname} ]]; then
integlist+=("$integ")
break
fi
done
done
if (( ${#integlist[@]} > 0 )); then