On 09/06/18 04:18, morganamilo wrote:
> Variables such as 'pkgdesc_x86_64' are invalid, instead of ignoring them
> raise an error.
> 
> Signed-off-by: morganamilo <[email protected]>
> ---
>  .../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"

This patch looks OK.  I think the following error message would be more
clear:

error "$(gettext "%s can not be architecture specific: $s_$s")" "$i"
"$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"
> 

Reply via email to