summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--scripts/libmakepkg/lint_pkgbuild/variable.sh.in16
1 files changed, 6 insertions, 10 deletions
diff --git a/scripts/libmakepkg/lint_pkgbuild/variable.sh.in b/scripts/libmakepkg/lint_pkgbuild/variable.sh.in
index 5f783e83..1ee3c834 100644
--- a/scripts/libmakepkg/lint_pkgbuild/variable.sh.in
+++ b/scripts/libmakepkg/lint_pkgbuild/variable.sh.in
@@ -38,12 +38,11 @@ lint_variable() {
source)
local string=(changelog epoch install pkgbase pkgdesc pkgrel pkgver url)
- local i a v pkg keys out bad ret=0
+ local i a pkg out bad ret=0
# global variables
for i in ${array[@]} ${arch_array[@]}; do
- eval "keys=(\"\${!$i[@]}\")"
- if (( ${#keys[*]} > 0 )); then
+ if declare -p $i > /dev/null 2>&1; then
if ! is_array $i; then
error "$(gettext "%s should be an array")" "$i"
ret=1
@@ -55,11 +54,9 @@ lint_variable() {
[[ $a == "any" ]] && continue
for i in ${arch_array[@]}; do
- v="${i}_${a}"
- eval "keys=(\"\${!${v}[@]}\")"
- if (( ${#keys[*]} > 0 )); then
- if ! is_array $v; then
- error "$(gettext "%s_%s should be an array")" "$i" "$a"
+ if declare -p "${i}_${a}" > /dev/null 2>&1; then
+ if ! is_array ${i}_${a}; then
+ error "$(gettext "%s should be an array")" "${i}_${a}"
ret=1
fi
fi
@@ -67,8 +64,7 @@ lint_variable() {
done
for i in ${string[@]}; do
- eval "keys=(\"\${!$i[@]}\")"
- if (( ${#keys[*]} > 0 )); then
+ if declare -p "$i" > /dev/null 2>&1; then
if is_array $i; then
error "$(gettext "%s should not be an array")" "$i"
ret=1