aboutsummaryrefslogtreecommitdiffstats
path: root/download.sh
blob: 179990dc1b515b80f31251544beb15b4fa72f183 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
#!/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