[pacman-dev] pacman-5.0:error run updpkgsums when there is source_i686 or source_x86_64 in PKGBUILD
Zuyi Hu
hzy068808 at gmail.com
Sun Jan 24 06:15:18 UTC 2016
I am using the pacman's latest master branch,When I run updpkgsums when
there is source_i686 or source_x86_64 in PKGBUILD. it will complain:
/usr/share/makepkg/lint_pkgbuild/variable.sh: line 60: declare: sha512sums:
not found
==> ERROR: sha512sums_i686 should be an array
/usr/share/makepkg/lint_pkgbuild/variable.sh: line 60: declare: source: not
found
==> ERROR: source_i686 should be an array
/usr/share/makepkg/lint_pkgbuild/variable.sh: line 60: declare: sha512sums:
not found
==> ERROR: sha512sums_x86_64 should be an array
/usr/share/makepkg/lint_pkgbuild/variable.sh: line 60: declare: source: not
found
==> ERROR: source_x86_64 should be an array
==> ERROR: Failed to generate new checksums
for example, you can use nvidia's PKGBUILD in extra repo, and try run
updpkgsums.
I think this bug is introduced by this commit:
https://projects.archlinux.org/pacman.git/commit/?id=23f128ad5e2b26733376d16f5095d36085a97747
a simple workaround patch is:
diff --git a/scripts/libmakepkg/lint_pkgbuild/variable.sh.in
b/scripts/libmakepkg/lint_pkgbuild/variable.sh.in
index 4943c50..183e740 100644
--- a/scripts/libmakepkg/lint_pkgbuild/variable.sh.in
+++ b/scripts/libmakepkg/lint_pkgbuild/variable.sh.in
@@ -57,7 +57,7 @@ lint_variable() {
v="${i}_${a}"
eval "keys=(\"\${!${v}[@]}\")"
if (( ${#keys[*]} > 0 )); then
- if [[ "$(declare -p $i)" != "declare -a "*
]]; then
+ if [[ "$(declare -p $v)" != "declare -a "*
]]; then
error "$(gettext "%s_%s should be
an array")" "$i" "$a"
ret=1
fi
More information about the pacman-dev
mailing list