[pacman-dev] [PATCH] makepkg: do not allow badly formatted arch lines

Allan McRae allan at archlinux.org
Sun Oct 20 08:51:09 EDT 2013


It appears there are a lot of packages with arch=('i686 x86_64')
floating around.  Quote the arch array when passing as a parameter
to detect such things.

Signed-off-by: Allan McRae <allan at archlinux.org>
---
 scripts/makepkg.sh.in | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/scripts/makepkg.sh.in b/scripts/makepkg.sh.in
index ccc1ddf..4cb8173 100644
--- a/scripts/makepkg.sh.in
+++ b/scripts/makepkg.sh.in
@@ -2136,7 +2136,7 @@ check_sanity() {
 	done || ret=1
 
 	if [[ $arch != 'any' ]]; then
-		if ! in_array $CARCH ${arch[@]}; then
+		if ! in_array $CARCH "${arch[@]}"; then
 			if (( ! IGNOREARCH )); 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"
@@ -2151,7 +2151,7 @@ check_sanity() {
 			local arch_list=""
 			eval $(declare -f package_${i} | sed -n 's/\(^[[:space:]]*arch=\)/arch_list=/p')
 			if [[ ${arch_list[@]} && ${arch_list} != 'any' ]]; then
-				if ! in_array $CARCH ${arch_list[@]}; then
+				if ! in_array $CARCH "${arch_list[@]}"; then
 					if (( ! IGNOREARCH )); then
 						error "$(gettext "%s is not available for the '%s' architecture.")" "$i" "$CARCH"
 						ret=1
-- 
1.8.4.1



More information about the pacman-dev mailing list