[PATCH] makepkg: lint empty arrays

morganamilo morganamilo at archlinux.org
Thu Oct 7 21:25:56 UTC 2021


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(-)

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
+}
-- 
2.33.0



More information about the pacman-dev mailing list