cookutils rev 1111

lighttpd/index.cgi: show all architectures downloads (small step to combine different arch web-interfaces into one)
author Aleksej Bobylev <al.bobylev@gmail.com>
date Mon Dec 03 12:57:11 2018 +0200 (2018-12-03)
parents 67509bd10437
children 21a779d6f238
files lighttpd/index.cgi
line diff
     1.1 --- a/lighttpd/index.cgi	Mon Dec 03 11:24:15 2018 +0200
     1.2 +++ b/lighttpd/index.cgi	Mon Dec 03 12:57:11 2018 +0200
     1.3 @@ -2556,31 +2556,31 @@
     1.4  			show=1
     1.5  		fi
     1.6  
     1.7 -		if [ -d "$wok/$pkg/taz" ]; then
     1.8 -			[ "$show" -eq 1 ] || files_header
     1.9 +		tmp_table=$(mktemp)
    1.10 +		save_ARCH="$ARCH"
    1.11  
    1.12 -			common_version=$VERSION
    1.13 -			for i in $(all_names | tr ' ' '\n' | sort); do
    1.14 -				[ -e "$wok/$pkg/taz/$i-$common_version$EXTRAVERSION/receipt" ] || continue
    1.15 -				. $wok/$pkg/taz/$i-$common_version$EXTRAVERSION/receipt
    1.16 +		for ARCH in i486 x86_64; do
    1.17 +			. $wok/$pkg/receipt
    1.18 +			for i in $(all_names | tr ' ' '\n'); do
    1.19 +				awk -F$'\t' -vpkg="$i" -vbase="$base" '{
    1.20 +					if ($1 == pkg) {
    1.21 +						class = ($11 == "0") ? "any" : ($11 == "6") ? "64"     : "32";
    1.22 +						arch  = ($11 == "0") ? "any" : ($11 == "6") ? "x86_64" : "i486";
    1.23 +						file = $1 "-" $2 "-" arch ".tazpkg";
    1.24 +						split($7, size, " ");
    1.25 +						printf("<tr><td><a href=\"%s/get/%s\" ", base, file);
    1.26 +						printf("class=\"icon pkg%s\">%s</a></td>", class, file);
    1.27 +						printf("<td>%s</td><td>%s</td></tr>\n", size[1], $4);
    1.28 +					}
    1.29 +				}' $PKGS/packages-$ARCH.info
    1.30 +			done
    1.31 +		done \
    1.32 +		| sort -u \
    1.33 +		> $tmp_table
    1.34  
    1.35 -				for filename in "$PACKAGE-$VERSION$EXTRAVERSION.tazpkg" "$PACKAGE-$VERSION$EXTRAVERSION-$ARCH.tazpkg" "$PACKAGE-$VERSION$EXTRAVERSION-any.tazpkg"; do
    1.36 -					[ -f "$PKGS/$filename" ] || continue
    1.37 -
    1.38 -					case $filename in
    1.39 -						*-x86_64.tazpkg) class='pkg64';;
    1.40 -						*-any.tazpkg)    class='pkgany';;
    1.41 -						*)               class='pkg32';;
    1.42 -					esac
    1.43 -					cat <<-EOT
    1.44 -						<tr>
    1.45 -							<td><a href="$base/get/$filename" class='icon $class'>$filename</a></td>
    1.46 -							<td>$(ls -lh ./packages/$filename | awk '{printf("%sB", $5)}')</td>
    1.47 -							<td>$SHORT_DESC</td>
    1.48 -						</tr>
    1.49 -					EOT
    1.50 -				done
    1.51 -			done
    1.52 +		if [ -s "$tmp_table" ]; then
    1.53 +			[ "$show" -eq 0 ] && files_header
    1.54 +			cat $tmp_table
    1.55  			show=1
    1.56  		fi
    1.57  
    1.58 @@ -2589,6 +2589,9 @@
    1.59  		else
    1.60  			show_note w "Sorry, there's nothing to download…"
    1.61  		fi
    1.62 +
    1.63 +		ARCH="$save_ARCH"
    1.64 +		rm $tmp_table
    1.65  		;;
    1.66  
    1.67  esac