#!/bin/bash # Downlod Packages and Patches download() { tput civis local url=$1 echo -n " " wget -nc -q --show-progress --progress=dot "$url" 2>&1 | grep --line-buffered "%" | \ sed -u -e "s,\.,,g" | awk '{printf("\b\b\b\b%4s", $2)}' echo -ne "\b\b\b\b\n" tput cnorm } cat packages.csv patches.csv | while read -r line; do #NAME="$(echo "$line" | cut -d\, -f1)" VERSION="$(echo "$line" | cut -d\, -f2)" URL="$(echo "$line" | cut -d\, -f3 | sed "s/@/${VERSION}/g")" MD5SUM="$(echo "$line" | cut -d\, -f4)" CACHEFILE="$(basename "${URL}")" if [ ! -f "${CACHEFILE}" ]; then echo -ne "${PRP}Downloading ${YLW}${CACHEFILE}${RST}... " #wget -nc ${URL} -O ${LFS}/sources/${CACHEFILE} --progress=dot -q --show-progress 2>&1 | awk 'NF>2 && $(NF-2) ~ /%/{printf "\r \t\t\t\t\t\t%s",$(NF-2)} END{print "\r "}' download "${URL}" if ! echo "${MD5SUM} ${LFS}/sources/${CACHEFILE}" | md5sum -c > /dev/null 2>&1; then rm -f "${LFS}/sources/${CACHEFILE}" echo -e "\n${GRN}Verification of ${YLW}${CACHEFILE} ${RED}failed! MD5 mismatch!${RST}" exit 1 fi fi done