[PATCH] makepkg: lint empty arrays

Allan McRae allan at archlinux.org
Thu Jan 13 04:08:06 UTC 2022


On 12/1/22 01:06, morganamilo wrote:
> While depend arrays are already linted, many array kinds are
> still not. An empty string is never a valid array value so check
> all arrays for it.
> ---
>   .../libmakepkg/lint_pkgbuild/variable.sh.in   | 20 ++++++++++++++++++-
>   1 file changed, 19 insertions(+), 1 deletion(-)

I guess the depends check for empty values should also be removed to 
avoid double checking.

Allan

> diff --git a/scripts/libmakepkg/lint_pkgbuild/variable.sh.in b/scripts/libmakepkg/lint_pkgbuild/variable.sh.in
> index b4428344..d0951258 100644
> --- a/scripts/libmakepkg/lint_pkgbuild/variable.sh.in
> +++ b/scripts/libmakepkg/lint_pkgbuild/variable.sh.in
> @@ -28,7 +28,7 @@ source "$LIBRARY/util/pkgbuild.sh"
>   source "$LIBRARY/util/schema.sh"
>   
>   lint_pkgbuild_functions+=('lint_variable')
> -
> +lint_pkgbuild_functions+=('lint_array')
>   
>   lint_variable() {
>   	local i a pkg out bad ret=0
> @@ -95,3 +95,21 @@ lint_variable() {
>   
>   	return $ret
>   }
> +
> +lint_array() {
> +	local i var ret=0
> +
> +	for i in ${pkgbuild_schema_arrays[@]}; do
> +		local l=()
> +		get_pkgbuild_all_split_attributes $i l
> +
> +		for var in "${l[@]}"; do
> +			if [[ -z $var ]]; then
> +				error "$(gettext "%s does not allow empty values.")" "$i"
> +				ret=1
> +			fi
> +		done
> +	done
> +
> +	return $ret
> +}



More information about the pacman-dev mailing list