diff options
author | morganamilo <morganamilo@gmail.com> | 2019-01-15 23:41:34 +0100 |
---|---|---|
committer | Allan McRae <allan@archlinux.org> | 2019-01-16 02:23:17 +0100 |
commit | c15f7ae606683b3eb52ae5eaac7afc83cf04859b (patch) | |
tree | 0852dc251c0734410d5c39865d8e29b3da654569 | |
parent | a5090217f9ef3961153442577e8632310f79a272 (diff) | |
download | pacman-c15f7ae606683b3eb52ae5eaac7afc83cf04859b.tar.gz pacman-c15f7ae606683b3eb52ae5eaac7afc83cf04859b.tar.xz |
libmakepkg: disallow using 'any' with other arches
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@gmail.com>
Signed-off-by: Allan McRae <allan@archlinux.org>
-rw-r--r-- | scripts/libmakepkg/lint_pkgbuild/arch.sh.in | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/scripts/libmakepkg/lint_pkgbuild/arch.sh.in b/scripts/libmakepkg/lint_pkgbuild/arch.sh.in index ef1aac46..3b1d0ce7 100644 --- a/scripts/libmakepkg/lint_pkgbuild/arch.sh.in +++ b/scripts/libmakepkg/lint_pkgbuild/arch.sh.in @@ -33,8 +33,13 @@ lint_pkgbuild_functions+=('lint_arch') lint_arch() { local a name list ret=0 - if [[ $arch == 'any' ]]; then - return 0 + if in_array "any" "${arch[@]}"; then + if (( ${#arch[@]} == 1 )); then + return 0; + else + error "$(gettext "Can not use '%s' architecture with other architectures")" "any" + return 1; + fi fi for a in "${arch[@]}"; do |