# HG changeset patch # User Pascal Bellard # Date 1438679774 -7200 # Node ID fe7c4edfa21bd8ccf66308bf4e41d2967b6b328e # Parent aaf630cf6a8bb477d80830fcd73826526ff8b726 PROVIDE support in package list report diff -r aaf630cf6a8b -r fe7c4edfa21b index.cgi --- a/index.cgi Tue Aug 04 02:32:11 2015 +0300 +++ b/index.cgi Tue Aug 04 11:16:14 2015 +0200 @@ -591,13 +591,24 @@

$(_ 'Boot scripts')

$(filter_taztools_msgs < /var/log/boot.log)
- +EOT + cat <$(_ 'Getting package list...') +EOT + cat >> $output <$(_ 'Packages') EOT ( cd /var/lib/tazpkg/installed for i in * ; do - echo "$i $(. $i/receipt ; echo "$VERSION $DEPENDS" | xargs echo)" -done ) | awk '{ pkg[$1]=$0; idx[c++]=$1 } + echo "$i $(. $i/receipt ; echo "$VERSION $DEPENDS" | xargs echo ; + echo "$PROVIDE" | sed 's/:[^ ]*//g' | xargs echo PROVIDE)" +done ) | awk '{ + if ($1 == "PROVIDE") { + for (i = 2; i <= NF; i++) alias[$i] = 1 + } + else { pkg[$1]=$0; idx[c++]=$1 } +} function name(n) { split(pkg[n], x, " ") @@ -606,7 +617,7 @@ END { print "
"
 	for (i in pkg) for (j = split(pkg[i], p, " "); j > 2; j--) {
-		if (pkg[p[j]]) kill[p[j]]=1
+		if (pkg[p[j]] || alias[p[j]]) kill[p[j]]=1
 		else print "Missing dep " p[j] " for " name(p[1])
 	}
 	print ""
@@ -614,7 +625,7 @@
 	for (i=0; i < c; i++) {
 		if (kill[idx[i]]) continue
 		printf "%s" name(idx[i])
-		if (n++ < 3) continue
+		if (n++ < 2) continue
 		printf "\n"
 		n=0
 	}