Variables such as 'pkgdesc_x86_64' are invalid, instead of ignoring them
raise an error.

Signed-off-by: morganamilo <morganam...@gmail.com>
---
 .../libmakepkg/lint_pkgbuild/variable.sh.in   | 24 ++++++++++++++++++-
 1 file changed, 23 insertions(+), 1 deletion(-)

diff --git a/scripts/libmakepkg/lint_pkgbuild/variable.sh.in 
b/scripts/libmakepkg/lint_pkgbuild/variable.sh.in
index 68512a62..b9264768 100644
--- a/scripts/libmakepkg/lint_pkgbuild/variable.sh.in
+++ b/scripts/libmakepkg/lint_pkgbuild/variable.sh.in
@@ -69,6 +69,15 @@ lint_variable() {
                                fi
                        fi
                done
+
+               for i in ${array[@]} ${string[@]}; do
+                       v="${i}_${a}"
+                       eval "keys=(\"\${!${v}[@]}\")"
+                       if (( ${#keys[*]} > 0 )); then
+                               error "$(gettext "%s_%s can not be architecture 
specific")" "$i" "$a"
+                               ret=1
+                       fi
+               done
        done
 
        for i in ${string[@]}; do
@@ -93,6 +102,20 @@ lint_variable() {
                for a in ${arch[@]}; do
                        [[ $a == "any" ]] && continue
 
+                       for i in ${string[@]}; do
+                               if extract_function_variable "package_$pkg" 
"${i}_${a}" 0 out; then
+                                       error "$(gettext "%s_%s can not be 
architecture specific")" "$i" "$a"
+                                       ret=1
+                               fi
+                       done
+
+                       for i in ${array[@]}; do
+                               if extract_function_variable "package_$pkg" 
"${i}_${a}" 1 out; then
+                                       error "$(gettext "%s_%s can not be 
architecture specific")" "$i" "$a"
+                                       ret=1
+                               fi
+                       done
+
                        for i in ${no_overide_string[@]}; do
                                if extract_function_variable "package_$pkg" 
"${i}_${a}" 0 out; then
                                        error "$(gettext "%s_%s can not be 
overridden in package function")" "$i" "$a"
@@ -108,7 +131,6 @@ lint_variable() {
 
                        done
 
-
                        for i in ${arch_array[@]}; do
                                if extract_function_variable "package_$pkg" 
"${i}_${a}" 0 out; then
                                        error "$(gettext "%s_%s should be an 
array")" "$i" "$a"
-- 
2.17.1

Reply via email to