[pacman-dev] [PATCH 1/3] makepkg: proper quoting in [[ expression ]]

lolilolicon lolilolicon at gmail.com
Wed Sep 28 12:58:50 EDT 2011


Always quote the righthand side of expression when the == or != operator
is used, unless intended as a pattern.  Quoting bash(1):

When the == and != operators are used, the string to the right of the
operator is considered a pattern.  Any part of the pattern may be quoted
to force it to be matched as a string.

Signed-off-by: lolilolicon <lolilolicon at gmail.com>
---
 scripts/makepkg.sh.in |    6 +++---
 1 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/scripts/makepkg.sh.in b/scripts/makepkg.sh.in
index 86e74a6..cc06baa 100644
--- a/scripts/makepkg.sh.in
+++ b/scripts/makepkg.sh.in
@@ -414,7 +414,7 @@ download_file() {
 	fi

 	# rename the temporary download file to the final destination
-	if [[ $dlfile != $file ]]; then
+	if [[ $dlfile != "$file" ]]; then
 		mv -f "$SRCDEST/$dlfile" "$SRCDEST/$file"
 	fi
 }
@@ -1509,7 +1509,7 @@ check_sanity() {
 	eval $(awk '/^[[:space:]]*provides=/,/\)/' "$BUILDFILE" | \
 		sed -e "s/provides=/provides_list+=/" -e "s/#.*//" -e 's/\\$//')
 	for i in ${provides_list[@]}; do
-		if [[ $i != ${i//</} || $i != ${i//>/} ]]; then
+		if [[ $i == *['<>']* ]]; then
 			error "$(gettext "%s array cannot contain comparison (< or >)
operators.")" "provides"
 			ret=1
 		fi
@@ -1767,7 +1767,7 @@ devel_update() {
 	#  _foo=pkgver
 	#
 	if [[ -n $newpkgver ]]; then
-		if [[ $newpkgver != $pkgver ]]; then
+		if [[ $newpkgver != "$pkgver" ]]; then
 			if [[ -f $BUILDFILE && -w $BUILDFILE ]]; then
 				@SEDINPLACE@ "s/^pkgver=[^ ]*/pkgver=$newpkgver/" "$BUILDFILE"
 				@SEDINPLACE@ "s/^pkgrel=[^ ]*/pkgrel=1/" "$BUILDFILE"
-- 
1.7.6.4


More information about the pacman-dev mailing list