galeb

Једноставна статичка дистрибуција заснована на musl-у
git clone https://git.sr.ht/~strahinja/galeb
Дневник | Датотеке | Референце | ПРОЧИТАЈМЕ | ЛИЦЕНЦА

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}"