buildgcc: Show the progress when downloading

Grep the output of wget, showing only the percentage.
Leave the final "100%" unerased.
Checking return code of wget is removed.

Change-Id: I4559e88d541738a594dce92e23589992f234cb9b
Signed-off-by: Zheng Bao <zheng.bao@amd.com>
Signed-off-by: Zheng Bao <fishbaozi@gmail.com>
Reviewed-on: http://review.coreboot.org/11520
Tested-by: build bot (Jenkins)
Reviewed-by: Patrick Georgi <pgeorgi@google.com>
diff --git a/util/crossgcc/buildgcc b/util/crossgcc/buildgcc
index 4bd89a2..2992a6c 100755
--- a/util/crossgcc/buildgcc
+++ b/util/crossgcc/buildgcc
@@ -187,6 +187,16 @@
 	printf "(checksum created. ${RED}Note. Please upload sum/$1.cksum if the corresponding archive is upgraded.)${NC}"
 }
 
+download_showing_percentage() {
+	url=$1
+	printf " ..${red}  0%%"
+	wget --no-check-certificate $url 2>&1 | while read line; do
+		printf "${red}"
+		echo $line | grep -o "[0-9]\+%" | awk '{printf("\b\b\b\b%4s", $1)}'
+		printf "${NC}"
+	done
+}
+
 download() {
 	package=$1
 	archive="$(eval echo \$$package"_ARCHIVE")"
@@ -200,14 +210,13 @@
 		printf "(downloading from $archive)"
 		rm -f tarballs/$FILE
 		cd tarballs
-		wget --no-check-certificate -q $archive
-		wgetret=$?
+		download_showing_percentage $archive
 		cd ..
 		compute_sum $FILE
 	fi
 
 	if [ ! -f tarballs/$FILE ]; then
-		printf "\n${RED}Failed to download $FILE. Wget returns $wgetret. See 'man wget'.${NC}\n"
+		printf "\n${RED}Failed to download $FILE.${NC}\n"
 		exit 1
 	fi
 	printf "\n"