summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--scripts/makepkg.sh.in14
1 files changed, 11 insertions, 3 deletions
diff --git a/scripts/makepkg.sh.in b/scripts/makepkg.sh.in
index 2518e668..49f5e599 100644
--- a/scripts/makepkg.sh.in
+++ b/scripts/makepkg.sh.in
@@ -2359,13 +2359,21 @@ lint_epoch() {
}
lint_arch() {
- local name list=("${@:-"${arch[@]}"}")
+ local a name list
- if [[ $list == 'any' ]]; then
+ if [[ $arch == 'any' ]]; then
return 0
fi
- if ! in_array "$CARCH" "${list[@]}" && (( ! IGNOREARCH )); then
+ for a in "${arch[@]}"; do
+ if [[ $a = *[![:alnum:]_]* ]]; then
+ error "$(gettext "%s contains invalid characters: '%s'")" \
+ 'arch' "${a//[[:alnum:]_]}"
+ ret=1
+ fi
+ done
+
+ if (( ! IGNOREARCH )) && ! in_array "$CARCH" "${arch[@]}"; then
error "$(gettext "%s is not available for the '%s' architecture.")" "$pkgbase" "$CARCH"
plain "$(gettext "Note that many packages may need a line added to their %s")" "$BUILDSCRIPT"
plain "$(gettext "such as %s.")" "arch=('$CARCH')"