gensums (911B)
1 #!/bin/sh 2 3 . ./lib/env.sh 4 5 pkgdb=./lib/pkgs.tsv 6 7 sed 1q "${pkgdb}" >newfile 8 lineno=0 9 totallines=$(wc -l ${pkgdb} | cut -d ' ' -f1) 10 totallines=$((totallines - 1)) 11 while read -r record 12 do 13 perc=$((lineno * 100 / totallines)) 14 printf "%3d%%\r" "${perc}" 15 [ ${lineno} -eq 0 ] || \ 16 ( 17 IFS=$(printf '\t') 18 url=$(printf "${record}" | cut -d "$(printf '\t')" -f1) 19 dirtb=$(printf "${record}" | cut -sd "$(printf '\t')" -f2) 20 sha512=$(printf "${record}" | cut -sd "$(printf '\t')" -f3) 21 22 tarball=${url##*/} 23 if [ -n "${dirtb}" ]; then 24 tarball=${dirtb} 25 fi 26 27 case ${url} in 28 ftp:*|http:*|https:*) sha512=$(sha512sum ${G_PKG}/${tarball} | \ 29 cut -d ' ' -f1);; 30 *) sha512='';; 31 esac 32 if [ -n "${sha512}" ]; then 33 printf "%s\t%s\t%s\n" "${url}" "${dirtb}" "${sha512}" >>newfile 34 else 35 printf "%s\t%s\n" "${url}" "${dirtb}" >>newfile 36 fi 37 ) 38 lineno=$((lineno+1)) 39 done <${pkgdb} 40 echo 41 42 mv newfile "${pkgdb}"