summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJack O'Connor <oconnor663@gmail.com>2016-08-01 13:06:00 +1000
committerAllan McRae <allan@archlinux.org>2016-08-30 18:10:40 +1000
commit56de155296a57fb3fcd8ae64aed00fd18fe2f22e (patch)
treeaa32928192ae7c120ae9ab9b3708c004bf2716f7
parent5b839c58ee1e78312edf69cd2cb5f96d8b649d01 (diff)
downloadpacman-56de155296a57fb3fcd8ae64aed00fd18fe2f22e.tar.xz
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>
-rw-r--r--scripts/libmakepkg/util/pkgbuild.sh.in11
1 files changed, 11 insertions, 0 deletions
diff --git a/scripts/libmakepkg/util/pkgbuild.sh.in b/scripts/libmakepkg/util/pkgbuild.sh.in
index 1a4567dc..7bf7c3e4 100644
--- a/scripts/libmakepkg/util/pkgbuild.sh.in
+++ b/scripts/libmakepkg/util/pkgbuild.sh.in
@@ -195,10 +195,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