[PATCH 19/20] - added double quotes to prevent globbing and/or word splitting

Tim Niemeyer tim.niemeyer at mastersword.de
Do Jul 16 20:02:40 CEST 2015


Hi

Scheint beim Überfliegen alles zu passen.

Am Mittwoch, den 15.07.2015, 21:48 +0200 schrieb Steffen Pankratz:
> Signed-off-by: Steffen Pankratz <kratz00 at gmx.de>
Reviewed-by: Tim Niemeyer <tim.niemeyer at mastersword.de>

> ---
>  buildscript | 98 ++++++++++++++++++++++++++++++-------------------------------
>  1 file changed, 49 insertions(+), 49 deletions(-)
> 
> diff --git a/buildscript b/buildscript
> index 95bf243..cce124a 100755
> --- a/buildscript
> +++ b/buildscript
> @@ -42,25 +42,25 @@ checkout_git(){
>  
>  	local MYGIT="git -C $DIRECTORY"
>  	echo "checking out $REPO_URL to $DIRECTORY in version $COMMITID"
> -	if [ -d $DIRECTORY ]; then
> -		if $MYGIT remote -v | grep -q $REPO_URL ; then
> +	if [ -d "$DIRECTORY" ]; then
> +		if $MYGIT remote -v | grep -q "$REPO_URL" ; then
>  			echo "Right remote detected"
> -			if ! $MYGIT checkout $COMMITID ; then
> +			if ! $MYGIT checkout "$COMMITID" ; then
>  				echo "commitid not found trying to fetch new commits"
> -				$MYGIT	pull && $MYGIT checkout $COMMITID
> +				$MYGIT	pull && $MYGIT checkout "$COMMITID"
>  			fi
>  		else
>  			echo "wrong remote or not an git repo at all -\> deleting whole directory"
> -			/bin/rm -rf $DIRECTORY
> +			/bin/rm -rf "$DIRECTORY"
>  			#needs to be without -C!!!
> -			git clone $REPO_URL $DIRECTORY
> -			$MYGIT checkout $COMMITID
> +			git clone "$REPO_URL" "$DIRECTORY"
> +			$MYGIT checkout "$COMMITID"
>  		fi
>  	else
>  		echo "We need to do a fresh checkout"
>  		#needs to be without -C!!!
> -		git clone $REPO_URL $DIRECTORY
> -		$MYGIT checkout $COMMITID
> +		git clone "$REPO_URL" "$DIRECTORY"
> +		$MYGIT checkout "$COMMITID"
>  	fi
>  }
>  
> @@ -83,12 +83,12 @@ get_source() {
>  		local REV=${FEED[2]}
>  		local PATCH=${FEED[3]}
>  
> -		checkout_git $NAME $URL $REV
> +		checkout_git "$NAME" "$URL" "$REV"
>  		# Patches for feeds could be stored in known directories like build_patches/$NAME/
>  		# That way multiple patches for one feed could be supported
>  		if [ ! -z "$PATCH" ] ; then
>  			echo "Patching $PATCH"
> -			git -C $NAME am --whitespace=nowarn $PATCH
> +			git -C "$NAME" am --whitespace=nowarn "$PATCH"
>  		fi
>  	done
>  
> @@ -101,24 +101,24 @@ prepare() {
>  
>  	test -d $builddir || mkdir $builddir
>  
> -	/bin/rm -rf $target
> -	cp -a src/openwrt $target
> +	/bin/rm -rf "$target"
> +	cp -a src/openwrt "$target"
>  
>  	## generate own feeds.conf
>  	#this local variable should be globally configure variable used in get_source and here
>  	local PACKAGEBASE=${PWD}/src/packages
> -	rm -f $target/feeds.conf
> +	rm -f "$target"/feeds.conf
>  	for FEEDVAR in "${FEEDS[@]}" ; do
>  		FEED=( $(eval echo \${"$FEEDVAR"[@]}) )
>  		local NAME=${FEED[0]}
>  		echo "adding $NAME to package feeds"
> -		echo src-link $NAME $PACKAGEBASE/$NAME >> $target/feeds.conf
> +		echo src-link "$NAME" "$PACKAGEBASE"/"$NAME" >> "$target"/feeds.conf
>  	done
>  
>  	echo "cleaning feeds"
> -	/bin/rm -rf $target/feeds
> +	/bin/rm -rf "$target"/feeds
>  
> -	$target/scripts/feeds update
> +	"$target"/scripts/feeds update
>  
>  	for FEEDVAR in "${FEEDS[@]}" ; do
>  		FEED=( $(eval echo \${"$FEEDVAR"[@]}) )
> @@ -127,35 +127,35 @@ prepare() {
>  
>  		if [[ -n "${PACKAGESVAR[@]}" ]] ; then
>  			echo "adding ${PACKAGESVAR[*]} from feed $NAME to available packages"
> -			$target/scripts/feeds install -p $NAME ${PACKAGESVAR[@]}
> +			"$target"/scripts/feeds install -p "$NAME" "${PACKAGESVAR[@]}"
>  		fi
>  	done
>  
>  	# todo evaluate this with the new openwrt
>  	# This changes the default behavior of sysupgrade to not save the config 
> -	patch -p0 -d $target -i $PWD/build_patches/sysupgrade_no_config_save.patch
> +	patch -p0 -d "$target" -i "$PWD"/build_patches/sysupgrade_no_config_save.patch
>  
>  	#saves ~200MB for each build
>  	test -d ./src/dl || mkdir ./src/dl
> -	ln -s ../../src/dl $target/dl
> +	ln -s ../../src/dl "$target"/dl
>  
>  	board_prepare
>  }
>  
>  prebuild() {
>  	#create filesdir for our config
> -	/bin/rm -rf $target/files
> -	mkdir $target/files
> +	/bin/rm -rf "$target"/files
> +	mkdir "$target"/files
>  
> -	cp -r ./bsp/default/root_file_system/* $target/files/
> -	cp -r ./bsp/$machine/root_file_system/* $target/files/
> -	cp ./bsp/$machine/.config $target/.config
> +	cp -r ./bsp/default/root_file_system/* "$target"/files/
> +	cp -r ./bsp/"$machine"/root_file_system/* "$target"/files/
> +	cp ./bsp/"$machine"/.config "$target"/.config
>  
> -	arch=$(awk -F= '/^CONFIG_TARGET_BOARD/{print gsub(/"/,"",$2); print $2;}' ./bsp/$machine/.config)
> -	version=$(awk '/^CONFIG_LINUX/ { sub(/CONFIG_LINUX_/,""); sub(/=y/,""); gsub(/_/,"."); print; }' ./bsp/$machine/.config)
> -	test -f ./bsp/$machine/.kernelconfig-$version && \
> -		cp ./bsp/$machine/.kernelconfig-$version \
> -		$target/target/linux/$arch/config-$version
> +	arch=$(awk -F= '/^CONFIG_TARGET_BOARD/{print gsub(/"/,"",$2); print $2;}' ./bsp/"$machine"/.config)
> +	version=$(awk '/^CONFIG_LINUX/ { sub(/CONFIG_LINUX_/,""); sub(/=y/,""); gsub(/_/,"."); print; }' ./bsp/"$machine"/.config)
> +	test -f ./bsp/"$machine"/.kernelconfig-"$version" && \
> +		cp ./bsp/"$machine"/.kernelconfig-"$version" \
> +		"$target"/target/linux/"$arch"/config-"$version"
>  
>  	board_prebuild
>  
> @@ -163,8 +163,8 @@ prebuild() {
>  	for template in $target/files/**/*.tpl
>  	do
>  		echo "Translating $template .."
> -		$tpl_translate $template > $(dirname $template)/$(basename $template .tpl)
> -		/bin/rm $template
> +		$tpl_translate "$template" > "$(dirname "$template")"/"$(basename "$template" .tpl)"
Hier war ich kurz gestolpert, aber scheint richtig zu sein. :-)

Tim

> +		/bin/rm "$template"
>  	done
>  
>  	#insert actual firware version informations into release file
> @@ -175,14 +175,14 @@ prebuild() {
>  		echo "BUILD_DATE=\"$(date)\""
>  		echo "OPENWRT_CORE_REVISION=\"${OPENWRTREV}\""
>  		echo "OPENWRT_FEEDS_PACKAGES_REVISION=\"${PACKAGEREV}\""
> -	} >> $target/files/etc/firmware_release
> +	} >> "$target"/files/etc/firmware_release
>  }
>  
>  build() {
>  	prebuild
>  
>  	opath=$(pwd)
> -	cd $target
> +	cd "$target"
>  	cpus=$(grep -c processor /proc/cpuinfo)
>  
>  	case "$1" in
> @@ -197,7 +197,7 @@ build() {
>  			;;
>  	esac
>  
> -	cd $opath
> +	cd "$opath"
>  
>  	if [ ! -d bin ]; then
>  		mkdir bin
> @@ -210,7 +210,7 @@ config() {
>  	prebuild
>  
>  	opath=$(pwd)
> -	cd $target
> +	cd "$target"
>  
>  	case "$1" in
>  		"openwrt")
> @@ -221,7 +221,7 @@ config() {
>  			;;
>  	esac
>  
> -	cd $opath
> +	cd "$opath"
>  
>  	save=""
>  	until [ "$save" = "y" -o "$save" = "n" ]; do
> @@ -232,12 +232,12 @@ config() {
>  	if [ "$save" = "y" ]; then
>  		case "$1" in
>  			"openwrt")
> -				grep '^CON\|^# CON' $target/.config | sort > ./bsp/$machine/.config
> +				grep '^CON\|^# CON' "$target"/.config | sort > ./bsp/"$machine"/.config
>  				;;
>  			"kernel")
> -				arch=$(awk -F= '/^CONFIG_TARGET_BOARD/{gsub(/"/,"",$2); print $2;}' ./bsp/$machine/.config)
> -				version=$(awk '/^CONFIG_LINUX/ { sub(/CONFIG_LINUX_/,""); sub(/=y/,""); gsub(/_/,"."); print; }' ./bsp/$machine/.config)
> -				grep '^CON\|^# CON' $target/target/linux/$arch/config-$version | sort > ./bsp/$machine/.kernelconfig-$version
> +				arch=$(awk -F= '/^CONFIG_TARGET_BOARD/{gsub(/"/,"",$2); print $2;}' ./bsp/"$machine"/.config)
> +				version=$(awk '/^CONFIG_LINUX/ { sub(/CONFIG_LINUX_/,""); sub(/=y/,""); gsub(/_/,"."); print; }' ./bsp/"$machine"/.config)
> +				grep '^CON\|^# CON' "$target"/target/linux/"$arch"/config-"$version" | sort > ./bsp/"$machine"/.kernelconfig-"$version"
>  				;;
>  		esac
>  	fi
> @@ -254,10 +254,10 @@ clean() {
>  
>  buildall() {
>  	for bsp in $(/bin/ls bsp/*.bsp); do
> -		./buildscript selectcommunity $1
> -		./buildscript selectbsp $bsp
> +		./buildscript selectcommunity "$1"
> +		./buildscript selectbsp "$bsp"
>  		./buildscript prepare
> -		./buildscript build $2
> +		./buildscript build "$2"
>  	done
>  }
>  
> @@ -288,11 +288,11 @@ case "$1" in
>  			echo "available packages:"
>  			/bin/ls bsp/*.bsp
>  		else
> -			if [ ! -f $2 ]; then
> +			if [ ! -f "$2" ]; then
>  				echo "Could not find $2"
>  			else
>  				/bin/rm -rf selected_bsp
> -				/bin/ln -s $2 selected_bsp
> +				/bin/ln -s "$2" selected_bsp
>  			fi
>  		fi
>  		;;
> @@ -304,11 +304,11 @@ case "$1" in
>  			echo "community.cfg: "
>  			/bin/ls community/*.cfg
>  		else
> -			if [ ! -f $2 ]; then
> +			if [ ! -f "$2" ]; then
>  				echo "Could not find $2"
>  			else
>  				/bin/rm -rf selected_community
> -				/bin/ln -s $2 selected_community
> +				/bin/ln -s "$2" selected_community
>  			fi
>  		fi
>  		;;
> @@ -360,7 +360,7 @@ case "$1" in
>  			echo "community.cfg: "
>  			/bin/ls community/*.cfg
>  		else
> -			buildall $2 $3
> +			buildall "$2" "$3"
>  		fi
>  		;;
>  	*)
> -- 
> 2.4.5
> 

-------------- nächster Teil --------------
Ein Dateianhang mit Binärdaten wurde abgetrennt...
Dateiname   : signature.asc
Dateityp    : application/pgp-signature
Dateigröße  : 819 bytes
Beschreibung: This is a digitally signed message part
URL         : <http://lists.freifunk.net/pipermail/franken-dev-freifunk.net/attachments/20150716/21e7351a/attachment-0002.sig>


Mehr Informationen über die Mailingliste franken-dev