diff --git a/abuild.in b/abuild.in index 72f8978..49e2630 100644 --- a/abuild.in +++ b/abuild.in @@ -1607,7 +1607,16 @@ srcpkg() { # return true if arch is supported or noarch check_arch() { - list_has $CARCH $arch || [ "$arch" = "noarch" ] || [ "$arch" = "all" ] + local ret=1 + local i + for i in $arch; do + case $i in + all | noarch) ret=0 ;; + "$CARCH") ret=0 ;; + "!$CARCH") return 1 ;; + esac + done + return $ret } # return true if libc is not masked in options