tazpanel rev 520

PROVIDE support in package list report
author Pascal Bellard <pascal.bellard@slitaz.org>
date Tue Aug 04 11:16:14 2015 +0200 (2015-08-04)
parents aaf630cf6a8b
children 2787498af74a
files index.cgi
line diff
     1.1 --- a/index.cgi	Tue Aug 04 02:32:11 2015 +0300
     1.2 +++ b/index.cgi	Tue Aug 04 11:16:14 2015 +0200
     1.3 @@ -591,13 +591,24 @@
     1.4  
     1.5  <h2>$(_ 'Boot scripts')</h2>
     1.6  <pre>$(filter_taztools_msgs < /var/log/boot.log)</pre>
     1.7 -
     1.8 +EOT
     1.9 +		cat <<EOT
    1.10 +	$(ok_status_t)
    1.11 +	<tr><td>$(_ 'Getting package list...')</td>
    1.12 +EOT
    1.13 +		cat >> $output <<EOT
    1.14  <h2>$(_ 'Packages')</h2>
    1.15  EOT
    1.16  ( cd /var/lib/tazpkg/installed
    1.17  for i in * ; do
    1.18 -	echo "$i $(. $i/receipt ; echo "$VERSION $DEPENDS" | xargs echo)"
    1.19 -done ) | awk '{ pkg[$1]=$0; idx[c++]=$1 }
    1.20 +	echo "$i $(. $i/receipt ; echo "$VERSION $DEPENDS" | xargs echo ; 
    1.21 +		echo "$PROVIDE" | sed 's/:[^ ]*//g' | xargs echo PROVIDE)"
    1.22 +done ) | awk '{
    1.23 +	if ($1 == "PROVIDE") {
    1.24 +		for (i = 2; i <= NF; i++) alias[$i] = 1
    1.25 +	}
    1.26 +	else { pkg[$1]=$0; idx[c++]=$1 }
    1.27 +}
    1.28  function name(n)
    1.29  {
    1.30  	split(pkg[n], x, " ")
    1.31 @@ -606,7 +617,7 @@
    1.32  END {
    1.33  	print "<pre>"
    1.34  	for (i in pkg) for (j = split(pkg[i], p, " "); j > 2; j--) {
    1.35 -		if (pkg[p[j]]) kill[p[j]]=1
    1.36 +		if (pkg[p[j]] || alias[p[j]]) kill[p[j]]=1
    1.37  		else print "Missing dep " p[j] " for " name(p[1])
    1.38  	}
    1.39  	print ""
    1.40 @@ -614,7 +625,7 @@
    1.41  	for (i=0; i < c; i++) {
    1.42  		if (kill[idx[i]]) continue
    1.43  		printf "%s" name(idx[i])
    1.44 -		if (n++ < 3) continue
    1.45 +		if (n++ < 2) continue
    1.46  		printf "\n"
    1.47  		n=0
    1.48  	}