[pacman-dev] [PATCH 7/7] libmakepkg: disallow using 'any' with other arches
morganamilo
morganamilo at gmail.com
Fri Jun 8 18:18:59 UTC 2018
Error if the arch array contains any and any other values. This also
fixes a bug where the check for `$arch == 'any'` which only evaluated
the first value in the array, meaning the rest of the values would not
be linted.
Signed-off-by: morganamilo <morganamilo at gmail.com>
---
scripts/libmakepkg/lint_pkgbuild/arch.sh.in | 13 +++++++++----
1 file changed, 9 insertions(+), 4 deletions(-)
diff --git a/scripts/libmakepkg/lint_pkgbuild/arch.sh.in b/scripts/libmakepkg/lint_pkgbuild/arch.sh.in
index f2c80c73..98ae70af 100644
--- a/scripts/libmakepkg/lint_pkgbuild/arch.sh.in
+++ b/scripts/libmakepkg/lint_pkgbuild/arch.sh.in
@@ -38,11 +38,12 @@ lint_arch() {
return 1
fi
- if [[ $arch == 'any' ]]; then
- return 0
- fi
-
for a in "${arch[@]}"; do
+ if [[ $a == 'any' ]]; then
+ error "$(gettext "any can not be used with other architectures")"
+ ret=1
+ fi
+
if [[ $a = *[![:alnum:]_]* ]]; then
error "$(gettext "%s contains invalid characters: '%s'")" \
'arch' "${a//[[:alnum:]_]}"
@@ -50,6 +51,10 @@ lint_arch() {
fi
done
+ if [[ $arch == 'any' ]]; then
+ return $ret
+ fi
+
if (( ! IGNOREARCH )) && ! in_array "$CARCH" "${arch[@]}"; then
error "$(gettext "%s is not available for the '%s' architecture.")" "$pkgbase" "$CARCH"
return 1
--
2.17.1
More information about the pacman-dev
mailing list